Multi-weight inter-component self-prediction video compression method and device capable of reducing number of components
By dynamically selecting weight values at the codec block level to perform inter-component self-prediction of multi-component data, the problem of limited inter-component prediction in the prior art is solved, and efficient compression of multi-component data is achieved, and suitable for multiple data types lossy and lossless compression.
Patent Information
- Application Number
- CN202411593925.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-11
- Filing Date
- 2020-03-11
- Publication Date
- 2024-12-13
AI Technical Summary
In the prior art, only a predetermined part of the components is used for prediction, resulting in limited effect of inter-component prediction and failure to fully utilize the correlation between multi-component data to improve coding efficiency.
Dynamically select multiple weight values at the codec block level for self-prediction between components of multi-component data, discarding the prediction difference components close to zero, thereby reducing the number of components and improving coding efficiency.
The inter-component self-prediction is performed by dynamically selecting the weight value, which significantly reduces the amount of data, improves coding efficiency, and is suitable for lossy and lossless compression of various data types.
Smart Images

Figure CN119135916A_ABST
Abstract
Description
[0001] This application is a divisional application of the following original application: Filing date of original application: 2020-03-11 Application number of the original application: 2020101656174 Title of the invention of the original application: Method and device for self-prediction data compression between components with multiple weights to reduce the number of components Technical Field
[0002] The present invention relates to a coding and decoding system for lossy or lossless compression of data, and in particular to a method and device for coding and decoding multi-component data such as color images and video data. Background Art
[0003] As human society enters the era of big data, cloud computing, mobile computing, cloud-mobile computing, ultra-high definition (4K) and ultra-ultra-high definition (8K) video image resolution, 4G / 5G communications, and virtual reality, ultra-high compression ratio and extremely high quality data compression for various data, including big data, image data, and video data has become an indispensable technology.
[0004] A data set is a collection of data samples, also known as data elements (e.g., bytes, bits, pixels, spatial sampling points, transform domain coefficients). When encoding (and correspondingly decoding) a data set arranged in a certain spatial (one-dimensional, two-dimensional, or multi-dimensional) shape and having a certain number of elements and a certain sampling format (e.g., a file, a one-dimensional data queue, a two-dimensional data file, a frame of image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, a sequence of continuously changing three-dimensional scenes), especially a two-dimensional or larger data set, the data set is usually divided into a subset of blocks with a predetermined shape and size (i.e., the number of elements), called coding blocks (from the perspective of decoding, also called decoding blocks, collectively referred to as coding and decoding blocks), and is encoded or decoded one block at a time in units of coding and decoding blocks. At any time, the coding block being encoded is called the current coding block. At any time, the decoding block being decoded is called the current decoding block. The current coding block or the current decoding block is collectively referred to as the current coding and decoding block or simply the current block.
[0005] The data element being encoded or decoded (referred to as element for short) is called the current encoded data element or the current decoded data element, collectively referred to as the current data element, referred to as the current element for short. An element consists of N components (usually 1≤N≤5), so both the data set and the codec block are also composed of N components. For example, the elements of a frame of an image, i.e., pixels, are arranged in a rectangular shape with a size (resolution) of 1920 (width) x 1080 (height), and are composed of 3 components: G (green) component, B (blue) component, R (red) component or Y (luminance) component, U (Cb chrominance) component, and V (Cr chrominance) component.
[0006] Elements or their components are collectively referred to as sample values. Generally, it can be determined from the context whether a sample value refers to an element or a component of an element. If it is not possible to determine from the context whether a sample value refers to an element or a component of an element, a sample value refers to an element and / or a component of an element.
[0007] Many data sets and codec blocks that are the objects of encoding have a sampling format. For example, for computer-generated images containing graphics and text, a sampling format called 4:4:4 (abbreviated as 444) is usually used, that is, the three components of the data set have the same sampling rate and size (that is, the number of component samples). For natural images and videos captured by cameras, a sampling format called 4:2:0 (abbreviated as 420) is usually used, that is, the sampling rate and size of two components (D component and E component) called secondary components of a data set (such as an image or video) with a rectangular shape and three components are respectively one-fourth of the other component (F component) called the primary component. In this case, one D component D[i][j] and one E component E[i][j] correspond to four (2×2) F components F[2i][2j], F[2i+1][2j], F[2i][2j+1], F[2i+1][2j+1]. If the resolution of the F component is 2M×2N, that is, the F component of the data set is F = {F[i][j]: i = 0~2M-1, j = 0~2N-1}, then the resolutions of the D component and the E component are both M×N, that is, the D component and the E component of the data set are D = {D[i][j]: i = 0~M-1, j = 0~N-1} and E = {E[i][j]: i = 0~M-1, j = 0~N-1}. In situations where higher video quality is required, a sampling format called 4:2:2 (abbreviated as 422) is often used, that is, the sampling rate and size of the two secondary components (D component and E component) of a data set with a rectangular shape and three components (such as an image or video) are half of the other main component (F component). In this case, in one direction (such as horizontal direction) of a data set (such as an image or video), one D component D[i][j] and one E component E[i][j] correspond to two (2×1) F components F[2i][j] and F[2i+1][j]. If the resolution of the F component is 2M×N, that is, the F component of the data set is F = {F[i][j]: i = 0~2M-1, j = 0~N-1}, then the resolutions of the D component and the E component are both M×N, that is, the D component and the E component of the data set are D = {D[i][j]: i = 0~M-1, j = 0~N-1} and E = {E[i][j]: i = 0~M-1, j = 0~N-1}. In images and videos using the YUV color format, the above-mentioned F, D, and E components are usually the Y, U, and V components, respectively. In images and videos using the RGB color format, the above-mentioned F, D, and E components are usually G, B, and R components or G, R, and B components. When the data is an image or video, the sampling format is often also called the chroma format.
[0008] An image or video in a 444 sampling format is downsampled by 2:1 in one direction (such as horizontal or vertical) of the D and E components to produce a 422 sampling format, and a 420 sampling format is produced by horizontal 2:1 downsampling and vertical 2:1 downsampling (overall 4:1 downsampling) of the D and E components.
[0009] There is usually a certain degree of correlation between the components of multi-component data. Therefore, using inter-component prediction can effectively play a role in data compression.
[0010] Data suitable for inter-component prediction include original data, data before other predictions such as adjacent pixel prediction, string prediction, and inter-frame prediction of video, data after other predictions such as adjacent pixel prediction, string prediction, and inter-frame prediction of video, other data in various stages of encoding and decoding, and residual data.
[0011] In the prior art, only a predetermined part of the components is used to predict a predetermined different part of the components. The number of components before and after the inter-component prediction generally remains unchanged. Therefore, the role of the existing inter-component prediction is limited. Summary of the invention
[0012] In order to make full use of the correlation between components to improve the coding efficiency, the present invention provides a data compression method and device for dynamically selecting one of multiple weight values at the codec block level to perform self-prediction between components of multi-component data to reduce the number of components. In the self-prediction of multiple components, each component uses the weighted values of other internal components to generate prediction differences. When selecting several predetermined weight values from the multiple weight values, at least one prediction difference component with a very small value close to zero is discarded, thereby reducing the number of components and thus significantly reducing the amount of data, thereby improving coding efficiency.
[0013] The primary technical feature of the present invention is that when encoding and decoding data having multiple (two or more) components, a part of the encoding and decoding blocks selects the most appropriate weight value to perform inter-component self-prediction to reduce the number of components, and another part of the encoding and decoding blocks selects the most appropriate other weight value to perform inter-component self-prediction or does not actually perform inter-component prediction. In this case, the number of components is not reduced.
[0014] The most basic unique technical feature of the encoding method or device of the present invention is to dynamically select one of multiple weight values for at least two components in the multi-component data as a specific weight value used when performing inter-component self-prediction encoding on a coding block to reduce the number of components, and the output compressed data code stream contains at least part or all of the information required to indicate whether the coding block uses inter-component self-prediction and / or indicates the specific weight value used. Figure 1 It is a schematic diagram of the encoding method or device of the present invention.
[0015] The most basic and unique technical feature of the decoding method or device of the present invention is to parse the compressed data bitstream, and at least obtain part or all of the information required to indicate whether an inter-component self-prediction is used for a decoding block and / or the specific weight value adopted thereby; if the information indicates that the inter-component self-prediction is used for the decoding block, then at least use the specific weight value to perform inter-component self-prediction decoding on the decoding block. Figure 2 It is a schematic diagram of the decoding method or device of the present invention.
[0016] According to one aspect of the present invention, there is provided an encoding method or device for compressing at least a predetermined K (2 ≤ K ≤ L) components in data having L (L ≥ 2) components, which at least includes steps or modules for performing one or a combination of the following functions and operations: Dynamically select one of a plurality of weight values as the specific weight value used for inter-component self-prediction encoding of at least K components of the encoding block at least according to the characteristics of the correlation between the components of an encoding block; Perform inter-component self-prediction encoding on at least K components of an encoding block using at least the specific weight value, that is, for each of the J (1 ≤ J ≤ K) components among the K components, construct a predicted value of the component from other components, and generate J prediction differences at least from the value of the component and / or the predicted value of the component; for at least a part of the encoding blocks, J < K, so as to play a role in reducing the number of components; Write at least part or all of the information required to indicate whether at least K components of an encoding block use K inter-component self-predictions and / or the specific weight value adopted for the self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by the self-prediction into the compressed data bitstream.
[0017] From the first perspective, the present invention provides an encoding method for compressing at least a predetermined K (2 ≤ K ≤ L) components in data having L (L ≥ 2) components, which is characterized by at least including one or a combination of the following steps: Step 1) Dynamically select one of a plurality of weight values as the specific weight value used for inter-component self-prediction encoding of at least K components of the encoding block at least according to the characteristics of the correlation between the components of an encoding block; Step 2) Perform inter-component self-prediction encoding on at least K components of an encoding block using at least the specific weight value, that is, for each of the J (1 ≤ J ≤ K) components among the K components, construct a predicted value of the component from other components, and generate J prediction differences at least from the value of the component and / or the predicted value of the component; for at least a part of the encoding blocks, J < K, so as to play a role in reducing the number of components; Step 3) Write at least part or all of the information indicating whether at least K components representing one coding block use inter-component self-prediction and / or the specific weight values adopted for representing self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by self-prediction into the compressed data bitstream.
[0018] From a second perspective, the present invention provides an encoding apparatus for compressing at least a predetermined K (2 ≤ K ≤ L) components in data having L (L ≥ 2) components, characterized by at least including one or a combination of the following modules: 1) Weight value selection module: Dynamically select one of multiple weight values as the specific weight value adopted for inter-component self-prediction encoding of at least K components of the coding block at least according to the characteristics of the correlation between the components of one coding block; 2) Inter-component self-prediction encoding module: At least use a specific weight value to perform inter-component self-prediction encoding on at least K components of a coding block, that is, for each of the J (1 ≤ J ≤ K) components among the K components, construct a predicted value of the component from other components, and generate J prediction differences at least from the value of the component and / or the predicted value of the component; for at least some coding blocks, J < K, so as to play a role in reducing the number of components; 3) Compressed data bitstream generation module: Write at least part or all of the information indicating whether at least K components representing one coding block use inter-component self-prediction and / or the specific weight values adopted for representing self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by self-prediction into the compressed data bitstream.
[0019] According to another aspect of the present invention, there is provided a decoding method or apparatus for compressing at least a predetermined K (2 ≤ K ≤ L) components in data having L (L ≥ 2) components, at least including steps or modules that complete one or a combination of the following functions and operations: Parse the compressed data bitstream to obtain at least part or all of the information indicating whether at least K components representing one decoding block use inter-component self-prediction and / or the specific weight values adopted for representing self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by self-prediction; Dynamically select one of multiple weight values as the specific weight value adopted for inter-component self-prediction decoding of at least K components of a decoding block at least according to the information obtained from the compressed data bitstream; At least using specific weight values, at least using the reconstructed values of J (1 ≤ J ≤ K) prediction differences, perform K-component self-prediction decoding on at least K components of a decoded block, that is, at least from the reconstructed values of J prediction differences, through operations including weighted combination, generate the reconstructed values of K components; at least for a part of the decoded blocks, J < K, to play a role in reducing the number of components.
[0020] From a third perspective, the present invention provides a decoding method for compressing at least K (2 ≤ K ≤ L) predetermined components in data having L (L ≥ 2) components, characterized by at least including one or a combination of the following steps: Step 1) Parse the compressed data bitstream, and at least obtain partial or all of the information required to represent whether at least K components of a decoded block use K-component self-prediction and / or the specific weight values adopted for self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by self-prediction; Step 2) At least according to the information obtained from the compressed data bitstream, dynamically select one of multiple weight values as the specific weight value adopted for performing K-component self-prediction decoding on at least K components of a decoded block; Step 3) At least using specific weight values, at least using the reconstructed values of J (1 ≤ J ≤ K) prediction differences, perform K-component self-prediction decoding on at least K components of a decoded block, that is, at least from the reconstructed values of J prediction differences, through operations including weighted combination, generate the reconstructed values of K components; at least for a part of the decoded blocks, J < K, to play a role in reducing the number of components.
[0021] From a fourth perspective, the present invention provides a decoding device for compressing at least K (2 ≤ K ≤ L) predetermined components in data having L (L ≥ 2) components, characterized by at least including one or a combination of the following modules: 1) Compressed data bitstream parsing module: Parse the compressed data bitstream, and at least obtain partial or all of the information required to represent whether at least K components of a decoded block use K-component self-prediction and / or the specific weight values adopted for self-prediction and / or the J (1 ≤ J ≤ K) prediction differences generated by self-prediction; 2) Weight value selection module: At least according to the information obtained from the compressed data bitstream, dynamically select one of multiple weight values as the specific weight value adopted for performing K-component self-prediction decoding on at least K components of a decoded block; 3) Inter-component self-prediction decoding module: At least using specific weight values, at least using the reconstructed values of J (1 ≤ J ≤ K) prediction differences, perform K inter-component self-predictions decoding on at least K components of a decoded block, that is, at least from the reconstructed values of J prediction differences, through operations including weighted combination, generate the reconstructed values of K components; at least for a part of the decoded blocks, J < K, to play a role in reducing the number of components.
[0022] The present invention is applicable to the encoding and decoding of lossy compression of data, and the present invention is also equally applicable to the encoding and decoding of lossless compression of data. The present invention is applicable to the encoding and decoding of image data, and the present invention is also equally applicable to the encoding and decoding of any other one-dimensional, two-dimensional or multi-dimensional data.
[0023] In the present invention, the data includes one or a combination of the following types of data 1) One-dimensional data; 2) Two-dimensional data; 3) Multi-dimensional data; 4) Graphics; 5) Fractal graphics; 6) Images; 7) Sequences of images; 8) Videos; 9) Three-dimensional scenes; 10) Sequences of continuously changing three-dimensional scenes; 11) Virtual reality scenes; 12) Sequences of continuously changing virtual reality scenes; 13) Images in pixel form; 14) Prediction residual data of images or videos; 15) Transformed domain data of images or videos; 16) Quantized data of images or videos; 17) Sets of two-dimensional or more than two-dimensional bytes; 18) Sets of two-dimensional or more than two-dimensional bits; 19) Sets of pixels; 20) Sets of pixel components.
[0024] In the present invention, in the case where the data is generated from images, sequences of images, videos, etc., the encoded block or decoded block is an encoded area or a decoded area of an image, including at least one of the following: the entire image, a sub-image of the image, a slice, a tile, a macroblock, a largest coding unit (LCU), a coding tree unit (CTU), a coding unit (CU), a sub-region of the CU, a sub-coding unit (SubCU), a prediction unit (PU), a sub-region of the PU, a sub-prediction unit (SubPU), a transform unit (TU), a sub-region of the TU, a sub-transform unit (SubTU).
[0025] In the encoding method or device or the decoding method or device of the present invention, part or all of the information required to indicate whether at least K components of the coding and decoding block use inter-component self-prediction and / or indicate a specific weight value used for self-prediction and / or indicate a prediction difference generated by self-prediction exists in one or more of the following places in the compressed data code stream: 1) Sequence parameter set; 2) Image parameter set; 3) Sequence header; 4) Image header; 5) Strip head; 6) CTU header; 7) CU head; 8) Codec block header; The information is one or more syntax elements that exist directly, are implicitly derived, or are mixed; the syntax elements that exist directly are composed of one or more bit strings in the compressed data code stream; the syntax elements that are implicitly derived are syntax elements derived from other coding parameters and / or codec variables and / or other syntax elements in the compressed data code stream or predetermined syntax element default values; the mixed syntax elements are syntax elements that are partially directly present (i.e., composed of one or more bit strings in the compressed data code stream) and partially implicitly derived (i.e., derived from other coding parameters and / or codec variables and / or other syntax elements in the compressed data code stream and / or predetermined syntax element default values).
[0026] The technical features of the present invention are described above by using several specific examples. Those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 It is a schematic diagram of the encoding method or device of the present invention.
[0028] Figure 2 It is a schematic diagram of the decoding method or device of the present invention.
[0029] Figure 3 It is the position relationship of the secondary component sampling points relative to the main component sampling points in the four downsampling types called type 0, type 1, type 2, and type 3 respectively. DETAILED DESCRIPTION
[0030] The following are more implementation details of the present invention.
[0031] Example 1 In the encoding method or device or the decoding method or device, the data having L components is an image or video having three components, namely, L=3, including one main component and two secondary components; K is 3 or 2; when K is 2, the K components are the main component and one of the two secondary components or the two secondary components.
[0032] Example 2 In the encoding method or device or the decoding method or device, the data having L components is an image or video having three components, namely, L=3, including one main component and two secondary components, and the three components are one of the following: Y brightness component, U chrominance component, V chrominance component, Y brightness component, Cb chrominance component, Cr chrominance component, Y brightness component, Cb chrominance component, Cr chrominance component, R red component, G green component, B blue component, G green component, R red component, B blue component, G green component, B blue component, R red component, The K is 3 or 2; when K is 2, the K components are the main component and one of the two sub-components or the two sub-components.
[0033] Embodiment 3 In the encoding method or device or the decoding method or device, The data having L components is an image or video having three components, namely, L=3, including one main component and two secondary components, K is 2, and the K components are the two secondary components; The self-prediction encoding between two sub-components is to construct the prediction value of another sub-component from one sub-component, and generate 1 prediction difference value or 2 prediction difference values at least according to the selected specific weight value, while the self-prediction decoding between two sub-components is to generate the reconstructed values of the two sub-components through an operation including weighted combination, at least from the reconstructed value of 1 prediction difference value or from the reconstructed values of 2 prediction differences at least according to the selected specific weight value.
[0034] Example 4 In the encoding method or device or the decoding method or device, the data is an image or video in a 422 sampling format having three components, namely, one main component and two sub-components, and the sampling rate and size of the two sub-components are respectively half of the sampling rate and size of the main component.
[0035] Example 5 In the encoding method or device or the decoding method or device, the data is an image or video in a 420 sampling format having three components, namely, one main component and two sub-components, and the sampling rate and size of the two sub-components are respectively one quarter of the sampling rate and size of the main component.
[0036] Example 6 In the encoding method or device or the decoding method or device described in Example 5, the 4:1 downsampling is to calculate the weighted average value of the I×J principal component values according to one of the following downsampling formulas as the value of the downsampled principal component: Downsampling formula 1: Calculate the value of the downsampled principal component from the values of the 2×2 principal components P(2i,2j), P(2i+1,2j), P(2i,2j+1), P(2i+1,2j+1) P 420 (i, j) = ((P(2i,2j)+P(2i+1,2j)+P(2i,2j+1)+P(2i+1,2j+1)+2)>>2, where >> is a binary right shift; Downsampling formula 2: Calculate the value of the downsampled principal component from the values of the 3×2 principal components P(2i-1,2j), P(2i,2j), P(2i+1,2j), P(2i-1,2j+1), P(2i,2j+1), P(2i+1,2j+1) P 420 (i, j) = (P(2i-1,2j)+2P(2i,2j)+P(2i+1,2j)+P(2i-1,2j+1)+2P(2i,2j+1)+P(2i+1,2j+1)+4)>>3; Downsampling formula 3: Calculate the value of the downsampled principal component from the values of the 4×2 principal components P(2i-1,2j), P(2i,2j), P(2i+1,2j), P(2i+2,2j), P(2i-1,2j+1), P(2i,2j+1), P(2i+1,2j+1), P(2i+2,2j+1) P 420 (i, j) = (P(2i-1,2j)+3P(2i,2j)+3P(2i+1,2j)+P(2i+2,2j)+P(2i-1,2j+1)+3P(2i,2j+1)+3P(2i+1,2j+1)+ P(2i+2,2j+1)+8)>>4; Downsampling formula 4: Calculate the value of the downsampled principal component from the values of the 3×3 principal components P(2i-1,2j-1), P(2i,2j-1), P(2i+1,2j-1), P(2i-1,2j), P(2i,2j), P(2i+1,2j), P(2i-1,2j+1), P(2i,2j+1), P(2i+1,2j+1) P 420 (i, j) = (P(2i-1,2j-1)+2P(2i,2j-1)+P(2i+1,2j-1)+2P(2i-1,2j)+4P(2i,2j)+2P(2i+1,2j)+P(2i-1,2j+1)+ 2P(2i,2j+1)+P(2i+1,2j+1)+8)>>4; Downsampling formula 5: Calculate the value of the downsampled principal component from the values of the 2×3 principal components P(2i,2j-1), P(2i+1,2j-1), P(2i,2j), P(2i+1,2j), P(2i,2j+1), P(2i+1,2j+1) P 420 (i, j) = ((P(2i,2j-1)+P(2i+1,2j-1)+2P(2i,2j)+2P(2i+1,2j)+P(2i,2j+1)+P(2i+1,2j+1)+4)>>3.
[0037] The downsampling formula used is usually determined by the position relationship of the subcomponent sampling points relative to the main component sampling points in the specific downsampling type type. Figure 3 It is the position relationship of the secondary component sampling points relative to the main component sampling points in the four downsampling types called type 0, type 1, type 2, and type 3 respectively.
[0038] Example 7 In the encoding method or device or the decoding method or device described in Example 5, there is information in the compressed data code stream that specifies the selection of one of several predetermined down-sampling formulas to perform a down-sampling operation on the principal component.
[0039] Example 8 In the encoding method or apparatus or the decoding method or apparatus of Embodiment 7, the information for specifying the selection of one of several predetermined downsampling formulas to perform downsampling operation on the principal component is present in one or more of the following places in the compressed data code stream: 1) Sequence parameter set; usually one or more syntax elements that exist directly, are implicitly derived, or are mixed in the sequence parameter set; 2) Picture parameter set; usually one or more syntactic elements of a picture parameter set that exist directly, are derived implicitly, or are mixed; 3) Sequence header; usually one or more syntactic elements that exist directly, are implicitly derived, or are mixed in the sequence header; 4) Image header; usually one or more syntactic elements that exist directly, are derived implicitly, or are mixed in the image header; The directly existing syntax elements are composed of one or more bit strings in the compressed data code stream. The implicitly derived syntax elements are syntax elements derived from other coding parameters and / or codec variables and / or other syntax elements of the compressed data code stream or predetermined syntax element default values. The mixed syntax elements are syntax elements that are partially directly existing (i.e., composed of one or more bit strings in the compressed data code stream) and partially implicitly derived (i.e., derived from other coding parameters and / or codec variables and / or other syntax elements of the compressed data code stream and / or predetermined syntax element default values).
[0040] Example 9 In the encoding method or apparatus or decoding method or apparatus described in Example 8, the one or more directly existing or implicitly derived or mixed grammatical elements and their semantics are Downsampling type downsamplin_type Specifies the downsampling type and the corresponding downsampling formula. If downsamplin_type does not exist in the compressed data stream, the value of downsamplin_type is implicitly derived as 0.
[0041] Example 10 In the encoding method or device or the decoding method or device, the data is an image or a video, and the information indicating whether the coding block uses inter-component self-prediction and the corresponding operation include the following direct or indirect or direct or indirect mixed flag bits and / or identification codes and associated syntax elements and corresponding operations represented by italics: Component self-prediction mode flag and / or identification code If the value of the component prediction mode flag and / or the identification code indicates that the current codec block uses inter-component self-prediction, then { Perform K inter-component self-prediction coding and decoding on at least K components of the current coding and decoding block } The direct flag and / or identification code is composed of one or more bit strings in the compressed data code stream. The indirect flag and / or identification code is a flag and / or identification code derived from other coding parameters and / or codec variables and / or other syntax elements of the compressed data code stream. The direct and indirect mixed flag and / or identification code is a mixed flag and / or identification code that is partially direct (i.e., composed of one or more bit strings in the compressed data code stream) and partially indirect (i.e., derived from other coding parameters and / or codec variables and / or other syntax elements of the compressed data code stream).
[0042] Embodiment 11 In the encoding method or device or the decoding method or device, the data is an image or video, and in the sequence parameter set and / or the sequence header and / or the image parameter set and / or the image header of the compressed data code stream, the following syntax elements are respectively present to indicate that the codec block in the corresponding sequence and / or image allows the use of inter-component self-prediction: sps inter-component self-prediction enable flag sps_self_prediction_enable_flag Binary variable; a value of 1 indicates that the video sequence allows inter-component self-prediction; a value of 0 indicates that the video sequence does not use inter-component self-prediction; and / or Sequence residual component prediction enable flag seq_self_prediction_enable_flag A binary variable. A value of 1 indicates that the video sequence allows inter-component self-prediction; a value of 0 indicates that the video sequence does not use inter-component self-prediction; and / or PPS residual component inter-prediction enable flag pps_self_prediction_enable_flag Binary variable; a value of 1 indicates that the image allows inter-component self-prediction; a value of 0 indicates that the image does not use inter-component self-prediction; and / or Image residual component inter-prediction enable flag pic_self_prediction_enable_flag Binary variable; a value of 1 indicates that the image allows inter-component self-prediction; a value of 0 indicates that the image does not use inter-component self-prediction.
[0043] Example 12 In the encoding method or device or the decoding method or device, when encoding and decoding the K components using the inter-component self-prediction and performing quantization and dequantization operations on the generated J prediction differences, the quantization degree of the components is adjusted; one of the optional ways of adjustment is to increase or decrease the value of the quantization parameter, also known as the quantization factor QP, where the increase or decrease is a predetermined constant that is usually less than 10.
[0044] Embodiment 13 In the encoding method or device or the decoding method or device, K is 2, When performing inter-component self-prediction on two components S and T, at least one of the following functions and operations 1) to 5) or a combination thereof is included: 1) The two components construct the predicted value of the other component from one component in a self-prediction manner: the predicted value of component S predS = a*T, the predicted value of component T predT = b*S, where a and b are multiplication factors, i.e., weights, and a and / or b have multiple values. 2) Calculate the prediction difference: S's prediction difference ΔS = S - predS = S - a*T, T's prediction difference ΔT = T - predT = T - b*S, 3) Obtain S and T from the predicted differences ΔS and ΔT: Obviously, b*ΔS=b*S-a*b*T, a*ΔT=a*T-a*b*S, thus deriving ΔS+a*ΔT=S-a*T+a*T-a*b*S=S-a*b*S and ΔT+b*ΔS=T-b*S+(b*S-a*b*T)=T-a*b*T, therefore, the calculation formulas for obtaining S and T from the predicted differences ΔS and ΔT are: S = (ΔS + a*ΔT) / (1-a*b) T=(ΔT+b*ΔS) / (1-a*b), 4) performing encoding operations including further prediction and / or transformation and / or quantization and inverse operations on the prediction differences ΔS and ΔT to obtain reconstructed values recΔS and recΔT of the prediction differences ΔS and ΔT, 5) Obtain the reconstructed values recS and recT of components S and T from recΔS and recΔT using one of the following three versions I, II and III: I. Obtain recS and recT from recΔS and recΔT using the following calculation formula: recS=(recΔS+a*recΔT) / (1-a*b) recT=(recΔT+b*recΔS) / (1-a*b), II. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of dividing by (1-a*b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of dividing by (1-a*b) are obtained, and then recS and recT are obtained from recΔS and recΔT using the following calculation formula: recS=recΔS+a*recΔT recT=recΔT+b*recΔS, III. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of division by (1-a*b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of division by (1-a*b) are obtained. By further adjusting the degree of dequantization in the process of dequantizing ΔS and ΔT, the effects of multiplication by b and multiplication by a are incorporated into the dequantization operation, and recΔSb and recΔTa that already include the effects of division by (1-a*b) and multiplication by b and a are obtained. Then, recS and recT are obtained from recΔS, recΔT, recΔSb and recΔTa using the following calculation formula: recS=recΔS+recΔTa recT=recΔT+recΔSb, One of the optional ways to adjust the degree of quantization and / or dequantization is to increase or decrease the value of a quantization parameter, also known as a quantization factor QP, wherein the increase or decrease is a predetermined number usually related to the value of a and / or b and usually less than 10; The multiplication factors, i.e., the values of weights a and b, satisfy one of the following restrictions: 1) Reversible basic relationship (S and T can be calculated from ΔS and ΔT): a*b≠1; or 2) Orthogonal relationship, that is, the relationship that makes ΔS=S-a*T=-a*T+S and ΔT=T-b*S orthogonal, that is, -a*1+1*(-b)=0: a=-b; or 3) Simultaneous zero or negative reciprocal relationship (also called equivalence relationship, which makes the effects of S and T in ΔS=S-a*T and ΔT=T-b*S equivalent: S is close to -a*T, that is, S ≈-a*T, and T is close to b*S, that is, T ≈ b*S, or, S is close to a*T, that is, S≈ a*T, and T is close to -b*S, that is, T ≈-b*S, both of which lead to a*b=-1): a and b are simultaneously zero or simultaneously non-zero and are negative reciprocals of each other a=-1 / b, that is, b=-1 / a; or 4) b is not 1 and a is 0 or 1 relationship: if b is 0, then a is also 0, otherwise, a is 1; or 5) b is not -1 and a is 0 or -1 relationship: if b is 0, then a is also 0, otherwise, a is -1; or 6) a is 0 or ±1: If b is 0, then a is also 0, otherwise, a = -sgn(b), that is, a is -1 when b is positive, and a is 1 when b is negative; or 7) a is not 1 and b is 0 or 1 relationship: if a is 0, then b is also 0, otherwise, b is 1; or 8) a is not -1 and b is 0 or -1 relationship: if a is 0, then b is also 0, otherwise, b is -1; or 9) b is 0 or ±1 relationship: If a is 0, then b is also 0, otherwise, b = -sgn(a), that is, when a is a positive number, b is -1, and when a is a negative number, b is 1.
[0045] Embodiment 14 In the encoding method or device or the decoding method or device described in Example 13, the multiplication factors having multiple values, i.e., the value ranges of weights a and b, are one of the following sets: R = { m / 2 n : -2 n+1 ≤ m ≤ 2 n+1}={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0≤ m ≤ 2 n+1} or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±2 k , m=±(2 n +2 k ), 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1,±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2 n : m=±2 k , m=±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2 n : m=±1, ±2,±3, ±4} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subsets {0, 1} or {0, −1}.
[0046] or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or When the union of any set A and its reciprocal set 1 / A forms a union, elements with the same values in A and 1 / A are regarded as the same element.
[0047] Embodiment 15 In the encoding method or device or the decoding method or device described in Example 13, the multiplication factors having multiple values, i.e., the value ranges of weights a and / or b are: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1} or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c*X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation is one of the following predetermined situations: Scenario 1) c*X = ±((m*X + 2 n-1 )>>n), where >>n is the n-bit right shift operation. or Scenario 2) c*X = ±((m*X)>>n), or Scenario 3) c*X = (((±m)*X)>>n).
[0048] Example 16 In the encoding method or device or decoding method or device described in Example 13, the value range of the multiplication factor with multiple values, i.e., the weights a and / or b, is a function of the size and / or width and / or height of the encoding and decoding block where the weights are located.
[0049] Embodiment 17 In the encoding method or device or decoding method or device described in Example 13, the values of the multiplication factors, i.e., weights a and / or b, are synchronized between the encoder and the decoder by direct means, implicit derivation means, or a hybrid means, i.e., have equal values; The direct method is to represent the value of the multiplication factor a and / or b by a syntax element consisting of one or more bit strings, i.e., bit strings, directly present in the compressed data code stream; The implicit derivation method is to obtain the value of the multiplication factor a and / or b by calculation and derivation from other coding parameters and / or coding and decoding variables and / or syntax elements in the compressed data code stream or predetermined syntax element default values that are at least not directly related to the value of the multiplication factor a and / or b; The hybrid method is a method of mixing the direct method and the implicit derivation method.
[0050] Embodiment 18 In the encoding method or device or the decoding method or device described in Embodiment 17, The syntax elements in the direct mode include Syntax element indicating whether the multiplication factor a and / or b is zero and / or The syntax element indicating the positive or negative of the multiplication factor a and / or b is the sign bit syntax element and / or A syntax element representing the absolute value of the multiplication factor a and / or b.
[0051] Embodiment 19 In the encoding method or device or the decoding method or device described in Embodiment 17, The implicit derivation method uses at least the following codec variables to calculate, derive, and obtain the value of the multiplication factor a and / or b: The reconstructed values of the components S of the directly adjacent and / or indirectly adjacent pixels of the current codec block and / or Reconstructed values of component T of directly adjacent and / or indirectly neighboring pixels of the current codec block.
[0052] Embodiment 20 In the encoding method or device or the decoding method or device described in Embodiment 17, The mixing method has at least the following characteristics: Part of the information representing the value of the multiplication factor a and / or b exists directly in the compressed data code stream, and the other part of the information is obtained by implicit derivation. The value of the multiplication factor a and / or b is obtained from at least these two parts of information.
[0053] Embodiment 21 In the encoding method or device or the decoding method or device described in Embodiment 17, The mixing method has at least the following characteristics: Information representing the initial values ia and / or ib of a and / or b exists directly in the compressed data code stream, and the values of a and / or b are obtained by calculation and deduction from the initial values and / or other coding parameters and / or coding and decoding variables that are at least not directly related to the values of a and / or b and / or syntax elements in the compressed data code stream or predetermined syntax element default values.
[0054] Embodiment 22 In the encoding method or device or the decoding method or device described in Embodiment 13, The non-zero value of the weight b is appropriately selected to make the predicted difference ΔT=T-b*S of the component T very small, that is, to make T ≈b*S, so that its reconstructed value recΔT is set to 0, and the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the following version I of the calculation formula 1 containing only recΔS: recS=recΔS / (1-a*b) recT=b*recΔS / (1-a*b), that is, recT=b*recS, or a version II of the following formula 1 in which the division by (1-a*b) is incorporated into the quantization and / or dequantization operations. recS=recΔS recT=b*recΔS, that is, recT=b*recS, or a version III of the following calculation formula 1 in which the division by (1-a*b) is incorporated into the quantization and / or dequantization operation and the multiplication by b is incorporated into the dequantization operation. recS=recΔS recT=recΔSb; The weight a satisfies one of the following restrictions: Restriction relation 1: a*b ≠ 1. In this case, the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the calculation formula 1 containing only recΔS. The calculation formula 1 has at least three versions: version I, version II, and version III. or Restriction relation 2: a = -b. At this time, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 2 containing only recΔS: recS=recΔS / (1+a 2 ) That is, recS = recΔS / (1 + b 2 ) recT=-a*recΔS / (1+a 2 ) That is, recT = b*recΔS / (1 + b2 ) That is, recT = -a*recS, that is, recT = b*recS, Or it will be divided by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operations to complete the following calculation formula 2 version II recS=recΔS recT=-a*recΔS=b*recΔS, that is, recT=-a*recS, that is, recT=b*recS, Or it will be divided by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operation and the multiplication by -a, ie, b is incorporated into the dequantization operation to complete the following calculation formula 2 version III recS=recΔS recT=recΔSb; or Restriction relation 3: a*b=-1. At this time, the calculation formulas for the reconstruction values recS and recT of S and T are respectively changed to the following version I of the calculation formula 3 containing only recΔS: recS=recΔS / 2 recT=-recΔS / (2a), that is, recT=b*recΔS / 2, that is, recT=-recS / a, that is, recT=b*recS, or a version II of the following formula 3 in which the division by 2 is incorporated into the quantization and / or dequantization operations recS=recΔS recT=-recΔS / a, that is, recT=b*recΔS, that is, recT=-recS / a, that is, recT=b*recS, or a version III of the following calculation formula 3 in which the division by 2 is incorporated into the quantization and / or dequantization operation and the multiplication by -1 / a, ie, b is incorporated into the dequantization operation. recS=recΔS recT=recΔSb; or Restriction relation 4: If b is 1, a is -1, otherwise, a is 1. At this time, the calculation formulas for the reconstruction values recS and recT of S and T are respectively changed to the following version I of the calculation formula 4 containing only recΔS: If b is 1, then recS=recΔS / 2 recT=recΔS / 2, that is, recT=recS otherwise recS=recΔS / (1-b) recT=b*recΔS / (1-b), that is, recT=b*recS, Or a version II of the following formula 4 in which the division by 2 or (1-b) is incorporated into the quantization and / or dequantization operations: recS=recΔS recT=b*recΔS, that is, recT=b*recS, or a version III of the following calculation formula 4 in which the division by 2 or (1-b) is incorporated into the quantization and / or dequantization operation and the multiplication by b is incorporated into the dequantization operation. recS=recΔS recT=recΔSb; or Restriction relation 5: If b is -1, then a is 1, otherwise, a is -1. At this time, the calculation formulas for the reconstructed values recS and recT of S and T become the following version I of the calculation formula 5 containing only recΔS: If b is -1, then recS=recΔS / 2 recT=-recΔS / 2, that is, recT=-recS otherwise recS=recΔS / (1+b) recT=b*recΔS / (1+b), that is, recT=b*recS, Or a version II of the following formula 5 in which the division by 2 or (1+b) is incorporated into the quantization and / or dequantization operations: recS=recΔS recT=b*recΔS, that is, recT=b*recS, or a version III of the following calculation formula 5 in which the division by 2 or (1+b) is incorporated into the quantization and / or dequantization operation and the multiplication by b is incorporated into the dequantization operation. recS=recΔS recT=recΔSb; or Restriction relation 6: If b is a positive number, a is -1, and if b is a negative number, a is 1. In this case, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 6 containing only recΔS: recS=recΔS / (1+|b|) recT=b*recΔS / (1+|b|)=b*recS, Or it may be a version II of the following calculation formula 6 in which the division by (1+|b|) is incorporated into the quantization and / or dequantization operation. recS=recΔS recT=b*recΔS=b*recS, or the following version III of the calculation formula 6 in which the division by (1+|b|) is incorporated into the quantization and / or dequantization operation and the multiplication by b is incorporated into the dequantization operation. recS=recΔS recT=recΔSb.
[0055] Embodiment 23 In the encoding method or device or the decoding method or device described in Embodiment 22, When b is not zero, the compressed data bitstream contains at least the information required to represent and obtain recΔS, but does not contain the information required to represent and obtain recΔT. The calculation formulas for the reconstructed values recS and recT of S and T are: The calculation formula 1 containing only recΔS when satisfying the restriction relation 1 has at least three versions: the version I, the version II, and the version III. or The calculation formula 2 containing only recΔS when satisfying the restriction relationship 2 has at least three versions: the version I, the version II, and the version III. or The calculation formula 3 containing only recΔS when satisfying the restriction relation 3 has at least three versions: the version I, the version II, and the version III. or The calculation formula 4 containing only recΔS when satisfying the restriction relation 4 has at least three versions: the version I, the version II, and the version III. or The calculation formula 5 containing only recΔS when satisfying the restriction relation 5 has at least three versions: the version I, the version II, and the version III. or The calculation formula 6 containing only recΔS when the restriction relation 6 is satisfied has at least three versions: the version I, the version II, and the version III; When b is zero, that is, predT = 0, ΔT = T, the compressed data bitstream contains at least the information required to represent and obtain both recΔS and recΔT. The calculation formulas for the reconstructed values of S and T recS and recT are respectively: recS=recΔS+a*recΔT recT=recΔT, When a=0, the calculation formulas of the reconstruction values recS and recT of S and T become: recS=recΔS recT=recΔT, When a ≠ 0, the multiplication by a can be optionally incorporated into the dequantization operation, and the calculation formula becomes: recS=recΔS+recΔTa recT=recΔT Wherein recΔTa is the dequantization result obtained by adjusting the dequantization degree in the process of dequantizing ΔT and incorporating the effect of multiplying by a into the dequantization operation, which already includes the effect of multiplying by a.
[0056] Embodiment 24 In the encoding method or device or the decoding method or device described in Example 23, the information required to represent and obtain recΔS and / or recΔT at least includes information representing and obtaining the result of the encoding operation including further prediction and / or transformation and / or quantization on ΔS and / or ΔT.
[0057] Embodiment 25 In the encoding method or device or the decoding method or device described in Example 23, the information required to represent and obtain recΔS and / or recΔT includes at least information representing and obtaining the result of the encoding operation including further prediction and / or transformation and quantization on ΔS and / or ΔT, that is, the quantized result of ΔS and / or ΔT.
[0058] Embodiment 26 In the encoding method or device or the decoding method or device described in Example 22 or 23, the multiplication factors having multiple values, i.e., the value ranges of weights a and b, are one of the following sets: R = { m / 2 n : -2 n+1 ≤ m ≤ 2 n+1}={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0≤ m ≤ 2 n+1} or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±2 k , m=±(2 n +2 k ), 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1,±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2 n : m=±2 k, m=±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2 n : m=±1, ±2,±3, ±4} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subset {0, 1} or {0, -1} or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or When the union of any set A and its reciprocal set 1 / A forms a union, elements with the same values in A and 1 / A are regarded as the same element.
[0059] Embodiment 27 In the encoding method or device or the decoding method or device described in Example 22 or 23, the multiplication factors having multiple values, i.e., the value ranges of weights a and / or b are: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1} or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c*X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation is one of the following predetermined situations: Case 1) c*X = ±((m*X + 2 n-1 )>>n), where >>n is the n-bit right shift operation. or Case 2) c*X = ±((m*X)>>n), or Case 3) c*X = (((±m)*X)>>n).
[0060] Embodiment 28 In the decoding method or device, K is 2, When the reconstructed values recΔS and recΔT of the prediction differences of the two components S and T are self-predicted between the components, the reconstructed values recS and recT of the components S and T are obtained from recΔS and recΔT using one of the following two versions I and II: Version I: recS and recT are obtained from recΔS and recΔT using the following calculation formula: recS = (recΔS+a*recΔT) / (1-a*b) recT = (recΔT+b*recΔS) / (1-a*b) Where a and b are multiplication factors, i.e. weights, the value range of a is Ra, the value range of b is Rb, a and / or b have multiple values, i.e. Ra and / or Rb have at least two elements, and the values of a and b satisfy a*b≠1. Version II, by adjusting the degree of dequantization in the process of obtaining dequantization of recΔS and / or recΔT, the effect of dividing by (1-a*b) is incorporated into the dequantization operation, and recΔS and recΔT that already include the effect of dividing by (1-a*b) are obtained, and then recS and recT are obtained from recΔS and recΔT using the following calculation formula: recS = recΔS+a*recΔT recT = recΔT+b*recΔS, One of the optional ways to adjust the degree of inverse quantization is to increase or decrease the value of the quantization parameter, also known as the quantization factor QP, wherein the increase or decrease is a predetermined number usually related to the value of a and / or b and is usually less than 10.
[0061] Embodiment 29 In the decoding method or device described in Embodiment 28, when decoding a decoding block, at least one of the following three schemes is used to perform an inter-component self-prediction operation: Scheme 1: recΔS is zero, J=1, a≠0, b≠0, and recS and recT are obtained only from recΔT. The calculation formulas of recS and recT become: recS = a*recΔT recT = recΔT, Scheme 2: recΔT is zero, J=1, a≠0, b≠0, and recS and recT are obtained only from recΔS. The calculation formulas of recS and recT become: recS = recΔS recT = b*recΔS, Scheme 3, J=2, a=b=0, recS and recT are obtained from recΔS and recΔT respectively, and the calculation formulas of recS and recT become: recS = recΔS recT = recΔT.
[0062] Embodiment 30 In the decoding method or device described in Example 29, in the scheme 1, the value range of a is Ra={-1, 1, -1 / 2, 1 / 2} or Ra={-1, 1}, and in the scheme 2, the value range of b is Rb={-1 / 2, 1 / 2} or Rb=empty set {Ø} (empty set {Ø} indicates that the decoding block does not adopt the scheme 2) to perform inter-component self-prediction. That is, the decoding block adopts at least one of the following seven modes or one of three modes to perform inter-component self-prediction operation; The four modes 1-4 or the two modes 1-2 derived from the scheme 1 are: Mode 1, recΔS is zero, J=1, a=-1, b≠0, recS and recT are obtained only from recΔT, and the calculation formulas of recS and recT become: recS = -recΔT recT = recΔT, Mode 2, recΔS is zero, J=1, a=1, b≠0, recS and recT are obtained only from recΔT, and the calculation formulas of recS and recT become: recS = recΔT recT = recΔT, Mode 3, recΔS is zero, J=1, a=-1 / 2, b≠0, recS and recT are obtained only from recΔT, and the calculation formulas of recS and recT become: recS = -recΔT / 2 recT = recΔT, Mode 4, recΔS is zero, J=1, a=1 / 2, b≠0, recS and recT are obtained only from recΔT, and the calculation formulas of recS and recT become: recS = recΔT / 2 recT = recΔT, Two modes or no mode derived from the scheme 2: Mode 5, recΔT is zero, J=1, a≠0, b=-1 / 2, recS and recT are obtained only from recΔS, and the calculation formulas of recS and recT become: recS = recΔS recT = -recΔS / 2, Mode 6, recΔT is zero, J=1, a≠0, b=1 / 2, recS and recT are obtained only from recΔS, and the calculation formulas of recS and recT become: recS = recΔS recT = recΔS / 2, A model derived from the scheme 3: Mode 7, J=2, a=b=0, recS and recT are obtained from recΔS and recΔT respectively, and the calculation formulas of recS and recT become: recS = recΔS recT = recΔT.
[0063] Embodiment 31 In the decoding method or device described in Example 30, the calculation operation of dividing X by 2, where X is -recΔT or recΔT or -recΔS or recΔS, is an operation of shifting X right by 1 bit as a binary number: (X)>>1.
[0064] Embodiment 32 In the decoding method or device described in Example 28, 29, 30 or 31, the components S and T are two components of the prediction residual of intra-frame prediction, inter-frame prediction or string prediction.
[0065] Embodiment 33 In the decoding method or device described in Example 28, 29, 30 or 31, when the values of a and b of a decoding block satisfy a≠0, b≠0, only information for obtaining one of recΔS and recΔT exists in the compressed data code stream of the decoding block.
[0066] Embodiment 34 In the decoding method or device described in Embodiment 29, 30 or 31, information indicating the positive and negative signs of a in Scheme 1 and b in Scheme 2 exists in one or more of the following places in the compressed data code stream: 1) Image parameter set; 2) Sequence header; 3) Strip head; 4) Image header; 5) CTU header; 6) CU head; 7) Codec block header.
[0067] Embodiment 35 In the decoding method or device described in Example 34, the information is the following syntax elements in a picture parameter set or a picture header: Self-prediction weight sign flag self-prediction_weight_sign_flag Its semantic description is: a binary variable; a value of 0 indicates that the actual value ranges of a in scheme 1 and b in scheme 2 of all decoded blocks in the image are respectively the positive value subsets of Ra and Rb; a value of 1 indicates that the actual value ranges of a in scheme 1 and b in scheme 2 of all decoded blocks in the image are respectively the negative value subsets of Ra and Rb; when the syntax element does not exist in the compressed data bitstream, the value of the syntax element is defaulted to the default value 0, that is, the actual value ranges of a in scheme 1 and b in scheme 2 of all decoded blocks in the image are respectively the positive value subsets of Ra and Rb.
[0068] Embodiment 36 In the decoding method or device described in Example 35, Said Self-prediction weight positive and negative signs The value of 0 indicates that the actual value range of a in the scheme 1 for all decoded blocks in the image is {1, 1 / 2} or {1}, and the actual value range of b in the scheme 2 is {1 / 2} or {Ø}; Said Self-prediction weight positive and negative signs The value of 1 indicates that the actual value range of a in scheme 1 for all decoded blocks in the image is {-1, -1 / 2} or {-1}, and the actual value range of b in scheme 2 is {-1 / 2} or {Ø}.
[0069] Embodiment 37 In the decoding method or device described in Example 36, Said Self-prediction weight positive and negative signs A value of 0 indicates The actual value range of a in the scheme 1 for the decoded blocks of all intra-frame prediction modes in the image is {1, 1 / 2}, and the actual value range of b in the scheme 2 is {1 / 2}, The actual value range of a in the scheme 1 for all decoding blocks in non-intra prediction mode in the image is {1}, and the actual value range of b in the scheme 2 is {Ø}, that is, all decoding blocks in non-intra prediction mode do not use the scheme 2 for inter-component self-prediction; Said Self-prediction weight positive and negative signs A value of 1 indicates The actual value range of a in the scheme 1 for the decoded blocks of all intra-frame prediction modes in the image is {-1, -1 / 2}, and the actual value range of b in the scheme 2 is {-1 / 2}; The actual value range of a in the scheme 1 for all decoding blocks in non-intra-frame prediction modes in the image is {-1}, and the actual value range of b in the scheme 2 is {Ø}, that is, all decoding blocks in non-intra-frame prediction modes do not use the scheme 2 for inter-component self-prediction.
[0070] Embodiment 38 In the decoding method or device described in Embodiment 37, In the decoded block header of the compressed data code stream, there are the following two syntax elements whose values are binary variables: Decoding block component S flag cb_S_flag and Decoding block component T flag cb_T_flag , When the decoding block adopts the intra prediction mode and the Decoding block component S flag and stated Decoding block components T flag When at least one of the two flag bits is set to 1, or when the decoding block adopts non-intra prediction mode and the Decoding block component S flag and stated Decoding block component T flag When the values of these two flags are both 1, the following binary syntax elements are present in the decoded block header of the compressed data stream: The number of decoded block components minus one flag cb_comp_num_minus_one_flag ; When the compressed data stream does not exist The number of decoded block components minus one flag When, by default The number of decoded block components is reduced One flag The default value is 0; Obviously, when The number of decoded block components minus one flag When the value of is 1, Decoding block component S flag and stated Decoding block component T flag At least one of these two flag bits has a value of 1; when The number of decoded block components minus one flag When the value of is 0, The scheme 3 is used to perform inter-component self-prediction, J=2, the number of components is not reduced, a=b=0, the predicted values of the components S and T are both zero, recS and recT are equal to recΔS and recΔT respectively; Otherwise, when The number of decoded block components minus one flag When the value of is 1, When the Decoding block component S flag and stated Decoding block component T flag When the values of these two flag bits are both 1, The scheme 1 is used for inter-component self-prediction, J=1, the number of components is reduced by one, recΔS does not exist, recS and recT are obtained only from recΔT, a=1 or -1, the positive and negative signs of a are determined by Self-prediction weight positive and negative signs The value of Otherwise, when the Decoding block component S flag The value of is 0 and Decoding block component T flag When the value of is 1, The scheme 1 is used for inter-component self-prediction, J=1, the number of components is reduced by one, recΔS does not exist, recS and recT are obtained only from recΔT, a=1 / 2 or -1 / 2, the positive and negative signs of a are determined by Self-prediction weight positive and negative signs The value of Otherwise, when the Decoding block component S flag The value of is 1 and Decoding block component T flag When the value of is 0, The scheme 2 is used for inter-component self-prediction, J=1, the number of components is reduced by one, recΔT does not exist, recS and recT are obtained only from recΔS, b=1 / 2 or -1 / 2, and the positive and negative signs of b are determined by Self-prediction weight positive and negative signs The value of is determined.
Claims
1. A coding method for compressing at least two predetermined components of an image, a sequence of images, or video data having L, L ≥ 2, components, characterized in that At least the following steps are included: Step 1) selecting one of a plurality of weight values as a specific weight value used when performing inter-component self-prediction coding on at least two components of a coding block according to at least a characteristic of correlation between components of the coding block; Step 2) at least using a specific weight value to perform inter-component self-prediction coding on at least two components of a coding block, that is, for each of J, 1 ≤ J ≤ 2, components of the two components, a predicted value of the component is constructed from other components, and at least J prediction differences are generated from the value of the component and / or the predicted value of the component; for at least a portion of the coding blocks, J = 1 to reduce the number of components; Step 3) writing at least part or all of the information required to indicate whether at least two components of a coding block use inter-component self-prediction and / or indicate a specific weight value used for self-prediction and / or indicate J, 1 ≤ J ≤ 2, prediction differences generated by self-prediction into the compressed data bitstream; The encoding method also includes the following features: When performing inter-component self-prediction on two components S and T, at least the following functions and operations 1) to 5) are included: 1) The two components construct the predicted value of the other component from one component in a self-prediction manner: the predicted value of component S predS = a·T, the predicted value of component T predT = b·S, where a and b are multiplication factors, i.e., weights, and a and / or b have multiple values. 2) Calculate the prediction difference: S's prediction difference ΔS = S - predS = S - a · T, T's prediction difference ΔT = T - predT = T - b · S, 3) Obtain S and T from the predicted differences ΔS and ΔT: Obviously, b·ΔS=b·S-a·b·T, a·ΔT=a·T-a·b·S, thus deriving ΔS+a·ΔT=S-a·T+a·T-a·b·S=S-a·b·S and ΔT+b·ΔS=T-b·S+(b·S-a·b·T)=T-a·b·T, therefore, the calculation formulas for obtaining S and T from the predicted differences ΔS and ΔT are: S = (ΔS + a·ΔT) / (1-a·b) T=(ΔT+b·ΔS) / (1-a·b), 4) performing operations including further prediction and / or transformation and / or quantization and inverse operations on the prediction differences ΔS and ΔT to obtain reconstructed values recΔS and recΔT of the prediction differences ΔS and ΔT, 5) Obtain the reconstructed values recS and recT of the components S and T from recΔS and recΔT using one of the following three versions I, II and III: I. Obtain recS and recT from recΔS and recΔT using the following calculation formula: recS=(recΔS+a·recΔT) / (1-a·b) recT=(recΔT+b·recΔS) / (1-a·b), II. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of dividing by (1-a·b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of dividing by (1-a·b) are obtained. Then, recS and recT are obtained from recΔS and recΔT using the following calculation formula: recS=recΔS+a·recΔT recT=recΔT+b·recΔS, III. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of division by (1-a·b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of division by (1-a·b) are obtained. By further adjusting the degree of dequantization in the process of dequantizing ΔS and ΔT, the effects of multiplication by b and multiplication by a are incorporated into the dequantization operation, and recΔSb and recΔTa that already include the effects of division by (1-a·b) and multiplication by b and a respectively are obtained. Then, recS and recT are obtained from recΔS, recΔT, recΔSb and recΔTa using the following calculation formula: recS=recΔS+recΔTa recT=recΔT+recΔSb, One of the optional ways to adjust the degree of quantization and / or dequantization is to increase or decrease the value of the quantization parameter of quantization and / or dequantization, also known as the quantization factor QP; The multiplication factors, i.e., the values of weights a and b, satisfy one of the following restrictions: 1) Reversible basic relationship, that is, S and T can be calculated from ΔS and ΔT: a·b≠1; or 2) Orthogonal relationship, that is, the relationship that makes ΔS = S - a · T = - a · T + S and ΔT = T - b · S orthogonal, that is, -a · 1 + 1 · (-b) = 0: a = -b; or 3) The simultaneous zero or negative reciprocal relationship, also known as the equivalence relationship, makes the effects of S and T in ΔS = S-a·T and ΔT = T-b·S equivalent: S is close to -a·T, that is, S ≈ -a·T, and T is close to b·S, that is, T ≈ b·S, or, S is close to a·T, that is, S ≈ a·T, and T is close to -b·S, that is, T ≈ -b·S, both of which lead to a·b = -1: a and b are simultaneously zero or simultaneously non-zero and are negative reciprocals of each other, a = -1 / b, that is, b = -1 / a; or 4) a and b first satisfy the relationship that b is not 1 and a is 0 or 1. In this case: if b is 0, then a is also 0, otherwise, a is 1; or 5) a and b first satisfy the relationship that b is not -1 and a is 0 or -1. In this case: if b is 0, then a is also 0, otherwise, a is -1; or 6) a first satisfies the relationship that a is 0 or ±1. In this case: if b is 0, then a is also 0. Otherwise, a = -sgn(b), that is, a is -1 when b is positive and a is 1 when b is negative. or 7) a and b first satisfy the relationship that a is not 1 and b is 0 or 1. In this case: if a is 0, then b is also 0, otherwise, b is 1; or 8) a and b first satisfy the relationship that a is not -1 and b is 0 or -1. In this case: if a is 0, then b is also 0, otherwise, b is -1; or 9) b first satisfies the relationship that b is 0 or ±1. In this case: if a is 0, then b is also 0, otherwise, b = -sgn(a), that is, b is -1 when a is a positive number, and b is 1 when a is a negative number.
2. The encoding method according to claim 1, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and b, each have a value range of one of the following sets: R = {m / 2 n : -2 n+1 ≤ m ≤ 2 n+1 }={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m≤ 2 n+1 } or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±(w·2 n +2 k ), w ranges from 0 to 1, 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof, where n is the predetermined positive number or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1, ±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2: m=±2 k , ±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2: m=±1, ±2, ±3, ±4} or its subset or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subset {0, 1} or {0, -1} or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or The union of any set A and its reciprocal set 1 / A, when forming a union, elements with the same values in A and 1 / A are considered to be the same element; Feature 2: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and / or b, have a value range of: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1 } or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c·X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation adopts one of the following predetermined calculation formulas using only integer multiplication and right shift of binary bits: 1) The calculation formula of c·X is ±((m·X + 2 n-1 )>>n), where >>n is the right shift of binary by n bits, i.e., bit operation. or 2) The calculation formula of c·X is ±((m·X)>>n), or 3) The calculation formula of c·X is (((±m)·X)>>n); Feature 3: The value ranges of the multiplication factors with multiple values involved in the self-prediction, ie, the weights a and / or b, are functions of the size and / or width and / or height of the coding block where the weights are located.
3. The encoding method according to claim 1, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The multiplication factors involved in the self-prediction, i.e., the values of the weights a and / or b, are synchronized between the encoder and the decoder by direct means, implicit derivation means, or a hybrid means, i.e., they have equal values; The direct method is to represent the value of the multiplication factor a and / or b by a syntax element consisting of one or more bit strings, i.e., bit strings, directly present in the compressed data code stream; The implicit derivation method is to obtain the value of the multiplication factor a and / or b by calculation and derivation from other coding parameters and / or coding variables and / or syntax elements in the compressed data code stream or predetermined syntax element default values that are at least not directly related to the value of the multiplication factor a and / or b; The hybrid method is a method of mixing the direct method and the implicit derivation method; Feature 2: The encoding method according to feature 1 is characterized in that: The syntax elements in the direct mode include Syntax element indicating whether the multiplication factor a and / or b is zero and / or The syntax element indicating the positive or negative of the multiplication factor a and / or b is the sign bit syntax element and / or a syntax element representing the absolute value of the multiplication factor a and / or b; Feature 3: The encoding method according to feature 1 is characterized in that: The implicit derivation method uses at least the following coded variables to calculate, derive, and obtain the value of the multiplication factor a and / or b: The reconstructed values of the components S of the directly adjacent and / or indirectly adjacent pixels of the current coding block and / or Reconstructed values of components T of directly adjacent and / or indirectly adjacent pixels of the current coding block; Feature 4: The encoding method according to feature 1 is characterized in that: The mixing method has at least the following characteristics: Part of the information representing the value of the multiplication factor a and / or b is directly present in the compressed data code stream, and another part of the information is obtained by implicit derivation, and the value of the multiplication factor a and / or b is obtained from at least these two parts of information; Feature 5: The encoding method according to feature 1 is characterized in that: The mixing method has at least the following characteristics: Information representing initial values ia and / or ib of a and / or b exists directly in the compressed data code stream, and the values of a and / or b are obtained by calculation and deduction from the initial values and / or other coding parameters and / or coding variables that are at least not directly related to the values of a and / or b and / or syntax elements in the compressed data code stream or predetermined syntax element default values.
4. The encoding method according to claim 1, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The non-zero value of the weight b is appropriately selected to make the predicted difference ΔT=T-b·S of the component T very small, that is, to make T ≈ b·S, so that its reconstructed value recΔT is set to 0, and the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the following version I of the calculation formula 1 containing only recΔS: recS=recΔS / (1-a·b) recT=b·recΔS / (1-a·b), that is, recT=b·recS, Or, based on version I, the following version II of formula 1 is obtained by incorporating the function of dividing by (1-a·b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 1 is performed by incorporating the function of dividing by (1-a·b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; Among them, recΔSb is equal to b·recΔS, but the multiplication by b has been incorporated into the dequantization operation; The weight a satisfies one of the following restrictions: Restriction relation 1: a·b ≠ 1. In this case, the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the calculation formula 1 containing only recΔS. The calculation formula 1 has at least three versions: version I, version II, and version III. or Restriction relation 2: a = -b. At this time, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 2 containing only recΔS: recS = recΔS / (1 + a 2 ) That is, recS = recΔS / (1 + b 2 ) recT = -a·recΔS / (1 + a 2 ) That is, recT = b·recΔS / (1 + b 2 ) That is, recT = -a·recS, that is, recT = b·recS, Or based on version I, divide by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operations to complete the following calculation formula 2 version II recS=recΔS recT=-a·recΔS=b·recΔS, that is, recT=-a·recS, that is, recT=b·recS, Or based on version I, divide by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operation and the multiplication by -a, ie, b is incorporated into the dequantization operation to complete the following calculation formula 2 version III recS=recΔS recT=recΔSb; or Restriction relation 3: a·b=-1. At this time, the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the following version I of the calculation formula 3 containing only recΔS: recS=recΔS / 2 recT=-recΔS / (2a), that is, recT=b·recΔS / 2, that is, recT=-recS / a, that is, recT=b·recS, Or based on version I, the division by 2 is incorporated into the quantization and / or dequantization operations to complete the following calculation formula 3 version II recS=recΔS recT=-recΔS / a, that is, recT=b·recΔS, that is, recT=-recS / a, that is, recT=b·recS, Or, based on version I, the function of dividing by 2 is incorporated into the quantization and / or dequantization operation and the function of multiplying by -1 / a, i.e., b, is incorporated into the dequantization operation to complete the following calculation formula 3 version III: recS=recΔS recT=recΔSb; or Restriction relation 4: If b is 1, a is -1, otherwise, a is 1. At this time, the calculation formulas for the reconstruction values recS and recT of S and T become the following version I of the calculation formula 4 containing only recΔS: If b is 1, then recS=recΔS / 2 recT=recΔS / 2, that is, recT=recS otherwise recS=recΔS / (1-b) recT=b·recΔS / (1-b), that is, recT=b·recS, Or, based on version I, the following version II of formula 4 is obtained by incorporating the division by 2 or (1-b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 4 is performed by incorporating the function of dividing by 2 or (1-b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; or Restriction relation 5: If b is -1, then a is 1, otherwise, a is -1. At this time, the calculation formulas for the reconstructed values recS and recT of S and T become the following version I of the calculation formula 5 containing only recΔS: If b is -1, then recS=recΔS / 2 recT=-recΔS / 2, that is, recT=-recS otherwise recS=recΔS / (1+b) recT=b·recΔS / (1+b), that is, recT=b·recS, Or, based on version I, the following version II of formula 5 is obtained by incorporating the division by 2 or (1+b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 5 is performed by incorporating the function of dividing by 2 or (1+b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; or Restriction relation 6: If b is a positive number, a is -1, and if b is a negative number, a is 1. In this case, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 6 containing only recΔS: recS=recΔS / (1+|b|) recT=b·recΔS / (1+|b|)=b·recS, Or, based on version I, the following version II of formula 6 is obtained by incorporating the function of dividing by (1+|b|) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS=b·recS, Or, based on version I, the following version III of the calculation formula 6 is performed by incorporating the function of dividing by (1+|b|) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; Feature 2: The encoding method according to feature 1 is characterized in that: When b is not zero, the compressed data bitstream contains at least the information required to represent and obtain recΔS, but does not contain the information required to represent and obtain recΔT. The calculation formulas for the reconstructed values recS and recT of S and T are: The calculation formula 1 containing only recΔS when satisfying the restriction relation 1 has at least three versions: the version I, the version II, and the version III. or The calculation formula 2 containing only recΔS when satisfying the restriction relationship 2 has at least three versions: the version I, the version II, and the version III. or The calculation formula 3 containing only recΔS when satisfying the restriction relation 3 has at least three versions: the version I, the version II, and the version III. or The calculation formula 4 containing only recΔS when satisfying the restriction relation 4 has at least three versions: the version I, the version II, and the version III. or The calculation formula 5 containing only recΔS when satisfying the restriction relation 5 has at least three versions: the version I, the version II, and the version III. or The calculation formula 6 containing only recΔS when the restriction relation 6 is satisfied has at least three versions: the version I, the version II, and the version III; When b is zero, that is, predT = 0, ΔT = T, the compressed data bitstream contains at least the information required to represent and obtain both recΔS and recΔT. The calculation formulas for the reconstructed values of S and T recS and recT are respectively: recS=recΔS+a·recΔT recT=recΔT, When a=0, the calculation formulas of the reconstruction values recS and recT of S and T become: recS=recΔS recT=recΔT, When a ≠ 0, the multiplication by a can be optionally incorporated into the dequantization operation, and the calculation formula becomes: recS=recΔS+recΔTa recT=recΔT Wherein recΔTa is the dequantization result obtained by adjusting the dequantization degree in the process of dequantizing ΔT and incorporating the effect of multiplying by a into the dequantization operation, which already includes the effect of multiplying by a, that is, recΔTa is equal to a·recΔT, but the effect of multiplying by a has been incorporated into the dequantization operation; Feature 3: The encoding method according to feature 2 is characterized in that: The information required for representing and obtaining recΔS and / or recΔT at least includes information for representing and obtaining the result of performing operations including further prediction, transformation and / or quantization on ΔS and / or ΔT; Feature 4: The encoding method according to feature 2 is characterized in that: The information required for representing and obtaining recΔS and / or recΔT at least includes information for representing and obtaining the result of performing operations including further prediction and / or transformation and quantization on ΔS and / or ΔT, i.e., the quantized result of ΔS and / or ΔT; Feature 5: The encoding method according to feature 1 or 2 is characterized in that: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and b, each have a value range of one of the following sets: R = {m / 2 n : -2 n+1 ≤ m ≤ 2 n+1 }={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m≤ 2 n+1 } or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±(w·2 n +2 k ), w ranges from 0 to 1, 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof, where n is the predetermined positive number or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1, ±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2: m=±2 k , ±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2: m=±1, ±2, ±3, ±4} or its subset or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subset {0, 1} or {0, -1} or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or The union of any set A and its reciprocal set 1 / A, when forming a union, elements with the same values in A and 1 / A are considered to be the same element; Feature 6: The encoding method according to feature 1 or 2 is characterized in that: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and / or b, have a value range of: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1 } or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c·X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation adopts one of the following predetermined calculation formulas using only integer multiplication and right shift of binary bits: 1) The calculation formula of c·X is ±((m·X + 2 n-1 )>>n), where >>n is the right shift of binary by n bits, i.e., bit operation. or 2) The calculation formula of c·X is ±((m·X)>>n), or 3) The calculation formula of c·X is (((±m)·X)>>n).
5. A coding device for compressing at least two predetermined components of an image, a sequence of images, or video data having L, L ≥ 2, components, characterized in that: It comprises a module for implementing a coding method as described in any one of claims 1 to 4 for compressing at least two predetermined components in an image, a sequence of images, or video data having L, L≥2, components.
6. A method for compressing at least two predetermined components of an image, a sequence of images, or video data having L, L ≥ 2, components, characterized in that At least the following steps are included: Step 1) parsing the compressed data bitstream to obtain at least part or all of the information required to indicate whether at least two components of a decoded block use inter-component self-prediction and / or indicate a specific weight value used for self-prediction and / or indicate J, 1 ≤ J ≤ 2, prediction differences generated by self-prediction; Step 2) selecting one of a plurality of weight values as a specific weight value used when performing inter-component self-prediction decoding on at least two components of a decoding block based at least on the information; Step 3) performing inter-component auto-prediction decoding on at least two components of a decoding block by using at least a specific weight value and at least J, 1 ≤ J ≤ 2, reconstruction values of the prediction difference values; The decoding method also includes the following features: The reconstructed values recS and recT of the components S and T are obtained from the reconstructed values recΔS and / or recΔT of the prediction differences using at least one of the following three versions I, II and III: I. Obtain recS and recT from recΔS and recΔT using the following calculation formula: recS=(recΔS+a·recΔT) / (1-a·b) recT=(recΔT+b·recΔS) / (1-a·b), Where a and b are multiplication factors, i.e. weights, and a and / or b can have multiple values. II. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of dividing by (1-a·b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of dividing by (1-a·b) are obtained. Then, recS and recT are obtained from recΔS and recΔT using the following calculation formula: recS=recΔS+a·recΔT recT=recΔT+b·recΔS, Where a and b are multiplication factors, i.e. weights, and a and / or b can have multiple values. III. By adjusting the degree of quantization and / or dequantization in the process of quantizing and / or dequantizing ΔS and ΔT, the effect of division by (1-a·b) is incorporated into the quantization and / or dequantization operation, and recΔS and recΔT that already include the effect of division by (1-a·b) are obtained. By further adjusting the degree of dequantization in the process of dequantizing ΔS and ΔT, the effects of multiplication by b and multiplication by a are incorporated into the dequantization operation, and recΔSb and recΔTa that already include the effects of division by (1-a·b) and multiplication by b and a respectively are obtained. Then, recS and recT are obtained from recΔS, recΔT, recΔSb and recΔTa using the following calculation formula: recS=recΔS+recΔTa recT=recΔT+recΔSb, Where a and b are multiplication factors, i.e. weights, and a and / or b can have multiple values. One of the optional ways to adjust the degree of quantization and / or dequantization is to increase or decrease the value of the quantization parameter of quantization and / or dequantization, also known as the quantization factor QP; The multiplication factors, i.e., the values of weights a and b, satisfy one of the following restrictions: 1) Reversible basic relationship, that is, S and T can be calculated from ΔS and ΔT: a·b≠1; or 2) Orthogonal relationship, that is, the relationship that makes ΔS = S - a · T = - a · T + S and ΔT = T - b · S orthogonal, that is, -a · 1 + 1 · (-b) = 0: a = -b; or 3) The simultaneous zero or negative reciprocal relationship, also known as the equivalence relationship, makes the effects of S and T in ΔS = S-a·T and ΔT = T-b·S equivalent: S is close to -a·T, that is, S ≈ -a·T, and T is close to b·S, that is, T ≈ b·S, or, S is close to a·T, that is, S ≈ a·T, and T is close to -b·S, that is, T ≈ -b·S, both of which lead to a·b = -1: a and b are simultaneously zero or simultaneously non-zero and are negative reciprocals of each other, a = -1 / b, that is, b = -1 / a; or 4) a and b first satisfy the relationship that b is not 1 and a is 0 or 1. In this case: if b is 0, then a is also 0, otherwise, a is 1; or 5) a and b first satisfy the relationship that b is not -1 and a is 0 or -1. In this case: if b is 0, then a is also 0, otherwise, a is -1; or 6) a first satisfies the relationship that a is 0 or ±1. In this case: if b is 0, then a is also 0. Otherwise, a = -sgn(b), that is, a is -1 when b is positive and a is 1 when b is negative. or 7) a and b first satisfy the relationship that a is not 1 and b is 0 or 1. In this case: if a is 0, then b is also 0, otherwise, b is 1; or 8) a and b first satisfy the relationship that a is not -1 and b is 0 or -1. In this case: if a is 0, then b is also 0, otherwise, b is -1; or 9) b first satisfies the relationship that b is 0 or ±1. In this case: if a is 0, then b is also 0, otherwise, b = -sgn(a), that is, b is -1 when a is a positive number, and b is 1 when a is a negative number.
7. The decoding method according to claim 6, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and b, each have a value range of one of the following sets: R = {m / 2 n : -2 n+1 ≤ m ≤ 2 n+1 }={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m≤ 2 n+1 } or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±(w·2 n +2 k ), w ranges from 0 to 1, 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof, where n is the predetermined positive number or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1, ±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2: m=±2 k , ±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2: m=±1, ±2, ±3, ±4} or its subset or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subset {0, 1} or {0, -1} or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or The union of any set A and its reciprocal set 1 / A, when forming a union, elements with the same values in A and 1 / A are considered to be the same element; Feature 2: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and / or b, have a value range of: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1 } or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c·X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation adopts one of the following predetermined calculation formulas using only integer multiplication and right shift of binary bits: 1) The calculation formula of c·X is ±((m·X + 2 n-1 )>>n), where >>n is the right shift of binary by n bits, i.e., bit operation. or 2) The calculation formula of c·X is ±((m·X)>>n), or 3) The calculation formula of c·X is (((±m)·X)>>n); Feature 3: The multiplication factors with multiple values involved in the self-prediction, ie, the value ranges of the weights a and / or b, are functions of the size and / or width and / or height of the decoding block where the weights are located.
8. The decoding method according to claim 6, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The multiplication factors involved in the self-prediction, i.e., the values of the weights a and / or b, are synchronized between the encoder and the decoder by direct means, implicit derivation means, or a hybrid means, i.e., they have equal values; The direct method is to represent the value of the multiplication factor a and / or b by a syntax element consisting of one or more bit strings, i.e., bit strings, directly present in the compressed data code stream; The implicit derivation method is to obtain the value of the multiplication factor a and / or b by calculation and derivation from other coding parameters and / or decoding variables and / or syntax elements in the compressed data code stream or predetermined syntax element default values that are at least not directly related to the value of the multiplication factor a and / or b; The hybrid method is a method of mixing the direct method and the implicit derivation method; Feature 2: The decoding method according to feature 1 is characterized in that: The syntax elements in the direct mode include Syntax element indicating whether the multiplication factor a and / or b is zero and / or The syntax element indicating the positive or negative of the multiplication factor a and / or b is the sign bit syntax element and / or a syntax element representing the absolute value of the multiplication factor a and / or b; Feature 3: The decoding method according to feature 1 is characterized in that: The implicit derivation method uses at least the following decoding variables to calculate, derive, and obtain the value of the multiplication factor a and / or b: The reconstructed values of the components S of the directly adjacent and / or indirectly adjacent pixels of the current decoding block and / or reconstructed values of components T of directly adjacent and / or indirectly adjacent pixels of the current decoding block; Feature 4: The decoding method according to feature 1 is characterized in that: The mixing method has at least the following characteristics: Part of the information representing the value of the multiplication factor a and / or b is directly present in the compressed data code stream, and another part of the information is obtained by implicit derivation, and the value of the multiplication factor a and / or b is obtained from at least these two parts of information; Feature 5: The decoding method according to feature 1 is characterized in that: The mixing method has at least the following characteristics: Information representing initial values ia and / or ib of a and / or b exists directly in the compressed data code stream, and the values of a and / or b are obtained by calculation and deduction from the initial values and / or other encoding parameters and / or decoding variables that are at least not directly related to the values of a and / or b and / or syntax elements in the compressed data code stream or predetermined syntax element default values.
9. The decoding method according to claim 6, characterized in that Includes one of the following features or any non-conflicting combination thereof: Feature 1: The non-zero value of the weight b is appropriately selected to make the predicted difference ΔT=T-b·S of the component T very small, that is, to make T ≈ b·S, so that its reconstructed value recΔT is set to 0, and the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the following version I of the calculation formula 1 containing only recΔS: recS=recΔS / (1-a·b) recT=b·recΔS / (1-a·b), that is, recT=b·recS, Or, based on version I, the following version II of formula 1 is obtained by incorporating the function of dividing by (1-a·b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 1 is performed by incorporating the function of dividing by (1-a·b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; Among them, recΔSb is equal to b·recΔS, but the multiplication by b has been incorporated into the dequantization operation; The weight a satisfies one of the following restrictions: Restriction relation 1: a·b ≠ 1. In this case, the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the calculation formula 1 containing only recΔS. The calculation formula 1 has at least three versions: version I, version II, and version III. or Restriction relation 2: a = -b. At this time, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 2 containing only recΔS: recS = recΔS / (1 + a 2 ) That is, recS = recΔS / (1 + b 2 ) recT = -a·recΔS / (1 + a 2 ) That is, recT = b·recΔS / (1 + b 2 ) That is, recT = -a·recS, that is, recT = b·recS, Or based on version I, divide by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operations to complete the following calculation formula 2 version II recS=recΔS recT=-a·recΔS=b·recΔS, that is, recT=-a·recS, that is, recT=b·recS, Or based on version I, divide by (1 + a 2 ) that is (1 + b 2 ) is incorporated into the quantization and / or dequantization operation and the multiplication by -a, ie, b is incorporated into the dequantization operation to complete the following calculation formula 2 version III recS=recΔS recT=recΔSb; or Restriction relation 3: a·b=-1. At this time, the calculation formulas of the reconstructed values recS and recT of S and T are respectively changed to the following version I of the calculation formula 3 containing only recΔS: recS=recΔS / 2 recT=-recΔS / (2a), that is, recT=b·recΔS / 2, that is, recT=-recS / a, that is, recT=b·recS, Or based on version I, the division by 2 is incorporated into the quantization and / or dequantization operations to complete the following calculation formula 3 version II recS=recΔS recT=-recΔS / a, that is, recT=b·recΔS, that is, recT=-recS / a, that is, recT=b·recS, Or, based on version I, the function of dividing by 2 is incorporated into the quantization and / or dequantization operation and the function of multiplying by -1 / a, i.e., b, is incorporated into the dequantization operation to complete the following calculation formula 3 version III: recS=recΔS recT=recΔSb; or Restriction relation 4: If b is 1, a is -1, otherwise, a is 1. At this time, the calculation formulas for the reconstruction values recS and recT of S and T become the following version I of the calculation formula 4 containing only recΔS: If b is 1, then recS=recΔS / 2 recT=recΔS / 2, that is, recT=recS otherwise recS=recΔS / (1-b) recT=b·recΔS / (1-b), that is, recT=b·recS, Or, based on version I, the following version II of formula 4 is obtained by incorporating the division by 2 or (1-b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 4 is performed by incorporating the function of dividing by 2 or (1-b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; or Restriction relation 5: If b is -1, then a is 1, otherwise, a is -1. At this time, the calculation formulas for the reconstructed values recS and recT of S and T become the following version I of the calculation formula 5 containing only recΔS: If b is -1, then recS=recΔS / 2 recT=-recΔS / 2, that is, recT=-recS otherwise recS=recΔS / (1+b) recT=b·recΔS / (1+b), that is, recT=b·recS, Or, based on version I, the following version II of formula 5 is obtained by incorporating the division by 2 or (1+b) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS, that is, recT=b·recS, Or, based on version I, the following version III of the calculation formula 5 is performed by incorporating the function of dividing by 2 or (1+b) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; or Restriction relation 6: If b is a positive number, a is -1, and if b is a negative number, a is 1. In this case, the calculation formulas for the reconstructed values of S and T recS and recT become the following version I of the calculation formula 6 containing only recΔS: recS=recΔS / (1+|b|) recT=b·recΔS / (1+|b|)=b·recS, Or, based on version I, the following version II of formula 6 is obtained by incorporating the function of dividing by (1+|b|) into the quantization and / or dequantization operations: recS=recΔS recT=b·recΔS=b·recS, Or, based on version I, the following version III of the calculation formula 6 is performed by incorporating the function of dividing by (1+|b|) into the quantization and / or dequantization operation and incorporating the function of multiplying by b into the dequantization operation: recS=recΔS recT=recΔSb; Feature 2: The decoding method according to feature 1 is characterized in that: When b is not zero, the compressed data bitstream contains at least the information required to represent and obtain recΔS, but does not contain the information required to represent and obtain recΔT. The calculation formulas for the reconstructed values recS and recT of S and T are: The calculation formula 1 containing only recΔS when satisfying the restriction relation 1 has at least three versions: the version I, the version II, and the version III. or The calculation formula 2 containing only recΔS when satisfying the restriction relationship 2 has at least three versions: the version I, the version II, and the version III. or The calculation formula 3 containing only recΔS when satisfying the restriction relation 3 has at least three versions: the version I, the version II, and the version III. or The calculation formula 4 containing only recΔS when satisfying the restriction relation 4 has at least three versions: the version I, the version II, and the version III. or The calculation formula 5 containing only recΔS when satisfying the restriction relation 5 has at least three versions: the version I, the version II, and the version III. or The calculation formula 6 containing only recΔS when the restriction relation 6 is satisfied has at least three versions: the version I, the version II, and the version III; When b is zero, that is, predT = 0, ΔT = T, the compressed data bitstream contains at least the information required to represent and obtain both recΔS and recΔT. The calculation formulas for the reconstructed values of S and T recS and recT are respectively: recS=recΔS+a·recΔT recT=recΔT, When a=0, the calculation formulas of the reconstruction values recS and recT of S and T become: recS=recΔS recT=recΔT, When a ≠ 0, the multiplication by a can be optionally incorporated into the dequantization operation, and the calculation formula becomes: recS=recΔS+recΔTa recT=recΔT Wherein recΔTa is the dequantization result obtained by adjusting the dequantization degree in the process of dequantizing ΔT and incorporating the effect of multiplying by a into the dequantization operation, which already includes the effect of multiplying by a, that is, recΔTa is equal to a·recΔT, but the effect of multiplying by a has been incorporated into the dequantization operation; Feature 3: The decoding method according to feature 2 is characterized in that: The information required for representing and obtaining recΔS and / or recΔT at least includes information for representing and obtaining the result of performing operations including further prediction, transformation and / or quantization on ΔS and / or ΔT; Feature 4: The decoding method according to feature 2 is characterized in that: The information required for representing and obtaining recΔS and / or recΔT at least includes information for representing and obtaining the result of performing operations including further prediction and / or transformation and quantization on ΔS and / or ΔT, i.e., the quantized result of ΔS and / or ΔT; Feature 5: The decoding method according to feature 1 or 2 is characterized in that: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and b, each have a value range of one of the following sets: R = {m / 2 n : -2 n+1 ≤ m ≤ 2 n+1 }={0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m≤ 2 n+1 } or a subset of R, where n is a predetermined positive number and m is -2 n+1 with 2 n+1 All or part of the integers between or A subset of R, including at least: R n = {0, m / 2 n : m=±(w·2 n +2 k ), w ranges from 0 to 1, 0 ≤ k ≤ n} or R n A subset of , including the subset {0, m / 2 n : m=±2 k , 0 ≤ k ≤ n} or a subset thereof, where n is the predetermined positive number or When n=6, R6={0, ±0.015625, ±0.03125, ±0.0625, ±0.125, ±0.25, ±0.5, ±1, ±1.015625, ±1.03125, ±1.0625, ±1.125, ±1.25, ±1.5, ±2}={0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1, ±(1+1 / 64), ±(1+2 / 64), ±(1+4 / 64), ±(1+8 / 64), ±(1+16 / 64), ±(1+32 / 64), ±2} or a subset thereof or A subset of R6 {0, ±1 / 64, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} or a subset thereof or A subset of R6 {0, ±2 / 64, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 32, ±2 / 32, ±4 / 32, ±8 / 32, ±16 / 32, ±1} or a subset thereof or A subset of R6 {0, ±8 / 64, ±16 / 64, ±32 / 64, ±1} = {0, ±1 / 8, ±2 / 8, ±4 / 8, ±1} or a subset thereof or A subset of R6 {0, ±4 / 64, ±8 / 64, ±16 / 64, ±32 / 64} = {0, ±1 / 16, ±2 / 16, ±4 / 16, ±8 / 16} or a subset thereof or When n=1, R1 = {0, m / 2: m=±2 k , ±(2+2 k ), 0 ≤ k ≤ 1}={0, m / 2: m=±1, ±2, ±3, ±4} or its subset or A subset of R1 {0, ±1 / 2, ±1, ±2} or a subset thereof or A subset of R1 {0, ±1 / 2, ±1} or a subset thereof or A subset of R1 {0, ±1} or its subset {0, 1} or {0, -1} or The reciprocal set of any of the above sets A is denoted as 1 / A. The reciprocal set 1 / A is the set generated by replacing all non-zero elements a in A with their reciprocals 1 / a. or The union of any set A and its reciprocal set 1 / A, when forming a union, elements with the same values in A and 1 / A are considered to be the same element; Feature 6: The decoding method according to feature 1 or 2 is characterized in that: The multiplication factors with multiple values involved in the self-prediction, namely the weights a and / or b, have a value range of: R = {0, ±m / 2 n : 1 ≤ m ≤ 2 n+1 = {±m / 2 n : 0 ≤ m ≤ 2 n+1 } or a subset of R, where a and b have their own m and their own n, i.e., for a, m=m a , n=n a And for b, m=m b , n=n b , When a and / or b takes the value ±m / 2 n When c·X, where c is a or b and X is S or T or ΔS or ΔT or recΔS or recΔT, the calculation operation adopts one of the following predetermined calculation formulas using only integer multiplication and right shift of binary bits: 1) The calculation formula of c·X is ±((m·X + 2 n-1 )>>n), where >>n is the right shift of binary by n bits, i.e., bit operation. or 2) The calculation formula of c·X is ±((m·X)>>n), or 3) The calculation formula of c·X is (((±m)·X)>>n).
10. A decoding device for compressing at least two predetermined components of an image, a sequence of images, or video data having L, L ≥ 2, components, characterized in that: It comprises a module for implementing a decoding method as described in any one of claims 6 to 9 for compressing at least two predetermined components in an image, a sequence of images, or video data having L, L≥2, components.
