Prediction direction determination method, decoder and computer storage medium

By introducing the DM derivation mode into multi-functional video coding, and optimizing chroma intra-frame prediction using index number M and offset N, the problem of complex and inaccurate candidate list construction in existing technologies is solved, thereby improving the accuracy of chroma intra-frame prediction and decoding efficiency.

CN121486589APending Publication Date: 2026-02-06GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511890973.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2019-01-02
Publication Date
2026-02-06

AI Technical Summary

Technical Problem

In multi-functional video coding, the candidate list for chroma intra-frame prediction modes is complex and inaccurate. Existing DM modes have strong sequence dependencies and cannot effectively reflect the local texture features of chroma blocks, resulting in inaccurate decoding.

Method used

By obtaining the DM mode in the intra-chroma prediction mode of the block to be decoded, and using the index number M of the prediction direction and the offset N, the prediction direction index number of the DM derivation mode is determined. A new prediction direction construction method is adopted to reduce the decoding priority of the DM mode and introduce the DM derivation mode, thereby optimizing the candidate mode selection.

Benefits of technology

It improves the accuracy of intra-frame chroma prediction, reduces decoding complexity, and enhances the transmission quality of video data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121486589A_ABST
    Figure CN121486589A_ABST
Patent Text Reader

Abstract

Provided in an embodiment of the present application are a prediction direction determination method, a decoder and a computer storage medium, the method being applied to a decoder, the method comprising: acquiring a DM mode in a chroma intra prediction mode of a block to be decoded (S101); and determining the index number of the prediction direction of the DM derivation mode according to the index number M of the prediction direction of the DM mode and a preset offset N so as to determine the DM derivation mode (S102).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Case Analysis This application is a divisional application of Chinese patent application No. 201980064447.6, entitled "Method for Determining Prediction Direction, Decoder and Computer Storage Medium", which entered the Chinese national phase of PCT international patent application PCT / CN2019 / 070145 filed on January 2, 2019. Technical Field

[0002] This application relates to the technical field of determining the prediction direction in Direct Mode (DM) of video decoding, and particularly to a method for determining the prediction direction, a decoder, and a computer storage medium. Background Technology

[0003] In Versatile Video Coding (VVC), candidate modes for chroma intra-frame prediction modes can include: DM mode, Linear Model Prediction (LM), LM_T mode in the top row, LM_L mode in the left column, DC mode, Planar mode, Vertical VER mode, and Horizontal HOR mode.

[0004] Currently, the candidate list for VVC chroma intra-prediction modes can also be constructed using Multiple Direct Mode Signalling (MDMS). This requires comparing 17 candidate schemes, resulting in a large number of comparisons, strong dependence on neighboring blocks, and complex decoding. Furthermore, in the construction of the candidate list for VVC chroma intra-prediction modes, when the DM mode is an angle mode, the default angle candidate modes are fixed HOR mode, VER mode, and 66 mode. However, these three fixed modes have strong sequence dependencies, and the corresponding angle features are often represented by DM, so they are rarely selected in practical applications. In addition, the existing DM modes can only reflect the local texture features of chroma blocks. When a chroma block corresponds to multiple luma blocks in the same position, it is unreasonable to directly use a single DM mode for prediction. Therefore, it can be seen that the existing candidate modes for chroma intra-prediction modes have technical problems of inaccurate prediction when decoding. Summary of the Invention

[0005] In view of this, embodiments of this application aim to provide a method for determining the prediction direction, a decoder, and a computer storage medium, which can improve the accuracy of the decoder in performing intra-frame chroma prediction.

[0006] The technical solution of this application embodiment can be implemented as follows: In a first aspect, embodiments of this application provide a method applied to a decoder, the method comprising: Obtain the luminance DM mode at the same position in the chroma intra-prediction mode of the block to be decoded; determine the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, so as to determine the DM derivation mode; where N is a positive integer greater than or equal to 2, and M is a positive integer.

[0007] In the above scheme, determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, in order to determine the DM derivation mode, includes: Summing M and N yields a sum, and subtracting M and N yields a difference. The minimum index number K1 of the prediction direction index included in the DM mode and the maximum index number K2 of the prediction direction index included in the DM mode are obtained. Based on the sum, the difference, K1, and K2, the index number of the prediction direction of the DM derivation mode is determined to identify the DM derivation mode.

[0008] In the above scheme, determining the index number of the prediction direction of the DM derivation mode based on the sum and the difference, in order to determine the DM derivation mode, includes: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the difference, respectively; when the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the first output value, respectively; wherein, the first output value is the value obtained by inputting M and N into a preset first preset formula; when the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the second output value and the difference, respectively; wherein, the second output value is the value obtained by inputting M and N into a preset second preset formula.

[0009] In the above scheme, determining the index number of the prediction direction of the DM derivation mode based on the sum and the difference, in order to determine the DM derivation mode, includes: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the difference, respectively; when the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and K1, respectively; when the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the difference and K2, respectively.

[0010] In the above scheme, when the index number of the prediction direction contained in the DM mode is different from the index number of the prediction direction contained in the block to be decoded, correspondingly, determining the index number of the prediction direction of the DM derivation mode based on the sum and the difference, in order to determine the DM derivation mode, includes: Obtain the minimum value L1 of the index number of the prediction direction contained in the block to be decoded, and the maximum value L2 of the index number of the prediction direction contained in the DM mode; the correspondence between the index number of the prediction direction contained in the DM mode and the index number of the prediction direction contained in the block to be decoded; determine the index number from the index number of the prediction direction contained in the block to be decoded based on the sum, the difference, L1, and L2; and determine the index number of the prediction direction of the DM mode corresponding to the determined index number as the index number of the prediction direction of the DM derivation mode, thereby determining the DM derivation mode.

[0011] In the above scheme, determining the index number from the index numbers of the prediction directions contained in the block to be decoded based on the sum, the difference, L1, and L2 includes: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively; when the difference is less than or equal to L1, the determined index numbers are the sum and the third output value, respectively; wherein, the third output value is the value obtained by inputting M and N into a preset third preset formula; when the sum is greater than or equal to L2, the determined index numbers are the fourth output value and the difference, respectively; wherein, the fourth output value is the value obtained by inputting M and N into a preset fourth preset formula.

