A decoding, encoding method, apparatus and device thereof
By encoding image domain enhancement parameters at the encoding end and performing image quality enhancement at the decoding end, the performance and complexity issues in neural network encoding and decoding methods are solved, achieving efficient video image encoding and decoding.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-25
- Publication Date
- 2026-03-17
AI Technical Summary
Existing neural network-based encoding and decoding methods suffer from poor encoding performance, poor decoding performance, and high complexity.
By encoding image domain enhancement parameters into the header information bitstream at the encoding end, and then using image domain enhancement parameters and probability distribution parameters to enhance the reconstructed image blocks at the decoding end, the encoding and decoding performance is improved by combining network structure design and header information bitstream.
While maintaining low complexity, it effectively improves the quality of reconstructed image patches and enhances encoding and decoding performance.
Smart Images

Figure CN119893118B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of encoding and decoding technology, and in particular to a decoding and encoding method, apparatus and device thereof. Background Technology
[0002] To save space, video images are encoded before transmission. Complete video encoding includes processes such as prediction, transform, quantization, entropy coding, and filtering. The prediction process can be divided into intra-frame prediction and inter-frame prediction. Inter-frame prediction utilizes temporal correlation to predict the current pixel using pixels from neighboring encoded images, effectively removing temporal redundancy. Intra-frame prediction utilizes spatial correlation to predict the current pixel using pixels from the encoded blocks of the current frame, removing spatial redundancy.
[0003] With the rapid development of deep learning, it has achieved success in many high-level computer vision problems, such as image classification and object detection. Deep learning is also gradually being applied in the field of encoding and decoding, where neural networks can be used to encode and decode images. Although neural network-based encoding and decoding methods have shown great performance potential, they still suffer from problems such as poor encoding performance, poor decoding performance, and high complexity. Summary of the Invention
[0004] In view of this, this application provides a decoding and encoding method, apparatus and device, to improve encoding and decoding performance.
[0005] This application provides a decoding method applied at a decoding end, the method comprising:
[0006] Decode the first bitstream corresponding to the current image block to obtain the coefficient hyperparameter features corresponding to the current image block;
[0007] Based on the coefficient hyperparameter features, the probability distribution parameters are determined, and based on the probability distribution parameters, the second bitstream corresponding to the current image block is decoded to obtain the initial reconstruction features corresponding to the current image block;
[0008] The initial reconstructed image block corresponding to the current image block is determined based on the initial reconstruction features; wherein, the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0009] Brightness edge enhancement is performed on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block.
[0010] This application provides an encoding method applied at an encoding end, the method comprising:
[0011] Encode the hyperparameter features corresponding to the current image block to obtain the first bitstream corresponding to the current image block;
[0012] Based on the coefficient hyperparameter features, the probability distribution parameters are determined, and the initial image features corresponding to the current image block are encoded based on the probability distribution parameters to obtain the second bitstream corresponding to the current image block;
[0013] The initial reconstructed image block corresponding to the current image block is determined based on the initial reconstructed features corresponding to the initial image features; wherein, the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0014] For each candidate image domain enhancement parameter, brightness edge enhancement is performed on the initial brightness reconstruction image block based on the candidate image domain enhancement parameter and the probability distribution parameter to obtain the target brightness reconstruction image block; the cost corresponding to the candidate image domain enhancement parameter is determined based on the target brightness reconstruction image block.
[0015] Based on the cost value corresponding to each candidate image domain enhancement parameter, the image domain enhancement parameter corresponding to the current image block is selected from all candidate image domain enhancement parameters, and the image domain enhancement parameter is encoded to obtain the third bitstream corresponding to the current image block.
[0016] This application provides a decoding device applied at a decoding end, the device comprising:
[0017] The decoding module is used to decode the first bitstream corresponding to the current image block to obtain the coefficient hyperparameter features corresponding to the current image block; determine the probability distribution parameters based on the coefficient hyperparameter features; and decode the second bitstream corresponding to the current image block based on the probability distribution parameters to obtain the initial reconstruction features corresponding to the current image block.
[0018] The determining module is used to determine the initial reconstructed image block corresponding to the current image block based on the initial reconstruction features; wherein, the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0019] The enhancement module is used to enhance the brightness edges of the initial brightness reconstructed image block to obtain the target brightness reconstructed image block.
[0020] This application provides an encoding device applied at an encoding end, the device comprising:
[0021] The encoding module is used to encode the coefficient hyperparameter features corresponding to the current image block to obtain the first bitstream corresponding to the current image block; determine the probability distribution parameters based on the coefficient hyperparameter features, and encode the initial image features corresponding to the current image block based on the probability distribution parameters to obtain the second bitstream corresponding to the current image block;
[0022] The determining module is used to determine the initial reconstructed image block corresponding to the current image block based on the initial reconstructed features corresponding to the initial image features; the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0023] The enhancement module is used to perform brightness edge enhancement on the initial brightness reconstruction image block based on the candidate image domain enhancement parameters and the probability distribution parameters for each candidate image domain enhancement parameter, so as to obtain the target brightness reconstruction image block;
[0024] The determining module is further configured to determine the cost value corresponding to the candidate image domain enhancement parameter based on the target brightness reconstructed image block; and select the image domain enhancement parameter corresponding to the current image block from all candidate image domain enhancement parameters based on the cost value corresponding to each candidate image domain enhancement parameter.
[0025] The encoding module is also used to encode the image domain enhancement parameters to obtain the third bitstream corresponding to the current image block.
[0026] This application provides a decoding end device, the decoding end device including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor;
[0027] The processor is used to execute machine-executable instructions to implement the above-described decoding method.
[0028] This application provides an encoding end device, the decoding end device comprising: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions executable by the processor;
[0029] The processor is used to execute machine-executable instructions to implement the above-described encoding method.
[0030] This application provides an electronic device, including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is configured to execute the machine-executable instructions to implement the above-described decoding method; or, the processor is configured to execute the machine-executable instructions to implement the above-described encoding method.
[0031] This application provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, implement the above-described decoding method; or, implement the above-described encoding method.
[0032] As can be seen from the above technical solutions, this application proposes an end-to-end video image compression method that can encode and decode video images based on neural networks. By combining image domain enhancement parameters and probability distribution parameters, it aims to improve encoding and decoding efficiency. By combining network structure design and header information stream (such as a third stream), the neural network effectively ensures the quality of reconstructed image blocks while maintaining low complexity, thereby improving encoding and decoding performance and reducing complexity. Image domain enhancement parameters and probability distribution parameters are used to enhance the image quality of features. The encoding end does not directly change the feature information but encodes the image domain enhancement parameters into the header information stream. The decoding end enhances the reconstructed image blocks using the image domain enhancement parameters, improving encoding performance and reconstructed image quality. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of a three-dimensional feature matrix in one embodiment of this application;
[0034] Figure 2 This is a flowchart illustrating a decoding method in one embodiment of this application;
[0035] Figure 3 This is a flowchart illustrating an encoding method in one embodiment of this application;
[0036] Figure 4 This is a schematic diagram of the processing procedure at the encoding end in one embodiment of this application;
[0037] Figure 5 This is a schematic diagram of the processing procedure at the decoding end in one embodiment of this application;
[0038] Figure 6A This is a schematic diagram showing the location of the feature domain enhancement module in one embodiment of this application;
[0039] Figure 6B This is a schematic diagram showing the positions of the feature domain enhancement module and the image domain enhancement module in one embodiment of this application;
[0040] Figure 6C This is a schematic diagram showing the location of the image domain enhancement module in one embodiment of this application;
[0041] Figure 6D This is a schematic diagram of cross-channel filtering in one embodiment of this application;
[0042] Figure 6E This is a schematic diagram of nonlinear chromaticity filtering in one embodiment of this application;
[0043] Figure 7A This is a hardware structure diagram of the decoding end device in one embodiment of this application;
[0044] Figure 7B This is a hardware structure diagram of the encoding end device in one embodiment of this application. Detailed Implementation
[0045] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” used in the embodiments and claims of this application are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any or all possible combinations including one or more of the associated listed items. It should be understood that although the terms first, second, third, etc., may be used to describe various information in the embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of the embodiments of this application, and similarly, second information may also be referred to as first information, depending on the context. Furthermore, the word “if” as used can be interpreted as “when,” “in response to a determination,” or “when…”.
[0046] This application proposes a decoding method and an encoding method, which may involve the following concepts:
[0047] Entropy coding: Entropy coding is a coding process that follows the principle of entropy without losing any information. Information entropy is the average amount of information in the source (a measure of uncertainty). Entropy coding methods can include, but are not limited to, Shannon coding, Huffman coding, and arithmetic coding.
[0048] Neural Networks (NNs): Neural networks are artificial neural networks, a computational model composed of numerous interconnected nodes (or neurons). In a neural network, neurons can represent different objects, such as features, letters, concepts, or meaningful abstract patterns. The types of processing units in a neural network can be divided into three categories: input units, output units, and hidden units. Input units receive signals and data from the external world; output units output the processed results; hidden units are located between the input and output units and cannot be observed from outside the system. The connection weights between neurons reflect the connection strength between units; the representation and processing of information are reflected in the connections between processing units. Neural networks are a non-programmed, brain-like information processing method. The essence of a neural network is to obtain a parallel and distributed information processing function through the transformations and dynamic behavior of the network, mimicking the information processing function of the human brain's nervous system to varying degrees and levels. In the field of video processing, commonly used neural networks include, but are not limited to, Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), and fully connected networks.
[0049] Convolutional Neural Networks (CNNs) are a type of feedforward neural network and one of the most representative network structures in deep learning. The artificial neurons in a CNN can respond to surrounding units within a certain coverage area, exhibiting excellent performance in large-scale image processing. The basic structure of a CNN consists of two layers: a feature extraction layer (also called a convolutional layer), where the input of each neuron is connected to the local receptive field of the previous layer, extracting features from that local area. Once these local features are extracted, their positional relationship with other features is determined. The second layer is a feature mapping layer (also called an activation layer). Each computational layer of the neural network consists of multiple feature maps, each a plane where all neurons have equal weights. Feature mapping structures can use functions such as the Sigmoid function, ReLU function, Leaky-ReLU function, PReLU function, and GDN function as activation functions for the convolutional network. Furthermore, because neurons on a single feature map share weights, the number of free parameters in the network is reduced.
[0050] For example, one advantage of convolutional neural networks (CNNs) over image processing algorithms is that they avoid complex preprocessing steps (such as extracting artificial features) and can directly input the original image for end-to-end learning. Another advantage of CNNs over ordinary neural networks is that ordinary neural networks use fully connected layers, meaning all neurons from the input layer to the hidden layer are connected. This results in a huge number of parameters, making network training time-consuming or even difficult. CNNs, however, avoid this difficulty through local connectivity and weight sharing.
[0051] Deconvolution: Also known as transposed convolution, deconvolution layers work similarly to convolutional layers. The main difference is that deconvolution layers use padding to make the output larger than the input (though they can also remain the same). If the stride is 1, the output size equals the input size; if the stride is N, the width of the output feature is N times the width of the input feature, and the height of the output feature is N times the height of the input feature.
[0052] Generalization ability: Generalization ability refers to the ability of a machine learning algorithm to adapt to new samples. The goal of learning is to learn the patterns hidden behind data pairs. The trained network can also give appropriate outputs for data outside the learning set that have the same pattern. This ability can be called generalization ability.
[0053] Features: The features involved in this application are three-dimensional feature matrices or tensors of size C*W*H, see [link to relevant documentation]. Figure 1 The diagram shows a schematic of a three-dimensional feature matrix. In the three-dimensional feature matrix, C represents the number of channels, H represents the feature height, and W represents the feature width. The three-dimensional feature matrix can be the input or output of a neural network.
[0054] Rate-Distortion Optimized (RDBEM) principle: Two main metrics for evaluating coding efficiency are bitrate and PSNR (Peak Signal-to-Noise Ratio). A smaller bitrate results in a higher compression ratio, and a higher PSNR leads to better reconstructed image quality. In mode selection, the decision formula essentially evaluates both factors. For example, the cost of a mode is: J(mode) = D + λ*R, where D represents Distortion, typically measured using the SSE metric (Sum of Mean Squares of Differences between the Reconstructed Image Patch and the Source Image). Alternatively, the SAD metric (Sum of Absolute Differences between the Reconstructed Image Patch and the Source Image) can be used to consider the cost. λ is a Lagrange multiplier, and R is the actual number of bits required to encode the image patch in that mode, including the total number of bits needed for encoding mode information, motion information, residuals, etc. Using the RDBEM principle to compare and decide on coding modes during mode selection usually ensures optimal coding performance.
[0055] Numerous encoding tools have been proposed for various modules at the encoding end, and each tool often has multiple modes. The optimal encoding tool for different video sequences often differs. Therefore, during encoding, Rate-Distortion Optimization (RDO) is typically used to compare the encoding performance of different tools or modes to select the best mode. After determining the optimal tool or mode, the decision information is transmitted by encoding marker information in the bitstream. Although this method introduces higher encoding complexity, it can adaptively select the optimal mode combination for different content to achieve the best encoding performance. The decoding end can obtain the relevant mode information by directly parsing the marker information, with minimal impact from complexity.
[0056] In the end-to-end general framework for image coding, the main components are the primary feature information part and the advanced prior edge information part. The primary feature information part includes an analysis network, quantization, normal entropy coding, normal entropy decoding, and a synthesis network. The advanced prior edge information part includes an advanced prior analysis network, quantization, factorized entropy coding, factorized entropy decoding, and an advanced prior synthesis network. The image component x is compressed, encoded, and reconstructed by the analysis network and the synthesis network of the primary feature information part, respectively. The advanced prior edge information part is mainly used to model the probabilities of the primary feature information, guiding the entropy encoding and decoding of the primary feature information. However, in the end-to-end general framework for image coding, there is a problem of not fully utilizing the advanced prior edge information, resulting in insufficient improvement in image reconstruction quality.
[0057] To address the above findings, this embodiment utilizes the characteristics of an end-to-end image coding framework. The decoding end uses probability distribution parameters to enhance the quality of the reconstructed image, thereby improving its overall quality. The encoding end does not directly modify the main information; instead, it encodes image domain enhancement parameters into the header information bitstream (the third bitstream). The decoding end then enhances the reconstructed image using these image domain enhancement parameters.
[0058] The decoding and encoding methods in the embodiments of this application will be described in detail below with reference to several specific examples.
[0059] Example 1: This application proposes a decoding method, see [link to example]. Figure 2 The diagram shown illustrates the flowchart of this decoding method, which can be applied to the decoding end (also known as a video decoder). This method may include:
[0060] Step 201: Decode the first bitstream corresponding to the current image block to obtain the coefficient hyperparameter features corresponding to the current image block.
[0061] Step 202: Determine the probability distribution parameters based on the hyperparameter features of the coefficients, and decode the second bitstream corresponding to the current image block based on the probability distribution parameters to obtain the initial reconstruction features corresponding to the current image block.
[0062] Step 203: Determine the initial reconstructed image block corresponding to the current image block based on the initial reconstruction features; wherein, the initial reconstructed image block may include an initial luminance reconstructed image block and an initial chrominance reconstructed image block.
[0063] Step 204: Perform brightness edge enhancement on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block.
[0064] For example, after determining the initial reconstructed image block corresponding to the current image block based on the initial reconstructed features, chroma filtering enhancement can be performed on the initial chroma reconstructed image block to obtain the target chroma reconstructed image block. For instance, chroma filtering enhancement and luminance edge enhancement are synchronous and parallel. Chroma filtering enhancement and luminance edge enhancement can be performed simultaneously, or luminance edge enhancement can be performed first followed by chroma filtering enhancement, or chroma filtering enhancement can be performed first followed by luminance edge enhancement. The order of luminance and chroma enhancement is not limited.
[0065] For example, after obtaining the target brightness reconstructed image block and the target chromaticity reconstructed image block, a target reconstructed image block can be generated based on the target brightness reconstructed image block and the target chromaticity reconstructed image block.
[0066] For example, in order to obtain a target chroma reconstructed image block, chroma filtering enhancement can be performed based on the initial luminance reconstructed image block and the initial chroma reconstructed image block to obtain the target chroma reconstructed image block; or, chroma filtering enhancement can be performed based on the target luminance reconstructed image block and the initial chroma reconstructed image block to obtain the target chroma reconstructed image block.
[0067] For example, performing brightness edge enhancement on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block may include, but is not limited to: decoding the third bitstream (also known as the header information bitstream corresponding to the current image block) corresponding to the current image block to obtain the image domain enhancement parameters corresponding to the current image block; and performing brightness edge enhancement on the initial brightness reconstructed image block based on the image domain enhancement parameters and probability distribution parameters to obtain the target brightness reconstructed image block corresponding to the current image block.
[0068] For example, the image domain enhancement parameters may include multiple image enhancement segment intensity values and multiple image enhancement segment thresholds. These multiple image enhancement segment thresholds form multiple image enhancement threshold intervals, and each of these intervals corresponds one-to-one with a single image enhancement segment intensity value. Based on this, brightness edge enhancement is performed on the initial brightness reconstruction image block using the image domain enhancement parameters and probability distribution parameters to obtain the target brightness reconstruction image block corresponding to the current image block. This may include, but is not limited to: obtaining a target probability distribution channel map based on the probability distribution parameters; if the target probability distribution channel map includes multiple probability distribution values, then for each probability distribution value, determining the image enhancement segment intensity value corresponding to that probability distribution value based on the image enhancement threshold interval corresponding to that probability distribution value; and performing brightness edge enhancement on the initial brightness reconstruction image block based on the image enhancement segment intensity value corresponding to each probability distribution value to obtain the target brightness reconstruction image block corresponding to the current image block.
[0069] For example, obtaining the target probability distribution channel map based on probability distribution parameters may include, but is not limited to: decoding the third bitstream corresponding to the current image block to obtain the important channel identifier corresponding to the current image block; if the probability distribution parameters include multiple probability distribution channel maps, then selecting the probability distribution channel map corresponding to the important channel identifier from the multiple probability distribution channel maps as the important probability distribution channel map; and upsampling the important probability distribution channel map to obtain the target probability distribution channel map.
[0070] For example, performing brightness edge enhancement on an initial brightness reconstructed image block to obtain a target brightness reconstructed image block may include, but is not limited to: decoding the third bitstream corresponding to the current image block to obtain the important channel identifier corresponding to the current image block; if the probability distribution parameters include multiple probability distribution channel maps, then selecting the probability distribution channel map corresponding to the important channel identifier from the multiple probability distribution channel maps included in the probability distribution parameters as the important probability distribution channel map; upsampling the important probability distribution channel map to obtain the target probability distribution channel map; and performing brightness edge enhancement on the initial brightness reconstructed image block according to the target probability distribution channel map to obtain the target brightness reconstructed image block corresponding to the current image block.
[0071] For example, performing brightness edge enhancement on the initial brightness reconstructed image block based on the image enhancement segment intensity value corresponding to each probability distribution value to obtain the target brightness reconstructed image block corresponding to the current image block may include, but is not limited to: generating a high-frequency detail image based on the initial brightness reconstructed image block; performing brightness edge enhancement on each feature value in the high-frequency detail image based on the image enhancement segment intensity value corresponding to the probability distribution value of the feature value to obtain an image enhancement feature value; and determining the target brightness reconstructed image block based on the image enhancement feature value corresponding to each feature value.
[0072] For example, generating a high-frequency detail image based on an initial brightness-reconstructed image patch may include, but is not limited to: performing a convolution operation between the initial brightness-reconstructed image patch and a Gaussian blur convolution kernel to obtain a Gaussian blur image; and subtracting the Gaussian blur image from the initial brightness-reconstructed image patch to obtain the high-frequency detail image. Wherein, for each value in the Gaussian blur convolution kernel, the denominator of the value can be a power of 2, such as 2, 4, 8, 16, 32, 64, 128, etc.
[0073] For example, the Gaussian blur convolution kernel can be an N*N convolution kernel, where N can be a positive integer. If N is 3, that is, the Gaussian blur convolution kernel is a 3*3 convolution kernel, then the Gaussian blur convolution kernel can include, but is not limited to:
[0074]
[0075] In this context, A can be a positive integer, B can be a positive integer, and M can be a power of 2, such as M being 2, 4, 8, 16, 32, 64, or 128. For example, A could be 5, B could be 24, and M could be 64.
[0076] For example, in step 204, chroma filtering enhancement is performed on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block. This may include, but is not limited to, performing chroma filtering enhancement on the initial chroma reconstructed image block based on the target luminance reconstructed image block or the initial luminance reconstructed image block to obtain the target chroma reconstructed image block.
[0077] For example, adaptive upsampling can be performed based on the initial chroma reconstruction image block and the initial luminance reconstruction image block to obtain an upsampled chroma reconstruction image block. The resolution of the upsampled chroma reconstruction image block and the initial luminance reconstruction image block can be the same. A filtering operation is then performed on the upsampled chroma reconstruction image block to obtain the target chroma reconstruction image block; wherein, the filtering operation may include, but is not limited to, cross-channel filtering and / or nonlinear chroma filtering. For example, a target chroma reconstructed image block can be obtained by performing cross-channel filtering on an upsampled chroma reconstructed image block based on an initial luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing nonlinear chroma filtering on an upsampled chroma reconstructed image block based on an initial luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing cross-channel filtering on an upsampled chroma reconstructed image block based on an initial luminance reconstructed image block, followed by nonlinear chroma filtering on the cross-channel filtered chroma reconstructed image block based on an initial luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing nonlinear chroma filtering on an upsampled chroma reconstructed image block based on an initial luminance reconstructed image block, followed by cross-channel filtering on the nonlinear chroma filtered chroma reconstructed image block based on an initial luminance reconstructed image block.
[0078] For example, adaptive upsampling can be performed based on the initial chroma reconstruction image block and the target luminance reconstruction image block to obtain an upsampled chroma reconstruction image block. The resolution of the upsampled chroma reconstruction image block and the target luminance reconstruction image block can be the same. A filtering operation is then performed on the upsampled chroma reconstruction image block to obtain the target chroma reconstruction image block; wherein, the filtering operation may include, but is not limited to, cross-channel filtering and / or nonlinear chroma filtering. For example, a target chroma reconstructed image block can be obtained by performing cross-channel filtering on an upsampled chroma reconstructed image block based on a target luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing nonlinear chroma filtering on an upsampled chroma reconstructed image block based on a target luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing cross-channel filtering on an upsampled chroma reconstructed image block based on a target luminance reconstructed image block, followed by nonlinear chroma filtering on the cross-channel filtered chroma reconstructed image block based on a target luminance reconstructed image block; or, a target chroma reconstructed image block can be obtained by performing nonlinear chroma filtering on an upsampled chroma reconstructed image block based on a target luminance reconstructed image block, followed by cross-channel filtering on the nonlinear chroma filtered chroma reconstructed image block based on a target luminance reconstructed image block.
[0079] For example, determining the initial reconstructed image block corresponding to the current image block based on the initial reconstructed features may include, but is not limited to: inputting the initial reconstructed features into a synthetic transform network to obtain the initial reconstructed image block corresponding to the current image block. Alternatively, decoding the third bitstream corresponding to the current image block to obtain the feature domain enhancement parameters corresponding to the current image block; performing feature domain enhancement on the initial reconstructed features based on the feature domain enhancement parameters and probability distribution parameters to obtain enhanced reconstructed features; and inputting the enhanced reconstructed features into a synthetic transform network to obtain the initial reconstructed image block corresponding to the current image block.
[0080] For example, the third bitstream corresponding to the current image block can also be decoded to obtain the important channel identifiers corresponding to the current image block; wherein, the initial reconstructed features include C feature channel maps, the probability distribution parameters include C probability distribution channel maps, and the C probability distribution channel maps and C feature channels... Figure 1 In a one-to-one correspondence, the feature channel map corresponding to the important channel identifier is used as the important feature channel map, the remaining feature channel maps are used as the non-important feature channel maps, the probability distribution channel map corresponding to the important feature channel map is used as the important probability distribution channel map, and the remaining probability distribution channel map is used as the non-important probability distribution channel map.
[0081] The initial reconstructed feature is enhanced by enhancing the feature domain based on the feature domain enhancement parameters and probability distribution parameters to obtain enhanced reconstructed features. This may include, but is not limited to: performing adaptive edge enhancement on the important feature channel map based on the feature domain enhancement parameters and the important probability distribution channel map to obtain the first reconstructed feature after adaptive edge enhancement; performing adaptive stretching on the unimportant feature channel map based on the feature domain enhancement parameters and the unimportant probability distribution channel map to obtain the second reconstructed feature after adaptive stretching; and generating enhanced reconstructed features based on the first reconstructed feature and the second reconstructed feature.
[0082] For example, the feature domain enhancement parameters may include multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds. These multiple edge enhancement segment thresholds can form multiple edge enhancement threshold intervals, and each edge enhancement threshold interval corresponds one-to-one with a single edge enhancement segment intensity value. Based on this, feature-adaptive edge enhancement is performed on the important feature channel map using the feature domain enhancement parameters and the important probability distribution channel map to obtain the first reconstructed feature after feature-adaptive edge enhancement. This may include, but is not limited to: if the important probability distribution channel map includes multiple probability distribution values, then for each probability distribution value, the edge enhancement segment intensity value corresponding to that probability distribution value can be determined based on the edge enhancement threshold interval corresponding to that probability distribution value; then, feature-adaptive edge enhancement is performed on the important feature channel map based on the edge enhancement segment intensity value corresponding to each probability distribution value to obtain the first reconstructed feature after feature-adaptive edge enhancement.
[0083] For example, feature-adaptive edge enhancement is performed on the important feature channel map based on the edge enhancement segment intensity value corresponding to each probability distribution value to obtain the first reconstructed feature after feature-adaptive edge enhancement. This may include, but is not limited to: normalizing the important feature channel map to obtain a normalized feature map; generating a high-frequency detail image based on the important feature channel map and the normalized feature map; for each feature value in the high-frequency detail image, performing edge enhancement on the feature value based on the edge enhancement segment intensity value corresponding to the probability distribution value of the feature value to obtain an edge enhancement feature value; determining the edge enhancement feature map based on the edge enhancement feature value corresponding to each feature value; and inversely normalizing the edge enhancement feature map to obtain the first reconstructed feature.
[0084] For example, the feature domain enhancement parameter may include a stretching parameter value. Based on the feature domain enhancement parameter and the unimportant probability distribution channel map, the unimportant feature channel map is adaptively stretched to obtain the second reconstructed feature after adaptive stretching. This may include, but is not limited to: if the unimportant feature channel map may include multiple feature values and the unimportant probability distribution channel map may include multiple probability distribution values, then for each feature value in the unimportant feature channel map, the stretched feature value corresponding to the feature value can be determined based on the feature value, the stretching parameter value, and the probability distribution value corresponding to the feature value; then, the second reconstructed feature is determined based on the stretched feature value corresponding to each feature value in the unimportant feature channel map.
[0085] For example, the above execution order is merely an example for ease of description. In practical applications, the execution order between steps can be changed, and there is no limitation on this execution order. Moreover, in other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification, and the method may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; multiple steps described in this specification may also be combined into a single step in other embodiments.
[0086] As can be seen from the above technical solutions, in this embodiment, after obtaining the initial luminance reconstructed image block and the initial chrominance reconstructed image block corresponding to the current image block, luminance edge enhancement can be performed on the initial luminance reconstructed image block to obtain the target luminance reconstructed image block, and chrominance filtering enhancement can be performed on the initial chrominance reconstructed image block to obtain the target chrominance reconstructed image block. Based on the target luminance reconstructed image block and the target chrominance reconstructed image block, a target reconstructed image block is generated, thus proposing an end-to-end video image compression method. This method can achieve video image encoding and decoding based on neural networks, and improve encoding and decoding efficiency by combining image domain enhancement parameters and probability distribution parameters. By combining network structure design and header information bitstream (such as a third bitstream), the neural network effectively ensures the quality of the reconstructed image blocks while maintaining low complexity, thereby improving encoding and decoding performance and reducing complexity. Image quality enhancement is achieved by using image domain enhancement parameters and probability distribution parameters to enhance features. The encoding end does not directly change the feature information but encodes the image domain enhancement parameters into the header information bitstream. The decoding end enhances the reconstructed image blocks through the image domain enhancement parameters, improving encoding performance and reconstructed image quality.
[0087] Example 2: An encoding method is proposed in this application embodiment, see [link to example]. Figure 3 The diagram shown illustrates the flowchart of this encoding method, which can be applied to the encoding end (also known as a video encoder). This method may include:
[0088] Step 301: Encode the hyperparameter features of the coefficients corresponding to the current image block to obtain the first bitstream corresponding to the current image block.
[0089] Step 302: Determine the probability distribution parameters based on the hyperparameter features of the coefficients, and encode the initial image features corresponding to the current image block based on the probability distribution parameters to obtain the second bitstream corresponding to the current image block.
[0090] Step 303: Determine the initial reconstructed image block corresponding to the current image block based on the initial reconstructed features corresponding to the initial image features; wherein, the initial reconstructed image block may include the initial luminance reconstructed image block and the initial chrominance reconstructed image block.
[0091] Step 304: For each candidate image domain enhancement parameter, perform brightness edge enhancement on the initial brightness reconstructed image block based on the candidate image domain enhancement parameter and the probability distribution parameter to obtain a target brightness reconstructed image block; determine the cost corresponding to the candidate image domain enhancement parameter based on the target brightness reconstructed image block. For example, chroma filtering enhancement can be performed on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block. A target reconstructed image block is generated based on the target brightness reconstructed image block and the target chroma reconstructed image block, and the cost corresponding to the candidate image domain enhancement parameter is determined based on the target reconstructed image block.
[0092] Step 305: Based on the cost value corresponding to each candidate image domain enhancement parameter, select the image domain enhancement parameter corresponding to the current image block from all candidate image domain enhancement parameters, encode the image domain enhancement parameter, and obtain the third bitstream corresponding to the current image block (the third bitstream can also be called the header information bitstream corresponding to the current image block).
[0093] For example, the processing at the encoding end is similar to that at the decoding end, and the similarities will not be repeated. The processing at the decoding end can be applied to the encoding end, that is, the encoding end adopts the same processing method.
[0094] For example, the above execution order is merely an example for ease of description. In practical applications, the execution order between steps can be changed, and there is no limitation on this execution order. Moreover, in other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification, and the method may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; multiple steps described in this specification may also be combined into a single step in other embodiments.
[0095] As can be seen from the above technical solutions, in this embodiment, after obtaining the initial luminance reconstructed image block and the initial chrominance reconstructed image block corresponding to the current image block, luminance edge enhancement can be performed on the initial luminance reconstructed image block to obtain the target luminance reconstructed image block, and chrominance filtering enhancement can be performed on the initial chrominance reconstructed image block to obtain the target chrominance reconstructed image block. Based on the target luminance reconstructed image block and the target chrominance reconstructed image block, a target reconstructed image block is generated, thus proposing an end-to-end video image compression method. This method can achieve video image encoding and decoding based on neural networks, and improve encoding and decoding efficiency by combining image domain enhancement parameters and probability distribution parameters. By combining network structure design and header information bitstream (such as a third bitstream), the neural network effectively ensures the quality of the reconstructed image blocks while maintaining low complexity, thereby improving encoding and decoding performance and reducing complexity. Image quality enhancement is achieved by using image domain enhancement parameters and probability distribution parameters to enhance features. The encoding end does not directly change the feature information but encodes the image domain enhancement parameters into the header information bitstream. The decoding end enhances the reconstructed image blocks through the image domain enhancement parameters, improving encoding performance and reconstructed image quality.
[0096] Example 3: For the processing procedures at the encoding end in Examples 1 and 2, please refer to... Figure 4 As shown, of course, Figure 4 This is just one example of the processing procedure at the encoding end, and no restrictions are imposed on this processing procedure.
[0097] After obtaining the current image block x (which can be the original image block x, i.e., the input image block), the encoding end can perform analysis and transformation on the current image block x through an analysis and transformation network (i.e., a neural network) to obtain the image features y corresponding to the current image block x. Specifically, performing feature transformation on the current image block x through the analysis and transformation network means transforming the current image block x to image features y in the latent domain, thereby facilitating all subsequent processes to be performed in the latent domain.
[0098] An image can be divided into one image block or multiple image blocks. If an image is divided into one image block, then the current image block x can also be an image. That is, the encoding and decoding process for image blocks can also be directly applied to images.
[0099] After obtaining image features y, the encoder performs a coefficient hyperparameter feature transformation on y to obtain coefficient hyperparameter features z. For example, image features y can be input into a hyperparameter coding network (i.e., a neural network), which then performs the coefficient hyperparameter feature transformation on y to obtain coefficient hyperparameter features z. The hyperparameter coding network can be a trained neural network, and its training process is not restricted, as long as it can perform the coefficient hyperparameter feature transformation on image features y. The latent domain image features y, after passing through the hyperparameter coding network, yield the hyper-prior latent information z.
[0100] After obtaining the coefficient hyperparameter feature z, the encoder can quantize the coefficient hyperparameter feature z to obtain the quantized hyperparameter feature corresponding to the coefficient hyperparameter feature z, i.e. Figure 4 The Q-operation in the code represents the quantization process. After obtaining the hyperparameter quantization features corresponding to the coefficient hyperparameter features z, these features are encoded to obtain Bitstream#1 (i.e., the first bitstream) corresponding to the current image patch. Figure 4 The AE operation in the code represents the encoding process, such as entropy encoding. Alternatively, the encoder can directly encode the coefficient hyperparameter feature z to obtain the Bitstream#1 corresponding to the current image patch. The hyperparameter quantization feature or coefficient hyperparameter feature z carried in Bitstream#1 is mainly used to obtain the parameters of the mean and probability distribution model.
[0101] After obtaining the Bitstream#1 corresponding to the current image block, the encoding end can send the Bitstream#1 corresponding to the current image block to the decoding end. For the processing of the Bitstream#1 corresponding to the current image block by the decoding end, please refer to the following embodiments.
[0102] After obtaining Bitstream#1 corresponding to the current image block, the encoding end can also decode Bitstream#1 to obtain the hyperparameter quantization features, i.e. Figure 4 In the diagram, AD represents the decoding process. Then, the hyperparameter quantization features are dequantized to obtain the coefficient hyperparameter features z_hat. The coefficient hyperparameter features z_hat and the coefficient hyperparameter features z can be the same or different. Figure 4 The IQ operation in the code is an inverse quantization process. Alternatively, after obtaining Bitstream#1 corresponding to the current image block, the encoder can decode Bitstream#1 to obtain the coefficient hyperparameter feature z_hat without involving the inverse quantization process of the coefficient hyperparameter feature z_hat.
[0103] For the encoding process of Bitstream#1, a fixed probability density model encoding method can be used; for the decoding process of Bitstream#1, a fixed probability density model decoding method can be used. There are no restrictions on the encoding and decoding processes.
[0104] After obtaining the coefficient hyperparameter feature z_hat, the encoder can perform context-based prediction based on the coefficient hyperparameter feature z_hat of the current image patch and the reconstructed feature y_hat of the previous image patch (the determination process of the reconstructed feature y_hat is described in subsequent embodiments) to obtain the predicted value mu (i.e., the mean mu) corresponding to the current image patch. For example, the coefficient hyperparameter feature z_hat and the reconstructed feature y_hat are input into the mean prediction network, which determines the predicted value mu based on the coefficient hyperparameter feature z_hat and the reconstructed feature y_hat. This prediction process is not restricted. Specifically, for the context-based prediction process, the input includes the coefficient hyperparameter feature z_hat and the decoded reconstructed feature y_hat. The two are jointly input to obtain a more accurate predicted value mu. The predicted value mu is used to subtract the original feature to obtain the residual r_hat and add it to the decoded residual to obtain the reconstructed feature y_hat.
[0105] It is important to note that the mean prediction network is an optional neural network; that is, it is not necessary to use a mean prediction network to determine the predicted value mu. Figure 4 The dashed box in the image indicates that the mean prediction network is optional.
[0106] After obtaining image features y, the encoder can determine residual features r based on image features y and predicted values mu, such as using the difference between image features y and predicted values mu as residual features r. Then, feature processing is performed on the residual features r to obtain image features s. This feature processing method is not restricted and can be any method. In this case, a mean prediction network needs to be deployed to provide the predicted values mu. Alternatively, after obtaining image features y, the encoder can perform feature processing on image features y to obtain image features s. This feature processing method is not restricted and can be any method. In this case, a mean prediction network is not needed, and the residual process is indicated by a dashed box as optional.
[0107] After obtaining image features s, the encoding end can quantize image features s to obtain the quantized image features corresponding to image features s, i.e. Figure 4 The Q operation in the code represents the quantization process. After obtaining the quantized image features corresponding to image features s, the encoder can encode these quantized features to obtain Bitstream #2 (i.e., the second bitstream) corresponding to the current image block. Figure 4 The AE operation in the code represents the encoding process, such as entropy encoding. Alternatively, the encoding end can directly encode the image features s to obtain the Bitstream#2 corresponding to the current image block, without involving the quantization process of image features s.
[0108] After obtaining the Bitstream#2 corresponding to the current image block, the encoding end can send the Bitstream#2 corresponding to the current image block to the decoding end. For the processing of the Bitstream#2 corresponding to the current image block by the decoding end, please refer to the following embodiments.
[0109] After obtaining Bitstream#2 corresponding to the current image block, the encoding end can also decode Bitstream#2 to obtain the image quantization features, i.e. Figure 4 In this context, AD represents the decoding process. Then, the encoding end can dequantize the image quantization features to obtain image features s'. Image features s' can be the same as or different from image features s. Figure 4 The IQ operation in the code is the dequantization process. Alternatively, after obtaining Bitstream#2 corresponding to the current image block, the encoder can decode Bitstream#2 to obtain image features s' without involving the dequantization process of image quantization features.
[0110] After obtaining image features s', the encoder can perform feature recovery (the inverse process of feature processing) on s'. This feature recovery process is not restricted and can be any method, resulting in residual features r_hat. Residual features r_hat and r can be the same or different. After obtaining residual features r_hat, the encoder determines image features y_hat (i.e., reconstructed features) based on residual features r_hat and predicted values mu. Image features y_hat and y can be the same or different; for example, the sum of residual features r_hat and predicted values mu can be used as image features y_hat. In this case, a mean prediction network needs to be deployed to provide the predicted values mu. Alternatively, after obtaining image features s', the encoder can perform feature recovery (the inverse process of feature processing) on s' to obtain image features y_hat. Image features y_hat and y can be the same or different. In this case, a mean prediction network is not needed, and the residual process is indicated by a dashed box as optional.
[0111] After obtaining the image feature y_hat, the encoder can perform a synthetic transformation on the image feature y_hat to obtain the reconstructed image block x_hat corresponding to the current image block x. For example, the image feature y_hat can be input into the synthetic transformation network, which will perform a synthetic transformation on the image feature y_hat to obtain the reconstructed image block x_hat. Thus, the image reconstruction process is completed.
[0112] In one possible implementation, when the encoding end encodes the image quantization features or image features s to obtain Bitstream#2 corresponding to the current image block, the encoding end needs to first determine the probability distribution model, and then encode the image quantization features or image features s based on the probability distribution model. Furthermore, when the encoding end decodes Bitstream#2, it also needs to first determine the probability distribution model, and then decode Bitstream#2 based on the probability distribution model.
[0113] To obtain the probability distribution model, please refer to [link / reference]. Figure 4 As shown, after obtaining the hyperparameter feature z_hat, the encoder can perform an inverse hyperparameter feature transformation on z_hat to obtain the probability distribution parameters. For example, the hyperparameter feature z_hat can be input into a probabilistic hyperparameter decoding network, which will then perform an inverse hyperparameter feature transformation on z_hat to obtain the probability distribution parameter sigma. After obtaining the probability distribution parameter, a probability distribution model can be generated based on it. The probabilistic hyperparameter decoding network can be a trained neural network; the training process of this network is not restricted, as long as it can perform the inverse hyperparameter feature transformation on z_hat.
[0114] In one possible implementation, the above-mentioned encoding process can be executed by a deep learning model or a neural network model to achieve end-to-end image compression and encoding, without any restrictions on the encoding process.
[0115] Example 4: For the processing procedures at the decoding end in Examples 1 and 2, please refer to... Figure 5 As shown, of course, Figure 5 This is just one example of the processing procedure at the decoding end, and no restrictions are imposed on the processing procedure at the decoding end.
[0116] After obtaining Bitstream#1 corresponding to the current image block, the decoding end can further decode Bitstream#1 to obtain the hyperparameter quantization features, i.e. Figure 5 In the diagram, AD represents the decoding process. Then, the hyperparameter quantization features are dequantized to obtain the coefficient hyperparameter features z_hat. The coefficient hyperparameter features z_hat and the coefficient hyperparameter features z can be the same or different. Figure 5 The IQ operation in the code is an inverse quantization process. Alternatively, after obtaining Bitstream#1 corresponding to the current image block, the decoding end can also decode Bitstream#1 to obtain the coefficient hyperparameter feature z_hat, without involving the inverse quantization process of the coefficient hyperparameter feature z_hat.
[0117] For the decoding process of Bitstream#1, a decoding method with a fixed probability density model can be used, and there are no restrictions on this.
[0118] An image can be divided into one image block or multiple image blocks. If the image is divided into one image block, then the current image block x can also be an image. That is, the decoding process for the image block can also be directly applied to the image.
[0119] After obtaining the coefficient hyperparameter feature z_hat, the decoder can perform context-based prediction based on the coefficient hyperparameter feature z_hat of the current image patch and the reconstructed feature y_hat of the previous image patch (the determination process of the reconstructed feature y_hat is described in subsequent embodiments) to obtain the predicted value mu (i.e., the mean mu) corresponding to the current image patch. For example, the coefficient hyperparameter feature z_hat and the reconstructed feature y_hat can be input into the mean prediction network, which determines the predicted value mu based on the coefficient hyperparameter feature z_hat and the reconstructed feature y_hat. This prediction process is not restricted. Specifically, for the context-based prediction process, the input includes the coefficient hyperparameter feature z_hat and the decoded reconstructed feature y_hat; the combined input of these two features yields a more accurate predicted value mu.
[0120] It is important to note that the mean prediction network is an optional neural network; that is, it is not necessary to use a mean prediction network to determine the predicted value mu. Figure 5 The dashed box in the image indicates that the mean prediction network is optional.
[0121] After obtaining Bitstream#2 corresponding to the current image block, the decoding end can further decode Bitstream#2 to obtain the image quantization features, i.e. Figure 5 In this context, AD represents the decoding process. Then, the decoding end can perform inverse quantization on the image quantization features to obtain image features s'. Image features s' can be the same as or different from image features s. Figure 5 The IQ operation in the code is an inverse quantization process. Alternatively, after obtaining Bitstream#2 corresponding to the current image block, the decoding end can also decode Bitstream#2 to obtain image features s' without involving the inverse quantization process of image quantization features.
[0122] After obtaining image features s', the decoder can perform feature recovery (the inverse process of feature processing) on image features s' to obtain residual features r_hat. Residual features r_hat may be the same as or different from residual features r. After obtaining residual features r_hat, the decoder determines image features y_hat (i.e., reconstructed features) based on residual features r_hat and predicted values mu. Image features y_hat may be the same as or different from image features y, such as using the sum of residual features r_hat and predicted values mu as image features y_hat. In this case, a mean prediction network needs to be deployed to provide the predicted values mu. Alternatively, after obtaining image features s', the decoder can perform feature recovery on image features s' to obtain image features y_hat. Image features y_hat may be the same as or different from image features y. In this case, a mean prediction network is not required, and the residual process is indicated by a dashed box as optional.
[0123] After obtaining the image feature y_hat, the decoding end can perform a synthetic transformation on the image feature y_hat to obtain the reconstructed image block x_hat corresponding to the current image block x. For example, the image feature y_hat can be input into the synthetic transformation network, and the synthetic transformation network can perform a synthetic transformation on the image feature y_hat to obtain the reconstructed image block x_hat. Thus, the image reconstruction process is completed.
[0124] In one possible implementation, when decoding Bitstream#2, the decoding end needs to first determine the probability distribution model, and then decode Bitstream#2 based on that probability distribution model. To obtain the probability distribution model, see [link to documentation]. Figure 5As shown, after obtaining the hyperparameter feature z_hat, the decoder can perform an inverse hyperparameter feature transformation on z_hat to obtain the probability distribution parameter sigma. For example, the hyperparameter feature z_hat can be input into a probabilistic hyperparameter decoding network, which will then perform an inverse hyperparameter feature transformation on z_hat to obtain the probability distribution parameters. After obtaining the probability distribution parameters, a probability distribution model can be generated based on them. The probabilistic hyperparameter decoding network can be a trained neural network; the training process is not limited, as long as it can perform an inverse hyperparameter feature transformation on z_hat to obtain the probability distribution parameters.
[0125] In one possible implementation, the above-mentioned decoding process can be executed by a deep learning model or a neural network model to achieve end-to-end image compression and encoding, without limiting the decoding process.
[0126] Example 5: Based on Examples 3 and 4, a feature domain enhancement module can be added before the synthetic transformation network. See [link to example]. Figure 6A As shown, the input feature of the feature domain enhancement module can be the image feature y_hat (hereinafter referred to as the initial reconstruction feature y_hat), and the output feature of the feature domain enhancement module can be the enhanced reconstruction feature y_hat_enhanced. The enhanced reconstruction feature y_hat_enhanced is input to the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstruction feature y_hat_enhanced to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0127] For the encoding end: After obtaining the current image block x, an analysis and transformation network is used to analyze and transform the current image block x to obtain the image features y corresponding to the current image block x. A hyperparameter coding network is then used to perform a coefficient hyperparameter feature transformation on the image feature y to obtain the coefficient hyperparameter features z. The coefficient hyperparameter features corresponding to the current image block (which can be the coefficient hyperparameter features z itself, or the hyperparameter quantization features of the coefficient hyperparameter features z) are encoded to obtain the first bitstream corresponding to the current image block.
[0128] The first bitstream corresponding to the current image patch is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image patch (e.g., decoding the coefficient hyperparameter feature z_hat itself from the first bitstream, or decoding the hyperparameter quantization feature from the first bitstream and inverse quantizing the hyperparameter quantization feature to obtain the coefficient hyperparameter feature z_hat). Then, the coefficient hyperparameter feature z_hat is subjected to inverse hyperparameter feature transformation through a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma.
[0129] The initial image features (which can be image feature y, residual feature r corresponding to image feature y, image feature s after feature processing of image feature y or residual feature r, or image quantization feature corresponding to image feature y, residual feature r, or image feature s, are encoded based on the probability distribution parameter sigma to obtain the second bitstream corresponding to the current image block.
[0130] The initial reconstructed feature y_hat is obtained by decoding the second bitstream corresponding to the current image patch based on the probability distribution parameter sigma. For example, if the initial image feature is image feature y, the initial reconstructed feature y_hat is decoded from the second bitstream. If the initial image feature is the image quantization feature corresponding to image feature y, the image quantization feature is decoded from the second bitstream, and then dequantized to obtain the initial reconstructed feature y_hat. As another example, if the initial image feature is the residual feature r corresponding to image feature y, the residual feature r_hat is decoded from the second bitstream, and the initial reconstructed feature y_hat is determined based on the residual feature r_hat and the predicted value mu. If the initial image feature is the image quantization feature corresponding to the residual feature r, the image quantization feature is decoded from the second bitstream, and then dequantized to obtain the residual feature r_hat, and the initial reconstructed feature y_hat is determined based on the residual feature r_hat and the predicted value mu. If the initial image feature is image feature y or image feature s corresponding to residual feature r, then image feature s' is decoded from the second bitstream, and feature recovery is performed on image feature s' to obtain the initial reconstructed feature y_hat or residual feature r_hat. If the obtained image feature is residual feature r_hat, the initial reconstructed feature y_hat can also be determined based on residual feature r_hat and predicted value mu. If the initial image feature is image quantization feature corresponding to image feature s, then image quantization feature is decoded from the second bitstream, and inverse quantization is performed on image quantization feature to obtain image feature s'. Feature recovery is performed on image feature s' to obtain the initial reconstructed feature y_hat or residual feature r_hat. If the obtained image feature is residual feature r_hat, the initial reconstructed feature y_hat can also be determined based on residual feature r_hat and predicted value mu.
[0131] After obtaining the initial reconstructed feature y_hat, the initial reconstructed feature y_hat can be input into the feature domain enhancement module, which performs feature domain enhancement on the initial reconstructed feature y_hat to obtain the enhanced reconstructed feature y_hat_enhanced. The enhanced reconstructed feature y_hat_enhanced is then input into the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstructed feature y_hat_enhanced to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0132] For the decoding end: the first bitstream corresponding to the current image block is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image block (e.g., decoding the coefficient hyperparameter feature z_hat itself from the first bitstream, or decoding the hyperparameter quantization feature from the first bitstream and inverse quantizing the hyperparameter quantization feature to obtain the coefficient hyperparameter feature z_hat). Then, the coefficient hyperparameter feature z_hat is subjected to inverse hyperparameter feature transformation through a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma.
[0133] The initial reconstructed feature y_hat is obtained by decoding the second bitstream corresponding to the current image patch based on the probability distribution parameter sigma. For example, the initial reconstructed feature y_hat can be decoded from the second bitstream. Alternatively, the image quantization feature can be decoded from the second bitstream and dequantized to obtain the initial reconstructed feature y_hat. Another example is decoding the residual feature r_hat from the second bitstream, and determining the initial reconstructed feature y_hat based on the residual feature r_hat and the predicted value mu. Or, the image quantization feature can be decoded from the second bitstream and dequantized to obtain the residual feature r_hat, and determining the initial reconstructed feature y_hat based on the residual feature r_hat and the predicted value mu. Yet another example is decoding the image feature s' from the second bitstream, performing feature recovery on the image feature s' to obtain either the initial reconstructed feature y_hat or the residual feature r_hat. If the obtained feature is the residual feature r_hat, the initial reconstructed feature y_hat can also be determined based on the residual feature r_hat and the predicted value mu. Alternatively, the image quantization features can be decoded from the second bitstream, and the image quantization features can be dequantized to obtain image features s'. The image features s' can be used to recover the initial reconstructed features y_hat or residual features r_hat. If the obtained feature is residual features r_hat, the initial reconstructed features y_hat can be determined based on the residual features r_hat and the predicted value mu.
[0134] After obtaining the initial reconstructed feature y_hat, the initial reconstructed feature y_hat can be input into the feature domain enhancement module, which performs feature domain enhancement on the initial reconstructed feature y_hat to obtain the enhanced reconstructed feature y_hat_enhanced. The enhanced reconstructed feature y_hat_enhanced is then input into the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstructed feature y_hat_enhanced to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0135] Example 6: Based on Examples 3 and 4, a feature domain enhancement module can be added before the synthesis transform network, and a filtering enhancement module can be added after the synthesis transform network. This filtering enhancement module may include a luminance edge enhancement module and a chrominance filtering enhancement module. See also Figure 6B As shown, the input feature of the feature domain enhancement module can be the initial reconstructed feature y_hat, and the output feature of the feature domain enhancement module is the enhanced reconstructed feature y_hat_enhanced. The enhanced reconstructed feature y_hat_enhanced can be input to the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstructed feature y_hat_enhanced to obtain the initial reconstructed image block x_hat corresponding to the current image block x. The input feature of the filtering enhancement module can be the initial reconstructed image block x_hat, and the output feature of the filtering enhancement module can be the target reconstructed image block x_hat_enhanced. For example, the initial reconstructed image block x_hat includes the initial luminance reconstructed image block x_Y_hat and the initial chrominance reconstructed image block x_UV_hat. The luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. The chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target brightness reconstructed image block x_Y_hat_enhanced and the target chromaticity reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced.
[0136] For the encoding end: The current image patch x is analyzed and transformed using an analysis transform network to obtain the image feature y corresponding to the current image patch x. The image feature y is then subjected to coefficient hyperparameter feature transformation using a hyperparameter coding network to obtain coefficient hyperparameter feature z. The coefficient hyperparameter feature corresponding to the current image patch is encoded to obtain the first bitstream corresponding to the current image patch. The first bitstream corresponding to the current image patch is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image patch. The coefficient hyperparameter feature z_hat is then subjected to inverse coefficient hyperparameter feature transformation using a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma. Based on the probability distribution parameter sigma, the initial image features corresponding to the current image patch are encoded to obtain the second bitstream corresponding to the current image patch. Based on the probability distribution parameter sigma, the second bitstream corresponding to the current image patch is decoded to obtain the initial reconstructed feature y_hat corresponding to the current image patch. The above process can be found in Example 5 and will not be repeated here.
[0137] After obtaining the initial reconstructed feature y_hat, the initial reconstructed feature y_hat can be input to the feature domain enhancement module, which performs feature domain enhancement on the initial reconstructed feature y_hat to obtain the enhanced reconstructed feature y_hat_enhanced. The enhanced reconstructed feature y_hat_enhanced is then input to the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstructed feature y_hat_enhanced to obtain the initial reconstructed image block x_hat corresponding to the current image block x. The initial reconstructed image block x_hat includes the initial luminance reconstructed image block x_Y_hat and the initial chrominance reconstructed image block x_UV_hat.
[0138] After obtaining the initial luminance reconstructed image block x_Y_hat corresponding to the current image block x, the luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. After obtaining the initial chrominance reconstructed image block x_UV_hat corresponding to the current image block x, the chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0139] For the decoding end: the first bitstream corresponding to the current image block is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image block. The coefficient hyperparameter feature z_hat is then subjected to inverse transformation using a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma. Based on the probability distribution parameter sigma, the second bitstream corresponding to the current image block is decoded to obtain the initial reconstructed feature y_hat corresponding to the current image block. The above process can be found in Example 5 and will not be repeated here.
[0140] After obtaining the initial reconstructed feature y_hat, the initial reconstructed feature y_hat can be input to the feature domain enhancement module, which performs feature domain enhancement on the initial reconstructed feature y_hat to obtain the enhanced reconstructed feature y_hat_enhanced. The enhanced reconstructed feature y_hat_enhanced is then input to the synthesis transformation network, which performs a synthesis transformation on the enhanced reconstructed feature y_hat_enhanced to obtain the initial reconstructed image block x_hat corresponding to the current image block x. The initial reconstructed image block x_hat includes the initial luminance reconstructed image block x_Y_hat and the initial chrominance reconstructed image block x_UV_hat.
[0141] After obtaining the initial luminance reconstructed image block x_Y_hat corresponding to the current image block x, the luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. After obtaining the initial chrominance reconstructed image block x_UV_hat corresponding to the current image block x, the chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0142] Example 7: Based on Examples 3 and 4, a filtering enhancement module can be added after the synthetic transform network. This filtering enhancement module may include a luminance edge enhancement module and a chrominance filtering enhancement module. See also Figure 6CAs shown, the input features of the filtering enhancement module can be the initial reconstructed image block x_hat, and the output features of the filtering enhancement module can be the target reconstructed image block x_hat_enhanced. For example, the initial reconstructed image block x_hat can include the initial luminance reconstructed image block x_Y_hat and the initial chrominance reconstructed image block x_UV_hat. The luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. The chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced can be combined to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0143] For the encoding end: The current image patch x is analyzed and transformed using an analysis transform network to obtain the image feature y corresponding to the current image patch x. The image feature y is then subjected to coefficient hyperparameter feature transformation using a hyperparameter coding network to obtain coefficient hyperparameter feature z. The coefficient hyperparameter feature corresponding to the current image patch is encoded to obtain the first bitstream corresponding to the current image patch. The first bitstream corresponding to the current image patch is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image patch. The coefficient hyperparameter feature z_hat is then subjected to inverse coefficient hyperparameter feature transformation using a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma. Based on the probability distribution parameter sigma, the initial image features corresponding to the current image patch are encoded to obtain the second bitstream corresponding to the current image patch. Based on the probability distribution parameter sigma, the second bitstream corresponding to the current image patch is decoded to obtain the initial reconstructed feature y_hat corresponding to the current image patch. The above process can be found in Example 5 and will not be repeated here.
[0144] After obtaining the initial reconstruction feature y_hat, the initial reconstruction feature y_hat is input into the synthesis transformation network (unlike in Examples 5 and 6, the enhanced reconstruction feature y_hat_enhanced is not input into the synthesis transformation network here). The synthesis transformation network performs a synthesis transformation on the initial reconstruction feature y_hat to obtain the initial reconstructed image block x_hat corresponding to the current image block x. The initial reconstructed image block x_hat includes the initial luminance reconstructed image block x_Y_hat and the initial chrominance reconstructed image block x_UV_hat.
[0145] After obtaining the initial luminance reconstructed image block x_Y_hat corresponding to the current image block x, the luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. After obtaining the initial chrominance reconstructed image block x_UV_hat corresponding to the current image block x, the chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0146] For the decoding end: the first bitstream corresponding to the current image block is decoded to obtain the coefficient hyperparameter feature z_hat corresponding to the current image block. The coefficient hyperparameter feature z_hat is then subjected to inverse transformation using a probabilistic hyperparameter decoding network to obtain the probability distribution parameter sigma. Based on the probability distribution parameter sigma, the second bitstream corresponding to the current image block is decoded to obtain the initial reconstructed feature y_hat corresponding to the current image block. The above process can be found in Example 5 and will not be repeated here.
[0147] After obtaining the initial reconstruction feature y_hat, the initial reconstruction feature y_hat is input into the synthesis transformation network. The synthesis transformation network performs a synthesis transformation on the initial reconstruction feature y_hat to obtain the initial reconstruction image block x_hat corresponding to the current image block x. The initial reconstruction image block x_hat includes the initial luminance reconstruction image block x_Y_hat and the initial chrominance reconstruction image block x_UV_hat.
[0148] After obtaining the initial luminance reconstructed image block x_Y_hat corresponding to the current image block x, the luminance edge enhancement module performs luminance edge enhancement on the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. After obtaining the initial chrominance reconstructed image block x_UV_hat corresponding to the current image block x, the chrominance filtering enhancement module performs chrominance filtering enhancement on the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. Then, the target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x.
[0149] Example 8: In Examples 5 and 6, the initial reconstructed feature y_hat is input to the feature domain enhancement module, which then performs feature domain enhancement on the initial reconstructed feature y_hat to obtain the enhanced reconstructed feature y_hat_enhanced. For example, the initial reconstructed feature y_hat can be enhanced based on the feature domain enhancement parameters and probability distribution parameter sigma corresponding to the current image patch to obtain the enhanced reconstructed feature y_hat_enhanced. Feature domain enhancement can include feature adaptive edge enhancement and feature adaptive stretching. The probability distribution parameter sigma is used to assist in the calculation, determining the channels that require feature adaptive edge enhancement and feature adaptive stretching, and also determining the strength of the stretching. The process is described below.
[0150] The initial reconstructed feature y_hat is C L xH L xW L The three-dimensional tensor, C L H is the number of channels for the initial reconstruction of feature y_hat (i.e., the number of channels in the feature domain and the number of channels in the Latent domain). L To initially reconstruct the feature height of feature y_hat (i.e., the feature height of the feature domain and the feature height of the latent domain), W L Let y_hat be the feature width of the initial reconstructed feature (i.e., the feature width of the feature domain and the feature width of the Latent domain). For each channel of the initial reconstructed feature y_hat, let's take channel ch as an example. ch can be [1, 2, ..., C]. L If any value in ] is used, then the shape corresponding to channel ch can be H. L xW L The two-dimensional tensor y_hat_ch is called the feature channel map; therefore, the initial reconstructed feature y_hat can include C L Feature channel map.
[0151] The probability distribution parameter sigma is also C. L xH L xW L The three-dimensional tensor, C L H represents the number of channels for the probability distribution parameter sigma. L W represents the feature height of the probability distribution parameter sigma. L Let be the feature width of the probability distribution parameter sigma. Taking channel ch as an example, for each channel of the probability distribution parameter sigma, ch can be [1, 2, ..., C]. L For any value in ], the shape corresponding to channel ch is H. L xW LThe two-dimensional tensor sigma_ch is called the probability distribution channel plot; therefore, the probability distribution parameter sigma can include C L A probability distribution channel diagram, and C L Each probability distribution channel diagram and C L Feature channels Figure 1 A one-to-one correspondence exists, such as the first probability distribution channel map corresponding to the first feature channel map, the second probability distribution channel map corresponding to the second feature channel map, and so on, up to the Cth channel map. L The probability distribution channel diagram and the Cth probability distribution channel diagram L Each feature channel corresponds to a specific feature map.
[0152] For C L Each feature channel map can be used to generate C L Each feature channel map is divided into important feature channel maps and unimportant feature channel maps. There can be at least one important feature channel map, and there can be multiple unimportant feature channel maps. For example, we can divide the feature channel map from C... L At least one feature channel map is selected as the important feature channel map from the feature channel maps, and the remaining feature channel maps are selected as the unimportant feature channel maps. Since C L Each probability distribution channel diagram and C L Feature channels Figure 1 Since there is a one-to-one correspondence, the probability distribution channel map corresponding to the important feature channel map can be selected as the important probability distribution channel map, and the probability distribution channel map corresponding to the non-important feature channel map can be selected as the non-important probability distribution channel map. For example, if the first feature channel map is an important feature channel map, then the first probability distribution channel map corresponding to the first feature channel map can be selected as the important probability distribution channel map.
[0153] In summary, the initial reconstructed feature y_hat can include important feature channel maps and unimportant feature channel maps, and the probability distribution parameter sigma can include important probability distribution channel maps corresponding to important feature channel maps and unimportant probability distribution channel maps corresponding to unimportant feature channel maps. For important feature channel maps, adaptive edge enhancement can be performed based on the feature domain enhancement parameters and the important probability distribution channel maps to obtain the first reconstructed feature after adaptive edge enhancement. For unimportant feature channel maps, adaptive stretching can be performed based on the feature domain enhancement parameters and the unimportant probability distribution channel maps to obtain the second reconstructed feature after adaptive stretching. Based on this, the enhanced reconstructed feature y_hat_enhanced can be generated based on the first and second reconstructed features.
[0154] For example, assuming feature channels Figure 1 This is a map of important feature channels, and the feature channels are shown. Figure 2 -Feature channels Figure 4This is a channel map for non-important features, and a probability distribution channel. Figure 1 Important probability distribution channel chart, probability distribution channel Figure 2 -Probability Distribution Channel Figure 4 For a non-significant probability distribution channel map, then: we can enhance parameters and probability distribution channels based on the feature domain. Figure 1 For feature channels Figure 1 Feature-adaptive edge enhancement is performed to obtain the first reconstructed feature 1 (i.e., the reconstructed feature of the first channel) after feature-adaptive edge enhancement. This can be based on feature domain enhancement parameters and probability distribution channels. Figure 2 For feature channels Figure 2 Adaptive stretching of the features yields the second reconstructed feature (i.e., the reconstructed feature of the second channel). This can be based on feature domain enhancement parameters and probability distribution channels. Figure 3 For feature channels Figure 3 Adaptive stretching of the features yields the second reconstructed feature 3. This can be based on feature domain enhancement parameters and probability distribution channels. Figure 4 For feature channels Figure 4 Perform adaptive stretching of the features to obtain the second reconstructed feature 4. Then, the first reconstructed feature 1, the second reconstructed feature 2, the second reconstructed feature 3, and the second reconstructed feature 4 can be combined according to channels (e.g., splicing according to channels), that is, the reconstructed features of the four channels are combined to obtain the enhanced reconstructed feature y_hat_enhanced.
[0155] Example 9: In Example 8, it is necessary to add C L The feature channel map is divided into important feature channel maps and unimportant feature channel maps. For example, C is divided into important feature channel maps and unimportant feature channel maps in the following way. L The feature channel map is divided into important feature channel map and unimportant feature channel map:
[0156] Method 1: The encoding end encodes the important channel identifier in the third bitstream corresponding to the current image block, and the decoding end decodes the important channel identifier from the third bitstream corresponding to the current image block, so that the decoding end can obtain the important channel identifier.
[0157] For example, the encoding end will use C L Each feature channel map is divided into important feature channel maps and non-important feature channel maps. This process is not restricted. An important channel identifier (also called an important channel number, denoted as important_channel) is encoded in the third bitstream corresponding to the current image block. After receiving the third bitstream, the decoding end decodes the important channel identifier from the third bitstream, and then decodes it from C. LIn the feature channel maps, the feature channel maps corresponding to the important channel identifiers are selected as important feature channel maps, and the remaining feature channel maps are selected as non-important feature channel maps. The probability distribution channel maps corresponding to the important feature channel maps are selected as important probability distribution channel maps, and the probability distribution channel maps corresponding to the non-important feature channel maps are selected as non-important probability distribution channel maps.
[0158] Among them, the encoding end will convert C L When dividing a feature channel map into important feature channel maps and unimportant feature channel maps, we can use the feature values in each feature channel map and the probability distribution values in each probability distribution channel map to determine the value of C. L Important feature channel maps are selected from the feature channel maps, and the remaining feature channel maps are selected as non-important feature channel maps.
[0159] Method 2: For both the encoder and decoder, based on the feature values in each feature channel map and the probability distribution values in each probability distribution channel map, from C... L Important feature channel maps are selected from the feature channel maps.
[0160] For example, for each feature channel map, the number of bits consumed by that feature channel map can be determined based on its feature values and the probability distribution values in the corresponding probability distribution channel map. For instance, the number of bits consumed by a feature channel map can be determined using the following expression; however, this expression is merely an example.
[0161]
[0162] In the above expression, bits_per_ch can be used to represent the number of bits consumed corresponding to the feature channel graph ch, y_hat_ch(i,j) can be used to represent the feature value of feature point (i,j) in the feature channel graph ch, sigma_ch(i,j) can be used to represent the probability distribution value of feature point (i,j) in the probability distribution channel graph ch, and Φ(.) can be the standard normal cumulative function.
[0163] After performing the above processing on each feature channel map, the number of consumed bits for each feature channel map can be obtained. Based on the number of consumed bits for each feature channel map, we can start from C. L Important feature channel maps are selected from the feature channel maps. For example, the feature channel map with the largest number of bits consumed is selected as the important feature channel map, or the K feature channel maps with the largest number of bits consumed are selected as the important feature channel maps, where K can be a positive integer greater than 1.
[0164] From C LAfter selecting the important feature channel maps from the feature channel maps, the remaining feature channel maps can be selected as unimportant feature channel maps. The probability distribution channel maps corresponding to the important feature channel maps can be selected as important probability distribution channel maps, and the probability distribution channel maps corresponding to the unimportant feature channel maps can be selected as unimportant probability distribution channel maps.
[0165] Method 3: For both the encoder and decoder, the code is based on the bit rate consumed for each feature channel map, starting from C. L Important feature channel maps are selected from the feature channel maps. For example, based on the bitrate consumption corresponding to each feature channel map, C can be sorted in descending order of bitrate consumption. L The feature channel maps are sorted, and the top K feature channel maps are selected as important feature channel maps. Alternatively, based on the bitrate corresponding to each feature channel map, C can be sorted in ascending order of bitrate. L The feature channel maps are sorted, and the K feature channel maps that are at the bottom of the sort are selected as important feature channel maps.
[0166] From C L After selecting the important feature channel maps from the feature channel maps, the remaining feature channel maps can be selected as unimportant feature channel maps. The probability distribution channel maps corresponding to the important feature channel maps can be selected as important probability distribution channel maps, and the probability distribution channel maps corresponding to the unimportant feature channel maps can be selected as unimportant probability distribution channel maps.
[0167] Method 4: For both the encoding and decoding ends, the default feature channel map (i.e., the fixed feature channel map) is used as the important feature channel map. For example, the first feature channel map is pre-defined as the important feature channel map, or the sixth feature channel map is pre-defined as the important feature channel map, or the tenth feature channel map is pre-defined as the important feature channel map, and so on. Of course, any feature channel map can be used as the important feature channel map, and there is no restriction on this.
[0168] Method 5: The encoding end encodes the important channel identifier in the third bitstream corresponding to the current image block, and the decoding end decodes the important channel identifier from the third bitstream corresponding to the current image block, so that the decoding end can obtain the important channel identifier.
[0169] For example, the encoding end will use C L Each feature channel map is divided into important feature channel maps and non-important feature channel maps. Important channel identifiers are encoded in the third bitstream corresponding to the current image block. After receiving the third bitstream, the decoding end decodes the important channel identifiers from the third bitstream, and then... LIn the feature channel maps, the feature channel maps corresponding to the important channel identifiers are selected as important feature channel maps, and the remaining feature channel maps are selected as non-important feature channel maps. The probability distribution channel maps corresponding to the important feature channel maps are selected as important probability distribution channel maps, and the probability distribution channel maps corresponding to the non-important feature channel maps are selected as non-important probability distribution channel maps. The encoding end then selects C... L When dividing a feature channel map into important feature channel maps and unimportant feature channel maps, the important feature channel map and important channel identifier can be determined based on the feature variance scale_hat in the following way:
[0170] LinearToLog is a mapping table that maps the feature variance scale_hat to the logarithmic domain feature variance logarithmic_scale. For example, logarithmic_scale = LinearToLog(scale_hat).
[0171] Slicing along the channel dimension yields the logarithmic domain feature variance logarithmic_scale_channel corresponding to a specific feature channel.
[0172] Based on logarithmic_scale_channel, calculate the logarithmic variance and sum_per_channel for each feature channel:
[0173]
[0174] Repeat the above process, for a total of logarithmic_scale channels C. L This process involves obtaining the logarithmic variance and sum_per_channel for each feature channel. Then, the channel number corresponding to the largest sum_per_channel is selected as the important channel identifier, and the feature channel corresponding to the important channel identifier is the important feature channel map.
[0175] Example 10: In Example 8, feature adaptive edge enhancement is performed on the important feature channel map based on the feature domain enhancement parameters and the important probability distribution channel map to obtain the first reconstructed feature. The feature adaptive edge enhancement process is described below.
[0176] For example, the feature domain enhancement parameters may include multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds. For instance, the encoder encodes multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds in the third bitstream corresponding to the current image block, and the decoder decodes multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds from the third bitstream corresponding to the current image block, and the multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds serve as feature domain enhancement parameters.
[0177] The number of edge enhancement segment intensity values and the number of edge enhancement segment thresholds can be the same or different; let's take the case where they are the same. The encoder can also encode the number of edge enhancement segment intensity values (or edge enhancement segment thresholds) in the third bitstream corresponding to the current image block, and the decoder decodes the number of edge enhancement segment intensity values from the third bitstream corresponding to the current image block. Let's take an example where the number of edge enhancement segment intensity values is n. The n edge enhancement segment intensity values can be denoted as magl-1, magl-2, ..., magl-n, and the n edge enhancement segment thresholds can be denoted as thrl-1, thrl-2, ..., thrl-n.
[0178] For example, multiple edge enhancement segment thresholds can form multiple edge enhancement threshold intervals, and the multiple edge enhancement threshold intervals correspond one-to-one with the multiple edge enhancement segment intensity values, as shown in Table 1, which is an example of this correspondence.
[0179] Table 1
[0180] Edge enhancement threshold range Edge enhancement segment strength value Less than thrl-1 1 (i.e., no edge increments) [thrl-1, thrl-2) magl-1 [thrl-2, thrl-3) magl-2 [thrl-3, thrl-4) magl-3 … … [thrl-(n-1), thrl-n) magl-(n-1) Greater than or equal to thrl-n magl-n
[0181] For example, the important probability distribution channel map can include multiple probability distribution values. For each probability distribution value, the edge enhancement threshold interval corresponding to that probability distribution value is first determined, and the edge enhancement segment strength value corresponding to that probability distribution value is determined based on the edge enhancement threshold interval. For instance, if the probability distribution value is within [thrl-2, thrl-3), then the edge enhancement segment strength value corresponding to that probability distribution value is magl-2; if the probability distribution value is within [thrl-3, thrl-4), then the edge enhancement segment strength value corresponding to that probability distribution value is magl-3, and so on. After obtaining the edge enhancement segment strength value corresponding to each probability distribution value, feature adaptive edge enhancement can be performed on the important feature channel map based on the edge enhancement segment strength value corresponding to each probability distribution value to obtain the first reconstructed feature after feature adaptive edge enhancement.
[0182] For example, the following steps can be used to perform adaptive edge enhancement on important feature channel maps:
[0183] Step S11: Normalize the important feature channel map to obtain the normalized feature map.
[0184] For example, a normalized feature map can be obtained by normalizing the important feature channel map, its corresponding mean feature, and its corresponding variance feature. For instance, the mean feature can be subtracted from the important channel feature map, and then divided by the variance feature. Another example is subtracting the mean feature from the important channel feature map and then dividing by the variance feature to obtain intermediate features. These intermediate features can then be transformed to obtain a normalized feature map, such as multiplying them by 0.1 and adding 0.5 (0.1 and 0.5 are just examples), and then restricting the feature values to between 0 and 1. Of course, the above are just a few examples of normalizing important feature channel maps, and there are no restrictions on the normalization method.
[0185] Step S12: Generate a high-frequency detail image based on the important feature channel map and the normalized feature map.
[0186] For example, a convolution operation (such as a two-dimensional convolution operation) can be performed on the normalized feature map and a Gaussian blur convolution kernel (which can be a 3*3 kernel or a kernel of other sizes, without limitation) to obtain a Gaussian blur image. Then, the Gaussian blur image is subtracted from the important feature channel map to obtain the high-frequency detail image. Of course, the above is just an example of generating a high-frequency detail image; as long as the high-frequency details of the important feature channel map can be obtained, there are no restrictions.
[0187] For example, for each value in the Gaussian blur convolution kernel, the denominator can be a power of 2, such as 2, 4, 8, 16, 32, 64, 128, etc. The Gaussian blur convolution kernel can be an N*N kernel, where N can be a positive integer. If N is 3, meaning the Gaussian blur convolution kernel is a 3*3 kernel, then the Gaussian blur convolution kernel can include, but is not limited to:
[0188]
[0189] In this context, A can be a positive integer, B can be a positive integer, and M can be a power of 2, such as M being 2, 4, 8, 16, 32, 64, or 128. For example, A could be 5, B could be 24, and M could be 64.
[0190] Step S13: For each feature value in the high-frequency detail image, perform edge enhancement on the feature value based on the edge enhancement segment intensity value corresponding to the probability distribution value of the feature value to obtain the edge enhancement feature value.
[0191] For example, the important feature channel map includes multiple feature values, the important probability distribution channel map includes multiple probability distribution values, and the multiple probability distribution values correspond one-to-one with the multiple feature values. Since the high-frequency detail image includes multiple feature values (which correspond one-to-one with the multiple feature values of the important feature channel map), the multiple probability distribution values of the important probability distribution channel map correspond one-to-one with the multiple feature values of the high-frequency detail image. Based on this, for each feature value in the high-frequency detail image, the probability distribution value corresponding to the feature value can be determined from the important probability distribution channel map, and the edge enhancement threshold interval corresponding to the probability distribution value can be determined. Based on the edge enhancement threshold interval, the edge enhancement segment intensity value corresponding to the probability distribution value can be determined.
[0192] After obtaining the edge enhancement segment strength value corresponding to the probability distribution value, edge enhancement can be performed on the feature value based on this edge enhancement segment strength value to obtain the edge-enhanced feature value. This can be achieved by multiplying the feature value by the edge enhancement segment strength value (such as `magl-1`, `magl-2`, etc.). Clearly, if the edge enhancement threshold interval is "less than thrl-1", then the feature value is multiplied by 1, meaning the feature value remains unchanged and no edge enhancement is performed. If the edge enhancement threshold interval is [thrl-1, thrl-2), then the feature value is multiplied by `magl-1`, where `magl-1` is a value greater than 1, thus performing edge enhancement on the feature value. Similarly, other edge enhancement segment strength values such as `magl-2`, which are greater than 1, can achieve edge enhancement.
[0193] For each feature value in a high-frequency detail image, the edge enhancement segment intensity value corresponding to that feature value can be obtained in the manner described above. Then, the edge enhancement feature map can be determined based on the edge enhancement feature value corresponding to each feature value. For example, the edge enhancement segment intensity values corresponding to all feature values can be combined to obtain the edge enhancement feature map.
[0194] Step S14: Perform inverse normalization on the edge enhancement feature map to obtain the first reconstructed feature (i.e., the first reconstructed feature map). The first reconstructed feature is the reconstructed feature map after feature adaptive edge enhancement of the important feature channel map.
[0195] After obtaining the edge enhancement feature map, it can be directly denormalized to obtain the first reconstructed feature. Alternatively, after obtaining the edge enhancement feature map, it can be added to the normalized feature map to obtain the corrected edge enhancement feature map, and then denormalized to obtain the first reconstructed feature.
[0196] For example, an edge-enhanced normalized feature map can be determined based on the edge-enhanced feature map, and a first reconstruction feature can be determined based on the edge-enhanced normalized feature map, the mean feature corresponding to the edge-enhanced normalized feature map, and the variance feature corresponding to the edge-enhanced normalized feature map. The first reconstruction feature can also be called y_hat_sharp.
[0197] For example, the edge enhancement feature map can be transformed to obtain a normalized feature map after edge enhancement. For instance, first restrict the feature values in the edge enhancement feature map to be between 0 and 1, and then subtract 0.5 from the feature values in the edge enhancement feature map and divide by 10 (0.5 and 10 are examples) to obtain the normalized feature map after edge enhancement.
[0198] Multiply the normalized feature map after edge enhancement by the variance feature, and then add the mean feature to obtain the edge-enhanced feature map corresponding to the important feature channel map. The edge-enhanced feature map is denoted as the first reconstructed feature y_hat_sharp.
[0199] Of course, the above is just an example of denormalizing the edge enhancement feature map, and there are no restrictions on this denormalization method.
[0200] In one possible implementation, the encoder needs to encode multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds in the third bitstream corresponding to the current image block. For this process, the encoder can adopt the following approach:
[0201] The encoder can configure multiple candidate feature domain enhancement parameters. For each candidate feature domain enhancement parameter, it can include multiple edge enhancement segment intensity values and multiple edge enhancement segment thresholds. The cost value corresponding to each candidate feature domain enhancement parameter can be determined. Based on the cost value corresponding to each candidate feature domain enhancement parameter, the feature domain enhancement parameter corresponding to the current image block can be selected from all candidate feature domain enhancement parameters, that is, the candidate feature domain enhancement parameter with the smallest cost value. The encoder can encode the feature domain enhancement parameter to obtain the third bitstream corresponding to the current image block.
[0202] For example, for each candidate feature domain enhancement parameter, the initial reconstructed features can be enhanced based on the candidate feature domain enhancement parameter and the probability distribution parameter to obtain enhanced reconstructed features. The feature domain enhancement process is described in the above embodiment. The target reconstructed image block x_hat_enhanced is determined based on the enhanced reconstructed image block x_hat_enhanced, and the cost value corresponding to the candidate feature domain enhancement parameter is determined based on the target reconstructed image block x_hat_enhanced. There are no restrictions on the method of determining this cost value.
[0203] For example, for each candidate feature domain enhancement parameter, including magl-1, magl-2, ..., magl-n, thrl-1, thrl-2, ..., thrl-n, enhanced reconstruction features can be obtained based on these candidate feature domain enhancement parameters, leading to the target reconstructed image block x_hat_enhanced. Distortion metrics are then used to calculate the distortion metrics values of the target reconstructed image block x_hat_enhanced and the current image block x. After obtaining the distortion metrics value corresponding to each candidate feature domain enhancement parameter, the candidate feature domain enhancement parameter corresponding to the smallest distortion metrics value can be selected as the feature domain enhancement parameter corresponding to the current image block, i.e., the optimal feature domain enhancement parameter. The encoder encodes this feature domain enhancement parameter in the third bitstream.
[0204] Example 11: In Example 8, it is necessary to perform adaptive stretching of the non-important feature channel map based on the feature domain enhancement parameters and the non-important probability distribution channel map (i.e., the non-important probability distribution channel map corresponding to the non-important feature channel map) to obtain the second reconstructed feature after adaptive stretching. The adaptive stretching process is described below.
[0205] For example, the feature domain enhancement parameter may include a stretching parameter value. For instance, the encoder may encode the stretching parameter value in the third bitstream corresponding to the current image block, and the decoder may decode the stretching parameter value in the third bitstream corresponding to the current image block. The stretching parameter value is used as a feature domain enhancement parameter and can be denoted as ρ.
[0206] For example, a non-significant feature channel map may include multiple feature values, and the corresponding non-significant probability distribution channel map may include multiple probability distribution values, with each probability distribution value corresponding to one of the feature values. Based on this, for each feature value in the non-significant feature channel map, the stretched feature value can be determined based on the feature value, the stretching parameter value, and the probability distribution value corresponding to that feature value. For instance, the stretched feature value can be determined using the following expression; however, this expression is merely an example and is not intended to be limiting.
[0207] y_hat_scale=y_hat+ρ*clip3(sigma*y_hat,-0.5,0.5)
[0208] In the above expression, y_hat_scale represents the stretched eigenvalue, y_hat represents the eigenvalue in the unimportant eigenchannel plot, ρ represents the stretching parameter value, sigma represents the probability distribution value in the unimportant probability distribution channel plot, and the probability distribution value sigma corresponds to the eigenvalue y_hat. clip3 is a limit operation used to limit sigma*y_hat to between -0.5 and 0.5. -0.5 and 0.5 are configurable values and are not restricted. For example, if sigma*y_hat is less than -0.5, sigma*y_hat is limited to -0.5; if sigma*y_hat is greater than 0.5, sigma*y_hat is limited to 0.5. Other values remain unchanged.
[0209] After performing the above processing on each feature value in the non-important feature channel map, the stretched feature value corresponding to each feature value can be obtained. Then, the second reconstructed feature (i.e. the second reconstructed feature map) is determined based on the stretched feature value corresponding to each feature value. The second reconstructed feature is the reconstructed feature map after adaptive stretching of the non-important feature channel map. For example, the stretched feature values corresponding to all feature values are combined to obtain the second reconstructed feature. The second reconstructed feature is also called y_hat_scale.
[0210] The second reconstructed feature y_hat_scale corresponds to the non-important feature channel map of the initial reconstructed feature y_hat. That is, the second reconstructed feature y_hat_scale is obtained by enhancing the non-important feature channel map. The first reconstructed feature y_hat_sharp corresponds to the important feature channel map of the initial reconstructed feature y_hat. That is, the first reconstructed feature y_hat_sharp is obtained by enhancing the important feature channel map. The second reconstructed feature y_hat_scale and the first reconstructed feature y_hat_sharp are merged to obtain the enhanced reconstructed feature y_hat_enhanced.
[0211] In one possible implementation, the encoder needs to encode the stretching parameter value in the third bitstream corresponding to the current image block. For this process, the encoder can adopt the following method: the encoder can configure multiple candidate stretching parameter values, determine the cost value corresponding to each candidate stretching parameter value, and select the stretching parameter value corresponding to the current image block from all candidate stretching parameter values, that is, the candidate stretching parameter value with the smallest cost value. The encoder can encode the stretching parameter value to obtain the third bitstream corresponding to the current image block.
[0212] For example, for each candidate stretching parameter value, the unimportant feature channel map can be adaptively stretched based on the candidate stretching parameter value and the unimportant probability distribution channel map to obtain the second reconstructed feature after adaptive stretching. Then, the enhanced reconstructed feature is obtained based on the second reconstructed feature. The target reconstructed image block x_hat_enhanced is determined based on the enhanced reconstructed feature. The cost value corresponding to the candidate stretching parameter value is determined based on the target reconstructed image block x_hat_enhanced.
[0213] For example, for each candidate stretching parameter value, enhanced reconstruction features can be obtained based on that candidate stretching parameter value, and then the target reconstructed image block x_hat_enhanced can be obtained. The distortion index values of the target reconstructed image block x_hat_enhanced and the current image block x are calculated using the distortion index. After obtaining the distortion index value corresponding to each candidate stretching parameter value, the encoder can select the candidate stretching parameter value corresponding to the smallest distortion index value as the stretching parameter value corresponding to the current image block, that is, the optimal stretching parameter value. The encoder can encode this stretching parameter value in the third bitstream.
[0214] In another possible implementation, the encoder configures multiple candidate feature domain enhancement parameters. For each candidate feature domain enhancement parameter, which includes multiple edge enhancement segment intensity values, multiple edge enhancement segment thresholds, and a stretching parameter value, a cost value is determined for each candidate feature domain enhancement parameter. Based on the cost value of each candidate feature domain enhancement parameter, the feature domain enhancement parameter corresponding to the current image block is selected from all candidate feature domain enhancement parameters, i.e., the candidate feature domain enhancement parameter with the smallest cost value. The encoder encodes this feature domain enhancement parameter (i.e., multiple edge enhancement segment intensity values, multiple edge enhancement segment thresholds, and a stretching parameter value) to obtain the third bitstream corresponding to the current image block. For example, for each candidate feature domain enhancement parameter, feature domain enhancement is performed on the initial reconstructed features based on the candidate feature domain enhancement parameter and probability distribution parameters to obtain enhanced reconstructed features. The target reconstructed image block x_hat_enhanced is determined based on the enhanced reconstructed image block x_hat_enhanced, and the cost value corresponding to the candidate feature domain enhancement parameter is determined based on the target reconstructed image block x_hat_enhanced.
[0215] Example 12: In Examples 6 and 7, an initial reconstructed image block x_hat is input to a filtering enhancement module, which enhances the initial reconstructed image block x_hat to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x. For example, the initial reconstructed image block x_hat includes an initial luminance reconstructed image block x_Y_hat and an initial chrominance reconstructed image block x_UV_hat. The luminance edge enhancement module enhances the initial luminance reconstructed image block x_Y_hat to obtain the target luminance reconstructed image block x_Y_hat_enhanced. The chrominance filtering enhancement module enhances the initial chrominance reconstructed image block x_UV_hat to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. The target luminance reconstructed image block x_Y_hat_enhanced and the target chrominance reconstructed image block x_UV_hat_enhanced are combined to obtain the target reconstructed image block x_hat_enhanced. The luminance edge enhancement process of the luminance edge enhancement module is described below.
[0216] For example, the brightness edge enhancement module can perform brightness edge enhancement on the initial brightness reconstructed image block x_Y_hat based on the image domain enhancement parameters and probability distribution parameters sigma corresponding to the current image block, to obtain the target brightness reconstructed image block x_Y_hat_enhanced corresponding to the current image block. The following describes the brightness edge enhancement process.
[0217] For example, the image domain enhancement parameters may include multiple image enhancement segment intensity values and multiple image enhancement segment thresholds. For instance, the encoder encodes multiple image enhancement segment intensity values and multiple image enhancement segment thresholds in the third bitstream corresponding to the current image block, and the decoder decodes multiple image enhancement segment intensity values and multiple image enhancement segment thresholds from the third bitstream corresponding to the current image block, and the multiple image enhancement segment intensity values and multiple image enhancement segment thresholds serve as image domain enhancement parameters.
[0218] The number of image enhancement segment intensity values and the number of image enhancement segment thresholds can be the same or different; taking the same number as an example. The encoder can also encode the number of image enhancement segment intensity values (or image enhancement segment thresholds) in the third bitstream corresponding to the current image block, and the decoder decodes the number of image enhancement segment intensity values from the third bitstream corresponding to the current image block. Taking the number of image enhancement segment intensity values as m, the m image enhancement segment intensity values are denoted as magy-1, magy-2, ..., magy-m, and the m image enhancement segment thresholds are denoted as thry-1, thry-2, ..., thry-m.
[0219] For example, multiple image enhancement segment thresholds can form multiple image enhancement threshold intervals, and the multiple image enhancement threshold intervals correspond one-to-one with the multiple image enhancement segment intensity values, as shown in Table 2, which is an example of this correspondence.
[0220] Table 2
[0221] Image enhancement threshold range Image enhancement segment intensity value Less than thry-1 1 (i.e., no edge increments) [thry-1, thry-2) magy-1 [thry-2, thry-3) magy-2 [thry-3, thry-4) magy-3 … … [thry-(m-1), thry-m) magy-(m-1) Greater than or equal to try-m magy-m
[0222] For example, the brightness edge enhancement of the initial brightness reconstructed image block x_Y_hat can be performed using the following steps:
[0223] Step S21: Obtain the target probability distribution channel map based on the probability distribution parameters.
[0224] For example, the initial brightness reconstructed image patch x_Y_hat can be a two-dimensional tensor of size H×W, where H is the image height of the initial brightness reconstructed image patch x_Y_hat, and W is the image width of the initial brightness reconstructed image patch x_Y_hat. The probability distribution parameter sigma can be C. L xH L xW L The three-dimensional tensor, C L H represents the number of channels for the probability distribution parameter sigma. L W represents the feature height of the probability distribution parameter sigma. L The feature width is sigma, which represents the probability distribution parameter. The image height H of the initial brightness reconstructed image patch x_Y_hat can be greater than the feature height H of the probability distribution parameter sigma. L For example, the image height H is the feature height H L 4 times, 8 times, 16 times, etc. The image width W of the initial brightness reconstructed image patch x_Y_hat can be greater than the feature width W of the probability distribution parameter sigma. L For example, the image width W is the feature width W L 4 times, 8 times, 16 times, etc.
[0225] In order to enhance the brightness edges of the initial brightness reconstructed image block x_Y_hat using probability distribution parameters, it is necessary to obtain the target probability distribution channel map based on the probability distribution parameters. The target probability distribution channel map is a two-dimensional tensor of H×W.
[0226] For example, we can start from C L Selecting one probability distribution channel plot from the given probability distribution channel plots, since the probability distribution parameter sigma includes important probability distribution channel plots (one) and unimportant probability distribution channel plots (multiple), can be done from C. L You can select an important probability distribution channel from the probability distribution channel plots, or you can choose from C. LWe will select a non-important probability distribution channel from the probability distribution channel charts, and then use the selection of an important probability distribution channel chart as an example for the following explanation.
[0227] Then, the important probability distribution channel map is upsampled to obtain the target probability distribution channel map. There are no restrictions on the upsampling method. The size of the target probability distribution channel map can be the same as the size of the initial brightness reconstructed image block x_Y_hat.
[0228] For example, the nearest neighbor upsampling method can be used to upsample the importance probability distribution channel map to obtain the target probability distribution channel map. For the nearest neighbor upsampling method, a pixel can be selected on the original low-resolution image (i.e., the importance probability distribution channel map) as the center point of the corresponding region on the target high-resolution image (i.e., the target probability distribution channel map). The value of the nearest pixel to this pixel on the original low-resolution image is then used as the value of the corresponding pixel on the target high-resolution image. This process is repeated until all pixels in the target high-resolution image have been assigned values.
[0229] In summary, the important probability distribution channel map can be upsampled to the same size as the initial brightness reconstructed image block x_Y_hat, and the upsampled probability distribution channel map is denoted as the target probability distribution channel map sigma_channel_upscale.
[0230] For example, the third bitstream corresponding to the current image block can be decoded to obtain the important channel identifier corresponding to the current image block. Of course, in addition to decoding the important channel identifier from the third bitstream, other methods can also be used to obtain the important channel identifier, as shown in the five implementation methods of Embodiment 9. Based on this, if the probability distribution parameters include multiple probability distribution channel maps, the probability distribution channel map corresponding to the important channel identifier is selected from the multiple probability distribution channel maps as the important probability distribution channel map; then, the important probability distribution channel map is upsampled to obtain the target probability distribution channel map.
[0231] Step S22: If the target probability distribution channel map includes multiple probability distribution values, for each probability distribution value, determine the image enhancement segment intensity value corresponding to that probability distribution value based on the image enhancement threshold interval corresponding to that probability distribution value.
[0232] For example, the target probability distribution channel map may include multiple probability distribution values. For each probability distribution value, the image enhancement threshold interval corresponding to that probability distribution value can be determined first, and the image enhancement segment intensity value corresponding to that probability distribution value can be determined based on the image enhancement threshold interval. For instance, if the probability distribution value is within [thry-2, thry-3), the image enhancement segment intensity value corresponding to that probability distribution value can be magy-2; if the probability distribution value is within [thry-3, thry-4), the image enhancement segment intensity value corresponding to that probability distribution value can be magy-3, and so on.
[0233] Step S23: Perform brightness edge enhancement on the initial brightness reconstructed image block x_Y_hat based on the image enhancement segment intensity value corresponding to each probability distribution value, to obtain the target brightness reconstructed image block x_Y_hat_enhanced corresponding to the current image block.
[0234] First, a high-frequency detail image can be generated based on the initial brightness reconstructed image patch x_Y_hat. For example, a convolution operation (such as a 2D convolution operation) can be performed on the initial brightness reconstructed image patch x_Y_hat and a Gaussian blur convolution kernel (which can be a 3x3 kernel or a kernel of other sizes, without restriction) to obtain a Gaussian blur image. Then, the Gaussian blur image is subtracted from the initial brightness reconstructed image patch x_Y_hat to obtain the high-frequency detail image. Of course, the above is just an example of generating a high-frequency detail image; as long as the high-frequency details of the initial brightness reconstructed image patch x_Y_hat can be obtained, it is acceptable.
[0235] For example, for each value in the Gaussian blur convolution kernel, the denominator can be a power of 2, such as 2, 4, 8, 16, 32, 64, 128, etc. The Gaussian blur convolution kernel can be an N*N kernel, where N can be a positive integer. If N is 3, meaning the Gaussian blur convolution kernel is a 3*3 kernel, then the Gaussian blur convolution kernel can include, but is not limited to:
[0236]
[0237] In this context, A can be a positive integer, B can be a positive integer, and M can be a power of 2, such as M being 2, 4, 8, 16, 32, 64, or 128. For example, A could be 5, B could be 24, and M could be 64.
[0238] Then, for each feature value in the high-frequency detail image, edge enhancement is performed on the feature value based on the image enhancement segment intensity value corresponding to the probability distribution value of that feature value, resulting in an image enhancement feature value. For example, the initial brightness reconstruction image block x_Y_hat includes multiple feature values, the target probability distribution channel map includes multiple probability distribution values, and these multiple probability distribution values correspond one-to-one with the multiple feature values. Since the high-frequency detail image includes multiple feature values (corresponding one-to-one with the multiple feature values of the initial brightness reconstruction image block x_Y_hat), the multiple probability distribution values of the target probability distribution channel map correspond one-to-one with the multiple feature values of the high-frequency detail image. Based on this, for each feature value in the high-frequency detail image, the probability distribution value corresponding to that feature value can be determined from the target probability distribution channel map, and the image enhancement threshold interval corresponding to that probability distribution value can be determined. Then, the image enhancement segment intensity value corresponding to that probability distribution value can be determined based on the image enhancement threshold interval.
[0239] After obtaining the image enhancement segment intensity value corresponding to the probability distribution value, edge enhancement can be performed on this feature value based on the image enhancement segment intensity value to obtain the image enhancement feature value. This can be achieved by multiplying the feature value by the image enhancement segment intensity value (such as magy-1, magy-2, etc.). Clearly, if the image enhancement threshold range is "less than three-1", then the feature value is multiplied by 1, meaning the feature value remains unchanged and no edge enhancement is performed. If the image enhancement threshold range is [thry-1, three-2), then the feature value is multiplied by magy-1, where magy-1 is a value greater than 1, thus performing edge enhancement on the feature value. Similarly, other image enhancement segment intensity values such as magy-2, which are greater than 1, can achieve edge enhancement.
[0240] Then, the target brightness reconstructed image block x_Y_hat_enhanced is determined based on the image enhancement feature value corresponding to each feature value in the high-frequency detail image. For example, for each feature value in the high-frequency detail image, the image enhancement feature value corresponding to that feature value can be obtained in the manner described above. Then, an image enhancement feature map is determined based on the image enhancement feature value corresponding to each feature value. For example, the image enhancement feature values corresponding to all feature values can be combined to obtain the image enhancement feature map. Then, the image enhancement feature map is added to the initial brightness reconstructed image block x_Y_hat to obtain the final edge enhancement image. This edge enhancement image is then bound to the image value domain to obtain the target brightness reconstructed image block x_Y_hat_enhanced.
[0241] In one possible implementation, the encoder needs to encode multiple image enhancement segment intensity values and multiple image enhancement segment thresholds in the third bitstream corresponding to the current image block. For this process, the encoder can adopt the following approach:
[0242] The encoder can configure multiple candidate image domain enhancement parameters. For each candidate image domain enhancement parameter, it can include multiple image enhancement segment intensity values and multiple image enhancement segment thresholds. The cost value corresponding to each candidate image domain enhancement parameter can be determined. Based on the cost value corresponding to each candidate image domain enhancement parameter, the image domain enhancement parameter corresponding to the current image block can be selected from all candidate image domain enhancement parameters, that is, the candidate image domain enhancement parameter with the smallest cost value. The encoder can encode the image domain enhancement parameter to obtain the third bitstream corresponding to the current image block.
[0243] For example, for each candidate image domain enhancement parameter, brightness edge enhancement is performed on the initial brightness reconstructed image block x_Y_hat based on the candidate image domain enhancement parameter and the probability distribution parameter, resulting in the target brightness reconstructed image block x_Y_hat_enhanced corresponding to the current image block. The brightness edge enhancement process is described in the above embodiment and will not be repeated here. The target reconstructed image block x_hat_enhanced can be obtained based on the target brightness reconstructed image block x_Y_hat_enhanced, and then the cost corresponding to the candidate image domain enhancement parameter is determined based on the target reconstructed image block x_hat_enhanced. There are no restrictions on the method of determination.
[0244] For example, for each candidate image domain enhancement parameter, including magy-1, magy-2, ..., magy-m, and thry-1, thry-2, ..., thry-m, the target brightness reconstructed image block x_Y_hat_enhanced can be obtained based on these candidate image domain enhancement parameters. Then, the target reconstructed image block x_hat_enhanced is obtained based on the target brightness reconstructed image block x_Y_hat_enhanced. The distortion index values of the target reconstructed image block x_hat_enhanced and the current image block x are calculated using a distortion index. After obtaining the distortion index value corresponding to each candidate image domain enhancement parameter, the candidate image domain enhancement parameter corresponding to the smallest distortion index value can be selected as the image domain enhancement parameter corresponding to the current image block, i.e., the optimal image domain enhancement parameter. In this way, the encoder can encode this image domain enhancement parameter in the third bitstream.
[0245] Example 13: In Examples 6 and 7, a chroma filtering enhancement module performs chroma filtering enhancement on the initial chroma reconstructed image block x_UV_hat to obtain the target chroma reconstructed image block x_UV_hat_enhanced. The chroma filtering enhancement process of the chroma filtering enhancement module is described below. For example, after obtaining the initial chroma reconstructed image block x_UV_hat corresponding to the current image block x, the chroma filtering enhancement module can also perform chroma filtering enhancement based on the initial luminance reconstructed image block x_Y_hat and the initial chroma reconstructed image block x_UV_hat to obtain the target chroma reconstructed image block x_UV_hat_enhanced corresponding to the current image block x. This chroma filtering enhancement process is described below.
[0246] First, adaptive upsampling is performed on the initial chroma reconstructed image block x_UV_hat and the initial luminance reconstructed image block x_Y_hat to obtain an upsampled chroma reconstructed image block. The resolution of the upsampled chroma reconstructed image block is the same as that of the initial luminance reconstructed image block x_Y_hat. For example, the initial chroma reconstructed image block x_UV_hat is adaptively upsampled to obtain the upsampled chroma reconstructed image block, which has the required resolution size, such as the resolution of the initial luminance reconstructed image block x_Y_hat. Furthermore, the adaptive upsampling process is guided by the initial luminance reconstructed image block x_Y_hat.
[0247] Then, cross-channel filtering is performed on the upsampled chroma reconstructed image block and the initial luminance reconstructed image block x_Y_hat to obtain the cross-channel filtered chroma reconstructed image block. For example, after obtaining the upsampled chroma reconstructed image block, it will undergo cross-channel filtering to obtain the first enhanced chroma reconstructed image block (i.e., the cross-channel filtered chroma reconstructed image block), and the cross-channel filtering process is guided by the initial luminance reconstructed image block x_Y_hat.
[0248] See Figure 6D As shown, after performing wavelet transform on the upsampled chroma reconstructed image block and the initial luminance reconstructed image block x_Y_hat, the features of the channel-dimensional concatenation are input into the residual block network, which enhances the upsampled chroma reconstructed image block. Finally, the cross-channel filtered chroma reconstructed image block is obtained through inverse wavelet transform.
[0249] Then, nonlinear chromaticity filtering is performed on the cross-channel filtered chromaticity reconstructed image block and the initial luminance reconstructed image block x_Y_hat to obtain a nonlinearly filtered chromaticity reconstructed image block, which is the target chromaticity reconstructed image block x_UV_hat_enhanced. For example, after obtaining the cross-channel filtered chromaticity reconstructed image block, it will undergo nonlinear chromaticity filtering to obtain a second-enhanced chromaticity reconstructed image block, and the nonlinear chromaticity filtering process is guided by the initial luminance reconstructed image block x_Y_hat. After obtaining the second-enhanced chromaticity reconstructed image block, this chromaticity reconstructed image block is the target chromaticity reconstructed image block x_UV_hat_enhanced.
[0250] See Figure 6E As shown, the initial luminance reconstructed image block x_Y_hat can be downsampled. Then, the downsampled luminance reconstructed image block is concatenated with the cross-channel filtered chrominance reconstructed image block in a channel-dimensional manner. The resolution of the downsampled luminance reconstructed image block is the same as that of the cross-channel filtered chrominance reconstructed image block. The concatenated features are then input into a nonlinear filter, which outputs the target chrominance reconstructed image block x_UV_hat_enhanced.
[0251] In the above process, cross-channel filtering is performed first, followed by nonlinear chroma filtering. In order to obtain the target chroma reconstructed image block x_UV_hat_enhanced, nonlinear chroma filtering can be performed first, followed by cross-channel filtering. Alternatively, cross-channel filtering can be performed only (without nonlinear chroma filtering), or nonlinear chroma filtering can be performed only (without cross-channel filtering). There are no restrictions on this, as long as x_UV_hat_enhanced can be obtained through filtering.
[0252] Example 14: In Examples 6 and 7, a chroma filtering enhancement module performs chroma filtering enhancement on the initial chroma reconstructed image block x_UV_hat to obtain the target chroma reconstructed image block x_UV_hat_enhanced. The chroma filtering enhancement process of the chroma filtering enhancement module is described below. For example, after obtaining the initial chroma reconstructed image block x_UV_hat corresponding to the current image block x, the chroma filtering enhancement module can perform chroma filtering enhancement based on the target luminance reconstructed image block x_Y_hat_enhanced and the initial chroma reconstructed image block x_UV_hat to obtain the target chroma reconstructed image block x_UV_hat_enhanced corresponding to the current image block x. This chroma filtering enhancement process is described below.
[0253] First, adaptive upsampling is performed on the initial chroma reconstructed image block x_UV_hat and the target luminance reconstructed image block x_Y_hat_enhanced to obtain an upsampled chroma reconstructed image block. The resolution of the upsampled chroma reconstructed image block is the same as that of the target luminance reconstructed image block x_Y_hat_enhanced. For example, the initial chroma reconstructed image block x_UV_hat is adaptively upsampled to obtain an upsampled chroma reconstructed image block with the same resolution as the target luminance reconstructed image block x_Y_hat_enhanced, and the adaptive upsampling process is guided by the target luminance reconstructed image block x_Y_hat_enhanced.
[0254] Then, cross-channel filtering is performed on the upsampled chroma reconstructed image block and the target luminance reconstructed image block x_Y_hat_enhanced to obtain the cross-channel filtered chroma reconstructed image block. For example, after obtaining the upsampled chroma reconstructed image block, it undergoes cross-channel filtering to obtain the first enhanced chroma reconstructed image block (i.e., the cross-channel filtered chroma reconstructed image block), and the cross-channel filtering process is guided by the target luminance reconstructed image block x_Y_hat_enhanced. For example, after performing wavelet transform on the upsampled chroma reconstructed image block and the target luminance reconstructed image block x_Y_hat_enhanced, the features after channel-dimensional concatenation are input into the residual block network, so that the upsampled chroma reconstructed image block is enhanced and then the cross-channel filtered chroma reconstructed image block is obtained through inverse wavelet transform.
[0255] Then, nonlinear chromaticity filtering is performed on the cross-channel filtered chromaticity reconstructed image block and the target luminance reconstructed image block x_Y_hat_enhanced to obtain a nonlinearly filtered chromaticity reconstructed image block, which is the target chromaticity reconstructed image block x_UV_hat_enhanced. For example, after obtaining the cross-channel filtered chromaticity reconstructed image block, it undergoes nonlinear chromaticity filtering to obtain a second-enhanced chromaticity reconstructed image block (the target chromaticity reconstructed image block x_UV_hat_enhanced). The nonlinear chromaticity filtering process is guided by the target luminance reconstructed image block x_Y_hat_enhanced. For example, the target luminance reconstructed image block x_Y_hat_enhanced is downsampled, and the downsampled luminance reconstructed image block is concatenated with the cross-channel filtered chromaticity reconstructed image block in a channel dimension. The resolution of the downsampled luminance reconstructed image block is the same as that of the cross-channel filtered chromaticity reconstructed image block. After concatenating the channel dimensions, the features are input into a nonlinear filter, which then outputs the target chromaticity reconstructed image patch x_UV_hat_enhanced.
[0256] In the above process, cross-channel filtering is performed first, followed by nonlinear chroma filtering. In order to obtain the target chroma reconstructed image block x_UV_hat_enhanced, nonlinear chroma filtering can be performed first, followed by cross-channel filtering. Alternatively, cross-channel filtering can be performed only (without nonlinear chroma filtering), or nonlinear chroma filtering can be performed only (without cross-channel filtering). There are no restrictions on this, as long as x_UV_hat_enhanced can be obtained through filtering.
[0257] Example 15: For Examples 5-14, if a feature domain enhancement module is added before the synthesis transform network, then the feature domain enhancement module can perform feature domain enhancement on the luminance component, the chrominance component, or both simultaneously. This example uses feature domain enhancement on the luminance component. To perform feature domain enhancement on the luminance component, the initial reconstructed feature y_hat corresponding to the luminance component of the current image patch can be enhanced based on the feature domain enhancement parameters and probability distribution parameters to obtain the enhanced reconstructed feature y_hat_enhanced corresponding to the luminance component. The feature domain enhancement process can be found in Examples 5-14 and will not be repeated here.
[0258] Regarding Examples 5-14, if a filtering enhancement module is added after the synthesis transform network, the filtering enhancement module can perform luminance edge enhancement on the luminance component, chrominance filtering enhancement on the chrominance component, or edge enhancement on both the luminance and chrominance components simultaneously. This example demonstrates simultaneous edge enhancement of both the luminance and chrominance components. For instance, to perform luminance edge enhancement on the luminance component, the initial luminance reconstructed image block x_Y_hat corresponding to the luminance component of the current image block can be enhanced based on image domain enhancement parameters and probability distribution parameters to obtain the target luminance reconstructed image block x_Y_hat_enhanced. The luminance edge enhancement process can be found in Examples 5-14 and will not be repeated here. Furthermore, to perform chrominance filtering enhancement on the chrominance component, the initial chrominance reconstructed image block x_UV_hat can be enhanced to obtain the target chrominance reconstructed image block x_UV_hat_enhanced. The chrominance filtering enhancement process can be found in Examples 5-14 and will not be repeated here.
[0259] When performing chroma filtering enhancement on the initial chroma reconstructed image patch x_UV_hat, the target probability distribution channel map of the chroma component can also be obtained based on the probability distribution parameters of the luminance component. For example, an important probability distribution channel map can be selected from all probability distribution channel maps of the luminance component's probability distribution parameters, and upsampling can be performed on the important probability distribution channel map to obtain the target probability distribution channel map of the chroma component. The size of this target probability distribution channel map is the same as the size of the initial chroma reconstructed image patch x_UV_hat of the chroma component. For example, the nearest neighbor upsampling method can be used to upsample the important probability distribution channel map to obtain the target probability distribution channel map of the chroma component. For the nearest neighbor upsampling method, a pixel is selected in the original low-resolution image (i.e., the important probability distribution channel map) as the center point of the corresponding region in the target high-resolution image (i.e., the target probability distribution channel map). The value of the nearest pixel to this pixel in the original low-resolution image is used as the value of the corresponding pixel in the target high-resolution image. The above process is repeated until all pixels in the target high-resolution image have been assigned values.
[0260] After obtaining the target probability distribution channel map of the chroma components, for each probability distribution value in the target probability distribution channel map, an image enhancement segment intensity value corresponding to that probability distribution value is determined based on the image enhancement threshold interval corresponding to that probability distribution value. Then, based on the image enhancement segment intensity value corresponding to each probability distribution value, chroma filtering enhancement is performed on the initial chroma reconstructed image block x_UV_hat corresponding to the chroma components to obtain the target chroma reconstructed image block x_UV_hat_enhanced. The chroma filtering enhancement process can be found in Example 12; relevant operations are performed on the chroma components.
[0261] Example 16: This example proposes a decoding method, which may include the following steps:
[0262] Step S31: Decode the feature domain enhancement parameters, image domain enhancement parameters, and important channel identifier (i.e., important_channel number) from Bitstream#3 (i.e., the third bitstream, which can also be called the feature enhancement header information bitstream) corresponding to the current image block. The feature domain enhancement parameters may include multiple edge enhancement segment intensity values (denoted as magl-1, magl-2, ..., magl-n), multiple edge enhancement segment thresholds (denoted as thrl-1, thrl-2, ..., thrl-n), and a stretching parameter value ρ. The image domain enhancement parameters may include multiple image enhancement segment intensity values (denoted as magy-1, magy-2, ..., magy-m), and multiple image enhancement segment thresholds (denoted as thry-1, thry-2, ..., thry-m). The feature domain enhancement parameters may also include the number of edge enhancement segment intensity values n, and the image domain enhancement parameters may also include the number of image enhancement segment intensity values m.
[0263] Step S32: The input features of the feature domain enhancement module are the initial reconstructed feature y_hat and the probability distribution parameter sigma. The initial reconstructed feature y_hat is a feature of size C. L xH L xW L The three-dimensional tensor, C L H represents the number of channels in the feature domain, i.e., the latent domain. L W represents the feature height of the Latent domain. L Let be the feature width of the Latent domain. The probability distribution parameter sigma is a parameter of size C. L xH L xW L The three-dimensional tensor. When the channels of the initially reconstructed feature y_hat are [1, 2, ..., C] L For any value in ], the shape will be H. L The two-dimensional tensor y_hat_ch of xW is called the feature channel map. When the channels of the probability distribution parameter sigma are [1, 2, ..., C], ... L For any value in ], the shape will be H. L xW L The two-dimensional tensor sigma_ch is called the probability distribution channel map.
[0264] Step S33: The initial reconstructed feature y_hat has a total of C L There are 1 feature channel map, and the probability distribution parameter sigma has a total of C. L A probability distribution channel diagram, C L Each probability distribution channel diagram and C L Feature channels Figure 1In a one-to-one correspondence, the probability distribution channel map is represented as sigma_ch. Feature adaptive edge enhancement is performed on the feature channel map where channel ch is the important channel identifier (important_channel), and feature adaptive stretching is performed on the feature channel map where channel ch is the non-important channel identifier.
[0265] Step S34: For the feature adaptive edge enhancement process, the input data are the important feature channel map y_hat_ch, the important probability distribution channel map sigma_ch, multiple edge enhancement segment intensity values (magl-1, magl-2, ..., magl-n), and multiple edge enhancement segment thresholds (thrl-1, thrl-2, ..., thrl-n). Based on the above input data, feature adaptive edge enhancement can be performed on the important feature channel map y_hat_ch to obtain the reconstructed feature map after feature adaptive edge enhancement. This reconstructed feature map is called the first reconstructed feature y_hat_sharp. The feature adaptive edge enhancement process is described in Example 10 and will not be repeated here.
[0266] Step S35: For the feature adaptive stretching process, the input data is the non-important feature channel map (the remaining C channels besides the important feature channel map). L -1 non-important feature channel map), non-important probability distribution channel map (the remaining C besides the important probability distribution channel map) L -1 non-important probability distribution channel map), stretching parameter value ρ, based on the above input data, feature adaptive stretching can be performed on each non-important feature channel map to obtain the reconstructed feature map after feature adaptive stretching. This reconstructed feature map is called the second reconstructed feature y_hat_scale. The feature adaptive stretching process is described in Example 11 and will not be repeated here. Among them, the size of the non-important feature channel map that is subjected to feature adaptive stretching is (C L -1)xH L xW L The corresponding probability distribution parameter sigma also has a size (C). L -1)xH L xW L Each element of this three-dimensional tensor can be processed by the following adaptive stretching algorithm to obtain the stretched second reconstructed feature: y_hat_scale=y_hat+ρ*clip3(sigma*y_hat,-0.5,0.5), where clip3 is a limit operation, and the second reconstructed feature after the feature adaptive stretching algorithm is y_hat_scale.
[0267] Step S36: The second reconstruction feature y_hat_scale corresponds to the enhancement of the non-important channels of the initial reconstruction feature y_hat, and the first reconstruction feature y_hat_sharp corresponds to the enhancement of the important channels of the initial reconstruction feature y_hat. The first reconstruction feature y_hat_sharp and the second reconstruction feature y_hat_scale are merged to obtain the enhanced reconstruction feature y_hat_enhanced after image enhancement.
[0268] Step S37: Input the enhanced reconstruction feature y_hat_enhanced after image enhancement into the synthesis transform network to obtain the initial reconstructed image block x_hat. The initial reconstructed image block x_hat is a two-dimensional tensor with size H×W. Upsample the important probability distribution channel map sigma_channel of the probability distribution parameter sigma to the same size as the initial reconstructed image block x_hat. The upsampled probability distribution channel map is denoted as the target probability distribution channel map sigma_channel_upscale.
[0269] Step S38: For the filtering enhancement process, the input data of the filtering enhancement module are the initial reconstructed image block x_hat, the target probability distribution channel map sigma_channel_upscale, multiple image enhancement segment intensity values (magy-1, magy-2, ..., magy-m), and multiple image enhancement segment thresholds (thry-1, thry-2, ..., thry-m). Based on the above input data, the filtering enhancement module can perform filtering enhancement on the initial reconstructed image block x_hat to obtain the target reconstructed image block x_hat_enhanced corresponding to the current image block x. The filtering enhancement process is described in Examples 12-14, and will not be repeated here.
[0270] Example 17: This example proposes an encoding method, which may include the following steps:
[0271] Step S41, based on C L Feature channel maps y_hat and C L For each probability distribution channel map sigma, the important channel identifier (also known as important channel number important_channel) corresponding to the important feature channel map is determined.
[0272] For example, slice y_hat and sigma along the channel dimension to obtain the current y_hat_channel and sigma_channel. Calculate bits_per_ch for each feature channel map using these two tensors, as shown in the following expression, and repeat the above process C. LNext, the bits_per_ch of each feature channel map is obtained, and the channel number corresponding to the largest bits_per_ch is selected as the important channel identifier.
[0273]
[0274] Step S42: Determine the stretching parameter value ρ corresponding to the feature adaptive stretching process. For example, select N1 candidate stretching parameter values ρ, obtain the enhanced reconstruction feature and target reconstructed image block x_hat_enhanced corresponding to each candidate stretching parameter value ρ, calculate the distortion index value of the target reconstructed image block x_hat_enhanced and the current image block x using the distortion index, and select the candidate stretching parameter value ρ corresponding to the smallest distortion index value as the optimal stretching parameter value ρ corresponding to the feature adaptive stretching process.
[0275] Step S43: Determine the feature domain enhancement parameters corresponding to the feature adaptive edge enhancement process. These feature domain enhancement parameters include multiple edge enhancement segment intensity values (magl-1, magl-2, ..., magl-n) and multiple edge enhancement segment thresholds (thrl-1, thrl-2, ..., thrl-n). For example, select N2 candidate feature domain enhancement parameters, obtain the enhanced reconstruction features and target reconstructed image block x_hat_enhanced corresponding to each candidate feature domain enhancement parameter, calculate the distortion index values of the target reconstructed image block x_hat_enhanced and the current image block x using the distortion index, and select the candidate feature domain enhancement parameter corresponding to the smallest distortion index value as the optimal feature domain enhancement parameter corresponding to the feature adaptive edge enhancement process.
[0276] Step S44: Determine the image domain enhancement parameters corresponding to the image domain enhancement process. These parameters may include multiple image enhancement segment intensity values (magy-1, magy-2, ..., magy-m) and multiple image enhancement segment thresholds (thry-1, thry-2, ..., thry-m). For example, select N3 candidate image domain enhancement parameters, obtain the enhancement reconstruction features and target reconstructed image block x_hat_enhanced corresponding to each candidate parameter, calculate the distortion index values of the target reconstructed image block x_hat_enhanced and the current image block x using the distortion index, and select the candidate image domain enhancement parameter corresponding to the smallest distortion index value as the optimal image domain enhancement parameter for the image domain enhancement process.
[0277] Step S45: Encode the important channel identifiers corresponding to the important feature channel map, the optimal stretching parameter value ρ, the optimal feature domain enhancement parameters, and the optimal image domain enhancement parameters into the header information bitstream (the third bitstream #Bitstreams3 corresponding to the current image block). It should be noted that the feature domain enhancement module and the image domain enhancement module will not change #Bitstreams1 and #Bitstreams2, but the image reconstruction at both the encoding and decoding ends will pass through the enhancement modules; therefore, the reconstructed image will remain consistent at both the encoding and decoding ends.
[0278] Example 18: The method for adaptive edge enhancement of images (i.e., the process by which the filtering enhancement module filters and enhances the initial reconstructed image block x_hat to obtain the target reconstructed image block x_hat_enhanced) can be a non-edge enhancement mask edge enhancement algorithm, also known as the Unsharp Masking edge enhancement algorithm. This process includes:
[0279] Step S51: Perform a two-dimensional convolution operation between the original reconstructed image and the Gaussian blur convolution kernel to obtain a Gaussian blurred image.
[0280] Step S52: Subtract the Gaussian blurred image from the original reconstructed image to obtain the high-frequency detail image.
[0281] Step S53: Multiply the high-frequency detail image by an edge enhancement coefficient (i.e., the image enhancement segment intensity value corresponding to the probability distribution value of the feature value) and add it to the original reconstructed image to obtain the final edge enhancement image.
[0282] Step S54: Limit the edge enhancement image to the value range of the image.
[0283] For example, the original reconstructed image is the initial reconstructed image block x_hat. After limiting the edge enhancement image to the value range of the image, the target reconstructed image block x_hat_enhanced can be obtained. This process can be referred to in the above embodiment.
[0284] Example 19: The feature-adaptive edge enhancement method (i.e., the process by which the feature domain enhancement module performs feature-adaptive edge enhancement on the important feature channel map based on the feature domain enhancement parameters and the important probability distribution channel map to obtain the first reconstructed feature) can be a non-edge enhancement mask edge enhancement algorithm, also known as the USM edge enhancement algorithm. This process includes:
[0285] Step S61: Subtract the mean from the important channel feature map y_hat_channel and divide by the variance to obtain the normalized feature map.
[0286] Step S62: Multiply the normalized feature map by 0.1 and add 0.5, and restrict the feature value to between 0 and 1.
[0287] Step S63: Perform a two-dimensional convolution operation between the normalized feature map and the Gaussian blur convolution kernel to obtain a Gaussian blurred image.
[0288] Step S64: Subtract the Gaussian blurred image from the original reconstructed image to obtain the high-frequency detail image.
[0289] Step S65: Multiply the high-frequency detail image by an edge enhancement coefficient (i.e., the edge enhancement segment intensity value corresponding to the probability distribution value of the feature value) and add it to the normalized feature map to obtain the edge enhancement feature map.
[0290] Step S66: Limit the feature value of the edge enhancement feature map to between 0 and 1.
[0291] Step S67: Subtract 0.5 from the edge enhancement feature map and divide by 10 to obtain the normalized feature map after edge enhancement.
[0292] Step S68: Multiply the normalized feature map after edge enhancement by the variance and add the mean to obtain the important channel feature map y_hat_channel and the important channel feature edge enhancement feature map y_hat_shap, which is the first reconstructed feature.
[0293] For example, the original reconstructed image is an important feature channel map y_hat_channel, and the process can be found in Example 10.
[0294] Example 20: During the decoding process, the initial chroma reconstruction image block x_UV_hat undergoes adaptive upsampling, transforming the chroma reconstruction image to the required resolution size. This process is guided by the initial luminance reconstruction image block x_Y_hat. The adaptively upsampled chroma reconstruction image then undergoes cross-channel filtering to obtain the first enhanced chroma reconstruction image, guided by the initial luminance reconstruction image block x_Y_hat. The first enhanced chroma reconstruction image then undergoes nonlinear chroma filtering to obtain the second chroma image enhancement, outputting the final chroma enhanced image x_UV_hat_enhanced. Furthermore, the initial luminance reconstruction image block x_Y_hat undergoes luminance edge enhancement to output the target luminance reconstruction image block x_Y_hat_enhanced.
[0295] For the enhancement process of cross-channel filtering, the chroma reconstructed image and the initial luminance reconstructed image block x_Y_hat are concatenated in the channel dimension after wavelet transformation. After passing through a residual block network, the chroma reconstructed image is enhanced. Finally, a new chroma reconstructed image is obtained through inverse wavelet transform. Alternatively, for the enhancement process of nonlinear chroma filtering, the initial luminance reconstructed image block x_Y_hat is downsampled to the same resolution as the chroma reconstructed image, then concatenated in the channel dimension. After passing through a nonlinear filter, the target chroma-enhanced image x_UV_hat_enhanced is obtained.
[0296] Example 21: During the decoding process, the filtering enhancement submodule can extract important channel identifiers from the bitstream.
[0297] Example 22: During the decoding process, for the Gaussian blur convolution kernel involved in each example, the denominators of each weight in the Gaussian blur convolution kernel are designed as powers of 2. For example, a usable weight design is shown below:
[0298]
[0299] Example 23: During the encoding process, important channel identifiers can be determined based on the feature variance scale_hat, using the following method:
[0300] LinearToLog is a mapping table that maps the feature variance scale_hat to the logarithmic domain feature variance logarithmic_scale. For example, logarithmic_scale = LinearToLog(scale_hat).
[0301] Slicing along the channel dimension yields the logarithmic domain feature variance logarithmic_scale_channel corresponding to a specific feature channel.
[0302] Based on logarithmic_scale_channel, calculate the logarithmic variance and sum_per_channel for each feature channel:
[0303]
[0304] Repeat the above process, for a total of logarithmic_scale channels C. LThis process involves obtaining the logarithmic variance and sum_per_channel for each feature channel. Then, the channel number corresponding to the largest sum_per_channel is selected as the important channel identifier, also known as the important channel number.
[0305] As can be seen from the above technical solutions, this application proposes an end-to-end video image compression method that can encode and decode video images based on neural networks. By combining image domain enhancement parameters and probability distribution parameters, it aims to improve encoding and decoding efficiency. By combining network structure design and header information stream (such as a third stream), the neural network effectively ensures the quality of reconstructed image blocks while maintaining low complexity, thereby improving encoding and decoding performance and reducing complexity. Image quality enhancement is achieved by using image domain enhancement parameters and probability distribution parameters to enhance features. The encoding end does not directly change the feature information but encodes the image domain enhancement parameters into the header information stream. The decoding end enhances the reconstructed image blocks using the image domain enhancement parameters, improving encoding performance and reconstructed image quality. Channel specificity can be considered, and for finer-grained adaptive scaling of probability distribution parameters, edge enhancement, an enhancement method that significantly improves metrics such as VMAF, can be introduced. By leveraging the characteristics of the bottleneck layer tensor in the end-to-end image coding framework, the importance of each channel is determined by the bit rate consumed by each channel in the feature domain, and different feature domain enhancement methods are applied. Edge enhancement is adaptively obtained by utilizing the probability distribution parameters of important channels in the feature domain, thereby improving the quality of the encoded-reconstructed image and enhancing the subjective image quality evaluation index.
[0306] For example, the above embodiments can be implemented individually or in combination. For instance, each of embodiments 1-23 can be implemented individually, and at least two of embodiments 1-23 can be implemented in combination.
[0307] For example, in the above embodiments, the content of the encoding end can also be applied to the decoding end, that is, the decoding end can be processed in the same way, and the content of the decoding end can also be applied to the encoding end, that is, the encoding end can be processed in the same way.
[0308] Based on the same application concept as the above method, this application also proposes a decoding device, which is applied to the decoding end. The device includes: a memory configured to store video data; and a decoder configured to implement the decoding methods in embodiments 1-23 above, i.e., the processing flow of the decoding end.
[0309] Based on the same application concept as the above method, this application also proposes an encoding device, which is applied to the encoding end. The device includes: a memory configured to store video data; and an encoder configured to implement the encoding methods in embodiments 1-23 above, i.e., the processing flow of the encoding end.
[0310] Based on the same concept as the above method, the decoding device (also known as a video decoder) provided in this application embodiment, from a hardware perspective, its hardware architecture diagram can be found in [reference needed]. Figure 7A As shown, it includes: a processor 711 and a machine-readable storage medium 712, the machine-readable storage medium 712 storing machine-executable instructions that can be executed by the processor 711; the processor 711 is used to execute the machine-executable instructions to implement the decoding methods of embodiments 1-23 of this application described above.
[0311] For example, in one possible implementation, the processor 711 executes machine-executable instructions to implement:
[0312] Decode the first bitstream corresponding to the current image block to obtain the coefficient hyperparameter features corresponding to the current image block;
[0313] Based on the coefficient hyperparameter features, the probability distribution parameters are determined, and based on the probability distribution parameters, the second bitstream corresponding to the current image block is decoded to obtain the initial reconstruction features corresponding to the current image block;
[0314] The initial reconstructed image block corresponding to the current image block is determined based on the initial reconstruction features; wherein, the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0315] Brightness edge enhancement is performed on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block.
[0316] Based on the same concept as the above method, the encoding end device (also known as a video encoder) provided in this application embodiment, from a hardware perspective, its hardware architecture diagram can be found in [reference needed]. Figure 7B As shown, it includes: a processor 721 and a machine-readable storage medium 722, the machine-readable storage medium 722 storing machine-executable instructions that can be executed by the processor 721; the processor 721 is used to execute the machine-executable instructions to implement the encoding methods of embodiments 1-23 of this application described above.
[0317] For example, in one possible implementation, the processor 721 executes machine-executable instructions to implement:
[0318] Encode the hyperparameter features corresponding to the current image block to obtain the first bitstream corresponding to the current image block;
[0319] Based on the coefficient hyperparameter features, the probability distribution parameters are determined, and the initial image features corresponding to the current image block are encoded based on the probability distribution parameters to obtain the second bitstream corresponding to the current image block;
[0320] The initial reconstructed image block corresponding to the current image block is determined based on the initial reconstructed features corresponding to the initial image features; wherein, the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block;
[0321] For each candidate image domain enhancement parameter, brightness edge enhancement is performed on the initial brightness reconstruction image block based on the candidate image domain enhancement parameter and the probability distribution parameter to obtain the target brightness reconstruction image block; the cost corresponding to the candidate image domain enhancement parameter is determined based on the target brightness reconstruction image block.
[0322] Based on the cost value corresponding to each candidate image domain enhancement parameter, the image domain enhancement parameter corresponding to the current image block is selected from all candidate image domain enhancement parameters, and the image domain enhancement parameter is encoded to obtain the third bitstream corresponding to the current image block.
[0323] Based on the same application concept as the methods described above, this application provides an electronic device. It includes a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor executes the machine-executable instructions to implement the decoding or encoding methods of embodiments 1-23 of this application described above.
[0324] Based on the same application concept as the above methods, embodiments of this application also provide a machine-readable storage medium storing a plurality of computer instructions. When the computer instructions are executed by a processor, they can implement the methods disclosed in the above examples of this application, such as the decoding method or encoding method in the above embodiments.
[0325] Based on the same application concept as the above method, this application embodiment also provides a computer application that, when executed by a processor, can implement the decoding method or encoding method disclosed in the above examples of this application.
[0326] Based on the same concept as the above method, this application also proposes a decoding device that can be applied to a decoding end (also called a video decoder). The decoding device includes: a decoding module, used to decode a first bitstream corresponding to a current image block to obtain coefficient hyperparameter features corresponding to the current image block; determine probability distribution parameters based on the coefficient hyperparameter features; and decode a second bitstream corresponding to the current image block based on the probability distribution parameters to obtain initial reconstruction features corresponding to the current image block; a determination module, used to determine an initial reconstructed image block corresponding to the current image block based on the initial reconstruction features; wherein the initial reconstructed image block includes an initial luminance reconstructed image block and an initial chrominance reconstructed image block; and an enhancement module, used to perform luminance edge enhancement on the initial luminance reconstructed image block to obtain a target luminance reconstructed image block.
[0327] For example, the enhancement module is further configured to perform chroma filtering enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block; the decoding device further includes: a generation module, configured to generate a target reconstructed image block based on the target luminance reconstructed image block and the target chroma reconstructed image block.
[0328] For example, when the enhancement module performs brightness edge enhancement on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block, it specifically performs the following: decoding the third bitstream corresponding to the current image block to obtain the image domain enhancement parameters corresponding to the current image block; and performing brightness edge enhancement on the initial brightness reconstructed image block based on the image domain enhancement parameters and the probability distribution parameters to obtain the target brightness reconstructed image block corresponding to the current image block.
[0329] For example, the image domain enhancement parameters include multiple image enhancement segment intensity values and multiple image enhancement segment thresholds, the multiple image enhancement segment thresholds forming multiple image enhancement threshold intervals, and the multiple image enhancement threshold intervals corresponding one-to-one with the multiple image enhancement segment intensity values; when the enhancement module performs brightness edge enhancement on the initial brightness reconstruction image block based on the image domain enhancement parameters and the probability distribution parameters to obtain the target brightness reconstruction image block corresponding to the current image block, it specifically performs the following: obtaining a target probability distribution channel map based on the probability distribution parameters; if the target probability distribution channel map includes multiple probability distribution values, then for each probability distribution value, determining the image enhancement segment intensity value corresponding to the probability distribution value based on the image enhancement threshold interval corresponding to the probability distribution value; and performing brightness edge enhancement on the initial brightness reconstruction image block based on the image enhancement segment intensity value corresponding to each probability distribution value to obtain the target brightness reconstruction image block.
[0330] For example, when the enhancement module performs brightness edge enhancement on the initial brightness reconstructed image block to obtain the target brightness reconstructed image block, it specifically performs the following steps: decoding the third bitstream corresponding to the current image block to obtain the important channel identifier corresponding to the current image block; if the probability distribution parameter includes multiple probability distribution channel maps, then selecting the probability distribution channel map corresponding to the important channel identifier from the multiple probability distribution channel maps included in the probability distribution parameter as the important probability distribution channel map; upsampling the important probability distribution channel map to obtain the target probability distribution channel map; and performing brightness edge enhancement on the initial brightness reconstructed image block according to the target probability distribution channel map to obtain the target brightness reconstructed image block corresponding to the current image block.
[0331] For example, when the enhancement module performs brightness edge enhancement on the initial brightness reconstructed image block based on the image enhancement segment intensity value corresponding to each probability distribution value to obtain the target brightness reconstructed image block corresponding to the current image block, it is specifically used to: generate a high-frequency detail image based on the initial brightness reconstructed image block; for each feature value in the high-frequency detail image, perform brightness edge enhancement on the feature value based on the image enhancement segment intensity value corresponding to the probability distribution value corresponding to the feature value to obtain an image enhancement feature value; and determine the target brightness reconstructed image block based on the image enhancement feature value corresponding to each feature value.
[0332] For example, when the enhancement module generates a high-frequency detail image based on the initial brightness reconstructed image block, it is specifically used to: perform a convolution operation on the initial brightness reconstructed image block and a Gaussian blur convolution kernel to obtain a Gaussian blur image; subtract the Gaussian blur image from the initial brightness reconstructed image block to obtain the high-frequency detail image; wherein, for each value in the Gaussian blur convolution kernel, the denominator of the value is a power of 2.
[0333] For example, when the enhancement module performs chroma filtering enhancement on the initial chroma reconstructed image block to obtain the target chroma reconstructed image block, it specifically performs: adaptive upsampling based on the initial chroma reconstructed image block and the initial luminance reconstructed image block to obtain an upsampled chroma reconstructed image block, wherein the resolution of the upsampled chroma reconstructed image block is the same as that of the initial luminance reconstructed image block; and performs filtering operations on the upsampled chroma reconstructed image block to obtain the target chroma reconstructed image block; wherein the filtering operations include cross-channel filtering and / or nonlinear chroma filtering.
[0334] For example, when the enhancement module performs filtering operations on the upsampled chroma reconstructed image block to obtain the target chroma reconstructed image block, it specifically performs the following operations: performing cross-channel filtering on the upsampled chroma reconstructed image block based on the initial luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing nonlinear chroma filtering on the upsampled chroma reconstructed image block based on the initial luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing cross-channel filtering on the upsampled chroma reconstructed image block based on the initial luminance reconstructed image block to obtain a cross-channel filtered chroma reconstructed image block, and performing nonlinear chroma filtering on the cross-channel filtered chroma reconstructed image block based on the initial luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing nonlinear chroma filtering on the upsampled chroma reconstructed image block based on the initial luminance reconstructed image block to obtain a nonlinear chroma filtered chroma reconstructed image block, and performing cross-channel filtering on the nonlinear chroma filtered chroma reconstructed image block based on the initial luminance reconstructed image block to obtain the target chroma reconstructed image block.
[0335] For example, when the enhancement module performs chroma filtering enhancement on the initial chroma reconstructed image block to obtain the target chroma reconstructed image block, it specifically performs: adaptive upsampling based on the initial chroma reconstructed image block and the target luminance reconstructed image block to obtain an upsampled chroma reconstructed image block, wherein the resolution of the upsampled chroma reconstructed image block is the same as that of the target luminance reconstructed image block; and performs filtering operations on the upsampled chroma reconstructed image block to obtain the target chroma reconstructed image block; wherein the filtering operations include cross-channel filtering and / or nonlinear chroma filtering.
[0336] For example, when the enhancement module performs filtering operations on the upsampled chroma reconstructed image block to obtain the target chroma reconstructed image block, it specifically performs the following operations: performing cross-channel filtering on the upsampled chroma reconstructed image block based on the target luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing nonlinear chroma filtering on the upsampled chroma reconstructed image block based on the target luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing cross-channel filtering on the upsampled chroma reconstructed image block based on the target luminance reconstructed image block to obtain a cross-channel filtered chroma reconstructed image block, and performing nonlinear chroma filtering on the cross-channel filtered chroma reconstructed image block based on the target luminance reconstructed image block to obtain the target chroma reconstructed image block; or, performing nonlinear chroma filtering on the upsampled chroma reconstructed image block based on the target luminance reconstructed image block to obtain a nonlinear chroma filtered chroma reconstructed image block, and performing cross-channel filtering on the nonlinear chroma filtered chroma reconstructed image block based on the target luminance reconstructed image block to obtain the target chroma reconstructed image block.
[0337] For example, when the determining module determines the initial reconstructed image block corresponding to the current image block based on the initial reconstructed features, it is specifically used to: input the initial reconstructed features into the synthesis transform network to obtain the initial reconstructed image block; or, decode the third bitstream corresponding to the current image block to obtain the feature domain enhancement parameters corresponding to the current image block; perform feature domain enhancement on the initial reconstructed features based on the feature domain enhancement parameters and the probability distribution parameters to obtain enhanced reconstructed features; and input the enhanced reconstructed features into the synthesis transform network to obtain the initial reconstructed image block.
[0338] For example, the decoding module is further configured to decode the third bitstream corresponding to the current image block to obtain the important channel identifier corresponding to the current image block; wherein, the initial reconstruction features include C feature channel maps, the probability distribution parameters include C probability distribution channel maps, and the C probability distribution channel maps and C feature channels... Figure 1 In a one-to-one correspondence, the feature channel map corresponding to the important channel identifier is used as the important feature channel map, the remaining feature channel maps are used as the non-important feature channel maps, the probability distribution channel map corresponding to the important feature channel map is used as the important probability distribution channel map, and the remaining probability distribution channel maps are used as the non-important probability distribution channel maps; the determining module performs feature domain enhancement on the initial reconstructed features based on the feature domain enhancement parameters and the probability distribution parameters to obtain enhanced reconstructed features, specifically by: performing feature adaptive edge enhancement on the important feature channel map based on the feature domain enhancement parameters and the important probability distribution channel map to obtain the first reconstructed feature after feature adaptive edge enhancement; performing feature adaptive stretching on the non-important feature channel map based on the feature domain enhancement parameters and the non-important probability distribution channel map to obtain the second reconstructed feature after feature adaptive stretching; and generating the enhanced reconstructed features based on the first reconstructed features and the second reconstructed features.
[0339] Based on the same concept as the above method, this application also proposes an encoding device applied at an encoding end (also called a video encoder). The device includes: an encoding module for encoding the coefficient hyperparameter features corresponding to the current image block to obtain a first bitstream corresponding to the current image block; determining probability distribution parameters based on the coefficient hyperparameter features; and encoding initial image features corresponding to the current image block based on the probability distribution parameters to obtain a second bitstream corresponding to the current image block; and a determination module for determining an initial reconstructed image block corresponding to the current image block based on the initial reconstructed features corresponding to the initial image features; the initial reconstructed image block includes an initial brightness... The system comprises: a luminance reconstructed image block and an initial chrominance reconstructed image block; an enhancement module, configured to perform luminance edge enhancement on the initial luminance reconstructed image block based on the candidate image domain enhancement parameter and the probability distribution parameter for each candidate image domain enhancement parameter, to obtain a target luminance reconstructed image block; a determination module, further configured to determine the cost value corresponding to the candidate image domain enhancement parameter based on the target luminance reconstructed image block; and to select the image domain enhancement parameter corresponding to the current image block from all candidate image domain enhancement parameters based on the cost value corresponding to each candidate image domain enhancement parameter; and an encoding module, further configured to encode the image domain enhancement parameter to obtain a third bitstream corresponding to the current image block.
[0340] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. This application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The above descriptions are merely embodiments of this application and are not intended to limit this application.
[0341] Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. An image decoding method characterized by, The method comprises: decoding a code stream corresponding to a current image block to obtain a coefficient hyperparameter feature corresponding to the current image block; determining a probability distribution parameter based on the coefficient hyperparameter feature, and decoding the code stream corresponding to the current image block based on the probability distribution parameter to obtain an initial reconstruction feature corresponding to the current image block; determining an initial reconstruction image block corresponding to the current image block based on the initial reconstruction feature; wherein the initial reconstruction image block comprises an initial luminance reconstruction image block and an initial chroma reconstruction image block; performing luminance edge enhancement on the initial luminance reconstruction image block to obtain a target luminance reconstruction image block; performing chroma filter enhancement on the initial chroma reconstruction image block to obtain a target chroma reconstruction image block; generating a target reconstruction image block based on the target luminance reconstruction image block and the target chroma reconstruction image block; wherein the performing chroma filter enhancement on the initial chroma reconstruction image block to obtain a target chroma reconstruction image block comprises: performing adaptive up-sampling based on the initial chroma reconstruction image block and the initial luminance reconstruction image block to obtain an up-sampled chroma reconstruction image block, the up-sampled chroma reconstruction image block having a same resolution as the initial luminance reconstruction image block; performing a filter operation on the up-sampled chroma reconstruction image block to obtain the target chroma reconstruction image block; wherein the filter operation comprises cross-channel filtering and / or non-linear chroma filtering.
2. The method of claim 1, wherein, The performing a filter operation on the up-sampled chroma reconstruction image block to obtain the target chroma reconstruction image block comprises: performing cross-channel filtering on the up-sampled chroma reconstruction image block based on the initial luminance reconstruction image block to obtain the target chroma reconstruction image block; or performing non-linear chroma filtering on the up-sampled chroma reconstruction image block based on the initial luminance reconstruction image block to obtain the target chroma reconstruction image block; or performing cross-channel filtering on the up-sampled chroma reconstruction image block based on the initial luminance reconstruction image block to obtain a cross-channel filtered chroma reconstruction image block, and performing non-linear chroma filtering on the cross-channel filtered chroma reconstruction image block based on the initial luminance reconstruction image block to obtain the target chroma reconstruction image block; or performing non-linear chroma filtering on the up-sampled chroma reconstruction image block based on the initial luminance reconstruction image block to obtain a non-linear chroma filtered chroma reconstruction image block, and performing cross-channel filtering on the non-linear chroma filtered chroma reconstruction image block based on the initial luminance reconstruction image block to obtain the target chroma reconstruction image block.
3. The method of claim 1, wherein the performing chroma filter enhancement on the initial chroma reconstruction image block to obtain a target chroma reconstruction image block comprises: performing adaptive up-sampling based on the initial chroma reconstruction image block and the target luminance reconstruction image block to obtain an up-sampled chroma reconstruction image block, the up-sampled chroma reconstruction image block having a same resolution as the target luminance reconstruction image block; performing a filter operation on the up-sampled chroma reconstruction image block to obtain the target chroma reconstruction image block; The filtering operation includes cross-channel filtering and / or non-linear chroma filtering.
4. The method of claim 3, wherein, The filtering operation on the up-sampled chroma reconstructed image block to obtain the target chroma reconstructed image block includes: cross-channel filtering on the up-sampled chroma reconstructed image block based on the target luma reconstructed image block to obtain the target chroma reconstructed image block; or non-linear chroma filtering on the up-sampled chroma reconstructed image block based on the target luma reconstructed image block to obtain the target chroma reconstructed image block; or cross-channel filtering on the up-sampled chroma reconstructed image block based on the target luma reconstructed image block to obtain a cross-channel filtered chroma reconstructed image block, and non-linear chroma filtering on the cross-channel filtered chroma reconstructed image block based on the target luma reconstructed image block to obtain the target chroma reconstructed image block; or non-linear chroma filtering on the up-sampled chroma reconstructed image block based on the target luma reconstructed image block to obtain a non-linear chroma filtered chroma reconstructed image block, and cross-channel filtering on the non-linear chroma filtered chroma reconstructed image block based on the target luma reconstructed image block to obtain the target chroma reconstructed image block.
5. The method of claim 2 or 4, wherein the cross-channel filtering on the up-sampled chroma reconstructed image block based on the initial luma reconstructed image block to obtain a cross-channel filtered chroma reconstructed image block includes wavelet transforming the up-sampled chroma reconstructed image block and wavelet transforming the initial luma reconstructed image block, connecting the wavelet transformed up-sampled chroma reconstructed image block and the wavelet transformed initial luma reconstructed image block in a channel dimension, inputting a feature after the connection in the channel dimension into a residual block network, and wavelet inverse transforming a feature output by the residual block network to obtain the cross-channel filtered chroma reconstructed image block; the cross-channel filtering on the up-sampled chroma reconstructed image block based on the target luma reconstructed image block to obtain a cross-channel filtered chroma reconstructed image block includes wavelet transforming the up-sampled chroma reconstructed image block and wavelet transforming the target luma reconstructed image block, connecting the wavelet transformed up-sampled chroma reconstructed image block and the wavelet transformed target luma reconstructed image block in a channel dimension, inputting a feature after the connection in the channel dimension into a residual block network, and wavelet inverse transforming a feature output by the residual block network to obtain the cross-channel filtered chroma reconstructed image block.
6. An image coding method characterized by, The method includes: encoding a coefficient hyperparameter feature corresponding to a current image block; determining a probability distribution parameter based on the coefficient hyperparameter feature, and encoding an initial image feature corresponding to the current image block based on the probability distribution parameter; determining an initial reconstructed image block corresponding to the current image block based on an initial reconstructed feature corresponding to the initial image feature; wherein the initial reconstructed image block includes an initial luma reconstructed image block and an initial chroma reconstructed image block; performing luma edge enhancement on the initial luma reconstructed image block to obtain a target luma reconstructed image block; and performing chroma filter enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block; generating a target reconstructed image block based on the target luma reconstructed image block and the target chroma reconstructed image block; wherein the performing chroma filter enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block comprises: performing adaptive up-sampling based on the initial chroma reconstructed image block and the initial luma reconstructed image block to obtain an up-sampled chroma reconstructed image block, the up-sampled chroma reconstructed image block having the same resolution as the initial luma reconstructed image block; performing a filter operation on the up-sampled chroma reconstructed image block to obtain the target chroma reconstructed image block; wherein the filter operation comprises cross-channel filtering and / or non-linear chroma filtering.
7. An image decoding apparatus characterized by comprising: The apparatus comprises: a decoding module configured to decode a code stream corresponding to a current image block to obtain a coefficient hyperparameter feature corresponding to the current image block, determine a probability distribution parameter based on the coefficient hyperparameter feature, and decode the code stream corresponding to the current image block based on the probability distribution parameter to obtain an initial reconstructed feature corresponding to the current image block; a determination module configured to determine an initial reconstructed image block corresponding to the current image block based on the initial reconstructed feature, wherein the initial reconstructed image block comprises an initial luma reconstructed image block and an initial chroma reconstructed image block; an enhancement module configured to perform luma edge enhancement on the initial luma reconstructed image block to obtain a target luma reconstructed image block, and perform chroma filter enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block; a generation module configured to generate a target reconstructed image block based on the target luma reconstructed image block and the target chroma reconstructed image block, wherein the enhancement module, when performing chroma filter enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block, is specifically configured to perform adaptive up-sampling based on the initial chroma reconstructed image block and the initial luma reconstructed image block to obtain an up-sampled chroma reconstructed image block, the up-sampled chroma reconstructed image block having the same resolution as the initial luma reconstructed image block, and perform a filter operation on the up-sampled chroma reconstructed image block to obtain the target chroma reconstructed image block, wherein the filter operation comprises cross-channel filtering and / or non-linear chroma filtering.
8. An image coding apparatus characterized by comprising: The apparatus comprises: an encoding module configured to encode a coefficient hyperparameter feature corresponding to a current image block, determine a probability distribution parameter based on the coefficient hyperparameter feature, and encode an initial image feature corresponding to the current image block based on the probability distribution parameter; a determination module configured to determine an initial reconstructed image block corresponding to the current image block based on an initial reconstructed feature corresponding to the initial image feature, wherein the initial reconstructed image block comprises an initial luma reconstructed image block and an initial chroma reconstructed image block; an enhancement module configured to perform luma edge enhancement on the initial luma reconstructed image block to obtain a target luma reconstructed image block, and perform chroma filter enhancement on the initial chroma reconstructed image block to obtain a target chroma reconstructed image block; The generating module is configured to generate a target reconstructed image block based on the target luminance reconstructed image block and the target chrominance reconstructed image block; wherein when the enhancing module performs chrominance filter enhancement on the initial chrominance reconstructed image block to obtain the target chrominance reconstructed image block, the enhancing module is specifically configured to: perform adaptive up-sampling based on the initial chrominance reconstructed image block and the initial luminance reconstructed image block to obtain an up-sampled chrominance reconstructed image block, wherein the up-sampled chrominance reconstructed image block has the same resolution as the initial luminance reconstructed image block; and perform a filter operation on the up-sampled chrominance reconstructed image block to obtain the target chrominance reconstructed image block; wherein the filter operation includes cross-channel filtering and / or non-linear chrominance filtering.
9. An image decoding apparatus characterized by comprising: The image decoding device includes a processor and a machine readable storage medium, and the machine readable storage medium stores machine executable instructions which can be executed by the processor; The processor is configured to execute the machine executable instructions to implement the method in any one of claims 1-5.
10. An image coding apparatus characterized by comprising: The image encoding device includes a processor and a machine readable storage medium, and the machine readable storage medium stores machine executable instructions which can be executed by the processor; The processor is configured to execute the machine executable instructions to implement the method in claim 6.
11. A machine-readable storage medium, characterized in that, The machine readable storage medium stores a plurality of computer instructions, and the computer instructions are executed by the processor to implement the method in any one of claims 1-5, or the computer instructions are executed by the processor to implement the method in claim 6.
12. A computer program product, characterised in that, The computer program product includes a computer program, and the computer program is executed by the processor to implement the method in any one of claims 1-6.
Citation Information
Patent Citations
Point cloud decoding method, point cloud coding method, decoder and encoder
CN116601947A
Image compression method and apparatus
US20220286696A1