Image decoding method, image decoding device, image encoding method, and image encoding device
By utilizing filters in the reference luminance and chrominance regions during video encoding and decoding, a chrominance prediction filter is derived, solving the problem of the ineffective utilization of color space component correlation in existing technologies, and achieving more efficient video compression and chrominance prediction results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2026-03-13
AI Technical Summary
Existing video encoding and decoding technologies fail to effectively utilize the correlation between color space components to improve compression efficiency.
By deriving a chromaticity prediction filter based on a reference luminance region and a reference chromaticity region, and using luminance residual samples and chromaticity prediction residual samples for chromaticity prediction reconstruction, the chromaticity prediction effect is enhanced.
It improves compression efficiency in the video encoding and decoding process and enhances the accuracy and quality of chroma prediction.
Smart Images

Figure CN121666752A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an image decoding method, an image decoding apparatus, an image encoding method, and an image encoding apparatus, and more specifically, to image decoding and encoding in a manner that involves: deriving a filter from reference luminance samples and reference chrominance samples in a reference region indicated by the current block; obtaining chrominance prediction residual samples by applying luminance residual samples of the current block to the derived filter; and performing chrominance prediction of the current block by using the chrominance prediction residual samples and the reference chrominance samples in the reference region. Background Technology
[0002] Video pixels are represented in color spaces such as RGB and YCbCr, and codecs such as H.266 Advanced Video Codec (H.264 AVC), High-Efficiency Video Codec (HEVC), and Universal Video Codec (VVC) primarily use the YCbCr color space, which includes the luminance component Y and two chrominance components Cb and Cr. Correlation exists between the components in this color space. For example, there is a correlation between the luminance component Y and the chrominance component Cb, a correlation between the luminance component Y and the chrominance component Cr, and a correlation between the chrominance component Cb and the chrominance component Cr. Therefore, one or more other components can be used to predict other specific components.
[0003] In standard video compression techniques, various prediction methods have been proposed to improve compression efficiency by using the correlation between color components. Summary of the Invention
[0004] Solution to the problem According to embodiments of this disclosure, an image decoding method may include: deriving a filter for chromaticity prediction of current chromaticity samples included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region; obtaining at least one luminance residual sample of the current luminance block including current luminance residual samples corresponding to the current chromaticity samples from a bitstream; and obtaining a first chromaticity sample for the current chromaticity samples by applying the at least one luminance residual sample to the filter. The first chromaticity prediction residual sample and the second chromaticity prediction residual sample are obtained; an enhanced first chromaticity prediction sample is obtained by using the first chromaticity prediction residual sample and the first reference chromaticity sample, and an enhanced second chromaticity prediction sample is obtained by using the second reference chromaticity residual sample and the second chromaticity prediction sample; the first chromaticity residual sample and the second chromaticity residual sample for the current chromaticity sample are obtained from the bitstream; a first chromaticity reconstruction sample is obtained by using the first chromaticity residual sample and the enhanced first chromaticity prediction sample, and a second chromaticity reconstruction sample is obtained by using the second chromaticity residual sample and the enhanced second chromaticity prediction sample, and the current chromaticity sample is reconstructed.
[0005] According to embodiments of this disclosure, an image decoding apparatus may include: a memory storing one or more instructions; and at least one processor configured to operate according to the one or more instructions. The at least one processor may derive a filter for chromaticity prediction of a current chromaticity sample included in the current chromaticity block, based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block, and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region. The at least one processor may obtain from a bitstream at least one luminance residual sample of the current luminance block, including a current luminance residual sample corresponding to the current chromaticity sample. The at least one processor may obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying the at least one luminance residual sample to the filter. The at least one processor may obtain an enhanced first chromaticity prediction sample by using the first chromaticity prediction residual sample and the first reference chromaticity sample, and an enhanced second chromaticity prediction sample by using the second reference chromaticity residual sample and the second chromaticity prediction sample. The at least one processor can obtain a first chroma residual sample and a second chroma residual sample for the current chroma sample from the bitstream. The at least one processor can reconstruct the current chroma sample by obtaining a first chroma reconstructed sample using the first chroma residual sample and an enhanced first chroma prediction sample, and by obtaining a second chroma reconstructed sample using the second chroma residual sample and an enhanced second chroma prediction sample.
[0006] According to embodiments of this disclosure, an image encoding method may include: deriving a filter for chromaticity prediction of current chromaticity samples included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region; generating at least one luminance residual sample of the current luminance block including current luminance residual samples corresponding to the current chromaticity samples based on the original block of the current luminance block and the reference luminance region; and obtaining a first luminance residual sample for the current chromaticity samples by applying the at least one luminance residual sample to the filter. The process involves: obtaining an enhanced first chromaticity prediction sample by using a first chromaticity prediction residual sample and a first reference chromaticity sample; obtaining an enhanced second chromaticity prediction sample by using a second reference chromaticity residual sample and a second chromaticity prediction sample; generating a first chromaticity residual sample based on a first original chromaticity sample and an enhanced first chromaticity prediction sample for the current chromaticity sample; generating a second chromaticity residual sample based on a second original chromaticity sample and an enhanced second chromaticity prediction sample for the current chromaticity sample; and generating a bitstream including at least one luminance residual sample, a first chromaticity residual sample, and a second chromaticity residual sample.
[0007] According to embodiments of this disclosure, an image encoding apparatus may include: a memory storing one or more instructions; and at least one processor configured to operate according to the one or more instructions. The at least one processor may derive a filter for chromaticity prediction of a current chromaticity sample included in the current chromaticity block, based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block, and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region. The at least one processor may generate at least one luminance residual sample of the current luminance block, including a current luminance residual sample corresponding to the current chromaticity sample, based on the original block of the current luminance block and the reference luminance region. The at least one processor may obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying the at least one luminance residual sample to the filter. The at least one processor may obtain an enhanced first chromaticity prediction sample by using the first chromaticity prediction residual sample and the first reference chromaticity sample, and an enhanced second chromaticity prediction sample by using the second reference chromaticity residual sample and the second chromaticity prediction sample. The at least one processor can generate a first chromaticity residual sample based on a first raw chromaticity sample and an enhanced first chromaticity prediction sample for the current chromaticity sample, and generate a second chromaticity residual sample based on a second raw chromaticity sample and an enhanced second chromaticity prediction sample for the current chromaticity sample. The at least one processor can generate a bitstream including at least one luminance residual sample, the first chromaticity residual sample, and the second chromaticity residual sample. Attached Figure Description
[0008] Figure 1 A schematic block diagram of an image decoding apparatus according to an embodiment of the present disclosure is shown.
[0009] Figure 2 This is a flowchart of an image decoding method according to an embodiment of the present disclosure.
[0010] Figure 3 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing the current coding unit to determine at least one coding unit.
[0011] Figure 4 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing a non-square coding unit to determine at least one coding unit.
[0012] Figure 5 This illustrates a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing encoding units based on at least one of block shape information or partition shape pattern information.
[0013] Figure 6 This invention illustrates a method performed by an image decoding device, according to an embodiment of the present disclosure, for determining a specific coding unit from an odd number of coding units.
[0014] Figure 7 The following describes the order in which an image decoding device processes multiple coding units when it determines multiple coding units by dividing the current coding unit, according to an embodiment of the present disclosure.
[0015] Figure 8 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, in which the current encoding unit is determined to be divided into an odd number of encoding units when the encoding units cannot be processed in a specific order.
[0016] Figure 9 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing a first coding unit to determine at least one coding unit.
[0017] Figure 10 The shape into which the second coding unit can be divided is limited when the second coding unit, which has a non-square shape, is determined by the image decoding device when dividing the first coding unit according to an embodiment of the present disclosure, satisfies certain conditions.
[0018] Figure 11 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, in which a square coding unit is divided when the division shape pattern information cannot indicate that the square coding unit is divided into four square coding units.
[0019] Figure 12 The embodiments of the present disclosure illustrate how the processing order among multiple coding units can be changed based on the process of dividing the coding units.
[0020] Figure 13 The present invention illustrates a process for determining the depth of a coding unit when the shape and size of the coding unit change, as an embodiment of the present disclosure is provided, such that when coding units are recursively divided to determine a plurality of coding units.
[0021] Figure 14 The illustration shows a depth that can be determined based on the shape and size of the coding unit, and a partial index (PID) for distinguishing coding units, according to embodiments of the present disclosure.
[0022] Figure 15 The illustration shows how multiple coding units are determined based on multiple specific data units included in a picture, according to an embodiment of the present disclosure.
[0023] Figure 16 A processing block is shown as an embodiment of the present disclosure, which serves as a unit for determining the order of reference coding units included in a picture.
[0024] Figure 17 This is a diagram illustrating a method for performing chromaticity prediction using a cross-component linear model (CCLM) according to embodiments of the present disclosure.
[0025] Figure 18 This is a diagram illustrating a method for performing chromaticity prediction using a multi-model linear model (MMLM) according to embodiments of the present disclosure.
[0026] Figure 19 This is a diagram illustrating a method for performing chromaticity prediction using a region other than the neighboring region adjacent to the current block, according to embodiments of the present disclosure.
[0027] Figure 20 This is a diagram illustrating a method for performing chromaticity prediction using a Convolutional Cross-Component Model (CCCM) according to embodiments of the present disclosure.
[0028] Figure 21 This is a diagram illustrating a method for performing chromaticity prediction using a Block Vector Guided Convolutional Cross-Component Model (BVG-CCCM) according to embodiments of the present disclosure.
[0029] Figure 22 This is a diagram illustrating a method for performing chromaticity prediction using a Cross Component Residual Model (CCRM) according to embodiments of the present disclosure.
[0030] Figure 23 This is a diagram illustrating the location of luminance samples of a filter employing CCRM according to embodiments of the present disclosure.
[0031] Figure 24 This is a diagram illustrating a method for performing chromaticity prediction using luminance residual samples of the current block and reference chromaticity samples of a reference region according to embodiments of the present disclosure.
[0032] Figure 25 This is a diagram illustrating a method for performing chromaticity prediction in a BVG-CCCM using luminance residual samples of the current block and reference chromaticity samples of a reference region, according to embodiments of the present disclosure.
[0033] Figure 26This is a diagram illustrating a method for performing chromaticity prediction in a CCRM using luminance residual samples of the current block and reference chromaticity samples of a reference region according to embodiments of the present disclosure.
[0034] Figure 27 This is an illustration used to describe an image decoding method according to embodiments of the present disclosure.
[0035] Figure 28 This is a block diagram illustrating an image decoding apparatus according to an embodiment of the present disclosure.
[0036] Figure 29 This is an illustration used to describe an image encoding method according to embodiments of the present disclosure.
[0037] Figure 30 This is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure. Detailed Implementation
[0038] Throughout this disclosure, the expression "at least one of a, b or c" means only a, only b, only c, both a and b, both a and c, both b and c, all of a, b and c, or variations thereof.
[0039] The advantages and features of the embodiments, as well as the methods for achieving these advantages and features, can be more readily understood by referring to the embodiments and accompanying drawings. In this respect, this disclosure may take different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of this disclosure to those skilled in the art.
[0040] The terminology used in this specification will be briefly defined, and the embodiments will be described in detail.
[0041] All terms used in this specification, including descriptive or technical terms, should be interpreted as having meanings obvious to a person skilled in the art. However, terms may have different meanings depending on the intent of a person skilled in the art, precedent, or the emergence of new technologies. Furthermore, some terms may be arbitrarily chosen by the applicant, and in such cases, the meaning of the chosen term will be described in detail in the detailed description of this disclosure. Therefore, the terms used in this disclosure should not be interpreted solely based on their names, but must be defined based on the meaning of the term and the description throughout the specification.
[0042] In the following instructions, unless the context clearly indicates otherwise, the singular form includes the plural form.
[0043] Throughout this specification, when a component is described as "including" or "contains" an element, the component may also include other elements, without excluding other elements, unless there is a specific description to the contrary.
[0044] In addition, the numbers in the description of the instruction manual (e.g., "first", "second", etc.) are only used to distinguish one component from another.
[0045] Furthermore, terms such as "unit" refer to software or hardware elements, and "units" perform certain functions. However, "units" are not limited to software or hardware. A "unit" may be configured to reside in addressable storage media or to operate one or more processors. Thus, for example, the term "unit" may refer to elements such as software elements, object-oriented software elements, class elements, and task elements, and may include processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The functionality provided by elements and "units" may be associated with a small number of elements and "units," or may be divided into additional elements and "units."
[0046] According to embodiments of this disclosure, a "unit" may include a processor and memory. The term "processor" should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, etc. In some contexts, "processor" may refer to application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc. The term "processor" may refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors incorporating a DSP core, or any other combination of such configurations.
[0047] A processor may include various circuits and / or multiple processors. For example, the term "processor" as used herein (including the claims) may include various types of processing circuitry comprising at least one processor. One or more of the at least one processor may be configured to perform the various functions described herein individually and / or collectively in a distributed manner. As used herein, "processor," "at least one processor," and "one or more processors" may be configured to perform various functions. However, the enumerated terms cover the case where one processor performs some functions and (one or more) other processors perform other functions, as well as the case where one processor can perform all functions. Furthermore, at least one processor may include a combination of processors configured to perform the various disclosed functions in a distributed manner. At least one processor may execute program instructions to implement or perform the various functions.
[0048] The term "memory" should be interpreted broadly to include any electronic component capable of storing electronic information. The term "memory" can refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage devices, registers, etc. Memory is said to be in electronic communication with the processor when the processor can read information from and / or write information to it. Memory integrated into the processor is in electronic communication with the processor.
[0049] In the following text, “image” can be a still image, such as a video, or a moving image, such as a motion picture (i.e., the video itself).
[0050] In the following text, a "sample" refers to data assigned to a sampling location in an image, i.e., the data to be processed. For example, pixel values in the spatial domain and transform coefficients in the transform domain can be samples. A unit comprising at least one such sample can be defined as a block.
[0051] In addition, in the specification, "current block" may refer to the block of the largest coding unit, coding unit, prediction unit, or transform unit of the current image to be encoded or decoded, or a sub-block of that block.
[0052] In the following description, embodiments will be detailed with reference to the accompanying drawings to enable those skilled in the art to readily implement the embodiments. Furthermore, for the sake of clarity in describing this disclosure, parts unrelated to the description will be omitted from the drawings.
[0053] In the following text, refer to Figures 1 to 16 The image encoding apparatus and image decoding apparatus, as well as the image encoding method and image decoding method according to embodiments of the present disclosure, will be described in detail below. (Refer to...) Figures 3 to 16 The present disclosure will describe a method for determining data units of an image according to embodiments thereof, with reference to Figure 17 and Figure 18 The present disclosure describes a method for performing chromaticity prediction using a linear model based on the correlation between the luminance and chromaticity components of a reference region, according to embodiments of the present disclosure. (Refer to...) Figure 19 The present disclosure will describe a method for performing chromaticity prediction using regions other than the neighboring regions adjacent to the current block, according to embodiments thereof, with reference to Figures 20 to 23 This paper describes a method for performing chromaticity prediction by deriving a filter based on the correlation between the luminance and chromaticity components of a reference region and applying the reconstructed current luminance samples to the filter, and refers to... Figures 24 to 30The following method according to embodiments of the present disclosure will be described: deriving a filter based on the correlation between a reference luminance sample and a reference chrominance sample of a reference region indicated by the current block; obtaining a current chrominance prediction residual sample by applying the current luminance residual sample to the filter; obtaining an enhanced current chrominance prediction sample by using the current chrominance prediction residual sample and the reference chrominance sample; and performing chrominance prediction based on the enhanced current chrominance prediction sample and the current chrominance residual sample.
[0054] In the following text, refer to Figure 1 and Figure 2 According to embodiments of the present disclosure, methods and apparatus for adaptively selecting context models based on coding units of various shapes will now be described in detail.
[0055] Figure 1 A schematic block diagram of an image decoding apparatus according to an embodiment of the present disclosure is shown.
[0056] Image decoding device 100 may include receiver 110 and decoder 120. Receiver 110 and decoder 120 may include at least one processor. In addition, receiver 110 and decoder 120 may include memory storing instructions to be executed by at least one processor.
[0057] Receiver 110 can receive a bitstream. The bitstream includes information about an image encoded by image encoding device 2200, which will be described below. Furthermore, the bitstream can be transmitted from image encoding device 2200. Image encoding device 2200 and image decoding device 100 can be connected via wired or wireless means, and receiver 110 can receive the bitstream via wired or wireless means. Receiver 110 can receive the bitstream from a storage medium such as an optical medium, hard disk, etc. Decoder 120 can reconstruct the image based on the information obtained from the received bitstream. Decoder 120 can obtain syntax elements for reconstructing the image from the bitstream. Decoder 120 can reconstruct the image based on said syntax elements.
[0058] Reference Figure 2 The operation of the image decoding device 100 is described in detail.
[0059] Figure 2 This is a flowchart of an image decoding method according to an embodiment of the present disclosure.
[0060] According to an embodiment of this disclosure, receiver 110 receives a bit stream.
[0061] Image decoding device 100 obtains a binary bit string corresponding to the partition shape pattern of the coding unit from the bit stream (operation 210). Image decoding device 100 determines the partitioning rule of the coding unit (operation 220). Furthermore, image decoding device 100 partitions the coding unit into multiple coding units based on at least one of the binary bit string corresponding to the partition shape pattern or the partitioning rule (operation 230). Image decoding device 100 may determine a first permissible range of the size of the coding unit based on the aspect ratio of the coding unit in order to determine the partitioning rule. Image decoding device 100 may determine a second permissible range of the size of the coding unit based on the partition shape pattern of the coding unit in order to determine the partitioning rule.
[0062] The division of coding units will be described in detail below according to embodiments of the present disclosure.
[0063] First, a frame can be divided into one or more stripes or one or more parallel blocks. A stripe or a parallel block can be a sequence of one or more maximum coding units (coding tree units (CTUs)). There exists a maximum coding block (coding tree block (CTB) that is conceptually equivalent to a maximum coding unit (CTU).
[0064] The Maximum Coding Block (CTB) indicates an N×N block (N is an integer) containing N×N samples. Each color component can be divided into one or more maximum coding blocks.
[0065] The maximum coding unit (CTU) for a picture containing three sample arrays (sample arrays for the Y, Cr, and Cb components) is a unit that includes a maximum coding block for luma samples, two corresponding maximum coding blocks for chroma samples, and a syntax structure for encoding the luma and chroma samples. The maximum coding unit for a monochrome picture is a unit that includes a maximum coding block for monochrome samples and a syntax structure for encoding the monochrome samples. The maximum coding unit for a picture encoded in a color plane separated according to color components is a unit that includes a syntax structure for encoding the picture and the picture samples.
[0066] A maximum code block (CTB) can be divided into an M×N code block containing M×N samples (M and N are integers).
[0067] The encoding unit (CU) for a picture having sample arrays for the Y, Cr, and Cb components is a unit comprising a coding block for luminance samples, two corresponding coding blocks for chrominance samples, and a syntax structure for encoding the luminance and chrominance samples. The encoding unit for a monochrome picture comprises a coding block for monochrome samples and a syntax structure for encoding the monochrome samples. The encoding unit for a picture encoded in a color plane separated according to color components comprises a syntax structure for encoding the picture and a unit for the picture's samples.
[0068] As described above, the maximum coding block and the maximum coding unit are conceptually distinct from each other, and the coding block and the coding unit are also conceptually distinct from each other. That is, the (maximum) coding unit refers to a data structure that includes the (maximum) coding block containing the corresponding samples and the corresponding syntax structure of the (maximum) coding block. However, because those skilled in the art understand that the (maximum) coding unit or the (maximum) coding block refers to a block of a specific size containing a specific number of samples, the maximum coding block and the maximum coding unit or the coding block and the coding unit will be referred to in the following description without distinction unless otherwise described.
[0069] An image can be divided into maximum coding units (CTUs). The size of each CTU can be determined based on information obtained from the bitstream. Each CTU can be a square of the same size. However, this disclosure is not limited thereto.
[0070] For example, information about the maximum size of a luminance-coded block can be obtained from the bitstream. For example, the maximum size of a luminance-coded block, indicated by the information about the maximum size of the luminance-coded block, can be one of 4×4, 8×8, 16×16, 32×32, 64×64, 128×128, and 256×256.
[0071] For example, information about the luma block size difference and the maximum size of a luma coded block that can be divided into two blocks can be obtained from the bitstream. The information about the luma block size difference can refer to the size difference between the maximum luma coded unit and the maximum luma coded block that can be divided into two blocks. Therefore, when the information about the maximum size of the luma coded block that can be divided into two blocks and the information about the luma block size difference obtained from the bitstream are combined, the size of the maximum luma coded unit can be determined. The size of the maximum chroma coded unit can be determined using the size of the maximum luma coded unit. For example, when the Y:Cb:Cr ratio is 4:2:0 according to the color format, the size of the chroma block can be half the size of the luma block, and the size of the maximum chroma coded unit can be half the size of the maximum luma coded unit.
[0072] According to the embodiment, since information about the maximum size of a binary-divisible luminance coding block is obtained from the bitstream, the maximum size of the binary-divisible luminance coding block can be variably determined. Conversely, the maximum size of a ternary-divisible luminance coding block can be fixed. For example, the maximum size of a ternary-divisible luminance coding block in an I-frame can be 32×32, and the maximum size of a ternary-divisible luminance coding block in a P-frame or B-frame can be 64×64.
[0073] Furthermore, the largest coding unit can be hierarchically divided into coding units based on the partition shape pattern information obtained from the bit stream. At least one of the following can be obtained from the bit stream as partition shape pattern information: information indicating whether a quaternary partition is performed, information indicating whether a multi-partition is performed, partition direction information, or partition type information.
[0074] For example, information indicating whether to perform a quad partition can indicate whether the current coding unit will be quad partitioned (QUAD_SPLIT) or not.
[0075] When the current coding unit is not quadrupled, the information indicating whether to perform a multipartition can indicate whether the current coding unit will not be partitioned again (NO_SPLIT) or will be partitioned by a binary / triple.
[0076] When the current coding unit is partitioned into two or three parts, the partitioning direction information indicates that the current coding unit is partitioned in one of the horizontal or vertical directions.
[0077] When the current coding unit is divided in the horizontal or vertical direction, the partition type information indicates whether the current coding unit is divided into binary or ternary partitions.
[0078] The partitioning mode of the current coding unit can be determined based on the partitioning direction and partitioning type information. When the current coding unit is partitioned by a binary element in the horizontal direction, the partitioning mode can be determined as a binary horizontal partitioning mode (SPLIT_BT_HOR); when the current coding unit is partitioned by a ternary element in the horizontal direction, the partitioning mode can be determined as a ternary horizontal partitioning mode (SPLIT_TT_HOR); when the current coding unit is partitioned by a binary element in the vertical direction, the partitioning mode can be determined as a binary vertical partitioning mode (SPLIT_BT_VER); and when the current coding unit is partitioned by a ternary element in the vertical direction, the partitioning mode can be determined as a ternary vertical partitioning mode (SPLIT_BT_VER).
[0079] Image decoding device 100 can obtain a binary bit string containing partitioning shape pattern information from a bit stream. The bit stream received by image decoding device 100 may be in the form of fixed-length binary code, unary code, truncated unary code, predetermined binary code, etc. The binary bit string is information about binary numbers. The binary bit string may include at least one bit. Image decoding device 100 can obtain partitioning shape pattern information corresponding to the binary bit string based on partitioning rules. Image decoding device 100 can determine, based on a binary bit string, whether to perform quaternion partitioning on the coding unit, whether not to partition the coding unit, the partitioning direction, and the partitioning type.
[0080] A coding unit can be smaller than or the same as the maximum coding unit. For example, since the maximum coding unit is the coding unit with the largest size, it is one of the coding units. When the partitioning shape pattern information regarding the maximum coding unit indicates that partitioning is not performed, the coding units determined within the maximum coding unit have the same size as the maximum coding unit. When the partitioning shape pattern information regarding the maximum coding unit indicates that partitioning is performed, the maximum coding unit can be divided into coding units. Furthermore, when the partitioning shape pattern information regarding the coding units indicates that partitioning is performed, the coding unit can be divided into smaller coding units. However, the partitioning of an image is not limited to this, and the maximum coding unit and coding units may not be distinguished. (Refer to...) Figures 3 to 16 Describe in detail the division of coding units.
[0081] Furthermore, one or more prediction blocks for prediction can be determined from the coding unit. The prediction blocks may be the same as or smaller than the coding unit. Additionally, one or more transform blocks for transform can be determined from the coding unit. The transform blocks may be the same as or smaller than the coding unit.
[0082] The shapes and sizes of the transform blocks and the prediction blocks can be independent of each other.
[0083] In another embodiment, prediction can be performed by using the coding unit as a prediction unit. Furthermore, transformation can be performed by using the coding unit as a transform block.
[0084] Reference Figures 3 to 16 The division of coding units is described in detail. The current block and neighboring blocks in this disclosure can refer to one of the maximum coding unit, coding unit, prediction block, and transform block. Furthermore, the current block of the current coding unit is the block currently being decoded or encoded, or the block currently being divided. Neighboring blocks can be blocks reconstructed before the current block. Neighboring blocks can be spatially or temporally adjacent to the current block. Neighboring blocks can be located at one of the following locations: lower left, left side, upper left, top, upper right, right side, or lower right of the current block.
[0085] Figure 3The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing the current coding unit to determine at least one coding unit.
[0086] The block shape may include 4N×4N, 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N, or N×8N. Here, N can be a positive integer. Block shape information is information indicating at least one of the shape, orientation, aspect ratio, or size of the coding unit.
[0087] The shape of the encoding unit can be square or non-square. When the width and height of the encoding unit are the same (i.e., when the block shape of the encoding unit is 4N×4N), the image decoding device 100 can determine the block shape information of the encoding unit as square. The image decoding device 100 can also determine the shape of the encoding unit as non-square.
[0088] When the width and height of the coding unit are different from each other (i.e., when the block shape of the coding unit is 4N×2N, 2N×4N, 4N×N, N×4N, 32N×N, N×32N, 16N×N, N×16N, 8N×N, or N×8N), the image decoding device 100 can determine the block shape information of the coding unit as a non-square shape. When the shape of the coding unit is non-square, the image decoding device 100 can determine the aspect ratio in the block shape information of the coding unit as at least one of 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 1:32, or 32:1. Furthermore, the image decoding device 100 can determine whether the coding unit is horizontal or vertical based on its width and height. Additionally, the image decoding device 100 can determine the size of the coding unit based on at least one of its width, height, or area.
[0089] According to an embodiment, the image decoding device 100 can determine the shape of the coding unit by using block shape information, and can determine the partition shape of the coding unit by using partition shape pattern information. That is, the partitioning method of the coding unit indicated by the partition shape pattern information can be determined based on the block shape indicated by the block shape information used by the image decoding device 100.
[0090] Image decoding device 100 can obtain partition shape pattern information from the bitstream. However, embodiments are not limited to this, and image decoding device 100 and image encoding device 2200 can determine pre-agreed partition shape pattern information based on block shape information. Image decoding device 100 can determine pre-agreed partition shape pattern information for the largest or smallest coding unit. For example, image decoding device 100 can determine the partition shape pattern information for the largest coding unit as a quaternary partition. Furthermore, image decoding device 100 can determine the partition shape pattern information for the smallest coding unit as "no partition". Specifically, image decoding device 100 can determine the size of the largest coding unit to be 256×256. Image decoding device 100 can determine the pre-agreed partition shape pattern information as a quaternary partition. A quaternary partition is a partition shape pattern in which both the width and height of the coding unit are bisected. Image decoding device 100 can obtain a 128×128 coding unit from the 256×256-sized largest coding unit based on the partition shape pattern information. Furthermore, the image decoding device 100 can determine the size of the smallest coding unit to be 4×4. The image decoding device 100 can obtain partitioning shape pattern information indicating "no partitioning" for the smallest coding unit.
[0091] According to an embodiment, the image decoding device 100 can use block shape information indicating that the current coding unit has a square shape. For example, the image decoding device 100 can determine whether to not divide the square coding unit, whether to divide the square coding unit vertically, whether to divide the square coding unit horizontally, or whether to divide the square coding unit into four coding units based on the division shape pattern information. (See also...) Figure 3 When the block shape information of the current coding unit 300 indicates a square shape, the decoder 120 can determine that the coding unit 310a with the same size as the current coding unit 300 will not be divided based on the division shape pattern information indicating that it will not be divided, or it can determine the coding units 310b, 310c, 310d, 310e, 310f, etc., divided based on the division shape pattern information indicating a specific division method.
[0092] Reference Figure 3According to an embodiment, the image decoding device 100 can determine two coding units 310b obtained by dividing the current coding unit 300 in the vertical direction based on the division shape pattern information indicating that division is performed in the vertical direction. The image decoding device 100 can determine two coding units 310c obtained by dividing the current coding unit 300 in the horizontal direction based on the division shape pattern information indicating that division is performed in the horizontal direction. The image decoding device 100 can determine four coding units 310d obtained by dividing the current coding unit 300 in the vertical and horizontal directions based on the division shape pattern information indicating that division is performed in both the vertical and horizontal directions. According to an embodiment, the image decoding device 100 can determine three coding units 310e obtained by dividing the current coding unit 300 in the vertical direction based on the division shape pattern information indicating that ternary division is performed in the vertical direction. The image decoding device 100 can determine three coding units 310f obtained by dividing the current coding unit 300 in the horizontal direction based on the division shape pattern information indicating that ternary division is performed in the horizontal direction. However, the method of dividing square coding units is not limited to the above methods, and the division shape pattern information can indicate various methods. The specific partitioning methods for dividing square coding units will be described in detail below in various embodiments.
[0093] Figure 4 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing a non-square coding unit to determine at least one coding unit.
[0094] According to an embodiment, the image decoding device 100 can use block shape information indicating that the current coding unit has a non-square shape. The image decoding device 100 can determine, based on the partitioning shape pattern information, whether not to partition the non-square current coding unit or whether to partition the non-square current coding unit using a specific partitioning method. (See also...) Figure 4 When the block shape information of the current coding unit 400 or 450 indicates a non-square shape, the image decoding device 100 can determine, based on the partitioning shape pattern information indicating no partitioning, that coding units 410 or 460 with the same size as the current coding unit 400 or 450 will not be partitioned, or it can determine coding units 420a, 420b, 430a, 430b, 430c, 470a, 470b, 480a, 480b, and 480c partitioned based on the partitioning shape pattern information indicating a specific partitioning method. Specific partitioning methods for partitioning non-square coding units will be described in detail below in various embodiments.
[0095] According to an embodiment, the image decoding device 100 can determine the method of dividing coding units by using division shape pattern information, and in this case, the division shape pattern information can indicate the number of one or more coding units generated by dividing the coding units. (See also...) Figure 4 When the partitioning shape pattern information indicates that the current coding unit 400 or 450 is divided into two coding units, the image decoding device 100 can determine the two coding units 420a and 420b or 470a and 470b included in the current coding unit 400 or 450 by partitioning the current coding unit 400 or 450 based on the partitioning shape pattern information.
[0096] According to an embodiment, when the image decoding device 100 divides a non-square current coding unit 400 or 450 based on division shape pattern information, the image decoding device 100 may consider the position of the long side of the non-square current coding unit 400 or 450 to facilitate the division of the current coding unit. For example, the image decoding device 100 may consider the shape of the current coding unit 400 or 450 and determine multiple coding units by dividing the current coding unit 400 or 450 in the direction of the long side of the current coding unit 400 or 450.
[0097] According to an embodiment, when the partitioning shape pattern information indicates that the coding unit is divided (ternary partitioning) into an odd number of blocks, the image decoding device 100 can determine the odd number of coding units included in the current coding unit 400 or 450. For example, when the partitioning shape pattern information indicates that the current coding unit 400 or 450 is divided into three coding units, the image decoding device 100 can divide the current coding unit 400 or 450 into three coding units 430a, 430b and 430c or 480a, 480b and 480c.
[0098] According to an embodiment, the aspect ratio of the current coding unit 400 or 450 can be 4:1 or 1:4. When the aspect ratio is 4:1, because the width is longer than the height, the block shape information can be horizontal. When the aspect ratio is 1:4, because the width is shorter than the height, the block shape information can be vertical. The image decoding device 100 can determine whether to divide the current coding unit into an odd number of blocks based on the division shape pattern information. Furthermore, the image decoding device 100 can determine the division direction of the current coding unit 400 or 450 based on the block shape information of the current coding unit 400 or 450. For example, when the current coding unit 400 is vertical, the image decoding device 100 can determine coding units 430a, 430b, and 430c by dividing the current coding unit 400 horizontally. Similarly, when the current coding unit 450 is horizontal, the image decoding device 100 can determine coding units 480a, 480b, and 480c by dividing the current coding unit 450 vertically.
[0099] According to an embodiment, the image decoding device 100 can determine an odd number of coding units included in the current coding unit 400 or 450, and not all determined coding units may have the same size. For example, a particular coding unit 430b or 480b among the determined odd number of coding units 430a, 430b, and 430c, or 480a, 480b, and 480c, may have a different size than the other coding units 430a and 430c or 480a and 480c. That is, the coding units determined by dividing the current coding unit 400 or 450 may have multiple sizes, and in some cases, all the odd number of coding units 430a, 430b, and 430c, or 480a, 480b, and 480c, may have different sizes.
[0100] According to an embodiment, when the shape pattern information indicates that the coding unit should be divided into an odd number of blocks, the image decoding device 100 can determine the odd number of coding units included in the current coding unit 400 or 450, and additionally, can impose specific restrictions on at least one of the odd number of coding units generated by dividing the current coding unit 400 or 450. (Refer to...) Figure 4The image decoding device 100 may configure the decoding process for encoding unit 430b or 480b to differ from the decoding processes for other encoding units 430a and 430c or 480a or 480c, wherein encoding unit 430b or 480b is located at the center of the three encoding units 430a, 430b and 430c or 480a, 480b and 480c generated when the current encoding unit 400 or 450 is divided. For example, unlike other encoding units 430a and 430c or 480a and 480c, the image decoding device 100 may restrict the encoding unit 430b or 480b at the center position from being divided again or only divided a specific number of times.
[0101] Figure 5 This illustrates a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing encoding units based on at least one of block shape information or partition shape pattern information.
[0102] According to an embodiment, the image decoding device 100 can determine whether to divide the first coding unit 500 of the square into coding units or not to divide the first coding unit 500 of the square, based on at least one of block shape information or division shape pattern information. According to an embodiment, when the division shape pattern information indicates that the first coding unit 500 is divided in the horizontal direction, the image decoding device 100 can determine the second coding unit 510 by dividing the first coding unit 500 in the horizontal direction. The terms first coding unit, second coding unit, and third coding unit used in the embodiment are terms used to understand the relationship before and after the coding unit is divided. For example, the second coding unit can be determined by dividing the first coding unit, and the third coding unit can be determined by dividing the second coding unit. Hereinafter, it will be understood that the structure of the first coding unit, second coding unit, and third coding unit follows the above description.
[0103] According to an embodiment, the image decoding device 100 may determine, based on the division shape pattern information, whether to divide the determined second coding unit 510 into coding units or not to divide the determined second coding unit 510. (See also...) Figure 5The image decoding device 100 can divide a non-square second coding unit 510, determined by dividing the first coding unit 500, into one or more third coding units 520a, or 520b, 520c, and 520d, based on the division shape pattern information, or it can choose not to divide the non-square second coding unit 510. The image decoding device 100 can obtain the division shape pattern information and can obtain multiple second coding units (e.g., second coding units 510) of various shapes by dividing the first coding unit 500 based on the obtained division shape pattern information. It can also divide the second coding unit 510 based on the division shape pattern information using the division method of the first coding unit 500. According to an embodiment, when the first coding unit 500 is divided into a second coding unit 510 based on the division shape pattern information about the first coding unit 500, the second coding unit 510 can also be divided into third coding units (e.g., 520a, or 520b, 520c, and 520d) based on the division shape pattern information about the second coding unit 510. In other words, coding units can be recursively divided based on the partitioning shape pattern information for each coding unit. Therefore, square coding units can be determined by dividing non-square coding units, and non-square coding units can be determined by recursively dividing square coding units.
[0104] Reference Figure 5 Specific coding units (e.g., coding units located at the center or square coding units) among an odd number of third coding units 520b, 520c, and 520d determined by dividing a non-square second coding unit 510 can be recursively partitioned. According to an embodiment, a square third coding unit 520b among the odd number of third coding units 520b, 520c, and 520d can be horizontally divided into multiple fourth coding units. Non-square fourth coding units 530b or 530d among the multiple fourth coding units 530a, 530b, 530c, and 530d can again be divided into multiple coding units. For example, a non-square fourth coding unit 530b or 530d can again be divided into an odd number of coding units. Methods for recursively partitioning coding units will be described below in various embodiments.
[0105] According to an embodiment, the image decoding device 100 can divide each of the third coding units 520a, or 520b, 520c, and 520d, into coding units based on the division shape pattern information. Furthermore, the image decoding device 100 can determine, based on the division shape pattern information, not to divide the second coding unit 510. According to an embodiment, the image decoding device 100 can divide the non-square second coding unit 510 into an odd number of third coding units 520b, 520c, and 520d. The image decoding device 100 can impose specific restrictions on certain third coding units among the odd number of third coding units 520b, 520c, and 520d. For example, the image decoding device 100 can limit the number of times the third coding unit 520c at the center position among the odd number of third coding units 520b, 520c, and 520d will not be divided or will be divided.
[0106] Reference Figure 5 The image decoding device 100 may restrict the third coding unit 520c at the center position of the odd number of third coding units 520b, 520c, and 520d included in the non-square second coding unit 510 to no longer be divided, to be divided using a specific division method (e.g., divided into only four coding units or divided using the division method of the second coding unit 510), or to be divided only a specific number of times (e.g., divided only n times (where n>0)). However, the restriction on the third coding unit 520c at the center position is not limited to the above embodiment and may include various restrictions for decoding the third coding unit 520c at the center position differently from the other third coding units 520b and 520d.
[0107] According to an embodiment, the image decoding device 100 can obtain partitioning shape pattern information for partitioning the current coding unit from a specific position in the current coding unit.
[0108] Figure 6 This invention illustrates a method performed by an image decoding device, according to an embodiment of the present disclosure, for determining a specific coding unit from an odd number of coding units.
[0109] Reference Figure 6 The partitioning shape pattern information of the current encoding unit 600 or 650 can be obtained from a sample at a specific location among a plurality of samples included in the current encoding unit 600 or 650 (e.g., sample 640 or 690 at the center location). However, the specific location in the current encoding unit 600 from which at least one piece of partitioning shape pattern information can be obtained is not limited to... Figure 6The image decoding device 100 can obtain the division shape pattern information from a specific location and can determine whether to divide the current encoding unit into encoding units of various shapes and sizes or not to divide the current encoding unit.
[0110] According to an embodiment, when the current coding unit is divided into a specific number of coding units, the image decoding device 100 can select one coding unit from the coding units. Various methods can be used to select one coding unit from a plurality of coding units, and various methods will be described below in various embodiments.
[0111] According to an embodiment, the image decoding device 100 can divide the current coding unit into multiple coding units and determine the coding unit at a specific location.
[0112] According to an embodiment, the image decoding device 100 can use information indicating the positions of an odd number of coding units to determine the coding unit at the center position among the odd number of coding units. (See also...) Figure 6 The image decoding device 100 can determine an odd number of coding units 620a, 620b, and 620c or an odd number of coding units 660a, 660b, and 660c by dividing the current coding unit 600 or the current coding unit 650. The image decoding device 100 can determine an intermediate coding unit 620b or an intermediate coding unit 660b by using information about the positions of the odd number of coding units 620a, 620b, and 620c or the odd number of coding units 660a, 660b, and 660c. For example, the image decoding device 100 can determine the coding unit 620b at the center position by determining the positions of coding units 620a, 620b, and 620c based on information indicating the positions of specific samples included in coding units 620a, 620b, and 620c. Specifically, the image decoding device 100 can determine the position of the encoding units 620a, 620b and 620c based on the information indicating the positions of the upper left samples 630a, 630b and 630c of the encoding units 620a, 620b and 620c, and determine the encoding unit 620b at the center position.
[0113] According to an embodiment, the information indicating the positions of the upper left samples 630a, 630b, and 630c respectively included in encoding units 620a, 620b, and 620c may include information about the positions or coordinates of the encoding units 620a, 620b, and 620c in the image. According to an embodiment, the information indicating the positions of the upper left samples 630a, 630b, and 630c respectively included in encoding units 620a, 620b, and 620c may include information indicating the width or height of the encoding units 620a, 620b, and 620c included in the current encoding unit 600, and this width or height may correspond to information indicating the difference between the coordinates of the encoding units 620a, 620b, and 620c in the image. That is, the image decoding device 100 can determine the encoding unit 620b at the center position by directly using information about the positions or coordinates of the encoding units 620a, 620b, and 620c in the image, or by using information about the width or height corresponding to the difference between the coordinates of the encoding units.
[0114] According to an embodiment, the information indicating the position of the upper left sample 630a of the upper encoding unit 620a may include coordinates (xa, ya), the information indicating the position of the upper left sample 630b of the middle encoding unit 620b may include coordinates (xb, yb), and the information indicating the position of the upper left sample 630c of the lower encoding unit 620c may include coordinates (xc, yc). The image decoding device 100 can determine the middle encoding unit 620b by using the coordinates of the upper left samples 630a, 630b, and 630c included in the encoding units 620a, 620b, and 620c, respectively. For example, when the coordinates of the upper left samples 630a, 630b, and 630c are sorted in ascending or descending order, the encoding unit 620b including the coordinates (xb, yb) of the sample 630b at the center position can be determined as the encoding unit at the center position among the encoding units 620a, 620b, and 620c determined by dividing the current encoding unit 600. However, the coordinates indicating the positions of the upper left samples 630a, 630b, and 630c may include coordinates indicating their absolute positions within the image, or further, coordinates (dxb, dyb) indicating the relative position of the upper left sample 630b of the middle encoding unit 620b relative to the upper left sample 630a of the upper encoding unit 620a, and coordinates (dxc, dyc) indicating the relative position of the upper left sample 630c of the lower encoding unit 620c relative to the upper left sample 630a of the upper encoding unit 620a. The method of determining the encoding unit at a specific location by using the coordinates of the samples included in the encoding unit as information indicating the position of the samples is not limited to the methods described above, and may include various arithmetic methods using the coordinates of the samples.
[0115] According to an embodiment, the image decoding device 100 can divide the current encoding unit 600 into a plurality of encoding units 620a, 620b, and 620c, and can select one of the encoding units 620a, 620b, and 620c based on a specific criterion. For example, the image decoding device 100 can select encoding unit 620b from the encoding units 620a, 620b, and 620c that has a different size than the other encoding units.
[0116] According to an embodiment, the image decoding device 100 can determine the width or height of each of the encoding units 620a, 620b, and 620c by using coordinates (xa, ya) indicating the position of the upper left sample 630a of the upper encoding unit 620a, coordinates (xb, yb) indicating the position of the upper left sample 630b of the middle encoding unit 620b, and coordinates (xc, yc) indicating the position of the upper left sample 630c of the lower encoding unit 620c. The image decoding device 100 can also determine the dimensions of the encoding units 620a, 620b, and 620c by using coordinates (xa, ya), (xb, yb), and (xc, yc) indicating the positions of the encoding units 620a, 620b, and 620c. According to an embodiment, the image decoding device 100 can determine the width of the upper encoding unit 620a as the width of the current encoding unit 600. The image decoding device 100 can determine the height of the upper encoding unit 620a as yb-ya. According to an embodiment, the image decoding device 100 can determine the width of the intermediate encoding unit 620b as the width of the current encoding unit 600. The image decoding device 100 can determine the height of the intermediate encoding unit 620b as yc-yb. According to an embodiment, the image decoding device 100 can determine the width or height of the lower encoding unit by using the width or height of the current encoding unit or the width or height of the upper encoding unit 620a and the intermediate encoding unit 620b. The image decoding device 100 can determine encoding units with dimensions different from the dimensions of other encoding units based on the determined widths and heights of the encoding units 620a, 620b, and 620c. (Refer to...) Figure 6 The image decoding device 100 can determine an intermediate encoding unit 620b, which has a size different from that of the upper encoding unit 620a and the lower encoding unit 620c, as an encoding unit at a specific location. However, the method described above by the image decoding device 100 for determining an encoding unit with a size different from that of other encoding units corresponds only to the example of determining an encoding unit at a specific location by using the size of the encoding unit determined based on the coordinates of a sample point, and therefore, various methods can be used to determine an encoding unit at a specific location by comparing the size of the encoding unit determined based on the coordinates of a specific sample point.
[0117] The image decoding device 100 can determine the width or height of each of the encoding units 660a, 660b, and 660c by using coordinates (xd, yd) indicating the position of the upper left sample 670a of the left encoding unit 660a, coordinates (xe, ye) indicating the position of the upper left sample 670b of the middle encoding unit 660b, and coordinates (xf, yf) indicating the position of the upper left sample 670c of the right encoding unit 660c. The image decoding device 100 can also determine the individual dimensions of the encoding units 660a, 660b, and 660c by using coordinates (xd, yd), (xe, ye), and (xf, yf) indicating the positions of the encoding units 660a, 660b, and 660c.
[0118] According to an embodiment, the image decoding device 100 can determine the width of the left coding unit 660a as xe-xd. The image decoding device 100 can determine the height of the left coding unit 660a as the height of the current coding unit 650. According to an embodiment, the image decoding device 100 can determine the width of the middle coding unit 660b as xf-xe. The image decoding device 100 can determine the height of the middle coding unit 660b as the height of the current coding unit 600. According to an embodiment, the image decoding device 100 can determine the width or height of the right coding unit 660c by using the width or height of the current coding unit 650 or the width or height of the left coding unit 660a and the middle coding unit 660b. The image decoding device 100 can determine coding units with dimensions different from the dimensions of other coding units based on the determined widths and heights of the coding units 660a, 660b, and 660c. (Refer to...) Figure 6 The image decoding device 100 can determine an intermediate coding unit 660b, which has a size different from that of the left coding unit 660a and the right coding unit 660c, as a coding unit at a specific location. However, the method described above by the image decoding device 100 for determining a coding unit with a size different from that of the other coding units corresponds only to the example of determining a coding unit at a specific location by using the size of the coding unit determined based on the coordinates of a sample point, and therefore, various methods can be used to determine a coding unit at a specific location by comparing the size of the coding unit determined based on the coordinates of a specific sample point.
[0119] However, the position of the sample points considered in determining the position of the coding unit is not limited to the aforementioned upper left position, and information about any position of the sample points included in the coding unit can be used.
[0120] According to an embodiment, the image decoding device 100 can select a coding unit at a specific location from an odd number of coding units determined by dividing the current coding unit, taking into account the shape of the current coding unit. For example, when the current coding unit has a non-square shape with a width greater than its height, the image decoding device 100 can determine a coding unit at a specific location in the horizontal direction. That is, the image decoding device 100 can determine one coding unit from the coding units at different locations in the horizontal direction and can impose restrictions on that coding unit. When the current coding unit has a non-square shape with a height greater than its width, the image decoding device 100 can determine a coding unit at a specific location in the vertical direction. That is, the image decoding device 100 can determine one coding unit from the coding units at different locations in the vertical direction and can impose restrictions on that coding unit.
[0121] According to an embodiment, the image decoding device 100 can use information indicating the positions of each of an even number of coding units to determine a coding unit at a specific position among the even number of coding units. The image decoding device 100 can determine the even number of coding units by partitioning (binary partitioning) the current coding unit, and can determine the coding unit at a specific position by using information about the positions of the even number of coding units. The associated operations are similar to those already referred to above. Figure 6 The operation corresponding to determining a specific position (e.g., the center position) among an odd number of coding units is described in detail, so its detailed description is not provided here.
[0122] According to an embodiment, when a non-square current coding unit is divided into multiple coding units, specific information about the coding unit at a specific location can be used in the division operation to determine the coding unit at a specific location among the multiple coding units. For example, the image decoding device 100 can use at least one of block shape information or division shape pattern information stored in samples included in intermediate coding units to determine the coding unit at the center position among the multiple coding units determined by dividing the current coding unit in the division operation.
[0123] Reference Figure 6The image decoding device 100 can divide the current coding unit 600 into multiple coding units 620a, 620b, and 620c based on the division shape pattern information, and can determine the coding unit 620b at the center position among the multiple coding units 620a, 620b, and 620c. Furthermore, the image decoding device 100 can determine the coding unit 620b at the center position by considering the location where the division shape pattern information is obtained. That is, the division shape pattern information about the current coding unit 600 can be obtained from the sample point 640 at the center position of the current coding unit 600, and when the current coding unit 600 is divided into multiple coding units 620a, 620b, and 620c based on the division shape pattern information, the coding unit 620b including the sample point 640 can be determined as the coding unit at the center position. However, the information used to determine the coding unit at the center position is not limited to the division shape pattern information, and various types of information can be used to determine the coding unit at the center position.
[0124] According to an embodiment, specific information for identifying a coding unit at a specific location can be obtained from specific samples included in the coding unit to be determined. (Refer to...) Figure 6 The image decoding device 100 can use partitioning shape pattern information obtained from samples at specific locations in the current coding unit 600 (e.g., samples at the center of the current coding unit 600) to determine a coding unit at a specific location (e.g., a coding unit at the center of the partitioned coding units) among a plurality of coding units 620a, 620b, and 620c determined by partitioning the current coding unit 600. That is, the image decoding device 100 can determine samples at specific locations by considering the block shape of the current coding unit 600, and can determine a coding unit 620b that includes samples from the plurality of coding units 620a, 620b, and 620c determined by partitioning the current coding unit 600, including samples from which specific information (e.g., partitioning shape pattern information) can be obtained, and can impose specific constraints on the coding unit 620b. (Refer to...) Figure 6 According to an embodiment, during the decoding operation, the image decoding device 100 can determine a sample 640 at the center position of the current encoding unit 600 as a sample from which specific information can be obtained, and can impose specific restrictions on the encoding unit 620b including the sample 640. However, the position of the sample from which specific information can be obtained is not limited to the above-described position, and can include any position of the sample included in the encoding unit 620b to be determined as subject to restrictions.
[0125] According to an embodiment, the location of a sample point from which specific information can be obtained can be determined based on the shape of the current coding unit 600. According to an embodiment, block shape information can indicate whether the current coding unit has a square shape or a non-square shape, and the location of the sample point from which specific information can be obtained can be determined based on this shape. For example, the image decoding device 100 can determine a sample point located on a boundary that bisects at least one of the width or height of the current coding unit as a sample point from which specific information can be obtained by using at least one of information about the width of the current coding unit or information about the height of the current coding unit. As another example, when the block shape information about the current coding unit indicates a non-square shape, the image decoding device 100 can determine one of the sample points adjacent to the boundary that bisects the long side of the current coding unit as a sample point from which specific information can be obtained.
[0126] According to an embodiment, when the current coding unit is divided into multiple coding units, the image decoding device 100 can use partition shape pattern information to determine the coding unit at a specific location among the multiple coding units. According to an embodiment, the image decoding device 100 can obtain partition shape pattern information from samples at a specific location in the coding unit, and can partition multiple coding units generated by partitioning the current coding unit using the partition shape pattern information, wherein the partition shape pattern information is obtained from samples at a specific location in each of the multiple coding units. That is, coding units can be recursively partitioned based on the partition shape pattern information, wherein the partition shape pattern information is obtained from samples at a specific location in each coding unit. (Referring to the above...) Figure 5 The operation of recursively dividing the coding unit is described, so its detailed description will not be provided here.
[0127] According to an embodiment, the image decoding device 100 can determine one or more coding units by dividing the current coding unit, and can determine the order in which the one or more coding units are decoded based on a specific block (e.g., the current coding unit).
[0128] Figure 7 The following describes the order in which an image decoding device processes multiple coding units when it determines multiple coding units by dividing the current coding unit, according to an embodiment of the present disclosure.
[0129] According to an embodiment, based on the division shape pattern information, the image decoding device 100 can determine the second coding units 710a and 710b by dividing the first coding unit 700 in the vertical direction, determine the second coding units 730a and 730b by dividing the first coding unit 700 in the horizontal direction, or determine the second coding units 750a, 750b, 750c and 750d by dividing the first coding unit 700 in both the vertical and horizontal directions.
[0130] Reference Figure 7 The image decoding device 100 can determine to process second coding units 710a and 710b, determined by dividing the first coding unit 700 in the vertical direction, in the horizontal direction 710c. The image decoding device 100 can determine to process second coding units 730a and 730b, determined by dividing the first coding unit 700 in the horizontal direction, in the vertical direction 730c. The image decoding device 100 can determine to process second coding units 750a, 750b, 750c, and 750d, determined by dividing the first coding unit 700 in the vertical and horizontal directions, in a specific order 750e (e.g., raster scan order or zigzag scan order) for processing coding units in one row and then processing coding units in the next row.
[0131] According to an embodiment, the image decoding device 100 can recursively divide encoding units. (See also...) Figure 7 The image decoding device 100 can determine a plurality of coding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d by dividing a first coding unit 700, and can recursively divide each of the determined plurality of coding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d. The method of dividing the plurality of coding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d can correspond to the method of dividing the first coding unit 700. Therefore, each of the plurality of coding units 710a, 710b, 730a, 730b, 750a, 750b, 750c, and 750d can be independently divided into a plurality of coding units. (Refer to...) Figure 7 The image decoding device 100 can determine the second coding units 710a and 710b by dividing the first coding unit 700 in the vertical direction, and can determine whether to divide or not divide each of the second coding units 710a and 710b independently.
[0132] According to an embodiment, the image decoding device 100 can determine the third coding units 720a and 720b by dividing the left second coding unit 710a in the horizontal direction, and may not divide the right second coding unit 710b.
[0133] According to an embodiment, the processing order of coding units can be determined based on the operation of dividing coding units. In other words, the processing order of the divided coding units can be determined based on the processing order of the coding units immediately preceding the division. The image decoding device 100 can determine the processing order of the third coding units 720a and 720b determined by dividing the left second coding unit 710a independently of the right second coding unit 710b. Because the third coding units 720a and 720b are determined by dividing the left second coding unit 710a in the horizontal direction, the third coding units 720a and 720b can be processed in the vertical direction 720c. Because the left second coding unit 710a and the right second coding unit 710b are processed in the horizontal direction 710c, the right second coding unit 710b can be processed after the third coding units 720a and 720b included in the left second coding unit 710a are processed in the vertical direction 720c. The processing order of determining the coding units based on the coding units before partitioning is as described above and is not limited to the above example. It should be understood that various methods can be used to process the divided coding units and determined to be of various shapes independently in a specific order.
[0134] Figure 8 The present disclosure illustrates a process performed by an image decoding device, according to an embodiment of the present disclosure, to determine that the current encoding unit will be divided into an odd number of encoding units when the encoding units cannot be processed in a specific order.
[0135] According to an embodiment, the image decoding device 100 can determine whether the current coding unit is divided into an odd number of coding units based on the obtained partition shape pattern information. (See also...) Figure 8 The square first coding unit 800 can be divided into non-square second coding units 810a and 810b, and the second coding units 810a and 810b can be independently divided into third coding units 820a and 820b, as well as 820c, 820d, and 820e. According to an embodiment, the image decoding device 100 can determine a plurality of third coding units 820a and 820b by dividing the left second coding unit 810a in the horizontal direction, and can divide the right second coding unit 810b into an odd number of third coding units 820c to 820e.
[0136] According to an embodiment, the image decoding device 100 can determine whether there exists any coding unit divided into an odd number of coding units by determining whether the third coding units 820a and 820b, as well as 820c, 820d, and 820e, can be processed in a specific order. (See also...) Figure 8 The image decoding device 100 can determine the third coding units 820a and 820b, as well as 820c, 820d, and 820e, by recursively dividing the first coding unit 800. The image decoding device 100 can determine whether any one of the following coding units is divided into an odd number of coding units based on at least one of block shape information or division shape pattern information: the first coding unit 800, the second coding units 810a and 810b, and the third coding units 820a and 820b, as well as 820c, 820d, and 820e. For example, the rightmost second coding unit 810b of the second coding units 810a and 810b can be divided into an odd number of third coding units 820c, 820d, and 820e. The processing order of the multiple coding units included in the first coding unit 800 can be a specific order (e.g., zigzag scanning order 830), and the image decoding device 100 can determine whether the third coding units 820c, 820d, and 820e, determined by dividing the right second coding unit 810b into an odd number of coding units, meet the conditions for processing in a specific order.
[0137] According to an embodiment, the image decoding device 100 can determine whether the third encoding units 820a and 820b, as well as 820c, 820d and 820e included in the first encoding unit 800, satisfy a condition for processing in a specific order, and this condition is related to whether at least one of the width or height of the second encoding units 810a and 810b will be halved along the boundary of the third encoding units 820a and 820b, as well as 820c, 820d and 820e. For example, the third encoding units 820a and 820b determined when the height of the non-square-shaped left-side second encoding unit 810a is halved may satisfy this condition. Because the boundaries of the third coding units 820c, 820d, and 820e, determined when the right-side second coding unit 810b is divided into three coding units, fail to halve the width or height of the right-side second coding unit 810b, the image decoding device 100 can determine that the third coding units 820c, 820d, and 820e do not satisfy the condition. When the condition is not satisfied as described above, the image decoding device 100 can determine that the scanning order is discontinuous, and can determine, based on the determination result, that the right-side second coding unit 810b will be divided into an odd number of coding units. According to an embodiment, when the coding unit is divided into an odd number of coding units, the image decoding device 100 can impose a specific restriction on the coding units at a specific location within the divided coding units, and this restriction or specific location has been described above in various embodiments, therefore its detailed description is not provided here.
[0138] Figure 9 The illustration shows a process performed by an image decoding device according to an embodiment of the present disclosure, which involves dividing a first coding unit to determine at least one coding unit.
[0139] According to an embodiment, the image decoding device 100 can divide the first coding unit 900 based on the division shape pattern information obtained via the receiver 110. The square first coding unit 900 can be divided into four square coding units, or it can be divided into multiple non-square coding units. For example, referring to… Figure 9When the shape pattern information indicates that the first coding unit 900 should be divided into non-square coding units, the image decoding device 100 can divide the first coding unit 900 into a plurality of non-square coding units. Specifically, when the shape pattern information indicates that an odd number of coding units should be determined by dividing the first coding unit 900 in the horizontal or vertical direction, the image decoding device 100 can divide the square first coding unit 900 into an odd number of coding units, wherein the odd number of coding units are second coding units 910a, 910b, and 910c determined by dividing the square first coding unit 900 in the vertical direction, or second coding units 920a, 920b, and 920c determined by dividing the square first coding unit 900 in the horizontal direction.
[0140] According to an embodiment, the image decoding device 100 can determine whether second encoding units 910a, 910b, 910c, 920a, 920b, and 920c included in the first encoding unit 900 satisfy conditions for processing in a specific order, and these conditions are related to whether at least one of the width or height of the first encoding unit 900 is divided in half along the boundaries of the second encoding units 910a, 910b, 910c, 920a, 920b, and 920c. (Refer to...) Figure 9 Because the boundaries of the second coding units 910a, 910b, and 910c, defined by the first coding unit 900 dividing the square in the vertical direction, do not halve the width of the first coding unit 900, the image decoding device 100 can determine that the first coding unit 900 does not meet the conditions for processing in a specific order. Furthermore, because the boundaries of the second coding units 920a, 920b, and 920c, defined by the first coding unit 900 dividing the square in the horizontal direction, do not halve the height of the first coding unit 900, the image decoding device 100 can determine that the first coding unit 900 does not meet the conditions for processing in a specific order. When these conditions are not met as described above, the image decoding device 100 can determine that the scanning order is discontinuous, and can determine, based on the determination result, that the first coding unit 900 is divided into an odd number of coding units. According to an embodiment, when the coding unit is divided into an odd number of coding units, the image decoding device 100 may impose a specific restriction on the coding unit at a specific location in the divided coding unit, and the restriction or the specific location has been described above in various embodiments, so its detailed description is not provided here.
[0141] According to an embodiment, the image decoding device 100 can determine coding units of various shapes by dividing a first coding unit.
[0142] Reference Figure 9The image decoding device 100 can divide the square first coding unit 900 or the non-square first coding unit 930 or 950 into coding units of various shapes.
[0143] Figure 10 The shape into which the second coding unit can be divided is limited when the second coding unit, which has a non-square shape and is determined by the image decoding device by dividing the first coding unit according to an embodiment of the present disclosure, meets certain conditions.
[0144] According to an embodiment, the image decoding device 100 can determine, based on the division shape pattern information obtained via the receiver 110, to divide a square first coding unit 1000 into non-square second coding units 1010a, 1010b, 1020a, and 1020b. The second coding units 1010a, 1010b, 1020a, and 1020b can be divided independently. Therefore, the image decoding device 100 can determine, based on the division shape pattern information regarding each of the second coding units 1010a, 1010b, 1020a, and 1020b, to divide each of the second coding units 1010a and 1010b into multiple coding units or not to divide each of the second coding units 1010a and 1010b, or 1020a and 1020b. According to an embodiment, the image decoding device 100 can determine the third coding units 1012a and 1012b by dividing the non-square left second coding unit 1010a, determined by dividing the first coding unit 1000 in the vertical direction, in the horizontal direction. However, when the left second coding unit 1010a is divided in the horizontal direction, the image decoding device 100 can restrict the right second coding unit 1010b to not be divided in the horizontal direction in which the left second coding unit 1010a is divided. When the third coding units 1014a and 1014b are determined by dividing the right second coding unit 1010b in the same direction, the left second coding unit 1010a and the right second coding unit 1010b can be divided independently in the horizontal direction so that the third coding units 1012a and 1012b, or 1014a and 1014b, can be determined. However, this has the same result as the image decoding device 100 dividing the first encoding unit 1000 into four squares, namely the second encoding units 1030a, 1030b, 1030c and 1030d, based on the division shape pattern information, and may be inefficient in terms of image decoding.
[0145] According to an embodiment, the image decoding device 100 can determine the third coding units 1022a and 1022b, or 1024a and 1024b, by dividing the non-square second coding units 1020a or 1020b, which are determined by dividing the first coding unit 1000 in the horizontal direction, in the vertical direction. However, when the second coding unit (e.g., the upper second coding unit 1020a) is divided in the vertical direction, for the reasons described above, the image decoding device 100 can restrict another second coding unit (e.g., the lower second coding unit 1020b) to not be divided in the vertical direction in which the upper second coding unit 1020a is divided.
[0146] Figure 11 The illustration shows a process performed by an image decoding device to divide a square coding unit when the division shape pattern information cannot indicate that the square coding unit will be divided into four square coding units, according to an embodiment of the present disclosure.
[0147] According to an embodiment, the image decoding device 100 can determine second coding units 1110a, 1110b, 1120a, 1120b, etc., by dividing the first coding unit 1100 based on division shape pattern information. The division shape pattern information may include information about various methods of dividing the coding units, but may not include information for dividing the coding unit into four square coding units. Based on such division shape pattern information, the image decoding device 100 may not divide the square first coding unit 1100 into four square coding units 1130a, 1130b, 1130c, and 1130d. Based on the division shape pattern information, the image decoding device 100 can determine non-square second coding units 1110a, 1110b, 1120a, 1120b, etc.
[0148] According to an embodiment, the image decoding device 100 can independently divide non-square second coding units 1110a, 1110b, 1120a, 1120b, etc. Each of the second coding units 1110a, 1110b, 1120a, 1120b, etc. can be recursively divided in a specific order, and this division method can correspond to the method of dividing the first coding unit 1100 based on the division shape pattern information.
[0149] For example, the image decoding device 100 can determine the third coding units 1112a and 1112b of the square by dividing the left second coding unit 1110a in the horizontal direction, and can determine the third coding units 1114a and 1114b of the square by dividing the right second coding unit 1110b in the horizontal direction. Furthermore, the image decoding device 100 can determine the third coding units 1116a, 1116b, 1116c, and 1116d of the square by dividing both the left second coding unit 1110a and the right second coding unit 1110b in the horizontal direction. In this case, coding units with the same shape as the second coding units 1130a, 1130b, 1130c, and 1130d of the four squares divided from the first coding unit 1100 can be determined.
[0150] As another example, the image decoding device 100 can determine the third coding units 1122a and 1122b of the square by dividing the upper second coding unit 1120a in the vertical direction, and can determine the third coding units 1124a and 1124b of the square by dividing the lower second coding unit 1120b in the vertical direction. Furthermore, the image decoding device 100 can determine the third coding units 1126a, 1126b, 1126c, and 1126d of the square by dividing both the upper second coding unit 1120a and the lower second coding unit 1120b in the vertical direction. In this case, coding units with the same shape as the second coding units 1130a, 1130b, 1130c, and 1130d of the four squares divided from the first coding unit 1100 can be determined.
[0151] Figure 12 The processing order among multiple coding units according to embodiments of the present disclosure is shown to change depending on the processing of dividing the coding units.
[0152] According to an embodiment, the image decoding device 100 may divide the first coding unit 1200 based on division shape pattern information. When the block shape indicates a square shape and the division shape pattern information indicates that the first coding unit 1200 is divided in at least one direction, either horizontal or vertical, the image decoding device 100 may determine a second coding unit (e.g., second coding units 1210a, 1210b, 1220a, 1220b, etc.) by dividing the first coding unit 1200. (See also...) Figure 12The non-square second coding units 1210a, 1210b, 1220a, and 1220b, determined by dividing the first coding unit 1200 only in the horizontal or vertical direction, can be independently divided based on the division shape pattern information of each coding unit. For example, the image decoding device 100 can determine the third coding units 1216a, 1216b, 1216c, and 1216d by dividing the second coding units 1210a and 1210b generated by dividing the first coding unit 1200 in the vertical direction in the horizontal direction, and can determine the third coding units 1226a, 1226b, 1226c, and 1226d by dividing the second coding units 1220a and 1220b generated by dividing the first coding unit 1200 in the horizontal direction in the horizontal direction. (Referring to the above...) Figure 11 The process of dividing the second coding units 1210a, 1210b, 1220a and 1220b is described, so its detailed description is not provided here.
[0153] According to an embodiment, the image decoding device 100 can process encoding units in a specific order. (Refer to the above...) Figure 7 The characteristic of processing coding units in a specific order is described, therefore its detailed description is not provided here. (See reference...) Figure 12 The image decoding device 100 can determine the third encoding units 1216a, 1216b, 1216c, and 1216d, as well as 1226a, 1226b, 1226c, and 1226d, of the four squares by dividing the first encoding unit 1200 into squares. According to an embodiment, the image decoding device 100 can determine the processing order of the third encoding units 1216a, 1216b, 1216c, and 1216d, as well as 1226a, 1226b, 1226c, and 1226d, based on the division method of the first encoding unit 1200.
[0154] According to an embodiment, the image decoding device 100 can determine third coding units 1216a, 1216b, 1216c, and 1216d by dividing the second coding units 1210a and 1210b generated by dividing the first coding unit 1200 in the vertical direction in the horizontal direction, and can process the third coding units 1216a, 1216b, 1216c, and 1216d in the following processing order 1217: first, the third coding units 1216a and 1216c included in the left second coding unit 1210a are processed in the vertical direction, and then the third coding units 1216b and 1216d included in the right second coding unit 1210b are processed in the vertical direction.
[0155] According to an embodiment, the image decoding device 100 can determine third coding units 1226a, 1226b, 1226c, and 1226d by dividing the second coding units 1220a and 1220b generated by dividing the first coding unit 1200 in the horizontal direction in the vertical direction, and can process the third coding units 1226a, 1226b, 1226c, and 1226d in the following processing order 1227: firstly, the third coding units 1226a and 1226b included in the upper second coding unit 1220a are processed in the horizontal direction, and then the third coding units 1226c and 1226d included in the lower second coding unit 1220b are processed in the horizontal direction.
[0156] Reference Figure 12 The square third coding units 1216a, 1216b, 1216c, and 1216d, as well as 1226a, 1226b, 1226c, and 1226d, can be determined by dividing the second coding units 1210a and 1210b, and 1220a and 1220b, respectively. The second coding units 1210a and 1210b, determined by dividing the first coding unit 1200 in the vertical direction, have different shapes from the second coding units 1220a and 1220b, determined by dividing the first coding unit 1200 in the horizontal direction. However, based on the subsequently determined third coding units 1216a, 1216b, 1216c, and 1216d, and the third coding units 1226a, 1226b, 1226c, and 1226d, the first coding unit 1200 is ultimately divided into coding units of the same shape. Therefore, by recursively dividing the coding units based on the division shape pattern information through different processes, even if coding units with the same shape are finally determined, the image decoding device 100 can process multiple coding units determined to have the same shape in different orders.
[0157] Figure 13 The present invention illustrates a process for determining the depth of a coding unit when the shape and size of the coding unit change, as an embodiment of the present disclosure is provided, when coding units are recursively divided to determine multiple coding units.
[0158] According to an embodiment, the image decoding device 100 can determine the depth of the coding unit based on a specific criterion. For example, the specific criterion may be the length of the long side of the coding unit. When the length of the long side of the coding unit before being divided is 2n (n>0) times the length of the long side of the current coding unit after division, the image decoding device 100 can determine that the depth of the current coding unit is increased by n compared to the depth of the coding unit before division. In the following, the coding unit with the increased depth is referred to as a coding unit with a lower layer depth.
[0159] Reference Figure 13According to an embodiment, the image decoding device 100 can determine a second coding unit 1302 and a third coding unit 1304 at a lower layer depth by dividing a first coding unit 1300 of a square based on block shape information indicating the shape of the square (e.g., the block shape information may be represented as "0:SQUARE"). Assuming the size of the first coding unit 1300 of the square is 2N×2N, the second coding unit 1302, determined by dividing the width and height of the first coding unit 1300 by half, can have a size of N×N. Furthermore, the third coding unit 1304, determined by dividing the width and height of the second coding unit 1302 by half, can have a size of N / 2×N / 2. In this case, the width and height of the third coding unit 1304 are 1 / 4 times the width and height of the first coding unit 1300. When the depth of the first coding unit 1300 is D, the depth of the second coding unit 1302, whose width and height are 1 / 2 times the width and height of the first coding unit 1300, can be D+1, and the depth of the third coding unit 1304, whose width and height are 1 / 4 times the width and height of the first coding unit 1300, can be D+2.
[0160] According to an embodiment, the image decoding device 100 can determine a second encoding unit 1312 or 1322 and a third encoding unit 1314 or 1324 at a lower layer depth by dividing a non-square first encoding unit 1310 or 1320 based on block shape information indicating a non-square shape (for example, the block shape information may be represented as "1:NS_VER" indicating a non-square shape with a height longer than its width, or "2:NS_HOR" indicating a non-square shape with a width longer than its height).
[0161] The image decoding device 100 can determine the second coding unit (e.g., the second coding unit 1302, 1312, or 1322) by dividing the width or height of the first coding unit 1310, which has a size of N×2N. That is, the image decoding device 100 can determine the second coding unit 1302 or the second coding unit 1322 with a size of N×N by dividing the first coding unit 1310 in the horizontal direction, or it can determine the second coding unit 1312 with a size of N / 2×N by dividing the first coding unit 1310 in both the horizontal and vertical directions.
[0162] According to an embodiment, the image decoding device 100 can determine a second encoding unit (e.g., a second encoding unit 1302, 1312, or 1322) by dividing the width or height of a first encoding unit 1320 with a size of 2N×N. That is, the image decoding device 100 can determine a second encoding unit 1302 with a size of N×N or a second encoding unit 1312 with a size of N / 2×N by dividing the first encoding unit 1320 in the vertical direction, or it can determine a second encoding unit 1322 with a size of N×N / 2 by dividing the first encoding unit 1320 in both the horizontal and vertical directions.
[0163] According to an embodiment, the image decoding device 100 can determine a third encoding unit (e.g., a third encoding unit 1304, 1314, or 1324) by dividing the width or height of a second encoding unit 1302 with a size of N×N. That is, the image decoding device 100 can determine a third encoding unit 1304 with a size of N / 2×N / 2, a third encoding unit 1314 with a size of N / 4×N / 2, or a third encoding unit 1324 with a size of N / 2×N / 4 by dividing the second encoding unit 1302 in the vertical and horizontal directions.
[0164] According to an embodiment, the image decoding device 100 can determine a third coding unit (e.g., a third coding unit 1304, 1314, or 1324) by dividing the width or height of a second coding unit 1312 with a size of N / 2 × N. That is, the image decoding device 100 can determine a third coding unit 1304 with a size of N / 2 × N / 2 or a third coding unit 1324 with a size of N / 2 × N / 4 by dividing the second coding unit 1312 in the horizontal direction, or it can determine a third coding unit 1314 with a size of N / 4 × N / 2 by dividing the second coding unit 1312 in both the vertical and horizontal directions.
[0165] According to an embodiment, the image decoding device 100 can determine a third coding unit (e.g., a third coding unit 1304, 1314, or 1324) by dividing the width or height of a second coding unit 1322 with a size of N×N / 2. That is, the image decoding device 100 can determine a third coding unit 1304 with a size of N / 2×N / 2 or a third coding unit 1314 with a size of N / 4×N / 2 by dividing the second coding unit 1322 in the vertical direction, or it can determine a third coding unit 1324 with a size of N / 2×N / 4 by dividing the second coding unit 1322 in both the vertical and horizontal directions.
[0166] According to an embodiment, the image decoding device 100 can divide square coding units (e.g., square coding units 1300, 1302, or 1304) in the horizontal or vertical direction. For example, the image decoding device 100 can determine a first coding unit 1310 of size N×2N by dividing a first coding unit 1300 of size 2N×2N in the vertical direction, or it can determine a first coding unit 1320 of size 2N×N by dividing a first coding unit 1300 of size 2N×2N in the horizontal direction. According to an embodiment, when the depth is determined based on the length of the longest side of the coding unit, the depth of the coding unit determined by dividing a first coding unit 1300 of size 2N×2N in the horizontal or vertical direction can be the same as the depth of the first coding unit 1300.
[0167] According to an embodiment, the width and height of the third coding unit 1314 or 1324 can be 1 / 4 times the width and height of the first coding unit 1310 or 1320. When the depth of the first coding unit 1310 or 1320 is D, the depth of the second coding unit 1312 or 1322, whose width and height are 1 / 2 times the width and height of the first coding unit 1310 or 1320, can be D+1, and the depth of the third coding unit 1314 or 1324, whose width and height are 1 / 4 times the width and height of the first coding unit 1310 or 1320, can be D+2.
[0168] Figure 14 The illustration shows a depth that can be determined based on the shape and size of the coding unit, and a partial index (PID) for distinguishing coding units, according to embodiments of the present disclosure.
[0169] According to an embodiment, the image decoding device 100 can determine second coding units of various shapes by dividing a first coding unit 1400 into squares. (See also...) Figure 14 The image decoding device 100 can determine second coding units 1402a and 1402b, second coding units 1404a and 1404b, and second coding units 1406a, 1406b, 1406c, and 1406d by dividing the first coding unit 1400 in at least one direction, either vertically or horizontally, based on the division shape pattern information. In other words, the image decoding device 100 can determine the second coding units 1402a and 1402b, 1404a and 1404b, and 1406a, 1406b, 1406c, and 1406d based on the division shape pattern information regarding the first coding unit 1400.
[0170] According to an embodiment, the depths of the second coding units 1402a and 1402b, second coding units 1404a and 1404b, and second coding units 1406a, 1406b, 1406c, and 1406d, determined based on the division shape pattern information of the first coding unit 1400 (a square), can be determined based on the length of their longer sides. For example, because the length of the side of the first coding unit 1400 (a square) is the same as the length of the longer side of the second coding units 1402a and 1402b (non-square) and 1404a and 1404b (non-square), the first coding unit 1400 and the second coding units 1402a and 1402b (non-square) can have the same depth, such as D. However, when the image decoding device 100 divides the first encoding unit 1400 into four square second encoding units 1406a, 1406b, 1406c and 1406d based on the division shape pattern information, the depth of the second encoding units 1406a, 1406b, 1406c and 1406d can be D+1, which is 1 lower than the depth D of the first encoding unit 1400.
[0171] According to an embodiment, the image decoding device 100 can determine a plurality of second encoding units 1412a and 1412b, as well as 1414a, 1414b, and 1414c, by dividing a first encoding unit 1410 in the horizontal direction with a height greater than its width based on division shape pattern information. According to an embodiment, the image decoding device 100 can determine a plurality of second encoding units 1422a and 1422b, as well as 1424a, 1424b, and 1424c, by dividing a first encoding unit 1420 in the vertical direction with a width greater than its height based on division shape pattern information.
[0172] According to an embodiment, the depths of second coding units 1412a and 1412b, and 1414a, 1414b and 1414c, or 1422a and 1422b, and 1424a, 1424b and 1424c, determined based on the division shape pattern information of the non-square first coding unit 1410 or 1420, can be determined based on the length of their longer sides. For example, since the length of the side of the square second coding units 1412a and 1412b is half the length of the longer side of the non-square first coding unit 1410 whose height is greater than its width, the depth of the square second coding units 1412a and 1412b is D+1, which is 1 lower than the depth D of the non-square first coding unit 1410.
[0173] Furthermore, the image decoding device 100 can divide the non-square first coding unit 1410 into an odd number of second coding units 1414a, 1414b, and 1414c based on the division shape pattern information. The odd number of second coding units 1414a, 1414b, and 1414c may include the non-square second coding units 1414a and 1414c and the square second coding unit 1414b. In this case, since the length of the long side of the non-square second coding units 1414a and 1414c and the length of the side of the square second coding unit 1414b are half the length of the long side of the first coding unit 1410, the depth of the second coding units 1414a, 1414b, and 1414c can be D+1, which is 1 lower than the depth D of the non-square first coding unit 1410. The image decoding device 100 can determine the depth of the coding unit divided from the first coding unit 1420, which has a width longer than its height and has a non-square shape, by using the method described above for determining the depth of the coding unit divided from the first coding unit 1410.
[0174] According to an embodiment, when an odd number of the divided coding units do not have the same size, the image decoding device 100 can determine the PID used to identify the divided coding units based on the size ratio between the coding units. (See also...) Figure 14 In an odd-numbered set of coding units 1414a, 1414b, and 1414c, the width of the central coding unit 1414b can be the same as the width of the other coding units 1414a and 1414c, and its height is twice the height of the other coding units 1414a and 1414c. That is, in this case, the central coding unit 1414b may include two other coding units 1414a or 1414c. Therefore, when the PID of the central coding unit 1414b is 1 based on the scan order, the PID of the coding unit 1414c located adjacent to coding unit 1414b can be increased by 2 and thus can be 3. That is, there may be discontinuous PID values. According to an embodiment, the image decoding device 100 can determine whether the odd-numbered coding units do not have equal sizes based on whether there is a discontinuity in the PID used to identify the divided coding units.
[0175] According to an embodiment, the image decoding device 100 may determine whether to use a specific partitioning method based on PID values used to identify multiple coding units determined by partitioning the current coding unit. (See also...) Figure 14The image decoding device 100 can determine an even number of coding units 1412a and 1412b or an odd number of coding units 1414a, 1414b, and 1414c by dividing a first coding unit 1410 having a rectangular shape with a height longer than its width. The image decoding device 100 can use a PID indicating each coding unit to identify it. According to an embodiment, the PID can be obtained from a sample at a specific location of each coding unit (e.g., the upper left sample).
[0176] According to an embodiment, the image decoding device 100 can determine the coding unit at a specific location within the divided coding units by using a PID for distinguishing coding units. According to an embodiment, when the division shape pattern information of a first coding unit 1410 having a rectangular shape with a height longer than its width indicates that the coding unit should be divided into three coding units, the image decoding device 100 can divide the first coding unit 1410 into three coding units 1414a, 1414b, and 1414c. The image decoding device 100 can assign a PID to each of the three coding units 1414a, 1414b, and 1414c. The image decoding device 100 can compare the PIDs of an odd number of divided coding units to determine the coding unit at the center position within the coding units. The image decoding device 100 can determine the coding unit 1414b, whose PID corresponds to the median value of the PIDs of the coding units, as the coding unit at a specific location within the coding units determined by dividing the first coding unit 1410. According to an embodiment, when the divided coding units do not have the same size, the image decoding device 100 can determine the PID used to distinguish the divided coding units based on the size ratio between the coding units. (Refer to...) Figure 14The width of the coding unit 1414b generated by dividing the first coding unit 1410 can be the same as the width of the other coding units 1414a and 1414c, and its height can be twice the height of the other coding units 1414a and 1414c. In this case, when the PID of the coding unit 1414b at the center position is 1, the PID of the coding unit 1414c located adjacent to the coding unit 1414b can be increased by 2 and therefore can be 3. When the PID does not increase uniformly as described above, the image decoding device 100 can determine that the coding unit is divided into a plurality of coding units, wherein the plurality of coding units includes coding units having a size different from the size of other coding units. According to an embodiment, when the division shape pattern information indicates that the coding unit is divided into an odd number of coding units, the image decoding device 100 can divide the current coding unit in such a way that the coding unit at a specific position in the odd number of coding units (e.g., the coding unit at the center position) has a size different from the size of other coding units. In this case, the image decoding device 100 can determine the coding unit at the center position with a different size by using the PID of the coding unit. However, the PID and the size or position of the encoding unit at a specific location are specified to describe the embodiment, and are therefore not limited to the above examples, and various PIDs and various positions and sizes of the encoding unit can be used.
[0177] According to an embodiment, the image decoding device 100 may use a specific data unit, in which encoding units are recursively divided.
[0178] Figure 15 The present disclosure illustrates the determination of multiple encoding units based on multiple specific data units included in a picture, according to an embodiment of the present disclosure.
[0179] According to an embodiment, a specific data unit can be defined as a data unit that recursively divides coding units by using division shape pattern information. The specific data unit may correspond to the highest-depth coding unit, which is used to determine multiple coding units divided from the current frame. Hereinafter, for ease of description, the specific data unit will be referred to as a reference data unit.
[0180] According to an embodiment, the reference data unit may have a specific size and a specific shape. According to an embodiment, the reference data unit may include M×N sample points. Here, M and N may be equal to each other and may be integers represented as powers of 2. That is, the reference data unit may have a square shape or a non-square shape, and may then be divided into an integer number of encoding units.
[0181] According to an embodiment, the image decoding device 100 can divide the current frame into multiple reference data units. According to an embodiment, the image decoding device 100 can divide the multiple reference data units from the current frame using division shape pattern information about each reference data unit. The process of dividing the reference data units can correspond to a division process using a quadtree structure.
[0182] According to an embodiment, the image decoding device 100 can predetermine the minimum allowed size of the reference data units included in the current frame. Therefore, the image decoding device 100 can determine various reference data units having sizes equal to or greater than the minimum size, and can determine one or more encoding units for the determined reference data units by using partition shape pattern information.
[0183] Reference Figure 15 The image decoding device 100 may use a square reference coding unit 1500 or a non-square reference coding unit 1502. According to an embodiment, the shape and size of the reference coding unit may be determined based on various data units (e.g., sequences, frames, stripes, strip segments, parallel blocks, parallel block groups, maximum coding units, etc.) that can include one or more reference coding units.
[0184] According to an embodiment, the receiver 110 of the image decoding device 100 can obtain from the bitstream at least one of reference coding unit shape information or reference coding unit size information for each of the various data units. (Refer to above) Figure 3 The process of dividing the current coding unit 300 describes the process of dividing the square reference coding unit 1500 into one or more coding units, and the above reference... Figure 4 The process of dividing the current coding unit 400 or 450 describes the process of dividing the non-square reference coding unit 1502 into one or more coding units. Therefore, its detailed description is not provided here.
[0185] According to an embodiment, the image decoding device 100 can use a PID (PID) for identifying the size and shape of a reference coding unit to determine the size and shape of the reference coding unit based on a set of data units predetermined based on specific conditions. That is, the receiver 110 can obtain from the bitstream only the PID for identifying the size and shape of the reference coding unit for each slice, slice segment, parallel block, parallel block group, or maximum coding unit, wherein the slice, slice segment, parallel block, parallel block group, or maximum coding unit is a data unit (e.g., a data unit with a size equal to or smaller than the slice) among various data units (e.g., a sequence, a frame, a slice, a slice segment, a parallel block, a parallel block group, a maximum coding unit, etc.) that meets specific conditions. The image decoding device 100 can determine the size and shape of the reference data unit for each data unit that meets the specific conditions by using the PID. When obtaining and using reference coding unit shape information and reference coding unit size information from the bitstream based on each data unit with a relatively small size, the efficiency of using the bitstream may be low, and therefore, only the PID can be obtained and used, rather than directly obtaining the reference coding unit shape information and reference coding unit size information. In this case, at least one of the dimensions or shapes of the reference coding unit corresponding to the PID used to identify the size and shape of the reference coding unit can be predetermined. That is, the image decoding device 100 can determine at least one of the dimensions or shapes of the reference coding unit included in the data unit used as the unit for obtaining the PID by selecting at least one of the dimensions or shapes of the reference coding unit predetermined based on the PID.
[0186] According to embodiments, the image decoding device 100 may use one or more reference coding units included in the maximum coding unit. That is, the maximum coding unit divided from the image may include one or more reference coding units, and the coding unit can be determined by recursively dividing each reference coding unit. According to embodiments, at least one of the width or height of the maximum coding unit may be an integer multiple of at least one of the width or height of the reference coding unit. According to embodiments, the size of the reference coding unit can be obtained by dividing the maximum coding unit n times based on a quadtree structure. That is, according to various embodiments, the image decoding device 100 may determine the reference coding unit by dividing the maximum coding unit n times based on a quadtree structure, and may divide the reference coding unit based on at least one of block shape information or division shape pattern information.
[0187] Figure 16 A processing block is shown as an embodiment of the present disclosure, which serves as a unit for determining the order of reference coding units included in a picture.
[0188] According to an embodiment, the image decoding device 100 can determine one or more processing blocks divided from the image. A processing block is a data unit comprising one or more reference coding units divided from the image, and the one or more reference coding units included in a processing block can be determined according to a specific order. That is, the determination order of the one or more reference coding units determined in each processing block can correspond to one of various orders used to determine the reference coding units, and can vary depending on the processing block. The determination order of the reference coding units determined for each processing block can be one of various orders (e.g., raster scan order, zigzag scan, N-shaped scan, upper right diagonal scan, horizontal scan, and vertical scan), but is not limited to the scan orders described above.
[0189] According to an embodiment, the image decoding device 100 can obtain processing block size information and determine the size of one or more processing blocks included in the frame. The image decoding device 100 can obtain processing block size information from a bitstream and determine the size of one or more processing blocks included in the frame. The size of a processing block can be a specific size of a data unit, which is indicated by the processing block size information.
[0190] According to an embodiment, the receiver 110 of the image decoding device 100 can obtain processing block size information from the bitstream based on each specific data unit. For example, the processing block size information can be obtained from the bitstream according to data units (such as images, sequences, frames, stripes, strip segments, parallel blocks, or groups of parallel blocks). That is, the receiver 110 can obtain processing block size information from the bitstream based on each of the various data units, and the image decoding device 100 can determine the size of one or more processing blocks divided from the frame by using the obtained processing block size information. The size of the processing block can be an integer multiple of the size of a reference coding unit.
[0191] According to an embodiment, the image decoding device 100 can determine the sizes of processing blocks 1602 and 1612 included in the frame 1600. For example, the image decoding device 100 can determine the size of the processing blocks based on processing block size information obtained from the bitstream. (Refer to...) Figure 16 According to an embodiment, the image decoding device 100 may determine the width of processing blocks 1602 and 1612 to be four times the width of the reference coding unit, and may determine the height of processing blocks 1602 and 1612 to be four times the height of the reference coding unit. The image decoding device 100 may determine the determination order of one or more reference coding units in one or more processing blocks.
[0192] According to an embodiment, the image decoding device 100 may determine processing blocks 1602 and 1612 included in the frame 1600 based on the size of the processing blocks, and may determine the determination order of one or more reference coding units in processing blocks 1602 and 1612. According to an embodiment, the step of determining the reference coding units may include determining the size of the reference coding units.
[0193] According to an embodiment, the image decoding device 100 can obtain determination order information about one or more reference coding units included in one or more processing blocks from a bitstream, and can determine the determination order of one or more reference coding units based on the obtained determination order information. The determination order information can be defined as the order or direction of the reference coding units in the processing block. That is, the determination order of the reference coding units can be determined independently for each processing block.
[0194] According to an embodiment, the image decoding device 100 can obtain deterministic order information about reference coding units from the bitstream for each specific data unit. For example, the receiver 110 can obtain deterministic order information about reference coding units from the bitstream for each data unit (such as an image, sequence, frame, strip, strip segment, parallel block, parallel block group, or processing block). Because the deterministic order information about reference coding units indicates the order of reference coding units used to determine a processing block, deterministic order information can be obtained for each specific data unit comprising an integer number of processing blocks.
[0195] According to an embodiment, the image decoding device 100 may determine one or more reference coding units based on a determined order.
[0196] According to an embodiment, receiver 110 can obtain determined order information about reference coding units from the bitstream as information related to processing blocks 1602 and 1612, and image decoding device 100 can determine the determined order of one or more reference coding units included in processing blocks 1602 and 1612 and determine one or more reference coding units included in frame 1600 based on the determined order. (Refer to...) Figure 16The image decoding device 100 can determine the determination order 1604 of one or more reference coding units in processing block 1602 and the determination order 1614 of one or more reference coding units in processing block 1612. For example, when obtaining determination order information about reference coding units for each processing block, the determination order of reference coding units associated with processing blocks 1602 and 1612 may be different for each processing block. When the determination order 1604 of reference coding units in processing block 1602 is a raster scan order, the reference coding units included in processing block 1602 can be determined according to the raster scan order. Conversely, when the determination order 1614 of reference coding units in another processing block 1612 is a backward raster scan order, the reference coding units included in processing block 1612 can be determined according to the backward raster scan order.
[0197] According to an embodiment, the image decoding device 100 can decode one or more determined reference coding units. The image decoding device 100 can decode an image based on the reference coding units determined in the above embodiments. Methods for decoding the reference coding units may include various image decoding methods.
[0198] According to an embodiment, the image decoding device 100 can obtain block shape information indicating the shape of the current coding unit or partition shape pattern information indicating the partitioning method of the current coding unit from the bitstream, and can use the obtained information. The partition shape pattern information can be included in the bitstream associated with various data units. For example, the image decoding device 100 can use the partition shape pattern information included in sequence parameter sets, picture parameter sets, video parameter sets, strip headers, strip segment headers, parallel block headers, or parallel block group headers. Furthermore, the image decoding device 100 can obtain syntax elements corresponding to the block shape information or partition shape pattern information from the bitstream according to each maximum coding unit, each reference coding unit, or each processing block, and can use the obtained syntax elements.
[0199] The method for determining partitioning rules according to embodiments of the present disclosure will be described in detail below.
[0200] Image decoding device 100 can determine the partitioning rules of an image. The partitioning rules can be predetermined between image decoding device 100 and image encoding device 2200. Image decoding device 100 can determine the partitioning rules based on information obtained from the bitstream. Image decoding device 100 can determine the partitioning rules based on information obtained from at least one of sequence parameter set, picture parameter set, video parameter set, strip header, strip segment header, parallel block header, or parallel block group header. Image decoding device 100 can determine different partitioning rules based on frames, stripes, parallel blocks, time layers, maximum coding units, or coding units.
[0201] Image decoding device 100 may determine partitioning rules based on the block shape of the coding unit. The block shape may include the size, shape, aspect ratio, and orientation of the coding unit. Image encoding device 2200 and image decoding device 100 may pre-determine partitioning rules based on the block shape of the coding unit. However, this disclosure is not limited thereto. Image decoding device 100 may determine partitioning rules based on information obtained from a bitstream received from image encoding device 2200.
[0202] The shape of the encoding unit can be square or non-square. When the width and height of the encoding unit are the same, the image decoding device 100 can determine that the shape of the encoding unit is square. Furthermore, when the width and height of the encoding unit are not the same, the image decoding device 100 can determine that the shape of the encoding unit is non-square.
[0203] The size of the coding unit can include various sizes, such as 4×4, 8×4, 4×8, 8×8, 16×4, 16×8, ..., 256×256. The size of the coding unit can be classified based on the length of its long side, the length of its short side, or its area. The image decoding device 100 can apply the same classification rules to coding units classified into the same group. For example, the image decoding device 100 can classify coding units with the same long side length as having the same size. Furthermore, the image decoding device 100 can apply the same classification rules to coding units with the same long side length.
[0204] The aspect ratio of the coding unit can include 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 32:1, 1:32, etc. Furthermore, the orientation of the coding unit can include horizontal and vertical directions. A horizontal orientation indicates that the width of the coding unit is longer than its height. A vertical orientation indicates that the width of the coding unit is shorter than its height.
[0205] The image decoding device 100 can adaptively determine the partitioning rules based on the size of the coding unit. The image decoding device 100 can determine the permissible partitioning shape patterns based on different coding unit sizes. For example, the image decoding device 100 can determine whether partitioning is permissible based on the size of the coding unit. The image decoding device 100 can determine the partitioning direction based on the size of the coding unit. The image decoding device 100 can determine the permissible partitioning type based on the size of the coding unit.
[0206] The partitioning rule determined based on the size of the coding unit can be a pre-determined partitioning rule between the image encoding device 2200 and the image decoding device 100. Alternatively, the image decoding device 100 can determine the partitioning rule based on information obtained from the bitstream.
[0207] The image decoding device 100 can adaptively determine the partitioning rules based on the position of the coding units in the image.
[0208] Furthermore, the image decoding device 100 can determine partitioning rules such that coding units generated via different partitioning paths do not have the same block shape. However, this disclosure is not limited to this, and coding units generated via different partitioning paths can have the same block shape. Coding units generated via different partitioning paths can have different decoding processing orders. (Refer to above) Figure 12 The decoding process order has been described, so its details are not provided here.
[0209] Figure 17 This is a diagram illustrating a method for performing chromaticity prediction using a cross-component linear model (CCLM) according to embodiments of the present disclosure.
[0210] CCLM is a method that uses the linear relationship between luminance and chrominance samples to predict chrominance samples. (See reference...) Figure 17 The chromaticity samples of the current block are predicted from the collocated positions of the chromaticity samples using neighboring regions adjacent to the current block. Linear parameters α and β are derived using the relationship between reference luminance samples from neighboring region 1740 of the current luminance block 1720 and reference chromaticity samples from neighboring region 1730 of the current chromaticity block 1710 corresponding to the current luminance block 1720. As shown in Equation 1 below, the current chromaticity sample value of the current chromaticity block 1710 is predicted by applying the derived parameter values to the current luminance samples of the reconstructed current luminance block 1720.
[0211] [Equation 1] Pred c [x, y] = α × Rec L '[x, y]+ β Here, Pred c [x, y] represents the predicted sample value of the current chromaticity sample at the x, y coordinates. L [x,y] is the reconstructed sample value of the current luminance sample corresponding to the current chrominance sample at the x, y coordinate position, α is the multiplication parameter, and β is the addition parameter.
[0212] Figure 18 This is a diagram illustrating a method for performing chromaticity prediction using a multi-model linear model (MMLM) according to embodiments of the present disclosure.
[0213] Unlike CCLM, MMLM is derived from the neighboring regions adjacent to the current block and uses two models. (See reference...) Figure 18The average value of reference luminance samples from the neighboring region of the current luminance block is used as a threshold, and the samples are classified into two groups relative to the threshold. Two linear models, 1810 and 1820, are derived from these two groups using the least mean square method. As shown in Equation 2 below, the current chroma sample of the current chroma block is predicted by applying the reconstructed current luminance sample of the current luminance block to the two derived linear models.
[0214] [Equation 2] Pred c [x, y] = α1 × Rec L '[x, y]+ β1 If Rec L [x, y] <= threshold Pred c [x, y] = α² × Rec L '[x, y]+ β2 If Rec L '[x, y]> threshold In the above Figure 17 and Figure 18 In this paper, the linear models of CCLM and MMLM are derived using the neighboring regions adjacent to the current block. The following will refer to... Figure 19 This describes a method for using regions other than the neighboring regions adjacent to the current block when performing chromaticity prediction using the correlation between the luminance and chromaticity components.
[0215] Figure 19 This is a diagram illustrating a method for performing chromaticity prediction using a region other than the neighboring region adjacent to the current block, according to embodiments of the present disclosure.
[0216] Reference Figure 19 The reference block can be indicated by the block vector or motion vector of the current luma block 1920 corresponding to the current chroma block 1910, or the reference block most similar to the current luma block in the intra-frame template matching prediction (TMP) of the current luma block 1920, or a reference neighboring region adjacent to the reference block. To derive a more accurate linear model, a region different from the neighboring region can be used to derive the linear model.
[0217] For example, the reference luminance block 1940 indicated by the current luminance block 1920 and the reference chrominance block 1930 corresponding to the reference luminance block 1940 can be used as regions for deriving a linear model of CCLM or MMLM. Regions of the reference luminance block 1940 and the reference chrominance block 1930 can be used, in whole or in part, for deriving a linear model.
[0218] Additionally, the reference luminance proximity region 1945 adjacent to the reference luminance block 1940 and the reference chrominance proximity region 1935 adjacent to the reference chrominance block 1930 can be used as regions for deriving linear models of CCLM or MMLM. The regions of reference luminance proximity region 1945 and reference chrominance proximity region 1935 can be used in whole or in part for deriving linear models.
[0219] Additionally, the current luma block 1920 and the reference chroma block 1930 can be used as regions for deriving linear models of CCLM or MMLM. The current luma block 1920 and the reference chroma block 1930 can be used in whole or in part for deriving linear models.
[0220] Additionally, the reference luminance neighbor region 1945 adjacent to the reference luminance block 1940 and the current chrominance neighbor region 1915 adjacent to the current chrominance block 1910 can be used as regions for deriving linear models of CCLM or MMLM. The reference luminance neighbor region 1945 adjacent to the reference luminance block 1940 and the current chrominance neighbor region 1915 adjacent to the current chrominance block 1910 can be used in whole or in part for deriving linear models.
[0221] Additionally, the current luminance neighborhood 1925 and the reference chromaticity neighborhood 1935, adjacent to the current luminance block 1920, can be used as regions for deriving linear models of CCLM or MMLM. The current luminance neighborhood 1925 and the reference chromaticity neighborhood 1935 can be used in whole or in part for deriving linear models.
[0222] Additionally, a linear model for CCLM or MMLM can be derived using neighboring blocks (prediction units or coding units) reconstructed before the current block. For example, neighboring blocks can include spatially adjacent blocks, non-adjacent blocks, or historical candidates (candidates included in a history-based motion vector list). Non-adjacent blocks can be, for example, temporal candidate blocks that are not spatially adjacent. The history-based motion vector list is a list of blocks reconstructed before the current block.
[0223] Figure 20 This is a diagram illustrating a method for performing chromaticity prediction using a convolutional cross-component model (CCCM) according to embodiments of the present disclosure.
[0224] CCCM predicts chromaticity samples Cb and Cr by applying a 7-tap filter to the reconstructed luminance samples. (See reference...) Figure 20CCCM uses the current luminance sample 2000 corresponding to the current chromaticity sample to be predicted, the top luminance sample 2001 located at the top or north of the current luminance sample 2000, the right luminance sample 2002 located at the right or east of the current luminance sample 2000, the bottom luminance sample 2003 located at the bottom or south of the current luminance sample 2000, and the left luminance sample 2004 located at the left or west of the current luminance sample 2000.
[0225] In addition, a non-linear term is used. The non-linear term is expressed as a power of 2000 for the current luminance sample points, as shown in Equation 3 below, and is scaled to the range of sample values for the content.
[0226] [Equation 3] P = (C × C + midVal)>>bitDepth Here, P is the nonlinear term, C is the current luminance sample, midVal is the intermediate chrominance value, and bitDepth is the bit depth of the content.
[0227] Additionally, a bias term is used, which indicates a scalar offset between the input and output and is set to an intermediate chroma value (e.g., 512 for 10 bits).
[0228] As shown in Equation 4 below, the filter coefficients c i The output of the CCCM filter is calculated by convolution with the input value, and the output of the CCCM filter is clipped to the effective chromaticity sample range.
[0229] [Equation 4] predChromaVal = c0C + c1N + c2S + c3E + c4W + c5P + c6B Here, C is the current brightness sample, N is the top brightness sample, S is the bottom brightness sample, E is the right brightness sample, W is the left brightness sample, P is the nonlinear term, and B is the bias term.
[0230] The filter coefficient value c used in Equation 4 is derived by relating the reference luminance sample of the neighboring region 2020 adjacent to the current luminance block 2010 and the chrominance sample corresponding to the reference luminance sample. i In addition, separate coefficient values were calculated for the color difference components Cb and Cr.
[0231] exist Figure 20 In this context, the neighboring regions of the current luma block are used for CCCM, but other regions may be used if the current luma block has a block vector obtained through intra-block duplication or intra-template matching prediction. This will be explained in the reference below. Figure 21 Describe it.
[0232] Intra-frame block copying refers to a method of predicting blocks by using blocks of sample values from the current image (current frame, current slice, etc.). The information indicating the block of the sample value is called a block vector, which is used to distinguish it from the motion vectors used for motion compensation in existing inter-frame prediction.
[0233] Intra-frame template matching prediction works as follows: In the reconstructed search region of the current image (current frame) including the current block, match multiple regions whose size corresponds to the template region adjacent to the current block; calculate the distortion cost; determine the best matching region; determine the matching block adjacent to the best matching region and corresponding to the current block; and predict the current block using the matching block. In this case, since the matching block is a block in the current image including the current block, the information indicating such a matching block can be called a block vector.
[0234] Figure 21 This is a diagram illustrating a method for performing chromaticity prediction using a block vector guided convolutional cross-component model (BVG-CCCM) according to embodiments of the present disclosure.
[0235] Reference Figure 21 When the current luminance block 2115 corresponding to the current chroma block 2105 has a block vector, the reference luminance region 2120 indicated by the block vector and the reference chroma region 2110 corresponding to the reference luminance region 2120 are used to derive the coefficients of the filter.
[0236] As shown in Equation 5 below, BVG-CCCM predicts the current chromaticity sample by applying an 11-tap filter to the reconstructed current luminance sample.
[0237] [Equation 5] predChromaVal=c0C+c1N+c2S+c3E+c4W+c5P(C)+c6P(N)+c7P(S)+c8P(W)C9P(E)+C 10 B Here, C is the current brightness sample point, N is the top brightness sample point, S is the bottom brightness sample point, E is the right brightness sample point, and W is the left brightness sample point. B is the nonlinear term obtained by squaring the corresponding luminance sample, and B is the bias term and is determined as the intermediate chromaticity value.
[0238] In addition, when deriving the coefficients of the filter, a reference luminance neighboring region adjacent to the reference luminance region 2120 and a reference chrominance neighboring region adjacent to the reference chrominance region 2110 can be used.
[0239] Figure 22This is a diagram illustrating a method for performing chromaticity prediction using a cross-component residual model (CCRM) according to embodiments of the present disclosure.
[0240] CCRM uses reconstructed luminance sample values to predict chrominance samples. When the current block 2250 is predicted via inter-frame prediction or intra-frame block copying, the current block 2250 has a motion vector or block vector. In this case, the reference block indicated by the motion vector or block vector is used as the prediction block. This is because the reference block indicated by the motion vector or block vector is a block similar to the current block.
[0241] Reference Figure 22 In the reference block 2200, indicated by the motion vector or block vector of the current block 2250, there are prediction values for each component, namely, the luminance prediction value predY 2201, the first chrominance prediction value predCb 2202, and the second chrominance prediction value predCr 2203. These prediction values correspond to the reconstructed luminance samples, the reconstructed first chrominance samples, and the reconstructed second chrominance samples of the reference block 2200, and because the reference block indicated by the motion vector or block vector is a block similar to the current block, the reconstructed luminance sample values and the reconstructed chrominance sample values of the reference block 2200 can be used as the luminance prediction values and chrominance prediction values of the current block 2250. An (2205) 8-tap filter is derived by using the prediction values 2201, 2202, and 2203 for each component. The derived filter (2220) is applied to the luminance reconstructed sample reconY 2245 obtained by adding the luminance residual sample resY 2210 to the luminance prediction value 2201. Because the derived filter is obtained through cross-component correlation, when the filter is applied to the luminance reconstructed sample 2245, a more accurate first chromaticity prediction value 2225 and a second chromaticity prediction value 2230 are obtained for the current chromaticity block than the first chromaticity prediction values 2202 and 2203 of the reference block 2220. The current chromaticity block is reconstructed by the following steps: obtaining a first chromaticity reconstructed sample reconCb 2255 by adding the first chromaticity residual sample resCb 2235 to the first chromaticity prediction value 2225, and obtaining a second chromaticity reconstructed sample reconCr 2260 by adding the second chromaticity residual sample resCr 2240 to the second chromaticity prediction value 2230.
[0242] Reference Figure 22 The described filter derivation, filter application, and luminance and chrominance sample reconstruction processes are applied in addition to... Figure 21 The differences in filters used in BVG-CCCM can be applied in the same way to BVG-CCCM.
[0243] In the following text, we will refer to... Figure 23Describe the location of the brightness samples of the filter applied to CCRM.
[0244] Figure 23 This is a diagram illustrating the location of luminance samples of a filter employing CCRM according to embodiments of the present disclosure.
[0245] Reference Figure 23 In CCRM, the luminance samples for which the filter is applied include the current luminance sample 2310 corresponding to the current chroma sample 2300 to be predicted, the left luminance sample 2305 located to the left of the current luminance sample 2310, the right luminance sample 2315 located to the right of the current luminance sample 2310, the lower left luminance sample 2320 located to the lower left of the current luminance sample 2310, the bottom luminance sample 2325 located at the bottom of the current luminance sample 2310, and the lower right luminance sample 2330 located to the lower right of the current luminance sample 2310. This indicates that the luminance samples for which the filter is applied are in a 4:2:0 color format with the current chroma sample 2300.
[0246] When the coordinates of the current chromaticity sample 2300 are represented as (x, y), the coordinates of the current luminance sample 2310 are (2x, 2y), the coordinates of the left luminance sample 2305 are (2x-1, 2y), the coordinates of the right luminance sample 2315 are (2x+1, 2y), the coordinates of the lower left luminance sample 2320 are (2x-1, 2y+1), the coordinates of the bottom luminance sample 2325 are (2x, 2y+1), and the coordinates of the lower right luminance sample 2330 are (2x+1, 2y+1).
[0247] The filter used in CCRM is an 8-tap filter, and as shown in Equation 6 below, it uses a term for the six reconstructed luminance samples, a nonlinear term, and a bias term.
[0248] [Equation 6] predChromaVal=c0L0+c1L1+c2L2+c3L3+c4L4+c5L5+c6nonlinear(L0+L3+1)>>1)+c7B Here, c i These are the filter coefficient values. L0 is the current luminance sample corresponding to the current chrominance sample, L1 is the left luminance sample, L2 is the right luminance sample, L3 is the lower left luminance sample, L4 is the bottom luminance sample, L5 is the lower right luminance sample, and B is the bias term and is determined to be the intermediate chrominance value.
[0249] The above Figures 21 to 23BVG-CCCM and CCRM derive filters by the correlation between reference luminance sample values and reference chrominance sample values in a reference region indicated by the block vector or motion vector of the current block, and predict the current chrominance sample value of the current block by applying the derived filters to the reconstructed current luminance sample values of the current block. However, even if the correlation between the reference luminance sample values and reference chrominance sample values in the reference region is correctly inferred, this correlation may differ slightly from the correlation between the reconstructed current luminance sample values and current chrominance sample values of the current block. Therefore, predicting the current chrominance sample value by applying the derived filters to the reconstructed current luminance sample values of the current block may result in low accuracy.
[0250] To overcome this, refer to Figure 24 This describes a method for performing chromaticity prediction on the current block by considering the reference chromaticity sample values of the reference region together.
[0251] Figure 24 This is a diagram illustrating a method for performing chromaticity prediction using luminance residual samples of the current block and reference chromaticity samples of a reference region according to embodiments of the present disclosure.
[0252] With the above Figures 21 to 23 The methods that directly predict the current chromaticity sample point by reconstructing the current luminance sample point (BCG-CCCM and CCRM) are different. Figure 24 The method derives the residual value of the current chromaticity sample from the residual value of the current luminance sample, and predicts the chromaticity sample value of the current block by adding the derived residual value to the reference chromaticity sample value.
[0253] and Figures 21 to 23 Compared to the method (when there is a high correlation between the chromaticity samples in the current block and the reference chromaticity samples in the reference region of the current block, but the reference chromaticity samples are not used directly), Figure 24 The method can improve the performance of chromaticity prediction by directly using reference chromaticity samples.
[0254] Reference Figure 24In the reference block 2400 indicated by the motion vector or block vector of the current block 2450, there are predicted values for each component, namely, the luminance predicted value predY 2401, the first chrominance predicted value predCb 2402, and the second chrominance predicted value predCr 2403. These predicted values correspond to the reconstructed luminance samples, the reconstructed first chrominance samples, and the reconstructed second chrominance samples of the reference block 2400, and because the reference block indicated by the motion vector or block vector is a block similar to the current block, the reconstructed luminance sample values and the reconstructed chrominance sample values of the reference block 2400 can be used as the luminance predicted values and chrominance predicted values of the current block 2450. A filter (2405) is derived based on the predicted values 2401, 2402, and 2403 for each component. The derived filter (2420) is applied to the luminance residual sample resY 2410 for the current block 2450. The filter yields a first chromaticity prediction residual value, “Predicted resCb”, 2421, and a second chromaticity prediction residual value, “Predicted resCr”, 2422. An enhanced first chromaticity prediction value, “Enhanced predCb”, 2425, is obtained by adding the first chromaticity prediction value 2402 to the first chromaticity prediction residual value 2421, and an enhanced second chromaticity prediction value, “Enhanced predCr”, 2430, is obtained by adding the second chromaticity prediction value 2403 to the second chromaticity prediction residual value 2422. The current chroma block is reconstructed by adding the first chroma residual sample resCb 2435 to the enhanced first chroma prediction value 2425 to obtain the first chroma reconstruction sample reconCb 2455 for the current block 2450, and adding the second chroma residual sample resCr 2440 to the enhanced second chroma prediction value 2430 to obtain the second chroma reconstruction sample reconCr 2460 for the current block 2450.
[0255] Furthermore, the brightness reconstruction sample reconY 2445 for the current block 2450 is obtained by adding the current brightness residual sample 2410 to the brightness prediction value 2401.
[0256] To improve the performance of chromaticity prediction, more accurate chromaticity prediction values (i.e., enhanced chromaticity prediction values 2425 and 2430) are obtained by the following steps: applying the luminance residual sample 2410 for the current block 2450 to the filter to infer the residual value 2421 for the chromaticity prediction sample 2402 and the residual value 2422 for the chromaticity prediction sample 2403, and adding the residual value 2421 to the chromaticity prediction sample 2402 and adding the residual value 2422 to the chromaticity prediction sample 2403. Figure 24 The method uses highly correlated reference chromaticity values, therefore, higher compression efficiency can be expected compared to predicting the current chromaticity sample directly from the reconstructed current luminance sample values.
[0257] Alternatively, to derive the filter, the residual values of the reference luminance and reference chrominance samples of reference block 2400 can be used instead of the reference luminance and reference chrominance samples of reference block 2400. That is, the reference luminance and reference chrominance residual samples used in the process of reconstructing reference block 2400 are used for filter derivation. In this case, a filter for more precise prediction of the residual values in the current block 2450 can be derived.
[0258] In the following text, Figure 25 Described by using Figure 24 The method uses BVG-CCCM to perform chromaticity prediction. Figure 26 Described by using Figure 24 The method uses CCRM to perform chromaticity prediction.
[0259] Figure 25 This is a diagram illustrating a method for performing chromaticity prediction in a BVG-CCCM using luminance residual samples of the current block and reference chromaticity samples of a reference region, according to embodiments of the present disclosure.
[0260] Reference Figure 25 The filter is derived using reference luminance samples 2531, 2532, 2533, 2534, and 2535 of a reference luminance block 2530 indicated by the block vector of the current luminance block 2510 corresponding to the current chrominance block 2500, and reference chrominance sample 2525 of a reference chrominance block 2520 corresponding to the reference luminance block 2530. Specifically, the reference chrominance sample is used. 2525, Reference brightness sample 2535, Top Reference Brightness Sample 2531, Left side reference brightness sample point 2532. Bottom reference brightness sample 2533 and the reference brightness sample on the right 2534. Reference chromaticity sample 2525 is the current chromaticity sample C of reference chromaticity block 2520 and the current chromaticity block 2500. chThe chromaticity sample point corresponding to 2505. Reference luminance sample point 2535 is the luminance sample point of reference luminance block 2530 corresponding to the current luminance sample point C 2515 of the current luminance block 2510. Top reference luminance sample point 2531 is the luminance sample point located at the top of reference luminance sample point 2535. Left reference luminance sample point 2532 is the luminance sample point located to the left of reference luminance sample point 2535. Bottom reference luminance sample point 2533 is the luminance sample point located at the bottom of reference luminance sample point 2535. Right reference luminance sample point 2534 is the luminance sample point located to the right of reference luminance sample point 2535. Using reference chromaticity samples. 2525, Reference brightness sample 2535, Top Reference Brightness Sample 2531, Left side reference brightness sample point 2532. Bottom reference brightness sample 2533 and the reference brightness sample on the right 2534. Derivation of the filter for BVG-CCCM. The residual luminance sample values of the current luminance block 2510 (i.e., the current luminance sample C 2515, the top luminance sample N 2511 located above the current luminance sample 2515, the left luminance sample W 2512 located to the left of the current luminance sample 2515, the bottom luminance sample S 2513 located to the bottom of the current luminance sample 2515, and the right luminance sample E 2514 located to the right of the current luminance sample 2515) are applied to the derived filter. The residual luminance sample values applied to the filter are determined as shown in Equation 7 below.
[0261] [Equation 7] Residual brightness sample values: As shown in Equation 8 below, the chromaticity prediction residual value for the current chromaticity sample is obtained by applying the residual luminance sample value to the filter.
[0262] [Equation 8] predChromaResidualVal = c0 C + c1 N + c2 S + c3 E + c4 W + c5P( C) + c6P( N) + c7P( S) + c8P( W) + c9P( E) + c 10 B As shown in Equation 9 below, the predicted value of the current chromaticity sample 2505, predChromaVal, is obtained by adding the reference chromaticity sample 2525 to the chromaticity prediction residual value predChromaResidualVal obtained through the filter.
[0263] [Equation 9] predChromaVal = + predChromaResidualVal According to an embodiment, reference luminance samples in the vicinity of reference luminance block 2530 or reference chrominance samples in the vicinity of reference chrominance block 2520 can be used to derive the filter.
[0264] Figure 26 This is a diagram illustrating a method for performing chromaticity prediction in CCRM using luminance residual samples of the current block and reference chromaticity samples of a reference region according to embodiments of the present disclosure.
[0265] Reference Figure 26 The filter is derived using reference luminance samples 2631, 2632, 2633, 2634, 2635, and 2636 of a reference luminance block 2630 indicated by the block vector or motion vector of the current luminance block 2610 corresponding to the current chrominance block 2600, and reference chrominance sample 2625 of a reference chrominance block 2620 corresponding to the reference luminance block 2630. Specifically, the reference chrominance samples are used. 2625. Left reference brightness sample point 1 2631, Reference brightness sample 0 2632, Right-side reference brightness sample 22633, Lower left reference brightness sample point 4,2634, Bottom Reference Brightness Samples 3,2635 and the lower right reference brightness sample. 5 2636. Reference chromaticity sample 2625 is the current chromaticity sample C of reference chromaticity block 2620 and the current chromaticity block 2600. chThe chromaticity sample corresponding to 2605. Reference luminance sample 2632 is the luminance sample of reference luminance block 2630 corresponding to the current luminance sample L0 2612 of the current luminance block 2610. Left reference luminance sample 2631 is the luminance sample located to the left of reference luminance sample 2632. Right reference luminance sample 2633 is the luminance sample located to the right of reference luminance sample 2632. Lower left reference luminance sample 2634 is the luminance sample located to the lower left of reference luminance sample 2632. Bottom reference luminance sample 2635 is the luminance sample located at the bottom of reference luminance sample 2632, and lower right reference luminance sample 2636 is the luminance sample located to the lower right of reference luminance sample 2632. Using reference chromaticity samples. 2625. Left reference brightness sample point 1 2631, Reference brightness sample 0 2632, Right-side reference brightness sample 22633, Lower left reference brightness sample point 4,2634, Bottom Reference Brightness Samples 3,2635 and the lower right reference brightness sample. 5.2636 is used to derive the filter for CCRM. The residual luminance sample values of the reference luminance block 2630 (i.e., the current luminance sample 2612, the left luminance sample L1 2611 located to the left of the current luminance sample 2612, the right luminance sample L2 2613 located to the right of the current luminance sample 2612, the lower left luminance sample L4 2614 located to the lower left of the current luminance sample 2612, the bottom luminance sample L3 2615 located at the bottom of the current luminance sample 2612, and the lower right luminance sample L5 2616 located to the lower right of the current luminance sample 2612) are applied to the derived filter. The residual luminance sample values applied to the filter are determined as shown in Equation 10 below.
[0266] [Equation 10] Residual brightness sample values: As shown in Equation 11 below, the chromaticity prediction residual value for the current chromaticity sample is obtained by applying the residual luminance sample value to the filter.
[0267] [Equation 11] predChromaResidualVal = c0 L0 + c1 L1 + c2 L2 + c3 L3 + c4 L4 +c5 L5 + c6nonlinear( L0+ L3+1)>>1) + c7B As shown in Equation 12 below, the predicted value predChromaVal of the current chromaticity sample 2605 is obtained by adding the reference chromaticity sample 2625 to the chromaticity prediction residual value predChromaResidualVal obtained through the filter.
[0268] [Equation 12] predChromaVal = + predChromaResidualVal According to an embodiment, reference luminance samples in the vicinity of reference luminance block 2630 or reference chrominance samples in the vicinity of reference chrominance block 2620 can be used to derive the filter.
[0269] Reference Figures 27 to 30 The present disclosure describes in detail an image decoding method, an image decoding apparatus, an image encoding apparatus, and an image encoding apparatus that perform chromaticity prediction using luminance residual samples of the current block and reference chromaticity samples of a reference region, according to embodiments of the present disclosure.
[0270] Figure 27 This is an illustration used to describe an image decoding method according to embodiments of the present disclosure.
[0271] Reference Figure 27 In operation S2710, the image decoding device 2800 can derive a filter for chromaticity prediction of the current chromaticity sample included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by the current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region.
[0272] According to embodiments of this disclosure, when the current luminance block is reconstructed in intra-frame block copy mode, the current luminance block may have a block vector, and a reference luminance region may be determined by the block vector.
[0273] According to embodiments of this disclosure, when a current luma block is reconstructed by intra-frame template matching prediction, a reference luma region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0274] According to embodiments of this disclosure, when the current luminance block is reconstructed by inter-frame prediction, the current luminance block may have a motion vector, and the reference luminance region may be determined by the motion vector.
[0275] During operation S2720, the image decoding device 2800 can obtain from the bitstream at least one luminance residual sample point of the current luminance block, including the current luminance residual sample point corresponding to the current chroma sample point.
[0276] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0277] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0278] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0279] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0280] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0281] In operation S2730, the image decoding device 2800 can obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying at least one luminance residual sample to the filter.
[0282] In operation S2740, the image decoding device 2800 can obtain an enhanced first chromaticity prediction sample by using a first chromaticity prediction residual sample and a first reference chromaticity sample, and obtain an enhanced second chromaticity prediction sample by using a second reference chromaticity residual sample and a second chromaticity prediction sample.
[0283] In operation S2750, the image decoding device 2800 can obtain the first chromaticity residual sample and the second chromaticity residual sample for the current chromaticity sample from the bit stream.
[0284] In operation S2760, the image decoding device 2800 can reconstruct the current chromaticity sample by obtaining a first chromaticity reconstructed sample using a first chromaticity residual sample and an enhanced first chromaticity prediction sample, and by obtaining a second chromaticity reconstructed sample using a second chromaticity residual sample and an enhanced second chromaticity prediction sample.
[0285] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance reconstruction sample point, the first reference chromaticity sample point may be a first reference chromaticity reconstruction sample point, and the second reference chromaticity sample point may be a second reference chromaticity reconstruction sample point.
[0286] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0287] According to embodiments of this disclosure, the image decoding device 2800 can obtain at least one luminance reconstruction sample by using at least one reference luminance sample and at least one luminance residual sample.
[0288] Figure 28 This is a block diagram illustrating an image decoding apparatus according to an embodiment of the present disclosure.
[0289] The image decoding apparatus 2800 according to an embodiment may include at least one memory 2810 and at least one processor 2820 connected to the at least one memory 2810. The at least one memory 2810 may include instructions for implementing embodiments of the present disclosure. The at least one processor 2820 may be operatively incorporated into the at least one memory 2810 and configured to implement embodiments of the present disclosure by executing instructions included in the at least one memory 2810. The image encoding apparatus 2800 according to an embodiment of the present disclosure may operate as a separate processor or may operate under the control of a central processing unit.
[0290] This can be implemented by an image decoding device 2800 according to an embodiment of the present disclosure. Figure 27 The above image decoding method.
[0291] Figure 29 This is an illustration used to describe an image encoding method according to embodiments of the present disclosure.
[0292] Reference Figure 29 In operation S2910, the image encoding device 3000 can derive a filter for chromaticity prediction of the current chromaticity sample included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region.
[0293] According to embodiments of this disclosure, when the current luma block is encoded in intra-frame block copy mode, the current luma block may have a block vector, and a reference luma region may be determined by the block vector.
[0294] According to embodiments of this disclosure, when the current luma block is encoded by intra-frame template matching prediction, a reference luma region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0295] According to embodiments of this disclosure, when the current luminance block is encoded by inter-frame prediction, the current luminance block may have a motion vector, and the reference luminance region may be determined by the motion vector.
[0296] In operation S2920, the image encoding device 3000 can generate at least one luminance residual sample point of the current luminance block, including the current luminance residual sample point corresponding to the current chromaticity sample point, based on the original block and the reference luminance region of the current luminance block.
[0297] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0298] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0299] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0300] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0301] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0302] In operation S2930, the image encoding device 3000 can obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying at least one luminance residual sample to the filter.
[0303] In operation S2940, the image encoding device 3000 can obtain an enhanced first chromaticity prediction sample by using a first chromaticity prediction residual sample and a first reference chromaticity sample, and obtain an enhanced second chromaticity prediction sample by using a second reference chromaticity residual sample and a second chromaticity prediction sample.
[0304] In operation S2950, the image encoding device 3000 can generate a first chromaticity residual sample based on a first chromaticity original sample and an enhanced first chromaticity prediction sample for the current chromaticity sample, and generate a second chromaticity residual sample based on a second chromaticity original sample and an enhanced second chromaticity prediction sample for the current chromaticity sample.
[0305] During operation S2960, the image encoding device 3000 can generate a bitstream including at least one luminance residual sample, a first chrominance residual sample, and a second chrominance residual sample.
[0306] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance reconstruction sample point, the first reference chromaticity sample point may be a first reference chromaticity reconstruction sample point, and the second reference chromaticity sample point may be a second reference chromaticity reconstruction sample point.
[0307] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0308] Figure 30 This is a block diagram illustrating an image encoding apparatus according to an embodiment of the present disclosure.
[0309] The image encoding apparatus 3000 according to an embodiment may include at least one memory 3010 and at least one processor 3020 connected to the at least one memory 3010. The at least one memory 3010 may include instructions for implementing embodiments of the present disclosure. The at least one processor 3020 may be operatively incorporated into the at least one memory 3010 and configured to implement embodiments of the present disclosure by executing instructions included in the at least one memory 3010. The image encoding apparatus 3000 according to an embodiment of the present disclosure may operate as a separate processor or may operate under the control of a central processing unit.
[0310] This can be implemented by an image encoding device 3000 according to an embodiment of the present disclosure. Figure 29 The above image encoding method.
[0311] According to embodiments of this disclosure, an image decoding method may include: deriving a filter for chromaticity prediction of current chromaticity samples included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region; obtaining at least one luminance residual sample of the current luminance block including current luminance residual samples corresponding to the current chromaticity samples from a bitstream; and obtaining a first chromaticity prediction for the current chromaticity samples by applying the at least one luminance residual sample to the filter. Measure residual samples and second chromaticity prediction residual samples; obtain enhanced first chromaticity prediction samples by using first chromaticity prediction residual samples and first reference chromaticity samples, and obtain enhanced second chromaticity prediction samples by using second reference chromaticity residual samples and second chromaticity prediction samples; obtain first chromaticity residual samples and second chromaticity residual samples for the current chromaticity sample from the bitstream; obtain first chromaticity reconstruction samples by using first chromaticity residual samples and enhanced first chromaticity prediction samples, and obtain second chromaticity reconstruction samples by using second chromaticity residual samples and enhanced second chromaticity prediction samples, and reconstruct the current chromaticity sample.
[0312] According to embodiments of this disclosure, the image decoding method can derive a current chromaticity prediction residual point by using reference chromaticity samples of a reference chromaticity region that are highly correlated with the chromaticity samples of the current chromaticity block, via the current luminance residual point, obtain an enhanced current chromaticity prediction point by using the reference chromaticity sample point and the current chromaticity prediction residual point, and perform chromaticity prediction using the enhanced current chromaticity prediction point and the current chromaticity residual point. This achieves high compression efficiency and improves the accuracy of chromaticity prediction by using luminance reconstruction samples, compared to directly using chromaticity samples.
[0313] According to embodiments of this disclosure, when the current luminance block is reconstructed in intra-frame block copy mode, the current luminance block may have a block vector, and a reference luminance region may be determined by the block vector.
[0314] According to embodiments of this disclosure, the image decoding method can improve the accuracy of chromaticity prediction by using reference luminance regions and reference chromaticity regions that are highly correlated with the current luminance block and the current chromaticity block through block vectors.
[0315] According to embodiments of this disclosure, when a current luma block is reconstructed by intra-frame template matching prediction, a reference luma region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0316] According to embodiments of this disclosure, the image decoding method can determine the most similar matching region to the current luminance block as a reference luminance region and a reference chrominance region based on intra-frame template matching prediction, and use the reference luminance region and reference chrominance region that are highly correlated with the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0317] According to embodiments of this disclosure, when the current luminance block is reconstructed by inter-frame prediction, the current luminance block may have a motion vector, and the reference luminance region may be determined by the motion vector.
[0318] According to embodiments of this disclosure, the image decoding method can improve the accuracy of chromaticity prediction by using reference luminance regions and reference chromaticity regions that are highly correlated with the current luminance block and the current chromaticity block through motion vectors.
[0319] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0320] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0321] According to embodiments of this disclosure, for the BVG CCCM method, the image decoding method can derive the current chroma prediction residual points by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual points, obtain enhanced current chroma prediction points by using the reference chroma points and the current chroma prediction residual points, and perform chroma prediction using the enhanced current chroma prediction points and the current chroma residual points. Thus, compared with directly using chroma points, high compression efficiency and improved accuracy of chroma prediction are achieved by using luminance reconstruction points.
[0322] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0323] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0324] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0325] According to embodiments of this disclosure, for the CCRM method, the image decoding method can derive the current chroma prediction residual sample by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual sample, obtain an enhanced current chroma prediction sample by using the reference chroma sample and the current chroma prediction residual sample, and perform chroma prediction using the enhanced current chroma prediction sample and the current chroma residual sample. Thus, compared with directly using chroma samples, high compression efficiency and improved accuracy of chroma prediction are achieved by using luminance reconstruction samples.
[0326] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance reconstruction sample point, the first reference chromaticity sample point may be a first reference chromaticity reconstruction sample point, and the second reference chromaticity sample point may be a second reference chromaticity reconstruction sample point.
[0327] According to embodiments of this disclosure, the image decoding method can use reconstructed samples from reference luminance regions and reference chrominance regions that are highly correlated with the current luminance block and the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0328] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0329] According to embodiments of this disclosure, the image decoding method can improve the accuracy of chromaticity prediction by using residual samples from a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block to obtain a filter for more finely predicting the values of the residual samples.
[0330] According to embodiments of this disclosure, the image decoding method may further include obtaining at least one luminance reconstruction sample by using at least one reference luminance sample and at least one luminance residual sample.
[0331] According to embodiments of this disclosure, the image decoding method can use reference brightness samples from a reference brightness region that is highly correlated with the current brightness block as prediction samples for the current brightness sample, thereby improving the accuracy of the prediction of the current brightness sample.
[0332] According to embodiments of this disclosure, an image decoding apparatus may include: a memory storing one or more instructions; and at least one processor configured to operate according to one or more instructions. The at least one processor may derive a filter for chromaticity prediction of a current chromaticity sample included in the current chromaticity block, based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block, and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region. The at least one processor may obtain from a bitstream at least one luminance residual sample of the current luminance block, including a current luminance residual sample corresponding to the current chromaticity sample. The at least one processor may obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying the at least one luminance residual sample to the filter. The at least one processor may obtain an enhanced first chromaticity prediction sample by using the first chromaticity prediction residual sample and the first reference chromaticity sample, and an enhanced second chromaticity prediction sample by using the second reference chromaticity residual sample and the second chromaticity prediction sample. At least one processor can obtain a first chroma residual sample and a second chroma residual sample for the current chroma sample from the bitstream. At least one processor can reconstruct the current chroma sample by obtaining a first chroma reconstructed sample using the first chroma residual sample and an enhanced first chroma prediction sample, and by obtaining a second chroma reconstructed sample using the second chroma residual sample and an enhanced second chroma prediction sample.
[0333] According to embodiments of this disclosure, an image decoding device can derive a current chromaticity prediction residual sample by using a reference chromaticity sample of a reference chromaticity region that is highly correlated with the chromaticity sample of the current chromaticity block, via the current luminance residual sample, obtain an enhanced current chromaticity prediction sample by using the reference chromaticity sample and the current chromaticity prediction residual sample, and perform chromaticity prediction using the enhanced current chromaticity prediction sample and the current chromaticity residual sample. This achieves high compression efficiency and improves the accuracy of chromaticity prediction by using luminance reconstruction samples compared to directly using chromaticity samples.
[0334] According to embodiments of this disclosure, when the current luminance block is reconstructed in intra-frame block copy mode, the current luminance block may have a block vector, and a reference luminance region may be determined by the block vector.
[0335] According to embodiments of this disclosure, an image decoding device can improve the accuracy of chromaticity prediction by using a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block through block vectors.
[0336] According to embodiments of this disclosure, when the current luminance block is reconstructed by intra-frame template matching prediction, a reference luminance region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0337] According to embodiments of this disclosure, an image decoding device can determine the most similar matching region to the current luminance block as a reference luminance region and a reference chrominance region based on intra-frame template matching prediction, and use the reference luminance region and reference chrominance region that are highly correlated with the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0338] According to embodiments of this disclosure, when the current luminance block is reconstructed through inter-frame prediction, the current luminance block may have a motion vector, and a reference luminance region may be determined by the motion vector.
[0339] According to embodiments of this disclosure, an image decoding device can improve the accuracy of chromaticity prediction by using a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block through motion vectors.
[0340] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0341] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0342] According to embodiments of this disclosure, for the BVG CCCM method, the image decoding device can derive the current chroma prediction residual sample by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual sample, obtain an enhanced current chroma prediction sample by using the reference chroma sample and the current chroma prediction residual sample, and perform chroma prediction using the enhanced current chroma prediction sample and the current chroma residual sample. Thus, compared with directly using chroma samples, high compression efficiency and improved accuracy of chroma prediction are achieved by using luminance reconstruction samples.
[0343] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0344] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0345] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0346] According to embodiments of this disclosure, for the CCRM method, the image decoding method can derive the current chroma prediction residual sample by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual sample, obtain an enhanced current chroma prediction sample by using the reference chroma sample and the current chroma prediction residual sample, and perform chroma prediction using the enhanced current chroma prediction sample and the current chroma residual sample. Thus, compared with directly using chroma samples, high compression efficiency and improved accuracy of chroma prediction are achieved by using luminance reconstruction samples.
[0347] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance reconstruction sample point, the first reference chromaticity sample point may be a first reference chromaticity reconstruction sample point, and the second reference chromaticity sample point may be a second reference chromaticity reconstruction sample point.
[0348] According to embodiments of this disclosure, an image decoding device can use reconstructed samples from a reference luminance region and a reference chrominance region that are highly correlated with the current luminance block and the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0349] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0350] According to embodiments of this disclosure, an image decoding device can use residual samples from a reference luminance region and a reference chrominance region that are highly correlated with the current luminance block and the current chrominance block to obtain a filter for more finely predicting the values of the residual samples and improve the accuracy of chrominance prediction.
[0351] According to embodiments of this disclosure, at least one processor can obtain at least one luminance reconstruction sample by using at least one reference luminance sample and at least one luminance residual sample.
[0352] According to embodiments of this disclosure, the image decoding device can use reference luminance samples from a reference luminance region that are highly correlated with the current luminance block as prediction samples for the current luminance sample, thereby improving the prediction accuracy of the current luminance sample.
[0353] According to embodiments of this disclosure, an image encoding method may include: deriving a filter for chromaticity prediction of current chromaticity samples included in the current chromaticity block based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block and a first reference chromaticity sample and a second reference chromaticity sample of a reference chromaticity region corresponding to the reference luminance region; generating at least one luminance residual sample of the current luminance block including current luminance residual samples corresponding to the current chromaticity samples based on the original block of the current luminance block and the reference luminance region; and obtaining a first chromaticity prediction for the current chromaticity samples by applying the at least one luminance residual sample to the filter. The method involves measuring residual samples and second chromaticity prediction residual samples; obtaining enhanced first chromaticity prediction samples by using first chromaticity prediction residual samples and first reference chromaticity samples, and obtaining enhanced second chromaticity prediction samples by using second reference chromaticity residual samples and second chromaticity prediction samples; generating first chromaticity residual samples based on first original chromaticity samples and enhanced first chromaticity prediction samples for the current chromaticity sample, and generating second chromaticity residual samples based on second original chromaticity samples and enhanced second chromaticity prediction samples for the current chromaticity sample; and generating a bitstream including at least one luminance residual sample, first chromaticity residual sample, and second chromaticity residual sample.
[0354] According to embodiments of this disclosure, the image encoding method can derive a current chromaticity prediction residual point by using reference chromaticity samples of a reference chromaticity region that are highly correlated with the chromaticity samples of the current chromaticity block, via the current luminance residual point, obtain an enhanced current chromaticity prediction point by using the reference chromaticity samples and the current chromaticity prediction residual point, and generate a current chromaticity residual point by using the enhanced current chromaticity prediction point and the current original chromaticity sample point. Thus, compared with directly using chromaticity samples, the method achieves high compression efficiency and improves the accuracy of chromaticity prediction by using luminance reconstruction samples.
[0355] According to embodiments of this disclosure, when the current luma block is encoded in intra-frame block copy mode, the current luma block may have a block vector, and a reference luma region may be determined by the block vector.
[0356] According to embodiments of this disclosure, the image coding method can improve the accuracy of chromaticity prediction by using reference luminance regions and reference chromaticity regions that are highly correlated with the current luminance block and the current chromaticity block through block vectors.
[0357] According to embodiments of this disclosure, when the current luma block is encoded by intra-frame template matching prediction, a reference luma region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0358] According to embodiments of this disclosure, the image coding method can determine the most similar matching region to the current luminance block as a reference luminance region and a reference chrominance region based on intra-frame template matching prediction, and use the reference luminance region and reference chrominance region that are highly correlated with the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0359] According to embodiments of this disclosure, when the current luminance block is encoded by inter-frame prediction, the current luminance block may have a motion vector, and a reference luminance region may be determined by the motion vector.
[0360] According to embodiments of this disclosure, the image coding method can improve the accuracy of chromaticity prediction by using reference luminance regions and reference chromaticity regions that are highly correlated with the current luminance block and the current chromaticity block through motion vectors.
[0361] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0362] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0363] According to embodiments of this disclosure, for the BVG CCCM method, the image encoding method can derive the current chroma prediction residual points by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual points, obtain an enhanced current chroma prediction point by using the reference chroma points and the current chroma prediction residual points, and generate the current chroma residual points by using the enhanced current chroma prediction points and the current original chroma points. Thus, compared with directly using chroma points, high compression efficiency and improved chroma prediction accuracy are achieved by using luminance reconstruction points.
[0364] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0365] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0366] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0367] According to embodiments of this disclosure, for the CCRM method, the image encoding method can derive the current chroma prediction residual points by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual points, obtain an enhanced current chroma prediction point by using the reference chroma points and the current chroma prediction residual points, and generate the current chroma residual points by using the enhanced current chroma prediction points and the current original chroma points. Thus, compared with directly using chroma points, the method achieves high compression efficiency and improves the accuracy of chroma prediction by using luminance reconstruction points.
[0368] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance encoded sample point, the first reference chrominance sample point may be a first reference chrominance encoded sample point, and the second reference chrominance sample point may be a second reference chrominance encoded sample point.
[0369] According to embodiments of this disclosure, the image coding method can use coded samples from reference luminance regions and reference chrominance regions that are highly correlated with the current luminance block and the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0370] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0371] According to embodiments of this disclosure, the image coding method can improve the accuracy of chromaticity prediction by using residual samples from a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block to obtain a filter for more finely predicting the values of the residual samples.
[0372] According to embodiments of this disclosure, an image encoding apparatus may include: a memory storing one or more instructions; and at least one processor configured to operate according to one or more instructions. The at least one processor may derive a filter for chromaticity prediction of a current chromaticity sample included in the current chromaticity block, based on at least one reference luminance sample of a reference luminance region indicated by a current luminance block corresponding to the current chromaticity block, and a first reference chromaticity sample and a second reference chromaticity sample of the reference luminance region corresponding to the reference luminance region. The at least one processor may generate at least one luminance residual sample of the current luminance block, including a current luminance residual sample corresponding to the current chromaticity sample, based on the original block of the current luminance block and the reference luminance region. The at least one processor may obtain a first chromaticity prediction residual sample and a second chromaticity prediction residual sample for the current chromaticity sample by applying the at least one luminance residual sample to the filter. The at least one processor may obtain an enhanced first chromaticity prediction sample by using the first chromaticity prediction residual sample and the first reference chromaticity sample, and an enhanced second chromaticity prediction sample by using the second reference chromaticity residual sample and the second chromaticity prediction sample. At least one processor can generate a first chromaticity residual sample based on a first raw chromaticity sample and an enhanced first chromaticity prediction sample for the current chromaticity sample, and generate a second chromaticity residual sample based on a second raw chromaticity sample and an enhanced second chromaticity prediction sample for the current chromaticity sample. At least one processor can generate a bitstream including at least one luminance residual sample, the first chromaticity residual sample, and the second chromaticity residual sample.
[0373] According to embodiments of this disclosure, an image encoding device can derive a current chroma prediction residual sample by using a reference chroma sample of a reference chroma region that is highly correlated with the chroma sample of the current chroma block, via the current luminance residual sample, obtain an enhanced current chroma prediction sample by using the reference chroma sample and the current chroma prediction residual sample, and generate a current chroma residual sample by using the enhanced current chroma prediction sample and the current original chroma sample. This achieves high compression efficiency and improves the accuracy of chroma prediction by using luminance reconstruction samples, compared to directly using chroma samples.
[0374] According to embodiments of this disclosure, when the current luma block is encoded in intra-frame block copy mode, the current luma block may have a block vector, and a reference luma region may be determined by the block vector.
[0375] According to embodiments of this disclosure, an image encoding device can improve the accuracy of chromaticity prediction by using a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block through block vectors.
[0376] According to embodiments of this disclosure, when encoding the current luma block by intra-frame template matching prediction, a reference luma region can be determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
[0377] According to embodiments of this disclosure, an image encoding device can determine the most similar matching region to the current luma block as a reference luma region and a reference chroma region based on intra-frame template matching prediction, and use the reference luma region and reference chroma region that are highly correlated with the current chroma block, thereby improving the accuracy of chroma prediction.
[0378] According to embodiments of this disclosure, when the current luminance block is encoded by inter-frame prediction, the current luminance block may have a motion vector, and the reference luminance region may be determined by the motion vector.
[0379] According to embodiments of this disclosure, an image encoding device can improve the accuracy of chromaticity prediction by using a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block through motion vectors.
[0380] According to embodiments of this disclosure, at least one luminance residual sample may include: a current luminance residual sample, a left luminance residual sample adjacent to the left side of the current luminance residual sample, a top luminance residual sample adjacent to the top of the current luminance residual sample, a right luminance residual sample adjacent to the right side of the current luminance residual sample, and a bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
[0381] According to embodiments of this disclosure, the filter is an 11-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for a nonlinear term based on the square of the current luminance residual sample, filter coefficients for a nonlinear term based on the square of the left luminance residual sample, filter coefficients for a nonlinear term based on the square of the top luminance residual sample, filter coefficients for a nonlinear term based on the square of the right luminance residual sample, filter coefficients for a nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for a bias term.
[0382] According to embodiments of this disclosure, for the BVG CCCM method, the image encoding device can derive the current chroma prediction residual sample point via the current luminance residual sample point by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, obtain an enhanced current chroma prediction sample point by using the reference chroma sample point and the current chroma prediction residual sample point, and generate the current chroma residual sample point by using the enhanced current chroma prediction sample point and the current original chroma sample point. Thus, compared with directly using chroma sample points, high compression efficiency and improved chroma prediction accuracy are achieved by using luminance reconstruction sample points.
[0383] According to embodiments of this disclosure, the color format of the current chroma block is 4:2:0, and at least one luminance residual sample may include: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, the lower left luminance residual sample adjacent to the lower left side of the current luminance residual sample, the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample, and the lower right luminance residual sample adjacent to the lower right side of the current luminance residual sample.
[0384] According to embodiments of this disclosure, the filter is an 8-tap filter, and the filter coefficients of the filter may include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for a nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for a bias term.
[0385] According to an embodiment of this disclosure, when the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point can be (2x, 2y), the coordinates of the left luminance residual sample point can be (2x-1, 2y), the coordinates of the right luminance residual sample point can be (2x+1, 2y), the coordinates of the bottom luminance residual sample point can be (2x, 2y+1), the coordinates of the lower left luminance residual sample point can be (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point can be (2x+1, 2y+1).
[0386] According to embodiments of this disclosure, for the CCRM method, the image encoding device can derive the current chroma prediction residual sample point by using a reference luminance region and a reference chroma region that are highly correlated with the current chroma block, via the current luminance residual sample point, obtain an enhanced current chroma prediction sample point by using the reference chroma sample point and the current chroma prediction residual sample point, and generate the current chroma residual sample point by using the enhanced current chroma prediction sample point and the current chroma original sample point. Thus, compared with directly using chroma sample points, high compression efficiency and improved chroma prediction accuracy are achieved by using luminance reconstruction sample points.
[0387] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance encoded sample point, the first reference chrominance sample point may be a first reference chrominance encoded sample point, and the second reference chrominance sample point may be a second reference chrominance encoded sample point.
[0388] According to embodiments of this disclosure, the image coding method can use coded samples from reference luminance regions and reference chrominance regions that are highly correlated with the current luminance block and the current chrominance block, thereby improving the accuracy of chrominance prediction.
[0389] According to embodiments of this disclosure, at least one reference luminance sample point may be at least one reference luminance residual sample point, the first reference chromaticity sample point may be a first reference chromaticity residual sample point, and the second reference chromaticity sample point may be a second reference chromaticity residual sample point.
[0390] According to embodiments of this disclosure, the image coding method can improve the accuracy of chromaticity prediction by using residual samples from a reference luminance region and a reference chromaticity region that are highly correlated with the current luminance block and the current chromaticity block to obtain a filter for more finely predicting the values of the residual samples.
[0391] Machine-readable storage media may be provided in the form of non-transitory storage media. Here, "non-transitory storage media" refers only to tangible devices and does not include signals (e.g., electromagnetic waves). This term does not distinguish between cases where data is stored semi-permanently in the storage medium and cases where data is temporarily stored in the storage medium. For example, "non-transitory storage media" may include buffers for temporarily storing data.
[0392] According to embodiments, methods according to various embodiments of the present disclosure can be provided by being included in a computer program product. The computer program product, as a commodity, can be traded between a seller and a buyer. The computer program product can be distributed in the form of a machine-readable storage medium (e.g., an optical disc read-only memory (CD-ROM)), or distributed through an app store (e.g., downloaded or uploaded), or distributed directly online between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable application) can be at least temporarily generated or temporarily stored in a machine-readable storage medium (such as the memory of a manufacturer's server, an app store's server, or a relay server).
Claims
1. An image decoding method, comprising: Based on at least one reference luminance sample point of the reference luminance region indicated by the current luminance block corresponding to the current chroma block, and a first reference chroma sample point and a second reference chroma sample point of the reference chroma region corresponding to the reference luminance region, a filter for chroma prediction of the current chroma sample points included in the current chroma block is derived (S2710). Obtain at least one luminance residual sample from the bit stream, including the current luminance residual sample corresponding to the current chrominance sample (S2720); By applying the at least one luminance residual sample to the filter, a first chrominance prediction residual sample and a second chrominance prediction residual sample are obtained for the current chrominance sample (S2730). An enhanced first chromaticity prediction sample is obtained by using a first chromaticity prediction residual sample and a first reference chromaticity sample, and an enhanced second chromaticity prediction sample is obtained by using a second reference chromaticity residual sample and a second chromaticity prediction sample (S2740). The first and second chromaticity residual samples for the current chromaticity sample point are obtained from the bitstream (S2750); and The first chromaticity reconstructed sample point is obtained by using the first chromaticity residual sample point and the enhanced first chromaticity prediction sample point, and the second chromaticity reconstructed sample point is obtained by using the second chromaticity residual sample point and the enhanced second chromaticity prediction sample point, and the current chromaticity sample point is reconstructed (S2760).
2. The image decoding method according to claim 1, wherein, When the current luma block is reconstructed in intra-frame block copy mode, the current luma block has a block vector, and The reference brightness region is determined by the block vector.
3. The image decoding method according to claim 1, wherein, When the current luma block is reconstructed by intra-frame template matching prediction, the reference luma region is determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.
4. The image decoding method according to claim 1, wherein, When the current lumen block is reconstructed via inter-frame prediction, the current lumen block has a motion vector, and The reference brightness region is determined by the motion vector.
5. The image decoding method according to claim 2 or 3, wherein, The at least one luminance residual sample includes: the current luminance residual sample, the left luminance residual sample adjacent to the left side of the current luminance residual sample, the top luminance residual sample adjacent to the top of the current luminance residual sample, the right luminance residual sample adjacent to the right side of the current luminance residual sample, and the bottom luminance residual sample adjacent to the bottom of the current luminance residual sample.
6. The image decoding method according to claim 5, wherein, The filter is an 11-tap filter, and The filter coefficients of the filter include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the right luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the nonlinear term based on the square of the current luminance residual sample, filter coefficients for the nonlinear term based on the square of the left luminance residual sample, filter coefficients for the nonlinear term based on the square of the top luminance residual sample, filter coefficients for the nonlinear term based on the square of the right luminance residual sample, filter coefficients for the nonlinear term based on the square of the bottom luminance residual sample, and filter coefficients for the bias term.
7. The image decoding method according to claim 4, wherein, The current chroma block has a color format of 4:2:
0. The at least one luminance residual sample point includes: the current luminance residual sample point, the left luminance residual sample point adjacent to the left side of the current luminance residual sample point, the right luminance residual sample point adjacent to the right side of the current luminance residual sample point, the lower left luminance residual sample point adjacent to the lower left side of the current luminance residual sample point, the bottom luminance residual sample point adjacent to the bottom of the current luminance residual sample point, and the lower right luminance residual sample point adjacent to the lower right side of the current luminance residual sample point.
8. The image decoding method according to claim 7, wherein, The filter is an 8-tap filter, and The filter coefficients of the filter include: filter coefficients for the current luminance residual sample, filter coefficients for the left luminance residual sample, filter coefficients for the top luminance residual sample, filter coefficients for the lower left luminance residual sample, filter coefficients for the bottom luminance residual sample, filter coefficients for the lower right luminance residual sample, filter coefficients for the nonlinear term based on the sum of the current luminance residual sample and the bottom luminance residual sample, and filter coefficients for the bias term.
9. The image decoding method according to claim 6 or 7, wherein, When the coordinates of the current chromaticity sample point are (x, y), the coordinates of the current luminance residual sample point are (2x, 2y), the coordinates of the left luminance residual sample point are (2x-1, 2y), the coordinates of the right luminance residual sample point are (2x+1, 2y), the coordinates of the bottom luminance residual sample point are (2x, 2y+1), the coordinates of the lower left luminance residual sample point are (2x-1, 2y+1), and the coordinates of the lower right luminance residual sample point are (2x+1, 2y+1).
10. The image decoding method according to any one of claims 1 to 9, wherein, The at least one reference brightness sample is at least one reference brightness reconstruction sample. The first reference chromaticity sample point is the first reference chromaticity reconstructed sample point, and The second reference chromaticity sample point is the second reference chromaticity reconstruction sample.
11. The image decoding method according to any one of claims 1 to 9, wherein, The at least one reference luminance sample point is at least one reference luminance residual sample point. The first reference chromaticity sample point is the first reference chromaticity residual sample point, and The second reference chromaticity sample point is the second reference chromaticity residual sample point.
12. The image decoding method according to any one of claims 1 to 11, further comprising: At least one luminance reconstruction sample is obtained by using the at least one reference luminance sample and the at least one luminance residual sample.
13. An image encoding method, comprising: Based on at least one reference luminance sample point of the reference luminance region indicated by the current luminance block corresponding to the current chroma block, and a first reference chroma sample point and a second reference chroma sample point of the reference chroma region corresponding to the reference luminance region, a filter for chroma prediction of the current chroma sample points included in the current chroma block is derived (S2910). Based on the original block of the current luminance block and the reference luminance region, generate at least one luminance residual sample point of the current luminance block, including the current luminance residual sample point corresponding to the current chromaticity sample point (S2920). By applying the at least one luminance residual sample to the filter, a first chrominance prediction residual sample and a second chrominance prediction residual sample are obtained for the current chrominance sample (S2930). An enhanced first chromaticity prediction sample is obtained by using a first chromaticity prediction residual sample and a first reference chromaticity sample, and an enhanced second chromaticity prediction sample is obtained by using a second reference chromaticity residual sample and a second chromaticity prediction sample (S2940). A first chromaticity residual sample is generated based on the first original chromaticity sample and the enhanced first predicted chromaticity sample for the current chromaticity sample, and a second chromaticity residual sample is generated based on the second original chromaticity sample and the enhanced second predicted chromaticity sample for the current chromaticity sample (S2950); and Generate a bitstream including at least one luminance residual sample, a first chrominance residual sample, and a second chrominance residual sample (S2960).
14. The image encoding method according to claim 13, wherein, When the current luma block is encoded in intra-block copy mode, the current luma block has a block vector, and The reference brightness region is determined by the block vector.
15. The image encoding method according to claim 13, wherein, When the current luma block is encoded by intra-frame template matching prediction, the reference luma region is determined based on the block vector of the region that is identified as the most similar matching region determined by intra-frame template matching prediction.