[0012] In the above scheme, determining the index number from the index numbers of the prediction directions contained in the block to be decoded based on the sum, the difference, L1, and L2 includes: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively; when the difference is less than or equal to L1, the determined index numbers are the sum and L1, respectively; when the sum is greater than or equal to L2, the determined index numbers are the difference and L2, respectively.

[0013] In the above scheme, after determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, and thus determining the DM derivation mode, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than the priority of the DM mode, and lower than the decoding priority of the cross-component linear model prediction CCLM mode.

[0014] In the above scheme, after determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, and thus determining the DM derivation mode, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, higher than that of the vertical VER mode, and higher than that of the horizontal HOR mode.

[0015] In the above scheme, after determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, and thus determining the DM derivation mode, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, and lower than that of the PLANA mode.

[0016] In the above scheme, after determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, and thus determining the DM derivation mode, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, lower than that of the PLANA mode, higher than that of the VER mode, and higher than that of the HOR mode.

[0017] Secondly, embodiments of this application provide a decoder, the decoder comprising: The acquisition module is used to acquire the same position luminance DM mode in the intra-chroma prediction mode of the block to be decoded; the first determination module is used to determine the index number of the prediction direction of the DM derivation mode according to the index number M of the prediction direction of the DM mode and the preset offset N, so as to determine the DM derivation mode; wherein, N is a positive integer greater than or equal to 2, and M is a positive integer.

[0018] In the above scheme, the first determining module includes: The calculation submodule is used to sum M and N to obtain a sum value, and to subtract M and N to obtain a difference value; the first acquisition submodule is used to acquire the minimum value K1 of the index number of the prediction direction included in the DM mode, and the maximum value K2 of the index number of the prediction direction included in the DM mode; the first determination submodule is used to determine the index number of the prediction direction of the DM derivation mode based on the sum value, the difference value, K1 and K2, so as to determine the DM derivation mode.

[0019] In the above scheme, the first determining submodule is specifically used for: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the difference, respectively; when the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the first output value, respectively; wherein, the first output value is the value obtained by inputting M and N into a preset first preset formula; when the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the second output value and the difference, respectively; wherein, the second output value is the value obtained by inputting M and N into a preset second preset formula.

[0020] In the above scheme, the first determining submodule is specifically used for: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the difference, respectively; when the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and K1, respectively; when the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the difference and K2, respectively.

[0021] In the above scheme, when the index number of the prediction direction included in the DM mode is different from the index number of the prediction direction included in the block to be decoded, the first determining submodule includes: The second acquisition submodule is used to acquire the minimum value L1 of the index number of the prediction direction contained in the block to be decoded, and the maximum value L2 of the index number of the prediction direction contained in the DM mode; the third acquisition submodule is used to acquire the correspondence between the index number of the prediction direction contained in the DM mode and the index number of the prediction direction contained in the block to be decoded; the second determination submodule is used to determine the index number from the index number of the prediction direction contained in the block to be decoded based on the sum, the difference, L1 and L2; the third determination submodule is used to determine the index number of the prediction direction of the DM mode corresponding to the determined index number as the index number of the prediction direction of the DM derivation mode based on the correspondence, so as to determine the DM derivation mode.

[0022] In the above scheme, the second determining submodule is specifically used for: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively; when the difference is less than or equal to L1, the determined index numbers are the sum and the third output value, respectively; wherein, the third output value is the value obtained by inputting M and N into a preset third preset formula; when the sum is greater than or equal to L2, the determined index numbers are the fourth output value and the difference, respectively; wherein, the fourth output value is the value obtained by inputting M and N into a preset fourth preset formula.

[0023] In the above scheme, the second determining submodule is specifically used for: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively; when the difference is less than or equal to L1, the determined index numbers are the sum and L1, respectively; when the sum is greater than or equal to L2, the determined index numbers are the difference and L2, respectively.

[0024] In the above scheme, the decoder further includes: The second determining module is used to determine the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and a preset offset N. After determining the DM derivation mode, the module determines that the decoding priority of the DM derivation mode is lower than the priority of the DM mode and lower than the decoding priority of the cross-component linear model prediction CCLM mode.

[0025] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, higher than that of the vertical VER mode, and higher than that of the horizontal HOR mode.

[0026] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, and lower than that of the PLANA mode.

[0027] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, lower than that of the PLANA mode, higher than that of the VER mode, and higher than that of the HOR mode.

[0028] Thirdly, embodiments of this application provide a decoder, the decoder comprising: The processor and the storage medium storing processor-executable instructions, the storage medium performing operations dependent on the processor via a communication bus, wherein when the instructions are executed by the processor, the method for determining the prediction direction described in the first aspect is executed.

[0029] Fourthly, embodiments of this application provide a computer storage medium storing executable instructions, wherein when the executable instructions are executed by one or more processors, the processors execute the method for determining the prediction direction described in the first aspect.

[0030] This application provides a method for determining prediction direction, a decoder, and a computer storage medium. The method is applied in a decoder and includes: obtaining the DM mode in the chroma intra-prediction mode of the block to be decoded; determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and a preset N, thereby determining the DM derivation mode. That is, in this application embodiment, the index number of the prediction direction of the DM mode in the candidate modes of the obtained chroma intra-prediction mode is determined based on the index number of the prediction direction of the DM mode and the value of N, thereby determining the DM derivation mode and using it as a candidate mode of the chroma intra-prediction mode for intra-frame prediction of the block to be decoded. By adding the DM derivation mode to the candidate modes of the chroma intra-prediction mode and performing intra-frame prediction on the block to be decoded, the accuracy of decoding can be improved, thereby improving the high-quality transmission of image and video data. Attached Figure Description

