Method for determining predicted values, encoder, decoder, and computer storage media

KR103000459B1Active Publication Date: 2026-08-05GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020217027319
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-09-24
Publication Date
2026-08-05
Estimated Expiration
2039-09-24

Smart Images

  • Figure 112021098725952-PCT00022_ABST
    Figure 112021098725952-PCT00022_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a method for determining a predicted value, an encoder, a decoder, and a computer storage medium. The above method applicable to an encoder includes obtaining a reconstructed value of a sample adjacent to the current block (S501), obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample (S502), calculating a value of a first constant according to the bit depth value of the luminance component of the sample within the current block when the size of the current block is smaller than a preset threshold (S503), determining that the first predicted input value of the prediction input value set is the difference between the value of the first constant and the first reference value of the reference value set (S504), determining other predicted input values ​​excluding the first predicted input value of the prediction input value set based on the reference value set (S505), calculating a predicted value of a sample at a specific location in the current block according to the prediction input value set (S506), and obtaining predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of the sample at the specific location (S507).
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The embodiments of the present application relate to matrix-based intra prediction (MIP) technology in intra prediction in the field of video encoding, and more specifically, to a method for determining a predicted value, an encoder, a decoder, and a computer storage medium. Background Technology

[0002] In current video encoding and decoding, when determining a predicted value using MIP, the three relevant values ​​are the MIP matrix, weight parameters, and bit right shift parameters, respectively, and these three values ​​must be obtained when calculating the predicted value. In existing methods for determining predicted values, the value of the bit right shift parameter must not be too large to ensure a complete representation of the numerical range. As a result, when determining the predicted value, the range of the prediction input values ​​becomes too large, affecting the prediction accuracy and further impacting the efficiency of encoding and decoding. As can be seen, the prediction accuracy of the prediction method in existing video encoding and decoding is low.

[0003] Embodiments of the present application provide a method for determining a predicted value, an encoder, a decoder, and a computer storage medium, and can improve the prediction accuracy of the prediction method and improve the efficiency of the encoding and decoding in video encoding and decoding.

[0004] The technical solution according to the embodiment of the present application is as follows.

[0005] In a first aspect, an embodiment of the present application provides a method for determining a predicted value applied to an encoder. The method for determining a predicted value is:

[0006] Obtaining the reconstruction value of a sample adjacent to the current block, and

[0007] Obtaining a set of reference values ​​for the current block by performing filtering processing on the reconstructed values ​​of adjacent samples, and

[0008] If the current block size is smaller than a preset threshold, calculating the value of a first constant according to the bit depth value of the luminance component of the sample within the current block, and

[0009] Determining that the first predicted input value of the set of predicted input values ​​is the difference between the value of the first constant and the first reference value of the set of reference values, and

[0010] Determining other predicted input values ​​excluding the first predicted input value of the predicted input value set based on the reference value set, and

[0011] Calculating the predicted value of a sample at a specific location in the current block based on a set of predicted input values, and

[0012] It includes obtaining predicted values ​​for all samples in the current block by performing filtering processing on the predicted values ​​of samples at specific locations.

[0013] In a second aspect, an embodiment of the present application provides a method for determining a predicted value applied to a decoder. The method for determining a predicted value is:

[0014] Analyzing the bit stream to obtain the size of the current block and the coding mode of the current block, and

[0015] When the coding mode of the current block is a matrix-based intra-prediction (MIP) mode, obtaining the reconstructed value of a sample adjacent to the current block and obtaining the reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample, and

[0016] If the current block size is smaller than a preset threshold, calculating the value of a second constant based on the bit depth value of the luminance component of the sample within the current block, and

[0017] Determining that the first predicted input value of the set of predicted input values ​​is the difference between the value of the second constant and the first reference value of the set of reference values, and

[0018] Determining other predicted input values ​​excluding the first predicted input value of the predicted input value set based on the reference value set, and

[0019] Calculating the predicted value of a sample at a specific location in the current block based on a set of predicted input values, and

[0020] It includes obtaining predicted values ​​of samples at locations other than the sample at the specific location in the current block by performing interpolation filtering on the predicted values ​​of samples at a specific location.

[0021] In a third aspect, an embodiment of the present application provides an encoder. The encoder comprises a first acquisition module, a first processing module, a first calculation module, a first determination module, a second calculation module, a third calculation module, and a second processing module. The first acquisition module is used to acquire a reconstruction value of a sample adjacent to the current block. The first processing module is used to acquire a reference value set of the current block by performing filtering processing on the reconstruction value of the adjacent sample. The first calculation module is used to calculate the value of a first constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold. The first determination module is used to determine that the first predicted input value of the prediction input value set is the difference between the value of the first constant and the first reference value of the reference value set. The second calculation module is used to determine other predicted input values ​​excluding the first predicted input value of the prediction input value set based on the reference value set. The third calculation module is used to calculate the predicted value of a sample at a specific location in the current block according to a set of predicted input values. The second processing module is used to obtain the predicted value of all samples in the current block by performing filtering processing on the predicted value of a sample at a specific location.

[0022] In a fourth aspect, an embodiment of the present application provides a decoder. The decoder comprises a second acquisition module, a third processing module, a fourth calculation module, a second determination module, a fifth calculation module, a sixth calculation module, and a fourth processing module. The second acquisition module is used to analyze a bit stream to obtain the size of the current block and the coding mode of the current block. The third processing module is used to obtain a reconstructed value of a sample adjacent to the current block and to obtain a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample when the coding mode of the current block is a matrix-based intra-prediction (MIP) mode. The fourth calculation module is used to calculate the value of a second constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold. The second determination module is used to determine that the first prediction input value of the prediction input value set is the difference between the value of the second constant and the first reference value of the reference value set. The fifth calculation module is used to determine other predicted input values, excluding the first predicted input value of the predicted input value set, based on the reference value set. The sixth calculation module is used to calculate the predicted value of a sample at a specific location in the current block according to the predicted input value set. The fourth processing module is used to obtain the predicted value of a sample at a location other than the sample at a specific location in the current block by performing interpolation filtering processing on the predicted value of the sample at a specific location.

[0023] In a fifth aspect, an embodiment of the present application provides an encoder. The encoder includes a processor and a storage medium that stores instructions executable by the processor. The storage medium can be operated by the processor via a communication bus. When instructions are executed by the processor, a method for determining a predicted value according to one or more embodiments described above is executed.

[0024] In a sixth aspect, an embodiment of the present application provides a decoder. The decoder includes a processor and a storage medium that stores instructions executable by the processor. The storage medium can be operated by the processor via a communication bus. When instructions are executed by the processor, a method for determining a predicted value according to one or more embodiments described above is executed.

[0025] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores an executable instruction. When the executable instruction is executed by one or more processors, the processor executes a method for determining a predicted value according to one or more embodiments described above.

[0026] Embodiments of the present application provide a method for determining a predicted value, an encoder, a decoder, and a computer storage medium. The method for determining a predicted value comprises: an encoder obtaining a reconstructed value of a sample adjacent to the current block and obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample; when the size of the current block is smaller than a preset threshold, calculating a value of a first constant according to the bit depth value of the luminance component of the sample within the current block, determining that the first predicted input value of the prediction input value set is the difference between the value of the first constant and the first reference value of the reference value set, determining other predicted input values ​​excluding the first predicted input value of the prediction input value set based on the reference value set, calculating a predicted value of a sample at a specific location in the current block according to the prediction input value set, and obtaining predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of the sample at the specific location. In other words, in an embodiment of the present application, the value of a first constant is calculated, and it is determined that the difference between the value of the first constant and the first reference value of the reference value set is the first predicted input value of the predicted input value set. By calculating the predicted value of the current block according to the predicted input value set, the dynamic value range of the predicted input value can be effectively reduced when predicting in MIP mode. Therefore, compared to the prior art, when the predicted input value set and the MIP matrix are represented with the same number of bits, data of the dynamic range can be represented more accurately, the accuracy when calculating the predicted value in MIP mode is increased, and thus the coding efficiency is improved. Brief explanation of the drawing

[0027] Figure 1 is a schematic diagram showing the structure of a video encoding system. Figure 2 is a schematic diagram showing the structure of a video decoding system. Figure 3 is a schematic diagram showing the process of encoding samples in MIP mode. Figure 4 is a schematic diagram showing the encoding process in MIP mode. FIG. 5 is a flowchart of a method for determining a predicted value according to an embodiment of the present application. FIG. 6 is a flowchart of a method for determining a predicted value according to another embodiment of the present application. FIG. 7 is a schematic diagram showing the structure of an encoder according to an embodiment of the present application. FIG. 8 is a schematic diagram showing the structure of a decoder according to an embodiment of the present application. FIG. 9 is a schematic diagram showing the structure of an encoder according to another embodiment of the present application. FIG. 10 is a schematic diagram showing the structure of a decoder according to another embodiment of the present application. Specific details for implementing the invention

[0028] Hereinafter, the technical methods of the embodiments of the present application are clearly and completely explained with reference to the drawings of the embodiments of the present application. It should be understood that the specific embodiments described in this specification are used to explain the related application and are not intended to limit the present application. Furthermore, for ease of explanation, only the relevant parts of the related application are illustrated in the drawings.

[0029] In the field of video encoding, the latest versatile video coding (VVC) adopts the affine linear weighted intra prediction proposed by HHI in JVET (joint video experts team)-N0217 and renamed the technology MIP. In the technology MIP, different quantities of MIP modes are introduced in the intra-luminance prediction process depending on the size of the intra-luminance coding block (shortened to "luminance block").

[0030] In MIP technology, luminance blocks are classified into three types based on their size. If the size of the luminance block is W*H, the luminance block can be classified into three types based on its size. A luminance block of size 4×4 belongs to Type 1 luminance blocks, luminance blocks of sizes 8×4, 4×8, and 8×8 belong to Type 2 luminance blocks, and luminance blocks of other sizes belong to Type 3 luminance blocks. For these three types of intra-luminance blocks, MIP technology added M MIP modes based on 67 existing intra-prediction modes.

[0031] FIG. 1 is a schematic diagram showing the structure of a video encoding system. As shown in FIG. 1, the video encoding system (100) includes a transform and quantization module (101), an intra estimation module (102), an intra prediction module (103), a motion compensation module (104), a motion estimation module (105), an inverse transform and inverse quantization module (106), a filter control analysis module (107), a deblocking (DBK) filtering and sample adaptive offset (SAO) filtering module (108), a header information coding and CABAC (context-based adaptive binary arithmetic coding) coding module (109), a decoded image cache module (110), etc.

[0032] FIG. 2 is a schematic diagram showing the structure of a video decoding system. As shown in FIG. 2, the video decoding system (200) includes a header information decoding and CABAC decoding module (201), an inverse transform and inverse quantization module (202), an intra prediction module (203), a motion compensation module (204), a DBK filtering and SAO filtering module (205), a decoded image cache module (206), etc. The video image outputs a bit stream of the video image after being processed by the transform and quantization module (101), the intra estimation module (102), the intra prediction module (103), the motion compensation module (104), the motion estimation module (105), the DBK filtering and SAO filtering module (108), and the header information coding and CABAC coding module (109), etc. of the video encoding system (100). The bit stream is input into a video decoding system (200) and processed by the header information decoding and CABAC decoding module (201), inverse transform and inverse quantization module (202), intra prediction module (203), motion compensation module (204), etc. of the video decoding system (200) so that the original video image is restored at the end.

[0033] When encoding and decoding using the MIP mode provided in the embodiment of the present application, the method for determining the predicted value is mainly applied to the intra-prediction module (103) of the video coding system and the intra-prediction module (203) of the video decoding system, and is applied to both the encoding side and the decoding side.

[0034] In the case of a Type 1 luminance block, M=35, in the case of a Type 2 luminance block, M=19, and in the case of a Type 3 luminance block, M=11.

