Encoding and decoding method and electronic device
By grouping channels and linearly weighting feature values, the method addresses inefficiencies in AI image compression by reducing computational power, enhancing encoding and decoding efficiency and accuracy.
Patent Information
- Application Number
- JP2025500168
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-07-07
- Filing Date
- 2023-05-22
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2043-05-22
AI Technical Summary
AI image compression algorithms using deep learning require significant computational resources due to the fusion of data from all channels and multiple convolutions, leading to inefficiencies in encoding and decoding processes.
The method involves grouping channels into groups and determining probability distribution parameters based on feature values and estimated information matrices of selected channels, reducing the need for context feature generation and linearly weighting feature values to calculate probability distribution parameters, thereby minimizing computational power.
This approach significantly reduces computational power required for encoding and decoding, improving efficiency and accuracy of probability distribution calculations.
Smart Images

Figure 0007819403000018 
Figure 0007819403000019 
Figure 0007819403000020
Abstract
Description
[Technical Field]
[0001] This application claims priority to Chinese Patent Application No. 202210796212.X, entitled "ENCODING AND DECODING METHOD AND ELECTRONIC DEVICE," filed with the State Intellectual Property Office of China on July 7, 2022, which is incorporated herein by reference in its entirety.
[0002] [Technical field] TECHNICAL FIELD Embodiments of the present application relate to the field of encoding and decoding, and in particular to encoding and decoding methods and electronic devices. [Background technology]
[0003] AI (Artificial Intelligence) image compression algorithms are implemented based on deep learning and have better compression effects than traditional image compression technologies (e.g., JPEG (Joint Photographic Experts Group) and BPG (Better Portable Graphics)). The process of compressing an image using an AI image compression algorithm involves predicting at least one probability distribution parameter corresponding to a point to be coded / decoded, determining a probability distribution based on the at least one probability distribution parameter, and then performing entropy coding on the point to be coded / decoded based on the probability distribution to obtain a bitstream.
[0004] In the prior art, generally, the feature values of the encoded / decoded points of all channels are first fused to calculate the context feature of the point to be encoded / decoded of the channel, and then multi-layer convolution is performed on the context feature and hyperprior feature of the point to be encoded / decoded to determine at least one probability distribution parameter corresponding to the point to be encoded / decoded. However, the fusion of the data of all channels and multiple convolutions requires a large amount of calculation, is time-consuming, and affects the encoding and decoding efficiency. Summary of the Invention
[0005] The present application provides an encoding and decoding method and an electronic device to solve the above technical problems. The encoding and decoding method can improve the encoding and decoding efficiency.
[0006] According to a first aspect, an embodiment of the present application provides an encoding method, the method comprising: first obtaining an image to be encoded; then generating feature maps of C channels based on the image to be encoded, the feature maps including feature values of a plurality of feature points, where C is a positive integer; generating an estimated information matrix of the C channels based on the feature maps of the C channels; then grouping the C channels into N channel groups, where N is an integer greater than 1, each channel group including k channels, the number of channels k included in any two channel groups being the same or different, where k is a positive integer; then grouping the N channel groups into N channel groups, where N is an integer greater than 1, each channel group including k channels, the number of channels k included in any two channel groups being the same or different, where k is a positive integer; For at least one target channel group among the groups, determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group, then determining a probability distribution corresponding to the feature point to be encoded based on the at least one probability distribution parameter corresponding to the feature point to be encoded, and then encoding the feature point to be encoded based on the probability distribution corresponding to the feature point to be encoded.
[0007] Compared with the prior art, which determines at least one probability distribution parameter based on the feature values of encoded feature points of all channels and the estimated information matrix of all channels, the present application only needs to determine at least one probability distribution parameter corresponding to a feature point to be encoded based on at least one feature value of at least one encoded feature point in the feature maps of some channels and the estimated information matrix of some channels, thereby reducing the computational power required for encoding and improving encoding efficiency.
[0008] Additionally, compared with the prior art, which needs to generate a context feature based on at least one feature value of at least one encoded feature point, and then determines at least one probability distribution parameter based on the context feature and an estimated information matrix, the present application does not need to generate a context feature, which further reduces the computational power for encoding and improves encoding efficiency.
[0009] Additionally, the correlation between the feature maps of the channels is low, storing a large amount of information during compression. Therefore, the present application can reduce the introduction of invalid information and improve the coding performance.
[0010] For example, the feature map for each channel
number
[0011] For example, the estimated information matrix for each channel
number
[0012] For example, the estimated information may be information used to estimate a probability distribution parameter, and may include features and / or probability distribution parameters, which is not a limitation in this application.
[0013] For example, k=1.
[0014] According to a first aspect, determining at least one probability distribution parameter corresponding to a feature point to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes determining at least one probability distribution parameter corresponding to a feature point to be coded corresponding to the target channel group by linearly weighting at least one feature value of at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group. Therefore, the amount of calculation required to determine the at least one probability distribution parameter can be reduced from tens of thousands of product-sum calculations to at least a few, or at most a few hundred, product-sum calculations, significantly reducing the amount of calculation.
[0015] According to the first aspect or any one of the aforementioned implementations of the first aspect, the estimated information matrix includes estimated information of a plurality of feature points. Determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group by linearly weighting at least one feature value of at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes: determining a first target region in the feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group based on the feature point to be encoded; and linearly weighting at least one feature value of at least one encoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group. Thus, the linear weighting is performed based only on the feature values of some of the encoded feature points in the feature map and the estimated information of feature points at some positions in the estimated information matrix. This reduces the computational power required to determine at least one probability distribution parameter, thereby improving coding efficiency.
[0016] For example, the at least one probability distribution parameter may include at least one first probability distribution parameter and / or at least one second probability distribution parameter.
[0017] For example, the first probability distribution parameter is the mean and the second probability distribution parameter is dispersion ( variance )
[0018] According to the first aspect or any one of the aforementioned implementations of the first aspect, when k is greater than 1, determining, based on the feature point to be coded, a first target region in a feature map corresponding to the target channel group and a second target region in an estimated information matrix corresponding to the target channel group includes: determining, as the first target region, a region of a predetermined size centered on the feature point to be coded in the feature map of the first channel and a region of a predetermined size centered on a feature point corresponding to a position of the feature point to be coded in the feature map of the second channel, where the first channel corresponds to the feature point to be coded and the second channel is a channel other than the first channel in the target channel group; and determining, as the second target region, a region of a predetermined size centered on a position to be coded in the estimated information matrix of the first channel and a region of a predetermined size centered on a position corresponding to the position to be coded in the estimated information matrix of the second channel, where the position to be coded is the position of the feature point to be coded. Therefore, the probability distribution parameter is calculated based on at least one feature value of at least one encoded feature point around the feature point to be encoded and on estimated information about the surrounding feature points, thereby making the calculated probability distribution parameter more accurate and further improving the encoding quality.
[0019] For example, the preset size may be the size of the linear weighting window, or may be ks1*ks2, where ks1 and ks2 are integers greater than 1, and ks1 and ks2 may be equal or unequal, and may be specifically set based on requirements, which is not limited in the present application.
[0020] According to the first aspect or any one of the above-described implementations of the first aspect, performing linear weighting on at least one feature value of at least one encoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group includes: determining a first target position based on a position other than the encoded position in the second target region, where the encoded position is at least one position of the at least one encoded feature point; and performing linear weighting on at least one feature value of the at least one encoded feature point in the first target region and estimated information of the feature point corresponding to the first target position to obtain at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group. Therefore, linear weighting is performed based only on estimated information of feature points at some positions in the second target region, thereby reducing the number of feature points for linear weighting. This reduces computational power and improves coding efficiency.
[0021] According to the first aspect or any one of the aforementioned implementations of the first aspect, when k is greater than 1, determining the first target position based on a position other than the encoded position in the second target region includes determining, as the first target position, the position to be encoded in the second target region and at least one other unencoded position in the estimated information matrix of the first channel, and a position corresponding to the position to be encoded in the second target region and at least one other unencoded position in the estimated information matrix of the second channel, where the first channel corresponds to the feature point to be encoded, and the second channel is a channel other than the first channel in the target channel group. When linear weighting is performed based only on some of the other unencoded positions, the number of feature points for linear weighting can be reduced, thereby reducing computational power and improving coding efficiency.
[0022] According to the first aspect or any one of the above-described implementations of the first aspect, when k is greater than 1, determining the first target position based on a position other than the encoded position in the second target region includes determining, as the first target position, a position to be encoded in the second target region in the estimated information matrix of the first channel and a position corresponding to the position to be encoded in the second target region in the estimated information matrix of the second channel, where the first channel corresponds to the feature point to be encoded and the second channel is a channel other than the first channel in the target channel group. This reduces the number of feature points for linear weighting. This further reduces the amount of calculation for the probability distribution parameters and improves coding efficiency.
[0023] According to the first aspect or any one of the above-mentioned implementations of the first aspect, at least one feature value of at least one encoded feature point in the first target region and a feature value of a feature point corresponding to the first target position are Estimated Information and obtaining at least one first probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group by linearly weighting the k feature values, the k feature values being a predetermined weight matrix corresponding to the first channel corresponding to the feature point to be encoded, the predetermined weight matrix including weight maps of the k channels, the size of the weight map being the same as the size of the first target region; ... first target region based on the weight maps of the k channels. Estimated Information and performing linear weighting on the weight matrices to obtain at least one first probability distribution parameter corresponding to the feature points to be encoded corresponding to the target channel group. Different channels correspond to different preset weight matrices. Therefore, different probability distribution parameters may be obtained for the feature points to be encoded of different channels.
[0024] According to the first aspect or any one of the aforementioned implementations of the first aspect, the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second feature matrix of the C channels, the first feature matrix includes first features of the plurality of feature points, the second feature matrix includes second features of the plurality of feature points, and the at least one probability distribution parameter includes at least one first probability distribution parameter and at least one second probability distribution parameter. Determining at least one probability distribution parameter corresponding to the feature points to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes determining at least one first probability distribution parameter corresponding to the feature points to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group, and determining at least one second probability distribution parameter corresponding to the feature points to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group. The first feature matrix for the C channels may be used to determine the first probability distribution parameter, and the second feature matrix for the C channels may be used to determine the second probability distribution parameter. Thus, both the first probability distribution parameter and the second probability distribution parameter can be corrected, so that the obtained probability distribution parameters are more accurate. This improves the accuracy of the determined probability distribution.
[0025] According to the first aspect or any one of the aforementioned implementations of the first aspect, the estimated information matrix for the C channels includes a first feature matrix for the C channels and a second probability distribution parameter matrix for the C channels, the first feature matrix including first features of the plurality of feature points, the second probability distribution parameter matrix including second probability distribution parameters of the plurality of feature points, and the at least one probability distribution parameter including at least one first probability distribution parameter. Determining the at least one probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group based on at least one feature value of the at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes determining the at least one first probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group based on at least one feature value of the at least one encoded feature point corresponding to the target channel group and the first feature matrix corresponding to the target channel group. Determining a probability distribution corresponding to the feature points to be encoded based on at least one probability distribution parameter corresponding to the feature points to be encoded includes determining at least one second probability distribution parameter corresponding to the feature points to be encoded corresponding to the target channel group based on a second probability distribution parameter matrix corresponding to the target channel group, and determining a probability distribution corresponding to the feature points to be encoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature points to be encoded. This allows the first probability distribution parameter to be corrected, making the obtained first probability distribution parameter more accurate. This improves the accuracy of the determined probability distribution.
[0026] According to the first aspect or any one of the aforementioned implementations of the first aspect, the estimated information matrix for the C channels includes a first probability distribution parameter matrix for the C channels and a second feature matrix for the C channels, the first probability distribution parameter matrix including first probability distribution parameters of the plurality of feature points, the second feature matrix including second features of the plurality of feature points, and the at least one probability distribution parameter including at least one second probability distribution parameter. Determining the at least one probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group based on at least one feature value of the at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes determining the at least one second probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and the second feature matrix corresponding to the target channel group. Determining a probability distribution corresponding to the feature points to be encoded based on at least one probability distribution parameter corresponding to the feature points to be encoded includes: determining at least one first probability distribution parameter corresponding to the feature points to be encoded corresponding to the target channel group based on at least one first probability distribution parameter matrix corresponding to the target channel group; and determining a probability distribution corresponding to the feature points to be encoded based on the at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature points to be encoded. Therefore, the second probability distribution parameter can be corrected, so that the obtained second probability distribution parameter is more accurate. This improves the accuracy of the determined probability distribution.
[0027] It should be understood that other estimated information matrices for the C channels may be further generated based on the feature maps of the C channels, and then at least one probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group may be determined based on at least one feature value of at least one encoded feature point corresponding to the target channel group, the estimated information matrix corresponding to the target channel group, and another estimated information matrix corresponding to the target channel group.
[0028] According to the first aspect or any one of the aforementioned implementations of the first aspect, determining at least one second probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group includes: determining a first target region in a feature map corresponding to the target channel group and a third target region in the second feature matrix corresponding to the target channel group based on the feature point to be encoded; determining at least one difference corresponding to the at least one encoded feature point in the first target region based on the at least one feature value of the at least one encoded feature point in the first target region and the at least one corresponding first probability distribution parameter; and linearly weighting the second feature of the at least one feature point in the third target region and the at least one difference corresponding to the at least one encoded feature point in the first target region to obtain the at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group. Therefore, the second probability distribution parameters can be calculated with high accuracy.
[0029] For example, the first probability distribution parameter is the mean and the second probability distribution parameter is the variance ( variance )
[0030] For example, the at least one first probability distribution parameter corresponding to the at least one encoded feature point may be obtained by first linearly weighting at least one feature value of the at least one encoded feature point in the first target region and a first feature of the feature point corresponding to the first target position.
[0031] For example, when the estimated information matrix includes a first probability distribution parameter matrix and a second feature matrix, at least one second probability distribution parameter may also be determined in this manner. At least one first probability distribution parameter corresponding to the encoded feature point may be determined based on the first probability distribution parameter matrix.
[0032] For example, a manner of determining at least one difference corresponding to at least one encoded feature point in the first target region based on at least one feature value of at least one encoded feature point in the first target region and at least one corresponding first probability distribution parameter may be to determine at least one difference between the at least one feature value of the at least one encoded feature point in the first target region and the at least one corresponding first probability distribution parameter as the at least one difference corresponding to the at least one encoded feature point in the first target region.
[0033] For example, a manner of determining at least one difference corresponding to at least one encoded feature point in the first target region based on at least one feature value of at least one encoded feature point in the first target region and at least one corresponding first probability distribution parameter may be to determine at least one absolute value of the at least one difference between the at least one feature value of the at least one encoded feature point in the first target region and the at least one corresponding first probability distribution parameter as the at least one difference corresponding to the at least one encoded feature point in the first target region.
[0034] For example, a method for determining the at least one difference corresponding to the at least one encoded feature point in the first target region based on the at least one feature value of the at least one encoded feature point in the first target region and the at least one corresponding first probability distribution parameter may be to determine the square of the difference between the at least one feature value of the at least one encoded feature point in the first target region and the at least one corresponding first probability distribution parameter as the at least one difference corresponding to the at least one encoded feature point in the first target region.
[0035] According to a second aspect, an embodiment of the present application provides a decoding method, the method includes: first receiving a bitstream, decoding the bitstream to obtain estimated information matrices of C channels, where C is a positive integer, and then decoding the bitstream to obtain feature values of feature points of the C channels based on the estimated information matrices of the C channels, to obtain feature maps of the C channels. For a feature point to be decoded, the method includes: determining a target channel group to which a channel corresponding to the feature point to be decoded belongs from N channel groups obtained by grouping C channels, each channel group including k channels, the number of channels k included in any two channel groups being the same or different, k being a positive integer, and N being an integer greater than 1; determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be decoded based on the at least one probability distribution parameter corresponding to the feature point to be decoded; decoding the feature point to be decoded based on the probability distribution corresponding to the feature point to be decoded to obtain a feature value; and performing reconstruction based on feature maps of the C channels, and outputting a reconstructed image.
[0036] Compared with the prior art, which determines a probability distribution parameter based on feature values of decoded feature points of all channels and estimated information matrices of all channels, the present application only needs to determine at least one probability distribution parameter corresponding to a feature point to be decoded based on at least one feature value of at least one decoded feature point in feature maps of some channels and estimated information matrices of some channels, thereby reducing the computational power required for decoding and improving decoding efficiency.
[0037] Additionally, compared with the prior art, which needs to generate a context feature based on at least one feature value of at least one decoded feature point, and then determines a probability distribution parameter based on the context feature and an estimated information matrix, the present application does not need to generate a context feature, which further reduces the computational power for decoding and improves decoding efficiency.
[0038] According to a second aspect, determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes linearly weighting the at least one feature value of the at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group to determine at least one probability distribution parameter corresponding to the feature point to be decoded.
[0039] According to the second aspect or any one of the aforementioned implementations of the second aspect, the estimated information matrix includes estimated information of a plurality of feature points. Determining at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting at least one feature value of at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes: determining, based on the feature point to be decoded, a first target region in the feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group; and linearly weighting at least one feature value of the at least one decoded feature point in the first target region and the estimated information of at least one feature point in the second target region to obtain at least one probability distribution parameter corresponding to the feature point to be decoded.
[0040] According to the second aspect or any one of the aforementioned implementations of the second aspect, when k is greater than 1, determining, based on the feature points to be decoded, a first target region in a feature map corresponding to a target channel group and a second target region in an estimated information matrix corresponding to the target channel group, includes: determining, as first target regions, a region of a predetermined size centered on a feature point to be decoded in a feature map of a first channel and a region of a predetermined size centered on a feature point corresponding to the position of the feature point to be decoded in a feature map of a second channel, wherein the first channel corresponds to the feature point to be decoded and the second channel is a channel other than the first channel in the target channel group; and determining, as second target regions, a region of a predetermined size centered on a position to be decoded in an estimated information matrix of the first channel and a region of a predetermined size centered on a position corresponding to the position to be decoded in the estimated information matrix of the second channel, wherein the position to be decoded is the position of the feature point to be decoded.
[0041] According to the second aspect or any one of the aforementioned implementations of the second aspect, obtaining at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting at least one feature value of at least one decoded feature point in the first target area and estimated information of at least one feature point in the second target area includes: determining a first target position based on a position in the second target area other than the decoded position, where the decoded position is at least one position of the at least one decoded feature point; and obtaining at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting at least one feature value of the at least one decoded feature point in the first target area and estimated information of the feature point corresponding to the first target position.
[0042] According to the second aspect or any one of the aforementioned implementations of the second aspect, when k is greater than 1, determining a first target position based on a position other than the decoded position in the second target area includes determining, as the first target position, the position to be decoded and at least one other undecoded position in the second target area in the estimated information matrix of the first channel, and a position corresponding to the position to be decoded and at least one other undecoded position in the second target area in the estimated information matrix of the second channel, wherein the first channel corresponds to the feature point to be decoded, and the second channel is a channel other than the first channel in the target channel group.
[0043] According to the second aspect or any one of the aforementioned implementations of the second aspect, when k is greater than 1, the step of determining the first target position based on a position other than the decoded position in the second target area includes determining, as the first target position, a position to be decoded in the second target area in the estimated information matrix of the first channel and a position corresponding to the position to be decoded in the second target area in the estimated information matrix of the second channel, wherein the first channel corresponds to the feature point to be decoded and the second channel is a channel other than the first channel in the target channel group.
[0044] According to the second aspect or any one of the aforementioned implementations of the second aspect, obtaining at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting at least one feature value of at least one decoded feature point in the first target region and the estimation information of the feature point corresponding to the first target region includes: obtaining a preset weight matrix corresponding to a first channel corresponding to the feature point to be decoded, where the weight matrix includes weight maps of the k channels; and obtaining at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting the at least one feature value of the at least one decoded feature point in the first target region and the estimation information of the feature point corresponding to the first target position, based on the weight maps of the k channels.
[0045] According to the second aspect or any one of the aforementioned implementations of the second aspect, the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second feature matrix of the C channels, the first feature matrix includes first features of the plurality of feature points, the second feature matrix includes second features of the plurality of feature points, and the at least one probability distribution parameter includes at least one first probability distribution parameter and at least one second probability distribution parameter. Determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes: determining at least one first probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group; and determining at least one second probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
[0046] According to the second aspect or any one of the aforementioned implementations of the second aspect, the estimated information matrix for the C channels includes a first feature matrix for the C channels and a second probability distribution parameter matrix for the C channels, the first feature matrix including first features of the plurality of feature points, the second probability distribution parameter matrix including second probability distribution parameters of the plurality of feature points, and the at least one probability distribution parameter including at least one first probability distribution parameter. Determining the at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes determining the at least one first probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and the first feature matrix corresponding to the target channel group. Determining a probability distribution corresponding to the feature point to be decoded based on at least one probability distribution parameter corresponding to the feature point to be decoded includes: determining at least one second probability distribution parameter of the feature point to be decoded based on at least one second probability distribution parameter matrix corresponding to the target channel group; and determining a probability distribution corresponding to the feature point to be decoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0047] According to the second aspect or any one of the aforementioned implementations of the second aspect, the estimated information matrix for the C channels includes a first probability distribution parameter matrix for the C channels and a second feature matrix for the C channels, the first probability distribution parameter matrix including first probability distribution parameters of the plurality of feature points, the second feature matrix including second features of the plurality of feature points, and the at least one probability distribution parameter including at least one second probability distribution parameter. Determining the at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes determining the at least one second probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and the second feature matrix corresponding to the target channel group. Determining a probability distribution corresponding to the feature point to be decoded based on at least one probability distribution parameter corresponding to the feature point to be decoded includes: determining at least one first probability distribution parameter corresponding to the feature point to be decoded based on a first probability distribution parameter matrix corresponding to the target channel group; and determining a probability distribution corresponding to the feature point to be decoded based on the at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0048] According to the second aspect or any one of the aforementioned implementations of the second aspect, determining at least one second probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group includes: determining, based on the feature point to be decoded, a first target region in the feature map corresponding to the target channel group and a third target region in the second feature matrix corresponding to the target channel group; determining at least one difference corresponding to the at least one decoded feature point in the first target region based on the at least one feature value of the at least one decoded feature point in the first target region and the at least one corresponding first probability distribution parameter; and linearly weighting the second feature of the at least one feature point in the third target region and the at least one difference corresponding to the at least one decoded feature point in the first target region to obtain the at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0049] The second aspect and any one of the implementations of the second aspect correspond to the first aspect and any one of the implementations of the first aspect. For technical effects corresponding to the second aspect or any one of the implementations of the second aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. Details will not be described again here.
[0050] According to a third aspect, an embodiment of the present application provides an encoder configured to perform the encoding method according to any one of the first aspect and implementations of the first aspect.
[0051] The third aspect and any one of the implementations of the third aspect correspond to the first aspect and any one of the implementations of the first aspect. For technical effects corresponding to the third aspect or any one of the implementations of the third aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. Details will not be described again here.
[0052] According to a fourth aspect, an embodiment of the present application provides a decoder configured to perform the decoding method according to any one of the second aspect and the implementations of the second aspect.
[0053] The fourth aspect and any one of the implementations of the fourth aspect correspond to the second aspect and any one of the implementations of the second aspect. For technical effects corresponding to the fourth aspect or any one of the implementations of the fourth aspect, please refer to the technical effects corresponding to the second aspect or any one of the implementations of the second aspect. Details will not be described again here.
[0054] According to a fifth aspect, an embodiment of the present application provides an electronic device including a memory and a processor, the memory being coupled to the processor, the memory storing program instructions, which, when executed by the processor, enable the electronic device to perform the encoding method of the first aspect or any one of the possible implementations of the first aspect.
[0055] The fifth aspect and any one of the implementations of the fifth aspect correspond to the first aspect and any one of the implementations of the first aspect. For technical effects corresponding to the fifth aspect or any one of the implementations of the fifth aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. Details will not be described again here.
[0056] According to a sixth aspect, an embodiment of the present application provides an electronic device including a memory and a processor. The memory is coupled to the processor. The memory stores program instructions. When the program instructions are executed by the processor, the electronic device is capable of performing the decoding method of the second aspect or any one of the possible implementations of the second aspect.
[0057] The sixth aspect and any one of the implementations of the sixth aspect correspond to the second aspect and any one of the implementations of the second aspect. For technical effects corresponding to the sixth aspect or any one of the implementations of the sixth aspect, please refer to the technical effects corresponding to the second aspect or any one of the implementations of the second aspect. Details will not be described again here.
[0058] According to a seventh aspect, an embodiment of the present application provides a chip including one or more interface circuits and one or more processors. The interface circuits are configured to receive signals from a memory of an electronic device and transmit the signals to the processor. The signals include computer instructions stored in the memory. When the processor executes the computer instructions, the electronic device is enabled to perform the encoding method of the first aspect or any one of the possible implementations of the first aspect.
[0059] For the seventh aspect and various implementations of the seventh aspect, please refer to the description of the corresponding effects of the first aspect and various implementations of the first aspect. For the technical effects corresponding to the seventh aspect or any one of the implementations of the seventh aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. The details will not be described again here.
[0060] According to an eighth aspect, an embodiment of the present application provides a chip including one or more interface circuits and one or more processors. The interface circuits are configured to receive signals from a memory of an electronic device and transmit the signals to the processor. The signals include computer instructions stored in the memory. When the processor executes the computer instructions, the electronic device is capable of performing the decoding method of the second aspect or any one of the possible implementations of the second aspect.
[0061] The eighth aspect and any one of the implementations of the eighth aspect correspond to the second aspect and any one of the implementations of the second aspect. For technical effects corresponding to the eighth aspect or any one of the implementations of the eighth aspect, please refer to the technical effects corresponding to the second aspect or any one of the implementations of the second aspect. Details will not be described again here.
[0062] According to a ninth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program product, which, when executed on a computer or processor, enables the computer or processor to perform the encoding method of the first aspect or any one of the possible implementations of the first aspect.
[0063] The ninth aspect and any one of the implementations of the ninth aspect correspond to the first aspect and any one of the implementations of the first aspect. For technical effects corresponding to the ninth aspect or any one of the implementations of the ninth aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. Details will not be described again here.
[0064] According to a tenth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program product, which, when executed on a computer or a processor, enables the computer or the processor to perform the decoding method of the second aspect or any one of possible implementations of the second aspect.
[0065] The tenth aspect and any one of the implementations of the tenth aspect correspond to the second aspect and any one of the implementations of the second aspect. For technical effects corresponding to the tenth aspect or any one of the implementations of the tenth aspect, please refer to the technical effects corresponding to the second aspect or any one of the implementations of the second aspect. Details will not be described again here.
[0066] According to an eleventh aspect, an embodiment of the present application provides a computer program product, the computer program product including a software program, which, when executed by a computer or a processor, enables the computer or the processor to perform the encoding method of the first aspect or any one of possible implementations of the first aspect.
[0067] The eleventh aspect and any one of the implementations of the eleventh aspect correspond to the first aspect and any one of the implementations of the first aspect. For technical effects corresponding to the eleventh aspect or any one of the implementations of the eleventh aspect, please refer to the technical effects corresponding to the first aspect or any one of the implementations of the first aspect. Details will not be described again here.
[0068] According to a twelfth aspect, an embodiment of the present application provides a computer program product, the computer program product including a software program, which, when executed by a computer or a processor, enables the computer or the processor to perform the decoding method of the second aspect or any one of possible implementations of the second aspect.
[0069] The twelfth aspect and any one of the implementations of the twelfth aspect correspond to the second aspect and any one of the implementations of the second aspect. For technical effects corresponding to the twelfth aspect or any one of the implementations of the twelfth aspect, please refer to the technical effects corresponding to the second aspect or any one of the implementations of the second aspect. Details will not be described again here.
[0070] According to a thirteenth aspect, an embodiment of the present application provides a bitstream generation method used to generate a bitstream according to the encoding method in any one of the first aspect and implementations of the first aspect.
[0071] According to a fourteenth aspect, an embodiment of the present application provides a bitstream storage method used to store a bitstream generated by the bitstream generation method in any one of the thirteenth aspect and implementations of the thirteenth aspect.
[0072] According to a fifteenth aspect, an embodiment of the present application provides a bitstream transmission method used to transmit a bitstream generated by the bitstream generation method in any one of the thirteenth aspect and implementations of the thirteenth aspect. [Brief explanation of the drawings]
[0073] [Figure 1] This is a diagram of an example of the structure of the system framework. [Figure 2] FIG. 1 is a diagram of an example of an encoding process. [Figure 3a] This is an example diagram of a channel group. [Figure 3b] This is an example diagram of a channel group. [Figure 3c] FIG. 10 is a diagram illustrating an example of an encoding order. [Figure 4A] FIG. 1 is a diagram of an example of a decoding process. [Figure 4B] FIG. 1 is a diagram of an example of a decoding process. [Figure 5] FIG. 1 is a diagram of an example end-to-end image compression framework. [Figure 6] FIG. 1 is a diagram of an example of an encoding process. [Figure 7] FIG. 1 is a diagram of an example of a decoding process. [Figure 8] FIG. 1 is a diagram of an example of an encoding process. [Figure 9] FIG. 1 is a diagram of an example of a decoding process. [Figure 10] FIG. 1 is a diagram of an example of an encoding process. [Figure 11] FIG. 1 is a diagram of an example of a decoding process. [Figure 12a] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 12b] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 12c] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 12d] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 13a] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 13b] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 14a] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 14b] FIG. 1 illustrates an example process for determining probability distribution parameters. [Figure 15] FIG. 1 is a diagram illustrating an example of the structure of the device. DETAILED DESCRIPTION OF THE INVENTION
[0074] Hereinafter, the technical solutions in the embodiments of the present application will be clearly described with reference to the accompanying drawings in the embodiments of the present application. It is clear that the described embodiments are only a part, not all, of the embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0075] The term "and / or" in this specification describes only the association relationship for the associated objects and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: only A exists, both A and B exist, and only B exists.
[0076] In the specification of this application, the terms "first," "second," "third," "fourth," etc. are intended to distinguish between different objects and do not indicate a particular order of the objects. For example, "first target object" and "second target object" are used to distinguish between different target objects, but are not used to describe a particular order of the target objects.
[0077] In the embodiments of the present application, words such as "example," "for example," etc. are used to denote providing an example, illustration, or explanation. In the embodiments of the present application, any embodiment or design scheme described as an "example" or "for example" should not be described as preferred or having more advantages than another embodiment or design scheme. Rather, the use of words such as "example," "for example," etc. is intended to present the related concept in a particular manner.
[0078] In the description of embodiments of this application, unless otherwise specified, "plurality" means two or more. For example, a plurality of processing units is two or more processing units, and a plurality of systems is two or more systems.
[0079] Figure 1 is a diagram of an example system framework configuration. It should be understood that the system shown in Figure 1 is merely an example, and that systems herein may have more or fewer components than those shown, may combine two or more components, or may have different component configurations. The various components shown in Figure 1 may be implemented in hardware, including one or more signal processing and / or application specific integrated circuits, software, or a combination of hardware and software.
[0080] See Fig. 1. For example, an image encoding process may be as follows: an image to be encoded is input to an AI encoding unit, and processed by the AI encoding unit to output feature values of feature points to be encoded and corresponding probability distributions. Then, the feature values of feature points to be encoded and the corresponding probability distributions are input to an entropy encoding unit. The entropy encoding unit performs entropy encoding on the feature values of feature points to be encoded based on the probability distributions corresponding to the feature points to be encoded, and outputs a bitstream.
[0081] Continuing to refer to FIG. 1 , for example, an image decoding process may be as follows: After obtaining a bitstream, the entropy decoding unit may perform entropy decoding on a feature point to be decoded based on a probability distribution that corresponds to the feature point to be decoded and that is predicted by the AI decoding unit based on at least one feature value of the at least one decoded feature point, and output at least one feature value of the at least one decoded feature point to the AI decoding unit. After entropy decoding all feature points to be decoded, the AI decoding unit performs reconstruction based on at least one feature value corresponding to the at least one decoded feature point, and outputs a reconstructed image.
[0082] For example, entropy coding is a coding method that does not lose information in the coding process according to the entropy principle. Entropy coding may include multiple types, such as Shannon coding, Huffman coding, and arithmetic coding, which are not limited in this application.
[0083] For example, the image to be coded input to the AI coding unit may be a raw (unprocessed) image, an RGB (Red Green Blue) image, or a YUV image (Y represents luminance, U and V represent chrominance, Chroma, respectively). This is not a limitation in the present application.
[0084] For example, the compression process and the decompression process may be performed in the same electronic device or in different electronic devices, which is not a limitation in this application.
[0085] For example, the present application may be applied to the compression and decompression of a single image, or to the compression and decompression of multiple frame images in a video sequence, but this is not a limitation of the present application.
[0086] For example, the present application may be applied to multiple scenarios, such as a Huawei image (or video) cloud storage (or transmission) scenario, a video surveillance scenario, or a live broadcast scenario, which is not limited in the present application.
[0087] FIG. 2 is a diagram of an example encoding process.
[0088] S201: An image to be encoded is obtained.
[0089] For example, the encoder side may obtain a target image to be coded, and then encode the target image with reference to S202 to S206 to obtain a corresponding bitstream.
[0090] S202: Generate a feature map of C channels based on the encoding target image, where the feature map includes feature values of a plurality of feature points.
[0091] For example, a spatial transformation may be performed on the image to be encoded to reduce temporal and spatial redundancy in the image to be encoded, and feature maps of C channels (C is a positive integer) may be obtained to transform the image to be encoded into another space.
[0092] For example, the feature map for each channel
number
[0093] For example, Figure 2 shows the feature maps of C channels, including the feature map of channel 1, the feature map of channel 2, ..., the feature map of channel k, the feature map of channel c1, ..., the feature map of channel ck, ..., the feature map of channel C-1, and the feature map of channel C. Both c1 and ck are positive integers smaller than C.
[0094] S203: Generate estimated information matrices for the C channels based on the feature maps of the C channels.
[0095] For example, after the feature maps of the C channels are obtained, feature extraction may be performed on the feature maps of the C channels to obtain estimated information matrices for the C channels. For example, the estimated information matrices for each channel may be
number
[0096] For example, the estimated information may be information used to estimate a probability distribution parameter, and may include features and / or probability distribution parameters, which is not a limitation in this application.
[0097] For example, Figure 2 shows the estimated information matrix of channel 1, the estimated information matrix of channel 2,..., the estimated information matrix of channel k, the estimated information matrix of channel c1,..., the estimated information matrix of channel ck,..., the estimated information matrix of channel C-1, and the estimated information matrix of channel C, out of the estimated information matrices of C channels.
[0098] S204: Group the C channels into N channel groups.
[0099] For example, C channels may be grouped into at least N channel groups (N is an integer greater than 1), and each channel group may contain at least one channel. The number of channels included in one channel group is represented by k (k is a positive integer less than C), and k in all channel groups may be the same or different. This is not a limitation in the present application.
[0100] Figure 3a shows an example of a channel group. In the embodiment of Figure 3a, all channel groups contain the same number of channels, k.
[0101] See Figure 3a. For example, k=2. Specifically, two of the C channels are used to form one channel group. Therefore, the number of channel groups obtained is N=C / 2. Assume that C=192 and k=2. In this case, N=96. In other words, two of the 192 channels are used to form one channel group, and 96 channel groups can be obtained.
[0102] Figure 3b shows an example of a channel group. In the embodiment of Figure 3b, the number of channels k included in each channel group is different.
[0103] See Figure 3b. For example, channel 1 of the C channels may be used to form channel group 1, channels 2 and 3 of the C channels may be used to form channel group 2, channels 4, 5, and 6 of the C channels may be used to form channel group 3, ..., channel C-1 and channel C of the C channels may be used to form channel group N.
[0104] It should be noted that Figures 3a and 3b are merely examples of the present application, and k may be set to other values as needed, which is not a limitation in the present application.
[0105] It should be noted that different channel groups may contain the same channels. For example, channel group 1 may contain channel 1 and channel 2, and channel group 2 may contain channel 2 and channel 3. This is not a limitation in the present application.
[0106] S205: For at least one target channel group among the N channel groups, determine at least one probability distribution parameter corresponding to the feature point to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group.
[0107] For example, all of the N channel groups may be sequentially determined as target channel groups, and then, for each target channel group, at least one probability distribution parameter corresponding to a feature point to be coded corresponding to the target channel group may be determined based on at least one feature value of at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group. In this application, one target channel group among the N channel groups is used as an example to describe the process of determining a probability distribution parameter corresponding to one feature point to be coded in the feature map of channel c in the target channel group.
[0108] FIG. 3c is a diagram of an example of the encoding order.
[0109] Figure 3c (1) shows a feature map for one channel. The size of the feature map is 10*10, and each block represents one feature point. For example, the encoder may sequentially encode all feature points in the feature map in the order shown in Figure 3c (1). Specifically, it encodes all feature points sequentially from left to right starting from the first row. After encoding all feature points in the first row, it starts encoding all feature points in the second row from left to right, and so on until all feature points in the feature map are encoded.
[0110] (2) in Figure 3c shows a feature map of one channel. The size of the feature map is 10*10, and each block represents one feature point. The white blocks represent uncoded feature points, and the black blocks represent coded feature points (the encoder first divides the feature map of each channel based on a black and white checkerboard, and then encodes the feature points corresponding to the black blocks, and then encodes the feature points corresponding to the white blocks). In a possible implementation, in the process of encoding the feature points corresponding to the black blocks, corresponding probability distribution parameters are determined based on the estimated information matrix, and in the process of encoding the feature points corresponding to the white blocks, corresponding probability distribution parameters are determined based on S204 of the present application. In a possible implementation, in both the process of encoding the feature points corresponding to the black blocks and the process of encoding the feature points corresponding to the white blocks, corresponding probability distribution parameters are determined based on S204 of the present application.
[0111] For example, for feature points corresponding to white blocks, the encoding side may sequentially encode feature points corresponding to all white blocks in the feature map in the order of (2) in Figure 3c. Specifically, starting from the first row, the encoding side sequentially encodes feature points corresponding to all white blocks from left to right. After encoding feature points corresponding to all white blocks in the first row, the encoding side starts encoding feature points corresponding to all white blocks in the second row from left to right, and so on until feature points corresponding to all white blocks in the feature map are encoded.
[0112] For example, when the encoder determines the corresponding probability distribution parameters according to S204 of the present application in the process of encoding feature points corresponding to black blocks, the encoding order of feature points corresponding to black blocks will be the same as the encoding order of feature points corresponding to white blocks, and the details will not be described again here.
[0113] Note that (2) in Figure 3c is just an example, and alternatively, the positions of the black blocks and the white blocks in the black and white checkerboard may be interchanged, which is not a limitation in the present application.
[0114] For example, in the encoding order of FIG. 3c, a feature point to be encoded may be selected from the unencoded feature points in the feature map of channel c. Then, at least one encoded feature point in the feature map corresponding to the target channel group may be determined, and then at least one probability distribution parameter corresponding to one feature point to be encoded in the feature map of channel c in the target channel group may be determined by performing a weighted calculation on at least one feature value of the at least one encoded feature point in the feature map corresponding to the target channel group and an estimated information matrix corresponding to the target channel group. The feature map corresponding to the target channel group may be the feature map of the k channels included in the target channel group. The estimated information matrix corresponding to the target channel group may be the estimated information matrix of the k channels included in the target channel group. Therefore, at least one probability distribution parameter corresponding to the feature point to be encoded in the feature map of channel c may be determined. Then, the unencoded feature points in the feature map of channel c are sequentially determined as feature points to be encoded, and at least one probability distribution parameter corresponding to each feature point to be encoded in the feature map of channel c is determined.
[0115] Thus, at least one probability distribution parameter may be determined corresponding to each encoding target feature point in the feature map of each channel in the target channel group.
[0116] In the above-described method, probability distribution parameters corresponding to feature points to be coded corresponding to all target channel groups may be determined, for example, at least one probability distribution parameter corresponding to feature points to be coded corresponding to channel group 1, at least one probability distribution parameter corresponding to feature points to be coded corresponding to channel group 2, ..., at least one probability distribution parameter corresponding to feature points to be coded corresponding to channel group N.
[0117] S206: determining a probability distribution corresponding to the feature point to be encoded based on at least one probability distribution parameter corresponding to the feature point to be encoded;
[0118] For example, after determining at least one probability distribution parameter corresponding to the feature points to be encoded, a probability distribution corresponding to each feature point to be encoded may be determined for each feature point to be encoded based on the at least one probability distribution parameter corresponding to each feature point to be encoded.
[0119] For example, the at least one probability distribution parameter is a Gaussian distribution parameter, and the determined probability distribution corresponding to the feature point to be encoded is a Gaussian probability distribution.
[0120] S207: The feature points to be encoded are encoded based on the probability distribution corresponding to the feature points to be encoded to obtain a bitstream.
[0121] For example, for each feature point to be encoded, the feature value of the feature point to be encoded may be encoded based on a probability distribution corresponding to the feature point to be encoded, or a bitstream of the image to be encoded may be obtained after the feature values of all feature points in the feature maps of the C channels are encoded.
[0122] For example, the encoding side may locally store the bitstream of the image to be encoded, or may transmit the bitstream of the image to be encoded to the decoder side, which is not limited in this application.
[0123] For example, the encoder side may generate prior information for the C channels based on the feature maps of the C channels, and then perform reconstruction based on the prior information for the C channels to obtain estimated information matrices for the C channels. For example, the encoder side may alternatively encode the prior information for the C channels to obtain a bitstream of the prior information for the C channels, and then store the bitstream of the prior information or transmit the bitstream of the prior information to the decoder side, so that subsequently, when decoding the bitstream of the image to be encoded, the encoder side may determine an estimated information matrix based on the prior information, and then determine at least one probability distribution parameter corresponding to the feature point to be decoded based on the estimated information matrix.
[0124] Compared with the prior art, which determines a probability distribution parameter based on the feature values of encoded feature points of all channels and the estimated information matrix of all channels, the present application only needs to determine at least one probability distribution parameter corresponding to a feature point to be encoded based on at least one feature value of at least one encoded feature point in the feature maps of some channels and the estimated information matrix of some channels, thereby reducing the computational power required for encoding and improving the encoding efficiency.
[0125] Additionally, compared with the prior art, which needs to generate a context feature based on at least one feature value of at least one encoded feature point, and then determines at least a probability distribution parameter based on the context feature and an estimated information matrix, the present application does not need to generate a context feature, which further reduces the computational power for encoding and improves encoding efficiency.
[0126] Additionally, the correlation between the feature maps of the channels is low, storing a large amount of information during compression. Therefore, the present application can reduce the introduction of invalid information and improve the coding performance.
[0127] 4A and 4B are diagrams of an example of a decoding process.
[0128] S401: Receive a bitstream.
[0129] For example, the bitstream received at the decoder side may include a bitstream of an image and a bitstream that is a priori information of C channels and corresponds to the image.
[0130] For example, a bitstream of an image may include encoded data of feature values of feature points of C channels, and a bitstream of a priori information of C channels may include encoded data of a priori information of feature points of C channels.
[0131] S402: Decode the bitstream to obtain C channel estimation information matrices.
[0132] For example, after receiving a bit stream, the bit stream is analyzed to obtain the coded data of the prior information of the feature points of the C channels, and then the coded data of the prior information of the feature points of the C channels is process , and obtain the estimated information matrices of the C channels.
[0133] For example, Figures 4A and 4B show the estimated information matrices of C channels, including the estimated information matrix of channel 1, the estimated information matrix of channel 2,..., the estimated information matrix of channel c1, the estimated information matrix of channel c2,..., the estimated information matrix of channel ck,..., the estimated information matrix of channel C-1, and the estimated information matrix of channel C. Both c1 and ck are positive integers smaller than C.
[0134] S403: Decode the bitstream to obtain feature values of feature points of the C channels based on the estimated information matrices of the C channels, and obtain feature maps of the C channels.
[0135] For example, in the process of parsing the bitstream, the bitstream may be further parsed to obtain coded data of feature values of feature points of C channels, and then the coded data of feature values of feature points of C channels may be decoded based on the estimated information matrices of the C channels to obtain feature values of feature points of C channels, i.e., feature maps of C channels. In this application, an example of decoding one feature point to be decoded of one channel is used for description.
[0136] for example, Decryption The decoding order at the decoder side is the same as the encoding order at the encoder side. For details, please refer to the description in the embodiment of Fig. 3c. The details will not be described again here.
[0137] For example, it may be determined that a feature point to be decoded is selected from undecoded feature points corresponding to a channel in a decoding order corresponding to the encoding order in Fig. 3c. Then, the feature value of the feature point to be decoded may be acquired by decoding the feature point with reference to the following steps S4031 to S4034.
[0138] S4031: From the N channel groups obtained by grouping the C channels, a target channel group to which a channel corresponding to a feature point to be decoded belongs is determined.
[0139] For example, the decoder side may alternatively group the C channels into N channel groups, each of which contains k channels. The details are similar to the above-mentioned method for grouping channel groups at the encoder side. The details will not be described again here.
[0140] For example, a target channel group to which the channel corresponding to the feature point to be decoded belongs may be determined. The target channel group to which the channel corresponding to the feature point to be decoded belongs may include k channels, i.e., channel c1, channel c2, ..., channel ck.
[0141] S4032: Determine at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group.
[0142] At least one probability distribution parameter corresponding to the feature point to be decoded is determined by performing a weighting calculation based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group. For example, the at least one decoded feature point corresponding to the target channel group may be at least one decoded feature point corresponding to k channels included in the target channel group.
[0143] S4033: Determine a probability distribution corresponding to the feature point to be decoded based on at least one probability distribution parameter corresponding to the feature point to be decoded.
[0144] For example, after determining at least one probability distribution parameter corresponding to the feature point to be decoded, a probability distribution corresponding to the feature point to be decoded may be determined based on the at least one probability distribution parameter corresponding to the feature point to be decoded.
[0145] For example, the at least one probability distribution parameter is a Gaussian distribution parameter, and the determined probability distribution corresponding to the feature point to be decoded is a Gaussian probability distribution.
[0146] S4034: The feature point to be decoded is decoded based on the probability distribution corresponding to the feature point to be decoded, and a feature value is obtained.
[0147] For example, the feature value of the feature point to be decoded may be obtained by decoding the encoded data of the feature value of the feature point to be decoded based on the probability distribution corresponding to the feature point to be decoded. In this case, the feature point to be decoded becomes a decoded feature point.
[0148] Therefore, the feature points to be decoded for the channels in all the target channel groups may be decoded in the above-described manner.
[0149] S404: Reconstruction is performed based on the feature maps of the C channels, and a reconstructed image is output.
[0150] For example, after obtaining feature maps of C channels, image reconstruction may be performed based on the feature maps of the C channels to obtain a reconstructed image.
[0151] Compared with the prior art, which determines at least one probability distribution parameter based on feature values of decoded feature points of all channels and estimated information matrices of all channels, the present application only needs to determine at least one probability distribution parameter corresponding to a feature point to be decoded based on at least one feature value of at least one decoded feature point in feature maps of some channels and estimated information matrices of some channels, thereby reducing the computational power required for decoding and improving decoding efficiency.
[0152] Additionally, compared with the prior art, which needs to generate a context feature based on at least one feature value of at least one decoded feature point, and then determines at least one probability distribution parameter based on the context feature and an estimated information matrix, the present application does not need to generate a context feature, which further reduces the computational power for decoding and improves decoding efficiency.
[0153] FIG. 5 is a diagram of an example end-to-end image compression framework.
[0154] See Figure 5. For example, the encoder network, the quantization unit D1, the aggregation unit, the hyper encoder network, the quantization unit D2, the hyper decoder network, the probability estimation unit V1, and the probability estimation unit V2 belong to the AI encoding unit in Figure 1. For example, the decoder network, the aggregation unit, the hyper decoder network, the probability estimation unit V1, and the probability estimation unit V2 belong to the AI decoding unit in Figure 1.
[0155] For example, entropy coding unit A1 and entropy coding unit B1 belong to the entropy coding units in FIG.
[0156] For example, the entropy decoding unit A2 and the entropy decoding unit B2 belong to the entropy decoding unit in FIG.
[0157] For example, the AI encoding unit and the AI decoding unit may be trained jointly, with each network and unit in the AI encoding unit and the AI decoding unit learning corresponding parameters. For example, the aggregation unit, hyper-decoder network, probability estimation unit V1, and probability estimation unit V2 in the AI encoding unit may be shared with the aggregation unit, hyper-decoder network, probability estimation unit V1, and probability estimation unit V2 in the AI decoding unit.
[0158] For example, the encoder network may be configured to perform a spatial transformation on the image to be encoded to convert the image to another space, e.g., the encoder network may be a convolutional neural network.
[0159] For example, the hyper-encoder network may be configured to extract features, e.g., the hyper-encoder network may be a convolutional neural network.
[0160] For example, the quantization units (including the quantization unit D1 and the quantization unit D2) may be configured to perform the quantization process.
[0161] For example, the aggregation unit may be configured to determine at least one probability distribution parameter of the feature points to be coded / decoded.
[0162] For example, the probability estimation units (including the probability estimation unit V1 and the probability estimation unit V2) may be configured to estimate probabilities and output a probability distribution. Optionally, the probability estimation unit V1 may be a discrete probability estimation unit such as a multiplicative model, and the probability estimation unit V2 may be a discrete probability estimation unit such as an entropy estimation model.
[0163] For example, the entropy coding unit A1 may be configured to perform coding based on the probability distribution PA1 determined by the probability estimation unit V1 to reduce statistical redundancy of the output features.
[0164] For example, the entropy coding unit B1 may be configured to perform coding based on the probability distribution PB1 determined by the probability estimation unit V2 to reduce statistical redundancy of the output features.
[0165] For example, the entropy decoding unit A2 may be configured to perform decoding based on the probability distribution PA2 determined by the probability estimation unit V1.
[0166] For example, the entropy decoding unit B2 may be configured to perform decoding based on the probability distribution PB2 determined by the probability estimation unit V2.
[0167] For example, the decoder network may be configured to perform an inverse spatial transform on the information obtained through entropy decoding and output a reconstructed image, e.g., the decoder network may be a convolutional neural network.
[0168] For example, the hyper-decoder network can use the features extracted by the hyper-encoder network to process and may be configured to output an estimated information matrix. For example, the hyper-decoder network may be a convolutional neural network.
[0169] Continuing with reference to Figure 5, the encoding process may be as follows.
[0170] For example, an image to be encoded is input to an encoder network, and the encoder network transforms the image to be encoded into another space and outputs a feature map matrix Y1. The feature map matrix Y1 is input to a quantization unit D1, and the quantization unit D1 performs a quantization process on the feature map matrix Y1 to output a feature map matrix Y2 (the feature map matrix Y2 includes the feature maps of the C channels in the above embodiment), and the feature map Y2
number
[0171] For example, the quantization unit D1 may perform a quantization process on the feature values of each feature point in the feature map of each channel in the feature map matrix Y1 based on a preset quantization step to obtain the feature map matrix Y2.
[0172] For example, after obtaining the feature map matrix Y2, in one embodiment, the feature map matrix Y2 is input to a hyper-encoder network, which performs feature extraction on the feature map matrix Y2 to obtain a feature map matrix Z1, and inputs the feature map matrix Z1 to a quantization unit D2, which performs quantization on the feature map matrix Z1 and outputs the feature map matrix Z2.
[0173] In a possible implementation, the feature map matrix Z2 is input to a probability estimation unit V2, which processes the feature map matrix Z2 and outputs a probability distribution PB1 for each feature point in the feature map matrix Z2 to an entropy encoding unit B1. The feature map matrix Z2 is also input to the entropy encoding unit B1. The entropy encoding unit B1 encodes the feature map matrix Z2 based on the probability distribution PB1 and outputs a bitstream SB to the entropy decoding unit B2. The probability estimation unit V2 then predicts a probability distribution PB2 for the feature points to be decoded in the bitstream SB and inputs the probability distribution PB2 to the entropy decoding unit B2. The entropy decoding unit B2 then decodes the feature points to be decoded in the bitstream SB based on the probability distribution PB2 and outputs the feature map matrix Z2 to the hyper-decoder network. After obtaining the feature map matrix Z2, the hyper-decoder network encodes the feature map matrix Z2 as a process Then, the estimated information matrices of the C channels may be obtained, and the estimated information matrices of the C channels may be input to the aggregation unit.
[0174] In a possible implementation, the feature map matrix Z2 may be input directly to the hyper-decoder network, which then converts the feature map matrix Z2 into process and input the estimated information matrices of the C channels into the aggregation unit. It should be understood that the manner of determining the estimated information matrices of the C channels in the encoding process is not limited in this application.
[0175] For example, in another embodiment, after obtaining the feature map matrix Y2, the feature map matrix Y2 may be input to an aggregation unit, and the aggregation unit determines at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group including k channels and the estimated information matrix corresponding to the target channel group. For this process, please refer to the above description. Details will not be described again here.
[0176] For example, after obtaining at least one probability distribution parameter corresponding to the feature point to be encoded, the aggregation unit may input the at least one probability distribution parameter corresponding to the feature point to be encoded to the probability estimation unit V1, which may determine the probability distribution PA1 corresponding to the feature point to be encoded based on the at least one probability distribution parameter corresponding to the feature point to be encoded, and then the probability estimation unit V1 may input the probability distribution PA1 corresponding to the feature point to be encoded to the entropy encoding unit A1.
[0177] For example, in another aspect, after obtaining the feature map matrix Y2, the feature map matrix Y2 may be input to the entropy encoding unit A1, which encodes the feature values of the feature points to be encoded in the feature map matrix Y2 based on the probability distribution PA1 corresponding to the feature points to be encoded to obtain a bitstream SA. Then, the encoding of the image to be encoded is completed.
[0178] It should be noted that after the encoding of the target image is completed, both the bitstream SA obtained by encoding the feature map matrix Y2 and the bitstream SB obtained by encoding the feature map matrix Z2 may be sent to the decoder side.
[0179] Continuing with reference to Figure 5, the decoding process may be as follows:
[0180] For example, after receiving bitstream SA and bitstream SB, the decoder side may assign bitstream SA to entropy decoding unit A2 for decoding, and assign bitstream SB to entropy decoding unit B2 for decoding.
[0181] For example, the probability estimation unit V2 predicts a probability distribution PB2 of the feature points to be decoded in the bitstream SB, and inputs the probability distribution PB2 to the entropy decoding unit B2. Then, the entropy decoding unit B2 decodes the feature points to be decoded in the bitstream SB based on the probability distribution PB2, and outputs a feature map matrix Z2 to the hyper-decoder network. After obtaining the feature map matrix Z2, the hyper-decoder network converts the feature map matrix Z2 into process Then, the estimated information matrices of the C channels may be obtained, and the estimated information matrices of the C channels may be input to the aggregation unit.
[0182] For example, the bitstream SA includes encoded data of the feature values of each feature point in the feature map matrix Y2, and the entropy decoding unit A2 decodes the encoded data of the feature values of each feature point in the bitstream SA to obtain the feature values corresponding to each feature point, thereby obtaining the feature map matrix Y2.
[0183] For example, for one feature point to be decoded, the entropy decoding unit A2 inputs at least one feature value corresponding to at least one decoded feature point to the aggregation unit. The aggregation unit determines a target channel group to which the channel corresponding to the feature point to be decoded belongs, and determines at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of the at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group. For details, see the above description. Details will not be described again here. Then, the at least one probability distribution parameter corresponding to the feature point to be decoded is output to the probability estimation unit V1. The probability estimation unit V1 then performs probability estimation based on the at least one probability distribution parameter corresponding to the feature point to be decoded, predicts a probability distribution PA2 corresponding to the feature point to be decoded, and inputs the probability distribution PA2 corresponding to the feature point to be decoded to the entropy decoding unit A2. The entropy encoding unit A2 may then decode the encoded data of the feature value of the feature point to be decoded based on the probability distribution PA2 corresponding to the feature point to be decoded to obtain the feature value. In this case, the above steps are repeated: the entropy decoding unit A2 decodes the bitstream SA and outputs the feature map matrix Y2 to the decoder network, which may perform an inverse spatial transform on the feature map matrix Y2 to obtain a reconstructed image.
[0184] For example, the entropy encoding unit A1 may perform parallel or sequential encoding on feature points to be encoded of different target channel groups, which is not limited in the present application. Correspondingly, the entropy decoding unit A2 may perform parallel or sequential decoding on feature points to be decoded of different target channel groups, which is not limited in the present application.
[0185] It should be noted that in the encoding process, the feature map matrix Y1 may be input into the hyper-encoder network, and the feature map matrix Z2 is obtained through the hyper-encoder network and the quantization unit D2, which is not limited in this application.
[0186] It should be noted that the network or unit within the right dashed frame in Fig. 5 may alternatively be another network or another unit, and may be specifically configured based on requirements, which is not limited in this application.
[0187] It should be noted that the AI encoding unit, AI decoding unit, entropy encoding unit, and entropy decoding unit of the present application may further include a network and means configured to generate another estimated information matrix of at least one probability distribution parameter. The another estimated information matrix is then input to the aggregation unit. The aggregation unit determines at least one probability distribution parameter of the feature point to be encoded / decoded based on the feature values of the encoded / decoded feature points corresponding to a target channel group including k channels, the estimated information matrix corresponding to the target channel group, and the another estimated information matrix. This is not a limitation in the present application.
[0188] For example, the AI encoding unit and the AI decoding unit (excluding the aggregation unit and the probability estimation unit V1) may be disposed in an NPU (Neural Network Processing Unit) or a GPU (Graphics Processing Unit). For example, the entropy encoding unit, the entropy decoding unit, the aggregation unit, and the probability estimation unit V1 may be disposed in a CPU (Central Processing Unit). Therefore, compared with the prior art in which the aggregation unit and the probability estimation unit V1 are deployed in a GPU, in the present application, each time the CPU obtains a feature value of a decoded feature point through decoding, the feature value is directly stored in the CPU's memory, and the aggregation unit and the probability estimation unit V1 in the CPU determine at least one probability distribution parameter of the feature point to be decoded, thereby avoiding frequent communication between the CPU and the GPU and improving decoding efficiency.
[0189] In a possible implementation, the estimated information matrix for C channels output by the hyper decoder network of Figure 5 includes a first feature matrix for C channels and a second feature matrix for C channels. The first feature matrix for C channels may be used to determine a first probability distribution parameter, and the second feature matrix for C channels may be used to determine a second probability distribution parameter. The first feature matrix may include first features of H*W feature points, and the second feature matrix may include second features of H*W feature points. In this case, the process of determining at least one probability distribution parameter of the feature points to be coded may be as follows:
[0190] FIG. 6 is a diagram of an example encoding process.
[0191] S601: An image to be encoded is obtained.
[0192] S602: Generate a feature map with C channels based on the encoding target image, where the feature map includes feature values of a plurality of feature points, and C is a positive integer.
[0193] S603: Generate an estimated information matrix of C channels based on the feature maps of the C channels, where the estimated information matrix includes estimated information of a plurality of feature points.
[0194] S604: Group the C channels into N channel groups.
[0195] For example, with regard to S601 to S604, see the explanation of S201 to S204.
[0196] The estimated information matrix for the C channels includes a first feature matrix for the C channels and a second feature matrix for the C channels. The first feature matrix for the C channels may be used to determine first probability distribution parameters, and the second feature matrix for the C channels may be used to determine second probability distribution parameters. The first feature matrix may include first features of the H*W feature points, and the second feature matrix may include second features of the H*W feature points.
[0197] S605: Determine at least one first probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group.
[0198] For example, in step S605, see the description of step S205 above to determine at least one first probability distribution parameter of the encoding target feature points corresponding to the target channel group, the details of which will not be described again here.
[0199] S606: Determine at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
[0200] For example, in step S606, see the description of step S205 above to determine at least one second probability distribution parameter of the feature points to be encoded corresponding to the target channel group, the details of which will not be described again here.
[0201] For example, the at least one probability distribution parameter of the feature points to be encoded corresponding to the target channel group may include a first probability distribution parameter of the feature points to be encoded corresponding to the target channel group and at least one second probability distribution parameter of the feature points to be encoded corresponding to the target channel group.
[0202] In a possible implementation, the first probability distribution parameter is the mean and the second probability distribution parameter is the variance ( variance )
[0203] In a possible implementation, the first probability distribution parameter is the variance ( variance ), and the second probability distribution parameter is the mean.
[0204] S607: Determine a probability distribution corresponding to the feature point to be encoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be encoded.
[0205] S608: The feature points to be encoded are encoded based on the probability distribution corresponding to the feature points to be encoded to obtain a bitstream.
[0206] For example, regarding S607 and S608, please refer to the description of S206 and S207 above, and the details will not be described again here.
[0207] 7 is a diagram of an example of a decoding process. The decoding process in the embodiment of FIG. 7 corresponds to the encoding process in the embodiment of FIG.
[0208] S701: A bitstream is received.
[0209] For example, the bitstream received at the decoder side may include a bitstream of an image and a bitstream that is a priori information of C channels and corresponds to the image.
[0210] For example, a bitstream of an image may include encoded data of feature values of feature points for C channels, and a bitstream of a priori information for C channels may include encoded data of a priori information for C channels.
[0211] S702: Decode the bitstream to obtain C channel estimation information matrices.
[0212] For example, after receiving a bitstream, the bitstream may be parsed to obtain coded data of the a priori information of C channels, and then entropy decoding and hyper decoding are performed on the coded data of the a priori information of C channels to obtain first feature matrices of C channels and second feature matrices of C channels.
[0213] S703: Decode the bitstream to obtain feature values of feature points of the C channels based on the estimated information matrices of the C channels, and obtain feature maps of the C channels.
[0214] For example, for S703, see the description of S403 above, and the details will not be repeated here.
[0215] For example, it may be determined that a feature point to be decoded is determined from undecoded feature points in a decoding order corresponding to the encoding order in Fig. 3c. Next, the feature value of the feature point to be decoded may be acquired through decoding with reference to the following steps 7031 to 7035.
[0216] S7031: A target channel group to which a channel corresponding to a feature point to be decoded belongs is determined from N channel groups obtained by grouping C channels.
[0217] S7032: Determine at least one first probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group.
[0218] S7033: Determine at least one second probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
[0219] S7034: Determine a probability distribution corresponding to the feature point to be decoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0220] S7035: The feature point to be decoded is decoded based on the probability distribution corresponding to the feature point to be decoded, and a feature value is obtained.
[0221] For example, with regard to S7031 to S7035, please refer to the explanation of S4031 to S4034 above. Details will not be explained again here.
[0222] S704: Reconstruction is performed based on the feature maps of the C channels, and a reconstructed image is output.
[0223] For example, regarding S704, see the description of S404 above, and the details will not be described again here.
[0224] In a possible implementation, the estimated information matrix for C channels output by the hyper decoder network of Figure 5 includes a first feature matrix for C channels and a second probability distribution parameter matrix for C channels. The first feature matrix for C channels may be used to determine first probability distribution parameters, and the first feature matrix may include first features of H*W feature points. The second probability distribution parameter matrix may include second probability distribution parameters of H*W feature points. In this case, the process of determining at least one probability distribution parameter of the feature points to be coded may be as follows:
[0225] FIG. 8 is a diagram of an example encoding process.
[0226] S801: An image to be encoded is obtained.
[0227] S802: Generate a feature map of C channels based on the encoding target image, where the feature map includes feature values of a plurality of feature points, and C is a positive integer.
[0228] S803: Generate an estimated information matrix of C channels based on the feature maps of the C channels, where the estimated information matrix includes estimated information of a plurality of feature points.
[0229] S804: Group the C channels into N channel groups.
[0230] For example, with regard to S801 to S804, see the explanation of S201 to S204.
[0231] The estimated information matrix for the C channels includes a first feature matrix for the C channels and a second probability distribution parameter matrix for the C channels. The first feature matrix for the C channels may be used to determine first probability distribution parameters, and the first feature matrix may include first features of the H*W feature points. The second probability distribution parameter matrix may include second probability distribution parameters of the H*W feature points.
[0232] S805: Determine at least one first probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group.
[0233] For example, in step S805, see the description of step S205 above to determine at least one first probability distribution parameter of the encoding target feature points corresponding to the target channel group, the details of which will not be described again here.
[0234] In a possible implementation, the first probability distribution parameter is the mean and the second probability distribution parameter is the variance ( variance )
[0235] In a possible implementation, the first probability distribution parameter is the variance ( variance ), and the second probability distribution parameter is the mean.
[0236] S806: Determine at least one second probability distribution parameter of the encoding target feature point corresponding to the target channel group based on the second probability distribution parameter matrix corresponding to the target channel group.
[0237] For example, one feature point to be encoded of channel c (c is a positive integer equal to or less than C) in the target channel group is used as an example for explanation. For example, a second probability distribution parameter matrix of channel c may be determined from the second probability distribution parameter matrices of the C channels. Then, based on the position of the feature point to be encoded in the feature map of channel c, at least one second probability distribution parameter corresponding to the feature point to be encoded is determined from the second probability distribution parameter matrix of channel c.
[0238] S807: Determine a probability distribution corresponding to the feature point to be encoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be encoded.
[0239] S808: The feature points to be encoded are encoded based on the probability distribution corresponding to the feature points to be encoded to obtain a bitstream.
[0240] For example, for S807 and S808, please refer to the description of S206 and S207 above, and the details will not be described again here.
[0241] 9 is a diagram of an example of a decoding process. The decoding process in the embodiment of FIG. 9 corresponds to the encoding process in the embodiment of FIG.
[0242] S901: Receive a bitstream.
[0243] For example, regarding S901, please refer to the description of S701 above, and the details will not be described again here.
[0244] S902: Decode the bitstream to obtain C channel estimation information matrices.
[0245] For example, after receiving a bitstream, the bitstream may be parsed to obtain coded data of the a priori information of C channels, and then entropy decoding and hyper decoding are performed on the coded data of the a priori information of C channels to obtain first feature matrices of the C channels and second probability distribution parameter matrices of the C channels.
[0246] S903: Decode the bitstream to obtain feature values of feature points of the C channels according to the estimated information matrices of the C channels, and obtain feature maps of the C channels.
[0247] For example, for S903, see the description of S403 above, and the details will not be described again here.
[0248] For example, it may be determined that feature points to be decoded are determined from undecoded feature points in a decoding order corresponding to the encoding order in Fig. 3c. Next, feature values of the feature points to be decoded may be acquired through decoding with reference to the following steps S9031 to S9034.
[0249] S9031: From the N channel groups obtained by grouping the C channels, a target channel group to which a channel corresponding to a feature point to be decoded belongs is determined.
[0250] S9032: Determine at least one first probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group.
[0251] S9033: Determine at least one second probability distribution parameter of the feature point to be decoded based on a second probability distribution parameter matrix corresponding to the target channel group.
[0252] For example, assume that the channel corresponding to the feature point to be decoded is channel c. In this case, the second probability distribution parameter matrix of channel c may be determined from the second probability distribution parameter matrices of the C channels. Then, based on the position of the feature point to be decoded, at least one second probability distribution parameter corresponding to the feature point to be decoded is determined from the second probability distribution parameter matrix of channel c.
[0253] S9034: Determine a probability distribution corresponding to the feature point to be decoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0254] S9035: The feature point to be decoded is decoded based on the probability distribution corresponding to the feature point to be decoded, and a feature value is obtained.
[0255] For example, with regard to S9031 to S9035, please refer to the explanation of S4031 to S4034 above. Details will not be explained again here.
[0256] S904: Perform image reconstruction based on the feature maps of the C channels, and output the reconstructed image.
[0257] For example, regarding S904, see the description of S404 above, and the details will not be described again here.
[0258] In a possible implementation, the estimated information matrix for C channels output by the hyper decoder network of Figure 5 includes a first probability distribution parameter matrix for C channels and a second feature matrix for C channels. The second feature matrix for C channels may be used to determine second probability distribution parameters, and the second feature matrix may include second features of H*W feature points. The first probability distribution parameter matrix may include first probability distribution parameters of H*W feature points. In this case, the process of determining at least one probability distribution parameter of the feature points to be coded may be as follows:
[0259] FIG. 10 is a diagram of an example encoding process.
[0260] S1001: An image to be encoded is obtained.
[0261] S1002: Generate feature maps of C channels based on the encoding target image, where the feature maps include feature values of a plurality of feature points, and C is a positive integer.
[0262] S1003: Generate an estimated information matrix of the C channels based on the feature maps of the C channels, where the estimated information matrix includes estimated information of a plurality of feature points.
[0263] S1004: Group C channels into N channel groups.
[0264] For example, with regard to S1001 to S1004, see the explanation of S201 to S204.
[0265] The estimated information matrix for the C channels includes a first probability distribution parameter matrix for the C channels and a second feature matrix for the C channels. The second feature matrix for the C channels may be used to determine second probability distribution parameters, and the second feature matrix may include second features of the H*W feature points. The first probability distribution parameter matrix may include first probability distribution parameters of the H*W feature points.
[0266] S1005: Determine at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
[0267] For example, in step S1005, see the description of step S205 above to determine at least one second probability distribution parameter of the feature points to be encoded corresponding to the target channel group, the details of which will not be described again here.
[0268] In a possible implementation, the first probability distribution parameter is the mean and the second probability distribution parameter is the variance ( variance )
[0269] In a possible implementation, the first probability distribution parameter is the variance ( variance ), and the second probability distribution parameter is the mean.
[0270] S1006: Determine at least one first probability distribution parameter of the encoding target feature point corresponding to the target channel group based on the first probability distribution parameter matrix corresponding to the target channel group.
[0271] For example, using one feature point to be encoded in channel c in the target channel group as an example for explanation, a first probability distribution parameter matrix for channel c may be determined from the first probability distribution parameter matrices of C channels. Then, based on the position of the feature point to be encoded in the feature map of channel c, at least one first probability distribution parameter corresponding to the feature point to be encoded is determined from the first probability distribution parameter matrix for channel c.
[0272] S1007: Determine a probability distribution corresponding to the feature point to be encoded based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be encoded.
[0273] S1008: The feature points to be encoded are encoded based on the probability distribution corresponding to the feature points to be encoded to obtain a bitstream.
[0274] For example, regarding S1007 and S1008, please refer to the explanation of S206 and S207 above, and the details will not be described again here.
[0275] 11 is a diagram of an example of a decoding process. The decoding process in the embodiment of FIG. 11 corresponds to the encoding process in the embodiment of FIG.
[0276] S1101: A bitstream is received.
[0277] For example, regarding S1101, please refer to the description of S701 above. The details will not be explained again here.
[0278] S1102: Decode the bitstream to obtain C channel estimation information matrices.
[0279] For example, after receiving a bitstream, the bitstream may be parsed to obtain coded data of the a priori information of C channels, and then entropy decoding and hyper decoding are performed on the coded data of the a priori information of C channels to obtain a first probability distribution parameter matrix of C channels and a second feature matrix of C channels.
[0280] S1103: Decode the bitstream to obtain feature values of feature points of the C channels based on the estimated information matrices of the C channels, and obtain feature maps of the C channels.
[0281] For example, regarding S1103, see the description of S403 above, and the details will not be described again here.
[0282] For example, it may be determined that feature points to be decoded are determined from undecoded feature points in a decoding order corresponding to the encoding order in Fig. 3c. Next, feature values of feature points to be decoded may be acquired through decoding with reference to the following steps S11031 to S11034.
[0283] S11031: From N channel groups obtained by grouping C channels, a target channel group to which a channel corresponding to a feature point to be decoded belongs is determined, and the channel group includes k channels.
[0284] S11032: Determine at least one second probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
[0285] S11033: Based on a first probability distribution parameter matrix corresponding to the target channel group, Decryption At least one first probability distribution parameter of the target feature points is determined.
[0286] For example, assume that the channel corresponding to the feature point to be decoded is channel c (c is a positive integer equal to or less than C). In this case, the first probability distribution parameter matrix of channel c may be determined from the first probability distribution parameter matrices of the C channels. Then, based on the spatial position of the feature point to be decoded, at least one first probability distribution parameter corresponding to the feature point to be decoded is determined from the first probability distribution parameter matrix of channel c.
[0287] S11034: A probability distribution corresponding to the feature point to be decoded is determined based on at least one first probability distribution parameter and at least one second probability distribution parameter corresponding to the feature point to be decoded.
[0288] S11035: The feature point to be decoded is decoded based on the probability distribution corresponding to the feature point to be decoded, and a feature value is acquired.
[0289] For example, with regard to S11031 to S11035, please refer to the explanation of S4031 to S4034 above. Details will not be explained again here.
[0290] S1104: Image reconstruction is performed based on the feature maps of the C channels, and the reconstructed image is output.
[0291] For example, regarding S1104, see the description of S404 above, and the details will not be described again here.
[0292] Hereinafter, an example will be used to explain how the aggregation unit determines at least one probability distribution parameter corresponding to the feature points to be encoded corresponding to the target channel group. The first probability distribution parameter is the mean, and the second probability distribution parameter is the variance ( variance ) to provide an explanation.
[0293] For example, at least one probability distribution parameter corresponding to a feature point to be coded corresponding to the target channel group may be determined by linearly weighting at least one feature value of at least one encoded feature point corresponding to a target channel group including k channels and an estimated information matrix corresponding to the target channel group. Therefore, the amount of calculation required to determine the probability distribution parameter may be reduced from the original number of tens of thousands of product-sum calculations to at least a few, or at most a few hundred product-sum calculations. This significantly reduces the amount of calculation.
[0294] For example, the size of the linear weighting window may be preset, e.g., ks1 * ks2. Then, linear weighting is performed on at least one feature value of at least one encoded feature point within the linear weighting window and in the feature map corresponding to the target channel group, and on the estimated information of feature points within the linear weighting window and corresponding to a certain position in the estimated information matrix corresponding to the target channel group, to determine at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group. ks1 and ks2 are integers greater than 1, and ks1 and ks2 may or may not be equal. This is not a limitation in the present application. Therefore, at least one probability distribution parameter corresponding to the feature point to be encoded is determined based on the feature values and the estimated information of feature points surrounding the feature point to be encoded, thereby ensuring the accuracy of the determined probability distribution parameter and reducing the amount of calculation of the probability distribution parameter.
[0295] For example, the following embodiments of Figures 12a to 12d and Figures 13a and 13b describe a process of determining a first probability distribution parameter corresponding to a feature point to be encoded corresponding to a target channel group by linearly weighting at least one feature value of at least one encoded feature point corresponding to a target channel group including k channels and a first feature matrix corresponding to the target channel group.
[0296] FIG. 12a illustrates an example of a process for determining probability distribution parameters. In the embodiment of FIG. 12a, the number of channels k included in the target channel group is equal to 1, ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (1) of FIG. 3c. Assume that the target channel group includes a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, gray blocks represent coded feature points, white blocks represent uncoded feature points, and the shaded blocks represent feature point D to be coded. In the first feature matrix of channel c1, gray blocks represent coded positions, white blocks represent uncoded positions, and the shaded blocks represent position L to be coded. The coded positions are the positions of coded feature points, the uncoded positions are the positions of uncoded feature points, and position L to be coded is the position of feature point D to be coded.
[0297] See Figure 12a. For example, in the feature map of channel c1, a first target region Q1 centered on the feature point D to be encoded may be determined based on the size of a linear weighting window. In the first feature matrix of channel c1, a second target region Q2 centered on the position L to be encoded is determined based on the size of a linear weighting window. The sizes of the first target region Q1 and the second target region Q2 are the same, ks1 * ks2.
[0298] 12a. For example, encoded feature points in the first target region Q1, i.e., feature points corresponding to the gray blocks in the first target region Q1 in FIG. 12a, may be determined as feature points for linear weighting calculation in the feature map. Assume that the position of the feature point D to be encoded is (c1, w, h) (c1 is an integer between 1 and C, w is an integer between 1 and W, and h is an integer between 1 and H). In this case, the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1).
[0299] For example, a first target position for linear weighting calculation in the first feature matrix of channel c1 may be determined based on a position other than the encoded position in the second target region Q2. In a possible implementation, the encoding target position L and at least one unencoded position (hereinafter referred to as the first unencoded position) in the second target region Q2 may be determined as the first target positions. The first unencoded position is a position other than the encoding target position L among all unencoded positions in the second target region Q2.
[0300] 12a, in a possible implementation, positions other than the encoded positions in the second target area Q2 (i.e., the encoding target position L and all first unencoded positions in the second target area Q2), i.e., positions corresponding to the blocks filled with diagonal lines and the blocks filled with dots in the second target area Q2 in FIG. 12a, may be determined as first target positions.
[0301] Assume that the position of the feature point D to be coded is (c1, w, h), and the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1). In this case, the first target positions include (c1, w, h), (c1, w+1, h), (c1, w-1, h+1), (c1, w, h+1), and (c1, w+1, h+1).
[0302] For example, in the training process, a weight matrix (i.e., a preset weight matrix) corresponding to each channel and used for linear weighting is learned. The preset weight matrix may include weight maps of k channels, where the size of the weight map is the same as the size of the linear weighting window, e.g., ks1*ks2. In the embodiment of Fig. 12a, the preset weight matrix corresponding to channel c1 includes a weight map of one channel, and the weight map corresponding to channel c1 includes nine weights, i.e., ω1, ω2, ω3, ω4, ω5, ω6, ω7, ω8, and ω9.
[0303] For example, based on the weight map corresponding to the channel c1, linear weighting may be performed on the feature values of the encoded feature points in the first target region Q1 and the first feature values of the feature points corresponding to the first target positions in the second target region Q2 to obtain at least one first probability distribution parameter corresponding to the feature point D to be encoded.
[0304] Assume that the position of the feature point D to be encoded is (c1,w,h), the feature values of the encoded feature points in the first target region Q1 are denoted as y[c1][w-1][h], y[c1][w-1][h-1], y[c1][w][h-1], and y[c1][w+1][h-1], and the first features of the feature points corresponding to the first target positions in the second target region Q2 are denoted as φ[c1][w][h], φ[c1][w+1][h], φ[c1][w-1][h+1], φ[c1][w][h+1], and φ[c1][w+1][h+1]. In this case, at least one first probability distribution parameter = corresponding to the feature point D to be encoded in the feature map of channel c1 is
number
[0305] FIG. 12b illustrates an example of a process for determining probability distribution parameters. In the embodiment of FIG. 12b, the number of channels k included in the target channel group is equal to 1, ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (1) of FIG. 3c. Assume that the target channel group includes a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, gray blocks represent coded feature points, white blocks represent uncoded feature points, and the shaded blocks represent feature point D to be coded. In the first feature matrix of channel c1, gray blocks represent coded positions, white blocks represent uncoded positions, and the shaded blocks represent position L to be coded. The coded positions are the positions of coded feature points, the uncoded positions are the positions of uncoded feature points, and position L to be coded is the position of feature point D to be coded.
[0306] For example, the difference between Figure 12b and Figure 12a is that the manner in which the first target position for the linear weighting calculation in the first feature matrix of Figure 12b is determined based on positions other than the encoded positions within the second target region Q2 is different from that of Figure 12a.
[0307] See Fig. 12b. In a possible implementation, the encoding target position L in the second target region Q2 may be determined as the first target position. Assume that the position of the encoding target feature point D is (c1, w, h), and the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1). In this case, the first target position is (c1, w, h).
[0308] In this case, in the weight map corresponding to the channel c1, ω6, ω7, ω8, and ω9 are all equal to 0. Therefore, at least one first probability distribution parameter = ω6, ω7, ω8, and ω9 corresponding to the encoding target feature point D in the feature map of the channel c1 is
number
[0309] Below, we will compare the coding performance of the coding based on the embodiment of FIG. 12a with the coding based on the embodiment of FIG. 12b using a test set containing multiple images with different resolutions for testing.
[0310] For example, using 16 images to be coded with different resolutions for testing, the rate gain (BD-rate, where a larger negative value of BD-rate indicates a higher coding performance corresponding to the coding based on the embodiment of FIG. 12a) obtained by comparing the coding based on the embodiment of FIG. 12a with the coding based on the prior art is obtained, and the BD-rate obtained by comparing the coding based on the embodiment of FIG. 12b with the coding based on the prior art is obtained. Details may be shown in Table 1. [Table 1]
[0311] See Table 1. The coding performance of the coding based on the embodiment of Fig. 12a is better than that of the coding based on the embodiment of Fig. 12b in the three channels of Y, U, and V. In other words, for the same coding quality, the bit rate corresponding to the coding based on the embodiment of Fig. 12a is smaller than the bit rate corresponding to the coding based on the embodiment of Fig. 12b.
[0312] FIG. 12c illustrates an example of a process for determining probability distribution parameters. In the embodiment of FIG. 12c, the number of channels k included in the target channel group is equal to 1, ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (1) of FIG. 3c. Assume that the target channel group includes a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, gray blocks represent coded feature points, white blocks represent uncoded feature points, and the shaded blocks represent feature point D to be coded. In the first feature matrix of channel c1, gray blocks represent coded positions, white blocks represent uncoded positions, and the shaded blocks represent position L to be coded. The coded positions are the positions of coded feature points, the uncoded positions are the positions of uncoded feature points, and position L to be coded is the position of feature point D to be coded.
[0313] For example, the difference between Figure 12c and Figure 12a is that the manner in which the first target position for the linear weighting calculation in the first feature matrix in Figure 12c is determined based on positions other than the encoded positions within the second target region Q2 is different from that in Figure 12a.
[0314] See Figure 12c. For example, the encoding target position L and one first unencoded position in the second target region Q2 are determined as first target positions. Assume that the position of the encoding target feature point D is (c1, w, h), and the feature point positions for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1). In this case, the first target positions are (c1, w, h) and (c1, w+1, h).
[0315] In this case, in the weight map corresponding to the channel c1, ω7, ω8, and ω9 are all equal to 0. Therefore, at least one first probability distribution parameter = ω7, ω8, and ω9 corresponding to the encoding target feature point D in the feature map of the channel c1 is
number
[0316] It should be understood that the location of the feature point D to be encoded is assumed to be (c1, w, h), and the locations of the feature points for linear weighting calculation in the feature map include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1). In this case, in a possible implementation, the first target positions are (c1,w,h), (c1,w+1,h), and (c1,w-1,h+1), in a possible implementation, the first target positions are (c1,w,h), (c1,w+1,h), (c1,w-1,h+1), and (c1,w,h+1), in a possible implementation, the first target positions are (c1,w,h) and (c1,w-1,h+1), in a possible implementation, the first target positions are (c1,w,h) and (c1,w,h+1), etc. This is not a limitation in the present application.
[0317] Fig. 12d is a diagram of an example of a process for determining probability distribution parameters. In the embodiment of Fig. 12d, the number of channels k included in the target channel group is 2, the target channel group includes two channels, i.e., a first channel (hereinafter referred to as channel c1) and a second channel (hereinafter referred to as channel c2), ks1 = ks3 = 3, and the encoding order on the encoder side is shown in Fig. 3c (1).
[0318] In the feature maps of channels c1 and c2, gray blocks represent encoded feature points, and white blocks represent unencoded feature points. In the feature map of channel c1, the shaded blocks represent feature point D1 to be encoded. In the feature map of channel c2, the shaded blocks represent feature point D2, which corresponds to the position of feature point D1 to be encoded.
[0319] In the first feature matrix of channel c1 and the first feature matrix of channel c2, gray blocks represent coded positions and white blocks represent uncoded positions. The diagonally shaded blocks in the first feature matrix of channel c1 represent position L1 to be coded, and the diagonally shaded blocks in the first feature matrix of channel c2 represent position L2. The coded positions are positions of coded feature points, the uncoded positions are positions of uncoded feature points, the position L1 to be coded is the position of feature point D1 to be coded, and position L2 is the position corresponding to position L1 to be coded (i.e., the position of feature point D2).
[0320] See Figure 12d. For example, in the feature map of channel c1, a first target region Q11 centered on the feature point D1 to be encoded may be determined based on the size of a linear weighting window, and in the feature map of channel c2, a first target region Q12 centered on a feature point corresponding to the position of the feature point D1 to be encoded is determined based on the size of the linear weighting window. Assume that the position of the feature point D1 to be encoded in the feature map of channel c1 is (c1, w, h). In this case, the feature point D2 located at (c2, w, h) in the feature map of channel c2 is the feature point corresponding to the position of the feature point D1 to be encoded.
[0321] 12d, for example, in the first feature matrix of channel c1, a second target region Q21 centered on the encoding target position L1 may be determined based on the size of the linear weighting window, and in the first feature matrix of channel c2, a second target region Q22 centered on the position corresponding to the encoding target position L1 (i.e., position L2) may be determined based on the size of the linear weighting window.
[0322] The first target area Q11, the first target area Q12, the second target area Q21, and the second target area Q22 all have the same size, ks1*ks2.
[0323] See Figure 12d. For example, the encoded feature points in the first target region Q11 in the feature map of channel c1, i.e., the feature points corresponding to the gray blocks in the first target region Q11 in Figure 12d, may be determined as feature points for linear weighting calculation in the feature map of channel c1. Assume that the position of the feature point D1 to be encoded is (c1, w, h). In this case, the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1).
[0324] See Figure 12d. For example, the encoded feature points in the first target region Q12 in the feature map of channel c2, i.e., the feature points corresponding to the gray blocks in the first target region Q12 in Figure 12d, may be determined as feature points for linear weighting calculation in the feature map of feature point channel c2. Assume that the position of feature point D1 to be encoded is (c1, w, h). In this case, the position of feature point D2 is (c2, w, h), and the positions of feature points for linear weighting calculation in the feature map of channel c2 include (c2, w-1, h), (c2, w-1, h-1), (c2, w, h-1), and (c2, w+1, h-1).
[0325] For example, a first target position for the linear weighting calculation in the first feature matrix of channel c1 may be determined based on a position in the first feature matrix of channel c1 other than the encoded position in the second target region Q21. In a possible implementation, the encoding target position L1 and at least one first unencoded position in the second target region Q21 may be determined as the first target positions. The first unencoded position is a position other than the encoding target position among all unencoded positions in the second target region Q21.
[0326] See Figure 12d. Positions other than the encoded positions in the second target region Q21 in the first feature matrix of channel c1 (i.e., the encoding target position L1 and all first unencoded positions in the second target region Q21) may be determined as first target positions. Assume that the position of the encoding target feature point D1 is (c1,w,h), and the positions of feature points for linear weighting calculation in the first feature matrix of channel c1 include (c1,w-1,h), (c1,w-1,h-1), (c1,w,h-1), and (c1,w+1,h-1). In this case, the first target positions include (c1,w,h), (c1,w+1,h), (c1,w-1,h+1), (c1,w,h+1), and (c1,w+1,h+1).
[0327] For example, a first target position for linear weighting calculation in the first feature matrix of channel c2 may be determined based on a position in the second target region Q22 other than the encoded position in the first feature matrix of channel c2. In a possible implementation, a position L2 corresponding to the position to be encoded in the second target region Q22 and at least one unencoded position (hereinafter referred to as the second unencoded position) may be determined as the first target position. The second unencoded position is a position other than position L2 among all unencoded positions in the second target region Q22.
[0328] 12d. Positions other than the encoded positions in the second target region Q22 in the first feature matrix of channel c2 (i.e., position L2 in the second target region Q22 that corresponds to the encoding target position and all second unencoded positions in the second target region Q22) may be determined as first target positions. Assume that the position of the feature point D1 to be encoded is (c1, w, h), and the positions of feature points for linear weighting calculation in the first feature matrix of channel c2 include (c2, w-1, h), (c2, w-1, h-1), (c2, w, h-1), and (c2, w+1, h-1). In this case, the first target positions include (c2, w, h), (c2, w+1, h), (c2, w-1, h+1), (c2, w, h+1), and (c2, w+1, h+1).
[0329] For example, a preset weight matrix corresponding to channel c1 may be determined, and this preset weight matrix may include weight map 11 and weight map 12, as shown in Fig. 12d. The size of weight map 11 is 3*3, and weight map 11 includes nine weights, namely, ω11, ω12, ω13, ω14, ω15, ω16, ω17, ω18, and ω19. The size of weight map 12 is 3*3, and weight map 12 includes nine weights, namely, ω21, ω22, ω23, ω24, ω25, ω26, ω27, ω28, and ω29.
[0330] For example, based on the weight map 11 corresponding to channel c1, linear weighting may be performed on the feature value of the encoded feature point in the first target region Q11 in the feature map of channel c1 and the first feature value of the feature point corresponding to the first target position in the second target region Q21 in the first feature matrix of channel c1. Based on the weight map 12 corresponding to channel c1, linear weighting may be performed on the feature value of the encoded feature point in the first target region Q12 in the feature map of channel c2 and the first feature value of the feature point corresponding to the first target position in the second target region Q22 in the first feature matrix of channel c2 to obtain at least one first probability distribution parameter corresponding to the feature point D1 to be encoded in the feature map of channel c1.
[0331] The feature values of the encoded feature points in the first target region Q11 in the feature map of channel c1 are denoted as y[c1][w-1][h], y[c1][w-1][h-1], y[c1][w][h-1], y[c1][w][h-1], and y[c1][w+1][h+1], and the first features of the feature points corresponding to the first target positions in the second target region Q21 in the first feature matrix of channel c1 are denoted as φ[c1][w][h], φ[c1][w+1][h], φ[c1][w-1][h+1], φ[c1][w][h+1], and φ[c1][w+1][h+1]. ], the feature values of the encoded feature points in the first target region Q12 in the feature map of channel c2 are denoted as y[c2][w-1][h], y[c2][w-1][h-1], y[c2][w][h-1], and y[c2][w+1][h-1], and the first features of the feature points corresponding to the first target positions in the second target region Q22 in the first feature matrix of channel c2 are denoted as φ[c2][w][h], φ[c2][w+1][h], φ[c2][w-1][h+1], φ[c2][w][h+1], and φ[c2][w+1][h+1]. In this case, at least one first probability distribution parameter = corresponding to the feature point D1 to be encoded in the feature map of channel c1 is
number
[0332] It should be noted that when the feature point to be encoded is feature point D2 in channel c2, a preset weight matrix corresponding to channel c2 may be determined. Then, based on the preset weight matrix corresponding to channel c2, linear weighting is performed on the feature value of the encoded feature point in the first target region in the feature map corresponding to the target channel group and the first feature of the feature point corresponding to the first target position in the second target region in the first feature matrix corresponding to the target channel group to determine at least one first probability distribution parameter corresponding to feature point D2. The preset weight matrix corresponding to channel c2 is different from the preset weight matrix corresponding to channel c1.
[0333] It should be noted that when determining the encoding target position L1 in the second target region Q21 as the first target position for channel c1 and determining the position L2 in the second target region Q22 as the first target position for channel c2, the manner in which at least one first probability distribution parameter corresponding to the encoding target feature point D1 is determined can be referred to the description of the embodiment of FIG. 12b based on FIG. 12d. Details will not be described again here. When determining the encoding target position L1 and a portion of the first unencoded position in the second target region Q21 as the first target position for channel c1 and determining the position L2 and a portion of the second unencoded position in the second target region Q22 as the first target position for channel c2, the manner in which at least one first probability distribution parameter corresponding to the encoding target feature point D1 is determined can be referred to the description of the embodiment of FIG. 12c based on FIG. 12d. Details will not be described again here.
[0334] It should be noted that when the number k of channels included in the target channel group is greater than 2, at least one first probability distribution parameter corresponding to the feature point to be encoded may alternatively be determined with reference to the embodiment of Fig. 12d, the details of which will not be described again here.
[0335] FIG. 13A illustrates an example of a process for determining probability distribution parameters. In the embodiment of FIG. 13A, the number of channels k included in the target channel group is 1, and ks1 = ks3 = 3. The encoding order at the encoder side is shown in (2) of FIG. 3C. (In the process of encoding feature points corresponding to black blocks, the encoder side determines corresponding probability distribution parameters based on the estimated information matrix. In the process of encoding feature points corresponding to white blocks, the encoder side determines corresponding probability distribution parameters based on S204 of the present application.) Assume that the target channel group includes a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, the shaded block represents feature point D to be encoded, which is a feature point in the white checkerboard pattern. In the first feature matrix of channel c1, the shaded block represents position L to be encoded. Position L to be encoded is the position of feature point D to be encoded.
[0336] 13a, for example, in the feature map of channel c1, a first target region Q1 centered on the feature point D to be encoded may be determined based on the size of a linear weighting window, and in the first feature matrix of channel c1, a second target region Q2 centered on the position L to be encoded is determined based on the size of a linear weighting window. The sizes of the first target region Q1 and the second target region Q2 are the same, ks1*ks2.
[0337] 13a. For example, the encoded feature points in the first target region Q1, i.e., the feature points corresponding to the black blocks in the first target region Q1 in FIG. 13a and the feature points at the top left and top right of the feature point D to be encoded in the first target region Q1, may be determined as feature points for linear weighting calculation in the feature map. Assume that the position of the feature point D to be encoded is (c1, w, h). In this case, the feature point positions for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h-1), (c1, w, h-1), (c1, w+1, h-1), (c1, w-1, h), (c1, w, h+1), and (c1, w+1, h).
[0338] For example, the first target position for the linear weighting calculation in the first feature matrix of channel c1 may be determined based on a position in the second target region Q2 in the first feature matrix of channel c1 other than the encoded position. See Figure 13a. The positions other than the encoded positions in the second target region Q2 in the first feature matrix of channel c1, i.e., the shaded blocks and dotted blocks in the second target region Q2 in Figure 13a, are determined as the first target positions. Assume that the position of the feature point D to be encoded is (c1,w,h), and the positions of the feature points for the linear weighting calculation in the feature map of channel c1 include (c1,w-1,h-1), (c1,w,h-1), (c1,w+1,h-1), (c1,w-1,h), (c1,w,h+1), and (c1,w+1,h). In this case, the first target positions include (c1, w, h), (c1, w-1, h+1), and (c1, w+1, h+1).
[0339] For example, a preset weight matrix corresponding to channel c1 may be determined. The preset weight matrix includes a weight map. The size of the weight map is the same as the size of the linear weighting window and includes weights of ks1*ks2 feature points, as shown in FIG. 13a. The size of the weight map is 3*3, and the weight map includes nine weights, namely ω1, ω2, ω3, ω4, ω5, ω6, ω7, ω8, and ω9.
[0340] For example, based on the weight map corresponding to channel c1, linear weighting may be performed on the feature values of the encoded feature points in the first target region Q1 in the feature map of channel c1 and the first feature values of the feature points corresponding to the first target positions in the second target region Q2 in the first feature matrix of channel c1 to obtain at least one first probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1.
[0341] Assume that the feature values of the encoded feature points in the first target region Q1 in the feature map of channel c1 are denoted as y[c1][w-1][h-1], y[c1][w][h-1], y[c1][w+1][h-1], y[c1][w-1][h], y[c1][w][h+1], and y[c1][w+1][h], and the first features of the feature points corresponding to the first target positions in the second target region Q2 in the first feature matrix of channel c1 are denoted as φ[c1][w][h], φ[c1][w-1][h+1], and φ[c1][w+1][h+1]. In this case, at least one first probability distribution parameter = corresponding to the feature point D to be encoded in the feature map of channel c1 is
number
[0342] It should be noted that when determining the position L to be coded in the second target region Q2 in the first feature matrix of channel c1 as the first target position, the manner of determining at least one first probability distribution parameter corresponding to the feature point D to be coded in the feature map of channel c1 is based on the embodiment of FIG. 13a and refers to the description of the embodiment of FIG. 12b. Details will not be described again here. When determining the position L to be coded and a part of the first uncoded position in the second target region Q2 in the first feature matrix of channel c1 as the first target positions, the manner of determining at least one first probability distribution parameter corresponding to the feature point D to be coded in the feature map of channel c1 is based on the embodiment of FIG. 13a and refers to the description of the embodiment of FIG. 12c. Details will not be described again here.
[0343] It should be noted that when the number k of channels included in the target channel group is greater than 1, at least one first probability distribution parameter corresponding to at least one encoding target feature point D may be determined based on Fig. 13a with reference to the description of the embodiment in Fig. 12d, and the details will not be described again here.
[0344] FIG. 13b illustrates an example of a process for determining probability distribution parameters. In the embodiment of FIG. 13b, the number of channels k included in the target channel group is 1, ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (2) of FIG. 3c (the encoder side determines the corresponding probability distribution parameters based on S204 of the present application in both the process of encoding feature points corresponding to black blocks and the process of encoding feature points corresponding to white blocks). Assume that the channels included in the target channel group include a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, the shaded block represents feature point D to be encoded, which is a feature point in the black checkerboard pattern. In the first feature matrix of channel c1, the shaded block represents position L to be encoded. Position L to be encoded is the position of feature point D to be encoded.
[0345] See Fig. 13b. For example, in the feature map of channel c1, a first target region Q1 centered on the feature point D to be encoded may be determined based on the size of a linear weighting window, and in the first feature matrix of channel c1, a second target region Q2 centered on the position L to be encoded is determined based on the size of a linear weighting window. The sizes of the first target region Q1 and the second target region Q2 are the same, ks1*ks2.
[0346] See Figure 13b. For example, the encoded feature points in the first target region Q1, i.e., the feature points corresponding to the black blocks in the first target region Q1 in Figure 13b, may be determined as feature points for linear weighting calculation in the feature map. Assume that the position of the feature point D to be encoded is (c1, w, h). In this case, the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h-1) and (c1, w+1, h+1).
[0347] For example, the first target position for the linear weighting calculation in the first feature matrix of channel c1 may be determined based on a position other than the encoded position in the second target region Q2, where the encoded position is the position of the encoded feature point.
[0348] Referring to Figure 13b, positions other than the encoded positions in the second target region Q2 in the first feature matrix of channel c1, i.e., positions corresponding to the shaded blocks and dotted blocks in the second target region Q2 in Figure 13b, may be determined as first target positions. Assume that the position of the feature point D to be encoded is (c1,w,h), and the positions of feature points for linear weighting calculation in the feature map of channel c1 include (c1,w-1,h-1) and (c1,w+1,h-1). In this case, the first target positions include (c1,w,h), (c1,w,h-1), (c1,w-1,h), (c1,w+1,h), (c1,w,h+1), (c1,w-1,h+1), and (c1,w+1,h+1).
[0349] For example, a preset weight matrix corresponding to channel c1 may be determined. The preset weight matrix includes a weight map. The size of the weight map is the same as the size of the linear weighting window and includes weights of ks1*ks2 feature points, as shown in FIG. 13b. The size of the weight map is 3*3, and the weight map includes nine weights, namely ω1, ω2, ω3, ω4, ω5, ω6, ω7, ω8, and ω9.
[0350] For example, based on the weight map corresponding to channel c1, linear weighting may be performed on the feature values of the encoded feature points in the first target region Q1 in the feature map of channel c1 and the first feature values of the feature points corresponding to the first target positions in the second target region Q2 in the first feature matrix of channel c1 to obtain at least one first probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1.
[0351] Assume that the feature values of the encoded feature points in the first target region Q1 in the feature map of channel c1 are denoted as y[c1][w-1][h-1] and y[c1][w+1][h-1], and the first features of the feature points corresponding to the first target positions in the second target region Q2 in the first feature matrix of channel c1 are denoted as φ[c1][w][h], φ[c1][w][h-1], φ[c1][w-1][h], φ[c1][w+1][h], φ[c1][w][h+1], φ[c1][w-1][h+1], and φ[c1][w+1][h+1]. In this case, at least one first probability distribution parameter = corresponding to the feature point D to be encoded in the feature map of channel c1 is
number
[0352] It should be noted that when determining the encoding target position L in the second target region Q2 in the first feature matrix of channel c1 as the first target position, the manner of determining at least one first probability distribution parameter corresponding to the encoding target feature point D in the feature map of channel c1 is based on the embodiment of FIG. 13b and refers to the description of the embodiment of FIG. 12b. Details will not be described again here. When determining the encoding target position L and a part of the first unencoded position in the second target region Q2 in the first feature matrix of channel c1 as the first target positions, the manner of determining at least one first probability distribution parameter corresponding to the encoding target feature point D in the feature map of channel c1 is based on the embodiment of FIG. 13b and refers to the description of the embodiment of FIG. 12c. Details will not be described again here.
[0353] It should be noted that when the number k of channels included in the target channel group is greater than 1, at least one first probability distribution parameter corresponding to the encoding target feature point D may be determined based on Fig. 13b with reference to the description of the embodiment in Fig. 12d. The details will not be described again here.
[0354] For example, the embodiments of Figures 14a and 14d below describe a process of determining at least one second probability distribution parameter corresponding to a feature point to be encoded corresponding to a target channel group by linearly weighting at least one feature value of at least one encoded feature point corresponding to a target channel group including k channels and a second feature matrix corresponding to the target channel group.
[0355] 14a is a diagram of an example of a process for determining probability distribution parameters. The embodiment of FIG. 14a describes a process for determining second probability distribution parameters when the second feature matrix of C channels output by the hyper decoder network includes the first feature matrix of C channels and the second feature matrix of C channels.
[0356] In the embodiment of Figure 14a, the number of channels k included in the target channel group is equal to 1, ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (1) of Figure 3c. Assume that the target channel group includes a first channel (hereinafter referred to as channel c1). In the feature map of channel c1, gray blocks represent coded feature points, white blocks represent uncoded feature points, and the shaded blocks represent feature point D to be coded. In the second feature matrix of channel c1, gray blocks represent coded positions, white blocks represent uncoded positions, and the shaded blocks represent position L to be coded. The coded positions are the positions of coded feature points, the uncoded positions are the positions of uncoded feature points, and position L to be coded is the position of feature point D to be coded.
[0357] See Fig. 14a. For example, in the feature map of channel c1, a first target region Q1 centered on the feature point D to be encoded may be determined based on the size of a linear weighting window, and in the second feature matrix of channel c1, a third target region Q3 centered on the position L to be encoded is determined based on the size of a linear weighting window. The sizes of the first target region Q1 and the second target region Q3 are the same, ks1*ks2.
[0358] See Fig. 14a. For example, the encoded feature points in the first target region Q1, i.e., the feature points corresponding to the gray blocks in the first target region Q1 in Fig. 14a, may be determined as feature points for linear weighting calculation in the feature map. Assume that the position of the feature point D to be encoded is (c1, w, h). In this case, the feature point positions for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1).
[0359] For example, the second target position for the linear weighting calculation in the second feature matrix of channel c1 may be determined based on a position other than the encoded position in the third target region Q3 in the second feature matrix of channel c1. In a possible implementation, the position to be encoded L and at least one first unencoded position in the third target region Q3 in the second feature matrix of channel c1 may be determined as the second target position. The first unencoded position is a position other than the position to be encoded L among all unencoded positions in the third target region Q3 in the second feature matrix of channel c1.
[0360] Referring to Fig. 14a, in a possible implementation, positions other than the coded positions in the third target region Q3 in the second feature matrix of channel c1 (i.e., the coding target position L and all first uncoded positions in the third target region Q3 in the second feature matrix of channel c1), i.e., positions corresponding to the shaded blocks and dotted blocks in the third target region Q3 in Fig. 14a, may be determined as second target positions.
[0361] It is assumed that the position of the feature point D to be coded is (c1,w,h), and the positions of the feature points for linear weighting calculation in the feature map of channel c1 include (c1,w-1,h), (c1,w-1,h-1), (c1,w,h-1), and (c1,w+1,h-1). In this case, the second target positions are (c1,w,h), (c1,w+1,h), (c1,w-1,h+1), (c1,w,h+1), and (c1,w+1,h+1).
[0362] For example, as shown in the vertically striped blocks in FIG. 14a, at least one difference corresponding to at least one encoded feature point in the first target region Q1 in the feature map of channel c1 may be first determined based on at least one feature value of at least one encoded feature point in the first target region Q1 in the feature map of channel c1 and at least one corresponding first probability distribution parameter (at least one first probability distribution parameter corresponding to at least one encoded feature point may be first determined in the manner described in the embodiments of FIGS. 12a to 12d and the embodiments of FIGS. 13a and 13b).
[0363] Assume that the position of the feature point D to be encoded is (c1,w,h), the feature values of the encoded feature points in the first target region Q1 in the feature map of channel c1 are denoted as y[c1][w-1][h], y[c1][w-1][h-1], y[c1][w][h-1], and y[c1][w+1][h-1], and the first probability distribution parameters corresponding to the encoded feature points in the first target region Q1 in the feature map of channel c1 are denoted as m[c1][w-1][h], m[c1][w-1][h-1], m[c1][w][h-1], and m[c1][w+1][h-1]. The difference corresponding to the encoded feature point whose position is (c1, w-1, h) is denoted by Diff[c1][w-1][h], the difference corresponding to the encoded feature point whose position is (c1, w-1, h-1) is denoted by Diff[c1][w-1][h-1], the difference corresponding to the encoded feature point whose position is (c1, w, h-1) is denoted by Diff[c1][w][h-1], and the difference corresponding to the encoded feature point whose position is (c1, w+1, h-1) is denoted by Diff[c1][w+1][h-1].
[0364] In a possible implementation, the difference may be a difference between at least one feature value of at least one encoded feature point and at least one corresponding first probability distribution parameter.
number
number
[0365] In a possible implementation, the difference may be the square of the difference between at least one feature value of at least one encoded feature point and at least one corresponding first probability distribution parameter. Diff[c1][w-1][h] is used as an example, i.e.,
number
[0366] For example, in the training process, a weight matrix (i.e., a preset weight matrix) corresponding to each channel and used for linear weighting is learned. The preset weight matrix may include weight maps for k channels, and the size of the weight map is the same as the size of the linear weighting window, e.g., ks1*ks2. 14 In embodiment a, the preset weight matrix for channel c1 includes a weight map for one channel, and the weight map corresponding to channel c1 includes nine weights, namely ω1, ω2, ω3, ω4, ω5, ω6, ω7, ω8, and ω9.
[0367] For example, based on the weight map corresponding to channel c1, at least one difference corresponding to at least one encoded feature point in the first target region Q1 in the feature map of channel c1 and a second feature of a feature point corresponding to a second target position in the third target region Q3 in the second feature matrix of channel c1 may be linearly weighted to obtain at least one second probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1.
[0368] Based on the above description, it is assumed that the second features of the feature points corresponding to the second target positions in the third target region Q3 in the second feature matrix of channel c1 are represented as φ[c1][w][h], φ[c1][w+1][h], φ[c1][w-1][h+1], φ[c1][w][h+1], and φ[c1][w+1][h+1]. In this case, at least one second probability distribution parameter = φ[c1][w][h][h][h+1] corresponding to the feature point D to be encoded in the feature map of channel c1 is
number
[0369] It should be noted that when determining the encoding target position L in the third target region Q3 in the second feature matrix of channel c1 as the second target position, the manner of determining at least one second probability distribution parameter corresponding to the encoding target feature point D in the feature map of channel c1 is based on the embodiment of FIG. 14a and is referred to as the description of the embodiment of FIG. 12b. Details will not be described again here. When determining the encoding target position L and a part of the first unencoded position in the third target region Q3 in the second feature matrix of channel c1 as the second target positions, the manner of determining at least one second probability distribution parameter corresponding to the encoding target feature point D in the feature map of channel c1 is based on the embodiment of FIG. 14a and is referred to as the description of the embodiment of FIG. 12c. Details will not be described again here.
[0370] Figure 3 c It should be noted that when encoding is performed in the order shown in (2) of the above, at least one second probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1 may be determined based on the embodiment of Fig. 14a with reference to the description of the embodiments of Fig. 13a and Fig. 13b. The details will not be described again here.
[0371] It should be noted that when the number k of channels included in the target channel group is greater than 1, at least one second probability distribution parameter corresponding to the encoding target feature point D may be determined based on Fig. 14a with reference to the description of the embodiment in Fig. 12d. The details will not be described again here.
[0372] FIG. 14b is a diagram of an example process for determining probability distribution parameters. The embodiment of FIG. 14b uses the C channels Estimated information matrix The process of determining the second probability distribution parameters when {right arrow over (X)} includes a first probability distribution parameter matrix of C channels and a second feature matrix of C channels will be described.
[0373] In the embodiment of Figure 14b, the number of channels k included in the target channel group is equal to 1, i.e., ks1 = ks3 = 3, and the encoding order at the encoder side is shown in (1) of Figure 3c. Assume that the target channel group includes the first channel (hereinafter referred to as channel c1). In the feature map of channel c1, gray blocks represent encoded feature points, white blocks represent unencoded feature points, and shaded blocks represent feature points D to be encoded.
[0374] In the embodiment of FIG. 14b, First probability distribution parameter matrix In the second feature matrix of channel c1, gray blocks represent coded positions, white blocks represent uncoded positions, and shaded blocks represent the position to be coded L. The coded positions are the positions of coded feature points, the uncoded positions are the positions of uncoded feature points, and the position to be coded L is the position of the feature point D to be coded.
[0375] 14b, for example, a first target region Q1 centered on a feature point D to be coded in the feature map of channel c1 may be determined based on the size of a linear weighting window, a second target region Q2 centered on a position L to be coded in the first probability distribution parameter matrix of channel c1 may be determined based on the size of a linear weighting window, and a third target region Q3 centered on a position L to be coded in the second feature matrix of channel c1 may be determined based on the size of a linear weighting window. The sizes of the first target region Q1, the second target region Q2, and the third target region Q3 are all the same, ks1*ks2.
[0376] See Figure 14b. For example, the encoded feature points in the first target region Q1, i.e., the feature points corresponding to the gray blocks in the first target region Q1 in Figure 14b, may be determined as feature points for linear weighting calculation in the feature map. Assume that the position of the feature point D to be encoded is (c1, w, h). In this case, the feature point positions for linear weighting calculation in the feature map of channel c1 include (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1).
[0377] 14b. For example, the encoded positions in the second target region Q2, i.e., the positions corresponding to the gray blocks in the second target region Q2 in FIG. 14b, may be determined. Assume that the encoding target position L is (c1, w, h). In this case, the encoded positions in the second target region Q2 in the first probability distribution parameter matrix of channel c1 are (c1, w-1, h), (c1, w-1, h-1), (c1, w, h-1), and (c1, w+1, h-1).
[0378] For example, as shown in the vertically striped blocks in Fig. 14b, at least one difference corresponding to at least one encoded feature point in the first target region Q1 in the feature map of channel c1 may be first determined based on at least one feature value of the at least one encoded feature point in the first target region Q1 and at least one first probability distribution parameter of a feature point corresponding to an encoded position in the second target region Q2. For a method of determining at least one difference corresponding to at least one encoded feature point in the first target region Q1 in the feature map of channel c1, please refer to the description of the embodiment in Fig. 14a. The details will not be described again here.
[0379] For example, the second target position for the linear weighting calculation in the second feature matrix of channel c1 may be determined based on a position other than the encoded position in the third target region Q3 in the second feature matrix of channel c1. In a possible implementation, the position to be encoded L and at least one first unencoded position in the third target region Q3 in the second feature matrix of channel c1 may be determined as the second target position. The first unencoded position is a position other than the position to be encoded L among all unencoded positions in the third target region Q3 in the second feature matrix of channel c1.
[0380] Referring to Fig. 14b, in a possible implementation, positions other than the coded positions in the third target region Q3 in the second feature matrix of channel c1 (i.e., the coding target position L and all first uncoded positions in the third target region Q3 in the second feature matrix of channel c1), i.e., positions corresponding to the blocks filled with diagonal lines and the blocks filled with dots in the third target region Q3 in Fig. 14b, may be determined as second target positions.
[0381] Assume that the position of the feature point D to be encoded is (c1,w,h), and the feature point positions for linear weighting calculation in the feature map of channel c1 include (c1,w-1,h), (c1,w-1,h-1), (c1,w,h-1), and (c1,w+1,h-1). In this case, the second target positions include (c1,w,h), (c1,w+1,h), (c1,w-1,h+1), (c1,w,h+1), and (c1,w+1,h+1).
[0382] For example, in the training process, a weight matrix (i.e., a preset weight matrix) corresponding to each channel and used for linear weighting is learned. The preset weight matrix may include weight maps of k channels, where the size of the weight map is the same as the size of the linear weighting window, e.g., ks1*ks2. In the embodiment of Fig. 12a, the preset weight matrix of channel c1 includes a weight map of one channel, and the weight map corresponding to channel c1 includes nine weights, i.e., ω1, ω2, ω3, ω4, ω5, ω6, ω7, ω8, and ω9.
[0383] For example, based on the weight map corresponding to channel c1, at least one difference corresponding to at least one encoded feature point in the first target region Q1 in the feature map of channel c1 and a second feature of a feature point corresponding to a second target position in the third target region Q3 in the second feature matrix of channel c1 may be linearly weighted to obtain at least one second probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1.
[0384] From the above explanation, the difference corresponding to the encoded feature point whose position is (c1, w-1, h) is represented by Diff[c1][w-1][h], the difference corresponding to the encoded feature point whose position is (c1, w-1, h-1) is represented by Diff[c1][w][h-1], the difference corresponding to the encoded feature point whose position is (c1, w, h-1) is represented by Diff[c1][w][h-1], and the difference corresponding to the encoded feature point whose position is (c1, w+1, h-1) is represented by Diff[c1][w+1][h-1]. The second features of the feature points corresponding to the second target positions in the third target region Q3 in the second feature matrix of channel c1 are represented by φ[c1][w][h], φ[c1][w+1][h], φ[c1][w-1][h+1], φ[c1][w][h+1], and φ[c1][w+1][h+1]. In this case, at least one second probability distribution parameter = corresponding to the feature point D to be encoded in the feature map of the channel c1
number
[0385] It should be noted that when determining the position L to be coded in the third target region Q3 in the second feature matrix of channel c1 as the second target position, reference is made to the description of the embodiment of FIG. 12b for a manner of determining at least one second probability distribution parameter corresponding to the feature point D to be coded in the feature map of channel c1, based on the embodiment of FIG. 14b. Details will not be described again here. When determining the position L to be coded and a part of the first uncoded position in the third target region Q3 in the second feature matrix of channel c1 as the second target positions, reference is made to the description of the embodiment of FIG. 12c for a manner of determining at least one second probability distribution parameter corresponding to the feature point D to be coded in the feature map of channel c1, based on the embodiment of FIG. 14b. Details will not be described again here.
[0386] It should be noted that when encoding is performed in the order shown in (2) of Fig. 3, at least one second probability distribution parameter corresponding to the feature point D to be encoded in the feature map of channel c1 may be determined based on the embodiment of Fig. 14b with reference to the description of the embodiments of Fig. 13a and Fig. 13b. The details will not be described again here.
[0387] It should be noted that when the number k of channels included in the target channel group is greater than 1, at least one second probability distribution parameter corresponding to the encoding target feature point D may be determined based on Fig. 14b with reference to the description of the embodiment in Fig. 12d. The details will not be described again here.
[0388] It should be understood that when the encoder side performs encoding in a different encoding order, the positions of the encoded feature points in the feature map, the first target positions in the first feature matrix, and the second target positions in the second feature matrix may be different from the positions shown in the embodiments of Figures 12a to 12d, 13a and 13b, and 14a and 14b. The positions of the encoded feature points in the feature map, the first target positions in the first feature matrix, and the second target positions in the second feature matrix are not limited in the present application.
[0389] In the embodiment of FIG. 5, if the probability distribution model used by the probability estimation unit V1 is a Gaussian distribution model with a mean value of 0, in other words, the probability distribution parameter is a second probability distribution parameter (i.e., variance ( variance Note that if the estimated information matrix output by the hyper-decoder network contains only the second feature matrix, then the estimated information matrix output by the hyper-decoder network may contain only the second probability distribution parameter (i.e., the variance ( variance )) may be determined in the manner described in the embodiments of Figures 12a-12d and Figures 13a and 13b.
[0390] It should be understood that the method by which the decoder determines at least one probability distribution parameter of the feature point to be decoded corresponds to the method by which the encoder determines at least one probability distribution parameter of the feature point to be encoded. For details, see the description of the embodiment in Figures 12a to 12d, the description of the embodiment in Figures 13a and 13b, and the description of the embodiment in Figures 14a and 14b. The details will not be described again here.
[0391] For example, the present invention further provides a bitstream generating method for generating a bitstream by the encoding method in the above-described embodiment.
[0392] For example, the present application further provides a bitstream transmission method for transmitting a bitstream generated by the bitstream generation method in the above-described embodiment.
[0393] For example, the present application further provides a bitstream storage method for storing the bitstream generated by the bitstream generation method in the above-described embodiment.
[0394] 15 is a block diagram of an apparatus 1500 according to an embodiment of the present application. The apparatus 1500 may include a processor 1501 and a transceiver / transceiver pins 1502, and may optionally further include a memory 1503.
[0395] The components of the device 1500 are coupled to one another via a bus 1504. In addition to a data bus, the bus 1504 further includes a power bus, a control bus, and a status signal bus. However, for clarity of explanation, the various buses in the figure will be referred to as the bus 1504.
[0396] Optionally, memory 1503 may be configured to store instructions for the aforementioned method embodiments. Processor 1501 may be configured to execute the instructions in memory 1503 and to control the receive pin to receive a signal and the transmit pin to transmit a signal.
[0397] The apparatus 1500 may be an electronic device or a chip of an electronic device in the above method embodiments.
[0398] All relevant contents of the steps in the foregoing method embodiments may be cited in the functional descriptions of the corresponding functional modules, and the details will not be described again here.
[0399] An embodiment further provides a computer-readable storage medium, which stores computer instructions, which, when executed on an electronic device, enable the electronic device to perform the relevant method steps described above to implement the encoding and decoding method in the embodiment described above.
[0400] An embodiment further provides a computer program product, which, when run on a computer, enables the computer to perform the relevant steps described above to implement the encoding and decoding method in the above embodiment.
[0401] Additionally, an embodiment of the present application further provides an apparatus. The apparatus may specifically be a chip, a component, or a module. The apparatus may include a processor and a memory connected to each other. The memory is configured to store computer-executable instructions. When the apparatus is executed, the processor executes the computer-executable instructions stored in the memory, enabling the chip to perform the encoding and decoding method in the above-mentioned method embodiment.
[0402] The electronic device, computer-readable storage medium, computer program product, or chip provided in the embodiments is configured to execute the corresponding method provided above. Therefore, for the beneficial effects that can be achieved, please refer to the beneficial effects of the corresponding method provided above. Details will not be described again here.
[0403] Based on the above description of implementation, those skilled in the art may understand that the above division into functional modules is used as an example for illustration purposes for the purpose of convenient and concise description. In actual applications, the above functions may be allocated to different functional modules to be implemented based on requirements. In other words, the internal structure of the device is divided into different functional modules to implement all or part of the above functions.
[0404] In some embodiments provided in the present application, it should be understood that the disclosed devices and methods may be implemented in other manners. For example, the described device embodiments are merely examples. For example, the division into modules or units is merely a logical and functional division, and other divisions may be used in actual implementation. For example, multiple units or components may be combined or integrated into another device, or some features may be omitted or not implemented. Additionally, the shown or discussed mutual couplings, direct couplings, or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electrical, mechanical, or other forms.
[0405] Units described as separate parts may or may not be physically separated, and parts shown as units may be one or more physical units, located in one place, or distributed across multiple places. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0406] Additionally, the functional units in the embodiments of the present application may be integrated into one processing unit, and each unit may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.
[0407] Any content of an embodiment of the present application may be freely combined with any content of the same embodiment, and any combination of the aforementioned content shall fall within the scope of the present application.
[0408] When an integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of the present application may be implemented essentially in the form of a software product, the portion contributing to the prior art may be implemented in the form of a software product, or all or part of the technical solutions may be implemented in the form of a software product. The software product is stored in a storage medium and includes several instructions for instructing a device (which may be a single-chip microcomputer, chip, etc.) or a processor to perform all or part of the steps of the method described in the embodiments of the present application. The aforementioned storage medium includes any medium capable of storing program code, such as a USB flash drive, a removable hard disk drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0409] The embodiments of the present application have been described above with reference to the accompanying drawings. However, the present application is not limited to the specific implementations described above. The specific implementations described above are merely examples and are not limiting. Inspired by the present application, those skilled in the art may make many further modifications without departing from the purpose of the present application and the scope of protection of the claims, and all modifications shall fall within the scope of protection of the present application.
[0410] The methods or algorithms described in connection with the contents disclosed in the embodiments of the present application may be implemented by hardware or by a processor executing software instructions. The software instructions may include corresponding software modules. The software modules may be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, mobile hard disk, compact disk read-only memory (CD-ROM), or any other form of storage medium known in the art. For example, the storage medium may be coupled to the processor so that the processor can read information from and write information to the storage medium. Of course, the storage medium may be a component of the processor. The processor and the storage medium may be disposed within an ASIC.
[0411] Those skilled in the art will understand that the functions described in this application, in one or more of the foregoing examples, may be implemented by hardware, software, firmware, or any combination thereof. When the functions are implemented by software, the functions may be stored on or transmitted as one or more instructions or code in a computer-readable medium. Computer-readable media includes computer-readable storage media and communication media, and communication media includes any medium that enables transmission of a computer program from one place to another. Storage media may be any available medium accessible by a general-purpose or special-purpose computer.
[0412] The embodiments of the present application have been described above with reference to the accompanying drawings. However, the present application is not limited to the specific implementations described above. The specific implementations described above are merely examples and are not limiting. Inspired by the present application, those skilled in the art may make many further modifications without departing from the purpose of the present application and the scope of protection of the claims, and all modifications shall fall within the scope of protection of the present application.
Claims
1. 1. An encoding method comprising: obtaining an image to be encoded; generating a feature map of C channels based on the encoding target image, the feature map including feature values of a plurality of feature points, where C is a positive integer; generating an estimated information matrix for the C channels based on the feature maps for the C channels; grouping the C channels into N channel groups, where N is an integer greater than 1, each channel group containing k channels, the number of channels k included in any two channel groups being the same or different, and k being a positive integer; For at least one target channel group among the N channel groups, determining at least one probability distribution parameter corresponding to a feature point to be coded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be encoded based on the at least one probability distribution parameter corresponding to the feature point to be encoded; encoding the feature points to be encoded based on the probability distribution corresponding to the feature points to be encoded.
2. Determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes:
2. The method of claim 1, further comprising: determining the at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group by linearly weighting the at least one feature value of the at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group.
3. the estimated information matrix includes estimated information of a plurality of feature points, and determining the at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group by linearly weighting the at least one feature value of the at least one encoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes: determining a first target region in a feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group based on the encoding target feature points; and linearly weighting at least one feature value of at least one encoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain the at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group.
4. When k is greater than 1, determining a first target region in a feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group based on the encoding target feature points includes: determining, as first target regions, an area of a predetermined size centered on the feature point to be encoded in a feature map of a first channel and an area of a predetermined size centered on a feature point corresponding to the position of the feature point to be encoded in a feature map of a second channel, wherein the first channel corresponds to the feature point to be encoded and the second channel is a channel other than the first channel in the target channel group; 4. The method of claim 3, comprising determining, as second target regions, a region of a predetermined size centered on a position to be coded in the estimated information matrix of the first channel and a region of a predetermined size centered on a position corresponding to the position to be coded in the estimated information matrix of the second channel, wherein the position to be coded is the position of the feature point to be coded.
5. and linearly weighting at least one feature value of at least one encoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain the at least one probability distribution parameter corresponding to the encoding target feature point corresponding to the target channel group, the at least one probability distribution parameter being calculated based on the at least one feature value of the at least one encoded feature point in the first target region and estimated information of at least one feature point in the second target region. determining a first target location based on a location in the second target area other than an encoded location, the encoded location being a location of at least one of the at least one encoded feature point; and linearly weighting the at least one feature value of the at least one encoded feature point in the first target region and estimated information of feature points corresponding to the first target position to obtain the at least one probability distribution parameter corresponding to the feature points to be encoded corresponding to the target channel group.
6. When k is greater than 1, determining a first target position based on a position other than an encoded position in the second target region includes: determining, as first target positions, the position to be coded and at least one other uncoded position in the second target region in the estimated information matrix of the first channel, and the position corresponding to the position to be coded and at least one other uncoded position in the second target region in the estimated information matrix of the second channel; The method of claim 5 , wherein the first channel corresponds to the feature point to be encoded, and the second channel is a channel other than the first channel in the target channel group.
7. When k is greater than 1, determining a first target position based on a position other than an encoded position in the second target region includes: determining, as a first target position, the encoding target position in the second target region in the estimated information matrix of the first channel and the position corresponding to the encoding target position in the second target region in the estimated information matrix of the second channel; The method of claim 5 , wherein the first channel corresponds to the feature point to be encoded, and the second channel is a channel other than the first channel in the target channel group.
8. obtaining the at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group by linearly weighting the at least one feature value of the at least one encoded feature point in the first target region and estimated information of a feature point corresponding to the first target position, Obtaining a preset weight matrix corresponding to the first channel corresponding to the feature point to be encoded, wherein the weight matrix includes weight maps of the k channels; and performing linear weighting on the at least one feature value of the at least one encoded feature point in the first target region and the estimated information of the feature point corresponding to the first target position based on the weight maps of the k channels to obtain the at least one probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group.
9. the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second feature matrix of the C channels, the first feature matrix includes first features of a plurality of feature points, the second feature matrix includes second features of a plurality of feature points, and the probability distribution parameters include at least one first probability distribution parameter and at least one second probability distribution parameter; Determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes: determining at least one first probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group; determining at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
10. the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second probability distribution parameter matrix of the C channels, the first feature matrix includes first features of a plurality of feature points, the second probability distribution parameter matrix includes second probability distribution parameters of a plurality of feature points, and the at least one probability distribution parameter includes at least one first probability distribution parameter; Determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes: determining at least one first probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be encoded based on the at least one probability distribution parameter corresponding to the feature point to be encoded, determining at least one second probability distribution parameter corresponding to the encoding target feature point corresponding to the target channel group based on a second probability distribution parameter matrix corresponding to the target channel group; determining the probability distribution corresponding to the feature point to be encoded based on the at least one first probability distribution parameter and the at least one second probability distribution parameter corresponding to the feature point to be encoded.
11. the estimated information matrix of the C channels includes a first probability distribution parameter matrix of the C channels and a second feature matrix of the C channels, the first probability distribution parameter matrix includes first probability distribution parameters of a plurality of feature points, the second feature matrix includes second features of a plurality of feature points, and the at least one probability distribution parameter includes at least one second probability distribution parameter; Determining at least one probability distribution parameter corresponding to a feature point to be encoded corresponding to the target channel group based on at least one feature value of at least one encoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group includes: determining at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be encoded based on the at least one probability distribution parameter corresponding to the feature point to be encoded, determining at least one first probability distribution parameter corresponding to the encoding target feature point corresponding to the target channel group based on a first probability distribution parameter matrix corresponding to the target channel group; determining the probability distribution corresponding to the feature point to be encoded based on the at least one first probability distribution parameter and the at least one second probability distribution parameter corresponding to the feature point to be encoded.
12. determining at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group based on the at least one feature value of the at least one encoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group, determining a first target region in a feature map corresponding to the target channel group and a third target region in the second feature matrix corresponding to the target channel group based on the encoding target feature points; determining at least one difference corresponding to the at least one encoded feature point in the first target region based on at least one feature value of the at least one encoded feature point in the first target region and at least one corresponding first probability distribution parameter; and performing linear weighting on a second feature of at least one feature point in the third target region and the at least one difference corresponding to the at least one encoded feature point in the first target region to obtain the at least one second probability distribution parameter corresponding to the feature point to be encoded corresponding to the target channel group.
13. A bitstream generation method adapted to generate a bitstream according to the encoding method of any one of claims 1 to 12.
14. A bitstream storage method adapted to store the bitstream generated by the bitstream generation method of claim 13.
15. A bitstream transmission method configured to transmit the bitstream generated by the bitstream generation method according to claim 13.
16. 1. A decoding method comprising: receiving a bitstream; decoding the bitstream to obtain C channel estimation information matrices, where C is a positive integer; decoding the bitstream based on the estimated information matrix of the C channels to obtain feature values of feature points of the C channels; determining, for a feature point to be decoded, a target channel group to which a channel corresponding to the feature point to be decoded belongs from N channel groups obtained by grouping the C channels, where each channel group includes k channels, the number of channels included in any two channel groups, k, being the same or different, k being a positive integer, and N being an integer greater than 1; determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be decoded based on the at least one probability distribution parameter corresponding to the feature point to be decoded; and decoding the feature point to be decoded based on the probability distribution corresponding to the feature point to be decoded to obtain a feature value; performing reconstruction based on the feature maps of the C channels and outputting a reconstructed image.
17. determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group, 17. The method of claim 16, further comprising: determining the at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting the at least one feature value of the at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group.
18. the estimated information matrix includes estimated information of a plurality of feature points, and determining the at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting the at least one feature value of the at least one decoded feature point corresponding to the target channel group and the estimated information matrix corresponding to the target channel group includes: determining, based on the feature points to be decoded, a first target region in a feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group; and linearly weighting at least one feature value of at least one decoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain the at least one probability distribution parameter corresponding to the feature point to be decoded.
19. When k is greater than 1, determining a first target region in a feature map corresponding to the target channel group and a second target region in the estimated information matrix corresponding to the target channel group based on the feature points to be decoded includes: determining, as first target regions, an area of a predetermined size centered on the feature point to be decoded in a feature map of a first channel and an area of a predetermined size centered on a feature point corresponding to a position of the feature point to be decoded in a feature map of a second channel, wherein the first channel corresponds to the feature point to be decoded, and the second channel is a channel other than the first channel in the target channel group; 19. The method of claim 18, comprising: determining, as second target regions, a region of a predetermined size centered on a position to be decoded in the estimated information matrix of the first channel, and a region of a predetermined size centered on a position corresponding to the position to be decoded in the estimated information matrix of the second channel, wherein the position to be decoded is the position of the feature point to be decoded.
20. and linearly weighting at least one feature value of at least one decoded feature point in the first target region and estimated information of at least one feature point in the second target region to obtain the at least one probability distribution parameter corresponding to the feature point to be decoded, the at least one probability distribution parameter including: determining a first target location based on a location in the second target area other than a decoded location, the decoded location being a location of at least one of the at least one decoded feature point; and linearly weighting the at least one feature value of the at least one decoded feature point in the first target region and estimated information of a feature point corresponding to the first target position to obtain the at least one probability distribution parameter corresponding to the feature point to be decoded.
21. When the k is greater than 1, determining a first target position based on a position other than the decoded position in the second target area includes: determining, as first target positions, the position to be decoded and at least one other undecoded position in the second target area in the estimated information matrix of the first channel, and the position corresponding to the position to be decoded and at least one other undecoded position in the second target area in the estimated information matrix of the second channel; The method of claim 20 , wherein the first channel corresponds to the feature point to be decoded, and the second channel is a channel other than the first channel in the target channel group.
22. When the k is greater than 1, determining a first target position based on a position other than the decoded position in the second target area includes: determining, as a first target position, the decoding target position in the second target region in the estimated information matrix of the first channel and the position corresponding to the decoding target position in the second target region in the estimated information matrix of the second channel; The method of claim 20 , wherein the first channel corresponds to the feature point to be decoded, and the second channel is a channel other than the first channel in the target channel group.
23. acquiring the at least one probability distribution parameter corresponding to the feature point to be decoded by linearly weighting the at least one feature value of the at least one decoded feature point in the first target region and estimated information of a feature point corresponding to the first target position, Obtaining a preset weight matrix corresponding to the first channel corresponding to the feature point to be decoded, wherein the weight matrix includes weight maps of the k channels; and performing linear weighting on the at least one feature value of the at least one decoded feature point in the first target region and the estimated information of the feature point corresponding to the first target position based on the weight maps of the k channels to obtain the at least one probability distribution parameter corresponding to the feature point to be decoded.
24. the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second feature matrix of the C channels, the first feature matrix includes first features of a plurality of feature points, the second feature matrix includes second features of a plurality of feature points, and the at least one probability distribution parameter includes at least one first probability distribution parameter and at least one second probability distribution parameter; determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group, determining at least one first probability distribution parameter corresponding to the feature point to be decoded based on the at least one feature value of the at least one decoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group; determining at least one second probability distribution parameter corresponding to the feature point to be decoded based on the at least one feature value of the at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group.
25. the estimated information matrix of the C channels includes a first feature matrix of the C channels and a second probability distribution parameter matrix of the C channels, the first feature matrix includes first features of a plurality of feature points, the second probability distribution parameter matrix includes second probability distribution parameters of a plurality of feature points, and the at least one probability distribution parameter includes at least one first probability distribution parameter; determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group, determining at least one first probability distribution parameter corresponding to the feature point to be decoded based on the at least one feature value of the at least one decoded feature point corresponding to the target channel group and a first feature matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be decoded based on the at least one probability distribution parameter corresponding to the feature point to be decoded, determining at least one second probability distribution parameter of the feature point to be decoded based on a second probability distribution parameter matrix corresponding to the target channel group; determining the probability distribution corresponding to the feature point to be decoded based on the at least one first probability distribution parameter and the at least one second probability distribution parameter corresponding to the feature point to be decoded.
26. the estimated information matrix of the C channels includes a first probability distribution parameter matrix of the C channels and a second feature matrix of the C channels, the first probability distribution parameter matrix includes first probability distribution parameters of a plurality of feature points, the second feature matrix includes second features of a plurality of feature points, and the at least one probability distribution parameter includes at least one second probability distribution parameter; determining at least one probability distribution parameter corresponding to the feature point to be decoded based on at least one feature value of at least one decoded feature point corresponding to the target channel group and an estimated information matrix corresponding to the target channel group, determining at least one second probability distribution parameter corresponding to the feature point to be decoded based on the at least one feature value of the at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group; determining a probability distribution corresponding to the feature point to be decoded based on the at least one probability distribution parameter corresponding to the feature point to be decoded, determining at least one first probability distribution parameter corresponding to the feature point to be decoded based on a first probability distribution parameter matrix corresponding to the target channel group; determining the probability distribution corresponding to the feature point to be decoded based on the at least one first probability distribution parameter and the at least one second probability distribution parameter corresponding to the feature point to be decoded.
27. determining at least one second probability distribution parameter corresponding to the feature point to be decoded based on the at least one feature value of the at least one decoded feature point corresponding to the target channel group and a second feature matrix corresponding to the target channel group, determining a first target region in a feature map corresponding to the target channel group and a third target region in the second feature matrix corresponding to the target channel group based on the feature points to be decoded; determining at least one difference corresponding to the at least one decoded feature point in the first target region based on at least one feature value of the at least one decoded feature point in the first target region and a corresponding first probability distribution parameter; and performing linear weighting on a second feature of the at least one feature point in the third target region and the at least one difference corresponding to the at least one decoded feature point in the first target region to obtain the at least one second probability distribution parameter corresponding to the feature point to be decoded.
28. An encoder configured to perform the encoding method according to any one of claims 1 to 12.
29. A decoder configured to perform the decoding method according to any one of claims 16 to 27.
30. An electronic device a memory and a processor, the memory coupled to the processor; The memory stores program instructions that, when executed by the processor, enable the electronic device to perform the method of any one of claims 1 to 12 or 16 to 27.
31. 28. A chip comprising one or more interface circuits and one or more processors, the interface circuits configured to receive signals from a memory of an electronic device and to send the signals to the processor, the signals comprising computer instructions stored in the memory, the chip being capable of performing a method according to any one of claims 1 to 12 or 16 to 27 when the processor executes the computer instructions.
32. A computer-readable storage medium storing a computer program, the computer program being capable of causing the computer or processor to perform a method according to any one of claims 1 to 12 or 16 to 27 when the computer program is run on the computer or processor.
33. A software program which, when executed by a computer or a processor, enables said computer or said processor to carry out the method of any one of claims 1 to 12 or 16 to 27.
Citation Information
Patent Citations
Image processing method and related device
JP2023512570A
Method and device for processing multi-channel feature map images
US20180350110A1
Image processing method and related device
WO2021155832A1
Signaling of feature map data
WO2022086376A1