[0031] Figure 1 A flowchart illustrating an optional method for determining the prediction direction provided in an embodiment of this application; Figure 2 This is a schematic diagram showing the current processing block layout; Figure 3 A schematic diagram of the layout for the predicted direction and a schematic diagram of the layout after the predicted values ​​are filled in; Figure 4 Schematic diagrams for VER mode prediction and HOR mode prediction. Figure 5 This is a schematic diagram showing the arrangement of the luminance blocks corresponding to the current processing block; Figure 6 This is a schematic diagram showing the arrangement of chroma blocks used in the DM mode and the chroma neighboring block mode, respectively, in Table 2. Figure 7 This is a schematic diagram illustrating the traversal order of the intra-prediction direction in MDMS. Figure 8 An example block diagram of a video encoding system provided in this application embodiment; Figure 9 An example block diagram of a video decoding system provided in this application embodiment; Figure 10 A flowchart illustrating another optional method for determining the prediction direction provided in this application embodiment; Figure 11 A flowchart illustrating another optional method for determining the prediction direction provided in an embodiment of this application; Figure 12 A schematic diagram of the structure of a decoder provided in an embodiment of this application. Figure 1 ; Figure 13 A schematic diagram of the structure of a decoder provided in an embodiment of this application. Figure 2 . Detailed Implementation

[0032] In order to gain a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for reference and illustration only and are not intended to limit the embodiments of this application.

[0033] This application provides a method for determining the prediction direction, which is applied in a decoder. Figure 1 A flowchart illustrating an optional method for determining the prediction direction provided in this application embodiment is shown below. Figure 1 As shown, the method for determining the prediction direction may include: S101: Obtain the DM mode in the chroma intra-prediction mode of the block to be decoded; Currently, with the rapid development of electronic devices, video encoding and decoding technology has also developed rapidly. Specifically, video encoding and decoding utilizes existing reconstructed images in space or time to construct the predicted value of the current processing block, and only transmits the difference between the true value and the predicted value to reduce the amount of data transmitted. This is called predictive encoding and decoding.

[0034] Figure 2 This is a schematic diagram of the current processing block layout, such as... Figure 2 As shown, Figure 2The largest square composed of several smaller squares in the image represents the current processing block. The row of circles above the current processing block represents the previous row of pixels, and the column of circles to the left of the current processing block represents the leftmost column of pixels. Intra-frame prediction uses the pixels from the previous row and the leftmost column of pixels to construct the predicted value for the current processing block. (Refer to...) Figure 2 As shown, using Figure 2 The circles in the diagram represent the recovered neighboring pixels used to predict each pixel in the current processing block.

[0035] In constructing the predicted value of the current processing block using neighboring pixels, multiple prediction directions are employed. Figure 3 The diagram shows the arrangement of the predicted directions and the arrangement after the predicted values ​​are filled in, as shown below. Figure 3 Figure (a) shows the 67 intra-prediction modes for luminance currently supported by VVC. With the introduction of DM and other technologies, chroma blocks can also use these intra-prediction modes. Each prediction mode is represented by an index number. The value represented by the DM mode can be angle-dependent or angle-independent. For example, when the DM mode is angle-independent, index number 0 represents the PLANA mode, and 1 represents the DC mode. When the DM mode is an angle-dependent mode, index numbers 2-66 represent 65 prediction directions.

[0036] It should be noted that the DC mode and PLANAR mode mentioned above are two relatively flat construction prediction modes. The DC mode fills the entire luminance or chrominance block using the average value of the reference pixels in the top row and left column, while the PLANAR mode fills the luminance or chrominance block in a gradient manner.

[0037] like Figure 3 Figure (b) shows the arrangement of pixels after filling with the constructed predicted values. Taking the DM mode as an example (predicting direction index 66), the method for constructing the predicted value for each pixel is given. Pixels numbered 0-16 represent the previous row of data in the current processing block. Each pixel in the current processing block is filled according to the pixel in the upper right corner. After filling, it looks like... Figure 3 As shown in Figure (b).

[0038] When the DM mode is the angle mode, index numbers 2-66 indicate that among the 65 prediction directions, there are also two special direction modes. For example, index number 18 is called the HOR mode, and index number 50 is called the VER mode, which can perform horizontal prediction and vertical prediction respectively.

[0039] Figure 4 The diagrams show the layout for VER mode prediction and the layout for HOR mode prediction, as follows: Figure 4As shown in Figure (a), the pixels in the top row are represented by 0, 1, 2, 3, 4, 5, 6, and 7. The VER mode prediction is performed using the pixels in the top row, as follows: Figure 4 As shown in (a), fill this column with the pixels from the previous row; as... Figure 4 As shown in Figure (b), the pixels in the left column are represented by 0, 1, 2, 3, 4, 5, 6, and 7. HOR pattern prediction is performed using these left column pixels, as follows: Figure 4 As shown in Figure (b), this row is filled with pixels from the left column.

[0040] In practical applications, for brightness modes, according to Figure 3 In Figure (a), the 0-66 prediction directions are predicted sequentially. The prediction direction that best matches the current processing block (or has the smallest rate-distortion cost difference) is selected to construct the prediction value. The encoder writes the difference and prediction direction into the bitstream. The decoder obtains the bitstream and parses it. After obtaining the prediction direction index number, the brightness prediction value can be calculated. This value is added to the difference signal parsed from the bitstream to obtain the reconstructed brightness value.

[0041] For chroma intra-frame prediction, unlike the luma intra-frame prediction mode, only a portion of the prediction directions are extracted. This reduces complexity. For example, the candidate list for chroma intra-frame prediction modes in VVC is constructed as shown in Table 1 below: Table 1

[0042] Figure 5 This is a schematic diagram showing the arrangement of the luminance blocks corresponding to the current processing block, such as... Figure 5 As shown, the grayscale block on the left is the luma block corresponding to the current chroma block, and the grayscale block on the right is the current chroma block. When performing intra-frame prediction of the current chroma block, the prediction direction of the center block of the luma block is used, and the center block is... Figure 5 The CR block represents the brightness block in the grayscale block on the left.

[0043] As can be seen from Table 1 above, if the prediction direction obtained by the DM mode is the same as that of the last four modes, the last four modes will be replaced by the mode with the prediction direction index number 66.

[0044] Besides the methods mentioned above, there is another method called MDMS mode, which is a more complex method for constructing the candidate list of chroma intra-prediction modes. Compared with VVC, it has a bitrate saving of 0.2%, but its complexity is too high. The construction method of this scheme is shown in Table 2 below: Table 2