[0035] Specifically, MIP technology is applied only to intra-luminance prediction. As with existing modes, the input for MIP prediction is the data from the top row and left column of the current block (corresponding to the image block to be encoded below), and the output is the predicted value of the current block. The specific prediction process involves three steps: averaging, matrix-vector multiplication, and interpolation. That is, the predicted luminance value of the current block can be obtained by performing the above three operations on the reconstructed luminance values ​​of samples adjacent to the top row and left column of the input current block.

[0036] Figure 3 is a schematic diagram illustrating the process of encoding samples in MIP mode. As shown in Figure 3, the process includes the following steps.

[0037] Step 1: Perform an average operation on the upper adjacent reference point of the current luminance block to obtain a vector redT with N values. Perform an average operation on the left adjacent reference point of the current luminance block to obtain a vector redL with N values. If the luminance block belongs to a type 1 luminance block, N=2, and if the luminance block belongs to a type 2 or type 3 luminance block, N=4. Vector redT and vector redL form a new vector pTemp used in subsequent operations.

[0038] Step 2: Obtain the matrix mWeight, weight parameter fO, and bit right shift parameter sW. Obtain the partial prediction of the current block identified by the crosshairs in Fig. 3 by calculating with the following formula.

[0039]

[0040] If MipSizeId=0 or 1, calculate using the following formula.

[0041]

[0042] If MipSizeId=2, calculate using the following formula.

[0043]

[0044] predMip[x, y] represents the predicted value of the sample at position (x, y). pTemp[i] represents the i-th reference value of the current block's reference value set when predicting in MIP mode. p[x] represents the i-th predicted input value when predicting in MIP mode. inSize is determined by MipSizeId, the MIP sequence number; if MipSizeId=0, inSize=4; if MipSizeId=1, inSize=8; and if MipSizeId=2, inSize=7. The value of MipSizeId is determined by the size of the current block. If the current block size is 4x4, MipSizeId=0; if the current block size is 4x8, 8x4, or 8x8, MipSizeId=1; and if the current block size is greater than 8x8, MipSizeId=2. BitDepth represents the bit depth of the luminance component (i.e., the number of binary bits used to represent the sample value of the luminance component). mWeight represents the MIP matrix. predC, incH, and incW are used to determine the parameters of the matrix elements corresponding to the sample position (x, y). ">>" is the bit right shift operator. oW represents the shift offset used for the bit right shift operation. sW represents the right shift bit. fO represents the weight parameter. sW and fO can be determined based on at least the size of the current block or the value of MipSizeId. For example, the values ​​of sW and fO can be determined using a mapping table related to the value of MipSizeId. The mapping table records at least the sW and fO values ​​corresponding to different MipSizeId values.

[0045] Step 3: Linear interpolation is performed to obtain the remaining predicted value of the current block, that is, the partial predicted value of the current block identified by the multiple points of FIG. 3 can be obtained.

[0046] Three values ​​related to the MIP technique, mWeight, fO, and sW, need to be obtained when determining the predicted value. The value of mWeight is related to both the prediction mode and the sample space position, while the values ​​of fO and sW are related only to the prediction mode. p[i] can be obtained by calculating using formulas (3), (4), and (5). The values ​​of mWeight and fO are stored as unsigned 7-digit binary numbers. sW represents the offset corresponding to the prediction mode. Depending on the prediction mode (as shown in Table 1 below), it has one of the values ​​5, 6, or 7, which can be obtained by referring to Table 1. The sample value of the sample can be obtained by calculating the matrix vector product, and the total memory requirement is 4.5395 kilobytes.

[0047]

[0048] When predicting in MIP mode, for the current block, the index of the prediction mode is first determined. Based on the index of the prediction mode, the fixed sW value of the current block is obtained by referring to a table, and mWeight-fO can be obtained. The original floating-point number matrix used to calculate the prediction value is obtained by right-shifting by the sW bit. FIG. 4 is a schematic diagram showing the encoding process in MIP mode.

[0049] As shown in Fig. 4, first, the index number of the MIP mode is obtained. Next, the machine-trained mWeight and fO are obtained from the mapping table according to the index number of the MIP mode, and sW is obtained from the mapping table according to the index number of the MIP mode. Finally, for prediction It is executed, and the predicted value is obtained.

[0050] In other words, in the existing VVC MIP technique, the raw floating-point number mWeightf[x][y] for all values ​​of mWeight is represented as a fixed-point value of an offset starting from the minimum value (which is always a negative value and is denoted by fO).

[0051]

[0052] Since mWeight[x][y] is stored as an unsigned 7-digit binary number, the display accuracy is degraded. Here, accuracy increases as sW increases, but the value of sW cannot be too large to fully represent the numerical range. Because the same sW value is used indiscriminately throughout the matrix, parameters with a small value range require further reduction in display accuracy to adapt to the common value variation range of all parameters in the matrix. The variation range of the parameters in the original matrix is ​​related to the method of acquiring the p[i] data. The calculation method of p[i] in the relevant technology causes an expansion of the parameter variation range, degrades the accuracy of the data within the weight matrix, increases the prediction error of the MIP mode, and consequently reduces encoding efficiency.

[0053] In order to improve encoding efficiency by increasing the prediction accuracy of MIP mode, an embodiment of the present application provides a method for determining a predicted value. FIG. 5 is a flowchart of a method for determining a predicted value according to an embodiment of the present application. As illustrated in FIG. 5, the method is applicable to an encoder. The method includes the following.

[0054] Block S501, obtains the reconstruction value of a sample adjacent to the current block.

[0055] Specifically, in order to determine the predicted value of the current block during the encoding process, the encoder first needs to obtain the reconstructed value of the sample adjacent to the current block. The sample adjacent to the current block includes the sample in the top row and left column of the current block.

[0056] Block S502 obtains a set of reference values ​​for the current block by performing filtering processing on the reconstructed values ​​of adjacent samples.

[0057] After obtaining the reconstruction values ​​of adjacent samples, for example, the reconstruction value of the sample in the top row of the obtained current block is redT (which has N values), and the reconstruction value of the sample in the left column of the obtained current block is redL (which has N values), and redT and redL form a new vector pTemp which is a set of reference values ​​of the current block.

[0058] In an optional embodiment, to obtain a reference value set of the current block by performing filtering processing, block S502 comprises the following: dividing the reconstructed values ​​of adjacent samples into N groups, calculating the average value of the reconstructed values ​​of each group, and using the average value as the reference value of the reference value set. Here, N is a positive integer.

[0059] N is set to a positive integer value corresponding to the preset size of the current block. In other words, performing filtering processing on the reconstructed values ​​of adjacent samples in block S502 specifically involves dividing redT and redL into N groups, calculating the average value of the reconstructed values ​​of each group to obtain N average values, and using these N average values ​​as reference values ​​for the reference value set.

[0060] For example, if the current block size is 4x4, inSize=4; if the current block size is 4x8, 8x4, or 8x8, inSize=8; and if the current block size is greater than 8x8, inSize=7.

[0061] Block S503, if the size of the current block is smaller than a preset threshold, the value of the first constant is calculated according to the bit depth value of the luminance component of the sample in the current block.

[0062] In actual applications, the size of the current block can be represented by MipSizeId. If MipSizeId is a number less than 2, that is, if MipSizeId is equal to 0 or 1, the value of the first constant is calculated based on the bit depth value of the luminance component of the sample in the current block.

[0063] In order to calculate the value of the first constant, in one optional embodiment, block S503 comprises the following. The value of the first constant is set to a value obtained by performing a binary bit left shift operation on the number 1. Here, the number of left shift bits used in the binary bit left shift operation is equal to the bit depth value minus 1.

[0064] Specifically, the value of the first constant is the value obtained by performing a bit left shift operation on the number 1, and the number of left shift bits is the value obtained by subtracting 1 from the bit depth.

[0065] Block S504 determines that the first predicted input value of the predicted input value set is the difference between the value of the first constant and the first reference value of the reference value set.

[0066] The set of predicted input values ​​is used to calculate the predicted value of the current block according to the MIP. After obtaining the value of the first constant, the difference between the value of the first constant and the first reference value of the reference value set in S504 can be determined as the first predicted input value. The first predicted input value p[0] can be obtained by calculating it using the formula below.

[0067]

[0068] Block S505 determines other predicted input values, excluding the first predicted input value of the predicted input value set, based on the reference value set.

[0069] Other prediction input values ​​p[i] include prediction input values ​​other than the first prediction input value when the current block size is smaller than a preset threshold. Other prediction input values ​​p[i] may further include prediction input values ​​when the current block size is greater than or equal to a preset threshold. Other prediction input values ​​p[i] can be obtained by calculating using the following formula.

[0070]

[0071] Block S506 calculates the predicted value of a sample at a specific location in the current block based on the set of predicted input values.

[0072] Specifically, after all predicted input values ​​are determined, a set of predicted input values ​​can be obtained. By performing a prediction based on the set of predicted input values, a predicted value of a sample at a specific location in the current block can be obtained, for example, a predicted value of a sample at a location identified by the crosshairs in Fig. 3.

[0073] In order to determine the predicted value of a sample at a specific location in the current block, in one optional embodiment, block S506 comprises the following: determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables. Calculating the predicted value of a sample at a specific location in the current block based on the set of predicted input values, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block.

[0074] In other words, one or more mapping tables are stored in advance in the encoder. The MIP matrix (mWeit) of the current block, the bit right shift parameter (sW) of the current block, and the weight parameter (fO) of the current block can be determined by the one or more mapping tables.

[0075] sW and fO can be determined based on at least the size of the current block or the value of MipSizeId. For example, the values ​​of sW and fO can be determined through a mapping table related to the value of MipSizeId. The mapping table records the values ​​of sW and fO corresponding to at least different values ​​of MipSizeId.

[0076] The values ​​in the mapping table above are constants. That is, the values ​​in the mapping table are not updated while calculating the MIP prediction values. The constant values ​​in the mapping table can be obtained using an offline training method according to the above formula (7). Alternatively, the constant values ​​in the mapping table can be derived from a mapping table corresponding to another method of calculating p[0] according to the above formula (7). In particular, in an embodiment of the present application, the mapping table derived from the MIP mapping table of the VVC Committee Draft (CD) is as follows.

[0077] If MipSizeId=0 and modeId=0, mWeight[x][y]=

[0078] {

[0079] {31, 59, 77, 28}, {36, 92, 85, 25}, {37, 69, 100, 24}, {35, 36, 106, 29}, {44, 49, 104, 48}, {44, 21, 94, 59}, {39, 0, 80, 72}, {33, 2, 66, 84}, {36, 13, 35, 99}, {29, 11, 34, 103}, {23, 21, 34, 106}, {17, 24, 40, 105}, {18, 28, 43, 101}, {12, 32, 49, 101}, {7, 31, 53, 102}, {7, 32, 54, 100}

[0080] },

[0081] If MipSizeId=0 and modeId=1, mWeight[x][y]=

[0082] {{22, 14, 70, 0}, {24, 17, 53, 5}, {28, 70, 32, 12}, {40, 82, 11, 19}, {20, 17, 63, 52}, {22, 17, 46, 63}, {25, 21, 29, 71}, {30, 25, 16, 74}, {20, 19, 16, 85}, {21, 19, 17, 85}, {20, 18, 20, 83}, {20, 18, 23, 82}, {20, 19, 22, 80}, {20, 18, 22, 80}, {20, 20, 22, 80}, {21, 21, 22, 80}},

[0083] If MipSizeId=0 and modeId=2, mWeight[x][y]=

[0084] {{6, 7, 62, 10}, {7, 0, 33, 9}, {7, 12, 2, 6}, {7, 63, 3, 6}, {7, 7, 73, 6}, {7, 8, 71, 9}, {7, 1, 50, 9}, {7, 9, 14, 7}, {6, 7, 55, 22}, {7, 7, 72, 5}, {7, 9, 74, 7}, {7, 3, 62, 9}, {8, 6, 2, 77}, {7, 6, 33, 45}, {7, 7, 62, 14}, {7, 8, 70, 8}},

