A method of decoding an image performed by an image decoding device, a method of encoding an image performed by an image encoding device, a non-transient computer-readable recording medium storing a bitstream generated by an image encoding method, and a method of transmitting a bitstream generated by an image encoding method performed by an image encoding device.
Patent Information
- Authority / Receiving Office
- BR · BR
- Patent Type
- Patents
- Current Assignee / Owner
- INST OF IMAGE TECH INC
- Filing Date
- 2019-04-01
- Publication Date
- 2026-08-04
Smart Images

Figure 00000092_0000 
Figure 00000093_0000 
Figure 00000094_0000
Description
1 / 86 IMAGE DECODING METHOD PERFORMED BY AN IMAGE DECODING APPARATUS, IMAGE CODING METHOD PERFORMED BY AN IMAGE CODING APPARATUS, MEANS OF NON-TRANSIENT COMPUTER-READABLE RECORDING STORING A BIT STREAM THAT IS GENERATED BY AN IMAGE CODING METHOD AND A METHOD OF TRANSMITTING A BIT STREAM GENERATED BY AN IMAGE CODING METHOD PERFORMED BY AN IMAGE CODING DEVICE Divided from BR 112020020213-4 TECHNICAL FIELD
[001] This disclosure relates to a technique for encoding and decoding an image and, more particularly, to a method and apparatus for performing intra-prediction encoding / decoding. FUNDAMENTALS OF THE TECHNIQUE
[002] Along with the widespread use of the Internet and portable terminals and the development of information and communication technology, multimedia data is increasingly being used. Consequently, in order to provide various services or perform various tasks through image prediction in various systems, there is a pressing need to improve the performance and efficiency of an image processing system. However, research and development achievements have not yet kept pace with this trend.
[003] As such, an existing method and apparatus for encoding / decoding an image needs performance improvement in image processing, particularly in image encoding or image decoding. DISCLOSURE TECHNICAL PROBLEM
[004] It is an objective of the present disclosure to provide a method and apparatus for performing intraprediction. It is another objective of the present disclosure to provide a method and apparatus for performing Petition 870260034713, dated 04 / 14 / 2026, page 12 / 109 2 / 86 intra-prediction by sub-block. Another objective of this disclosure is to provide a method and apparatus for performing sub-block partitioning and determining a coding order for the sub-blocks. TECHNICAL SOLUTION
[005] In a method and apparatus for image encoding / decoding according to the present disclosure, a group of candidate partition types for a current block is configured, and a partition type of the current block into sub-blocks is determined based on the candidate group and a candidate index, an intra-prediction mode is derived in units of the current block, and the current block is intra-predicted based on the intra-prediction mode of the current block and the partition type. ADVANTAGEOUS EFFECTS
[006] According to the present disclosure, encoding / decoding performance can be improved through sub-block intraprediction. Furthermore, according to the present disclosure, prediction accuracy can be increased by efficiently configuring a group of partition type candidates per sub-block. Additionally, according to the present disclosure, intraprediction encoding / decoding efficiency can be improved by adapting a sub-block encoding order. DESCRIPTION OF THE DRAWINGS
[007] Figure 1 is a conceptual diagram illustrating an image encoding and decoding system according to an embodiment of the present disclosure.
[008] Figure 2 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure.
[009] Figure 3 is a block diagram illustrating an image decoding device according to an embodiment of the present disclosure. Petition 870260034713, dated 04 / 14 / 2026, page 13 / 109 3 / 86
[0010] Figure 4 is an exemplary diagram illustrating various types of partitions that can be obtained in a block splitter of the present disclosure.
[0011] Figure 5 is an exemplary diagram illustrating the intra-prediction modes according to one embodiment of the present disclosure.
[0012] Figure 6 is an exemplary diagram illustrating a configuration of reference pixels used for intra-prediction according to an embodiment of the present disclosure.
[0013] Figure 7 is a conceptual diagram illustrating a target block for intra-prediction and blocks neighboring the target block according to an embodiment of the present disclosure.
[0014] Figure 8 is a diagram illustrating various types of sub-block partitioning that can be obtained from a coding block.
[0015] Figure 9 is an exemplary diagram illustrating reference pixel regions used for intra-prediction modes according to an embodiment of the present disclosure.
[0016] Figure 10 is an exemplary diagram illustrating the available coding orders in the right-up diagonal prediction modes according to an embodiment of the present disclosure.
[0017] Figure 11 is an exemplary diagram illustrating the available coding orders in horizontal modes according to an embodiment of the present disclosure.
[0018] Figure 12 is an exemplary diagram illustrating the available coding orders in the right-down diagonal prediction modes according to an embodiment of the present disclosure.
[0019] Figure 13 is an exemplary diagram illustrating the available coding orders in vertical modes according to an embodiment of the present disclosure.
[0020] Figure 14 is an exemplary diagram illustrating the orders. Petition 870260034713, dated 04 / 14 / 2026, p. 14 / 109 4 / 86 of the available encoding in the diagonal down-to-the-left prediction modes according to an embodiment of the present disclosure.
[0021] Figure 15 is an exemplary diagram illustrating coding orders based on intraprediction modes and partition types according to an embodiment of the present disclosure. BEST WAY
[0022] In a method and apparatus for image encoding / decoding according to the present disclosure, a group of available partition type candidates for a current block can be configured, a partition type of the current block into subblocks can be determined based on the candidate group and a candidate index, an intra-prediction mode can be derived in units of the current block, and the current block can be intra-predicted based on the intra-prediction mode and subblock partition type of the current block. METHOD OF INVENTION
[0023] This disclosure may be subject to various modifications and have various embodiments. Specific embodiments of this disclosure will be described with reference to the accompanying drawings. However, the embodiments are not intended to limit the technical scope of this disclosure and it should be understood that this disclosure covers various modifications, equivalents and alternatives within the scope and idea of this disclosure.
[0024] The terms as used in the disclosure, first, second, A and B may be used to describe various components, not limiting the components. These expressions are used only to distinguish one component from another component. For example, a first component may be referred to as a second component and vice versa, without departing from the scope of this disclosure. The term and / or covers a combination of a plurality of related items or any one of the plurality Petition 870260034713, dated 04 / 14 / 2026, p. 15 / 109 5 / 86 of related items.
[0025] When it is said that a component is connected to or coupled with another component, it should be understood that one component is connected to another component directly or through any other component. On the other hand, when it is said that a component is directly connected to or directly coupled to another component, it should be understood that there is no other component between the components.
[0026] The terms used in this disclosure are provided to describe merely specific embodiments, not intended to limit this disclosure. Singular forms include plural referents unless the context clearly indicates otherwise. In this disclosure, the term includes or has means the presence of a feature, a number, a step, an operation, a component, a part, or a combination thereof, without excluding the presence or addition of one or more other features, numbers, steps, operations, components, parts, or a combination thereof.
[0027] Unless defined otherwise, terms that include technical or scientific terms used in the disclosure may have the same meanings generally understood by those skilled in the art. Terms generally defined in dictionaries may be interpreted as having the same meaning or similar meanings to the contextual meanings of related technology. Unless defined otherwise, terms should not be interpreted as having ideal or overly formal meanings.
[0028] Typically, an image can include one or more color spaces depending on its color format. The image can include one or more photos of the same size or different sizes. For example, the YCbCr color setting can support color formats such as 4:4:4, 4:2:2, 4:2:0, and monochrome (composed only of Y). For example, YCbCr 4:2:0 can be composed of Petition 870260034713, dated 04 / 14 / 2026, p. 16 / 109 6 / 86 one luminance component (Y in this example) and two chrominance components (Cb and Cr in this example). In this case, the configuration ratio of the chrominance component and the luminance component can have a width-to-height ratio of 1:2. For example, in the case of 4:4:4, it can have the same configuration ratio in width and height. When an image includes one or more color spaces as in the example above, the image can be divided into color spaces.
[0029] Images can be classified as I, P, and B according to their image types (e.g., image, slice, part, and so on). An I image can be an image that is encoded / decoded without a reference image. A P image can be an image that is encoded / decoded using a reference image, allowing only direct prediction. A B image can be an image that is encoded / decoded using a reference image, allowing bidirectional prediction. However, some (P and B) of the types can be combined, or an image type of a different composition can be supported, according to an encoding / decoding configuration.
[0030] Several pieces of encoding / decoding information generated in this disclosure may be processed explicitly or implicitly. Explicit processing may be understood as a process of generating selection information indicating a candidate in a group of candidates from a plurality of candidates related to the encoding information in a sequence, a slice, a part, a block or a sub-block, and including the selection information in a bitstream by an encoder, and reconstructing related information as decoded information by parsing the related information at the same unit level as in the encoder by a decoder. Implicit processing may be understood as the processing Petition 870260034713, dated 04 / 14 / 2026, page 17 / 109 7 / 86 of information encoded / decoded in the same process, rule, or similar in the encoder and decoder.
[0031] Figure 1 is a conceptual diagram illustrating an image encoding and decoding system according to an embodiment of the present disclosure.
[0032] With reference to Figure 1, each of an image encoding device 105 and an image decoding device 100 can be a user terminal, such as a personal computer (PC), a laptop computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a portable playstation (PSP), a wireless communication terminal, a smartphone or a television (TV), or a server terminal, such as an application server or service server.Each of the image encoding apparatus 105 and image decoding apparatus 100 may be any of several devices, each including a communications device, such as a communications modem, which communicates with various devices or a wired / wireless communication network, a memory 120 or 125 which stores various programs and data for interprediction or intra-prediction to encode or decode an image, or a processor 110 or 115 which performs calculations and control operations by executing programs.
[0033] Furthermore, the image encoding device 105 can transmit an encoded image into a bitstream to the image decoding device 100 in real-time or non-real-time via a wired / wireless communication network, such as the Internet, a short-range wireless communication network, a wireless local area network (WLAN), a wireless broadband network (Wi-Bro), or a mobile communication network, or via various communication interfaces, such as a cable or a universal serial bus (USB), and the image decoding device 100 can reconstruct the received bitstream into an image by decoding the bitstream, and reproduce the image. Petition 870260034713, dated 04 / 14 / 2026, page 18 / 109 8 / 86 Furthermore, the image encoding device 105 can transmit the image encoded into a bitstream to the image decoding device 100 via a computer-readable recording medium.
[0034] Although the image encoding apparatus and the image decoding apparatus described above may be separate devices, they may be incorporated into a single image encoding / decoding apparatus, depending on the implementation. In this case, some components of the image encoding apparatus may be substantially identical to their counterparts in the image decoding apparatus. Therefore, these components may be configured to include the same structures or perform at least the same functions.
[0035] Therefore, a redundant description of the corresponding technical component will be avoided in the following detailed description of the technical component and its operating principles. Furthermore, since the image decoding apparatus is a computing device that applies an image encoding method implemented in the image encoding apparatus for decoding, the following description will focus on the image encoding apparatus.
[0036] The computing device may include a memory that stores a program or software module that executes an image encoding method and / or an image decoding method, and a processor connected to the memory and executing the program. The image encoding device may be referred to as an encoder, and the image decoding device may be referred to as a decoder.
[0037] Figure 2 is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure.
[0038] With reference to Figure 2, an image encoding device 20 may include a prediction unit 200, a Petition 870260034713, dated 04 / 14 / 2026, page 19 / 109 9 / 86 subtraction unit 205, a transform unit 210, a quantization unit 215, a dequantization unit 220, an inverse transform unit 225, an addition unit 230, a filter unit 235, an encoded image buffer 240, and an entropy encoding unit 245.
[0039] Prediction unit 200 can be implemented using a prediction module, which is a software module, and generate a prediction block for a block to be encoded by intraprediction or interprediction. Prediction unit 200 can generate a prediction block by predicting a current block to be encoded in an image. In other words, prediction unit 200 can generate a prediction block by having a predicted pixel value for each pixel by predicting the pixel value of the pixel in the current block according to interprediction or intraprediction. Furthermore, prediction unit 200 can provide necessary information to generate the prediction block, such as information about a prediction mode like an intraprediction mode or an interprediction mode, to an encoding unit so that the encoding unit can encode the information about the prediction mode.A processing unit subject to prediction, a prediction method, and specific details about the processing unit can be configured according to an encoding / decoding configuration. For example, the prediction method and prediction mode can be determined based on the prediction unit, and the prediction can be performed based on the transform unit.
[0040] An inter-prediction unit can distinguish a translational motion model and a non-translational motion model from each other according to a motion prediction method. For the translational motion model, the prediction is performed only in consideration of parallel translation, while for the non-translational motion model, the prediction can be performed in consideration of a motion, such as rotation, Petition 870260034713, dated 04 / 14 / 2026, page 20 / 109 10 / 86 perspective and reduction / enlargement in addition to parallel translation. Under the assumption of one-way prediction, the translational motion model may require one motion vector, while the non-translational motion model may require one or more motion vectors. In the case of the non-translational motion model, each motion vector can be information applied to predefined positions in a current block, such as the top left vertex and the top right vertex of the current block, and the position of a region to be predicted in the current block can be obtained at the pixel level or at the sub-block level based on a corresponding motion vector. The interprediction unit may apply part of the following process commonly and another part of the following process individually according to the motion model.
[0041] The inter-prediction unit may include a reference image configuration unit, a motion estimation unit, a motion compensator, a motion information decision unit, and a motion information encoder. The reference image configuration unit may include an image encoded prior to or next to a current image in a list of L0 or L1 reference images. A prediction block may be obtained from the reference image included in the list of reference images, and a current image may also be configured as a reference image and included in at least one list of reference images according to an encoding configuration.
[0042] The reference image configuration unit of the interprediction unit may include a reference image interpolator. The reference image interpolator may perform fractional pixel interpolation according to an interpolation precision. For example, an 8-lead discrete cosine transform (DCT) based interpolation filter may be applied to a luminance component. Petition 870260034713, dated 04 / 14 / 2026, page 21 / 109 11 / 86 and a 4-lead DCT-based interpolation filter can be applied to a chrominance component.
[0043] The motion estimation unit of the inter-prediction unit can detect a block with a high correlation to the current block, using a reference image. For this purpose, various methods, such as full-search-based block matching algorithm (FBMA), a three-step search (TSS), and so on, can be used. The motion compensator can obtain a prediction block in a motion estimation process.
[0044] The motion information decision unit of the inter-prediction unit can perform a selection process of the best motion information for the current block. Motion information can be encoded in a motion information encoding mode, such as a jump mode, a fusion mode, and a competition mode. The motion information encoding mode can be configured by combining supported modes according to a motion model. Such examples may include a jump mode (translational), a jump mode (non-translational), a fusion mode (translational), a fusion mode (non-translational), a competition mode (translational), and a competition mode (non-translational). Depending on an encoding configuration, a portion of the modes may be included in a candidate group.
[0045] In motion information encoding mode, a motion information prediction value (a motion vector, a reference image, a prediction direction, and so on) about a current block can be obtained from at least one candidate block. When two or more candidate blocks are supported, the best candidate selection information can be generated. The prediction value can be used without any processing as the motion information about the current block in jump mode (without a residual signal) and Petition 870260034713, dated 04 / 14 / 2026, page 22 / 109 12 / 86 fusion mode (with a residual signal), while the difference information between the movement information on the current block and the prediction value can be generated in competition mode.
[0046] A group of candidates for the prediction value of motion information about the current block can be adaptively configured in several ways according to the motion information encoding mode. Motion information about blocks spatially neighboring the current block (e.g., left, top, top left, top right, and bottom left blocks, and so on) can be included in the candidate group, motion information about blocks temporally neighboring the current block can be included in the candidate group, and mixed motion information about spatial and temporal candidates can be included in the candidate group.
[0047] Temporal neighboring blocks may include blocks in other images, corresponding to (matching) the current block, and may refer to the left, right, top, bottom, top left, top right, bottom left, and bottom right blocks. Mixed motion information may refer to information obtained as the average value, media value, or similar motion information about a spatial neighboring block and motion information about a temporal neighboring block.
[0048] Motion information can be prioritized to configure a group of motion information prediction value candidates. The order of movement information to be included in the prediction value candidate group can be defined according to priorities. When as many pieces of movement information as the number of candidates in the candidate group (determined according to a movement information coding mode) are populated in Petition 870260034713, dated 04 / 14 / 2026, page 23 / 109 13 / 86 candidate group according to priorities, the candidate group can be fully configured. Movement information can be prioritized in the order of movement information about a spatial neighboring block, movement information about a temporal neighboring block, and mixed movement information about spatial and temporal neighboring blocks. However, prioritization can also be modified.
[0049] For example, motion information about spatial neighboring blocks can be included in the candidate group in the order of left, top, top right, bottom left, and top left blocks, and motion information about temporal neighboring blocks can be included in the candidate group in the order of bottom right, center, right, and bottom blocks.
[0050] The subtraction unit 205 can generate a residual block by subtracting the prediction block from the current block. In other words, the subtraction unit 205 can calculate the difference between the pixel value of each pixel in the current block to be encoded and the predicted pixel value of a corresponding pixel in the prediction block generated by the prediction unit to generate a residual signal in the form of a block, i.e., the residual block. Furthermore, the subtraction unit 205 can generate a residual block in a unit different from a block obtained through the block divider described later.
[0051] The 210 transform unit can transform a spatial signal into a frequency signal. The signal obtained by the transform process is known as the transform coefficients. For example, the residual block with the residual signal received from the subtraction unit can be transformed into a transform block with transform coefficients, and the input signal is determined according to an encoding configuration, not limited to the residual signal.
[0052] The transform unit can transform the block Petition 870260034713, dated 04 / 14 / 2026, page 24 / 109 14 / 86 residual by, but not limited to, a transform scheme such as the Hadamard transform, discrete sine-based transform (DST), or DCT-based transform. These transform schemes can be altered and modified in various ways.
[0053] At least one of the transform schemes can be supported, and at least one subtransform scheme of each transform scheme can be supported. The subtransform scheme can be obtained by modifying a part of a basis vector in the transform scheme.
[0054] For example, in the case of DCT, one or more of the DCT-1 to DCT-8 subtransform schemes may be supported, and in the case of DST, one or more of the DST-1 to DST-8 subtransform schemes may be compatible. A group of transform scheme candidates may be configured with a portion of the subtransform schemes. For example, DCT-2, DCT-8, and DST-7 may be grouped into a candidate group for the transform.
[0055] The transform can be performed in a horizontal / vertical direction. For example, the one-dimensional transform can be performed in the horizontal direction by DCT-2 and the one-dimensional transform can be performed in the vertical direction by DST-7. With the two-dimensional transform, pixel values can be transformed from the spatial domain to the frequency domain.
[0056] A fixed transform scheme can be adopted, or a transform scheme can be selected adaptively according to an encoding / decoding configuration. In the latter case, a transform scheme can be selected explicitly or implicitly. When a transform scheme is selected explicitly, information about a transform scheme or set of transform schemes applied in each horizontal and vertical direction can be generated, for example, at the block level. When a transform scheme Petition 870260034713, dated 04 / 14 / 2026, page 25 / 109 15 / 86 is implicitly selected, an encoding configuration can be defined according to an image type (I / P / B), a color component, a block size, a block shape, an intra-prediction mode, and so on, and a predefined transform scheme can be selected according to the encoding configuration.
[0057] Furthermore, some transformations may be skipped depending on the encoding configuration. That is, one or more of the horizontal and vertical units may be omitted explicitly or implicitly.
[0058] Furthermore, the transform unit can transmit information necessary to generate a transform block to the encoding unit so that the encoding unit encodes the information, includes the encoded information in a bitstream, and transmits the bitstream to the decoder. Thus, a decoding unit of the decoder can analyze the information from the bitstream for use in the inverse transform.
[0059] The quantization unit 215 can quantize an input signal. A signal obtained from the quantization is referred to as quantized coefficients. For example, the quantization unit 215 can obtain a quantized block with quantized coefficients by quantizing the residual block with residual transform coefficients received from the transform unit, and the input signal can be determined according to the encoding configuration, not limited to the residual transform coefficients.
[0060] The quantization unit can quantize the transformed residual block by, but not limited to, a quantization scheme, such as uniform dead-zone boundary value quantization, a weighted quantization matrix, or the like. The above quantization schemes can be altered and modified in various ways. Petition 870260034713, dated 04 / 14 / 2026, page 26 / 109 16 / 86
[0061] Quantization can be skipped according to the encoding configuration. For example, quantization (and dequantization) can be skipped according to the encoding configuration (e.g., a quantization parameter of 0, i.e., a lossless compression environment). In another example, when quantization-based compression performance is not exercised in view of the characteristics of an image, the quantization process can be omitted. Quantization can be skipped in the total or partial region (M / 2 x N / 2, M x N / 2 or M / 2 x N) of the quantization block (MxN), and the quantization skip selection information can be defined explicitly or implicitly.
[0062] The quantization unit can transmit information necessary to generate a quantized block to the encoding unit, so that the encoding unit encodes the information, includes the encoded information in a bit stream, and transmits the bit stream to the decoder. Thus, the decoding unit of the decoder can analyze the information from the bit stream for use in dequantization.
[0063] Although the above example was described under the assumption that a residual block is transformed and quantized by the transform unit and the quantization unit, a residual block with transform coefficients can be generated by transforming a residual signal and may not be quantized. The residual block can undergo only quantization without a transform. Furthermore, the residual block can undergo both transform and quantization. These operations can be determined depending on the encoding configuration.
[0064] The dequantization unit 220 dequantizes the residual block quantized by the quantization unit 215. That is, the dequantization unit 220 generates a residual block with frequency coefficients by dequantizing a sequence. Petition 870260034713, dated 04 / 14 / 2026, page 27 / 109 17 / 86 quantization frequency coefficient.
[0065] The inverse transform unit 225 inversely transforms the dequantized residual block by the dequantization unit 220. That is, the inverse transform unit 225 inversely transforms the frequency coefficients of the dequantized residual block to generate a residual block with pixel values, that is, a reconstructed residual block. The inverse transform unit 225 can perform the inverse transform by inversely performing the transform scheme used by the transform unit 210.
[0066] The addition unit 230 reconstructs the current block by adding the prediction block predicted by the prediction unit 200 and the residual block retrieved by the inverse transform unit 225. The reconstructed current block is stored as a reference image (or reference block) in the encoded image buffer 240, for use as a reference image when the next block for the current block, another block, or another image is subsequently encoded.
[0067] Filter unit 235 may include one or more post-processing filters, such as an unlock filter, an adaptive sample offset (SAO), and an adaptive loop filter (ALF). The unlock filter can remove block distortion that occurs at the boundary between blocks in a reconstructed image. The ALF can perform filtering based on a value obtained by comparing the reconstructed image and the original image after the block has been filtered through the unlock filter. The SAO can reconstruct a pixel-level offset difference between the original image and the residual block to which the unlock filter is applied. These post-processing filters can be applied to a reconstructed image or block.
[0068] The encoded image buffer 240 can store the block or image reconstructed by the filter unit 235. The block Petition 870260034713, dated 04 / 14 / 2026, page 28 / 109 18 / 86 or reconstructed image stored in encoded image buffer 240 can be provided to prediction unit 200 which performs intra-prediction or inter-prediction.
[0069] The 245 entropy encoding unit scans the quantized frequency coefficient sequence generated in various scanning methods to generate a quantized coefficient sequence, encodes the quantized coefficient sequence by entropy encoding, and outputs the entropy-encoded coefficient sequence. A scanning pattern can be configured as one of several patterns, such as zigzag, diagonal, and raster. In addition, encoded data including encoding information received from each component can be generated and output in a bitstream.
[0070] Figure 3 is a block diagram illustrating an image decoding device according to an embodiment of the present disclosure.
[0071] With reference to Figure 3, an image decoding apparatus 30 can be configured to include an entropy decoder 305, a prediction unit 310, a dequantization unit 315, an inverse transform unit 320, an addition / subtraction unit 325, a filter 330, and a decoded image buffer 335.
[0072] In addition, the 310 prediction unit can be configured to include an intra-prediction module and an inter-prediction module.
[0073] When an image bitstream is received from the image encoding device 20, the image bitstream can be transmitted to the entropy decoder 305.
[0074] The entropy decoder 305 can decode the bit stream into decoded data, including quantized coefficients and decoding information to be transmitted to each component.
[0075] Prediction unit 310 can generate a block of Petition 870260034713, dated 04 / 14 / 2026, page 29 / 109 19 / 86 prediction based on data received from entropy decoder 305. Based on a reference image stored in the decoded image buffer 335, a list of reference images can be made using a standard configuration scheme.
[0076] The inter-prediction unit may include a reference image configuration unit, a motion compensator, and a motion information decoder. Some of the components may perform the same processes as the encoder, and others may perform the encoder's processes in reverse.
[0077] The dequantization unit 315 can dequantize quantized transform coefficients that are provided in the bitstream and decoded by the entropy decoder 305.
[0078] The inverse transform unit 320 can generate a residual block by applying inverse DCT, inverse integer transform, or an inverse transform technique similar to transform coefficients.
[0079] The dequantization unit 315 and the inverse transform unit 320 can perform in reverse the processes of the transform unit 210 and the quantization unit 215 of the image coding apparatus 20 described above, and can be implemented in various ways. For example, the dequantization unit 315 and the inverse transform unit 320 can use the same processes and inverse transform shared with the transform unit 210 and the quantization unit 215, and can perform inverse transformation and quantization using information about the transformation and quantization processes received from the image coding apparatus 20 (e.g., a transform size, a transform shape, a quantization type, and so on). Petition 870260034713, dated 04 / 14 / 2026, page 30 / 109 20 / 86
[0080] The residual block that has been dequantized and inversely transformed can be added to the prediction block derived by prediction unit 310, thus producing a reconstructed image block. This addition can be performed by addition / subtraction unit 325.
[0081] Regarding the 330 filter, an unlock filter can be applied to remove a blocking phenomenon from the reconstructed image block, when necessary. To improve video quality before and after the decoding process, other loop filters can be used additionally.
[0082] The reconstructed and filtered image block can be stored in the decoded image buffer 335.
[0083] Although not shown in the drawings, the image encoding / decoding apparatus may also include an image splitter and a block splitter.
[0084] The image splitter can divide (or separate) an image into at least one processing unit, such as a color space (e.g., YCbCr, RGB, or XYZ), a part, a slice, or a basic encoding unit (a maximum encoding unit or a coding tree unit (CTU)), and the block splitter can divide a basic encoding unit into at least one processing unit (e.g., an encoding unit, a prediction unit, a transform unit, a quantization unit, an entropy encoding, and an in-loop filtering unit).
[0085] Basic encoding units can be obtained by dividing an image into regular intervals in the horizontal and vertical directions. In this way, the image can be divided into, but not limited to, parts, slices, and so on. Although a partition unit, such as a part or a slice, can include an integer multiple of basic encoding blocks, a partition unit located at an edge of the Petition 870260034713, dated 04 / 14 / 2026, page 31 / 109 21 / 86 image size may be exceptional. In this case, the size of a basic encoding block can be adjusted.
[0086] For example, an image can be split into basic encoding units and then split into the units above, or an image can be split into the units above and then split into basic encoding units. The order of separation and splitting into units is assumed to be the first in this disclosure, which should not be interpreted as limiting this disclosure. Depending on the encoding / decoding configuration, the latter case may also be possible. In the latter case, the size of the basic encoding unit can be adaptively changed according to a partition unit (e.g., part). That is, it means that a basic encoding block with a different size can be supported in each partition unit.
[0087] In this disclosure, the following description is given with the understanding that dividing an image into basic encoding units is configured as a default setting. The default setting may mean that an image is not divided into parts or slices, or an image is either a part or a slice. However, as described above, even when an image is first divided into partition units (parts, slices, or the like) and then divided into basic encoding units based on the partition units (i.e., when the number of each partition unit is not an integer multiple of basic encoding units), it should be understood that various embodiments described below may be applied in the same manner or with some modification.
[0088] Among the partition units, a slice can be a group of at least one consecutive block according to a scanning pattern, and a part can be a rectangular group of spatially neighboring blocks. Other partition units may be supported and constructed according to their definitions. A slice Petition 870260034713, dated 04 / 14 / 2026, page 32 / 109 22 / 86 and a part can be partition units supported for parallelization purposes. For this purpose, referencing between partition units can be restricted (i.e., referencing is not allowed).
[0089] A slice can generate partitioning information for each unit using information about the starting positions of consecutive blocks, and in the case of a part, it can generate information about horizontal and vertical partition lines or generate part position information (e.g., top left, top right, bottom left, and bottom right).
[0090] Each slice and part can be divided into a plurality of units according to an encoding / decoding configuration.
[0091] For example, unit A might include configuration information that affects an encoding / decoding process (i.e., a part header or a slice header), and unit B might not include configuration information. Alternatively, unit A might be a unit not allowed to reference another unit during encoding / decoding, and unit B might be a unit allowed to reference another unit. Furthermore, unit A might include another unit B in a hierarchical relationship with unit B or it might be a peer relationship with unit B.
[0092] Unit A and unit B can be a slice and a part (or a part and a slice), respectively. Alternatively, each unit A and unit B can be a slice or a part. For example, unit A can be slice / part type 1 and unit B can be slice / part type 2.
[0093] Each of type 1 and type 2 can be a slice or part. Alternatively, type 1 can be a plurality of slices or parts (a group of slices or a group of parts) (including type 2) and type 2 can be a slice or part. Petition 870260034713, dated 04 / 14 / 2026, page 33 / 109 23 / 86
[0094] As described above, the present disclosure is described on the assumption that an image is composed of a slice or part. However, if two or more partition units are generated, the above description may be applied and understood in the embodiments described below. Furthermore, unit A and unit B are examples of features that a partition unit may have, and an example of combining unit A and unit B in the respective examples is also possible.
[0095] The block splitter can obtain information about the basic coding unit of the image splitter, and the basic coding unit can refer to a basic (or initial) unit for prediction, transformation, quantization, and so on in an image encoding / decoding process. In this case, the basic coding unit can be composed of a basic luminance coding block (maximum coding block or CTB) and two basic chrominance coding blocks according to a color format (YCbCr in this example), and the size of each block can be determined according to the color format. A coding block (CB) can be obtained according to the partitioning process. A CB can be understood as a unit that is not subdivided due to certain restrictions and can be defined as an initial unit for partitioning into subunits.In this publication, a block conceptually encompasses various shapes, such as a triangle, a circle, and so on, not limited to a square. For the sake of description, it is assumed that a block is rectangular.
[0096] Although the following description is given in the context of a color component, it is also applicable to another color component with some modification, in proportion to a ratio according to the color format (for example, in the case of YCbCr 4:2:0, the length-width-height ratio of the luminance component and the chrominance component is 2:1). Furthermore, although the block partitioning is dependent on another component Petition 870260034713, dated 04 / 14 / 2026, page 34 / 109 24 / 86 color partitioning (e.g., depending on the block partitioning result of Y in Cb / Cr) is possible, it should be understood that independent block partitioning of each color component is also possible. Furthermore, while a common block partitioning configuration (considering it to be proportional to a length ratio) can be used, it is also necessary to consider and understand that an individual block partitioning configuration is used according to a color component.
[0097] In the block divider, a block can be expressed as M x N, and the maximum and minimum values of each block can be obtained within the range. For example, if the maximum and minimum values of a block are 256 x 256 and 4 x 4, respectively, a block of size 2m x 2n (men are integers from 2 to 8 in this example), a block of size 2m x 2n (men are integers from 2 to 128 in this example), or a block of size m x m (men are integers from 4 to 256 in this example) can be obtained. Here, men can be equal or different, and one or more ranges in which blocks are supported, such as maximum and minimum values, can be generated.
[0098] For example, information about the maximum and minimum size of a block can be generated, and information about the maximum and minimum size of a block can be generated in some partitioning configuration. In the first case, the information can be range information about maximum and minimum sizes that can be produced in an image, while in the latter case, the information can be information about maximum and minimum sizes that can be produced according to some partitioning configuration. The partitioning configuration can be defined by an image type (I / P / B), a color component (YCbCr or similar), a block type (encoding / prediction / transform / quantization), a partitioning type (index or type), and a scheme of Petition 870260034713, dated 04 / 14 / 2026, page 35 / 109 25 / 86 partitioning (quadruple tree (QT), binary tree (BT) and ternary tree (TT) as tree methods and SI2, SI3 and SI4 as type methods).
[0099] Furthermore, there may be a restriction on the available width-to-height ratio for a block (a block shape), and in this respect, a limit value may be defined. Only blocks smaller than or equal to a limit value k may be supported, where k may be defined according to a width-to-height ratio, A / B (A is the value greater than or equal to the width and height, and B is the other value). k may be a real number equal to or greater than 1, such as 1.5, 2, 3, 4, or similar. As in the example above, a restriction on the shape of a block in an image may be supported, or one or more restrictions may be supported according to a partitioning configuration.
[00100] In summary, it can be determined whether block partitioning is supported based on the range and constraint described above and a partitioning configuration described later. For example, when a candidate (child block) partitioned from a block (parent block) satisfies a supported block condition, partitioning may be supported, and otherwise, partitioning may not be supported.
[00101] The block divider can be configured in relation to each component of the image encoding apparatus and the image decoding apparatus, and the size and shape of a block can be determined in this process. Different blocks can be configured according to the components. The blocks can include a prediction block for the prediction unit, a transform block for the transform unit, and a quantization block for the quantization unit. However, the present disclosure is not limited to this, and block units can be further defined for other components. Although the shape of each of an input and output is described as a square Petition 870260034713, dated 04 / 14 / 2026, page 36 / 109 26 / 86 In each component in this disclosure, the input and output of any component may have any other shape (for example, a triangle).
[00102] The size and shape of an initial (or starting) block in the block divider can be determined from a higher unit. The initial block can be divided into smaller blocks. Once an ideal size and shape are determined according to the block partitioning, the block can be determined as an initial block for a lower unit. The upper unit can be an encoding block, and the lower unit can be a prediction block or a transform block, to which the present disclosure is not limited. Instead, several modification examples are possible. Once the initial block of the lower unit is determined as in the example above, a partitioning process can be performed to detect a block of an ideal size and shape as the upper unit.
[00103] In summary, the block divider can divide a basic coding block (or maximum coding block) into at least one coding block, and the coding block can be divided into at least one prediction block / transform block / quantization block. Furthermore, the prediction block can be divided into at least one transform block / quantization block, and the transform block can be divided into at least one quantization block. Some blocks may be in a dependent relationship with other blocks (i.e., defined by a higher unit and a lower unit) or may have an independent relationship with other blocks. For example, the prediction block may be a higher unit above the transform block or it may be an independent unit of the transform block. Various relationships can be established according to the block types.
[00104] Depending on a configuration of Petition 870260034713, dated 04 / 14 / 2026, page 37 / 109 27 / 86 encoding / decoding, it can be determined whether to combine a higher unit and a lower unit. Combination between units means that a block from a higher unit is subjected to an encoding / decoding process from a lower unit (e.g., in the prediction unit, transform unit, inverse transform unit, and so on), without being divided into lower units. That is, it can mean that a partitioning process is shared among a plurality of units, and the partitioning information is generated in one (e.g., a higher unit) of the units.
[00105] For example, (when a coding block is combined with a prediction block or a transform block), the coding block can be subjected to prediction, transformation, and inverse transformation.
[00106] For example, (when a coding block is combined with a prediction block), the coding block can be subjected to prediction and a transform block equal to or smaller than the coding block in size can be subjected to transformation and inverse transformation.
[00107] For example, (when a coding block is combined with a transform block), a prediction block equal to or smaller than the coding block in size can be subjected to prediction, and the coding block can be subjected to transformation and inverse transformation.
[00108] For example, (when a prediction block is combined with a transform block), a prediction block equal to or smaller than the encoding block in size can undergo prediction, transformation, and inverse transformation.
[00109] For example, (when there is no block combination), a prediction block equal to or smaller than a coding block in size can be subjected to prediction, and a transform block equal to or smaller than the coding block in size can be Petition 870260034713, dated 04 / 14 / 2026, page 38 / 109 28 / 86 subjected to transformation and inverse transformation.
[00110] Although several instances of a coding block, a prediction block, and a transform block have been described in the examples above, the present disclosure is not limited to them.
[00111] For combination between units, a fixed configuration can be supported in an image, or an adaptive configuration can be supported taking into account various encoding / decoding factors. Encoding / decoding factors include an image type, a color component, an encoding mode (Intra / Inter), a partitioning configuration, a block size / shape / position, a width-to-height ratio, prediction-related information (e.g., intra-prediction mode, interprediction mode, or similar), transformation-related information (e.g., transformation scheme selection information or similar), quantization-related information (e.g., quantization region selection information and quantized transform coefficient encoding information), and so on.
[00112] When a block of ideal size and shape has been detected as described above, mode information (e.g., partitioning information) for the block can be generated. The mode information can be included in a bitstream along with the information generated from a component to which the block belongs (e.g., prediction-related information and transformation-related information) and transmitted to the decoder, and can be analyzed at the same unit level by the decoder, for use in a video decoding process.
[00113] Now, a partitioning scheme will be described. Although it is assumed that an initial block is shaped into a square, for convenience of description, the present disclosure Petition 870260034713, dated 04 / 14 / 2026, page 39 / 109 29 / 86 is not limited to the same and the description is applicable in the same or similar way to a case where the initial block is rectangular.
[00114] The block divider can support various partitioning types. For example, tree-based partitioning or index-based partitioning can be supported, and other methods may also be supported. In tree-based partitioning, a partition type can be determined based on various types of information (e.g., information indicating whether partitioning is performed, a tree type, a partitioning direction, and so on), while in index-based partitioning, a partition type can be determined using specific index information.
[00115] Figure 4 is an exemplary diagram illustrating various partition types that can be obtained in a block splitter of the present disclosure. In this example, it is assumed that the partition types illustrated in Figure 4 are obtained by a partitioning operation (or process), which should not be interpreted as limiting the present disclosure. Partition types can also be obtained in a plurality of partitioning operations. In addition, an additional partition type not illustrated in Figure 4 may also be available. (Tree-based partitioning)
[00116] In the tree-based partitioning of the present disclosure, QT, BT, and TT can be supported. If one tree method is supported, this can be referred to as single-tree partitioning, and if two or more tree methods are supported, this can be referred to as multi-tree partitioning.
[00117] In QT, a block is divided into two partitions in each of the horizontal and vertical directions (n), while in BT, a block is divided into two partitions in either the horizontal or vertical direction (bag). In TT, a block is divided into three partitions. Petition 870260034713, dated 04 / 14 / 2026, page 40 / 109 30 / 86 in the horizontal direction or in the vertical direction (ham).
[00118] In QT, a block can be divided into four partitions, limiting the partitioning direction to one of the horizontal and vertical directions (oep). Additionally, in BT, only dividing a block into partitions of equal size (bec), only dividing a block into partitions of different sizes (dag), or both partition types can be supported. Furthermore, in TT, dividing a block into partitions concentrated only in a specific direction (1:1:2 or 2:1:1 in the left-to-right or top-to-bottom direction) (h, j, k, em), dividing a block into partitions concentrated in the center (1:2:1) (iel), or both partition types can be supported. Additionally, dividing a block into four partitions in each of the horizontal and vertical directions (i.e., a total of 16 partitions) can be supported (q).
[00119] Among the tree methods, dividing a block into z partitions only in the horizontal direction (b, d, e, h, i, j, o), dividing a block into z partitions only in the vertical direction (c, f, g, k, l, m, p), or both partition types can be supported. Here, z can be an integer equal to or greater than 2, such as 2, 3, or 4.
[00120] In this disclosure, it is assumed that partition type n is supported as QT, partition types bec are supported as BT, and partition types iel are supported as TT.
[00121] One or more of the tree partitioning schemes can be supported according to an encoding / decoding configuration. For example, QT, QT / BT or QT / BT / TT can be supported.
[00122] In the example above, the basic tree partitioning scheme is QT, and BT and TT are included as additional partitioning schemes depending on whether other trees are supported. However, various modifications can be made. As Petition 870260034713, dated 04 / 14 / 2026, page 41 / 109 31 / 86 Information indicating whether other trees are supported (bt_enabled_flag, tt_enabled_flag and bt_tt_enabled_flag, with 0 indicating no support and 1 indicating support) can be determined implicitly according to an encoding / decoding configuration or explicitly determined in units such as sequence, image, slice or part.
[00123] Partitioning information may include information indicating whether partitioning is performed (tree_part_flag or qt_part_flag, bt_part_flag, tt_part_flag and bt_tt_part_flag, which may have a value of 0 or 1 with 0 indicating no partitioning and 1 indicating partitioning). Additionally, depending on the partitioning schemes (BT and TT), information about a partitioning direction (dir_part_flag or bt_dir_part_flag, tt_dir_part_flag and bt_tt_dir_part_flag, which have a value of 0 or 1 with 0 indicating partitioning). <largura horizontal>and 1 indicating <altura vertical>These may be additional pieces of information that can be generated when partitioning is performed.
[00124] When multi-tree partitioning is supported, multiple pieces of partitioning information can be configured. The following description is provided as an example of how partitioning information is configured at one depth level (i.e., although recursive partitioning is possible by defining one or more supported partitioning depths), for the sake of description.
[00125] In Example 1, the information indicating whether partitioning has been performed is checked. If partitioning has not been performed, partitioning terminates.
[00126] If partitioning is performed, selection information about a partition type (e.g., tree_idx. 0 for QT, 1 for BT, and 2 for TT) is checked. Partitioning direction information is further checked according to the selected partition type, and the procedure continues. Petition 870260034713, dated 04 / 14 / 2026, page 42 / 109 32 / 86 to the next step (if further partitioning is possible for reasons such as when a partitioning depth has not reached a maximum value, the procedure starts again from the beginning, and if further partitioning is not possible, the partitioning procedure ends).
[00127] In Example 2, the information indicating whether partitioning is performed in a given tree scheme (QT) is checked, and the procedure proceeds to the next step. If partitioning is not performed in the tree scheme (QT), the information indicating whether partitioning is performed in another tree scheme (BT) is checked. In that case, if partitioning is not performed in the tree scheme, the information indicating whether partitioning is performed in a third tree scheme (TT) is checked. If partitioning is not performed in the third tree scheme (TT), the partitioning procedure terminates.
[00128] If partitioning is performed in the tree scheme (QT), the procedure proceeds to the next step. Furthermore, if partitioning is performed in the second tree scheme (BT), the partitioning direction information is checked and the procedure proceeds to the next step. If partitioning is performed in the third tree scheme (TT), the partitioning direction information will be checked and the procedure will continue to the next step.
[00129] In Example 3, the information indicating whether the partitioning is performed in a tree scheme (QT) is checked. If the partitioning is not performed in the tree scheme (QT), the information indicating whether the partitioning is performed in other tree schemes (BT and TT) is checked. If the partitioning is not performed, the partitioning procedure terminates.
[00130] If the partitioning is performed in the tree scheme (QT), the procedure proceeds to the next step. In addition Petition 870260034713, dated 04 / 14 / 2026, page 43 / 109 33 / 86 of this, partitioning is performed on the other tree schemes (BT and TT), the partitioning direction information is verified, and the procedure proceeds to the next step.
[00131] Although tree partitioning schemes are prioritized (Example 2 and Example 3) or no priority is assigned to tree partitioning schemes (Example 1) in the examples above, several modification examples may also be available. Furthermore, the partitioning in a current step is not related to the result of the partitioning in the previous step in the example above. However, it is also possible to configure the partitioning in the current step to depend on the result of the partitioning in the previous step.
[00132] In Examples 1 through 3, if any QT (Quantitative Tree) partitioning scheme is performed in the previous step and thus the procedure proceeds to the current step, the same QT (Quantitative Tree) partitioning scheme may be supported in the current step as well.
[00133] On the other hand, if the specified tree partitioning scheme (QT) was not implemented and therefore another tree partitioning scheme (BT or TT) was implemented in the previous step and then the procedure proceeds to the current step, it can be configured so that the other tree partitioning schemes (BT and TT), except for the specified tree partitioning scheme (QT), are supported in the current step and subsequent steps.
[00134] In the case above, a supported tree configuration for block partitioning can be adaptive, and therefore the partitioning information mentioned above can also be configured differently. (The example to be described later is considered Example 3). That is, if partitioning is not performed in the specified tree scheme (QT) in the previous step, the partitioning procedure can be performed without considering the tree scheme. Petition 870260034713, dated 04 / 14 / 2026, page 44 / 109 34 / 86 (QT) in the current step. Additionally, partitioning information related to a given tree schema (e.g., information indicating whether partitioning is performed, information about a partitioning direction, and so on). In this example <qt>Information indicating whether partitioning is performed can be removed.
[00135] The example above refers to an adaptive partitioning information configuration for the case where block partitioning is allowed (e.g., a block size is within a range between the maximum and minimum values, the partitioning depth of each tree scheme has not reached a maximum depth (allowed depth), or similar). Even when block partitioning is restricted (e.g., the block size does not exist in the range between the maximum and minimum values, the partitioning depth of each tree scheme has reached the maximum depth, or similar), the partitioning information can be configured adaptively.
[00136] As already mentioned, tree-based partitioning can be performed recursively in the present disclosure. For example, if a partition flag of a coding block with a partitioning depth of k is set to 0, coding block coding is performed on the coding block with a partitioning depth of k. If the partition flag of the coding block with a partitioning depth of k is set to 1, coding block coding is performed on N subcoding blocks with a partitioning depth of k + 1 according to a partitioning scheme (where N is an integer equal to or greater than 2, such as 2, 3, and 4).
[00137] The subcoding block can be defined as a (k + 1) encoding block and partitioned into (k + 2) subcoding blocks in the above procedure. This scheme of Petition 870260034713, dated 04 / 14 / 2026, page 45 / 109 35 / 86 Hierarchical partitioning can be determined according to a partitioning configuration, such as a partitioning range and an allowed partitioning depth.
[00138] In this case, a bitstream structure representing partitioning information can be selected from one or more scanning methods. For example, the bitstream of the partitioning information can be configured based on an order of partitioning depths, or based on whether partitioning is performed.
[00139] For example, in the case based on the order of partitioning depth, partitioning information is obtained at a current depth level based on an initial block, and then partitioning information is obtained at the next depth level. In the case based on whether partitioning is performed, additional partitioning information is obtained first on a block split from an initial block, and other additional scanning methods may be considered. (Index-based partitioning)
[00140] In the index-based partitioning of the present disclosure, a constant split index (CSI) scheme and a variable split index (VSI) scheme can be supported.
[00141] In the CSI scheme, k sub-blocks can be obtained by partitioning in a predetermined direction, where k can be an integer equal to or greater than 2, such as 2, 3, or 4. Specifically, the size and shape of a sub-block can be determined based on k, independently of the size and shape of a block. The predetermined direction can be one or a combination of two or more horizontal, vertical, and diagonal directions (top left direction -> bottom right direction or bottom left direction -> top right direction).
[00142] In the index-based CSI partitioning scheme of the present disclosure, z candidates can be obtained through Petition 870260034713, dated 04 / 14 / 2026, page 46 / 109 36 / 86 of the partitioning in either the horizontal or vertical direction. In this case, z can be an integer equal to or greater than 2, such as 2, 3, or 4, and the sub-blocks can be equal in width and height and can be equal or different in width and height. The length-to-width or height ratio of the sub-blocks is A1:A2:...:Az, and each of A1 to Az can be an integer equal to or greater than 1, such as 1, 2, or 3.
[00143] Furthermore, a candidate can be obtained by partitioning into x partitions and y partitions along the horizontal and vertical directions, respectively. Each of x and y can be an integer equal to or greater than 1, such as 1, 2, 3, or 4. However, a candidate with x and y being 1s may be restricted (because one already exists). Although Figure 4 illustrates cases where sub-blocks have the same width or height ratio, candidates having different width or height ratios can also be included.
[00144] Furthermore, a candidate can be divided into w partitions in one of the diagonal directions, top left->bottom right and bottom left->top right. Here, w can be an integer equal to or greater than 2, such as 2 or 3.
[00145] With reference to Figure 4, partition types can be classified into a symmetric partition type (b) and an asymmetric partition type (dee) according to the length ratio of each sub-block. Furthermore, partition types can be classified into a partition type concentrated in a specific direction (kem) and a centralized partition type (k). Partition types can be defined by various encoding / decoding factors including a sub-block shape, as well as a sub-block length ratio, and a supported partition type can be implicitly or explicitly determined according to an encoding / decoding configuration. Thus, a group of candidates can be determined based on the partition type supported in the scheme. Petition 870260034713, dated 04 / 14 / 2026, page 47 / 109 37 / 86 of index-based partitioning.
[00146] In the VSI scheme, with the width w or height h of each sub-block fixed, one or more sub-blocks can be obtained by partitioning in a predetermined direction. Here, each of weh can be an integer equal to or greater than 1, such as 1, 2, 4, or 8. Specifically, the number of sub-blocks can be determined based on the size and shape of a block, and the value w or h.
[00147] In the index-based VSI partitioning scheme of the present disclosure, a candidate can be partitioned into sub-blocks, each being fixed in width and length. Alternatively, a candidate can be divided into sub-blocks, each being fixed in width and length. Since the width or height of a sub-block is fixed, equal partitioning in the horizontal or vertical direction may be permitted. However, the present disclosure is not limited to this.
[00148] In the case where a block is of size M x N before partitioning, if the width w of each sub-block is fixed, the height h of each sub-block is fixed, or both the width w and height h of each sub-block are fixed, the number of sub-blocks obtained can be (M * N) / w, (M * N) / h, or (M * N) / w / h.
[00149] Depending on an encoding / decoding configuration, only one or both CSI and VSI schemes may be supported, and information about a supported scheme may be implicitly or explicitly determined.
[00150] This disclosure will be described in the context of the supported CSI scheme.
[00151] A candidate group can be configured to include two or more candidates in the index-based partitioning scheme according to an encoding / decoding configuration.
[00152] For example, a group of candidates, such as {a, b, c}, {a, b, c, n} or {aagen} can be formed. The group of Petition 870260034713, dated 04 / 14 / 2026, page 48 / 109 38 / 86 candidates could be an example of the inclusion of block types predicted to occur many times based on general statistical characteristics, such as a block split into two partitions in the horizontal or vertical direction, or in each of the horizontal and vertical directions.
[00153] Alternatively, a candidate group, such as {a, b}, {a, o} or {a, b, o}, or a candidate group, such as {a, c}, {a, p}, or {a, c, p}, can be configured. The candidate group can be an example of including candidates, each being partitioned into partitions and four partitions in the horizontal and vertical directions, respectively. This can be an example of configuring predicted block types to be partitioned primarily in a specific direction as a candidate group.
[00154] Alternatively, a candidate group such as {a, o, p} or {a, n, q} can be configured. This could be an example of configuring a candidate group to include predicted block types that are to be partitioned into many smaller partitions than a block before partitioning.
[00155] Alternatively, a candidate group such as {a, r, s} can be set up, and it can be an example of determining that the optimal partitions that result can be obtained in a rectangular shape through another method (tree method) from the block before it is split, and setting up the non-rectangular shape as a candidate group.
[00156] As noted from the examples above, various candidate group configurations may be available, and one or more candidate group configurations may be supported in consideration of a variety of encoding / decoding factors.
[00157] Once a candidate group is fully configured, various partitioning information settings may be available. Petition 870260034713, dated 04 / 14 / 2026, page 49 / 109 39 / 86
[00158] For example, with respect to a group of candidates including the candidate that is not partitioned and the candidates that are partitioned, index selection information can be generated.
[00159] Alternatively, information can be generated indicating whether partitioning is performed (information indicating whether the partitioning type is a). If partitioning is performed (if the partitioning type is not a), index selection information can be generated in relation to a group of candidates including the bas candidates that are partitioned.
[00160] Partitioning information can be configured in many other ways besides those described above. Except for information indicating whether partitioning is performed, binary bits can be assigned to the index of each candidate in the candidate group in various ways, such as fixed-length binarization, variable-length binarization, and so on. If the candidate number is 2, 1 bit can be assigned to the index selection information, and if the candidate number is 3, one or more bits can be assigned to the index selection information.
[00161] Compared to the tree-based partitioning scheme, the partition types predicted to occur many times can be included in a candidate group in the index-based partitioning scheme.
[00162] Since the number of bits used to represent index information can increase according to the number of candidate groups supported, this scheme may be suitable for single-layer partitioning (e.g., partitioning depth is limited to 0), rather than tree-based hierarchical partitioning (recursive partitioning). That is, a single partitioning operation can be supported and a sub-block obtained through partitioning Petition 870260034713, dated 04 / 14 / 2026, pp. 50 / 109 40 / 86 based on an index may not be split subsequently.
[00163] This may mean that further partitioning into smaller blocks of the same type is impossible (for example, a coding block obtained through index-based partitioning may not be divided into coding blocks), and it also means that further partitioning into different block types may also be impossible (for example, partitioning a coding block into prediction blocks as well as coding blocks is not possible). Obviously, the present disclosure is not limited to the above example, and other examples of modification may also be available.
[00164] Now, a description will be given of the determination of a block partitioning configuration based primarily on a block type among the encoding / decoding factors.
[00165] First, a coding block can be obtained in a partitioning process. A tree-based partitioning scheme can be adopted for the partitioning process, and a partition type such as a (no division), n (QT), b, c (BT), i or l (TT) from Figure 4 can result according to a tree type. Various combinations of tree types, such as QT / QT + BT / QT + BT + TT, may be available according to an encoding / decoding configuration.
[00166] The following examples are processes for finally dividing a coding block obtained in the previous procedure into prediction blocks and transform blocks. It is assumed that prediction, transformation, and inverse transformation are performed based on the size of each partition.
[00167] In Example 1, prediction can be performed by setting the size of a prediction block equal to that of a coding block, and transformation and inverse transformation can be performed by setting the size of a transform block equal Petition 870260034713, dated 04 / 14 / 2026, page 51 / 109 41 / 86 to the coding block (or prediction block).
[00168] In Example 2, prediction can be performed by setting the size of a prediction block equal to that of a coding block. A transform block can be obtained by partitioning the coding block (or prediction block), and the transform and inverse transform can be performed based on the size of the transform block obtained.
[00169] Here, a tree-based partitioning scheme can be adopted for the partitioning process, and a partition type such as a (no division), n (QT), b, c (BT), i or l (TT) from Figure 4 can result according to a tree type. Various combinations of tree types, such as QT / QT + BT / QT + BT + TT, may be available according to an encoding / decoding configuration.
[00170] Here, the partitioning process can be an index-based partitioning scheme. A partition type, such as a (no division), b, c, or d from Figure 4, can be obtained according to an index type. Depending on an encoding / decoding configuration, several candidate groups, such as {a, b, c} and {a, b, c, d}, can be configured.
[00171] In Example 3, a prediction block can be obtained by partitioning a coding block, and subject to prediction based on the size of the prediction block obtained. For a transform block, its size is defined as the size of the coding block, and the transformation and inverse transformation can be performed on the transform block. In this example, the prediction block and the transform block can be in an independent relationship.
[00172] An index-based partitioning scheme can be used for the partitioning process, and a partitioning type such as a (no division), bag, n, r, or s from Figure 4 can be obtained according to an index type. Several candidate groups, such as {a, b, c, n}, {aag, n}, and {a, r, s}, can Petition 870260034713, dated 04 / 14 / 2026, page 52 / 109 42 / 86 can be configured according to an encoding / decoding setup.
[00173] In Example 4, a prediction block can be obtained by partitioning a coding block, and subject to prediction based on the size of the prediction block obtained. For a transform block, its size is defined as the size of the prediction block, and the transformation and inverse transformation can be performed on the transform block. In this example, the transform block can have a size equal to the size of the prediction block obtained or vice versa (the size of the transform block is defined as the size of the prediction block).
[00174] A tree-based partitioning scheme can be used for the partitioning process, and a partition type, such as a (no division), b, c (BT), i, l (TT) or n (QT) from Figure 4 can be generated according to a tree type. Depending on the encoding / decoding configuration, various combinations of tree types, such as QT / BT / QT + BT, may be available.
[00175] Here, an index-based n partitioning scheme can be used for the partitioning process, and a partition type, such as a (no split), b, c, n, o, or p from Figure 4, can result according to an index type. Several candidate groups, such as {a, b}, {a, c}, {a, n}, {a, o}, {a, p}, {a, b, c}, {a, o, p}, {a, b, c, n}, and {a, b, c, n, p} can be configured depending on an encoding / decryption configuration. Furthermore, a candidate group can be configured in the VSI scheme alone or in the CSI scheme and the VSI scheme in combination, as the index-based partitioning scheme(s).
[00176] In Example 5, a prediction block can be obtained by partitioning a coding block and subjecting it to prediction based on the resulting prediction block size. A transform block can also be obtained by dividing the block of Petition 870260034713, dated 04 / 14 / 2026, page 53 / 109 43 / 86 encoding and subjected to transformation and inverse transformation based on the size of the transformation block obtained. In this example, each of a prediction block and a transformation block can result from partitioning a coding block.
[00177] Here, a tree-based partitioning scheme and an index-based partitioning scheme can be used for the partitioning process, and a candidate group can be configured in the same way or similarly to Example 4.
[00178] In this case, the above examples are cases that may occur depending on whether a partitioning process for each block type is shared, which should not be interpreted as limiting the present disclosure. Several modification examples may also be available. Furthermore, a block partitioning configuration can be determined by taking into account various encoding / decoding factors as well as a block type.
[00179] Encoding / decoding factors may include an image type (I / P / B), a color component (YCbCr), a block size / shape / position, a block width-to-height ratio, a block type (encoding block, prediction block, transform block, or quantization block), a partition state, an encoding mode (Intra / Inter), prediction-related information (intra-prediction mode or inter-prediction mode), transformation-related information (transformation scheme selection information), quantization-related information (quantization region selection information and quantized transform coefficient encoding information).
[00180] In an image coding method according to an embodiment of the present disclosure, intra-prediction can be configured as follows. The intra-prediction of the prediction unit Petition 870260034713, dated 04 / 14 / 2026, page 54 / 109 44 / 86 may include a reference pixel setup step, a prediction block generation step, a prediction mode determination step, and a prediction mode encoding step. Additionally, the image encoding device may be configured to include a reference pixel setup unit, a prediction block generator, and a prediction mode encoder to perform the reference pixel setup step, the prediction block generation step, the prediction mode determination step, and the prediction mode encoding step. Some of the steps described above may be omitted, or other steps may be added. The steps may be performed in a different order than described above.
[00181] Figure 5 is an exemplary diagram illustrating the intra-prediction modes according to an embodiment of the present disclosure.
[00182] With reference to Figure 5, 67 prediction modes are grouped into a candidate prediction mode group for intra-prediction. While the following description is given, with the understanding that among the 67 prediction modes, 65 prediction modes are directional modes and 2 prediction modes are non-directional modes (DC and planar), the present disclosure is not limited to the same and various configurations are available. Directional modes can be distinguished from each other by tilt information (e.g., dy / dx) or angle information (degrees). All or part of the prediction modes can be included in a candidate prediction mode group of a luminance component or a chrominance component, and other additional modes can be included in the candidate prediction mode group.
[00183] In the present disclosure, directional modes can be directed in straight lines, and a curved directional mode can additionally be configured as a prediction mode. Petition 870260034713, dated 04 / 14 / 2026, page 55 / 109 45 / 86 In addition, non-directional modes can include DC mode, in which a prediction block is obtained by averaging (or weighting) the pixels of blocks neighboring a current block (e.g., top, left, top left, top right, and bottom right blocks), and planar mode, in which a prediction block is obtained by linearly interpolating the pixels of neighboring blocks.
[00184] In DC mode, reference pixels used to generate a prediction block can be obtained from any of several block combinations, such as left, top, left + top, left + bottom left, top + top right, left + top + bottom left + top right, and so on. The position of blocks from which the reference pixels are obtained can be determined according to an encoding / decoding configuration defined by an image type, a color component, a block size / type / position, and so on.
[00185] In planar mode, pixels used to generate a prediction block can be obtained from a region with reference pixels (e.g., left, top, top left, top right, bottom left regions) and a region without reference pixels (e.g., right, bottom, and bottom right regions). The region without reference pixels (i.e., unencoded) can be obtained implicitly using one or more pixels from the region with reference pixels (e.g., through copying or weighted averaging) or information about at least one pixel from the region not composed of reference pixels can be generated explicitly. Consequently, a prediction block can be generated using the region with reference pixels and the region without reference pixels as described above.
[00186] Other non-directional modes than those described above may be included additionally. In the present disclosure, linear directional modes and non-directional, DC and planar modes have been mainly described. However, they may be Petition 870260034713, dated 04 / 14 / 2026, page 56 / 109 46 / 86 modifications were made to the modes.
[00187] The prediction modes illustrated in Figure 5 can be fixedly supported regardless of block sizes. Furthermore, the prediction modes supported according to block sizes may be different from those in Figure 5.
[00188] For example, the number of candidate prediction mode groups can be adaptive (e.g., although the angle between each two adjacent prediction modes is equal, the angle can be defined differently, such as 9, 17, 33, 65, or 129 directional modes). Alternatively, the number of candidate prediction mode groups can be fixed, but with a different configuration (e.g., one directional mode angle and one non-directional mode type).
[00189] Furthermore, the prediction modes in Figure 5 can be fixedly supported independently of the block types. Additionally, the prediction modes supported according to the block types may be different from those in Figure 5.
[00190] For example, the number of prediction mode candidates can be adaptive (e.g., more or fewer prediction modes can be derived in the horizontal or vertical direction according to the width-to-height ratios of the blocks). Alternatively, the number of prediction mode candidates can be fixed, but with different configurations (e.g., the prediction modes can be derived more elaborately along the horizontal or vertical direction according to the width-to-height ratios of the blocks).
[00191] Alternatively, a larger number of prediction modes can be supported for a longer side of a block, while a smaller number of prediction modes can be supported for a shorter side of the block. Regarding a prediction mode range on the longer side of the block, modes located to the right of mode 66 (for example, modes at angles of +45 degrees or more from mode 50, such as mode 67 to mode 80) or Petition 870260034713, dated 04 / 14 / 2026, page 57 / 109 47 / 86 modes located to the left of mode 2 (for example, modes at angles of -45 degrees or less from mode 18, such as mode -1 to mode -14) may be supported. This can be determined according to the width-to-height ratio of the block, and the opposite situation may also be possible.
[00192] Although fixedly supported prediction modes (independent of any encoding / decoding factor), such as those in Figure 5, are mainly described in this disclosure, adaptively supported prediction modes according to an encoding configuration can also be configured.
[00193] Prediction modes can be classified based on horizontal and vertical modes (modes 18 and 50) and some diagonal modes (upright diagonal mode 2, downright diagonal mode 34, downleft diagonal mode 66, and so on). This classification can be based on some directionality (or angles such as 45 degrees, 90 degrees, and so on).
[00194] The modes located at both ends of the directional modes (modes 2 and 66) can serve as reference modes for the classification of prediction modes, which is possible when the intra-prediction modes are configured as illustrated in Figure 5. That is, when the prediction modes are configured adaptively, the reference modes can be changed. For example, mode 2 can be replaced by a mode with an index less than or greater than 2 (e.g., -2, -1, 3, 4, or similar), or mode 66 can be replaced by a mode with an index less than or greater than 66 (e.g., 64, 66, 67, 68, or similar).
[00195] In addition, additional prediction modes related to a color component (color copy mode and color mode) may be included in the candidate prediction mode group. The color copy mode may refer to a related prediction mode. Petition 870260034713, dated 04 / 14 / 2026, pp. 58 / 109 48 / 86 refers to a method of obtaining data to generate a prediction block from a region located in another color space, and the color mode may refer to a prediction mode related to a method of obtaining a prediction mode from a region located in another color space.
[00196] Figure 6 is an exemplary diagram illustrating a reference pixel configuration used for intra-prediction according to an embodiment of the present disclosure. The size and shape M x N of a prediction block can be obtained through the block divider.
[00197] Although it may be typical to perform intra-prediction on a prediction block basis, intra-prediction can also be performed on an encoding block basis or a transform block according to the block divider configuration. After verifying the block information, the reference pixel configuration unit can set reference pixels for use in predicting a current block. Reference pixels can be managed in temporary memory (e.g., an array, a primary array, a secondary array, or similar). Reference pixels can be generated and removed in each intra-prediction process for a block, and the size of the temporary memory can be determined according to the reference pixel configuration.
[00198] In this example, it is assumed that the left, top, top-left, top-right, and bottom-left blocks of a current block are used for the prediction of the current block. However, the present disclosure is not limited to this, and a group of block candidates from a different configuration may be used for the prediction of the current block. For example, a group of neighboring block candidates for reference pixels may be determined based on a Z-raster or scan, and some candidates may be removed from the candidate group according to a scan order, or another group of block candidates. Petition 870260034713, dated 04 / 14 / 2026, pp. 59 / 109 49 / 86 (for example, the right, bottom, bottom right blocks) can still be included.
[00199] Furthermore, if a prediction mode, such as a color copy mode, is supported, some region of a different color space can be used for prediction of the current block. Therefore, the region can also be considered for reference pixels.
[00200] Figure 7 is a conceptual diagram illustrating neighboring blocks for a target block for intra-prediction according to an embodiment of the present disclosure. Specifically, the drawing on the left of Figure 7 illustrates neighboring blocks for a current block in a current color space, and the drawing on the right of Figure 7 illustrates a corresponding block in another color space. For convenience of description, the following description will be given on the assumption that blocks neighboring a current block in a current color space are a basic reference pixel configuration.
[00201] As illustrated in Figure 6, neighboring pixels in the left, top, top left, top right, and bottom left blocks (Ref_L, Ref_T, Ref_TL, Ref_TR, and Ref_BL in Figure 6) can be configured as reference pixels used for predicting the current block. Although reference pixels are generally pixels closest to the current block in neighboring blocks, as indicated by the reference character a in Figure 6 (referred to as a reference pixel line), other pixels (pixels b in Figure 6 and pixels in other outer lines) may also be available as reference pixels.
[00202] Pixels neighboring the current block can be classified into at least one reference pixel line. The pixels closest to the current block can be denoted by ref_0 (e.g., pixels spaced from the boundary pixels of the current block by a distance of 1, p(-1, -1) ap(2m-1, -1) ep(-1,0) ap(-1,2n-1)), the second closest pixels can be denoted by ref_1 (e.g., pixels spaced from Petition 870260034713, dated 04 / 14 / 2026, pp. 60 / 109 50 / 86 of the current block's boundary pixels are denoted by a distance of 2, p (2, -2) ap (2m, -2) ep (-2, -1) ap (-2,2n)), and the nearest third pixels are denoted by ref_2 (e.g., pixels spaced from the current block's boundary pixels by a distance of 3, p (-3, -3) ap (2m + 1, -3) ep (-3, -2) ap (3, 2n + 1)). That is, the reference pixel lines can be defined according to the distances between the current block's boundary pixels and neighboring pixels.
[00203] N or more reference pixel lines may be supported, and N may be an integer equal to or greater than 1, such as 1 to 5. Generally, reference pixel lines are sequentially included in a candidate reference pixel line group in increasing order of distances. However, the present disclosure is not limited to this. For example, when N is 3, the candidate group may include reference pixel lines sequentially, such as<ref_0, ref_1, ref_2> It is also possible to configure the candidate group non-sequentially, such as<ref_0, ref_1, ref_3> or<ref_0, ref_2, ref_3> Or configure the candidate group without the nearest reference pixel line.
[00204] The prediction can be performed using all or part (one or more) of the reference pixel lines in the candidate group.
[00205] For example, one of a plurality of reference pixel lines can be selected according to an encoding / decoding configuration, and intra-prediction can be performed using the reference pixel line. Alternatively, two or more of the plurality of reference pixel lines can be selected and intra-prediction can be performed using the selected reference pixel lines (e.g., by weighted average data from the reference pixel lines).
[00206] A reference pixel line can be selected Petition 870260034713, dated 04 / 14 / 2026, pp. 61 / 109 51 / 86 implicitly or explicitly. For example, implicit selection implies that a reference pixel line is selected according to an encoding / decoding configuration defined by one or more factors in combination, such as an image type, a color component, and a block size / shape / position. Explicit selection implies that this reference pixel line selection information can be generated at the block level.
[00207] Although the present disclosure is described in the context of performing intra-prediction using the nearest reference pixel line, it should be understood that the various embodiments described subsequently can be implemented in the same or similar manner when a plurality of reference pixel lines is used.
[00208] For example, a configuration in which information is implicitly determined by consideration of the use of the nearest reference pixel line alone can be supported for sub-block intra-prediction as described later. That is, intra-prediction can be performed on a sub-block basis, using a predefined reference pixel line, and the reference pixel line can be implicitly selected. The reference pixel line can be, but is not limited to, the nearest reference pixel line.
[00209] Alternatively, a reference pixel line can be adaptively selected for sub-block intra-prediction, and multiple reference pixel lines including the nearest reference pixel can be selected to perform sub-block intra-prediction. That is, intra-prediction can be performed on a sub-block basis, using a reference pixel line determined in consideration of various encoding / decoding factors, and the reference pixel line can be selected implicitly or explicitly.
[00210] According to this disclosure, the unit of Petition 870260034713, dated 04 / 14 / 2026, pp. 62 / 109 The 52 / 86 reference pixel configuration for intra-prediction may include a reference pixel generator, a reference pixel interpolator, and a reference pixel filter unit. The reference pixel configuration unit may include all or part of the above components.
[00211] The reference pixel configuration unit can distinguish available pixels from unavailable pixels by checking their reference pixel availability. When a reference pixel satisfies at least one of the following conditions, the reference pixel is determined to be unavailable.
[00212] For example, if at least one of the following conditions is met: the reference pixel is located on an image boundary; the reference pixel does not belong to the same partition unit as the current block (for example, a unit that does not allow mutual referencing, such as a slice or part. However, a unit that allows mutual referencing is an exception, despite being a slice or part); and the reference pixel has not been fully encoded / decoded, the reference pixel can be determined as unavailable. That is, if none of the above conditions are met, the reference pixel can be determined as available.
[00213] The use of a reference pixel may be restricted by an encoding / decoding configuration. For example, although a reference pixel is determined to be available according to the conditions above, the use of the reference pixel may be restricted depending on whether constrained intra-prediction is performed (e.g., indicated by constrained_intra_pred_flag). Constrained intra-prediction may be performed when the use of a block reconstructed by reference to another image is prohibited for the purposes of robust encoding / decoding against errors due to an external factor, such as a communication environment. Petition 870260034713, dated 04 / 14 / 2026, pp. 63 / 109 53 / 86
[00214] When constrained intra-prediction is disabled (for example, constrained_intra_pred_flag = 0 for image type I or image type P or B), all candidate reference pixel blocks may be available.
[00215] Conversely, when constrained intra-prediction is enabled (e.g., constrained_intra_pred_flag = 1 for image type P or B), it can be determined whether to use a candidate reference pixel block according to an encoding mode (Intra or Inter). However, this condition can be defined according to several other encoding / decoding factors.
[00216] Since the reference pixels are in one or more blocks, the reference pixels can be classified into three types according to the availability of the reference pixel: fully available, partially available, and all unavailable. In the other cases, except for fully available, the reference pixels can be filled or generated in the position of an unavailable candidate block.
[00217] When a reference pixel candidate block is available, the pixels in the corresponding positions can be included in a reference pixel memory for the current block. The pixel data of the pixels can be copied as is or can be included in the reference pixel memory after processes such as reference pixel filtering and reference pixel interpolation. Conversely, when the reference pixel candidate block is not available, the pixels obtained by the reference pixel generation process can be included in the reference pixel memory of the current block.
[00218] Examples of generating reference pixels at the position of an unavailable block using various methods will be described below.
[00219] For example, a reference pixel can be generated using an arbitrary pixel value. The arbitrary pixel value Petition 870260034713, dated 04 / 14 / 2026, pp. 64 / 109 54 / 86 can be one of the pixel values within a pixel value range (for example, a pixel value range based on a bit depth or a pixel value range based on the pixel distribution of the corresponding image) (for example, the minimum, maximum, or median value of the pixel value range). Specifically, this example may be applicable when an entire reference pixel candidate block is not available.
[00220] Alternatively, a reference pixel can be generated from a region where image encoding / decoding has been completed. Specifically, the reference pixel can be generated from at least one available block adjacent to the unavailable block. At least one extrapolation, interpolation, or copy can be used in generating the reference pixel.
[00221] After the reference pixel interpolator completes the reference pixel setup, the reference pixel interpolator can generate a fractional reference pixel by linear interpolation between reference pixels. Alternatively, the reference pixel interpolation process can be performed after a reference pixel filtering process described later.
[00222] Interpolation is not performed in horizontal modes, vertical modes, and some diagonal modes (e.g., modes at 45 degrees from the vertical / horizontal line, such as the right-up diagonal, right-down diagonal, and left-down diagonal modes corresponding to modes 2, 34, and 66 in Figure 5), non-directional modes, color copy mode, and so on. In other modes (the other diagonal modes), the interpolation process can be performed.
[00223] Depending on a prediction mode (e.g., the directionality of the prediction mode, dy / dx, and so on) and the positions of a reference pixel and a prediction pixel, Petition 870260034713, dated 04 / 14 / 2026, pp. 65 / 109 55 / 86 the position of a pixel to be interpolated (i.e., a fractional unit to be interpolated, ranging from 1 / 2 to 1 / 64) can be determined. In this case, a filter (for example, the same filter is assumed in an equation used to determine a filter coefficient or the length of a filter derivation, but a filter for which only one coefficient is adjusted according to a fractional precision such as 1 / 32, 7 / 32 or 19 / 32 is assumed) can be applied, or one of a plurality of filters (for example, filters for which different equations are used to determine a filter coefficient or the length of a filter derivation is assumed) can be selected and applied according to the fractional unit.
[00224] In the first case, whole pixels can be used as inputs for fractional pixel interpolation, while in the latter case, an input pixel is different at each step (for example, a whole pixel is used for a 1 / 2 unit, and a whole pixel and a 1 / 2 unit pixel are used for a 1 / 4 unit). However, the present disclosure is not limited to these and will be described in the context of the first case.
[00225] Fixed filtering or adaptive filtering can be performed for reference pixel interpolation. Fixed filtering or adaptive filtering can be determined according to an encoding / decoding configuration (e.g., one or more image types, a color component, a block position / size / shape, a block's width-to-height ratio, and a prediction mode).
[00226] In fixed filtering, reference pixel interpolation can be performed using one filter, while in adaptive filtering, reference pixel interpolation can be performed using one of a plurality of filters.
[00227] In adaptive filtering, one of the plurality of filters can be implicitly or explicitly determined according to an encoding / decoding configuration. The filters can Petition 870260034713, dated 04 / 14 / 2026, pp. 66 / 109 56 / 86 includes a 4-lead DCT-IF filter, a 4-lead cubic filter, a 4-lead Gaussian filter, a 6-lead Wiener filter, and an 8-lead Kalman filter. A group of supported filter candidates can be defined differently (e.g., filter types are partially the same or different, and filter lead lengths are short or long) according to a color component.
[00228] As the reference pixel filter unit reduces the remaining degradation in the encoding / decoding process, filtering can be performed for reference pixels in order to increase prediction accuracy. The filters used can be, but are not limited to, low-pass filters. It can be determined whether filtering should be applied according to an encoding / decoding configuration (derivable from the previous description). Furthermore, when filtering is applied, fixed filtering or adaptive filtering can be used.
[00229] Fixed filtering means that reference pixel filtering is not performed or reference pixel filtering is applied using a filter. Adaptive filtering means that the application of filtering is determined according to an encoding / decoding configuration, and when two or more filter types are supported, one of the filter types can be selected.
[00230] For filter types, a plurality of filters differentiated from each other by filter coefficients, filter derivation lengths, and so on can be supported, such as a 3-derivative filter of [1, 2, 1] / 4 and a 5-derivative filter of [2, 3, 6, 3, 2] / 16.
[00231] The reference pixel interpolator and the reference pixel filter unit described in relation to the reference pixel setup step may be necessary components to improve prediction accuracy. The two processes can be performed independently or in conjunction. Petition 870260034713, dated 04 / 14 / 2026, pp. 67 / 109 57 / 86 combination (i.e., in a filtration).
[00232] The prediction block generator can generate a prediction block in at least one prediction mode, and reference pixels can be used based on the prediction mode. Reference pixels can be used in one method (directional modes), such as extrapolation, or one method (non-directional modes), such as interpolation, averaging (DC), or copying.
[00233] The prediction mode decision unit performs a selection process of a best mode from a group of a plurality of prediction mode candidates. In general, the best mode can be determined in terms of encoding cost, using a distortion rate scheme in which block distortion (e.g., distortion, sum of absolute difference (SAD), and sum of squared difference (SSD) of the current block and a reconstructed block) and the number of bits generated according to the mode are considered. A prediction block generated based on the prediction mode determined in the process described above can be transmitted to the subtraction unit and the addition unit.
[00234] All prediction modes from the candidate prediction mode group can be searched in order to determine the best prediction mode, or the best prediction mode can be selected in a different decision process to reduce computational volume / complexity. For example, some modes with good performance in terms of image quality deterioration are selected from all intra-prediction mode candidates in a first step, and the best prediction mode can be selected, taking into account the number of bits generated as well as the image quality deterioration of the modes selected in the first step, in a second step. In addition to this method, several other methods for determining a best prediction mode with reduced computational volume / complexity can be applied. Petition 870260034713, dated 04 / 14 / 2026, pp. 68 / 109 58 / 86
[00235] Additionally, although the prediction mode decision unit can generally be included only in the encoder, it can also be included in the decoder according to an encoding / decoding configuration, for example, when model matching is included as a prediction method or an intra-prediction mode is derived from a region neighboring the current block. In the latter case, it can be understood that a method of implicitly obtaining a prediction mode in the decoder is used.
[00236] The prediction mode encoder can encode the prediction mode selected by the prediction mode decision unit. Information about the prediction mode index in the prediction mode candidate group can be encoded, or the prediction mode can be predicted and information about the prediction mode can be encoded. The first method can be applied to, but is not limited to, a luminance component, and the latter method can be applied to, but is not limited to, a chrominance component.
[00237] When a prediction mode is predicted and then encoded, the prediction value (or prediction information) of the prediction mode can be referred to as a most likely mode (MMP). MMPs can include one or more prediction modes. The number k of MMPs can be determined according to the number of candidate prediction mode groups (k is an integer equal to or greater than 1, such as 1, 2, 3, or 6). When there is a plurality of prediction modes as MMPs, they can be referred to as a candidate MMP group.
[00238] The MPM candidate group can be supported under a fixed configuration, or under an adaptive configuration according to various encoding / decoding factors. In an example of an adaptive configuration, a candidate group configuration can be determined according to which reference pixel layer is used among a plurality of Petition 870260034713, dated 04 / 14 / 2026, pp. 69 / 109 59 / 86 reference pixel layers and whether intra-prediction is performed at the block level or at the sub-block level. For the sake of description, it is assumed that a group of MPM candidates is configured under a configuration, and it should be understood that not only the MPM candidate group, but also other intra-prediction candidate groups can be configured adaptively.
[00239] MPM is a supported concept for efficiently encoding a prediction mode, and a group of candidates can be configured with prediction modes having a high probability of actually being used as a prediction mode for the current block.
[00240] For example, the MPM candidate group may include predefined prediction modes (or statistically frequent prediction modes, the DC mode, the planar mode, the vertical modes, the horizontal modes, or some diagonal modes) and neighboring block prediction modes (left block, top block, top left block, top right block, bottom left block, and so on). The neighboring block prediction modes can be obtained from L0 to L3 (left block), T0 to T3 (top block), TL (top left block), R0 to R3 (top right block), and B0 to B3 (bottom left block) in Figure 7.
[00241] If the MPM candidate group can be formed from two or more sub-block positions (e.g., L0 and L2) in a neighboring block (e.g., the left block), the prediction modes of the corresponding block can be configured in the candidate group according to predefined priorities (e.g., L0-L1-L2). Alternatively, when the MPM candidate group cannot be configured from two or more sub-block positions, the prediction mode of a sub-block in a predefined position (e.g., L0) can be configured in the candidate group. Specifically, the prediction modes in positions L3, T3, TL, R0, and B0 in neighboring blocks can be Petition 870260034713, dated 04 / 14 / 2026, pp. 70 / 109 60 / 86 selected as neighboring block prediction modes and included in the MPM candidate group. The above description is for a case where neighboring block prediction modes are configured in a candidate group, which should not be interpreted as limiting the present disclosure. It is assumed that a prediction mode in a predefined position is configured in a candidate group in the following example.
[00242] When one or more prediction modes are included in the MPM candidate group, a mode derived from the one or more previously included prediction modes may be additionally configured in the MPM candidate group. Specifically, when a k-th mode (directional mode) is included in the MPM candidate group, a mode differentiable from the k-th mode (a mode spaced from the k-th mode by a distance of +a or -b where each of a and b is an integer equal to or greater than 1, such as 1, 2, or 3), may be additionally included in the MPM candidate group.
[00243] Modes can be prioritized to configure the MPM candidate group. The MPM candidate group can be configured to include prediction modes in the order of a neighboring block's prediction mode, a predefined prediction mode, and a derived prediction mode. The MPM candidate group configuration process can be completed by populating a maximum number of MPM candidates according to the priorities. In the above process, if a prediction mode is identical to a previously included prediction mode, the prediction mode may not be included in the MPM candidate group, and the next priority candidate may be taken and subject to redundancy checking.
[00244] The following description is given on the assumption that the MPM candidate group includes 6 prediction modes.
[00245] For example, the group of MPM candidates can be formed in the order LT-TL-TR-BL-Planar-DC-Vertical-Horizontal Petition 870260034713, dated 04 / 14 / 2026, pp. 71 / 109 61 / 86 Diagonal. The prediction mode for a neighboring block can be included with priority in the MPM candidate group, and then a predefined prediction mode can be configured additionally in this case.
[00246] Alternatively, the MPM candidate group can be formed in the order LT-Planar-DC-<L + 1> - <l-1> -<T + 1>- <t1>-Vertical-Horizontal-Diagonal. In this case, the prediction modes of some neighboring blocks and some of the predefined prediction modes can be included with priority, and a derived mode on the assumption that a prediction mode in a direction similar to that of a neighboring block will be generated and some of the predefined prediction modes can be included additionally.
[00247] The examples above are only a part of the MPM candidate group configurations. This disclosure is not limited to them and various modification examples may be available.
[00248] The MPM candidate group can be represented by binarization, such as unary binarization or truncated Rice binarization based on indices within the candidate group. That is, short bits can be allocated to a candidate with a small index and long bits can be allocated to a candidate with a large index, to represent mode bits.
[00249] Modes that are not included in the MPM candidate group can be classified as a non-MPM candidate group. Two or more non-MPM candidate groups can be defined according to an encoding / decoding configuration.
[00250] The following description is given on the assumption that 67 modes, including directional and non-directional modes, are included in a prediction mode candidate group, 6 MPM candidates are supported, and thus a non-MPM candidate group includes 61 prediction modes.
[00251] If a non-MPM candidate group is configured, Petition 870260034713, dated 04 / 14 / 2026, pp. 72 / 109 62 / 86 This implies that there are remaining prediction modes that are not included in the MPM candidate group, and therefore an additional candidate group setup process is not necessary. Therefore, binarization, such as fixed-length binarization and truncated unary binarization, can be used based on indices within the non-MPM candidate group.
[00252] Assuming that two or more non-MPM candidate groups are configured, the non-MPM candidate groups are classified as non-MPM_A (candidate group A) and non-MPM_B (candidate group B). Candidate group A (p candidates, where p is equal to or greater than the number of MPM candidates) is assumed to include prediction modes that have a higher probability of being the prediction mode of the current block than candidate group B (q candidates, where q is equal to or greater than the number of candidates in candidate group A). Here, a configuration process for candidate group A can be added.
[00253] For example, some equidistant prediction modes (e.g., modes 2, 4, and 6) between the directional modes can be included in candidate group A, or a predefined prediction mode (e.g., a mode derived from a prediction mode included in the MPM candidate group) can be included in candidate group A. The remaining prediction modes after the MPM candidate group configuration and candidate group A configuration can form candidate group B, and an additional candidate group configuration process is not required. Binarization, such as fixed-length binarization and truncated unary binarization, can be used based on indices in candidate group A and candidate group B.
[00254] The above examples are part of cases where two or more groups of non-MPM candidates are formed. This disclosure is not limited to these, and several examples of modification are available. Petition 870260034713, dated 04 / 14 / 2026, pp. 73 / 109 63 / 86
[00255] A process for predicting and encoding a prediction mode will be described below.
[00256] Information (mpm_flag) indicating whether the prediction mode of the current block matches an MPM (or a mode in the MPM candidate group) can be checked.
[00257] When the prediction mode of the current block matches an MPM, the MPM index information (mpm_idx) can be further checked against an MPM setting (one or more settings). Then, the current block encoding process is completed.
[00258] When the prediction mode of the current block does not match any MPM, if there is a non-MPM candidate group configured, the non-MPM index information (remaining_idx) can be checked. Then, the current block encoding process is completed.
[00259] If a plurality of non-MPM candidate groups (two, in this example) is configured, information (non_mpm_flag) indicating whether the prediction mode of the current block matches any prediction mode in candidate group A can be checked.
[00260] If the prediction mode of the current block matches any candidate group A, index information about candidate group A (non_mpm_A_idx) can be checked, and if the prediction mode of the current block does not match any candidate in candidate group A, index information for candidate B (remaining_idx) can be checked. Then, the current block encoding process is completed.
[00261] When the prediction mode candidate group setting is fixed, a prediction mode supported by the current block, a prediction mode supported by a neighboring block, and a predefined prediction mode can use the same prediction number index.
[00262] When configuring candidate group mode Petition 870260034713, dated 04 / 14 / 2026, pp. 74 / 109 64 / 86 prediction is adaptive; the prediction mode supported by the current block, the prediction mode supported by the neighboring block, and the predefined prediction mode can use the same prediction number index or different prediction number indices. With reference to Figure 5, the following description is provided.
[00263] In the prediction mode coding process, a process of unifying (or adjusting) groups of prediction mode candidates to configure a group of MPM or similar candidates can be performed. For example, the prediction mode of the current block can be a prediction mode of a group of prediction mode candidates with mode -5 to mode 61, and the prediction mode of a neighboring block can be a prediction mode in a group of candidates with mode 2 to mode 66. In this case, since a part (mode 66) of the neighboring block's prediction modes may not be supported as a prediction mode for the current block, a process of unifying prediction modes in the prediction mode coding process can be performed.In other words, this process may not be necessary when a fixed intra-prediction mode candidate group configuration is supported, and this process may be necessary when an adaptive intra-prediction mode candidate group configuration is supported, which will not be described in detail in this document.
[00264] Unlike the MPM-based method, coding can be performed by assigning indices to the prediction modes of a group of candidate prediction modes.
[00265] For example, prediction modes are indexed according to their predefined priorities. When a prediction mode is selected as the prediction mode for the current block, the index of the selected prediction mode is hardcoded. This means a case where a group of fixed prediction mode candidates is configured and fixed indices are assigned to the prediction modes. Petition 870260034713, dated 04 / 14 / 2026, pp. 75 / 109 65 / 86
[00266] Alternatively, when the prediction mode candidate group is configured adaptively, the fixed index allocation method may not be suitable. Thus, prediction modes can be indexed according to adaptive priorities. When a prediction mode is selected as the prediction mode for the current block, the selected prediction mode can be encoded. This method can allow effective encoding of a prediction mode because the indices of the prediction modes are changed due to the adaptive configuration of the prediction mode candidate group. That is, adaptive priorities can be aimed at allocating a candidate with a high probability of being selected as the prediction mode for the current block to an index for which short mode bits are generated.
[00267] The following description is based on the assumption that 8 prediction modes including predefined prediction modes (directional and non-directional modes), color copy mode, and color mode are supported in a candidate prediction mode group (a case of a chrominance component).
[00268] For example, it is assumed that four preset modes are supported among the planar, DC, horizontal, vertical and diagonal modes (diagonal down left in this example), one color mode C and three color copy modes CP1, CP2 and CP3. The prediction modes can be indexed basically in the order of preset prediction mode, color copy mode and color mode.
[00269] In this case, the predefined prediction modes, which are directional and non-directional modes, and the color copy mode are prediction modes that are distinguished by prediction methods and therefore can be easily identified. However, the color mode can be a directional mode or a non-directional mode, which likely overlaps with a predefined prediction mode. For example, when the color mode is a vertical mode, the color mode may overlap with a vertical mode. Petition 870260034713, dated 04 / 14 / 2026, pp. 76 / 109 66 / 86 is one of the predefined prediction modes.
[00270] In the case where the number of prediction mode candidates is adaptively adjusted according to an encoding / decoding configuration, when a redundant case exists, the number of candidates can be adjusted (8, -> 7). Alternatively, in the case where the number of prediction mode candidates is kept fixed, when there is a redundant prediction mode, indices can be allocated by adding and considering another candidate. Additionally, the adaptive prediction mode candidate group can be supported even when a variable mode, such as a color mode, is included. Therefore, an adaptive index allocation case can be considered as an example of configuring an adaptive prediction mode candidate group.
[00271] Now, a description will be provided of the adaptive index allocation according to a color mode. It is assumed that the indices are allocated basically in the order of Planar (0)-Vertical (1)-Horizontal (2)-DC (3)-CP1 (4)-CP2 (5)-CP3 (6)-C (7). Furthermore, if the color mode does not match any predefined prediction mode, it is assumed that the index allocation is performed in the order above.
[00272] For example, if the color mode matches one of the predefined prediction modes (planar, vertical, horizontal, and DC modes), a prediction mode corresponding to index 7 of the color mode will be filled. A predefined prediction mode (down left diagonal) is filled at the index (one from 0 to 3) of the corresponding prediction mode. Specifically, when the color mode is a horizontal mode, the indices can be allocated in the order of Planar (0)-Vertical (1)-Down left diagonal (2)-DC (3)-CP1 (4)-CP2 (5)-CP3 (6)-Horizontal (7).
[00273] Alternatively, when the color mode matches one of the predefined prediction modes, the corresponding prediction mode is filled in at index 0, and a prediction mode Petition 870260034713, dated 04 / 14 / 2026, pp. 77 / 109 The preset 67 / 86 (down left diagonal) is filled in at index 7 of the color mode. In this case, if the filled prediction mode is not the existing index 0 (i.e., it is not planar mode), the existing index setting can be adjusted. Specifically, when the color mode is DC mode, indices can be allocated in the order DC (0)-Planar (1)-Vertical (2)Horizontal (3)-CP1 (4)-CP2 (5)-CP3 (6)-Diagonal down left (7).
[00274] The above example is merely a part of adaptive index allocations. This disclosure is not limited to them, and various modification examples may be available. In addition, binarization, such as fixed-length binarization, unary binarization, truncated unary binarization, and truncated Rice binarization, can be used based on the indices in the candidate group.
[00275] Another example of coding implementation by assigning indices to prediction modes belonging to a group of prediction mode candidates will be described.
[00276] For example, prediction modes and prediction methods are classified into a plurality of candidate groups of prediction modes, and an index is assigned to a prediction mode belonging to a corresponding candidate group and then coded. In this case, the coding of the candidate group selection information may precede the index coding. For example, a directional mode, a non-directional mode, and a color mode, which are prediction modes in which prediction is performed in the same color space, may belong to one candidate group (referred to as candidate group S), and a color copy mode, which is a prediction mode in which prediction is performed in a different color space, may belong to another candidate group (referred to as candidate group D).
[00277] The following description is based on the assumption that there are 9 prediction modes including predefined prediction modes, one Petition 870260034713, dated 04 / 14 / 2026, pp. 78 / 109 68 / 86 color copy mode and a color mode are supported in a group of candidate prediction modes (a case of a chrominance component).
[00278] For example, it is assumed that four predefined prediction modes are supported from among the planar, DC, horizontal, vertical and diagonal modes, a color mode C, and four color copy modes CP1, CP2, CP3 and CP4 are supported. The candidate group S may include 5 candidates being the predefined prediction modes and the color mode, and the candidate group D may include 4 candidates being the color copy modes.
[00279] Candidate group S is an example of a candidate group with an adaptively configured prediction mode. An example of adaptive index allocation was described above and therefore will not be described in detail here. Since candidate group D is an example of a fixed prediction mode candidate group, a fixed index allocation method can be used. For example, the indices can be assigned in the order CP1 (0)-CP2 (1)-CP3 (2)-CP4 (3).
[00280] Binarization such as fixed-length binarization, unary binarization, truncated unary binarization, and truncated Rice binarization can be used based on indices within the candidate group. The present disclosure is not limited to the above example, and several modification examples may also be available.
[00281] A candidate group, such as an MPM candidate group for prediction mode coding, can be configured at the block level. Alternatively, the process of configuring a candidate group can be omitted, and a predetermined candidate group or a candidate group obtained from multiple methods can be used. This can be a configuration compatible with the goal of reducing complexity.
[00282] In Example 1, a predefined group of candidates can be used, or one from a plurality of groups of candidates. Petition 870260034713, dated 04 / 14 / 2026, pp. 79 / 109 Predefined 69 / 86 groups can be used according to an encoding / decoding configuration. For example, in the case of an MPM candidate group, a predefined candidate group of, for example, Planar-DC-Vertical-Horizontal-Diagonal Down Left (66 in Figure 5)-Diagonal Down Right (34 in Figure 5) can be used. Alternatively, it may be possible to apply a candidate group configured when neighboring blocks are all unavailable, between MPM candidate group configurations.
[00283] In Example 2, a group of candidates for a block that has been fully encoded can be used. The encoded block can be selected based on an encoding order (a predetermined scan scheme, such as z-scan, vertical scan, horizontal scan, or similar), or from among the blocks neighboring the current block, such as the left, top, top left, top right, and bottom left blocks. However, neighboring blocks can be limited to blocks in the partition unit positions that can be mutually referenced with the current block (e.g., partition units with properties that can be referenced even if the blocks belong to different slices or parts, such as different parts belonging to the same part group).If a neighboring block belongs to a partition unit that does not allow referencing (for example, when each block belongs to a different slice or part and has properties that cannot be mutually referenced, for example, when each block belongs to a different block group), the block at that position may be excluded from candidates.
[00284] In this case, neighboring blocks can be determined according to the state of the current block. For example, when the current block is square, a group of available candidate blocks can be borrowed (or shared) from among the Petition 870260034713, dated 04 / 14 / 2026, pp. 80 / 109 70 / 86 blocks are located according to a predetermined first priority. Alternatively, when the current block is rectangular, a group of available candidate blocks can be borrowed from among the blocks located according to a predetermined second priority. The second or third priority can be supported according to the width-to-height ratio of the block. To select candidate blocks to be borrowed, priorities can be set in various configurations, such as top-left-top-right-bottom-left-top-left, or top-left-top-left-top-right-bottom-left. In this case, all first through third priorities can have the same configuration or different configurations, or a portion of the priorities can have the same configuration.
[00285] A group of candidates for the current block can be borrowed from neighboring blocks, either at or above a predetermined threshold value, or only at or below a predetermined threshold value. The threshold value can be defined as a minimum or maximum block size that allows borrowing from a group of candidates. The threshold value can be represented as the width (W) of a block, the height (H) of the block, W x H, W * H, or similar, where each of W and H can be an integer equal to or greater than 4, 8, 16, or 32.
[00286] In Example 3, a common candidate group can be formed from a top block being a predetermined group of blocks. The common candidate group can be used for lower blocks belonging to the top block. The number of lower blocks can be an integer equal to or greater than 1, such as 1, 2, 3, or 4.
[00287] In this case, the largest block can be an ancestor block (including a parent block) of the lower blocks, or it can be an arbitrary group of blocks. An ancestor block can refer to Petition 870260034713, dated 04 / 14 / 2026, pp. 81 / 109 71 / 86 to a pre-partitioning block in a previous step (a partition depth difference of 1 or more) during partitioning to obtain lower blocks. For example, the parent block of sub-blocks 0 and 1 of 4N x 2N in candidate b of Figure 4 may be 4N x 4N of candidate a in Figure 4.
[00288] The candidate group for the upper block can be borrowed (or shared) from the lower blocks, only at or above a first predetermined threshold value or only at or below a second predetermined threshold value.
[00289] The limit value can be defined as the minimum size or maximum size of a block for which borrowing from the candidate group is allowed. Only one or both limit values can be supported, and the limit value can be expressed as the width W, height H, W x H, W * H, or similar of the block, where each of W and H is an integer of 8, 16, 32, 64 or higher.
[00290] Conversely, a group of candidates for a lower block can be borrowed from a higher block, only at or above a third predetermined threshold value. Alternatively, a group of candidates for a lower block can be borrowed from a higher block, only at or below a fourth predetermined threshold value.
[00291] In this case, the limit value can be defined as the minimum or maximum size of a block for which borrowing from the candidate group is allowed. Only one or both limit values can be supported, and the limit value can be expressed as the width W, height H, W x H, W * H, or similar of the block, where each of W and H is an integer of 4, 8, 16, 32 or higher.
[00292] In this case, the first limit value (or the second limit value) can be equal to or greater than the third limit value (or the fourth limit value). Petition 870260034713, dated April 14, 2026, pp. 82-109 72 / 86
[00293] Candidate borrowing (or sharing) can be used selectively based on any of the modalities described above, and candidate group borrowing can be used selectively based on a combination of at least two of the first to third modalities. In addition, candidate group borrowing can be used selectively based on any of the detailed configurations of the modalities and can be used selectively according to a combination of one or more of the detailed configurations.
[00294] In addition, information indicating whether a candidate group is borrowed, information about block attributes (size / type / position / width-to-height ratio) involved in borrowing the candidate group, and information about a partition state (a partition scheme, a partition type, a partition depth, and so on) can be explicitly processed. Furthermore, encoding factors, such as an image type and a color component, can act as input variables in a candidate group borrowing configuration. Candidate group borrowing can be performed based on this information and an encoding / decoding configuration.
[00295] The prediction-related information generated by the prediction mode encoder can be transmitted to the encoding unit and included in a bitstream.
[00296] In the video decoding method according to an embodiment of the present disclosure, intra-prediction can be configured as follows. The intra-prediction of the prediction unit can include a prediction mode decoding step, a reference pixel configuration step, and a prediction block generation step. Furthermore, the image decoding apparatus can be configured to include a prediction mode decoder, a reference pixel configuration unit, and a prediction block generator that Petition 870260034713, dated 04 / 14 / 2026, pp. 83 / 109 73 / 86 performs the prediction mode decoding step, the reference pixel configuration step, and the prediction block generation step. Some of the steps described above may be omitted or other steps may be added. The steps may be performed in a different order than the order described above.
[00297] Since the reference pixel configuration unit and the prediction block generator of the image decoding apparatus perform the same functions as their counterparts in the image encoding apparatus, a detailed description of the reference pixel configuration unit and the prediction block generator is not provided here. The prediction mode decoder can perform in reverse the method used in the prediction mode encoder. (Intra-prediction by sub-block)
[00298] Figure 8 illustrates several types of subblock partitioning that can be obtained from a coding block. The coding block can be referred to as a parent block, and a subblock can be a child block. The subblock can be a prediction unit or a transform unit. In this example, it is assumed that a portion of prediction information is shared between subblocks. In other words, a prediction mode can be generated and used in each subblock.
[00299] With reference to Figure 8, the encoding order of the sub-blocks can be determined according to various combinations of sub-block a to sub-block p of Figure 8. For example, a z-scan (left -> right, top -> bottom), vertical scan (top -> bottom), horizontal scan (left -> right), reverse vertical scan (bottom -> top), and reverse horizontal scan (right -> left) can be used.
[00300] The encoding order can be pre-agreed between the image encoder and the image decoder. Alternatively, the encoding order of the sub-blocks can be Petition 870260034713, dated 04 / 14 / 2026, pp. 84 / 109 74 / 86 is determined by taking into account the partitioning direction of the parent block. For example, when the parent block is split horizontally, the encoding order of the sub-blocks can be determined as the vertical scan. When the parent block is split vertically, the encoding order of the sub-blocks can be determined as the horizontal scan.
[00301] When encoding is performed on a subblock basis, the reference data used for prediction can be obtained from a closer position. Since only one prediction mode is generated and shared between subblocks, subblock encoding can be efficient.
[00302] For example, with reference to Figure 8(b), when encoding is performed at the parent block level, the bottom right subblock can be predicted using pixels neighboring the parent block. On the other hand, when encoding is performed at the subblock level, the bottom right subblock can be predicted using pixels closer than the parent block because there are top left, top right and bottom left subblocks reconstructed in an encoding order (Z scan in this example).
[00303] For intra-prediction by means of best partitioning based on image characteristics, a group of candidates can be configured based on one or more partition types with a high probability of occurrence.
[00304] In this example, it is assumed that the partitioning information is generated using an index-based partitioning scheme. A candidate group can be formed with various partition types as follows.
[00305] Specifically, a candidate group can be configured to include N partition types. N can be an integer equal to or greater than 2. The candidate group can include a combination of at least two of the 7 partition types illustrated in Figure 8. Petition 870260034713, dated 04 / 14 / 2026, pp. 85 / 109 75 / 86
[00306] The parent block can be divided into predetermined sub-blocks using selectively any of the plurality of partition types in the candidate group. The selection can be made based on an index signaled by the image encoding device. The index can refer to information specifying the partition type of the parent block. Alternatively, the selection can be made considering the attributes of the parent block in the image decoding device. The attributes can include a position, size, shape, width, width-to-height ratio, a width-to-height ratio, a partition depth, an image type (I / P / B), a color component (e.g., luminance or chrominance), an intra-prediction mode value, whether the intra-prediction mode is a non-directional mode, the angle of the intra-prediction mode, the positions of the reference pixels, and the like.The block can be an encoding block or a prediction block and / or a transform block corresponding to the encoding block. The block's position can mean whether the block is located on the boundary of a predetermined image (or fragment image) of the parent block. The image (or fragment image) can be at least one of an image, a slice group, a part group, a slice, a part, a CTU line, or a CTU, to which the parent block belongs.
[00307] In Example 1, a candidate group, such as {aad} or {aag} from Figure 8, can be configured. The candidate group can be obtained by considering various partition types. In the case of the candidate group {aad}, several binary bits can be allocated to each index (assuming that the indices are allocated in alphabetical order. The same assumption is also made for the following example). [Table 1] Index Box Type 1 Box Type 2 0 00 0 Petition 870260034713, dated 04 / 14 / 2026, pp. 86 / 109 76 / 86 1 01 10 2 10 110 3 11 111
[00308] In Table 1 above, compartment type 1 could be an example of binarization where all possible partition types are considered, and compartment type 2 could be an example of binarization where a bit indicating whether partitioning is performed (the first bit) is allocated first, and when partitioning is performed (the first bit is set to 1), only the unpartitioned candidate is excluded from the available partition types.
[00309] In Example 2, a group of candidates such as {a, c, d} or {a, f, g} from Figure 8 can be formed, which can be achieved by considering partitioning in a specific direction (horizontal or vertical direction). In the case of the candidate group {a, f, g}, several binary bits can be allocated to each index. [Table 2] Compartment type index 1 Compartment type 2 Compartment type 3 0 0 10 10 1 10 0 11 2 11 11 0
[00310] Table 2 above is an example of binarization allocated based on the attributes of a block, specifically, an example of binarization performed in consideration of a block shape. In bin type 1, when a parent block is square, 1 bit is allocated when the parent block is not divided and 2 bits are allocated when the parent block is divided in the horizontal or vertical direction.
[00311] In compartment type 2, when the parent block is shaped into a horizontally elongated rectangle, 1 bit is allocated when the parent block is split horizontally and 2 bits are Petition 870260034713, dated 04 / 14 / 2026, pp. 87 / 109 77 / 86 allocated for the remaining cases. Bin type 3 can be an example of 1-bit allocation when the parent block is shaped into a vertically elongated rectangle. In bin type 3, 1 bit can be allocated when the parent block is divided in the vertical direction, and 2 bits can be allocated in the remaining cases. This can be an example of shorter bit allocation when it is determined that partitioning will likely occur more in the shape of the parent block. However, the present disclosure is not limited to this, and examples of modifications including the opposite case may also be available.
[00312] In Example 3, a candidate group such as {a, c, d, f, g} from Figure 8 can be configured, which may be another example of a candidate group configuration where partitioning in a specific direction is considered. [Table 3] Compartment Type Index 1 Compartment Type 2 0 0 0 1 100 100 2 101 110 3 110 101 4 111 111
[00313] In Table 3, a flag (the first bit) indicating whether partitioning is performed is allocated first, and then a flag identifying the number of partitions is allocated next in compartment type 1. If the flag (second bit) identifying the number of partitions is set to 0, the number of partitions can be 2, and if the flag (second bit) identifying the number of partitions is set to 1, the number of partitions can be 4. Additionally, the subsequent flag can indicate a partitioning direction. If the subsequent flag is 0, this can indicate horizontal partitioning, and if the subsequent flag is 1, this can indicate vertical partitioning. The above description is just an example. Petition 870260034713, dated 04 / 14 / 2026, pp. 88 / 109 78 / 86 and the present disclosure is not limited to it. Therefore, various example modifications, including an opposite configuration, may be available.
[00314] Partitioning information may be supported in a general situation, but may be modified to a different configuration depending on the encoding / decoding environment. That is, it is possible to support an exceptional configuration for partitioning information or replace a partition type represented by partitioning information with another partition type.
[00315] For example, there may be a partition type that is not supported according to the block attributes. Since the block properties were mentioned in the previous example, their detailed description is not provided here. The block can be at least one of a parent block or a sub-block.
[00316] For example, it is assumed that the supported partition types are {a, f, g} in Figure 8 and that the parent block size is 4M x 4N. If some partition types are not supported due to a minimum block value condition in the image and the existence of the parent block at the boundary of a predetermined image (or fragment image), several processes can be performed. For example, below, it is assumed that the minimum value for the block width in the image is 2M and the minimum value for the block area is 4 * H * N.
[00317] First, a candidate group can be reconfigured by excluding a partition type that cannot be obtained. The candidates available in the existing candidate group can be 4M x 4N, 4M x N, and M x 4N, and the reconfigured candidate group without the unobtainable candidate (4M x N) can include partition types 4M x 4N and 4M x N. In this case, binarization can be performed again on the candidates in the reconfigured candidate group. In this example, 4M x 4N or 4M x N can be selected by a flag (1 bit). Petition 870260034713, dated 04 / 14 / 2026, pp. 89 / 109 79 / 86
[00318] In another example, the candidate group can be reconfigured by replacing the partition type that cannot be obtained with another. The partition type that cannot be obtained may be a vertically oriented partition type (4 partitions). However, it is possible to reconfigure the candidate group by replacing it with another partition shape (e.g., 2M x 4N) that maintains the vertically oriented partition type. This can maintain the flag configuration based on the existing partitioning information.
[00319] As in the example above, a group of candidates can be reconfigured by adjusting the number of candidates or replacing an existing candidate. The example includes a description of some cases, and several modification examples may be available. (Sub-block encoding order)
[00320] It is possible to define an encoding order for multiple sub-blocks, as illustrated in Figure 8. The encoding order can be implicitly determined according to an encoding / decoding configuration. A partition type, an image type, a color component, the size / shape / position of a parent block, the width-to-height ratio of a block, information related to a prediction mode (e.g., an intra-prediction mode, the positions of reference pixels used, and so on), a partitioning state, and so on can be included in the encoding / decoding factors.
[00321] Alternatively, it is possible to explicitly process the encoding order of the sub-blocks. Specifically, a candidate group can be configured to include candidates with a high probability of occurrence according to the partition type, and selection information for one of the candidates can be generated. Therefore, the supported encoding order candidates according to the partition type can be Petition 870260034713, dated 04 / 14 / 2026, pp. 90 / 109 80 / 86 configured adaptively.
[00322] As in the example above, sub-blocks can be encoded in a fixed encoding order. However, an adaptive encoding order can also be applied.
[00323] With reference to Figure 8, many encoding orders can be obtained by ordering aap in various ways. Since the positions and number of sub-blocks obtained can vary according to the partition types, it may be important to define a specialized encoding order for each partition type. Furthermore, an encoding order is not required for the partition type illustrated in Figure 8(a) where sub-block partitioning is not performed. Therefore, when information about an encoding order is explicitly processed, the partitioning information can first be checked and then information about an encoding order for sub-blocks can be generated based on the selected partition type information.
[00324] With reference to Figure 8 (c), the vertical scan in which 0 and 1 are applied aaebea and the reverse scan in which 1 and 0 are applied aaeb, respectively, can be supported as candidates, and a 1-bit flag to select one of the scans can be generated.
[00325] Alternatively, referring to Figure 8 (b), z-scan with 0 to 3 applied aad, z-scan rotated 90 degrees to the left, with 1, 3, 0 and 2 applied aaad, reverse z-scan with 3, 2, 1 and 0 applied aaad, z-scan rotated 90 degrees to the right, with 2, 0, 3 and 1 applied aaad can be supported, and a flag of one or more bits can be generated to select one of the scans.
[00326] A case in which the encoding order of the subblocks is implicitly determined will be described below. For convenience of description, an encoding order for the case where the partition types (c) {or (f)} and (d) {or (g)} of the Figure Petition 870260034713, dated 04 / 14 / 2026, pp. 91 / 109 81 / 86 are obtained as described (see Figure 5 for prediction modes).
[00327] For example, when intraprediction modes are provided as vertical modes, horizontal modes, diagonal down to the right (modes 19 to 49), diagonal down to the left (mode 51 or higher) and diagonal up to the right (mode 17 or lower), the vertical sweep and horizontal sweep can be defined.
[00328] Alternatively, when the intra-prediction modes are the left-down diagonal modes (mode 51 or more), vertical sweep and reverse horizontal sweep can be defined.
[00329] Alternatively, when the intra-prediction modes are the right-up diagonal modes (mode 17 or lower), the reverse vertical sweep and horizontal sweep can be defined.
[00330] In the examples above, a coding order can be based on a predetermined scan order. In this case, the predetermined scan order can be a z-scan, vertical scan, and horizontal scan. Alternatively, the scan order can be determined according to the positions and distances of the referenced pixels during intra-prediction. For this purpose, reverse scanning can be additionally considered.
[00331] Figure 9 is an exemplary diagram illustrating reference pixel regions used for intra-prediction modes according to an embodiment of the present disclosure. With reference to Figure 9, it can be noted that the reference regions are shaded according to the directions of the prediction modes.
[00332] Figure 9 (a) illustrates an example of dividing a region adjacent to a parent block into the left, top, top left, top right, and bottom left regions. Figure 9 (b) illustrates the referenced left and bottom left regions. Petition 870260034713, dated April 14, 2026, pp. 92-109 82 / 86 in a diagonal up-to-the-right mode, Figure 9(c) illustrates the left region referenced in a horizontal mode, and Figure 9(d) illustrates the left, top, and top-left regions referenced in a diagonal down-to-the-right mode. Figure 9(e) illustrates the top region referenced in a vertical mode, and Figure 9(f) illustrates the top and top-right regions referenced in a diagonal down-to-the-left mode.
[00333] When prediction is performed using neighboring reference pixels (or pixels reconstructed from a sub-block), predefining the encoding order of the sub-blocks can advantageously avoid the need to separately signal related information. Several partition types are available, and therefore the following examples can be provided based on the referenced regions (or prediction modes) based on the partition types.
[00334] Figure 10 illustrates an example of available coding orders in right-up diagonal modes according to an embodiment of the present disclosure. An example where a higher priority is assigned to the left bottom neighboring sub-block can be provided in Figures 10(a) to 10(g).
[00335] Figure 11 illustrates an example of available coding orders in horizontal modes according to an embodiment of the present disclosure. An example where a higher priority is assigned to the left neighboring subblock can be provided in Figures 11(a) to 11(g).
[00336] Figure 12 illustrates an example of available encoding orders in the diagonal modes down to the right according to an embodiment of the present disclosure. An example where a higher priority is assigned to the upper left neighboring subblock can be provided in Figures 12(a) to 12(g).
[00337] Figure 13 illustrates an example of available coding orders in vertical modes according to a Petition 870260034713, dated 04 / 14 / 2026, pp. 93-109 83 / 86 modality of the present disclosure. An example in which a higher priority is assigned to the upper neighboring subblock can be provided in Figures 13(a) to 13(g).
[00338] Figure 14 illustrates an example of available encoding orders in left-down diagonal modes according to an embodiment of the present disclosure. An example where a higher priority is assigned to the right top neighboring sub-block can be provided in Figures 14(a) to 14(g).
[00339] In the examples above, an encoding order is defined from a fully encoded / decoded neighboring region, and other modification examples are also available. In addition, various configurations may be possible in which an encoding order is defined according to other encoding / decoding factors.
[00340] Figure 15 is an exemplary diagram illustrating the coding orders in consideration of intraprediction modes and partition types according to an embodiment of the present disclosure. Specifically, a sub-block coding order can be implicitly determined for each partition type according to an intraprediction mode. Furthermore, an example is described of, in the presence of a partition type that cannot be obtained, reconfiguring a candidate group by replacing the partition type that cannot be obtained with another partition type. For convenience of description, it is assumed that a parent block has a size of 4M x 4N.
[00341] With reference to Figure 15(a), for intra-prediction by sub-block, the parent block can be divided in a 4M x N form. In this example, the reverse vertical scan order can be used. If the 4M x N partition type is not available, the parent block can be divided into 2M x 2N partitions according to a predetermined priority. As the encoding order for this case is illustrated in Figure 15(a), its detailed description is not provided in this document. If the partition type Petition 870260034713, dated 04 / 14 / 2026, pp. 94 / 109 84 / 86 If 2M x 2N is unavailable, the parent block can be divided into 4M x 2N partitions with the next highest priority. As such, a partition type based on a predetermined priority can be supported, and the parent block can be partitioned into sub-blocks accordingly. If all predefined partition types are unavailable, it can be observed that it is impossible to divide the parent block into sub-blocks, and therefore the parent block is hardcoded.
[00342] With reference to Figure 15 (b), for intra-prediction by sub-block, the parent block can be divided in an M x 4N form. As in Figure 15 (a), it is assumed that a coding order is predetermined based on each partition type. This example can be understood as a case of substitution in the order of 2M x 2N and 2M x 4N.
[00343] With reference to Figure 15 (c), for intra-prediction by subblock, the parent block can be divided into 2M x 2N partitions. This example can be understood as a case of replacement in the order of 4M x 2N and 2M x 4N.
[00344] With reference to Figure 15 (d), for intra-prediction by subblock, the parent block can be divided into 4M x N-partitions. This example can be understood as a case of substitution on the order of 2M x 2N and 4M x 2N.
[00345] With reference to Figure 15 (e), for intra-prediction by subblock, the parent block can be divided into M x 4N partitions. This example can be understood as a case of replacement on the order of 2M x 2N and 2M x 4N.
[00346] In the examples above, when one partition type is available, partitioning into another partition type in a predetermined order is supported. Several modification examples are available.
[00347] For example, in the case where the partition types {4M x 4N, M x 4N, 4M x N} are supported, when the M x 4N or 4M x N partition type is not available, this type of Petition 870260034713, dated 04 / 14 / 2026, pp. 95 / 109 The 85 / 86 partition can be replaced by a 2M x 4N or 4M x 2N partition.
[00348] As in the examples above, a sub-block partitioning configuration can be determined according to various encoding / decoding factors. Since the encoding / decoding factors can be derived from the previous description of sub-block partitioning, their detailed description is not provided here.
[00349] Furthermore, when sub-block partitioning is determined, prediction and transformation can be performed as is. As described above, an intra-prediction mode can be determined by the parent block level, and prediction can be performed accordingly.
[00350] Furthermore, transformation and inverse transformation can be configured based on a parent block, and transformation and inverse transformation can be performed at the sub-block level based on the parent block configuration. Alternatively, a related configuration can be determined based on sub-blocks, and transformation and inverse transformation can be performed at the sub-block level according to the configuration. Transformation and inverse transformation can be performed based on one of the above configurations.
[00351] The methods of the present disclosure can be implemented as program instructions executable by various computer means, and stored on a computer-readable medium. The computer-readable medium may include program instructions, data files, and data structures individually or in combination. The program instructions recorded on the computer-readable medium may be specially designed for the present disclosure or known to those skilled in the art of computer software and therefore available.
[00352] Computer-readable media may include a Petition 870260034713, dated 04 / 14 / 2026, pp. 96 / 109 86 / 86 hardware device specially adapted for storing and executing program instructions, such as a read-only memory (ROM), a random access memory (RAM), a flash memory, and the like. The program instructions may include machine language code that is produced by a compiler or high-level language code that can be implemented on a computer by an interpreter. The hardware device described above may be configured to operate as one or more software modules in order to perform operations according to this disclosure and vice versa.
[00353] Furthermore, the method or device described above may be implemented in total or partial combination or separation of its configurations or functions.
[00354] Although the present disclosure has been described above with reference to preferred embodiments of the present disclosure, those skilled in the art will understand that various modifications and variations may be made to the present disclosure without departing from the scope and spirit of the present disclosure. INDUSTRIAL APPLICABILITY
[00355] This disclosure can be used for image encoding / decoding. Petition 870260034713, dated 04 / 14 / 2026, pp. 97 / 109 < / l-1> < / qt> < / altura> < / largura>
Claims
1 / 5 CLAIMS 1. Image decoding method performed by an image decoding apparatus (30), the method characterized by comprising: generating a coding block using tree-based partitioning, the tree-based partitioning comprising dividing a square block into four square blocks having the same size among themselves; generating a plurality of sub-blocks by performing index-based partitioning for the coding block, the index-based partitioning comprising a first partitioning and a second partitioning, the first partitioning divides a 4N x 4M coding block into four identical 4N x M sub-blocks or four identical N x 4M sub-blocks, N being equal to or different from M, and the second partitioning divides a coding block into two equal parts horizontally or vertically; and generating a coding block prediction block by performing intra-prediction for each of the plurality of sub-blocks;generate a residual block from the encoding block; and reconstruct the encoding block based on the prediction block and the residual block; wherein the residual block is generated by decoding information in the residual block included in a bitstream, wherein intra-prediction for each of the plurality of subblocks is performed based on the same intra-prediction mode, and wherein whether or not the first partitioning or the second partitioning should be performed is determined based on the size of the encoding block.
2. Image decoding method, according to claim 1, characterized by further comprising: determining whether index-based partitioning should be performed for the encoding block based additionally on a property of the encoding block.
3. Image decoding method according to claim 2, characterized in that: the encoding block property comprises at least one of an area, width or height of the encoding block.
4. Image decoding method, according to claim 1, characterized in that: a type of index-based partitioning is determined based additionally on a signed index for the encoding block or on a property of the encoding block.
5. Image coding method performed by an image coding device (20), characterized in that it comprises: generating a coding block using tree-based partitioning, the tree-based partitioning comprising dividing a square block into four square blocks having the same size; generating a plurality of sub-blocks by performing index-based partitioning for the coding block, the index-based partitioning comprising a first partitioning and a second partitioning, the first partitioning divides a 4N x 4M coding block into four identical 4N x M sub-blocks or four identical N x 4M sub-blocks, N being equal to or different from M, and the second partitioning divides a coding block into two equal parts horizontally or vertically; and generating a coding block prediction by performing intra-prediction for each of the plurality of sub-blocks;generate a residual block of the encoding block based on the prediction block; and encode the encoding block by encoding the residual block; wherein the encoding block is encoded by encoding information in the residual block into a bit stream, wherein intra-prediction for each of the plurality of subblocks is performed based on the same intra-prediction mode, and wherein whether or not the first partitioning or the second partitioning should be performed is determined based on the size of the encoding block.
6. A non-transient, computer-readable recording medium storing a bitstream that is generated by an image encoding method, the method characterized in that it comprises: generating an encoding block using tree-based partitioning, the tree-based partitioning comprising dividing a square block into four square blocks having the same size; generating a plurality of sub-blocks by performing index-based partitioning for the encoding block, the index-based partitioning comprising a first partitioning and a second partitioning, the first partitioning dividing a 4N x 4M encoding block into four identical 4N x M sub-blocks or four identical N x 4M sub-blocks, N being equal to or different from M, and the second partitioning dividing an encoding block into two equal parts horizontally or vertically;and generate a prediction block of the encoding block by performing intra-prediction for each of the plurality of sub-blocks; generate a residual block of the encoding block based on the prediction block; and encode the encoding block in the bitstream by encoding the residual block; wherein the encoding block is encoded by encoding information in the residual block in the bitstream, wherein the intra-prediction for each of the plurality of sub-blocks is performed based on the same intra-prediction mode, and wherein whether or not the first partitioning or the second partitioning should be performed is determined based on the size of the encoding block.
7. Method of transmitting a bit stream generated by an image encoding method performed by an image encoding device, characterized by the fact that: it generates a coding block using tree-based partitioning, the tree-based partitioning comprising dividing a square block into four square blocks having the same size; it generates a plurality of sub-blocks by performing index-based partitioning for the coding block, the index-based partitioning comprising a first partitioning and a second partitioning, the first partitioning divides a 4N x 4M coding block into four identical 4N x M sub-blocks or four identical N x 4M sub-blocks, N being equal to or different from M, and the second partitioning divides a coding block into two equal parts horizontally or vertically;generate a prediction block of the encoding block by performing intra-prediction for each of the plurality of sub-blocks; generate a residual block of the encoding block based on the prediction block; encode, in the bitstream, the encoding block in the bitstream by encoding the residual block; and transmit the bitstream to an image decoding device; wherein the encoding block is encoded by encoding information in the residual block in the bitstream; Petition 870260034713, dated 04 / 14 / 2026, pp. 101 / 109 5 / 5 wherein the intra-prediction for each of the plurality of sub-blocks is performed based on the same intra-prediction mode, and wherein whether or not the first partitioning or the second partitioning should be performed is determined based on the size of the encoding block. Petition 870260034713, dated 04 / 14 / 2026, pp. 102 / 109;