[0045] Figure 6The diagrams in Table 2 show the arrangement of chroma blocks used in the DM mode and the chroma neighbor block mode, respectively. Figure 6 As shown by the small squares in Figure (a), the DM mode in Table 2 refers to the intra-frame prediction mode used at the five positions of the center CR, upper left TL, upper right TR, lower left BL, and lower right BR of the luma block region corresponding to the current chroma block. Figure 6 As shown in the small squares of Figure (b), the chroma neighbor block mode in Table 2 is the intra-prediction mode of the chroma block spatial neighbor left, top left, bottom left, top and top right blocks.

[0046] Figure 7 This is a schematic diagram illustrating the traversal order of the intra-frame prediction direction in MDMS, as shown below. Figure 7 As shown, the intra-frame prediction order is as follows: 1. Center luma block C, 2. Top left luma block TL, 3. Top right luma block TR, 4. Bottom left luma block BL, 5. Bottom right luma block BR, 6. Left chroma block L, 7. Top chroma block, 8. Bottom left chroma block LB, 9. Top right chroma block AR, 10. Top left chroma block AL, 11. PLANA, 12. DC, 13. Existing prediction direction index number plus or minus 1 (equivalent to +1 derived angularmodes), 14. Prediction direction index number is 50 (equivalent to VER_IDX), 15. Prediction direction index number is 18 (equivalent to HOR_IDX), 16. Prediction direction index number is 2, 17. Prediction direction index number is 34 (equivalent to DIA_IDX).

[0047] This shows that although the method for constructing the intra-frame prediction direction of VVC chroma is simple, the use of fixed HOR, VER and 66 modes has a strong sequence dependency and cannot adapt well to all sequences. Later statistical data shows that these modes are used less frequently.

[0048] MDMS requires comparing 17 candidate schemes, resulting in a gain of -0.2%, but the large number of comparisons and strong dependence on neighboring blocks make it difficult to implement in practice. Currently, there are some methods to reduce the complexity of MDMS, such as deletion... Figure 7 The predicted directions of numbers 2, 3, 4, and 5 in the text can be removed, or they can be deleted. Figure 7 Add or subtract 1 to the existing prediction direction index number of the upper right brightness block AR, PLANAR, DC.

[0049] To improve the accuracy of candidate prediction directions, Figure 8 An example block diagram of a video encoding system provided in this application embodiment; such as Figure 8As shown, the video coding system 800 includes components such as transform and quantization 801, intra-frame estimation 802, intra-frame prediction 803, motion compensation 804, motion estimation 805, inverse transform and inverse quantization 806, filter control analysis 807, deblocking filtering and Sample Adaptive Offset (SAO) filtering 808, header information encoding and Context-based Adaptive Binary Arithmetic Coding (CABAC) 809, and a decoded image buffer 810. For the input raw video signal, a video coding block can be obtained by dividing it into Coding Tree Units (CTUs). Then, the residual pixel information obtained after intra-frame or inter-frame prediction is transformed by transform and quantization 801. This transform and quantization 801 transforms the video coding block by transforming the residual information from the pixel domain to the transform domain and quantizing the resulting transform coefficients to further reduce the bit rate. Intra-frame estimation 802 and intra-frame prediction 803 are used to perform intra-frame prediction on the video coded block; specifically, intra-frame estimation 802 and intra-frame prediction 803 are used to determine the intra-frame prediction mode to be used to encode the video coded block. Motion compensation 804 and motion estimation 805 are used to perform inter-frame predictive coding of the received video coded block relative to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by motion estimation 805 is a process of generating motion vectors that can estimate the motion of the video coded block, and then motion compensation 804 performs motion compensation based on the motion vectors determined by motion estimation 805. After determining the intra-frame prediction mode, intra-frame prediction 803 is also used to provide the selected intra-frame prediction data to header information coding and CABAC 809, and motion estimation 805 also sends the calculated motion vector data to header information coding and CABAC 809. The inverse transform and inverse quantization 806 is used to reconstruct the video coded block, reconstructing the residual block in the pixel domain. The reconstructed residual block removes block artifacts through filter control analysis 807 and deblocking and SAO filtering 808. This reconstructed residual block is then added to a predictive block in the frame of the decoded image buffer 810 to generate the reconstructed video coded block. Header information encoding and CABAC 809 are used to encode various coding parameters and quantized transform coefficients. In the CABAC-based coding algorithm, the context content can be based on adjacent coded blocks and can be used to encode information indicating the determined intra-frame prediction mode, outputting the bitstream of the video signal. The decoded image buffer 810 stores the reconstructed video coded block for prediction reference.As video image encoding progresses, new reconstructed video encoding blocks are continuously generated, and these reconstructed video encoding blocks are stored in the decoded image buffer 810.

[0050] Figure 9 This is an example of a block diagram illustrating the composition of a video decoding system provided in an embodiment of this application. Figure 9 As shown, the video decoding system 900 includes components such as header information decoding and CABAC decoding 901, inverse transform and inverse quantization 902, intra-frame prediction 903, motion compensation 904, deblocking filtering and SAO filtering 905, and a decoded image buffer 906. The input video signal is processed through... Figure 8 After encoding, the video signal bitstream is output. This bitstream is input into the video decoding system 900, where it first undergoes header information decoding and CABAC decoding 901 to obtain the decoded transform coefficients. These transform coefficients are then processed by inverse transform and inverse quantization 902 to generate residual blocks in the pixel domain. Intra-frame prediction 903 is used to generate prediction data for the current video decoding block based on the determined intra-frame prediction mode and data from previously decoded blocks in the current frame or image. Motion compensation 904 determines prediction information for the video decoding block by analyzing motion vectors and other associated syntax elements, and uses this prediction information to generate predictive blocks for the video decoding block being decoded. The decoded video block is formed by summing the residual block from inverse transform and inverse quantization 902 with the corresponding predictive block generated by intra-frame prediction 903 or motion compensation 904. The decoded video signal is then subjected to deblocking filtering and SAO filtering 905 to remove block artifacts, thus improving video quality. The decoded video block is stored in the decoded image buffer 906. The decoded image buffer 906 stores reference images for subsequent intra-frame prediction or motion compensation, and is also used for the output of the video signal, thus obtaining the recovered original video signal.