[0085] If MipSizeId=0 and modeId=3, mWeight[x][y]=

[0086] {{32, 32, 54, 34}, {32, 38, 34, 34}, {32, 94, 38, 30}, {34, 110, 40, 28}, {32, 30, 80, 32}, {32, 52, 56, 30}, {34, 106, 48, 30}, {44, 104, 38, 40}, {32, 30, 56, 72}, {48, 64, 38, 80}, {68, 90, 20, 86}, {76, 78, 8, 90}, {50, 32, 0, 122}, {76, 68, 4, 106}, {86, 74, 8, 96}, {82, 74, 8, 94}},

[0087] If MipSizeId=0 and modeId=4, mWeight[x][y]=

[0088] {{27, 19, 44, 22}, {27, 35, 23, 27}, {26, 88, 29, 28}, {28, 91, 27, 27}, {32, 21, 87, 25}, {35, 22, 46, 20}, {32, 69, 26, 20}, {29, 87, 29, 23}, {32, 23, 40, 81}, {44, 16, 46, 66}, {53, 17, 17, 50}, {46, 37, 3, 40}, {31, 25, 21, 92}, {36, 24, 24, 91}, {43, 16, 23, 88}, {52, 11, 0, 81}},

[0089] If MipSizeId=0 and modeId=5, mWeight[x][y]=

[0090] {{24, 24, 82, 26}, {24, 22, 76, 26}, {24, 32, 66, 24}, {24, 58, 56, 24}, {24, 26, 88, 22}, {24, 28, 88, 26}, {26, 26, 88, 26}, {24, 26, 86, 28}, {24, 26, 72, 40}, {24, 26, 84, 24}, {22, 28, 86, 22}, {26, 34, 82, 24}, {26, 24, 0, 110}, {26, 24, 14, 98}, {42, 26, 44, 62}, {80, 38, 76, 8}},

[0091] If MipSizeId=0 and modeId=6, mWeight[x][y]=

[0092] {{20, 22, 48, 19}, {22, 20, 43, 18}, {21, 35, 35, 19}, {30, 62, 25, 17}, {21, 22, 47, 29}, {22, 21, 48, 27}, {23, 31, 45, 24}, {55, 44, 24, 8}, {21, 21, 25, 48}, {18, 23, 25, 51}, {39, 19, 23, 38}, {76, 27, 22, 0}, {22, 21, 20, 53}, {23, 19, 18, 54}, {60, 5, 12, 35}, {77, 25, 19, 3}},

[0093] If MipSizeId=0 and modeId=7, mWeight[x][y]=

[0094] {{13, 10, 73, 12}, {13, 3, 54, 15}, {13, 0, 29, 14}, {13, 22, 13, 13}, {13, 13, 80, 10}, {14, 14, 86, 7}, {15, 11, 84, 8}, {14, 3, 68, 11}, {13, 12, 30, 59}, {14, 10, 45, 43}, {15, 11, 63, 26}, {17, 11, 75, 15}, {16, 10, 6, 83}, {18, 9, 6, 83}, {19, 8, 9, 78}, {24, 5, 21, 63}},

[0095] If MipSizeId=0 and modeId=8, mWeight[x][y]=

[0096] {{24, 22, 74, 30}, {24, 20, 22, 44}, {26, 68, 6, 32}, {26, 90, 20, 28}, {24, 26, 46, 66}, {24, 20, 36, 74}, {24, 44, 10, 58}, {38, 82, 6, 30}, {24, 24, 34, 76}, {24, 24, 40, 74}, {24, 26, 32, 78}, {86, 42, 10, 32}, {26, 22, 38, 74}, {22, 26, 38, 74}, {40, 16, 36, 72}, {118, 0, 34, 32}},

[0097] If MipSizeId=0 and modeId=9, mWeight[x][y]=

[0098] {{14, 39, 85, 0}, {15, 49, 42, 39}, {17, 30, 22, 66}, {17, 18, 19, 74}, {18, 19, 24, 73}, {17, 11, 13, 83}, {17, 12, 18, 78}, {17, 15, 19, 75}, {16, 15, 14, 78}, {16, 16, 19, 75}, {17, 17, 18, 75}, {18, 17, 18, 75}, {16, 16, 19, 75}, {17, 16, 18, 76}, {17, 16, 18, 76}, {18, 16, 19, 75}},

[0099] If MipSizeId=0 and modeId=10, mWeight[x][y]=

[0100] {{26, 24, 57, 22}, {30, 14, 30, 24}, {28, 61, 25, 25}, {26, 100, 29, 27}, {29, 27, 92, 30}, {31, 19, 72, 25}, {40, 15, 37, 21}, {46, 70, 24, 18}, {29, 26, 30, 89}, {30, 26, 34, 87}, {41, 14, 27, 81}, {67, 12, 0, 65}, {29, 26, 24, 92}, {29, 27, 24, 92}, {28, 29, 27, 93}, {36, 22, 25, 89}},

[0101] If MipSizeId=0 and modeId=11, mWeight[x][y]=

[0102] {{21, 19, 60, 7}, {26, 12, 35, 9}, {26, 14, 27, 11}, {22, 50, 24, 13}, {24, 18, 75, 38}, {29, 16, 60, 39}, {38, 6, 30, 41}, {41, 0, 3, 45}, {22, 19, 21, 84}, {23, 19, 21, 85}, {25, 20, 22, 84}, {28, 18, 16, 83}, {20, 20, 20, 83}, {20, 21, 21, 82}, {19, 21, 21, 83}, {19, 22, 22, 82}},

[0103] If MipSizeId=0 and modeId=12, mWeight[x][y]=

[0104] {{16, 14, 75, 3}, {16, 43, 57, 16}, {18, 63, 20, 43}, {14, 46, 0, 65}, {15, 20, 54, 52}, {15, 22, 23, 76}, {13, 17, 15, 83}, {10, 17, 17, 82}, {14, 17, 11, 84}, {12, 18, 14, 83}, {11, 20, 16, 81}, {9, 21, 16, 81}, {12, 18, 18, 80}, {10, 19, 17, 81}, {9, 20, 16, 82}, {8, 20, 16, 82}},

[0105] If MipSizeId=0 and modeId=13, mWeight[x][y]=

[0106] {{7, 6, 82, 0}, {7, 4, 83, 0}, {7, 2, 83, 0}, {7, 3, 80, 0}, {7, 8, 59, 16}, {7, 8, 58, 17}, {7, 8, 58, 17}, {7, 7, 57, 18}, {7, 7, 7, 70}, {7, 7, 7, 71}, {7, 7, 6, 71}, {7, 8, 7, 70}, {6, 7, 8, 71}, {6, 7, 8, 70}, {6, 7, 8, 70}, {6, 7, 9, 69}},

[0107] If MipSizeId=0 and modeId=14, mWeight[x][y]=

[0108] {{21, 16, 39, 18}, {19, 35, 27, 17}, {19, 56, 17, 28}, {30, 46, 8, 40}, {17, 26, 47, 25}, {21, 40, 24, 40}, {41, 31, 9, 46}, {57, 13, 10, 41}, {22, 25, 15, 55}, {49, 14, 12, 46}, {65, 3, 18, 36}, {63, 4, 19, 35}, {49, 8, 13, 46}, {65, 0, 19, 33}, {63, 1, 19, 35}, {61, 3, 18, 36}},

[0109] If MipSizeId=0 and modeId=15, mWeight[x][y]=

[0110] {{23, 43, 54, 26}, {23, 56, 50, 24}, {22, 57, 49, 25}, {23, 61, 47, 24}, {24, 51, 57, 20}, {21, 55, 51, 27}, {23, 56, 52, 24}, {24, 59, 51, 23}, {23, 43, 60, 24}, {27, 55, 58, 12}, {23, 58, 52, 23}, {24, 59, 52, 23}, {64, 26, 13, 80}, {89, 48, 51, 0}, {43, 57, 59, 7}, {24, 57, 54, 22}},

[0111] If MipSizeId=0 and modeId=16, mWeight[x][y]=

[0112] {{20, 20, 51, 22}, {21, 22, 51, 22}, {21, 29, 50, 22}, {21, 32, 48, 22}, {21, 23, 53, 22}, {21, 24, 53, 22}, {21, 23, 53, 22}, {21, 24, 53, 22}, {18, 24, 47, 28}, {18, 24, 48, 27}, {19, 25, 48, 26}, {20, 25, 48, 26}, {30, 16, 0, 71}, {35, 14, 1, 67}, {38, 14, 2, 64}, {38, 13, 4, 63}},

[0113] If MipSizeId=0 and modeId=17, mWeight[x][y]=

[0114] {{25, 21, 34, 25}, {27, 34, 3, 39}, {30, 55, 24, 23}, {26, 41, 40, 18}, {28, 22, 13, 48}, {44, 38, 6, 29}, {35, 44, 43, 10}, {25, 30, 45, 21}, {35, 29, 12, 44}, {56, 34, 31, 2}, {33, 30, 47, 14}, {24, 28, 44, 25}, {39, 37, 33, 19}, {48, 29, 40, 0}, {31, 25, 44, 19}, {25, 28, 44, 24}},

[0115] If MipSizeId=1 and modeId=0, mWeight[x][y]=

