Method and apparatus for encoding and decoding chrominance signals based on correlation between significant components
Patent Information
- Application Number
- CN202580023911.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-27
- Filing Date
- 2025-03-27
- Publication Date
- 2026-10-30
AI Technical Summary
随着图像数据变得高分辨率和高质量,与现有图像数据相比,数据量相对增加,因此在通过使用诸如现有的有线和无线宽带电路的介质来传送图像数据或者通过使用现有的存储介质来存储图像数据时,传输费用和存储费用增加
[0019]本公开内容可以通过在色度块的预测过程期间使用对应位置处的重建亮度块的信息并提出用于通过使用该信息预测色度块的设备和方法,来对分量间相关性进行建模,从而提高通过使用分量间相关性预测色度块时的编码/解码效率。
Smart Images

Figure CN123023316A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to methods and apparatus for encoding / decoding video signals. Background Technology
[0002] The demand for high-resolution and high-quality images is increasing across various application areas. As image data becomes higher resolution and higher quality, the relative data volume increases compared to existing image data, leading to increased transmission and storage costs when transmitting or storing image data using existing media such as wired and wireless broadband circuits. To address these issues arising from the increasing resolution and quality of image data, efficient image compression techniques can be utilized. Summary of the Invention
[0003] Technical issues
[0004] This disclosure aims to improve encoding / decoding efficiency when predicting chroma blocks using intercomponent correlation.
[0005] This disclosure aims to improve the prediction accuracy of each component.
[0006] Technical solutions
[0007] The image encoding / decoding method, apparatus, and recording medium disclosed herein may include: a prediction unit determination step for determining a prediction unit to perform prediction of chroma components; a prediction technique determination step for determining a prediction technique to be applied to the prediction unit; a prediction mode determination step for determining a prediction mode for prediction of chroma components based on the prediction technique; and a prediction execution step for performing prediction of chroma components based on the prediction mode.
[0008] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, the prediction unit may be a chroma block.
[0009] In the image encoding / decoding methods, devices, and recording media disclosed herein, the prediction technique may be intra-frame prediction technique, inter-frame prediction technique, intra-block copy (IBC) technique, palette mode technique, or a technique that combines intra-frame prediction and inter-frame prediction.
[0010] In the image encoding / decoding methods, apparatuses, and recording media of this disclosure, in response to the prediction technique being determined to be a technique other than intra-frame prediction, the prediction mode can be determined based on a skip flag.
[0011] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, in response to the prediction technique being determined as a hybrid technique of intra-frame prediction and inter-frame prediction, the prediction mode can be determined by using information from some or all pixels of a template in the prediction unit.
[0012] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, the shape of the prediction unit can be a shape determined by geometric division.
[0013] In the image encoding / decoding methods, apparatuses, and recording media of this disclosure, in response to the prediction technique being determined to be an intra-frame prediction technique, the prediction mode can be any of the following: Luminance-to-Chroma (CfL), Cross-Component Linear Model (CCLM), Multiple Hypothesis Cross-Component Prediction (MHCCP), and Convolutional Cross-Component Model (CCCM).
[0014] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, the prediction of chromaticity components may be performed based on a luminance block corresponding to the location of the prediction unit and pre-reconstructed neighboring luminance samples of that luminance block.
[0015] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, the prediction of chroma components is performed based on a linear model between the chroma components and the luminance components, and the linear model may include scaling parameters and offset parameters.
[0016] In the image encoding / decoding methods, apparatuses, and recording media disclosed herein, the linear model can be derived based on the chromaticity template in the prediction unit and the luminance template at the position corresponding to the chromaticity template.
[0017] In the image encoding / decoding methods, devices, and recording media disclosed herein, the linear model can be derived based on representative values of all or some samples of the chromaticity template and representative values of all or some samples of the luminance template.
[0018] Technical effect
[0019] This disclosure improves encoding / decoding efficiency when predicting chroma blocks using inter-component correlations by modeling inter-component correlations, using information from reconstructed luminance blocks at corresponding locations during the chroma block prediction process, and by proposing devices and methods for predicting chroma blocks using this information.
[0020] This disclosure enables efficient prediction of chromaticity signals. Attached Figure Description
[0021] Figure 1This is a block diagram illustrating, as an embodiment of the present invention, the determination of the prediction unit and inverse transform unit of the decoder, and the execution of prediction and inverse transform for the determined unit, mode and method to ultimately perform reconstruction.
[0022] Figure 2 It is a graph representing a template of the chroma components of the pre-reconstructed samples surrounding the current encoding / decoding target chroma block.
[0023] Figure 3 It is a graph representing a template for pre-reconstructed samples around the luma block at the corresponding location, based on the template of the current encoding / decoding target chroma block.
[0024] Figure 4 The type of filter used for downsampling according to the first embodiment is shown.
[0025] Figure 5 The type of filter used for downsampling according to the second embodiment is shown.
[0026] Figure 6 The type of filter for downsampling according to the third embodiment is shown.
[0027] Figure 7 The available filter shapes and the index of the filter coefficients for each filter shape are shown.
[0028] Figure 8 A linear model based on luminance and chrominance templates is shown.
[0029] Figure 9 The steps for obtaining the chromaticity prediction signal based on the luminance template and chromaticity template are shown.
[0030] Figure 10 This is a diagram showing the locations of the samples used to derive the linear model.
[0031] Figure 11 Different implementations of the steps for obtaining a chromaticity prediction signal by searching for luminance blocks at corresponding locations are shown.
[0032] Figure 12 Different implementations for obtaining a chromaticity prediction signal based on a chromaticity template, a luminance template, and an initial chromaticity prediction signal are shown.
[0033] Figure 13 This is a diagram illustrating the block partitioning structure of geometric division.
[0034] Figure 14 A template based on geometric boundary division is shown.
[0035] Figure 15An example of performing predictions for sub-regions of a chroma block based on the partitioning boundaries of a luminance block is shown.
[0036] Figure 16 The diagram illustrates how the prediction pattern of a sub-region of a chroma block is determined based on whether a reference sample, determined according to the prediction pattern of the sub-region of the luminance block, is adjacent to the position of the sub-region at the corresponding position of the chroma block.
[0037] Figure 17 An example of adjusting the gradient of a linear model between chromaticity components is shown.
[0038] Figure 18 (a) shows the linear model based on the adjusted gradient, and Figure 18 (b) shows a linear model based on the adjusted gradient and the adjusted offset parameters.
[0039] Figure 19 An implementation method for deriving the model by dividing the brightness region into two regions is shown.
[0040] Figure 20 This is a block diagram illustrating, as an embodiment of the present invention, the determination of the encoder's prediction unit and transformation unit, and the execution of prediction and transformation for the determined units, modes, and methods to ultimately perform reconstruction. Detailed Implementation
[0041] Because the present invention can be modified in various ways and has multiple embodiments, specific embodiments are shown in the accompanying drawings, and are described in detail in the detailed description. However, this does not limit the invention to the specific embodiments, but should be understood to include all modifications, equivalents, and substitutions included within the concept and scope of the invention. In describing each drawing, similar reference numerals are used for similar parts.
[0042] Various components may be described using terms such as first, second, etc., but these components should not be limited by these terms. These terms are used only to distinguish one component from other components. For example, without departing from the scope of the invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first element. Terms and / or include combinations of or any one of several related descriptive terms.
[0043] When a component is described as being "linked" or "connected" to other components, it should be understood that the component can be directly linked or connected to other components, but other components may exist in between. On the other hand, when a component is described as being "directly linked" or "directly connected" to other components, it should be understood that there are no other components in between.
[0044] Since the terminology used in this specification is for describing particular embodiments only, it is not intended to limit the invention. Singular expressions include plural expressions unless the singular expression clearly has a different meaning in the context. In this application, it should be understood that terms such as "comprising" or "having" refer to the presence of features, numbers, steps, actions, components, portions, or combinations thereof described in this specification, and do not preclude the presence or possibility of one or more other features, numbers, steps, actions, components, portions, or combinations thereof being added in advance.
[0045] Preferred embodiments of the invention will be described in more detail below with reference to the accompanying drawings. In the following drawings, the same reference numerals are used for the same parts, and repeated descriptions of the same parts are omitted.
[0046] Figure 1 This is a block diagram illustrating, as an embodiment of the present invention, the determination of the prediction unit and inverse transform unit of the decoder, and the execution of prediction and inverse transform for the determined unit, mode and method to ultimately perform reconstruction.
[0047] Figure 1 The order of each process in the flowchart can be changed or omitted.
[0048] The prediction unit determination unit is a step for determining the size and shape of the block used to perform prediction and can include all methods based on direct or indirect information transmitted from the encoder. The prediction unit determination unit can include not only methods for direct size and shape information of the current decoded block (= current block, current encoded block), but also methods for utilizing information that may affect the determination of the size and shape information of the current decoded block, such as the number of partitions, depth, shape of the partitions, direction of the partitions, minimum partition block size information, partition information of neighboring pre-decoded blocks, prediction mode, etc.
[0049] The prediction technique determination unit can be a step for determining the prediction technique for each block. Prediction techniques can refer to intra-frame prediction techniques, inter-frame prediction techniques, intra-block copying (IBC) techniques, palette mode techniques, and techniques that combine intra-frame and inter-frame prediction methods, etc.
[0050] The prediction mode determination unit is a step for determining a prediction mode based on the technique determined in the prediction technique determination unit described above. Furthermore, the prediction mode determination unit is a step for determining the pixel values of the actual reference block, such as the direction of intra-frame prediction, the number of reference images in inter-frame prediction, affine mode, merging mode, etc., for the method described below. According to an embodiment, the prediction technique determination unit and the prediction mode determination unit can be integrated into a single step and operate as a prediction technique and mode determination unit.
[0051] The prediction execution unit can generate a first prediction signal block or multiple first prediction signal blocks using the determined prediction techniques and prediction modes.
[0052] The inverse transform unit determination unit can determine the inverse transform unit that will perform the inverse transform on the residual signal, and the inverse transform execution unit can determine the kernel used for the inverse transform to perform the inverse transform on the residual signal.
[0053] Subsequently, the reconstructed signal can be generated by adding the prediction signal generated in the prediction execution unit to the residual signal generated in the inverse transform execution unit.
[0054] An inverse transform unit can refer to a unit used to determine whether to perform an inverse transform on the residual signal and to transmit information related to the inverse transform. Subsequently, in the inverse transform execution unit, the core to be applied in the inverse transform unit can be determined, and the inverse transform can be performed by the corresponding core. In this case, at least one core can be determined for an inverse transform unit. According to the implementation, an Nth-order inverse transform can be performed, and the size of the inverse transform unit and the size of the inverse transform core can be different. In other words, the transform can be performed only on some signals in the residual signal or the transformed signal input to the inverse transform execution unit. N can be a natural number of 1, 2, 3, or larger, or it can be a value determined by information signaled from the bitstream, or a value predefined in the encoder / decoder.
[0055] According to the implementation method, Figure 1 The process can be performed independently for luma blocks and chroma blocks, and when the input video's color format is YUV (YUV420, YUV411, YUV422, YUV444, etc.), the process can be performed for luma blocks first, followed by the process for chroma blocks. According to the implementation, when the input video's color format is RGB, encoding can be performed after the YUV color conversion.
[0056] In the following text, regarding Figure 1 The present invention will be described in detail below.
[0057] Prediction unit determination unit
[0058] According to an implementation, in the encoder / decoder, a prediction unit is determined by a prediction unit determination unit, and this prediction unit can be the current block, one of the sub-blocks into which the current block is divided, a group of pixels, or the value of a single pixel. The prediction unit can be determined using size and shape information for performing predictions on the chroma and luma components. The prediction unit can be determined dependently or independently for the chroma and luma components. Dependency means that when determining the prediction unit for a component, the prediction unit for the luma or chroma component is not determined independently for each component, but rather determined by the size and shape corresponding to the units of other components. In this case, a component can correspond to one or more luma and chroma components. In other words, dependency can include determining the luma component using information from the chroma components. In another implementation, the prediction unit for the chroma component can have a size and shape determined based on the prediction unit for the luma component, according to the color format of the input video or the converted color format.
[0059] When determined dependently, information about the prediction unit for the other component corresponding to one component (i.e., the component determined dependently) can be omitted. When determined independently, it means that the prediction units for the luminance and chrominance components are determined separately, and information about the prediction unit for each component can be transmitted individually. Here, the information about the prediction unit may include information determining the size and shape of the prediction unit.
[0060] Prediction technology determination unit
[0061] According to one implementation, the prediction technique for each prediction unit can be determined in the prediction technique determination unit. The prediction technique can be one of the following: inter-frame prediction, intra-frame prediction, IBC, palette, or a hybrid technique of intra-frame prediction and inter-frame prediction.
[0062] According to one implementation, when the prediction technique for the current block is not intra-frame prediction, a 1-bit flag can be signaled / parsed. When this flag indicates skipping, it can be determined whether inter-frame prediction combining mode or IBC prediction combining mode is applied. In this case, the prediction signal can be used as the reconstruction signal by omitting the inverse transform process. Here, skipping can refer to a method of not transmitting motion information (e.g., motion vectors, reference images, reference image lists, etc.) or transmitting motion information only through syntax information. In addition, skipping can also mean that the difference signal for the current block is not transmitted.
[0063] According to one implementation, when the current block is not skipped (when a flag indicates that it is not skipped), one of the prediction techniques for the current block, such as inter-frame prediction, intra-frame prediction, IBC, and palette, can be determined by signaling / parsing a 1-bit flag for the prediction technique used for the current block.
[0064] According to one implementation, when the current block is not skipped and the prediction technique is determined to be inter-frame prediction or IBC, the determination of whether to perform prediction on the current block in merge mode or Advanced Motion Vector Prediction (AMVP) mode can be made by signaling and parsing a 1-bit flag. Here, AMVP mode can refer to a mode that transmits each element within the motion information separately, parses motion vector differences in addition to the motion information, and performs motion compensation in subsequent prediction processes using corrected motion information.
[0065] Prediction mode determination unit
[0066] The prediction model can be determined based on the chosen prediction technique.
[0067] When the prediction technique of the current prediction unit is inter-frame prediction, the prediction mode of the current prediction unit block can use motion information or several pieces of motion information from the prediction unit to perform motion compensation, and determine one or more prediction signals through motion compensation. Furthermore, the prediction mode of the current prediction unit block can be a mode in which the prediction signal of the current prediction unit block is generated by a weighted sum of multiple prediction signals, including prediction signals generated through one or more motion compensations. In this case, one or more prediction signals can be signals from the pre-decoding region of the same frame as the current block.
[0068] According to one embodiment, when the prediction technique of the current prediction unit uses a hybrid technique of intra-frame prediction and inter-frame prediction, the neighboring pre-reconstruction region of the current prediction unit block can be defined as a template, and the intra-frame prediction mode can be derived by using information of some or all pixels corresponding to the template. In this case, the template can include both regions adjacent to the current prediction unit block and regions not adjacent to the current prediction unit block, and the non-adjacent regions can be regions located within a distance of a predetermined number of pixel rows from the current prediction unit block. When a non-adjacent region is used as the template, the corresponding distance can be transmitted from the encoder to the decoder. Alternatively, according to one embodiment, the distance information can be defined by an agreement between the encoder and the decoder, and the transmission of the corresponding information can be omitted. When defined by an agreement, the corresponding value can be fixed to a specific constant value, or it can be variably determined by the horizontal or vertical pixel length of the prediction unit block or the area of the block, etc. Subsequently, the final prediction signal of the current block can be generated by using the derived intra-frame prediction mode.
[0069] According to one implementation, when the prediction technique for the current prediction unit block is inter-frame prediction, the current prediction unit may have a shape and size determined by geometric partitioning. In this case, the prediction signal may be a geometric partition-based prediction mode that generates the prediction signal for the current prediction unit block by a weighted sum of the prediction signals used for each geometric partition unit.
[0070] According to one implementation, when the prediction technique of the current prediction unit block is intra-frame prediction, the prediction mode of the current prediction unit block can be the following modes: it generates the prediction signal of the current prediction unit block by using at least one of the following: directional prediction mode, planar mode (horizontal plane, vertical plane or regular plane), DC mode, smoothing mode, recursive prediction mode, prediction mode based on inter-component correlation (e.g., luminance-to-chrominance prediction (CfL), cross-component linear model (CCLM), multiple hypothesis cross-component prediction (MHCCP), convolutional cross-component model (CCCM), etc.).
[0071] According to one implementation, when the prediction technique of the current prediction unit block is intra-frame prediction, the prediction mode of the current prediction unit block can be the following prediction mode based on intra-frame geometric partitioning: the current prediction unit block is divided into one or more sub-regions by geometric partitioning, and a prediction signal is generated in each region by using a prediction mode among intra-frame prediction techniques including different direction prediction modes, planar mode, DC mode, etc., and the prediction signal of the current prediction unit block is generated by weighted sum of each prediction signal.
[0072] According to one implementation, when the prediction technique of the current prediction unit block is intra-frame prediction, the prediction mode of the current prediction unit block can be the following matrix-based intra-frame prediction mode: it performs prediction by signaling / resolving the matrix index using a matrix predefined by an agreement between the encoder and decoder, or by signaling / resolving the matrix.
[0073] According to one implementation, when the prediction technique of the current prediction unit block is intra-frame prediction, the prediction mode of the current prediction unit block can be the following intra-frame template matching prediction mode: it defines the pre-reconstruction region around the current prediction unit block as a template, performs template matching in the pre-reconstruction neighboring region of the current prediction unit block, and generates a prediction signal.
[0074] According to one implementation, when the prediction technique for the current prediction unit block is intra-prediction, the pre-reconstructed region surrounding the current prediction unit block can be defined as a template, and the corresponding template can be used to derive the intra-prediction mode. Subsequently, the final prediction signal for the current prediction unit block can be generated using the derived mode. In this case, the template may also include regions that are not adjacent to the current prediction unit block. The non-adjacent region can be a region located within a distance corresponding to a predetermined number of pixel rows from the current prediction unit block. When a non-adjacent region is used as a template, the corresponding distance can be transmitted from the encoder to the decoder. According to one implementation, the distance information can be defined by an agreement between the encoder and decoder, and the transmission of the corresponding information can be omitted. When defined by an agreement, the corresponding value can be fixed to a specific constant value, or it can be variably determined by the horizontal or vertical pixel length of the prediction unit block or the area of the block, etc.
[0075] According to one implementation, when the current prediction unit block is a chroma block and the prediction technique for the current prediction unit block is intra-frame prediction, prediction can be performed using direct mode (DM). For example, DM mode can be a method for performing prediction of the current chroma block using the same prediction method as the prediction method for the luma block at the corresponding position of the current chroma block.
[0076] According to one implementation, when the current prediction unit block is a chroma block and the prediction technique of the current prediction unit block is intra-frame prediction, the relationship between the neighboring pre-reconstructed chroma samples of the current chroma component and the neighboring pre-reconstructed luminance samples of the luminance block at the corresponding position of the current chroma prediction unit block can be modeled as a linear model and / or a nonlinear model to generate the prediction signal of the current chroma prediction unit block.
[0077] Predictive Execution Unit
[0078] According to one implementation, when the current prediction unit block is a chroma block and the prediction mode is determined to be a prediction mode based on inter-component correlation, the relationship between the pre-reconstructed neighboring luminance samples of the luminance block at the corresponding position of the current chroma block and the pre-reconstructed neighboring chroma samples of the current chroma block can be modeled, and prediction can be performed by using the values determined by modeling.
[0079] Figure 2 It is a graph representing a template of the chroma components of the pre-reconstructed samples surrounding the current encoding / decoding target chroma block.
[0080] Figure 3 It is a graph representing a template for pre-reconstructed samples around the luma block at the corresponding location, based on the template of the current encoding / decoding target chroma block.
[0081] According to one implementation method, such as Figure 2As shown, the shape and size of the template for the chroma components can be defined for the pre-reconstructed samples surrounding the current encoding / decoding target chroma block. Furthermore, as... Figure 3 As shown, a template corresponding to the chroma block template can also be defined for the pre-reconstructed samples around the luma block at the corresponding position of the current encoding / decoding target chroma block. The relationship between the chroma component template and the luma component template can be modeled as a linear and / or nonlinear model using at least one method such as regression or LDL decomposition. The pixel values used during modeling can be some or all of the values within the template. According to the implementation, the pixel values can be the average, median, or a value obtained by downsampling / upsampling filtering of some or all pixel values within the template. Furthermore, Figure 2 a, b, m, n, p, and q in the equation can be integers greater than or equal to 1.
[0082] pass Figure 2 and Figure 3 The implementation illustrates the case where the template and the current encoding / decoding target block are adjacent; however, the template and the current encoding / decoding target block may not be adjacent. Non-adjacent means that the template may not be located in a continuous coordinate space within the image, and even in non-adjacent implementations, the templates for the chroma and luminance components can be as follows: Figure 2 and Figure 3 The templates shown are defined in various shapes and sizes. When they are not adjacent, the distance relationship between the current encoding / decoding target block and the template can be added to the template definition, and the distance can be implicitly determined or it can be a value transmitted from the encoder to the decoder.
[0083] According to one implementation, the size and shape of the template can be implicitly determined based on: the size of the current block, the definition of available samples in the neighboring pre-reconstructed samples, the prediction techniques and methods for the neighboring pre-reconstructed samples, whether the reference image of the current encoded / decoded target block and the reference image of the pre-reconstructed sample are the same, the aspect ratio of the current encoded / decoded target block, etc. Alternatively, the size and shape of the template can be determined in the decoder by signal notification / parsing, by transmitting some or all of the information about the shape and size of the template from the encoder to the decoder. Here, some or all may include some implicitly determined and others determined by transmission methods.
[0084] As an implementation where both the top and left templates are available, the position and number of templates used can vary according to the width and height of the current chroma block as follows.
[0085] 1) When the width of the current chroma block is greater than or equal to twice its height, only M position samples of the upper template can be used.
[0086] 2) When the height of the current chroma block is greater than or equal to twice the width, only N position samples of the left template can be used.
[0087] 3) Apart from the height and width conditions of the current chroma block, all K position samples of the upper template and L position samples of the left template can be used.
[0088] Here, M, N, L, and K are integers greater than or equal to 1, and M and N can be 8, and K and L can be M / 2 and N / 2 or 4.
[0089] exist Figure 3 In this context, p and q can be values determined based on the color format of the input image or video. In this case, according to the implementation, the size of the template region for each component can be different based on the color format of the input image or video.
[0090] In this scenario, modeling can be performed after downsampling the template of the luminance component. For example, the shape and coefficients of the downsampling filter can be implicitly determined in the decoder, or they can be transmitted from the encoder to the decoder and determined by the decoder through parsing the bitstream. In this implementation, one or more chroma block prediction modes based on inter-component correlations can exist, and a different downsampling filter can be used for each mode. For example, the shape and coefficients of the downsampling filter can be implicitly determined in the decoder, or they can be transmitted from the encoder to the decoder and determined by the decoder through parsing the bitstream. In this scenario, the filter shape and coefficients can be transmitted separately and / or transmitted as a single piece of information.
[0091] According to one implementation, the relationship between the chroma and luminance templates can be modeled without downsampling, regardless of the color format of the input video. In this case, a nonlinear model can be modeled.
[0092] Figure 4 The type of filter used for downsampling according to the first embodiment is shown.
[0093] According to one implementation, when the color format of the input video is YUV420... Figure 3 In this case, p and q can be 2. The filter used for downsampling can have... Figure 4The type of filter can be signaled / parsed. According to an implementation, luminance component downsampling can be applied to some samples in the template of the luminance component. In an implementation, when modeling is performed using only some samples within the template of the chrominance component, downsampling can be performed only on the corresponding samples within the luminance template that correspond to some samples within the chrominance component template. The signaling unit of the downsampling filter can be at least one of a sequence unit, a picture unit, a sub-picture unit, a slice unit, a tile unit, or a block unit. Alternatively, it can be signaled to use a specific filter in a higher unit, and it can be changed to a specific slice block unit and used in a lower unit. For example, the shape of the filter and the transmission unit of the coefficients can be different.
[0094] For example, the unit that determines whether a filter is used and the unit that determines the filter type can be different. For instance, unless there are special cases, whether a filter is used is determined in a sequence unit, but the unit that determines the filter type can be determined as a block unit. Here, special cases mean that whether a filter is used, determined in a sequence unit, is changed in a block unit, which can be determined by relevant flags.
[0095] Figure 5 The type of filter used for downsampling according to the second embodiment is shown.
[0096] According to one implementation, when the color format of the input video is YUV422... Figure 3 In this case, p and q can be 2 and 1 or 1 and 2. Figure 3 When p and q are 2 and 1 respectively, the filter used for downsampling can have Figure 5 The type of (a), or when Figure 3 When p and q are 2 and 1 respectively, the filter used for downsampling can have Figure 5 The type of (b), and its information can be communicated / parsed using signals.
[0097] According to the implementation, luminance component downsampling can be applied to some samples in the template of the luminance component. In the implementation, when modeling is performed using only some samples within the template of the chroma component, downsampling can be performed only on the corresponding samples within the luminance template that correspond to some samples within the chroma component template. The signal notification unit for the downsampling filter can be at least one of a sequence unit, a picture unit, a sub-picture unit, a slice unit, a tile unit, or a block unit. Alternatively, it can be signaled to use a specific filter in a higher unit and can be changed to a specific slice / block unit and used in a lower unit. For example, the shape of the filter and the transmission unit of the coefficients can be different.
[0098] For example, the unit that determines whether a filter is used and the unit that determines the filter type can be different. For instance, unless there are special cases, whether a filter is used is determined in a sequence unit, but the unit that determines the filter type can be determined as a block unit. Here, special cases mean that whether a filter is used, determined in a sequence unit, is changed in a block unit, which can be determined by relevant flags.
[0099] According to one implementation, when the color format of the input video is YUV444, the relationship between the chroma template and the luminance template can be modeled without performing downsampling.
[0100] In this specification, downsampling can refer to all cases where a filter outputs a value less than the input pixel value by using multiple pixel values as input, and can also refer to a method determined by the coefficients shown in the accompanying drawings, and such method can be defined as at least one of weighted average, average, median, partial value, etc.
[0101] According to one implementation, a downsampling filter that can be applied to each color format type can be defined by an agreement between the encoder and decoder, and the information of the downsampling filter can be signaled / parsed.
[0102] Figure 6 The type of filter for downsampling according to the third embodiment is shown.
[0103] According to one implementation, when the input video's color format is YUV420, the shape and coefficients of the downsampling filter can be separately signaled / parsed, and the signaling units for the shape and coefficients can be different. For example, it can be applied... Figure 6 The example filter shapes are shown in the image. In this case, the number of filter shapes can be less than or more, depending on the situation. Figure 6 The example shows the number of filter shapes. For instance, the number of available filter shapes can be determined differently depending on the resolution of the input video. In this case, Figure 6 The filter shapes in the examples (a) through (d) can be transmitted in sequence units, and Figure 6 The filter coefficients (a to i) in the examples (a) to (d) can be transmitted within the image unit. In this case, the filter coefficients can be determined in integer form, and the sum of the coefficients within a filter can be a multiple of 2 or a power of 2. In other words, the unit that determines the filter shape and the unit that determines the coefficients within the filter can be different. As another example, Figure 6 The filter shapes in the examples (a) through (d) can be transmitted in sequence units, and Figure 6The filter coefficients (a to i) in the examples (a) to (d) can be transmitted in the block unit. As another example, Figure 6 The filter shapes of the examples in (a) to (d) can be transmitted in slice cells, and the filter coefficients (a to i) of the examples in Figures 6(a) to (d) can be transmitted in block cells.
[0104] According to one implementation, when the filter shape and coefficients are transmitted separately, each coefficient of the filter can be transmitted individually. For a given filter shape, the set of available filter coefficients can be defined by an agreement between the encoder and decoder and managed in the form of a table. The filter coefficients can be transmitted in the form of an index. In this case, the table can be defined differently based on factors such as the resolution of the input video. According to another implementation, only one filter shape is used for each color format, and various filters can be used by transmitting only the filter coefficients individually.
[0105] Figure 7 The available filter shapes and the index of the filter coefficients for each filter shape are shown.
[0106] According to one implementation method, such as Figure 7 As shown, after defining the available filter shapes and the set of available filter coefficients for each filter shape through the agreement between the encoder and decoder, the available filters can be configured in the form of a table, thereby transmitting filter information in the form of an index. In this case, according to the implementation, the table can be configured differently for each unit series such as a picture, a group of pictures (GOP), etc.
[0107] According to one implementation method, such as Figure 7 As shown, the following can be transmitted as information in the form of a 1-bit flag: whether the downsampling filter is determined by defining the downsampling filter in the form of a table and transmitting the downsampling filter in the form of an index, or by transmitting the shape and coefficients of the filter separately.
[0108] Figure 8 A linear model based on luminance and chrominance templates is shown.
[0109] According to one implementation, all samples within a luminance template and all samples within a chromaticity template, downsampled according to a color format, can be used to derive a predictor such as a linear minimum mean square error (LMMSE) predictor by deriving... Figure 8 The example shows the values of the scaling parameter α and the offset parameter β, thus modeling the relationship between the two templates as a linear function such as equation (1). In this case, It can be the template of the current chroma block (chroma template), and It can be a template (luminance template) of the corresponding luminance block downsampled according to the color format.
[0110] Equation (1)
[0111] Figure 9 The steps for obtaining the chromaticity prediction signal based on the luminance template and chromaticity template are shown.
[0112] According to one implementation method, such as Figure 9 As the example shows, a linear function can be modeled using only two or more partial samples of the luminance and chrominance templates, and predictions can be performed using that linear function.
[0113] The process of performing prediction can be a "chroma sample extraction" process and a "luminance sample extraction" process.
[0114] As an implementation method for the case where the number of samples for deriving the template is P, 1) when When the value is 1, samples from all locations can be used. Conversely, 2) when... If it is not 1, it can be used in the above template. Sampling is performed uniformly on a unit basis to obtain P samples. In this case, the starting position of sampling can be... The position. This also applies to the left template.
[0115] In this scenario, some samples can be samples at locations determined by an agreement between the encoder and decoder. For example, multiple sets of determined locations can be defined, and the location information can be signaled / resolved in the form of an index, etc. In this case, the determined locations are... Figure 2 Each shape and area in the template can be different.
[0116] Figure 10 This is a diagram showing the locations of the samples used to derive the linear model.
[0117] According to one implementation method, such as Figure 10 As shown, when the upper and left regions of the current block are defined as templates, a linear model can be derived by using four samples from the chroma template and four samples from the corresponding positions in the luminance template. This can correspond to... Figure 9 The process involves "chroma sample extraction" and "luminance sample extraction." In this case, the sample position of each template can be a position defined by an agreement between the encoder and decoder based on the size of the current block. According to the implementation, when only a specific number of samples at a defined position are used instead of all samples within the luminance template, downsampling can be performed only on the sample positions to be retrieved for model derivation, rather than... Figure 9The example downsamples the entire brightness template.
[0118] For example, a linear model can be derived using four samples from the chromaticity template and four samples from the corresponding positions in the luminance template. According to the implementation, when the four luminance samples are Y1, Y2, Y3, and Y4 in ascending order of size, the four chromaticity samples at the corresponding positions can be defined as C1, C2, C3, and C4, respectively. Furthermore, the average value of Y1 and Y2 (Y...) can be used to... avg1 The average of C1 and C2 (C avg1 ) is used as a coordinate to represent the average of Y3 and Y4 (Y avg2 The average of C3 and C4 (C avg2 Configure it as a coordinate system, and then the slope and y-intercept of the linear equation connecting the two points can be derived as follows: Figure 8 The scaling parameter α and the offset parameter β of equation (1). According to the implementation, it can be performed as shown in equations (2) and (3).
[0119] Equation (2)
[0120] Equation (3)
[0121] As another example, a linear model can be derived using six samples from the chromaticity template and six samples from the corresponding positions in the luminance template. As yet another example, a linear model can be derived using eight samples from the chromaticity template and eight samples from the corresponding positions in the luminance template.
[0122] According to one implementation, the prediction signal for the current decoded target chroma block can be generated by using a prediction model. For the reconstructed luminance block at the corresponding position of the current decoded target chroma block, which has been downsampled according to the color format of the input video, the prediction signal can be generated by using the reconstructed luminance signal at the corresponding position, as shown in Equation (4). The input is fed into a linear model and the output value is used as the chromaticity prediction signal at each location. To perform the prediction.
[0123] Equation (4)
[0124] According to one implementation, of the two parameters (α, β) representing the scaling and offset parameters used to represent the correlation between the chroma and luminance components as a linear model, at least one parameter can be obtained by signal notification / parsing. As an example, α can be parsed and used, and β can be derived and used in a decoder. In this case, α can be transmitted as follows. As an example, in the chroma components, α for the Cb and Cr components can be transmitted as different values and can be transmitted separately. In this case, the sign value and amplitude value can be transmitted separately.
[0125] Figure 11 Different implementations of the steps for obtaining a chromaticity prediction signal by searching for luminance blocks at corresponding locations are shown.
[0126] According to one implementation method, such as Figure 11 As shown in the example, the scaling parameter α can be signaled from the encoder, and the offset parameter β can be used as a chroma prediction signal. In this case, the chroma prediction signal can be a prediction signal generated by performing intra-frame prediction using neighboring reference samples of the currently decoded target chroma block.
[0127] exist Figure 11 In example (a), the prediction mode used to "generate the initial luminance prediction signal" and the prediction mode used to "generate the initial chromaticity prediction signal" can be the same mode.
[0128] According to one implementation, when via Figure 11 When deriving a linear model from the example, a linear model can be obtained, and predictions can be performed using equation (5). In this case, It can be the template (chroma template) of the current decoding target chroma block, and This can be obtained by subtracting the initial luminance prediction signal value from the reconstructed luminance signal downsampled according to the color format at the corresponding location (in... Figure 11 In the case of (a), or by subtracting the average value from the reconstructed luminance signal downsampled according to the color format at the corresponding location (in Figure 11 (in the case of (b)).
[0129] exist Figure 11 In the example, the average can refer to the representative value, which can be defined as at least one of the following: weighted average, average, median, partial value, etc.
[0130] Equation (5)
[0131] Figure 12 Different implementations for obtaining a chromaticity prediction signal based on a chromaticity template, a luminance template, and an initial chromaticity prediction signal are shown.
[0132] According to one implementation method, such as Figure 12 As shown in the example, both the scaling parameter α and the offset parameter β can be derived, calculated, and used in the encoder. In this case, the initial chroma prediction signal may not be used. In this case, the offset parameter β can be used as the chroma prediction signal, which can be a prediction signal generated by performing intra-frame prediction using neighboring reference samples of the currently decoded target chroma block, and can be used as a different value depending on the position of the currently decoded target chroma block. In this case, Figure 12 In example (a), the prediction mode used to "generate the initial luminance prediction signal" and the prediction mode used to "generate the initial chromaticity prediction signal" can be the same mode. According to the implementation, the "average extraction" process can be omitted, and when omitted, the average difference process can also be omitted in the following description.
[0133] According to one implementation, when via Figure 12 When deriving a linear model from an example, a linear model can be obtained as shown in Equation (6), and predictions can be performed using Equation (7). Figure 12 The “chroma sample extraction” and “luminance sample extraction” processes in (a) and (b) can be the same as the “chroma sample extraction” and “luminance sample extraction” processes described above.
[0134] According to the implementation method, in formula (6) It can be a template obtained by subtracting the average value from the template (chroma template) of the current chroma block. It can be a template obtained by subtracting the average value from a luminance template downsampled according to the color format at the corresponding position, and β can be the initial chromaticity prediction signal.
[0135] In this case, Figure 12 In the example, the average value can refer to a representative value, which can be defined as at least one of the following: weighted average, average, median, partial value, etc. According to the implementation method, in equation (7) This can be obtained by subtracting the initial luminance prediction signal value from the reconstructed luminance signal downsampled according to the color format at the corresponding location (in... Figure 12 In the case of (a), or by subtracting the average value from the reconstructed luminance signal downsampled according to the color format at the corresponding location (in Figure 12 In the case of (b), β can be the initial chromaticity prediction signal.
[0136] Equation (6)
[0137] Equation (7)
[0138] As an example, in Figure 11 and Figure 12 In the example, both luminance and chrominance can use DC mode as the prediction mode. In this case, when using DC mode, the same downsampling method used in the downsampling process of the luminance block at the corresponding location can be applied to the luminance template, and then the values obtained by applying DC mode to the downsampled luminance template can be used.
[0139] Figure 13 This is a diagram illustrating the block partitioning structure of geometric division.
[0140] As an example, in Figure 11 and Figure 12 In the example, the prediction mode used to "generate the initial luminance prediction signal" and / or the prediction mode used to "generate the initial chrominance prediction signal" can use the prediction mode used in the prediction process of the luminance block at the corresponding position of the currently decoded target chrominance block. This can be determined based on the block partitioning structure.
[0141] According to an implementation, when the block partitioning structure is a "single tree," the block partitioning structure of chroma blocks within a chroma component can have the same partitioning structure as the block partitioning structure of luminance blocks within a luminance component. In this case, the prediction mode used for "generating the initial luminance prediction signal" and / or the prediction mode used for "generating the initial chroma prediction signal" can use the prediction mode used in the prediction process of the luminance block at the corresponding position of the currently decoded target chroma block. According to one implementation, when performing geometric partition-based prediction in the luminance block at the corresponding position, the prediction modes of the two sub-regions can be different based on the geometric partitioning boundary, such as... Figure 13 As shown in the example.
[0142] Figure 14 A template based on geometric boundary division is shown.
[0143] In this scenario, multiple models can be configured based on sub-regions of the luma block to predict the current target chroma block for decoding, and these models can be used to perform predictions. As an example, templates for model derivation can be determined based on geometric partition boundaries for integers n and m greater than or equal to 1, such as... Figure 14 As shown in the example.
[0144] As an example, such as Figure 14As shown in (a) and (b), the current target chroma block for decoding can be divided into two sub-regions using the geometric partitioning pattern of the corresponding luma block. Templates A and B can be configured based on the adjacent partitioning boundaries, and models for predicting sub-regions A and B can be generated by using these two templates respectively. In this case, the geometric partitioning boundaries can be extended to the templates according to the geometric partitioning boundaries to determine templates A and B based on the extended boundaries.
[0145] As an example, such as Figure 14 As shown in (c), (d), (e), and (f), the current decoding target chroma block can be divided into two sub-regions using the geometric partitioning pattern of the corresponding luma block, and the templates A and B adjacent to the partitioning boundary can each be configured to have an L-shape, an upper-only shape, or a left-only shape. In this case, the template shape of each sub-region according to the geometric partitioning pattern can be defined by the convention between the encoder and decoder and is implicitly determined.
[0146] Subsequently, models for prediction of sub-region A and sub-region B can be generated by using the configured templates A and B respectively. In this process, as... Figure 14 As shown, the model used for prediction can be as follows: Figure 11 and Figure 12 The example shows generation using adjacent templates for each sub-region, and in this case, the prediction mode for "generating the initial luma prediction signal" and the prediction mode for "generating the initial chroma prediction signal" can both use the prediction mode for each luma sub-region. In this case, when the prediction mode for the luma sub-region is not an intra-directional prediction mode, but rather a mode such as inter-frame prediction, IBC prediction, palette prediction, non-directional intra-frame prediction mode, etc., an intra-frame prediction mode (e.g., DC mode, etc.) defined by the convention between the encoder and decoder can be used. Alternatively, the directionality of the reconstructed luma sub-blocks can be derived to use the intra-directional prediction mode corresponding to the corresponding directionality.
[0147] In this scenario, a model for each chromaticity sub-region can be obtained, and after performing predictions using that model, a weighted sum of the sub-regions can be performed based on the geometric boundaries. In this case, the weighted sum matrix used for the weighted sum can be a matrix obtained by downsampling the weighted sum matrix of the corresponding luminance blocks according to the color format, and / or a fixed weighted sum matrix can be used.
[0148] According to one implementation, it can be determined by 1-bit flag signaling / parsing whether to divide the current decoded target chroma block into multiple sub-regions based on the prediction mode of the luminance block at the corresponding position and perform prediction by using each model, or to perform prediction by using a single model.
[0149] According to the implementation, when the block partitioning structure is a "dual-tree" structure, the block partitioning structure of the chroma blocks within the chroma component can be a structure that determines and performs partitioning independently of the block partitioning structure of the luminance blocks within the luminance component. In this case, the partitioning structure of the luminance blocks and the partitioning structure of the chroma blocks can be the same up to a certain partitioning depth. In this case, the information of a certain partitioning depth can use a value fixed by agreement between the encoder and decoder, and can be determined by signal notification / resolution for each specific unit such as a CTU, slice, etc.
[0150] Figure 15 An example of performing predictions for sub-regions of a chroma block based on the partitioning boundaries of a luminance block is shown.
[0151] According to the implementation method, when Figure 15 As shown, during the prediction process, when predicting the luma block region at the corresponding position of the current decoded target chroma block using multiple blocks, the corresponding luma block partitioning boundary can be applied to the current decoded target chroma block to obtain a model for each sub-region (A', B', C', D'), thereby performing the prediction. In this process, as... Figure 15 As shown, it can be as follows Figure 11 and Figure 12 The example shows that a model for prediction is generated using adjacent templates for each sub-region. In this case, the prediction mode for "generating the initial luma prediction signal" and the prediction mode for "generating the initial chroma prediction signal" can use the prediction mode for each luma sub-region (A, B, C, D). In this case, when the prediction mode of the luma sub-region is not an intra-direction prediction mode, but a mode such as inter-frame prediction, IBC prediction, palette prediction, non-directional intra-frame prediction mode, etc., an intra-frame prediction mode (e.g., DC mode, etc.) defined by the convention between the encoder and decoder can be used. Alternatively, the directionality of the reconstructed luma sub-region can be derived to use the intra-frame direction prediction mode corresponding to the corresponding directionality. In this case, as shown... Figure 15 As shown in regions D and D', sub-regions that are not adjacent to the left and top boundaries of the current prediction unit block can use a fixed mode (e.g., DC mode) regardless of the prediction mode of the brightness sub-region, and in this case, a template for model generation can be obtained by using the adjacent templates of the current block.
[0152] Figure 16 The diagram illustrates how the prediction pattern of a sub-region of a chroma block is determined based on whether a reference sample, determined according to the prediction pattern of the sub-region of the luminance block, is adjacent to the position of the sub-region at the corresponding position of the chroma block.
[0153] According to one implementation, when using non-adjacent reference samples during the initial prediction of a sub-region based on the prediction modes of the sub-regions using the corresponding luminance blocks, the prediction mode of the corresponding sub-region can be used as a fixed mode through an agreement between the encoder and decoder. The directional prediction mode used through this agreement can be defined based on whether the template of the sub-region is adjacent to the top-left, left, or top of the current block. For example, as... Figure 16 As shown, when the prediction mode of the corresponding sub-region within the luminance block at the corresponding position of sub-region B is the horizontal prediction mode, the reference sample of the current block used for prediction is not adjacent to the position of the sub-region. Therefore, prediction can be performed by using the DC mode defined by the convention between the encoder and decoder, instead of using the horizontal prediction mode.
[0154] According to one implementation, when prediction is performed using a different model for each sub-region, a model for each chromaticity sub-region is obtained, and after performing prediction using that model, a weighted sum of the sub-region boundaries can be performed to generate a final chromaticity prediction block. In this case, as... Figure 15 As shown, the weighted sum can be the average value between a boundary-based adjacent pixel.
[0155] According to one implementation, when a maximum number of available sub-regions for a corresponding luma block is defined by an agreement between the encoder and decoder, and the number of sub-regions exceeds this maximum number, a method for configuring sub-regions up to this maximum number can be defined by the agreement between the encoder and decoder. As an example, sub-regions can be configured by repeatedly combining the smallest sub-region among the sub-regions with other adjacent sub-regions.
[0156] According to one implementation, when the minimum size of each sub-region of a corresponding luma block is defined by an agreement between the encoder and the decoder, and the size of the sub-region is less than the minimum size, the corresponding sub-region can be combined with the adjacent sub-region to be configured into a single sub-region by an agreement between the encoder and the decoder.
[0157] According to one implementation, when the largest sub-region in each sub-region of the corresponding brightness block is predicted using a geometric partitioning pattern, it can be as follows: Figure 14 As shown in the example, the chroma block is divided into each sub-region based on the corresponding geometric boundary to generate a model and perform predictions for each sub-region, and the final prediction signal can be generated by performing a weighted sum using a weighted sum matrix.
[0158] According to one implementation, it can be determined by 1-bit flag signaling / parsing whether to divide the current decoded target chroma block into multiple sub-regions based on the prediction mode of the luminance block at the corresponding position and perform prediction using each model, or to perform prediction by using one model.
[0159] According to one implementation, when performing component-based prediction by dividing the current decoded target chroma block into multiple sub-regions, the prediction can be performed only on at least one sub-region (rather than all sub-regions), and other intra-frame and / or inter-frame predictions can be performed on the remaining sub-regions.
[0160] According to one implementation method, such as Figure 9 As shown in the implementation, the offset parameter β can be derived, or as... Figure 11 and Figure 12 As shown in the implementation, the offset parameter β can be used as a value generated through "initial chroma prediction signal generation". In this case, an additional offset value for the offset parameter can be transmitted in the encoder. In this case, when modeling the prediction for each sub-region is performed by dividing the current decoded target chroma block into multiple sub-regions, a different additional offset value can be used for each sub-region. And / or, the same additional offset value can be used for all sub-regions. The method for signaling / resolving the additional offset value can be as follows.
[0161] As an example, information indicating that the additional offset values for both the Cb and Cr components are 0 can be signaled / parsed as a 1-bit flag. When the corresponding information is false, it can be signaled / parsed as an index by a combination of 0, a "+", or a "-" sign for the additional offsets of the Cb and Cr components. Subsequently, the amplitude values of the non-zero additional offset values for the Cb and Cr components can be signaled / parsed.
[0162] As an example, when performing model-based prediction on a sub-region basis for the currently decoded target chroma block, for each of the Cb and Cr components, information on whether all additional offset values for all sub-regions are zero can be signaled / resolved, and when there are non-zero additional offset values, the sign and magnitude of the additional offset values can be signaled / resolved for each sub-region.
[0163] According to one implementation method, such as Figure 9 and Figure 12As shown in the implementation, when performing chroma block prediction based on a linear model derived between the chroma and luminance components, the gradient of the linear model can be adjusted by adjusting the derived scaling parameter α through additional signaling / parsing. For this purpose, a 1-bit flag indicating whether to adjust the gradient can be signaled / parsed, and when adjusting the gradient, a constant value to be adjusted can be signaled / parsed. In this case, the adjustable gradient value can be transmitted in the form of an index within a table defined by an agreement between the encoder and decoder.
[0164] According to the implementation method, only one of the gradient adjustment of the linear model and the transfer of additional offset parameters can be applied to a block.
[0165] Figure 17 An example of adjusting the gradient of a linear model between chromaticity components is shown.
[0166] According to the implementation method, such as Figure 9 As shown in the implementation, when performing chroma block prediction based on a linear model derived between the chroma and luminance components, if the gradient of the linear model is adjusted, it can be achieved by using equations (8) and (9) as follows: Figure 17 The received gradient adjustment value (u) is used to adjust the gradient (α) of the linear model derived as shown in equation (1) to obtain the linear model of equation (10). In this case, equation (9) The value can be the average of two or more samples within a luminance template downsampled according to the color format, or it can be a value received from the encoder.
[0167] Equation (8)
[0168] Equation (9)
[0169] Equation (10)
[0170] Figure 18 (a) shows the linear model based on the adjusted gradient, and Figure 18 (b) shows a linear model based on the adjusted gradient and the adjusted offset parameters.
[0171] According to the implementation method, such as Figure 12 As shown in the implementation, when performing chroma block prediction based on a linear model derived between chroma and luminance components, adjusting the gradient of the linear model can be achieved by using methods such as... Figure 18 The received gradient adjustment value (u) is used to adjust the gradient (α) of the linear model to obtain the linear model.
[0172] As an example, such as Figure 18As shown in (a), the gradient (α) of the linear model can be adjusted only according to the gradient change. In this case, it can be obtained by using the received gradient adjustment value (u) as shown in equation (8). Figure 18 The adjusted gradient (α') of (a) can then be applied to Equation (7) to perform the prediction of the chroma block.
[0173] As an example, such as Figure 18 As shown in (b), the gradient (α) and offset parameter (β) of the linear model can be adjusted according to the gradient change. In this case, the gradient (α') adjusted by equation (8) and the offset parameter (β') adjusted by equation (9) can be obtained by using the received gradient adjustment value (u). In this case, equation (9) The value can be the average of two or more samples within a luminance template downsampled according to the color format, or it can be the average of a luminance block downsampled according to the color format at the corresponding position, or it can be an implicitly determined value (e.g., 0), or it can be a value received from the encoder. Subsequently, the adjusted gradient (α') and the adjusted offset parameter (β') can be applied to Equation (7) to perform chroma block prediction.
[0174] In this example, the average can refer to a representative value, which can be defined as at least one of the following: weighted average, average, median, partial value, etc.
[0175] According to one implementation, when the prediction mode of the current target chroma block is a prediction mode based on inter-component correlation, multiple models can be derived and used for the prediction of the current target chroma block without dividing the current prediction unit block into sub-regions.
[0176] Figure 19 An implementation method for deriving the model by dividing the brightness region into two regions is shown.
[0177] According to one implementation, information regarding the prediction of the current target chroma block being decoded can be signaled / resolved using a 1-bit flag, by deriving multiple models. When the corresponding information is true, two or more models can be derived and used for the prediction of the current chroma block. As an example, such as... Figure 19 As shown, two models can be derived by dividing the region into two areas based on the luminance value range τ. As an example, such as... Figure 9 and Figure 12 As shown, when obtaining a linear model, during the parameter derivation process, in Figure 9 In this case, τ can be the average of two or more samples within the luminance template downsampled according to the color format, or a value received from the encoder, and Figure 12In this case, τ can be the average of two or more samples within a luminance template downsampled according to the color format, the average of luminance blocks downsampled according to the color format at corresponding positions, an implicitly determined value (e.g., 0), or a value received from the encoder, and as... Figure 11 As shown, when obtaining a linear model, a scaling parameter for each model can be received. In this case, τ can be the average of two or more samples within a luminance template downsampled according to the color format, or it can be the average of a luminance block downsampled according to the color format at the corresponding location, or it can be an implicitly determined value (e.g., 0), or it can be a value received from the encoder. In this example, the average can refer to a representative value, which can be defined as at least one of a weighted average, average, median, partial value, etc.
[0178] This implementation relates to a method in which, when the encoding / decoding process is performed in the order of predicting the chroma component after predicting the luma component, if the target block to be predicted is the chroma component, information from samples of pre-decoded neighboring regions is used to model the relationship between the regional sample values of the chroma component and the regional sample values of the luma component, and the modeling result is reflected in the prediction of the chroma component. According to this implementation, this implementation can be modified and applied when the encoding / decoding order of the chroma and luma components is changed, such that the chroma component is encoded / decoded first and then the luma component is encoded / decoded. The general modeling method for modification and application is the same, but the downsampling process can be modified to upsampling and applied based on the sampling ratio of the luma and chroma components. It relates to a general method for regions that can be deduced by those skilled in the art.
[0179] Transform coefficient entropy decoding unit
[0180] According to one implementation, when a quadratic transform is applied, the transform coefficient entropy decoding unit can reconstruct the quantized quadratic transform coefficients, and when no quadratic transform is applied, it can reconstruct the quantized primary transform coefficients.
[0181] Transform coefficient dequantization unit
[0182] According to one implementation, the transform coefficient dequantization unit can parse information such as quantization method and quantization parameter information for the reconstructed transform coefficients and perform dequantization to obtain dequantized transform coefficients.
[0183] Inverse Transformation Unit Determination Unit
[0184] According to one implementation, in the inverse transform unit determination unit, the transform unit and the inverse transform unit in the encoder / decoder can be a single transform unit (TU) or each sub-block of a TU divided into multiple parts.
[0185] Inverse transform kernel determination unit and inverse transform execution unit
[0186] According to one implementation, the inverse transform kernel determination unit can determine separable vertical and horizontal first inverse transform kernels and / or inseparable second inverse transform kernels, or determine inseparable first inverse transform kernels.
[0187] According to one implementation, the inverse transform execution unit can perform an inverse transform on dequantized transform coefficients using an inverse transform kernel determined in the inverse transform kernel determination unit.
[0188] According to one implementation, whether to perform an inseparable first-order inverse transformation and whether to perform an inseparable second-order inverse transformation can be determined by signaling / parsing, and can be implicitly determined based on the size of the current TU, etc.
[0189] Rebuild execution unit
[0190] According to one implementation, the residual signal reconstructed by the inverse transform execution unit can be combined with the final prediction signal generated by the prediction execution unit to generate the final reconstructed signal.
[0191] Figure 20 This is a block diagram illustrating how an encoder's prediction and transformation units are determined as embodiments of the present invention, and how prediction and transformation are performed for the determined units, modes, and methods to encode residual signals.
[0192] Figure 20 The order of each process in the flowchart can be changed or omitted. Figure 20 Is with Figure 1 The block diagram corresponding to the decoding block diagram.
[0193] The prediction unit determination unit is a step used to determine the size and shape of the block used to perform prediction, and the direct or indirect information of the determined prediction unit can be encoded. This information can include not only methods for determining the direct size and shape information of the current encoded block (=current block, current decoded block), but also information related to the size and shape of the current block, such as the number of partitions, depth, shape of the partitions, direction of the partitions, minimum partition block size information, partition information of neighboring blocks to be decoded, prediction mode, etc.
[0194] The prediction technique determination unit can be a step for determining the prediction technique for each block. The prediction technique can refer to intra-frame prediction technique, inter-frame prediction technique, intra-block copy (IBC) technique, palette mode technique, or a hybrid technique of intra-frame prediction method and inter-frame prediction method, etc.
[0195] The prediction mode determination unit is a step for determining a prediction mode based on the technique determined in the prediction technique determination unit described above. Furthermore, the prediction mode determination unit is a step for determining the pixel values of the actual reference block, such as the direction of intra-frame prediction, the number of reference images in inter-frame prediction, affine mode, merging mode, etc., for the method described below. According to an embodiment, the prediction technique determination unit and the prediction mode determination unit can be integrated into a single step and operate as a prediction technique and mode determination unit.
[0196] The prediction execution unit can generate a first prediction signal block or multiple first prediction signal blocks using the determined prediction techniques and prediction modes.
[0197] When the prediction signal block generated by the prediction execution unit is a prediction signal block that represents the best encoding / decoding efficiency, information related to the determined prediction mode, prediction technique, prediction unit, etc., can be transmitted to the encoder as prediction-related information through the bit stream.
[0198] The residual block acquisition unit can acquire the residual signal based on the generated prediction signal and the original signal. Here, the generated prediction signal can be a prediction signal representing the optimal encoding / decoding efficiency.
[0199] The transform unit determination unit can determine the transform unit to perform the transform on the residual signal, and the transform execution unit can determine the kernel used for the transform to perform the transform on the residual signal. Since the transform unit corresponds to the inverse transform unit mentioned above, which has already been described, a detailed description is omitted.
[0200] The transformation kernel determination unit can determine separable vertical and horizontal primary transformation kernels and / or non-separable secondary transformation kernels, or determine non-separable primary transformation kernels.
[0201] The transformation execution unit can perform a transformation on the residual signal using the transformation kernel determined in the transformation kernel determination unit.
[0202] The transform coefficient quantization unit obtains quantized transform coefficients by performing quantization on the transform coefficients. Here, the quantization method and quantization parameter information can be encoded and transmitted to the decoder.
[0203] The transform coefficient entropy coding unit can encode the quantized transform coefficients and transmit them to the decoder via a bitstream. When a quadratic transform is applied, the quantized quadratic transform coefficients can be encoded; when no quadratic transform is applied, the quantized primary transform coefficients can be encoded.
[0204] Although the exemplary methods of this disclosure are represented as a series of operations for clarity of description, this is not intended to limit the order of the steps performed, and each step may be performed simultaneously or in a different order if desired. To implement the methods according to this disclosure, additional steps may be additionally included in addition to the exemplary steps, or remaining steps that exclude some steps may be included, or another additional step that excludes some steps may be included.
[0205] The various embodiments of this disclosure do not list all possible combinations, but are intended to describe representative aspects of this disclosure, and the matters described in the various embodiments may be applied independently or in combination of at least two.
[0206] Furthermore, various embodiments of this disclosure can be implemented using hardware, firmware, software, or a combination thereof. For hardware implementation, various embodiments of this disclosure can be implemented using one or more ASICs (Application-Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field-Programmable Gate Arrays), general-purpose processors, controllers, microcontrollers, microprocessors, etc.
[0207] The scope of this disclosure includes software or machine-executable instructions (i.e., operating systems, applications, firmware, programs, etc.) that enable operation of methods according to various embodiments to be performed on a device or computer, and non-transitory computer-readable media that store such software or instructions and are executable on a device or computer.
[0208] Industrial applicability
[0209] This disclosure can be used industrially in the fields of encoding / decoding methods, devices, and recording media for predicting chroma blocks by using intercomponent correlation.
Claims
1. An image decoding method, comprising: The prediction unit determination step is used to determine the prediction unit that performs the prediction of the chromaticity component; A prediction technique determination step is used to determine the prediction technique to be applied to the prediction unit; The prediction mode determination step is used to determine a prediction mode for the prediction of the chromaticity component based on the prediction technique. as well as The prediction execution step is used to perform the prediction of the chromaticity component based on the prediction mode.
2. The method according to claim 1, in, The prediction unit is a chroma block.
3. The method according to claim 2, wherein, The prediction technique is an intra-frame prediction technique, an inter-frame prediction technique, an intra-block copy (IBC) technique, a palette mode technique, or a technique that combines intra-frame prediction and inter-frame prediction.
4. The method according to claim 3, in, In response to the prediction technique being determined to be a technique other than the intra-frame prediction technique, the prediction mode is determined based on a skip flag.
5. The method according to claim 1, in, In response to the prediction technique being determined to be a hybrid technique of intra-frame prediction and inter-frame prediction, the prediction mode is determined by using information from some or all pixels of the template in the prediction unit.
6. The method according to claim 1, in, The shape of the prediction unit is determined by geometric division.
7. The method according to claim 1, in, In response to the prediction technique being determined to be an intra-frame prediction technique, the prediction mode is any one of Luminance-to-Chroma (CfL), Cross-Component Linear Model (CCLM), Multiple Hypothesis Cross-Component Prediction (MHCCP), and Convolutional Cross-Component Model (CCCM).
8. The method according to claim 1, in, The prediction of the chromaticity components is performed based on the luminance block at the location corresponding to the prediction unit and the pre-reconstructed neighboring luminance samples of the luminance block.
9. The method according to claim 1, in, The prediction of the chromaticity component is performed based on a linear model between the chromaticity component and the luminance component, and The linear model includes scaling parameters and offset parameters.
10. The method according to claim 9, in, The linear model is derived based on the chromaticity template in the prediction unit and the luminance template at the position corresponding to the chromaticity template.
11. The method according to claim 10, in, The linear model is derived based on the representative values of all or some samples of the chromaticity template and the representative values of all or some samples of the luminance template.
12. An image encoding method, comprising: The prediction unit determination step is used to determine the prediction unit that performs the prediction of the chromaticity component; A prediction technique determination step is used to determine the prediction technique to be applied to the prediction unit; The prediction mode determination step is used to determine a prediction mode for the prediction of the chromaticity component based on the prediction technique. as well as The prediction execution step is used to perform the prediction of the chromaticity component based on the prediction mode.
13. A computer-readable recording medium storing a bitstream generated by an image encoding method, wherein, The image encoding method includes: The prediction unit determination step is used to determine the prediction unit that performs the prediction of the chromaticity component; A prediction technique determination step is used to determine the prediction technique to be applied to the prediction unit; The prediction mode determination step is used to determine a prediction mode for predicting the chromaticity components based on the prediction technique; and The prediction execution step is used to perform the prediction of the chromaticity component based on the prediction mode.