[0051] The embodiments of this application are mainly applied in, for example... Figure 8 The intra-prediction 803 part shown and as follows Figure 9 The intra-frame prediction 903 portion is shown. The embodiments of this application can be applied to both encoding and decoding systems, but are not specifically limited thereto.

[0052] Please refer to this again. Figure 1 To obtain the DM derivation pattern, firstly, the DM pattern is acquired, which allows us to know the index number of the prediction direction of the DM pattern.

[0053] S102: Determine the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N, so as to determine the DM derivation mode.

[0054] Where N is a positive integer greater than or equal to 2, and M is a positive integer.

[0055] It should be noted that the prediction direction represented by the index number in the DM mode can be the same as or different from the prediction direction represented by the index number in the block to be decoded. This is related to the shape and / or size of the block to be decoded. For example, when the aspect ratio of the block to be decoded and the reference region is the same, the index number of the prediction direction in the DM mode is the same as the index number of the prediction direction in the block to be decoded. Otherwise, when the aspect ratio of the block to be decoded and the reference region is different, the prediction direction corresponding to the extended mode number in the wide-angle mode may be different.

[0056] In practical applications, N is generally 3, 5 or 7. Here, the embodiments of this application do not make specific limitations on this.

[0057] In order to determine the index number of the prediction direction of the DM derivation mode, in one optional embodiment, Figure 10 A flowchart illustrating another optional method for determining the prediction direction provided in this application embodiment is shown below. Figure 10 As shown, S102 may include: S1001: Summing M and N gives the sum, and subtracting M and N gives the difference. S1002: Obtain the minimum value K1 of the index number of the prediction direction contained in the DM mode, and the maximum value K2 of the index number of the prediction direction contained in the DM mode. S1003: Determine the index number of the prediction direction of the DM derivation mode based on the sum, difference, K1, and K2, so as to determine the DM derivation mode.

[0058] In other words, first calculate the sum of M and N, and the difference between M and N, and obtain K1 and K2. Here, there are two cases: one is that the index number of the prediction direction contained in the DM mode is the same as the index number of the prediction direction contained in the block to be decoded, and the other is that the index number of the prediction direction contained in the DM mode is different from the index number of the prediction direction contained in the block to be decoded.

[0059] When the index number of the prediction direction contained in the DM mode is the same as the index number of the prediction direction contained in the block to be decoded, in order to determine the index number of the prediction direction of the DM derivation mode, in an optional embodiment, S1003 may include: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum and the difference, respectively.

[0060] When the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum and the first output value, respectively; wherein, the first output value is the value obtained by inputting M and N into the preset first preset formula.

[0061] When the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the second output value and the difference, respectively; wherein, the second output value is the value obtained by inputting M and N into the preset second preset formula.

[0062] The first and second preset formulas mentioned above are derived from K1 and K2, with variables M and N, which are pre-set.

[0063] For example, when the DM mode is an angle mode, the minimum value of the index number of the predicted direction included in the DM mode is 2 and the maximum value is 66. Add or subtract N to it and map it to the effective angle range to obtain the DM derivation mode. The value of N is greater than 2, and it is recommended to use 3, 5 or 7.

[0064] Taking 5 as an example, the current DM mode is the M-angle mode (2≤M≤66). (This is the same as the addition and subtraction of N in the angle mode of the lumen intra-frame candidate). Assuming that the wide-angle mode is not considered (which is equivalent to the index number of the prediction direction contained in the above DM mode being the same as the index number of the prediction direction contained in the block to be decoded), the method for determining the prediction direction is as follows: When M+N≤66 and MN≥2, the index numbers of the predicted directions in the DM derivation mode are M+N and MN. When MN≤2, the index numbers of the predicted directions in the DM derivation mode are M+N and ((M+62-N)%64)+2; When M+N≥66, the index number of the predicted direction in the DM derivation mode is ((M-2+N)%64)+2 and MN; In this context, the symbol "%" represents the modulo operation. For example, if the DM mode is 40 and the offset N value is set to 5, then the index numbers of the prediction directions in the DM derivation mode are 35 and 45. If DM is 62, the derivation modes are 57 and 3 (62+5=67, 67 exceeds the range [2, 66], and will be reduced back to 3 by modulo operation, except in wide-angle mode). If wide-angle mode is considered, it can be mapped according to its true angle range. Therefore, the construction method of the chroma intra-frame prediction direction in this example is shown in Table 3 below: Table 3

[0065] When the index number of the prediction direction contained in the DM mode is the same as the index number of the prediction direction contained in the block to be decoded, in order to determine the index number of the prediction direction of the DM derivation mode, in an optional embodiment, S1003 may include: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum and the difference, respectively. When the difference is less than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum of the values ​​and K1, respectively. When the sum is greater than or equal to K2, the index numbers for determining the prediction direction of the DM derivation mode are the difference and K2, respectively.

[0066] For example, when the DM mode is an angle mode, the minimum index number of the predicted direction included in the DM mode is 2, and the maximum value is 66. Adding or subtracting N to this index yields the DM derivation mode. Assume the current DM mode is the M angle mode (2 ≤ M ≤ 66). (This is the same as the addition or subtraction of N for angle modes in the lumen intra-frame candidate.) When M+N≤66 and MN≥2, the derivation mode of DM is M+N and MN; When M+N≥66, the DM derivation mode is equal to MN and 66; When MN≤2, the DM derivation mode is equal to 2 and M+N; For example, if the DM mode is 40 and the offset N value is set to 5, then the DM derivation mode is 35 and 45; if the DM is 62, the derivation mode is 57 and 2 (62+5=67, 67 exceeds the range of [2, 66], and will be clamped to 66).