[0116] {{18, 22, 18, 20, 72, 43, 9, 19}, {18, 8, 22, 26, 56, 58, 5, 20}, {19, 21, 10, 35, 35, 72, 3, 20}, {21, 21, 21, 29, 18, 78, 7, 18}, {19, 16, 16, 19, 3, 70, 46, 8}, {21, 18, 15, 20, 4, 58, 61, 4}, {25, 16, 18, 18, 8, 42, 73, 3}, {28, 14, 20, 18, 13, 30, 76, 6}, {20, 18, 17, 17, 19, 4, 69, 40}, {24, 18, 17, 16, 19, 3, 55, 51}, {30, 14, 18, 15, 17, 5, 39, 63, {31, 14, 18, 16, 16, 8, 28, 70}, {22, 15, 18, 16, 16, 20, 2, 92}, {26, 14, 18, 15, 15, 19, 0, 91}, {29, 15, 18, 16, 14, 19, 3, 88}, {29, 16, 17, 17, 15, 17, 7, 84}},

[0117] If MipSizeId=1 and modeId=1, mWeight[x][y]=

[0118] {{20, 35, 18, 20, 58, 35, 18, 20}, {20, 75, 26, 19, 32, 31, 20, 20}, {21, 6, 93, 22, 20, 25, 21, 20}, {24, 25, 0, 99, 18, 21, 21, 18}, {20, 28, 20, 20, 8, 78, 30, 19}, {20, 67, 22, 20, 10, 59, 27, 19}, {22, 7, 93, 18, 15, 30, 25, 20}, {26, 25, 1, 97, 20, 18, 22, 18}, {20, 28, 19, 20, 15, 14, 81, 25}, {20, 59, 20, 20, 12, 22, 65, 23}, {23, 7, 93, 16, 14, 24, 34, 22}, {30, 24, 3, 95, 19, 20, 20, 18}, {20, 29, 20, 20, 14, 23, 8, 90}, {20, 51, 19, 21, 14, 19, 15, 77}, {24, 7, 88, 16, 14, 20, 21, 43}, {33, 22, 6, 91, 19, 18, 20, 21}},

[0119] If MipSizeId=1 and modeId=2, mWeight[x][y]=

[0120] {{10, 19, 10, 12, 81, 14, 10, 11}, {10, 26, 15, 10, 79, 6, 12, 11}, {11, 16, 31, 12, 69, 2, 14, 10}, {11, 13, 8, 44, 54, 3, 14, 10}, {11, 11, 12, 11, 1, 83, 13, 9}, {11, 12, 12, 12, 11, 83, 4, 12}, {11, 15, 11, 13, 24, 77, 0, 12}, {11, 14, 13, 16, 38, 63, 2, 12}, {11, 12, 11, 11, 14, 2, 82, 12}, {11, 13, 12, 12, 10, 14, 79, 5}, {11, 12, 12, 13, 6, 29, 70, 3}, {11, 12, 11, 16, 3, 45, 55, 4}, {11, 12, 11, 12, 10, 12, 1, 84}, {11, 13, 11, 12, 12, 8, 13, 76}, {11, 12, 12, 13, 14, 3, 29, 64}, {11, 13, 10, 17, 15, 0, 45, 49}},

[0121] If MipSizeId=1 and modeId=3, mWeight[x][y]=

[0122] {{21, 50, 24, 20, 19, 38, 22, 24}, {22, 53, 41, 23, 14, 22, 27, 27}, {22, 22, 66, 37, 19, 17, 25, 28}, {27, 19, 12, 92, 19, 18, 21, 28}, {21, 51, 25, 20, 19, 23, 48, 27}, {21, 41, 48, 24, 17, 11, 36, 37}, {24, 17, 58, 43, 14, 17, 23, 39}, {39, 22, 4, 91, 15, 20, 16, 33}, {20, 44, 27, 21, 16, 20, 35, 54}, {22, 31, 53, 24, 13, 19, 21, 55}, {30, 14, 47, 50, 10, 20, 16, 48}, {57, 28, 0, 82, 19, 14, 18, 30}, {22, 34, 30, 21, 15, 22, 21, 70, {24, 22, 52, 26, 12, 24, 16, 61}, {38, 17, 33, 56, 14, 18, 16, 49}, {66, 32, 0, 75, 26, 4, 22, 30}},

[0123] If MipSizeId=1 and modeId=4, mWeight[x][y]=

[0124] {{18, 32, 15, 16, 60, 34, 10, 19}, {18, 68, 28, 13, 31, 37, 11, , 17}, {19, 8, 73, 23, 15, 30, 22, 14}, {19, 18, 0, 85, 11, 17, 33, 15}, {18, 18, 19, 17, 9, 56, 56, 9}, {19, 19, 20, 16, 13, 30, 73, 12}, {19, 20, 20, 18, 13, 13, 71, 28}, {18, 18, 16, 26, 12, 8, 54, 47}, {17, 16, 17, 17, 17, 10, 54, 51}, {16, 17, 16, 18, 16, 15, 28, 73}, {16, 18, 15, 18, 16, 20, 14, 83}, {15, 19, 17, 18, 15, 21, 14, 82}, {16, 17, 16, 18, 17, 18, 7, 90}, {15, 18, 16, 19, 16, 17, 11, 87}, {14, 18, 16, 20, 17, 15, 15, 84}, {13, 19, 16, 22, 17, 15, 18, 81}},

[0125] If MipSizeId=1 and modeId=5, mWeight[x][y]=

[0126] {{11, 6, 13, 11, 75, 6, 12, 11}, {12, 3, 8, 13, 48, 2, 13, 10}, {12, 45, 1, 13, 19, 9, 12, 10}, {12, 42, 37, 8, 10, 12, 11, 10}, {11, 11, 10, 12, 18, 74, 6, 11}, {11, 12, 10, 12, 53, 47, 2, 12}, {12, 6, 10, 12, 71, 16, 9, 11}, {12, 15, 6, 13, 53, 5, 13, 10}, {12, 12, 10, 11, 9, 17, 77, 5}, {12, 11, 9, 12, 3, 51, 50, 2}, {12, 11, 9, 12, 11, 72, 18, 8}, {12, 11, 9, 12, 36, 57, 7, 10}, {12, 10, 10, 11, 10, 10, 16, 71}, {13, 11, 10, 11, 14, 0, 56, 39}, {13, 11, 9, 12, 12, 8, 76, 13}, {13, 12, 9, 12, 8, 35, 57, 7}},

[0127] If MipSizeId=1 and modeId=6, mWeight[x][y]=

[0128] {{23, 21, 23, 23, 101, 30, 19, 25}, {24, 13, 23, 24, 101, 29, 19, 25}, {24, 24, 14, 23, 101, 29, 18, 24}, {24, 23, 25, 17, 98, 29, 18, 24}, {23, 24, 23, 23, 0, 97, 36, 17}, {24, 25, 24, 22, 1, 97, 35, 17}, {24, 22, 25, 23, 1, 96, 36, 17}, {24, 22, 23, 24, 3, 94, 36, 17}, {24, 23, 23, 22, 31, 0, 93, 34}, {24, 23, 24, 23, 31, 2, 93, 33}, {24, 22, 24, 23, 31, 1, 92, 34}, {24, 22, 23, 23, 30, 3, 90, 35}, {23, 24, 23, 23, 19, 31, 2, 102}, {23, 23, 23, 24, 19, 30, 3, 101}, {23, 23, 24, 24, 19, 30, 3, 101}, {23, 23, 23, 24, 19, 31, 4, 100}}

[0129] If MipSizeId=1 and modeId=7, mWeight[x][y]=

[0130] {{10, 5, 10, 10, 56, 4, 11, 9}, {11, 22, 6, 10, 13, 9, 10, 10}, {11, 67, 22, 6, 10, 10, 10, 10}, {11, 6, 68, 18, 11, 9, 11, 9}, {10, 10, 10, 10, 40, 53, 3, 11}, {11, 6, 10, 9, 61, 9, 10, 9}, {11, 17, 6, 10, 23, 7, 9, 10}, {11, 56, 15, 8, 10, 11, 9, 10}, {10, 9, 11, 9, 4, 42, 54, 3}, {11, 10, 11, 9, 22, 67, 8, 8}, {10, 7, 11, 9, 57, 23, 7, 10}, {11, 11, 10, 10, 36, 8, 10, 9}, {10, 10, 11, 9, 13, 0, 41, 50}, {11, 9, 11, 9, 8, 24, 64, 8}, {10, 10, 11, 9, 15, 63, 18, 10}, {11, 10, 11, 10, 44, 33, 10, 11}},

[0131] If MipSizeId=1 and modeId=8, mWeight[x][y]=

[0132] {{21, 44, 37, 20, 24, 68, 10, 23}, {21, 1, 55, 39, 14, 39, 41, 18}, {21, 25, 0, 68, 18, 18, 42, 39}, {22, 24, 19, 36, 19, 14, 25, 72}, {21, 11, 28, 30, 18, 23, 80, 19}, {22, 25, 8, 38, 21, 13, 45, 62}, {22, 22, 18, 25, 19, 18, 16, 90}, {23, 21, 21, 24, 19, 21, 12, 91}, {21, 22, 15, 28, 21, 20, 23, 82}, {22, 21, 19, 24, 20, 22, 9, 95}, {23, 21, 21, 22, 20, 21, 13, 92}, {23, 22, 21, 22, 19, 21, 15, 90}, {22, 21, 20, 22, 21, 22, 15, 90}, {22, 21, 21, 22, 20, 21, 16, 89}, {23, 21, 20, 23, 19, 22, 15, 89}, {24, 21, 20, 23, 19, 23, 15, 87}},

[0133] If MipSizeId=1 and modeId=9, mWeight[x][y]=

[0134] {{8, 15, 18, 15, 51, 68, 39, 23}, {7, 4, 10, 20, 22, 76, 51, 27}, {7, 16, 1, 17, 13, 78, 55, 29}, {7, 13, 24, 0, 12, 76, 55, 27}, {7, 8, 10, 14, 10, 66, 72, 25}, {6, 12, 8, 14, 12, 59, 75, 27}, {5, 13, 9, 12, 13, 58, 75, 28}, {4, 14, 8, 13, 14, 60, 71, 29}, {7, 10, 11, 12, 12, 42, 79, 41}, {4, 14, 8, 14, 13, 45, 79, 39}, {3, 14, 8, 14, 12, 44, 81, 38}, {2, 15, 10, 14, 13, 45, 78, 36}, {7, 11, 12, 13, 13, 24, 73, 62}, {4, 15, 8, 13, 15, 28, 89, 43}, {1, 14, 10, 14, 16, 29, 85, 45}, {1, 16, 9, 15, 17, 33, 78, 46}},

[0135] If MipSizeId=2 and modeId=0, mWeight[x][y]=

[0136] {{46, 7, 14, 92, 23, 20, 10}, {32, 22, 17, 52, 50, 25, 12}, {1, 36, 21, 27, 61, 30, 14}, {0, 30, 27, 17, 61, 32, 17}, {13, 12, 37, 13, 59, 35, 18}, {14, 13, 38, 11, 56, 38, 18}, {10, 27, 29, 9, 55, 39, 17}, {10, 27, 32, 7, 53, 38, 17}, {8, 17, 14, 15, 92, 27, 13}, {2, 16, 18, 8, 84, 38, 15}, {4, 12, 22, 7, 76, 44, 17}, {8, 8, 25, 7, 72, 46, 18}, {8, 8, 26, 8, 69, 46, 19}, {10, 11, 23, 9, 68, 47, 17}, {10, 11, 23, 8, 67, 47, 18}, {10, 12, 26, 9, 64, 43, 20}, {7, 10, 16, 11, 86, 37, 17}, {7, 9, 18, 9, 73, 47, 20}, {8, 8, 21, 9, 67, 50, 22}, {7, 9, 22, 9, 66, 50, 22}, {7, 9, 23, 8, 67, 48, 22}, {8, 9, 24, 8, 67, 48, 21}, {8, 9, 26, 8, 66, 49, 20}, {9, 8, 29, 8, 64, 48, 20}, {8, 8, 16, 8, 69, 56, 19}, {6, 9, 17, 8, 64, 55, 25}, {7, 8, 19, 8, 62, 53, 27}, {7, 8, 21, 8, 61, 52, 28}, {7, 9, 22, 7, 62, 52, 25}, {7, 9, 23, 6, 62, 53, 24}, {8, 7, 26, 6, 62, 52, 23}, {8, 8, 28, 6, 61, 51, 22}, {7, 9, 14, 7, 49, 74, 23}, {7, 7, 17, 7, 51, 65, 30}, {7, 8, 18, 6, 53, 57, 33}, {7, 8, 20, 5, 56, 57,31}, {7, 8, 22, 6, 56, 57, 29}, {8, 8, 23, 5, 57, 57, 27}, {8, 7, 26, 5, 57, 56, 26}, {8, 6, 27, 5, 57, 55, 25}, {7, 8, 14, 6, 36, 65, 47}, {7, 7, 18, 5, 44, 59, 44}, {7, 7, 19, 5, 47, 59, 40}, {7, 7, 20, 5, 50, 59, 35}, {8, 6, 22, 5, 51, 58, 33}, {8, 5, 25, 5, 51, 59, 30}, {7, 6, 26, 5, 51, 59, 29}, {9, 6, 27, 5, 50, 59, 28}, {7, 8, 14, 6, 27, 44, 76}, {6, 8, 16, 5, 38, 57, 53}, {6, 7, 19, 4, 44, 63, 40}, {7, 6, 21, 4, 47, 62, 37}, {8, 6, 22, 4, 47, 62, 35}, {8, 6, 24, 5, 46, 64, 32}, {8, 6, 26, 5, 46, 63, 31}, {8, 6, 28, 6, 45, 62, 30}, {8, 7, 15, 6, 22, 43, 81}, {6, 8, 16, 5, 32, 64, 51}, {8, 8, 19, 5, 37, 66, 41}, {9, 5, 21, 4, 41, 67, 36}, {8, 7, 22, 5, 42, 65, 35}, {8, 6, 25, 6, 42, 64, 34}, {9, 5, 27, 7, 43, 63, 32}, {9, 5, 29, 8, 40, 60, 34}},

[0137] If MipSizeId=2 and modeId=1, mWeight[x][y]=

[0138] {{50, 47, 46, 61, 50, 45, 46}, {59, 49, 47, 57, 51, 45, 46}, {64, 52, 48, 55, 51, 46, 46}, {58, 61, 50, 53, 51, 46, 46}, {52, 66, 53, 52, 51, 46, 46}, {48, 62, 62, 50, 51, 46, 46}, {47, 49, 76, 49, 51, 46, 46}, {45, 33, 92, 49, 52, 46, 46}, {50, 48, 46, 57, 63, 45, 46}, {55, 52, 48, 55, 63, 45, 46}, {57, 56, 50, 53, 63, 45, 46}, {55, 60, 53, 51, 63, 46, 46}, {51, 60, 59, 51, 63, 46, 46}, {48, 55, 69, 49, 63, 46, 46}, {46, 42, 84, 48, 62, 46, 46}, {43, 28, 99, 48, 61, 47, 46}, {49, 49, 47, 48, 73, 47, 46}, {52, 52, 49, 47, 73, 48, 46}, {52, 55, 53, 47, 72, 48, 46}, {51, 56, 58, 46, 72, 48, 46}, {48, 54, 65, 46, 71, 48, 46}, {46, 47, 76, 45, 71, 49, 46}, {44, 34, 91, 44, 70, 49, 46}, {41, 23, 04, 45, 68, 50, 46}, {48, 48, 48, 44, 68, 59, 45}, {50, 51, 51, 43, 69, 58, 45}, {49, 52, 56, 43, 68, 58, 45}, {48, 52, 62, 42, 68, 58, 45}, {45, 48, 71, 42, 68, 58, 45}, {43, 38, 84, 41, 68, 59, 45}, {41, 27, 98, 41, 67, 59, 45}, {38, 19, 109, 42, 66, 59, 45}, {47, 47, 49, 44, 52, 74, 45}, {48, 48,53, 43, 54, 74, 45}, {47, 48, 60, 43, 55, 73, 45}, {45, 46, 68, 43, 55, 73, 45}, {43, 40, 78, 42, 56, 72, 45}, {41, 30, 91, 42, 57, 72, 45}, {38, 20, 105, 41, 57, 71, 45}, {36, 13, 114, 41, 57, 70, 46}, {46, 47, 50, 45, 43, 77, 51}, {46, 46, 56, 44, 44, 78, 51}, {45, 43, 64, 43, 45, 77, 51}, {43, 39, 73, 43, 45, 77, 51}, {40, 31, 85, 42, 46, 77, 51}, {38, 22, 98, 42, 46, 77, 51}, {35, 12, 111, 42, 47, 76, 51}, {33, 7, 19, 41, 48, 75, 52}, {46, 46, 51, 45, 44, 57, 71}, {45, 43, 59, 44, 44, 58, 70}, {43, 37, 68, 43, 45, 58, 70}, {40, 31, 80, 43, 45, 58, 70}, {38, 22, 92, 43, 46, 58, 70}, {36, 13, 105, 43, 46, 58, 70}, {33, 5, 117, 42, 47, 58, 70}, {31, 2, 123, 42, 48, 57, 71}, {45, 41, 55, 45, 51, 24, 96}, {44, 36, 64, 44, 52, 23, 97}, {42, 29, 75, 43, 53, 23, 97}, {39, 22, 86, 43, 52, 24, 97}, {37, 14, 98, 43, 53, 24, 97}, {34, 7, 109, 42, 53, 25, 97}, {32, 1, 118, 41, 53, 25, 97}, {30, 0, 123, 41, 53, 26, 96}},

[0139] If MipSizeId=2 and modeId=2, mWeight[x][y]=

[0140] {{20, 16, 16, 76, 9, 8, 16}, {37, 15, 16, 71, 11, 17, 16}, {65, 13, 17, 67, 12, 17, 16}, {63, 30, 15, 63, 14, 17, 16}, {30, 62, 13, 57, 16, 17, 16}, {14, 62, 28, 52, 18, 16, 16}, {21, 22, 64, 46, 21, 15, 16}, {26, 0, 81, 40, 24, 15, 17}, {23, 16, 16, 69, 48, 8, 18}, {28, 18, 16, 66, 50, 8, 17}, {36, 17, 17, 61, 54, 7, 18}, {40, 20, 17, 56, 57, 7, 18}, {34, 29, 18, 50, 61, 6, 18}, {27, 34, 22, 44, 64, 5, 18}, {25, 22, 37, 37, 67, 5, 18}, {26, 9, 51, 31, 68, 6, 18}, {18, 17, 17, 17, 87, 9, 17}, {19, 17, 17, 15, 88, 9, 17}, {20, 18, 17, 14, 88, 10, 17}, {22, 17, 18, 12, 87, 12, 17}, {23, 18, 19, 11, 85, 15, 16}, {23, 20, 19, 11, 83, 18, 16}, {22, 19, 22, 10, 79, 22, 16}, {22, 16, 28, 11, 74, 26, 15}, {16, 17, 16, 7, 58, 50, 10}, {17, 17, 16, 8, 53, 55, 10}, {18, 17, 17, 10, 47, 60, 9}, {18, 16, 17, 11, 43, 64, 9}, {19, 16, 17, 12, 38, 68, 9}, {20, 17, 18, 13, 35, 72, 9}, {20, 17, 19, 14, 31, 74, 9}, {20, 16, 21, 13, 29, 74, 11}, {17, 16, 16, 16, 15, 86, 11}, {18, 15, 17, 16, 13, 86, 13},{18, 16, 16, 16, 13, 84, 15}, {18, 15, 17, 16, 12, 82, 18}, {19, 16, 17, 16, 12, 79, 21}, {18, 16, 17, 16, 12, 76, 24}, {18, 16, 17, 15, 12, 73, 28}, {19, 16, 19, 15, 14, 68, 31}, {17, 17, 16, 17, 10, 59, 43}, {17, 16, 16, 17, 10, 54, 47}, {18, 16, 16, 17, 11, 48, 52}, {18, 16, 16, 16, 12, 44, 56}, {17, 17, 16, 16, 13, 40, 59}, {17, 17, 16, 16, 13, 37, 62}, {17, 17, 17, 15, 14, 34, 65}, {18, 16, 18, 16, 14, 32, 66}, {17, 16, 16, 15, 16, 17, 79}, {17, 16, 16, 16, 16, 15, 81}, {18, 16, 16, 16, 16, 14, 82}, {18, 16, 16, 15, 16, 13, 83}, {17, 18, 16, 15, 16, 13, 83}, {17, 17, 17, 15, 16, 13, 84}, {17, 17, 17, 15, 16, 13, 84}, {17, 16, 18, 15, 16, 13, 83}, {16, 16, 16, 16, 17, 3, 92}, {17, 16, 16, 15, 17, 4, 91}, {18, 17, 17, 14, 18, 4, 90}, {18, 17, 16, 14, 18, 4, 91}, {17, 18, 16, 15, 18, 4, 91}, {17, 18, 17, 15, 18, 4, 90}, {17, 17, 18, 14, 18, 4, 90}, {18, 16, 19, 15, 18, 5, 89}},

[0141] If MipSizeId=2 and modeId=3, mWeight[x][y]=

[0142] {{13, 9, 10, 43, 11, 12, 9}, {43, 2, 11, 22, 15, 12, 10}, {73, 2, 11, 16, 16, 12, 9}, {52, 38, 5, 13, 16, 12, 10}, {11, 71, 6, 12, 14, 13, 10}, {3, 50, 35, 10, 14, 13, 9}, {11, 12, 68, 11, 13, 13, 10}, {13, 3, 74, 12, 11, 15, 10}, {20, 9, 10, 51, 29, 11, 10}, {41, 5, 10, 37, 26, 13, 10}, {58, 9, 10, 23, 27, 14, 9}, {41, 36, 6, 15, 24, 16, 10}, {14, 57, 11, 11, 21, 18, 9}, {7, 39, 37, 9, 18, 19, 9}, {12, 9, 63, 10, 15, 20, 9}, {15, 2, 68, 11, 12, 21, 10}, {16, 11, 11, 19, 60, 11, 11}, {27, 11, 11, 20, 50, 16, 10}, {35, 15, 11, 17, 42, 20, 10}, {29, 29, 11, 12, 35, 23, 10}, {17, 37, 18, 8, 29, 26, 9}, {13, 26, 35, 6, 24, 27, 9}, {15, 8, 53, 7, 19, 27, 10}, {16, 4, 57, 9, 14, 28, 11}, {12, 11, 11, 5, 51, 36, 8}, {15, 13, 12, 8, 45, 36, 9}, {19, 16, 14, 9, 38, 38, 9}, {19, 21, 16, 8, 32, 39, 10}, {18, 22, 21, 7, 27, 39, 10}, {18, 16, 31, 7, 22, 39, 11}, {18, 9, 41, 6, 18, 39, 11}, {19, 7, 44, 7, 15, 37, 13}, {11, 12, 11, 9, 18, 64, 10}, {11, 12, 13, 10, 18, 61, 11}, {13, 13, 15, 10, 17, 58,12}, {15, 14, 17, 10, 16, 56, 13}, {17, 14, 20, 9, 14, 55, 13}, {18, 11, 26, 9, 13, 52, 14}, {19, 9, 31, 8, 11, 50, 15}, {19, 9, 33, 8, 10, 46, 17}, {10, 11, 12, 11, 4, 59, 28}, {11, 10, 13, 11, 4, 60, 26}, {12, 10, 15, 11, 5, 59, 25}, {14, 10, 16, 11, 5, 58, 24}, {15, 10, 18, 11, 4, 57, 24}, {17, 9, 21, 11, 4, 56, 24}, {19, 9, 23, 10, 4, 53, 24}, {19, 9, 26, 10, 5, 49, 25}, {10, 10, 12, 11, 5, 27, 60}, {11, 8, 14, 11, 3, 34, 54}, {13, 8, 15, 12, 2, 38, 50}, {13, 8, 15, 13, 1, 41, 47}, {15, 8, 17, 13, 0, 42, 45}, {16, 8, 18, 13, 0, 44, 43}, {18, 8, 19, 12, 0, 44, 41}, {19, 9, 21, 12, 1, 43, 39}, {11, 8, 12, 11, 6, 9, 77}, {13, 7, 13, 12, 4, 16, 72}, {15, 6, 14, 13, 2, 21, 67}, {15, 6, 14, 13, 1, 25, 63}, {15, 7, 15, 14, 0, 27, 61}, {16, 8, 15, 14, 0, 29, 58}, {17, 8, 17, 14, 0, 29, 56}, {18, 8, 18, 14, 1, 30, 53}},

[0143] If MipSizeId=2 and modeId=4, mWeight[x][y]=

[0144] {{15, 13, 13, 55, 12, 13, 13}, {21, 13, 13, 34, 14, 13, 13}, {39, 12, 13, 22, 14, 13, 13}, {55, 18, 12, 18, 14, 14, 13}, {48, 37, 11, 16, 14, 14, 13}, {23, 62, 13, 14, 14, 13, 13}, {11, 53, 35, 14, 14, 13, 12}, {15, 13, 72, 14, 14, 13, 12}, {16, 13, 13, 63, 27, 12, 13}, {17, 13, 13, 58, 19, 13, 13}, {22, 13, 13, 43, 18, 13, 13}, {33, 14, 12, 31, 17, 14, 13}, {45, 18, 12, 24, 16, 14, 12}, {44, 32, 12, 19, 15, 14, 13}, {29, 49, 15, 17, 14, 14, 12}, {18, 44, 33, 16, 15, 13, 12}, {15, 13, 13, 32, 60, 10, 13}, {16, 13, 13, 45, 44, 12, 13}, {17, 14, 13, 49, 32, 13, 12}, {21, 14, 13, 44, 25, 14, 12}, {30, 14, 13, 37, 21, 14, 12}, {39, 16, 13, 30, 18, 14, 12}, {39, 27, 13, 24, 17, 14, 12}, {31, 38, 16, 21, 17, 13, 12}, {13, 13, 13, 13, 64, 27, 11}, {14, 13, 13, 23, 61, 19, 12}, {15, 14, 13, 34, 51, 16, 12}, {17, 14, 13, 40, 42, 15, 12}, {20, 14, 13, 40, 34, 14, 12}, {27, 14, 13, 37, 29, 14, 12}, {33, 16, 13, 32, 25, 13, 12}, {33, 24, 14, 27, 23, 13, 12}, {13, 13, 13, 13, 33, 61, 9}, {13, 13,13, 15, 47, 44, 10}, {14, 13, 13, 20, 54, 31, 11}, {15, 13, 13, 27, 53, 23, 11}, {16, 14, 13, 32, 49, 18, 12}, {19, 14, 13, 34, 43, 15, 12}, {24, 14, 13, 34, 37, 14, 12}, {28, 17, 13, 31, 32, 14, 12}, {13, 14, 13, 15, 10, 71, 20}, {13, 13, 13, 15, 22, 66, 13}, {14, 13, 13, 15, 37, 53, 11}, {14, 13, 13, 18, 47, 40, 11}, {14, 13, 13, 23, 52, 29, 11}, {15, 14, 13, 27, 51, 23, 11}, {18, 14, 13, 30, 47, 19, 11}, {22, 15, 13, 30, 42, 17, 12}, {13, 13, 13, 14, 12, 34, 57}, {13, 13, 13, 15, 14, 50, 38}, {13, 13, 13, 15, 21, 58, 23}, {14, 13, 13, 16, 32, 54, 16}, {13, 13, 13, 18, 41, 45, 13}, {13, 14, 13, 21, 47, 36, 12}, {14, 14, 13, 24, 49, 28, 12}, {17, 14, 13, 26, 46, 24, 12}, {13, 13, 13, 13, 19, 0, 85}, {13, 13, 13, 13, 20, 12, 72}, {13, 13, 13, 15, 20, 30, 53}, {13, 13, 13, 16, 23, 44, 35}, {13, 14, 12, 17, 29, 47, 24}, {13, 14, 13, 18, 36, 44, 18}, {13, 14, 13, 20, 41, 38, 16}, {15, 14, 14, 22, 42, 33, 15}},

[0145] If MipSizeId=2 and modeId=5, mWeight[x][y]=

[0146] {{24, 9, 10, 52, 13, 10, 12}, {53, 9, 10, 25, 26, 6, 13}, {48, 30, 9, 11, 30, 7, 13}, {15, 59, 12, 6, 25, 13, 11}, {5, 48, 34, 7, 18, 19, 10}, {10, 15, 62, 8, 12, 20, 13}, {13, 2, 70, 8, 9, 19, 19}, {13, 3, 62, 9, 6, 16, 30}, {25, 14, 10, 40, 51, 0, 14}, {20, 28, 11, 16, 55, 5, 13}, {8, 38, 18, 6, 41, 20, 11}, {5, 28, 34, 6, 23, 31, 12}, {9, 12, 48, 8, 12, 33, 18}, {12, 2, 53, 9, 6, 30, 28}, {14, 1, 50, 9, 4, 23, 40}, {14, 5, 42, 8, 4, 15, 51}, {8, 20, 12, 5, 72, 12, 12}, {2, 24, 19, 5, 46, 35, 9}, {5, 16, 29, 9, 21, 48, 13}, {9, 6, 36, 10, 9, 45, 25}, {12, 3, 37, 11, 5, 36, 38}, {13, 4, 34, 11, 4, 25, 51}, {13, 6, 29, 10, 4, 16, 61}, {13, 9, 26, 10, 6, 11, 66}, {6, 14, 15, 6, 31, 60, 6}, {7, 10, 22, 11, 12, 64, 15}, {10, 6, 26, 13, 6, 50, 32}, {11, 4, 27, 12, 5, 33, 49}, {12, 5, 25, 11, 6, 20, 62}, {12, 7, 22, 11, 7, 13, 69}, {12, 9, 19, 11, 7, 8, 74}, {12, 10, 19, 10, 8, 7, 74}, {10, 9, 16, 12, 6, 67, 20}, {11, 6, 20, 13, 5, 46, 41}, {11, 5, 21, 12, 7, 26, 59}, {11, 7, 19, 12, 9, 14,70}, {11, 8, 18, 11, 10, 8, 75}, {11, 9, 16, 11, 10, 5, 78}, {12, 10, 15, 11, 10, 4, 80}, {11, 10, 15, 10, 10, 4, 78}, {11, 9, 15, 12, 8, 34, 54}, {11, 7, 17, 11, 10, 16, 69}, {11, 7, 17, 11, 11, 7, 76}, {11, 8, 16, 11, 11, 4, 80}, {10, 10, 14, 11, 11, 3, 81}, {11, 10, 13, 11, 12, 2, 82}, {11, 10, 13, 11, 12, 2, 82}, {11, 11, 13, 10, 12, 3, 80}, {11, 9, 14, 11, 11, 8, 77}, {11, 8, 14, 11, 12, 3, 81}, {11, 9, 14, 11, 12, 1, 83}, {10, 10, 13, 11, 12, 2, 83}, {10, 11, 12, 11, 12, 2, 82}, {10, 11, 12, 11, 12, 3, 82}, {11, 11, 11, 11, 12, 3, 81}, {11, 11, 11, 11, 13, 5, 79}, {11, 10, 13, 11, 13, 2, 82}, {11, 9, 13, 11, 13, 1, 83}, {11, 10, 12, 11, 13, 2, 82}, {10, 11, 12, 11, 12, 3, 81}, {10, 11, 12, 11, 12, 4, 80}, {10, 11, 11, 11, 12, 5, 80}, {11, 11, 11, 11, 13, 5, 79}, {11, 11, 11, 11, 12, 6, 77}}.,

[0147] After obtaining the above parameters (i.e., mWeight, sW, and fO) from the mapping table, the set of the above parameters and prediction input values ​​can be input into formula (1) and formula (2) to calculate and obtain the predicted value of a sample at a specific location in the current block.

[0148] In an optional embodiment, to obtain the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block, determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables is,

[0149] Depending on the size of the current block, it includes determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables.

[0150] In other words, depending on the size of the current block, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block corresponding to the size of the current block are obtained from the mapping table. For example, if the size of the current block is 4x4, MipSizeId=0; if the size of the current block is 4x8, 8x4, or 8x8, MipSizeId=1; and if the size of the current block is greater than 8x8, MipSizeId=2. Depending on the value of MipSizeId, the MIP matrix of the current block and the bit right shift parameter of the current block corresponding to the size of the current block can be found from the mapping table.

[0151] Block S507 performs filtering processing on the predicted values ​​of samples at specific locations to obtain the predicted values ​​of all samples in the current block.

[0152] After determining the predicted value of a sample at a specific location in block S506, filtering processing is performed on the predicted value of the sample at the specific location to obtain the predicted values ​​of all samples in the current block.

[0153] In order to obtain predicted values ​​for all samples in the current block, in one optional embodiment, block S507 may include the following: By performing interpolation filtering on the predicted values ​​of samples at specific locations, the predicted values ​​of samples at locations other than the sample at a specific location in the current block are obtained.

[0154] Here, by primarily performing interpolation filtering on the predicted values ​​of samples at specific locations, the predicted values ​​of samples at locations other than the specific location can be obtained, and thus the predicted values ​​of all samples in the current block can be obtained.

[0155] In other words, the prediction method based on MIP technology executed by the encoder according to the embodiment of the present application, unlike the formulas (1) to (5) of the conventional prediction method, has the calculation of p[0] in formula (7) and the calculation sign of formula (3) reversed. Therefore, all p[x] values ​​in formulas (3) and (7) achieve a more formally unified effect. That is, since pTemp[0] is subtracted in both formulas (3) and (7), and the average compensation of formula (1) directly uses pTemp[0], the coefficient of pTemp[0] in the calculation formula of predMip[x][y] is unified as follows.

[0156]

[0157] The coefficients of the existing prediction method are as follows.

[0158] When y=0:

[0159]

[0160] Other cases:

[0161]

[0162] Considering the filter nature of MIP, the probability of coefficient values ​​falling within the range of -1 to 1 is higher. Therefore, the coefficients By unifying it as The value of tends to be positive, and the overall range of variation tends to decrease.

[0163] Accordingly, the parameter values ​​in the first column of the MIP matrix (mWeightf) obtained through training are obtained by reversing the parameter values ​​in the first column of the original MIP matrix (mWeightf). In this way, the range of parameter values ​​for the entire MIP matrix (mWeightf) is smaller than the range of parameter values ​​for the original MIP matrix (mWeightf), which helps improve representation accuracy and thus improves prediction accuracy.

[0164] Regarding the change in the range of values ​​after the first column of the data in the original MIP matrix (mWeightf) is reversed, for example, for the matrix of 28 raw floating-point numbers with MipSizeId 0 and 1 shown in Table 1, the range of values ​​obtained after reversing the first column is not changed or is reduced. As shown in Table 2, the range of values ​​in 11 of the 28 matrices is reduced, and the values ​​in the remaining 17 matrices are not changed. Among the 11 matrices with reduced ranges of values, there are 4 matrices that can improve the accuracy of the currently known weight representation obtained by training.

[0165]

[0166] As you can see, Table 2 shows the matrix IDs of the matrix where MipSizeId=0 and 1, the matrix where the range of values ​​is reduced after reversal, and the matrix where the range of values ​​is reduced after reversal and the sW value is increased.

[0167] Tables 3 through 5 below are specific examples. Each table is divided into two parts (left and right). In Tables 3 and 5, the left part is mWeightf and the right part is mWeightf'. In Table 4, the left part is mWeightf” and the right part is mWeight. In Tables 3 and 5, the first column represents the value of mWeightf[x][0], and the first column on the right represents the value after reversing mWeightf[x][0].

[0168] Tables 3 and 4 show the changes after adopting the present technology in the same MIP mode. The range of values ​​after inverting mWeightf[x][0] becomes smaller, and the original sW value changes from 5 to 6. Each value of mWeight[x][y] obtained by formula (6) is 127 or less and is within the valid display range of 7 bits. Table 5 shows an example where the range of values ​​after inverting mWeightf[x][0] does not change.

[0169]

[0170] Table 3 shows an example where the first column of a raw floating-point number matrix with MipSizeId=0 and modeId=3 is reversed (the left part shows the original values, and the right part shows the reversed values).

[0171]

[0172] Table 4 shows a matrix with MipSizeId=0 and modeId=3. The provided technical scheme is adopted here, and the right shift bit is sW=6 and does not exceed the 7-bit display range.

[0173]

[0174] Table 5 shows an example where the first column of a raw floating-point number matrix with MipSizeId=0 and modeId=16 is reversed (the left part shows the original values, and the right part shows the reversed values).

[0175] As can be seen from the examples in Tables 3 to 5, the method for determining predicted values ​​according to the embodiment of the present application can reduce the range of values ​​of a floating-point number matrix obtained through MIP training and improve the accuracy of fixed-point processing, thereby improving prediction accuracy and consequently increasing encoding efficiency.

[0176] Embodiments of the present application provide a method for determining a predicted value. The method is applied to an encoder. In the embodiment of the present application, the value of a first constant is calculated, and the difference between the value of the first constant and the first reference value of the reference value set is determined to be the first predicted input value of the predicted input value set. The predicted input value set is used to calculate the predicted value of the current block, and the dynamic value range of the predicted input value can be effectively reduced when predicting in MIP mode. Therefore, compared to the prior art, when the predicted input value set and the MIP matrix are represented with the same number of bits, data of the dynamic range can be represented more accurately, the accuracy when calculating the predicted value in MIP mode is increased, and thus the encoding efficiency is improved.

[0177] To improve encoding efficiency by increasing the prediction accuracy of MIP mode, embodiments of the present application provide a method for determining a predicted value. FIG. 6 is a flowchart of a method for determining a predicted value according to another embodiment of the present application. As illustrated in FIG. 6, the method is applicable to a decoder. The method includes the following.

[0178] Block S601 analyzes the bit stream to obtain the size of the current block and the coding mode of the current block.

[0179] Specifically, when the decoder receives a bitstream, it first analyzes the bitstream to obtain the size of the current block and the coding mode of the current block. The coding mode can be one of the existing intra-prediction modes or one of the MIP modes. Here, the coding mode primarily refers to one of the MIP modes.

[0180] Block S602, if the coding mode of the current block is MIP mode, the reconstructed value of a sample adjacent to the current block is obtained, and the reference value set of the current block is obtained by performing filtering processing on the reconstructed value of the adjacent sample.

[0181] For example, the current block size can be 4x4, 4x8, 8x4, or 8x8. If the current block size is 4x4, the coding mode is one of the M=35 coding modes. If the current block size is 4x8, 8x4, or 8x8, the coding mode is one of the M=19 coding modes. If the current block is of a different size, the coding mode is one of the M=11 coding modes.

[0182] In other words, when the coding mode of the current block is MIP mode, the decoder first obtains the reconstruction value of a sample adjacent to the current block, and the reconstruction value of a sample adjacent to the current block includes the reconstruction value of a sample in the upper row of the current block and the reconstruction value of a sample in the left column of the current block.

[0183] After obtaining the reconstruction values ​​of adjacent samples, for example, the reconstruction value of the sample in the top row of the obtained current block is redT (which has N values), and the reconstruction value of the sample in the left column of the obtained current block is redL (which has N values), and redT and redL form a new vector pTemp which is a set of reference values ​​of the current block.

[0184] In an optional embodiment, to obtain a set of reference values ​​of the current block by performing filtering processing, in block S602, obtaining a set of reference values ​​of the current block by performing filtering processing on the reconstruction values ​​of adjacent samples is,

[0185] It includes dividing the reconstruction values ​​of adjacent samples into N groups, calculating the average of the reconstruction values ​​of each group, and using the average as the reference value of the reference value set. Here, N is a positive integer.

[0186] N is set to a positive integer value corresponding to the preset size of the current block.

[0187] In other words, in block S602, the process of performing filtering on the reconstructed values ​​of adjacent samples specifically involves dividing redT and redL into N groups, calculating the average value of the reconstructed values ​​of each group to obtain N average values, and using the N average values ​​as reference values ​​of the reference value set.

[0188] For example, if the current block size is 4x4, inSize=4; if the current block size is 4x8, 8x4, or 8x8, inSize=8; and if the current block size is greater than 8x8, inSize=7.

[0189] Block S603, if the size of the current block is smaller than a preset threshold, the value of the second constant is calculated according to the bit depth value of the luminance component of the sample in the current block.

[0190] In actual applications, the size of the current block can be represented by MipSizeId. If MipSizeId is a number less than 2, that is, if MipSizeId is equal to 0 or 1, the value of the second constant is calculated based on the bit depth value of the luminance component of the sample in the current block.

[0191] In order to calculate the value of the second constant, in one optional embodiment, calculating the value of the second constant according to the bit depth value of the luminance component of the sample in the current block in block S603 is,

[0192] The value of the second constant is set to the value obtained by performing a binary bit left shift operation on the number 1. Here, the number of left shift bits used in the binary bit left shift operation is equal to the bit depth value minus 1.

[0193] Specifically, the value of the second constant is the value obtained by performing a bit left shift operation on the number 1, and the number of left shift bits is the value obtained by subtracting 1 from the bit depth.

[0194] Block S604 determines that the first predicted input value of the predicted input value set is the difference between the value of the second constant and the first reference value of the reference value set.

[0195] The set of predicted input values ​​is used to calculate the predicted value of the current block according to the MIP.

[0196] After obtaining the value of the second constant, the difference between the value of the second constant and the first reference value of the reference value set in S604 can be determined as the first predicted input value. The first predicted input value can be obtained by calculating with formula (7).

[0197] Block S605 determines other predicted input values, excluding the first predicted input value of the predicted input value set, based on the reference value set.

[0198] Other predicted input values ​​p[i] include predicted input values ​​other than the first predicted input value when the current block size is smaller than a preset threshold. Other predicted input values ​​p[i] may further include predicted input values ​​when the current block size is greater than or equal to a preset threshold. Other predicted input values ​​can be obtained by calculating with formula (8).

[0199] Block S606 calculates the predicted value of a sample at a specific location in the current block based on the set of predicted input values.

[0200] Specifically, after all predicted input values ​​are determined, a set of predicted input values ​​can be obtained. By performing a prediction based on the set of predicted input values, a predicted value of a sample at a specific location in the current block can be obtained, for example, a predicted value of a sample at a location identified by the crosshairs in Fig. 3.

[0201] In order to determine the predicted value of a sample at a specific location in the current block, in one optional embodiment, block S606 comprises the following: determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables. Calculating the predicted value of a sample at a specific location in the current block based on the set of predicted input values, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block.

[0202] In other words, one or more mapping tables are stored in advance in the encoder. The MIP matrix (mWeit) of the current block, the bit right shift parameter (sW) of the current block, and the weight parameter (fO) of the current block can be determined by the one or more mapping tables.

[0203] After obtaining the above parameters from the mapping table, the set of the above parameters and predicted input values ​​can be input into formula (1) and formula (2) to calculate and obtain the predicted value of a sample at a specific location in the current block.

[0204] In an optional embodiment, to obtain the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block, determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables is,

[0205] It includes determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables according to the size of the current block.

[0206] In other words, depending on the size of the current block, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block corresponding to the size of the current block are obtained from the mapping table. For example, if the size of the current block is 4x4, MipSizeId=0; if the size of the current block is 4x8, 8x4, or 8x8, MipSizeId=1; and if the size of the current block is greater than 8x8, MipSizeId=2. Depending on the value of MipSizeId, the MIP matrix of the current block and the bit right shift parameter of the current block corresponding to the size of the current block can be found from the mapping table.

[0207] Block S607 performs filtering processing on the predicted values ​​of samples at specific locations to obtain the predicted values ​​of all samples in the current block.

[0208] After determining the predicted value of a sample at a specific location in block S606, filtering processing is performed on the predicted value of the sample at the specific location to obtain the predicted values ​​of all samples in the current block.

[0209] In order to obtain predicted values ​​for all samples in the current block, in one optional embodiment, block S607 may include the following: By performing interpolation filtering on the predicted values ​​of samples at specific locations, the predicted values ​​of samples at locations other than the sample at a specific location in the current block are obtained.

[0210] Here, by primarily performing interpolation filtering on the predicted values ​​of samples at specific locations, the predicted values ​​of samples at locations other than the specific location can be obtained, and thus the predicted values ​​of all samples in the current block can be obtained.

[0211] Embodiments of the present application provide a method for determining a predicted value. The method is applied to a decoder. In the embodiment of the present application, the value of a second constant is calculated, and the difference between the value of the second constant and the first reference value of the reference value set is determined to be the first predicted input value of the predicted input value set. The predicted input value set is used to calculate the predicted value of the current block, and the dynamic value range of the predicted input value can be effectively reduced when predicting in MIP mode. Therefore, compared to the prior art, when the predicted input value set and the MIP matrix are represented with the same number of bits, data of the dynamic range can be represented more accurately, the accuracy when calculating the predicted value in MIP mode is increased, and thus the coding efficiency is improved.

[0212] Second embodiment

[0213] In accordance with the concept of the same invention, an embodiment of the present application provides an encoder. FIG. 7 is a schematic diagram showing the structure of an encoder according to an embodiment of the present application. As illustrated in FIG. 7, the encoder includes a first acquisition module (71), a first processing module (72), a first calculation module (73), a first determination module (74), a second calculation module (75), a third calculation module (76), and a second processing module (77). The first acquisition module (71) is used to acquire a reconstruction value of a sample adjacent to the current block. The first processing module (72) is used to acquire a reference value set of the current block by performing filtering processing on the reconstruction value of the adjacent sample. The first calculation module (73) is used to calculate the value of a first constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold. The first determination module (74) is used to determine that the first predicted input value of the predicted input value set is the difference between the value of the first constant and the first reference value of the reference value set. The second calculation module (75) is used to determine other predicted input values ​​excluding the first predicted input value of the predicted input value set based on the reference value set. The third calculation module (76) is used to calculate the predicted value of a sample at a specific location in the current block according to the predicted input value set. The second processing module (77) is used to obtain the predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of a sample at a specific location.

[0214] In one optional embodiment, the first processing module (72) specifically divides the reconstruction values ​​of adjacent samples into N groups, calculates the average value of the reconstruction values ​​of each group, and uses the average value as the reference value of the reference value set. Here, N is a positive integer.

[0215] N is set to a positive integer value corresponding to the preset size of the current block.

[0216] In one optional embodiment, the first calculation module (73) calculates the value of the first constant according to the bit depth value of the luminance component of the sample in the current block, wherein the value of the first constant is set to a value obtained by performing a binary bit left shift operation on the number 1, and wherein the number of left shift bits used in the binary bit left shift operation is equal to the value obtained by subtracting 1 from the bit depth value.

[0217] In one optional embodiment, the third calculation module (76) specifically determines the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables, and is used to calculate the predicted value of a sample at a specific position in the current block according to the predicted input value set, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block.

[0218] In one optional embodiment, the third calculation module (76) determines the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables,

[0219] Depending on the size of the current block, it includes determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables.

[0220] In one optional embodiment, the second processing module (77) is used to obtain the predicted value of a sample at a different location other than the sample at a specific location in the current block by performing interpolation filtering processing on the predicted value of a sample at a specific location specifically.

[0221] An embodiment of the present application provides a decoder. FIG. 8 is a schematic diagram showing the structure of a decoder according to an embodiment of the present application. As shown in FIG. 8, the decoder includes a second acquisition module (81), a third processing module (82), a fourth calculation module (83), a second determination module (84), a fifth calculation module (85), a sixth calculation module (86), and a fourth processing module (87). The second acquisition module (81) is used to analyze a bit stream to obtain the size of the current block and the coding mode of the current block. The third processing module (82) is used to obtain a set of reference values ​​for the current block by obtaining a reconstructed value of a sample adjacent to the current block and performing filtering processing on the reconstructed value of the adjacent sample when the coding mode of the current block is an intra-prediction (MIP) mode based on a matrix. The fourth calculation module (83) is used to calculate the value of the second constant according to the bit depth value of the luminance component of the sample within the current block when the size of the current block is smaller than a preset threshold. The second confirmation module (84) is used to confirm that the first predicted input value of the prediction input value set is the difference between the value of the second constant and the first reference value of the reference value set. The fifth calculation module (85) is used to confirm other predicted input values ​​excluding the first predicted input value of the prediction input value set based on the reference value set. The sixth calculation module (86) is used to calculate the predicted value of the sample at a specific location in the current block according to the prediction input value set. The fourth processing module (87) is used to obtain the predicted value of a sample at a location other than the sample at a specific location in the current block by performing interpolation filtering processing on the predicted value of the sample at a specific location.

[0222] In one optional embodiment, the third processing module (82) obtains a reference value set of the current block by performing filtering processing on the reconstruction values ​​of adjacent samples, which includes dividing the reconstruction values ​​of adjacent samples into N groups, calculating the average value of the reconstruction values ​​of each group, and using the average value as the reference value of the reference value set. Here, N is a positive integer.

[0223] N is set to a positive integer value corresponding to the preset size of the current block.

[0224] In one optional embodiment, the fourth calculation module (83) calculates the value of a second constant according to the bit depth value of the luminance component of the sample in the current block, wherein the value of the second constant is set to a value obtained by performing a binary bit left shift operation on the number 1. Here, the number of left shift bits used in the binary bit left shift operation is equal to the value obtained by subtracting 1 from the bit depth value.

[0225] In one optional embodiment, the sixth calculation module (86) specifically determines the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables, and is used to calculate the predicted value of a sample at a specific position in the current block according to the predicted input value set, the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block.

[0226] In one optional embodiment, the sixth calculation module (86) determines the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables,

[0227] Depending on the size of the current block, it includes determining the MIP matrix of the current block, the bit right shift parameter of the current block, and the weight parameter of the current block from one or more pre-stored mapping tables.

[0228] In one optional embodiment, the fourth processing module (87) is used to obtain the predicted value of a sample at a different location in the current block, by specifically performing interpolation filtering on the predicted value of a sample at a specific location.

[0229] FIG. 9 is a schematic diagram showing the structure of an encoder according to another embodiment of the present application. As illustrated in FIG. 9, the encoder (900) according to the present embodiment includes a processor (91) and a storage medium (92) that stores instructions executable by the processor (91). The storage medium (92) can be operated by the processor (91) via a communication bus (93). When instructions are executed by the processor (91), a method for determining a predicted value according to one or more embodiments described above is executed.

[0230] In fact, each component of the encoder is connected together via a communication bus (93). It can be understood that the communication bus (93) is used to enable communication between these components. In addition to the data bus, the communication bus (93) further includes a power bus, a control bus, and a status signal bus. For clarity of explanation, the various buses in FIG. 9 are labeled as the communication bus (93).

[0231] FIG. 10 is a schematic diagram showing the structure of a decoder according to another embodiment of the present application. As illustrated in FIG. 10, a decoder (1000) according to an embodiment of the present application includes a processor (101) and a storage medium (102) that stores instructions executable by the processor (101). The storage medium (102) can be operated by the processor (101) via a communication bus (103). When instructions are executed by the processor (101), a method for determining a predicted value according to one or more embodiments described above is executed.

[0232] In fact, each component of the decoder is connected together via a communication bus (103). It can be understood that the communication bus (103) is used to realize connection communication between these components. In addition to the data bus, the communication bus (103) further includes a power bus, a control bus, and a status signal bus. For clarity of explanation, in FIG. 10, the various buses are labeled as the communication bus (103).

[0233] An embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores an executable instruction. When the executable instruction is executed by one or more processors, the processor executes a method for determining a predicted value according to one or more embodiments described above.

[0234] The memory of the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile memory and non-volatile memory. Non-volatile memory may be Read-Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), or Flash Memory. Volatile memory may be Random Access Memory (RAM) used as an external high-speed cache. Various forms of RAM may be used, for example but not limited to: Static RAM (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synch-link Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memory of the system and method described herein includes, but is not limited to, any suitable type of memory different from these.

[0235] The processor may be an integrated circuit chip having signal processing capabilities. In the course of implementation, each step of the method embodiment described above may be completed by an integrated logic circuit in the form of hardware or instructions in the form of software of the processor. The processor may be a general-purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or an individual hardware component. The processor may realize or execute the method, steps, and logic block diagram disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention may be executed and completed directly by a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules of a decoding processor. The software module may reside in a mature storage medium in the art, such as random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable memory, or registers. The storage medium is in memory. The processor reads information from memory and uses the processor's hardware to complete the steps of the method described above.

[0236] It may be understood that the embodiments described herein may be realized by hardware, software, firmware, middleware, microcode, or a combination thereof. When realized by hardware, the processing unit may be implemented by one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), DSP Device, Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic unit performing other functions of the present application, or a combination thereof.

[0237] Where implemented by software, the technology described herein may be provided by modules (e.g., procedures, functions, etc.) that perform the functions described herein. Software code is stored in memory and is also executed by a processor. Memory may be implemented inside or outside the processor.

[0238] In this specification, terms such as “comprising” or variations thereof are intended to cover non-exclusive inclusions, and a process, method, object, or device comprising a series of steps or units may include not only the listed steps or units but also other steps or units not listed, or may include other steps or units unique to the process, method, object, or device. Unless further limitations are imposed, it does not exclude the existence of other identical elements in a process, method, object, or device comprising the element limited by the phrase “...comprising”.

[0239] The sequence numbers of the above-described embodiments are not intended to indicate the order of the embodiments, but are used merely for illustrative purposes.

[0240] Through the description of the embodiments described above, those skilled in the art will clearly understand that the method of the embodiments described above can be implemented by software and a necessary general-purpose hardware platform. Of course, it can be realized by hardware alone, but the former is a preferred embodiment. Based on this understanding, the essential part of the technical solution of the present application or the part contributing to the prior art may be implemented as a software product. The computer software product may be stored on a storage medium (ROM / RAM, magnetic disk or optical disk, etc.) and includes various instructions that enable a terminal (mobile phone, computer, server, network device, etc.) to execute the method of each embodiment of the present application.

[0241] Although embodiments of the present application have been described above with reference to the drawings, the present application is not limited to the embodiments described above, and the embodiments described above are merely examples and are not intended to limit the present invention. Those skilled in the art may make many forms based on the examples of the present application without departing from the gist and claims of the present application, all of which are included within the scope of protection of the present application. Industrial applicability

[0242] Embodiments of the present application provide a method for determining a predicted value, an encoder, a decoder, and a computer storage medium. A method for determining a predicted value applied to an encoder comprises obtaining a reconstructed value of a sample adjacent to a current block; obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample; calculating a value of a first constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold; determining that a first predicted input value of a set of predicted input values ​​is the difference between the value of the first constant and a first reference value of a set of reference values; determining other predicted input values ​​excluding the first predicted input value of a set of predicted input values ​​based on the set of reference values; calculating a predicted value of a sample at a specific location in the current block according to the set of predicted input values; and obtaining predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of a sample at a specific location. In video encoding and decoding, the prediction accuracy can be improved and the efficiency of encoding and decoding can be improved.

Claims

Claim 1 A method for determining a predicted value applied to an encoder, comprising: a step of obtaining a reconstructed value of a sample adjacent to a current block; a step of obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample; a step of calculating a value of a first constant according to the bit depth value of a luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold; a step of determining that a first predicted input value of a predicted input value set is a difference value obtained by subtracting a first reference value of the reference value set from the value of the first constant; a step of determining other predicted input values ​​excluding the first predicted input value of the predicted input value set based on the reference value set; a step of calculating a predicted value of a sample at a specific location of the current block according to the predicted input value set; and a step of obtaining predicted values ​​of all samples of the current block by performing filtering processing on the predicted value of the sample at the specific location. Claim 2 A method for determining a predicted value according to claim 1, wherein the step of obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample comprises dividing the reconstructed value of the adjacent sample into N groups, calculating the average value of the reconstructed value of each group, and using the average value as the reference value of the reference value set, wherein N is a positive integer. Claim 3 A method for determining a predicted value according to claim 2, characterized in that N is set to a positive integer value corresponding to the size of the current block set in advance. Claim 4 A method for determining a predicted value according to claim 1, wherein the step of calculating the value of a first constant according to the bit depth value of a luminance component of a sample in the current block includes setting the value of the first constant to a value obtained by performing a binary bit left shift operation on the number 1, and wherein the number of left shift bits used in the binary bit left shift operation is the same as the value obtained by subtracting 1 from the bit depth value. Claim 5 A method for determining a predicted value according to claim 1, wherein the step of obtaining predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of a sample at the specific location includes obtaining predicted values ​​of samples at locations other than the sample at the specific location in the current block by performing interpolation filtering processing on the predicted value of a sample at the specific location. Claim 6 A method for determining a predicted value applied to a decoder, comprising: a step of analyzing a bit stream to obtain the size of a current block and the coding mode of the current block; a step in which, if the coding mode of the current block is a matrix-based intra-prediction (MIP) mode, a step of obtaining a reconstructed value of a sample adjacent to the current block and obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample; a step in which, if the size of the current block is smaller than a preset threshold, a step of calculating a value of a second constant according to the bit depth value of the luminance component of a sample within the current block; a step of determining that the first predicted input value of the prediction input value set is a difference value obtained by subtracting the first reference value of the reference value set from the value of the second constant; a step of determining other predicted input values ​​excluding the first predicted input value of the prediction input value set based on the reference value set; a step of calculating a predicted value of a sample at a specific location of the current block according to the prediction input value set; and a step of obtaining predicted values ​​of all samples of the current block by performing filtering processing on the predicted value of the sample at the specific location. Method for determining the predicted value. Claim 7 A method for determining a predicted value according to claim 6, wherein the step of obtaining a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample comprises dividing the reconstructed value of the adjacent sample into N groups, calculating the average value of the reconstructed value of each group, and using the average value as the reference value of the reference value set, wherein N is a positive integer. Claim 8 A method for determining a predicted value according to claim 7, characterized in that N is set to a positive integer value corresponding to the size of the current block set in advance. Claim 9 A method for determining a predicted value according to claim 6, wherein the step of calculating the value of a second constant according to the bit depth value of a luminance component of a sample in the current block comprises setting the value of the second constant to a value obtained by performing a binary bit left shift operation on the number 1, and wherein the number of left shift bits used in the binary bit left shift operation is the same as the value obtained by subtracting 1 from the bit depth value. Claim 10 A method for determining a predicted value according to claim 6, wherein the step of obtaining predicted values ​​of all samples in the current block by performing filtering processing on the predicted value of a sample at the specific location includes obtaining predicted values ​​of samples at locations other than the sample at the specific location in the current block by performing interpolation filtering processing on the predicted value of a sample at the specific location. Claim 11 As an encoder, it includes a first acquisition module, a first processing module, a first calculation module, a first confirmation module, a second calculation module, a third calculation module, and a second processing module, wherein the first acquisition module is used to acquire a reconstruction value of a sample adjacent to the current block, the first processing module is used to acquire a reference value set of the current block by performing filtering processing on the reconstruction value of the adjacent sample, the first calculation module is used to calculate a value of a first constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold, the first confirmation module is used to confirm that the first prediction input value of the prediction input value set is a difference value obtained by subtracting the first reference value of the reference value set from the value of the first constant, the second calculation module is used to confirm other prediction input values ​​excluding the first prediction input value of the prediction input value set based on the reference value set, and the third calculation module predict An encoder characterized by being used to calculate a predicted value of a sample at a specific location in the current block according to a set of input values, and the second processing module being used to obtain a predicted value of all samples in the current block by performing filtering processing on the predicted value of the sample at the specific location. Claim 12 As a decoder, it includes a second acquisition module, a third processing module, a fourth calculation module, a second confirmation module, a fifth calculation module, a sixth calculation module, and a fourth processing module; the second acquisition module is used to analyze a bit stream to acquire the size of a current block and the coding mode of a current block; the third processing module is used to acquire a reconstructed value of a sample adjacent to the current block and to acquire a reference value set of the current block by performing filtering processing on the reconstructed value of the adjacent sample when the coding mode of the current block is a matrix-based intra-prediction (MIP) mode; the fourth calculation module is used to calculate the value of a second constant according to the bit depth value of the luminance component of a sample within the current block when the size of the current block is smaller than a preset threshold; the second confirmation module is used to confirm that the first prediction input value of the prediction input value set is the difference value obtained by subtracting the first reference value of the reference value set from the value of the second constant; and the fifth calculation A decoder characterized in that the module is used to determine other predicted input values ​​excluding the first predicted input value of the predicted input value set based on the reference value set, the sixth calculation module is used to calculate the predicted value of a sample at a specific location of the current block according to the predicted input value set, and the fourth processing module is used to obtain the predicted value of all samples of the current block by performing filtering processing on the predicted value of the sample at the specific location. Claim 13 An encoder comprising a processor and a storage medium storing instructions executable by said processor, wherein said storage medium is operable by said processor via a communication bus, and when said instructions are executed by said processor, an encoder is characterized by executing a method for determining a predicted value as described in any one of claims 1 to 5. Claim 14 A decoder comprising a processor and a storage medium storing instructions executable by said processor, wherein said storage medium is operable by said processor via a communication bus, and when said instructions are executed by said processor, a method for determining a predicted value described in any one of claims 6 to 10 is executed. Claim 15 A computer-readable storage medium, wherein the computer-readable storage medium stores an executable instruction, and when the executable instruction is executed by one or more processors, the processor executes a method for determining a predicted value described in any one of claims 1 to 5 or a method for determining a predicted value described in any one of claims 6 to 10. Claim 16 delete Claim 17 delete Claim 18 delete Claim 19 delete