[0067] To determine the index number of the prediction direction of the DM derivation mode, in an optional embodiment, when the index number of the prediction direction contained in the DM mode is different from the index number of the prediction direction contained in the block to be decoded, correspondingly, Figure 11 A flowchart illustrating another optional method for determining the prediction direction provided in this application embodiment is shown below. Figure 11 As shown, S102 may include: S1101: Obtain the minimum value L1 of the index number of the prediction direction contained in the block to be decoded, and the maximum value L2 of the index number of the prediction direction contained in the DM mode. S1102: Obtain the correspondence between the index numbers of the prediction directions contained in the DM mode and the index numbers of the prediction directions contained in the block to be decoded; S1103: Determine the index number from the index numbers of the prediction directions contained in the block to be decoded based on the sum, difference, L1, and L2; S1104: Based on the correspondence, the index number of the prediction direction of the DM mode corresponding to the determined index number is determined as the index number of the prediction direction of the DM derivation mode, so as to determine the DM derivation mode.

[0068] Specifically, when the block to be decoded is rectangular, the prediction direction represented by the index number contained in the block to be decoded is different from the prediction direction represented by the index value contained in the DM mode, but there is a corresponding relationship; for example, for the block to be decoded to be rectangular, the prediction direction contained in the block to be decoded is equivalent to rotating clockwise or counterclockwise by a certain degree relative to the prediction direction contained in the DM mode; the index numbers for different prediction directions can be matched together, and finally the index number of the prediction direction of the DM derivation mode is within the index number of the prediction direction contained in the DM mode.

[0069] In order to determine the index number from the index numbers of the prediction directions contained in the block to be decoded, in an optional embodiment, S1103 may include: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively. When the difference is less than or equal to L1, the determined index numbers are the sum and the third output value, respectively; wherein, the third output value is the value obtained by inputting M and N into the preset third preset formula; When the sum is greater than or equal to L2, the determined index numbers are the fourth output value and the difference, respectively; where the fourth output value is the value obtained by inputting M and N into the preset fourth preset formula.

[0070] The third and fourth preset formulas mentioned above are derived from L1 and L2, where the variables are M and N, which are pre-set.

[0071] For example, when DM is in angle mode, adding or subtracting N yields the DM derivation mode. Assuming the current DM mode is angle M (2≤M≤66), and based on the correspondence of wide angle modes, its true effective range (equivalent to the index number of the predicted direction contained in the above-mentioned block to be decoded) is (8≤M≤72). Taking the wide angle mode with an aspect ratio of 2 as an example, its correspondence is shown in Table 4 below: Table 4

[0072] The DM derivation process is as follows: When M+N≤72 and MN≥8, the DM derivation mode is M+N and MN; When MN≤8, the derivation mode of DM is M+N and ((M+56-N)%64)+8; When M+N≥72, the derivation mode of DM is ((M-8+N)%64)+8 and MN; When the result is between 67 and 72, it is then mapped to between 2 and 66 according to the corresponding values ​​in Table 4.

[0073] In order to determine the index number from the index numbers of the prediction directions contained in the block to be decoded, in an optional embodiment, S1103 may include: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively. When the difference is less than or equal to L1, the determined index numbers are the sum and L1, respectively. When the sum is greater than or equal to L2, the determined index numbers are the difference and L2, respectively.

[0074] For example, this technology proposes an additional DM derivation mode, and the specific derivation method in the wide-angle mode is as follows: When DM is in angle mode, adding or subtracting N yields the DM derivation mode. Assuming the current DM mode is angle M (2≤M≤66), and based on the correspondence of wide-angle modes, its true effective range is (8≤M≤72), as shown in Table 4. Therefore, the DM derivation mode process is as follows: When M+N≤72 and MN≥8, the DM derivation mode is M+N and MN; When MN≤8, the derivation mode of DM is M+N and 8; When M+N≥72, the derivation mode of DM is 72 and MN; When the result is between 67 and 72, it is then mapped to between 2 and 66 according to the corresponding values ​​in Table 1.

[0075] In an alternative embodiment, after S102, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, and also lower than that of the CCLM mode.

[0076] In other words, by setting the DM derivation mode after the DM and CCLM modes, the higher the priority during decoding, the lower the bit rate received.

[0077] In an alternative embodiment, after S102, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, higher than that of the VER mode, and higher than that of the HOR mode.

[0078] When DM is in angle mode, the method for constructing the chroma intra-frame prediction direction in this example is shown in Table 5 below: Table 5

[0079] In an alternative embodiment, after S102, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, and lower than that of the PLANA mode.

[0080] When DM is in angle mode, the method for constructing the chroma intra-frame prediction direction in this example is shown in Table 6 below: Table 6

[0081] In an alternative embodiment, after S102, the method further includes: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, lower than that of the PLANA mode, higher than that of the vertical VER mode, and higher than that of the horizontal HOR mode.

[0082] When DM is in angle mode, the method for constructing the chroma intra-frame prediction direction in this example is shown in Table 7 below: Table 7

[0083] As can be seen, the embodiments of this application, based on the determined DM derivation mode and the VVC chroma intra-frame prediction direction construction method in 2.2.1, prioritize the HOR, VER and 66 fixed modes, expand according to the DM mode, improve the quality of candidate prediction directions, and place the DM derivation mode after the CCLM mode and before other angle modes.

[0084] This application provides a method for determining the prediction direction, which is applied in a decoder. The method includes: obtaining the DM mode in the chroma intra-prediction mode of the block to be decoded; determining the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and a preset N, thereby determining the DM derivation mode. That is, in this application embodiment, the index number of the prediction direction of the DM mode in the candidate modes of the obtained chroma intra-prediction mode is determined based on the index number of the prediction direction of the DM mode and the value of N, thereby determining the DM derivation mode and using it as a candidate mode of the chroma intra-prediction mode for intra-frame prediction of the block to be decoded. By adding the DM derivation mode to the candidate modes of the chroma intra-prediction mode and performing intra-frame prediction on the block to be decoded, the accuracy of decoding can be improved, thereby improving the high-quality transmission of image and video data.

[0085] Based on the same inventive concept as the foregoing embodiments, see [link to previous document]. Figure 12 , Figure 12A schematic diagram of the structure of a decoder provided in an embodiment of this application. Figure 1 The decoder may include: The acquisition module 121 is used to acquire the DM mode in the intra-chroma prediction mode of the block to be decoded; the first determination module 122 is used to determine the index number of the prediction direction of the DM derivation mode according to the index number M of the prediction direction of the DM mode and the preset offset N, so as to determine the DM derivation mode; where N is a positive integer greater than or equal to 2 and M is a positive integer.

[0086] In the above scheme, the first determining module 122 includes: The calculation submodule is used to sum M and N to obtain the sum value, and to subtract M and N to obtain the difference value; The first acquisition submodule is used to acquire the minimum value K1 of the index number of the prediction direction contained in the DM mode, and the maximum value K2 of the index number of the prediction direction contained in the DM mode. The first determining submodule is used to determine the index number of the prediction direction of the DM derivation mode based on the sum, difference, K1, and K2, so as to determine the DM derivation mode.

[0087] In the above scheme, the first determining submodule is specifically used for: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum and the difference, respectively. When the difference is less than or equal to K1, the index numbers of the prediction direction of the DM derivation mode are determined to be the sum of the values ​​and the first output value, respectively; wherein, the first output value is the value obtained by inputting M and N into the preset first preset formula; When the sum is greater than or equal to K2, the index numbers of the prediction direction of the DM derivation mode are determined to be the second output value and the difference, respectively; wherein, the second output value is the value obtained by inputting M and N into the preset second preset formula.

[0088] In the above scheme, the first determining submodule is specifically used for: When the sum is less than or equal to K2 and the difference is greater than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum and the difference, respectively. When the difference is less than or equal to K1, the index numbers for determining the prediction direction of the DM derivation mode are the sum of the values ​​and K1, respectively. When the sum is greater than or equal to K2, the index numbers for determining the prediction direction of the DM derivation mode are the difference and K2, respectively.

[0089] In the above scheme, when the index number of the prediction direction contained in the DM mode is different from the index number of the prediction direction contained in the block to be decoded, the first determining submodule includes: The second acquisition submodule is used to acquire the minimum value L1 of the index number of the prediction direction contained in the block to be decoded, and the maximum value L2 of the index number of the prediction direction contained in the DM mode. The third acquisition submodule is used to acquire the correspondence between the index number of the prediction direction contained in the DM mode and the index number of the prediction direction contained in the block to be decoded. The second determining submodule is used to determine the index number from the index numbers of the prediction directions contained in the block to be decoded based on the sum, difference, L1, and L2. The third determination submodule is used to determine the index number of the prediction direction of the DM mode corresponding to the determined index number as the index number of the prediction direction of the DM derivation mode according to the correspondence relationship, so as to determine the DM derivation mode.

[0090] In the above scheme, the second determining submodule is specifically used for: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively. When the difference is less than or equal to L1, the determined index numbers are the sum and the third output value, respectively; where the third output value is the value obtained by inputting M and N into the preset third preset formula; When the sum is greater than or equal to L2, the determined index numbers are the fourth output value and the difference, respectively; where the fourth output value is the value obtained by inputting M and N into the preset fourth preset formula.

[0091] In the above scheme, the second determining submodule is specifically used for: When the sum is less than or equal to L2 and the difference is greater than or equal to L1, the determined index numbers are the sum and the difference, respectively. When the difference is less than or equal to L1, the determined index numbers are the sum and L1, respectively. When the sum is greater than or equal to L2, the determined index numbers are the difference and L2, respectively.

[0092] In the above scheme, the decoder also includes: The second determining module is used to determine the index number of the prediction direction of the DM derivation mode based on the index number M of the prediction direction of the DM mode and the preset offset N. After determining the DM derivation mode, the module determines that the decoding priority of the DM derivation mode is lower than the priority of the DM mode and lower than the decoding priority of the cross-component linear model prediction CCLM mode.

[0093] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, higher than that of the vertical VER mode, and higher than that of the horizontal HOR mode.

[0094] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, and lower than that of the gradually flat PLANA mode.

[0095] In the above scheme, the second determining module is specifically used for: The decoding priority of the DM derivation mode is determined to be lower than that of the DM mode, lower than that of the CCLM mode, lower than that of the DC mode, lower than that of the PLANA mode, higher than that of the VER mode, and higher than that of the HOR mode.

[0096] Understandably, in this embodiment, a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course it can also be a module or a non-modular one.

[0097] Furthermore, in this embodiment, the constituent units can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional module.

[0098] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0099] Figure 13 A schematic diagram of the structure of a decoder provided in an embodiment of this application. Figure 2 ,like Figure 13 As shown, this application embodiment provides a decoder 130. It includes a processor 131 and a storage medium 132 storing instructions executable by the processor 131. The storage medium 132 performs operations in dependence of the processor 131 via a communication bus 133. When the instructions are executed by the processor 131, the method for determining the prediction direction described in Embodiment 1 above is executed.

[0100] It should be noted that in practical applications, the various components in the terminal are coupled together via the communication bus 133. It can be understood that the communication bus 133 is used to achieve communication between these components. In addition to the data bus, the communication bus 133 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 13 The general labeled all buses as communication bus 133.

[0101] This application provides a computer storage medium storing executable instructions. When the executable instructions are executed by one or more processors, the processors execute the prediction direction determination method described in one or more of the above embodiments.

[0102] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can 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. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0103] The processor may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can 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 devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0104] It is understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or combinations thereof.

[0105] For software implementation, the techniques described herein can be achieved through modules (e.g., procedures, functions, etc.) that perform the functions described herein. The software code can be stored in memory and executed by a processor. The memory can be implemented within the processor or externally.

[0106] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0107] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0108] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0109] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims. All of these forms are within the protection scope of this application.

Claims

1. A method of determining a prediction direction, wherein, The method is applied to a decoder, and the method comprises: determining a chroma intra prediction mode of a block to be decoded, and obtaining a co-located luma DM mode of the chroma intra prediction; determining an index number of a prediction direction corresponding to the DM derivation mode according to a sum of M and N, a difference between M and N, a minimum value K1 of index numbers of prediction directions contained in the DM mode, and a maximum value K2 of the index numbers of the prediction directions contained in the DM mode, so as to determine the DM derivation mode; wherein N is a positive integer greater than or equal to 2, and M is a positive integer; wherein a decoding process of the DM derivation mode is after a decoding process of a cross-component linear model (CCLM) mode.

2. The method of claim 1, wherein, The method further comprises: when the sum is greater than K2 and the difference is less than K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is K1 and K2 respectively.

3. The method of claim 1, wherein, The method further comprises: when the sum is less than or equal to K2 and the difference is greater than or equal to K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is the sum and the difference respectively; when the difference is less than or equal to K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is the sum and K1 respectively; when the sum is greater than or equal to K2, determining that the index number of the prediction direction corresponding to the DM derivation mode is the difference and K2 respectively.

4. A method of determining a predicted direction, wherein, The method is applied to an encoder, and the method comprises: determining a chroma intra prediction mode of a block to be encoded, and obtaining a co-located luma DM mode of the chroma intra prediction; determining an index number of a prediction direction corresponding to the DM derivation mode according to a sum of M and N, a difference between M and N, a minimum value K1 of index numbers of prediction directions contained in the DM mode, and a maximum value K2 of the index numbers of the prediction directions contained in the DM mode, so as to determine the DM derivation mode; wherein N is a positive integer greater than or equal to 2, and M is a positive integer; wherein an encoding process of the DM derivation mode is after an encoding process of a cross-component linear model (CCLM) mode.

5. The method of claim 4, wherein, The sum is a sum of M and N, the difference is a difference between M and N, K1 is a minimum value of index numbers of prediction directions contained in the DM mode, and K2 is a maximum value of the index numbers of the prediction directions contained in the DM mode.

6. The method of claim 5, wherein, The method further comprises: when the sum is greater than K2 and the difference is less than K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is K1 and K2 respectively.

7. The method of claim 5, wherein, The method further comprises: when the sum is less than or equal to K2 and the difference is greater than or equal to K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is the sum and the difference respectively; when the difference is less than or equal to K1, determining that the index number of the prediction direction corresponding to the DM derivation mode is the sum and K1 respectively; when the sum is greater than or equal to K2, determining that the index number of the prediction direction corresponding to the DM derivation mode is the difference and K2 respectively.

8. A decoder, wherein, The decoder comprises: a first obtaining module configured to determine a chroma intra prediction mode of a block to be decoded, and obtain a co-located luma DM mode of the chroma intra prediction; a first determining module comprising: a first determining sub-module, configured to determine an index number of a prediction direction corresponding to the DM derivation mode according to a sum value of M and N, a difference value of M and N, a minimum value K1 of index numbers of prediction directions contained in the DM mode, and a maximum value K2 of index numbers of prediction directions contained in the DM mode, so as to determine the DM derivation mode. wherein N is a positive integer greater than or equal to 2, and M is a positive integer. wherein a decoding process of the DM derivation mode is after a decoding process of a cross-component linear model (CCLM) mode.

9. The decoder of claim 8, wherein, The sum value is a sum of M and N, the difference value is a difference of M and N, K1 is a minimum value of index numbers of prediction directions contained in the DM mode, and K2 is a maximum value of index numbers of prediction directions contained in the DM mode.

10. The decoder of claim 9, wherein, The first determining sub-module is specifically configured to: when the sum value is greater than K2 and the difference value is less than K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as K1 and K2 respectively.

11. The decoder of claim 9, wherein, The first determining sub-module is specifically configured to: when the sum value is less than or equal to K2 and the difference value is greater than or equal to K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the sum value and the difference value respectively; when the difference value is less than or equal to K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the sum value and K1 respectively; when the sum value is greater than or equal to K2, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the difference value and K2 respectively.

12. An encoder, wherein, The encoder comprises: a second obtaining module, configured to determine a chroma intra prediction mode of a to-be-encoded block, and obtain a same-position luminance DM mode of chroma intra prediction; a second determining module comprising: a second determining sub-module, configured to determine an index number of a prediction direction corresponding to the DM derivation mode according to a sum value of M and N, a difference value of M and N, a minimum value K1 of index numbers of prediction directions contained in the DM mode, and a maximum value K2 of index numbers of prediction directions contained in the DM mode, so as to determine the DM derivation mode. wherein N is a positive integer greater than or equal to 2, and M is a positive integer. wherein an encoding process of the DM derivation mode is after an encoding process of a cross-component linear model (CCLM) mode.

13. The encoder of claim 12, wherein, The sum value is a sum of M and N, the difference value is a difference of M and N, K1 is a minimum value of index numbers of prediction directions contained in the DM mode, and K2 is a maximum value of index numbers of prediction directions contained in the DM mode.

14. The encoder of claim 13, wherein, The second determining sub-module is specifically configured to: when the sum value is greater than K2 and the difference value is less than K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as K1 and K2 respectively.

15. The encoder of claim 13, wherein, The second determining sub-module is specifically configured to: when the sum value is less than or equal to K2 and the difference value is greater than or equal to K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the sum value and the difference value respectively; when the difference value is less than or equal to K1, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the sum value and K1 respectively; when the sum value is greater than or equal to K2, determine the index numbers of the prediction direction corresponding to the DM derivation mode as the difference value and K2 respectively.

16. A decoder, wherein, The decoder comprises: A processor and a storage medium having stored thereon processor-executable instructions that, when executed by the processor, cause the processor to perform the method of any of claims 1-3 for determining a prediction direction.

17. An encoder, wherein, The encoder comprises: A processor and a storage medium having stored thereon processor-executable instructions that, when executed by the processor, cause the processor to perform the method of any of claims 4-7 for determining a prediction direction.

18. A method of transmitting a bitstream, for transmitting a bitstream, wherein, The bitstream is generated based on the method of any of claims 4-7 for determining a prediction direction.

19. A computer-readable storage medium having a code stream stored thereon, wherein, The bitstream is generated based on performing the steps of the method of any of claims 4-7 for determining a prediction direction.

20. A computer storage medium, wherein, A storage medium having stored thereon executable instructions that, when executed by one or more processors, cause the processors to perform the method of any of claims 1-3 for determining a prediction direction or the method of any of claims 4-7 for determining a prediction direction.

Citation Information

Patent Citations

  • Method, device and computer program for block filtering in a video encoder and decoder

    GB201312507D0

  • Method for detecting a discrete symbol sequence from an observation signal, and viterbi processor implementing such method

    US6389574B1

  • Method and device for image decoding in image coding system

    WO2018174357A1