Video encoding / decoding method, decoding device, encoding device, and computer-readable storage medium
By determining M candidate prediction modes from adjacent blocks for video encoding/decoding, the method addresses the complexity and efficiency issues in current video coding technologies, enhancing performance through unified intra-prediction mode lists.
Patent Information
- Application Number
- JP2025539854
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-01-04
- Publication Date
- 2026-01-21
AI Technical Summary
Current video coding and decoding technologies face increased complexity and reduced efficiency due to varying methods for constructing intra candidate prediction mode lists, leading to lower encoding/decoding performance and accuracy.
A method and device for video encoding/decoding that determines M candidate prediction modes based on adjacent blocks to construct a unified intra-prediction mode list, reducing complexity and enhancing performance by performing intra-prediction and image reconstruction on the current block.
This approach reduces decoding complexity and improves encoding/decoding efficiency and performance by utilizing adjacent block prediction modes to construct a unified intra-prediction mode list.
Smart Images

Figure 2026502272000001_ABST
Abstract
Description
[Technical Field]
[0001] The embodiments of the present application relate to video encoding and decoding technology, and in particular, but not limited to, a video encoding and decoding method, a decoding device, an encoding device, and a computer-readable storage medium. [Background technology]
[0002] Intra prediction typically involves predicting a current coding block based on various angular and non-angular prediction modes to obtain a predicted block. Based on rate-distortion information calculated from the predicted block and the original block, the various angular and non-angular prediction modes are screened to determine the optimal prediction mode for the current coding block, and the selected prediction mode is transmitted to the decoding side via a bitstream. The decoding side analyzes the prediction mode, predicts a predicted image for the current decoding block, and convolves the residual pixels transmitted via the bitstream to obtain a reconstructed image. Some intra prediction techniques build a candidate prediction mode list based on various angular and non-angular prediction modes and then screen for the optimal prediction mode based on the candidate prediction mode list. However, in current video coding and decoding, the process of building the candidate prediction mode list differs for different intra prediction techniques, increasing the complexity of coding and decoding and reducing the efficiency and performance of coding and decoding. Summary of the Invention [Problem to be solved by the invention]
[0003] The embodiments of the present application provide a video encoding / decoding method, a decoding device, an encoding device, and a computer-readable storage medium, which can improve encoding / decoding efficiency and enhance encoding / decoding performance. [Means for solving the problem]
[0004] According to a first aspect, an embodiment of the present application provides a video decoding method.
[0005] The video decoding method includes: parsing the bitstream to determine a first intra-prediction identifier corresponding to the current block; determining a prediction block at least five positions adjacent to the current block; determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; The method includes a step of constructing an intra-prediction mode list based on the M candidate prediction modes, and performing intra-prediction and image reconstruction on the current block based on the intra-prediction mode list to determine a reconstructed image block corresponding to the current block.
[0006] According to a second aspect, an embodiment of the present application further provides a video encoding method.
[0007] The video encoding method comprises: determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; The method includes a step of constructing an intra-prediction mode list based on the M candidate prediction modes, and performing intra-prediction on the current block based on the intra-prediction mode list to determine a predicted image block corresponding to the current block.
[0008] According to a third aspect, an embodiment of the present application provides a decoding device.
[0009] The decoding device a parser configured to parse the bitstream to determine a first intra-prediction identifier corresponding to the current block; a first determination unit configured to determine prediction blocks at at least five positions adjacent to the current block, and to determine M (M is a positive integer) candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to the prediction blocks at at least five positions adjacent to the current block; a first constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction reconstruction unit configured to perform intra prediction and image reconstruction on the current block based on the intra prediction mode list to determine a reconstructed image block corresponding to the current block.
[0010] According to a fourth aspect, an embodiment of the present application provides an encoding device.
[0011] The encoding device a second determination unit configured to determine M (M is a positive integer) candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block; a second constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction unit configured to perform intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block.
[0012] According to a fifth aspect, an embodiment of the present application further provides a decoding device.
[0013] The decoding device a first memory configured to store executable instructions; and a first processor configured to implement a video decoding method according to an embodiment of the present application when executing executable instructions stored in the first memory.
[0014] According to a sixth aspect, an embodiment of the present application further provides an encoding device.
[0015] The encoding device a second memory configured to store executable instructions; and a second processor configured to implement a video encoding method according to an embodiment of the present application when executing executable instructions stored in the second memory.
[0016] The embodiments of the present application provide a bitstream.
[0017] the bit stream is generated by performing bit encoding based on encoding target information; the encoding target information includes coded bits obtained by coding the current block in a first prediction mode and a first intra prediction identifier; The first prediction mode is determining M (M is a positive integer) candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block; constructing an intra prediction mode list based on the M candidate prediction modes; performing intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block; determining the first prediction mode from the M candidate prediction modes based on the current block and the predicted image block.
[0018] An embodiment of the present application provides a computer-readable storage medium.
[0019] The computer-readable storage medium stores a computer program, which, when executed by a first processor, realizes a video decoding method according to an embodiment of the present application, or, when executed by a second processor, realizes a video encoding method according to an embodiment of the present application. [Effects of the Invention]
[0020] The present application provides a video encoding and decoding method, a decoding device, an encoding device, and a computer-readable storage medium. When decoding a current block, the decoding device can determine M candidate prediction modes corresponding to a first intra-prediction mode selected for the current block based on prediction modes corresponding to at least five prediction blocks adjacent to the current block, thereby constructing a unified list of subsequent prediction modes for various intra-prediction modes, and further performing intra-prediction and image reconstruction on the current block based on the M candidate prediction modes to determine a reconstructed image block corresponding to the current block. This reduces decoding complexity, improves decoding efficiency, and further enhances decoding performance. [Brief explanation of the drawings]
[0021] [Figure 1] FIG. 1 is a schematic diagram of 1 to 67 types of conventional intra prediction mode angles. [Figure 2] FIG. 1 is a structural block diagram of an encoding device according to an embodiment of the present application; [Figure 3] FIG. 1 is a structural block diagram of a decoding device according to an embodiment of the present application; [Figure 4] 1 is a schematic diagram of a network architecture of an encoding / decoding system according to an embodiment of the present application; [Figure 5] 3 is an optional flowchart of a decoding method according to an embodiment of the present application; [Figure 6] 1 is a selective schematic diagram of a predicted block in a proximal position of a current block according to an embodiment of the present application; [Figure 7] 1 is a selective schematic diagram of a predicted block in a proximal position of a current block according to an embodiment of the present application; [Figure 8] 1 is a selective schematic diagram of a predicted block in a proximal position of a current block according to an embodiment of the present application; [Figure 9] 3 is an optional flowchart of a decoding method according to an embodiment of the present application; [Figure 10] 1 is a schematic diagram of 64 types of division modes in the geometric division mode according to an embodiment of the present application. [Figure 11] FIG. 2 is a schematic diagram of a template region and reference rows and columns for generating predictions used in a template-based intra-mode derivation technique according to an embodiment of the present application. [Figure 12] FIG. 2 is a schematic diagram of the steps of deriving intra prediction modes by decoding-side intra mode derivation according to an embodiment of the present application; [Figure 13] FIG. 2 is a schematic diagram of four lines of reference pixels around a current block in a multi-reference line intra prediction technique according to an embodiment of the present application; [Figure 14] FIG. 2 is a schematic diagram of a template and each reference line around a current block in a template-based multi-reference line intra prediction technique according to an embodiment of the present application; [Figure 15] 3 is an optional flowchart of a decoding method according to an embodiment of the present application; [Figure 16] 10 is a schematic diagram illustrating a correspondence relationship between a first-precision candidate angle prediction mode and a second-precision extended candidate angle prediction mode according to an embodiment of the present application. FIG. [Figure 17] FIG. 1 is a schematic diagram of matching a conventional prediction mode to an enhanced angular prediction mode according to an embodiment of the present application. [Figure 18] FIG. 10 is a schematic diagram illustrating mode extension of the extended angle prediction mode ipmExt by incrementing it by −1 and +1 according to an embodiment of the present application. [Figure 19] FIG. 10 is a schematic diagram of a process for screening N candidate prediction modes based on an extended angular prediction mode according to an embodiment of the present application; [Figure 20] 1 is an optional flowchart of an encoding method according to an embodiment of the present application; [Figure 21] FIG. 1 is a structural schematic diagram of a decoding device according to an embodiment of the present application; [Figure 22]FIG. 10 is another structural schematic diagram of a decoding device according to an embodiment of the present application; [Figure 23] FIG. 1 is a structural schematic diagram of an encoding device according to an embodiment of the present application; [Figure 24] FIG. 2 is another structural schematic diagram of an encoding device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0022] Hereinafter, the technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application. It should be noted that the specific embodiments described herein are only for the purpose of illustrating the related applications and are not intended to limit the present application. For the sake of convenience, only the parts relevant to the related applications are shown in the drawings.
[0023] In addition, the terms "first," "second," "third," etc. used throughout the specification are merely used to distinguish between different features and are not limitations on functions such as priority, order, or magnitude.
[0024] The nouns and terms related to the examples of this application will be explained below. The nouns and terms related to the examples of this application will be consistent with the following content.
[0025] 1) ECM ECM is software based on VTM-10.0, and various new tools have been integrated into ECM to further improve encoding / decoding performance.
[0026] 2) Decoding side intra mode derivation Decoder-side intra mode derivation is referred to as DIMD.
[0027] 3) Template-based intra-mode derivation Template-based intra mode derivation is referred to as TIMD.
[0028] 4) Most Probable Mode (Intra) The most probable modes (intra) are called MPMs.
[0029] 5) Second Most Probable Mode (Intra) The second most probable mode (intra) is the Secondary MPM, also called SMPM.
[0030] 6) Multi-reference line intra prediction The multi-reference line intra prediction is a Multiple Reference Line (MRL) intra prediction, and is referred to as MRL.
[0031] 7) Template-based multi-reference intra-line prediction Template-based multiple reference line intra prediction is referred to as TMRL.
[0032] 8) Geometric division mode The geometric partitioning mode is called GPM.
[0033] 9) Space (intra) geometric division mode The spatial (intra) geometric partitioning mode is called the spatial geometric partitioning mode (SGPM).
[0034] 10) Matrix-weighted intra prediction Matrix weighted intra prediction is referred to as MIP.
[0035] 11) Intra-template matching prediction Intra template matching prediction is referred to as TMP.
[0036] Digital video compression technology mainly compresses massive digital video data for transmission, storage, etc. With the rapid growth of Internet video and people's increasingly higher demands for video resolution, even though existing digital video compression standards can save video data, there is currently a need to develop better digital video compression technology to reduce the bandwidth and traffic load in digital video transmission.
[0037] Video compression involves multiple modules, such as intra-prediction (spatial domain) and / or inter-prediction (temporal domain) to reduce or remove redundancy in video, transform quantization and inverse transform dequantization of residual information, and in-loop filtering and entropy coding to improve subjective and objective reconstruction quality. Most mainstream video compression standards describe block-based compression techniques. A video slice (a frame or series of pictures) is divided into basic units (CTUs) and then further divided into blocks (CUs). Intrablocks are predicted using neighboring pixels, while interblocks use information from spatially neighboring blocks and reference information in other frames. Compared to prediction information, residual information is encoded into a bitstream using block-based transforms, quantization, and entropy coding. These techniques are described in standards and implemented in various fields related to video compression. Internationally, mainstream standards include H.264 / Advanced Video Coding (AVC), H.265 / High Efficiency Video Coding (HEVC), H.266 / Versatile Video Coding (VVC) and extensions of these standards, and by implementing these technologies, video devices can achieve more efficient video encoding / decoding and transmission / storage.
[0038] Here, the intra prediction process typically involves predicting the current coding block using various angular and non-angular prediction modes to obtain a predicted block, screening the optimal prediction mode for the current coding unit based on rate-distortion information calculated based on the predicted block and the original block, and then transmitting the optimal prediction mode to the decoding side via a bitstream. The decoding side analyzes the prediction mode, predicts a predicted image for the current decoding block, and convolves the residual pixels transmitted via the bitstream to obtain a reconstructed image. With the development of conventional digital video coding and decoding standards, non-angular prediction modes are relatively stable, including average mode and planar mode. Meanwhile, the number of angular prediction modes increases with the development of digital video coding and decoding standards. Taking the international digital video coding standard H series as an example, the H.264 / AVC standard has eight conventional angular prediction modes and one conventional non-angular prediction mode. H.265 / HEVC has been expanded to 33 conventional angular prediction modes and two conventional non-angular prediction modes. In H.266 / VVC, conventional intra prediction modes include a planar mode, a DC mode, and 65 types of angle prediction modes, as shown in FIG.
[0039] Currently, MPM, TMRL, and TIMD all need to refer to the prediction modes selected for prediction blocks surrounding the current block when constructing an intra candidate prediction mode list, but the three construct the intra candidate prediction mode list in different ways. Therefore, supporting various different methods for constructing an intra candidate prediction mode list increases the complexity of software and hardware and reduces encoding / decoding efficiency.
[0040] Also, currently, when TIMD mode uses multi-reference line prediction, there is a potential situation where it overlaps with the intra mode and reference line selected for TMRL, which wastes certain codewords and reduces encoding / decoding efficiency.
[0041] In addition, the current TMRL mode only supports 65 types of angle prediction modes, which means that the number of angle prediction modes is small and the prediction accuracy is not high, resulting in reduced encoding and decoding accuracy.
[0042] As mentioned above, the current intra prediction process has low coding / decoding efficiency and low accuracy, which reduces coding / decoding performance.
[0043] The embodiments of the present application provide a video encoding / decoding method, a decoding device, an encoding device, and a computer-readable storage medium, which can improve the performance of video encoding / decoding. Hereinafter, each embodiment of the present application will be described in detail with reference to the accompanying drawings.
[0044] 2 is a structural block diagram of an encoding device according to an embodiment of the present application. As shown in FIG. 2, the encoding device (specifically, a "video encoding device") 50 may include a transform and quantization unit 501, an intra estimation unit 502, an intra prediction unit 503, an inter prediction unit 504, a motion estimation unit 505, an inverse transform and inverse quantization unit 506, a filter control analysis unit 507, a filtering unit 508, an encoding unit 509, and a decoded image buffer unit 510. Here, the filtering unit 508 can realize deblocking filtering and sample adaptive offset (SAO) filtering, and the encoding unit 509 can realize header information coding and context-based adaptive binary arithmetic coding (CABAC). After an input original video signal is divided by a coding tree unit (CTU) to obtain a video coding block, a transform / quantization unit 501 transforms the video coding block based on residual pixel information obtained through intra or inter prediction, specifically, transforming the residual information from the pixel domain to the transform domain and quantizing the obtained transform coefficients, thereby further reducing the bit rate. The intra estimation unit 502 and the intra prediction unit 503 are configured to perform intra prediction on the video coding block, in other words, the intra estimation unit 502 and the intra prediction unit 503 are configured to determine an intra prediction mode for encoding the video coding block. The inter prediction unit 504 and the motion estimation unit 505 are configured to perform inter prediction coding of the received video coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information.The motion estimation by the motion estimation unit 505 is a process of generating a motion vector, which is used to estimate the motion of the video coding block. The motion estimation unit 504 can then perform motion compensation based on the motion vector determined by the motion estimation unit 505. Therefore, the inter prediction unit 504 is also called a motion compensation unit. After the intra prediction mode is determined, the intra prediction unit 503 is further configured to provide the selected intra prediction data to the encoding unit 509, and the motion estimation unit 505 is further configured to send the calculated motion vector data to the encoding unit 509. The inverse transform and inverse quantization unit 506 is used to reconstruct the video coding block, and is configured to reconstruct a residual block in the pixel domain, the reconstructed residual block is subjected to block distortion removal by the filter control analysis unit 507 and the filtering unit 508, and then the reconstructed residual block is added to a prediction block in a frame of the decoded image buffer unit 510 to generate a reconstructed video coding block. The encoding unit 509 encodes various coding parameters and quantized transform coefficients, and in a CABAC-based encoding algorithm, context content, which may be based on neighboring coding blocks, can be used to encode information indicating a determined intra-prediction mode and output a bitstream of the video signal. The decoded image buffer unit 510 is configured to store reconstructed video coding blocks for prediction and reference. As video image encoding progresses, new reconstructed video coding blocks are constantly generated, and these reconstructed video coding blocks are stored in the decoded image buffer unit 510.
[0045] FIG. 3 is a structural block diagram of a decoding device according to an embodiment of the present application. As shown in FIG. 3, the decoding device (specifically, a "video decoding device") 60 includes a decoding unit 601, an inverse transform and inverse quantization unit 602, an intra prediction unit 603, an inter prediction unit 604, a filtering unit 605, and a decoded image buffer unit 606. Here, the decoding unit 601 realizes header information decoding and CABAC decoding, and the filtering unit 605 realizes deblocking filtering and SAO filtering. After an input video signal undergoes the encoding process of FIG. 2, a bitstream of the video signal is output. The bitstream is input to the decoding device 60 and first passes through the decoding unit 601, which is configured to obtain decoded transform coefficients. The transform coefficients are processed by the inverse transform and inverse quantization unit 602 to generate a residual block in the pixel domain. The intra prediction unit 603 is configured to generate prediction data for a current video decoding block based on a determined intra prediction mode and data of a previously decoded block from the current frame or picture. The inter prediction unit 604 is configured to analyze the motion vectors and other related syntax elements to determine prediction information to be used for the video decoded block and use the prediction information to generate a prediction block for the video decoded block being decoded. The residual block from the inverse transform and inverse quantization unit 602 is added to the corresponding prediction block generated by the intra prediction unit 603 or the inter prediction unit 604 to form a decoded video block. The decoded video signal may be filtered by a filtering unit 605 to remove block artifacts and improve video quality. The decoded video block is then stored in a decoded image buffer unit 606, which stores reference images used for subsequent intra prediction or motion compensation, and is also used to output a video signal, i.e., obtain a reconstructed original video signal.
[0046] Furthermore, an embodiment of the present application further provides a network architecture of an encoding / decoding system including an encoding device and a decoding device. FIG. 4 is a schematic diagram of the network architecture of an encoding / decoding system according to an embodiment of the present application. As shown in FIG. 4, the network architecture includes one or more electronic devices 13-1N and a communication network 01. Here, the electronic devices 13-1N can perform video interaction via the communication network 01. When implemented, the electronic devices may be devices with various types of video encoding / decoding functions. For example, the electronic devices may include smartphones, tablet computers, personal computers, personal digital assistants, navigators, digital telephones, videophones, televisions, sensing devices, servers, etc., and the embodiment of the present application is not specifically limited. Here, the decoding device or encoding device according to the embodiment of the present application may be the above-mentioned electronic devices.
[0047] It should be noted that the method according to the embodiment of the present application is mainly applied to the part of the intra prediction unit 503 shown in Fig. 2 and the part of the intra prediction unit 603 shown in Fig. 3. That is, the embodiment of the present application may be applied to an encoding device, a decoding device, or simultaneously to an encoding device and a decoding device, but the embodiment of the present application is not specifically limited thereto.
[0048] When applied to the intra prediction unit 503, the term "current block" specifically refers to a coded block on which intra prediction is currently being performed, and when applied to the intra prediction unit 504, the term "current block" specifically refers to a decoded block on which intra prediction is currently being performed.
[0049] In one embodiment of the present application, Figure 5 is a flowchart of a decoding method according to an embodiment of the present application. The method may include the following steps:
[0050] Step S101 analyzes the bitstream to determine a first intra-prediction identifier corresponding to the current block.
[0051] In S101, the decoding device receives a bitstream transmitted from the encoding device, and analyzes the bitstream to obtain a current block in the bitstream.
[0052] In some embodiments, the current block may be a current coding unit (CU), a current transform unit (TU), a current prediction unit (PU), a current coding block (CB), etc., and the embodiments of the present application are not particularly limited thereto.
[0053] In embodiments of the present application, the first intra-prediction identifier is used to represent an intra-prediction technique corresponding to the current block. In some embodiments, the first intra-prediction identifier may include a multi-reference line intra-prediction identifier. Exemplarily, the first intra-prediction identifier may include any one of a template-based multi-reference line intra-prediction identifier (TMRL-related identifier), a most probable intra-prediction identifier (MPM-related identifier), and a template-based intra-mode derivation identifier (TIMD-related identifier).
[0054] In some embodiments, the decoding device may parse a syntax element associated with the MRL tool in the bitstream to determine the first intra-prediction identifier. Exemplarily, the decoding device may parse a cu_tmrl_flag flag bit in the bitstream. Here, cu_tmrl_flag equal to 1 indicates that the first intra-prediction identifier is a template-based multi-reference line prediction mode, i.e., the intra-prediction type of the luma sample corresponding to the current block is the template-based multi-reference line prediction mode. Cu_tmrl_flag equal to 0 indicates that the first intra-prediction identifier is not a template-based multi-reference line prediction mode. Exemplarily, intra-prediction may be performed by combining the intra-prediction mode derived in the TIMD with non-adjacent reference lines in the MRL.
[0055] S102 determines M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at least five positions adjacent to the current block.
[0056] In embodiments of the present application, predictive blocks adjacent to a current block typically have a strong correlation with the current block, so that the intra-prediction modes of the adjacent predictive blocks are likely to be the same as or similar to the intra-prediction mode corresponding to the current block. In some embodiments, the decoding device may determine prediction modes corresponding to predictive blocks at at least five positions adjacent to the current block, and determine M candidate prediction modes based on the prediction modes corresponding to the predictive blocks at the at least five positions. Here, the range adjacent to the current block may include a nearby region reconstructed around the current block and used to provide reference information for the intra-prediction mode of the current block. For example, it may include a region within a predetermined distance around the current block. The predictive block is a reconstructed image block at a nearby position of the current block.
[0057] In some embodiments, the decoding device may determine prediction modes corresponding to prediction blocks at five positions adjacent to the current block. For example, the position coordinates of the upper left corner of the current block are (0,0), and the five positions adjacent to the current block are respectively upper left (-1,-1), upper 0 (width-1,-1), upper right (width,-1), left 0 (-1,height-1), and lower left (-1,height). Here, width and height are the width and height of the current block, respectively. For example, the prediction blocks at the above five positions may be as shown in FIG. 6.
[0058] In some embodiments, the decoding device can determine prediction modes corresponding to seven positions of prediction blocks adjacent to the current block. For example, the position coordinates of the upper left corner of the current block are (0,0), and the seven positions adjacent to the current block are respectively upper left (-1,-1), upper 1 (0,1), upper 0 (width-1,-1), upper right (width,-1), left 1 (-1,0), left 0 (-1,height-1) and lower left (-1,height). For example, the prediction blocks at the seven positions may be as shown in FIG. 7.
[0059] In some embodiments, the decoding device can determine prediction modes corresponding to prediction blocks at nine positions adjacent to the current block. For example, the position coordinates of the upper left corner of the current block are (0,0), and the nine positions adjacent to the current block are respectively: upper left (-1,-1), upper 1 (0,1), upper 2 (width / 2-1,-1), upper 0 (width-1,-1), upper right (width,-1), left 1 (-1,0), left 2 (-1,height / 2-1), left 0 (-1,height-1), and lower left (-1,height). For example, the prediction blocks at the above nine positions may be as shown in FIG. 8.
[0060] In some embodiments, the decoding device may determine prediction modes corresponding to prediction blocks at all positions close to the current block, e.g., all prediction blocks within a predetermined distance around the current block.
[0061] In some embodiments, the decoding device may determine a prediction mode corresponding to an adjacent predictive block corresponding to the current block. Here, the adjacent predictive block corresponding to the current block may include a predictive block adjacent to the boundary of the current block within a predetermined distance range. Figures 6 to 8 above show some examples of adjacent predictive blocks corresponding to the current block. In actual applications, more predictive blocks may be included, for example, 11 or 13 predictive blocks adjacent to the current block. The specific selection may be made according to actual situations, and the embodiments of the present application are not limited thereto.
[0062] In some embodiments, the decoding device may determine a prediction mode corresponding to a non-adjacent predictive block corresponding to the current block. Here, the non-adjacent predictive block corresponding to the current block may include a predictive block that is not adjacent to the boundary of the current block within a predetermined distance range. Because the non-adjacent predictive block is still within the predetermined distance range corresponding to the current block and has a strong correlation with the intra prediction mode of the current block, the decoding device may determine a candidate prediction mode corresponding to the current block by referring to the prediction mode of the non-adjacent predictive block.
[0063] In addition, because the size of the current block is different and the division status of the peripheral blocks is different, the number of prediction blocks adjacent to the current block is also different.Therefore, there may be only one prediction block corresponding to two or more positions among the at least five positions.In this case, the prediction mode corresponding to the prediction block may be the prediction mode commonly corresponding to two or more positions, and there is no need to add more peripheral prediction blocks.
[0064] In the embodiment of the present application, M is a positive integer. The decoding device may determine M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at least five positions adjacent to the determined current block according to the above method.
[0065] In some embodiments, the MPM may determine M candidate prediction modes based on prediction modes corresponding to prediction blocks at at least five positions by constructing an MPM list and a Secondary MPM list in the MPM.
[0066] Illustratively, the MPM list and the Secondary MPM list are lists of length 6 and length 16, respectively, and the MPM list lists the candidate intra-prediction modes most likely to be selected for the current prediction block. Illustratively, these candidate intra-prediction modes may be determined based on the intra-prediction modes selected for the prediction blocks at the five positions shown in FIG. 6 and the intra-prediction modes close to them. Here, the prediction blocks at the five positions closest to the current block may be the prediction blocks at the other five positions. Specifically, the selection is based on the actual situation, and the embodiments of the present application are not limited thereto. Of the six intra-prediction modes in the MPM list, the Planar mode is always first in the MPM list, and the remaining five intra-prediction modes are sequentially determined according to steps a) to c). If there are more than five intra-prediction modes, the extra intra-prediction modes are automatically added to the Secondary MPM list.
[0067] Step a) determines the prediction modes selected for the five prediction blocks at five positions around the current block as candidate intra-prediction modes.
[0068] Step b) determines a mode derived based on the gradient histogram of reconstructed pixels around the current block as a candidate intra prediction mode.
[0069] Step c) determines an angular prediction mode related to the two angular prediction modes first derived in step a) and step b) as a candidate intra prediction mode.
[0070] If the candidate intra-prediction modes determined in the above steps are insufficient to fill all of the MPM list and the Secondary MPM list, the intra-prediction modes in the specified intra-prediction mode list are used as candidate intra-prediction modes to fill all of the MPMs and Secondary MPMs without overlapping, i.e., M=22 candidate prediction modes are obtained.
[0071] In some embodiments, the predetermined intra-prediction mode list is the mpm_default
[20] list, which includes 20 angular prediction modes, i.e., mpm_default
[20] ={50, 18, 46, 54, 14, 22, 42, 58, 10, 26, 38, 62, 6, 30, 34, 66, 2, 48, 52, 16}.
[0072] In some embodiments, M candidate prediction modes may be determined based on the construction manner of the MPM list and the secondary MPM list, by eliminating conventional intra prediction modes such as planar mode, DC mode, horizontal mode, and vertical mode, etc. Specifically, the M candidate prediction modes may be selected according to actual situations, but the embodiments of the present application are not limited thereto.
[0073] In some embodiments, based on FIG. 5, as shown in FIG. 9, S102 may be realized by the processes of S1021 to S1023 as follows.
[0074] S1021 determines the value of M based on the first intra-prediction identifier.
[0075] In the embodiment of the present application, the M candidate prediction modes correspond to the candidate prediction mode list to be constructed. The length of the candidate prediction mode list to be constructed, i.e., the number of candidate prediction modes, varies depending on the intra prediction technology. For example, if the first intra prediction identifier represents MPM, M may be 22, and if the first intra prediction identifier represents TMRL, M may be 6.
[0076] S1022 determines a current position among the at least five positions based on a predetermined position order.
[0077] In an embodiment of the present application, for different first intra-prediction identifiers, such as MPM or TMRL, the decoding device may sequentially determine prediction blocks corresponding to at least five positions according to a unified predetermined position order, and determine M candidate prediction modes based on the prediction modes corresponding to the prediction blocks at the respective positions, where the current position is the position determined in the at least five positions according to the predetermined position order each time a prediction mode is derived by a prediction block adjacent to the current block.
[0078] For example, the decoding device may derive at least one candidate prediction mode based on the prediction blocks at each position based on a predetermined position order of left prediction block 0, top prediction block 0, top-left prediction block, bottom-left prediction block, and top-right prediction block, and determine M candidate prediction modes based on the candidate prediction modes derived by the prediction blocks at the above five positions and related candidate prediction modes.
[0079] S1023 determines at least one candidate prediction mode based on the prediction mode of the prediction block at the current position until M candidate prediction modes are determined based on each of the at least five positions.
[0080] In an embodiment of the present application, the decoding device may derive at least one candidate prediction mode corresponding to the prediction block at the current position based on the prediction mode of the prediction block at the current position, and the decoding device derives the candidate prediction mode based on the prediction block at each of at least five positions until M candidate prediction modes are determined.
[0081] Currently, in ECM, multi-reference line prediction mode can be used together with only five non-planar modes in MPM. In some embodiments of the present application, template-based multi-reference line prediction is not associated with MPM, and determines M candidate prediction modes based on prediction modes selected for prediction blocks at at least five positions around the current block, i.e., constructs a candidate prediction mode list. The final intra prediction mode is selected from the candidate prediction mode list.
[0082] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S01 as follows.
[0083] S01, when the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, determines a corresponding angular prediction mode as at least one candidate prediction mode based on the partition direction of the prediction block at the current position.
[0084] In the embodiment of the present application, the spatial geometric partitioning mode (SGPM) is an intra-split prediction mode, in which an intra block to be predicted is divided into two parts, and the two parts can use different intra prediction modes. The SGPM is derived from the GPM, and the GPM is an inter-split prediction mode, in which an inter block to be predicted is divided into two parts, and the two parts can be predicted using different intra prediction or inter prediction modes. In the ECM, the GPM supports 64 types of partitioning modes, as shown in FIG. 10. In the ECM reference software, the SGPM supports a total of 26 different directions or positions of partitioning compared to the GPM.
[0085] The 64 partition modes supported by GPM include a total of 32 partition angles, and these 32 partition angles and conventional intra prediction angles can be associated according to Table 1 as follows:
[0086] [Table 1]
[0087] In Table 1, angleIdx represents 32 types of division angles, and intraMode represents an index of 67 types of conventional intra prediction modes (planar mode, DC mode, and 65 types of angle prediction modes).
[0088] In an embodiment of the present application, if the prediction block at the current position is an intra prediction block and the SGPM mode is selected for the prediction block, the intra prediction angle corresponding to the division direction of the SGPM mode may be determined based on Table 1, and the angle prediction mode may be determined as a candidate prediction mode, i.e., entered into the candidate prediction mode list.
[0089] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S02 as follows.
[0090] S02 determines, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, two intra prediction modes corresponding to the two partition blocks of the prediction block at the current position as at least one candidate prediction mode.
[0091] In an embodiment of the present application, if the prediction block at the current position is an intra-prediction block and an SGPM mode is selected for the prediction block, different intra-prediction modes selected for the two blocks divided by SGPM may be entered into a candidate list.
[0092] For example, if the prediction block at the current position is an intra-prediction block and the SGPM mode is selected for the prediction block, the two prediction parts into which the prediction block is divided by SGPM are determined based on Figure 10, and candidate prediction modes are determined based on the intra-prediction modes selected for each of the two divided prediction parts, i.e., they are entered into a candidate prediction mode list.
[0093] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S03 as follows.
[0094] S03, when the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, determines a corresponding angular prediction mode as at least one candidate prediction mode based on the partition direction of the prediction block at the current position.
[0095] In an embodiment of the present application, if the prediction block at the current position is an inter-prediction block and a GPM mode is selected for the prediction block, the intra-prediction angle corresponding to the division direction of the GPM mode is determined based on Table 1, and the angle prediction mode may be determined as a candidate prediction mode, i.e., entered into the candidate prediction mode list.
[0096] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S04 as follows.
[0097] S04 determines, when the prediction block at the current position is an inter prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, two intra prediction modes corresponding to the two partition blocks of the prediction block at the current position as at least one candidate prediction mode.
[0098] In an embodiment of the present application, if the prediction block at the current position is an inter-prediction block and a GPM mode is selected for the prediction block, then, based on FIG. 10, two prediction parts into which the prediction block is divided by GPM are determined, and candidate prediction modes are determined based on the intra-prediction modes selected for each of the two divided prediction parts, i.e., are entered into a candidate prediction mode list.
[0099] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S04 as follows.
[0100] S04 determines at least one candidate prediction mode based on at least two prediction modes derived by template-based intra mode derivation when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a template-based intra mode derivation mode.
[0101] In the embodiments of the present application, the template-based intra mode derivation (TIMD) mode is a technique for deriving one or more conventional intra prediction modes using information on intra prediction modes derived from pixel values of several reconstructed lines surrounding the prediction block.
[0102] In the ECM-7.0 reference software, the TIMD derivation method can derive up to four intra prediction modes, which are TIMD mode (timd Mode), second TIMD mode (timd Secondary Mode), TIMD horizontal mode (timd Ver), and TIMD vertical mode (timd Hor).
[0103] TIMD can derive an intra prediction mode according to the magnitude of the cost value at the template position. Here, the sum of absolute transformed differences (SATD) may be used as the cost value. As shown in FIG. 11 , the top L2 rows of the current block are the top template, the left L1 column is the left template, and reconstructed pixel values (Reference of the template) in one row outside the template region are used as reference pixels, and prediction is performed in the template region using a predetermined intra prediction mode. In the template region, the SATD between the prediction result of a predetermined prediction mode and the reconstructed value becomes the cost value. Here, the TIMD mode is the mode that minimizes the SATD sum value in the top template and the left template. The second TIMD mode is the mode that minimizes the SATD sum value in the top template and the left template. The TIMD vertical mode is the mode that minimizes the SATD value in the top template. The TIMD horizontal mode is the mode that minimizes the SATD value in the left template.
[0104] In an embodiment of the present application, if the prediction block at the current position is an intra-prediction block and TIMD is selected for the prediction block, at least two prediction modes out of the four prediction modes derived by TIMD may be determined as candidate prediction modes corresponding to the prediction block at the current position.
[0105] In some embodiments, the at least two prediction modes include at least two of the intra prediction mode with the smallest cost value (i.e., the TIMD mode), the intra prediction mode with the next smallest cost value (i.e., the second TIMD mode), a horizontal intra prediction mode (i.e., the TIMD horizontal mode), and a vertical intra prediction mode (i.e., the TIMD vertical mode).
[0106] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S05 as follows.
[0107] S05 determines at least one candidate prediction mode based on at least three types of prediction modes derived by the decoding side intra mode derivation when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is decoding side intra mode derivation.
[0108] In some embodiments, the step of deriving an intra prediction mode by decoding-side intra mode derivation (DIMD) using pixel values of rows and columns T (exemplarily, T is equal to 3) of a reconstructed region around a current block as a template includes steps (a), (b), and (c) as shown in FIG. 12 . (a) Scanning and calculating horizontal and vertical gradients in each 3×3 region on the template using a Sobel operator. (b) Calculating an amplitude value Amp (Amp=Dx+Dy) and an angle value angle (angle=arctan(Dy / Dx)) at each position based on the gradients Dx and Dy calculated in the horizontal and vertical directions. A conventional angular prediction mode is associated with each position on the template based on the angle. A window slide in (b) obtains multiple amplitude values and corresponding angle values of neighboring reconstructed portions, and cumulatively adds up the amplitude values of the same angular prediction mode to obtain a histogram of amplitude values and angular prediction modes. (c) Selecting one or more angular prediction modes in descending order of amplitude values. Here, the one or more angular prediction modes are modes derived by the DIMD. Note that if an angular prediction mode cannot be derived from nearby reconstruction values, the prediction of the DIMD is set to the planar prediction mode. If one or more angular prediction modes are derived, the prediction mode of the DIMD is set to planar and one or more weighted angular prediction modes.
[0109] In an embodiment of the present application, when a prediction block at a current position is an intra-prediction block and DIMD is selected for the prediction block, at least three prediction modes derived by DIMD can be determined as candidate prediction modes corresponding to the prediction block at the current position.
[0110] In addition, in the embodiments of the present application, if the angular prediction mode derived by TIMD and DIMD does not match the predetermined angular accuracy corresponding to the first intra prediction identifier, for example, if it does not match the predetermined angular accuracy corresponding to the TMRL or MPM technology, the angular prediction mode derived by TIMD and DIMD needs to be matched to the predetermined angular accuracy corresponding to the first intra prediction identifier, and the angular prediction mode obtained by matching needs to be determined as a candidate angular prediction mode and entered into the candidate intra prediction mode list.
[0111] In some embodiments, the process of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position in S1023 may be realized by S06 to S07 as follows.
[0112] S06 derives at least one prediction mode based on the prediction block at the current position by decoding side intra mode derivation when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode.
[0113] In an embodiment of the present application, if the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block is a matrix-weighted intra-prediction mode (MIP) or an intra-template matching prediction mode (intra TMP), the intra-prediction mode for the prediction block is derived using DIMD, and the intra-prediction mode derived by DIMD is entered into the candidate intra-prediction mode list as a candidate prediction mode.
[0114] S07 determines at least one candidate prediction mode based on at least one prediction mode derived by the prediction block at the current position.
[0115] In the embodiment of the present application, the decoding device derives at least one prediction mode of the current prediction block based on the above process of S01 to S06, and determines it as at least one candidate prediction mode.
[0116] In some embodiments, when the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at at least five positions does not reach M, the decoding device may perform extension based on each angular prediction mode among the determined candidate prediction modes, and determine the extended angular prediction mode as the candidate prediction mode. For example, when angular prediction mode 18 is determined as the candidate prediction mode in S01 to S06, angular prediction mode 17, angular prediction mode 19, etc. may be determined as the candidate prediction mode.
[0117] In some embodiments, if the number of candidate modes determined by expanding the angle prediction modes still does not reach M, a predetermined angle prediction mode in a predetermined angle prediction mode set is determined as a candidate prediction mode until M candidate prediction modes are determined.
[0118] In some embodiments, the candidate prediction modes among the M candidate prediction modes are non-overlapping, that is, if a prediction mode has already been determined as a candidate prediction mode, i.e., already added to the candidate prediction mode list, in a subsequent process of filling the candidate prediction mode list, the prediction mode will not be added to the candidate prediction mode list again, that is, all the candidate prediction modes among the M candidate prediction modes are unique.
[0119] For example, if the number of all candidate prediction modes determined for the prediction blocks at at least five positions is less than M, the decoding device may extend the angle prediction mode for the currently determined candidate prediction mode, for example, by extending each angle prediction mode by +1 and / or -1. If there are still fewer than M candidate prediction modes, the decoding device may determine, as candidate prediction modes, angles obtained by extending each of the candidate prediction modes derived in steps S01 to S06 by +2 and / or -2. If there are still fewer than M candidate prediction modes, the decoding device may determine, as candidate prediction modes, angles obtained by extending each of the candidate prediction modes derived in steps S01 to S06 by +3 and / or -3. If there are still fewer than M candidate prediction modes, the decoding device may determine, as candidate prediction modes, angles obtained by extending each of the candidate prediction modes derived in steps S01 to S06 by +4 and / or -4. If there are still fewer than M candidate prediction modes, the decoding device may determine, as candidate prediction modes, predetermined intra prediction modes in a predetermined intra prediction mode list, such as mpm_default
[20] , until M candidate prediction modes have been determined.
[0120] Illustratively, taking prediction blocks at five positions as an example, the above processes of S1021 to S1023 may be realized by the following processes.
[0121] If the first intra-prediction identifier is MPM, i.e., the candidate prediction mode list that needs to be currently entered is the MPM list, the decoding device determines M as 22 and places planar mode at the top of the MPM list. Then, it enters the remaining positions in the MPM list in the order of steps 1) to 10) below, thereby determining M candidate prediction modes. If the first intra-prediction identifier is TMRL, i.e., the candidate prediction mode list that needs to be currently entered is the TMRL candidate list, it does not allow planar mode to be added to the intra candidate prediction mode list, and enters the modes in the TMRL candidate list in the order of steps 1) to 10) below, thereby determining M candidate prediction modes. Note that, when entering the candidate prediction mode list in steps 1) to 10), it is necessary to determine whether the number of entered modes is M or less and whether the currently determined candidate prediction modes are non-overlapping modes.
[0122] In step 1), it is determined whether or not each of the left predicted block 0 and the top predicted block 0 is an intra-predicted block. If it is an intra-predicted block, any one of steps 1-1) to 1-3) is executed.
[0123] In step 1-1), if the prediction mode selected for the prediction block is a conventional prediction mode, the conventional prediction mode selected for the prediction block is determined as a candidate prediction mode.
[0124] In step 1-2), if the prediction mode selected for the prediction block is TIMD, the prediction mode derived by TIMD is matched with a conventional prediction mode, and the conventional prediction mode obtained by matching is determined as a candidate prediction mode.
[0125] In step 1-3), if the prediction mode selected for the prediction block is SGPM mode, the angle divided by SGPM is matched with a conventional prediction mode, and the conventional prediction mode obtained by matching is determined as the candidate prediction mode.
[0126] In step 2), it is determined whether the left prediction block 0 and the top prediction block 0 are inter prediction blocks. If the prediction block is an inter prediction block and the prediction mode selected for the prediction block is GPM, the angle divided by the GPM is matched with a conventional prediction mode, and the conventional prediction mode obtained by matching is determined as a candidate prediction mode. Otherwise, the intra prediction mode transmitted to the prediction block is determined as a candidate prediction mode.
[0127] In step 3, it is determined whether the upper left predicted block, the upper right predicted block, and the lower left predicted block are intra-predicted blocks. If they are intra-predicted blocks, any one of steps 3-1) to 3-3) is executed.
[0128] In step 3-1), if the prediction mode selected for the prediction block is a conventional prediction mode, the conventional prediction mode selected for the prediction block is determined as a candidate prediction mode.
[0129] In step 3-2), if the prediction mode selected for the prediction block is TIMD, the prediction mode derived by TIMD is matched with a conventional prediction mode, and the conventional prediction mode obtained by matching is determined as the candidate prediction mode.
[0130] In step 3-3), if the prediction mode selected for the prediction block is SGPM mode, the angle divided by SGPM is matched with a conventional prediction mode, and the conventional prediction mode obtained by matching is determined as a candidate prediction mode.
[0131] In step 4), it is determined whether the upper-left, upper-right, and lower-left predicted blocks are intra-predicted blocks. If they are in GPM mode, the angles divided by GPM are matched with conventional prediction modes, and the conventional prediction modes obtained by matching are determined as candidate prediction modes. Otherwise, the intra-prediction modes transmitted to the corresponding predicted blocks are determined as candidate prediction modes.
[0132] In step 5), if there is a prediction mode with the largest gradient value derived by DIMD, that prediction mode is determined as a candidate prediction mode, and if there is a prediction mode with the next largest gradient value derived by DIMD, that prediction mode is determined as a candidate prediction mode. DC mode is determined as a candidate prediction mode.
[0133] In step 6), angles obtained by extending each of the angle prediction modes in steps 1) to 5) by +1 and -1 are determined as candidate prediction modes. If the number of candidate prediction modes is smaller than M, step 7 is executed.
[0134] In step 7), angles obtained by extending each of the angle prediction modes in steps 1) to 5) by +2 and -2 are determined as candidate prediction modes. If the number of candidate prediction modes is smaller than M, step 8 is executed.
[0135] In step 8), angles obtained by extending each of the angle prediction modes in steps 1) to 5) by +3 and -3 are determined as candidate prediction modes. If the number of candidate prediction modes is smaller than M, step 9 is executed.
[0136] In step 9), angles obtained by extending each of the angle prediction modes in steps 1) to 5) by +4 and -4 are determined as candidate prediction modes. If the number of candidate prediction modes is smaller than M, step 10 is executed.
[0137] Step 10 determines prediction modes in the predetermined intra-prediction mode list as candidate prediction modes until the number of candidate prediction modes reaches M.
[0138] In the related art, non-traditional prediction modes derived from prediction blocks surrounding the current block, such as MIP, intraTMP, GPM, and SGPM, are all entered into the candidate prediction mode list of MPM or TMRL according to the planar mode. In contrast, the embodiments of the present application can convert MIP, intraTMP, GPM, and SGPM into corresponding angular prediction modes, thereby improving the accuracy of candidate prediction modes. Furthermore, while current ECMs select only the intra prediction mode with the smallest TIMD derivation cost value as a candidate prediction mode, the embodiments of the present application can also select the intra prediction mode with the next smallest TIMD derivation cost value, as well as the horizontal and vertical intra prediction modes, thereby expanding the range of candidate prediction modes and contributing to improved prediction accuracy. In addition, in current ECMs, at most two intra-prediction modes derived by DIMD are considered as candidate prediction modes, but the embodiments of the present application can consider at least three of a maximum of five intra-prediction modes derived by DIMD as candidate prediction modes, thereby expanding the range of candidate prediction modes and contributing to improved prediction accuracy.
[0139] S103 constructs an intra prediction mode list based on the M candidate prediction modes, and performs intra prediction and image reconstruction on the current block based on the intra prediction mode list to determine a reconstructed image block corresponding to the current block.
[0140] In an embodiment of the present application, the decoding device may construct an intra-prediction mode list, such as an MPM list or a TMRL list, based on M candidate prediction modes, determine an intra-prediction mode suitable for the current block based on the intra-prediction mode list, and perform intra-prediction and image reconstruction on the current block using the intra-prediction mode to determine a corresponding reconstructed image block.
[0141] In some embodiments, the intra-prediction mode list may be an MPM list, and the decoding device may use the MPM list to perform intra-prediction and image reconstruction on the current block based on the MRL technique to determine a reconstructed image block corresponding to the current block. Here, the MRL intra-prediction technique may perform intra-prediction using Reference line 1 and Reference line 2 as extended reference lines in addition to Reference line 0 of the nearest line, as shown in Figure 13. In some embodiments, to reduce encoding complexity, the MRL may be used only in non-planar modes in MPM.
[0142] In the ECM-6.0 reference software, the MRL tool can use more reference lines, and when a multi-reference line prediction mode is used, in addition to reference line 0, reference lines 1, 3, 5, 7, and 12 may also be used in combination with a non-planar intra mode in the MPM. Note that when a TIMD mode is selected, the use of reference lines 1 and 3 other than reference line 0 may be permitted. The decoding device performs combined prediction using the candidate prediction modes and the above reference lines in the MPM list, determines a combination of a prediction mode and a reference line with a small cost value based on the prediction results of each combination of prediction mode and reference line, and performs prediction and reconstruction on the current block using the combination to determine a reconstructed image block corresponding to the current block.
[0143] In some embodiments, the intra-prediction mode list may be a TMRL list. When the decoding device determines that TMRL is selected for the current block by analyzing the bitstream, the decoding device further analyzes the TMRL list index from the bitstream. During the prediction and reconstruction phase of the current block, the decoding device constructs a TMRL list based on the M candidate prediction modes.
[0144] In some embodiments, a TMRL candidate list of length 10 may be constructed based on six (M=6) candidate prediction modes. The decoding device increments and decrements each angular prediction mode among the six candidate prediction modes by +1 and / or -1 to obtain new TMRL candidate prediction modes and enters them into the TMRL candidate list until 10 TMRL candidate prediction modes are determined, i.e., the TMRL list is filled. For example, as shown in Table 2.
[0145] [Table 2]
[0146] In some embodiments, the predetermined TMRL intra-prediction mode is a plurality of angular prediction modes screened according to statistical rules, and may illustratively include {DC_IDX, VER_IDX, HOR_IDX, VER_IDX-4, VER_IDX+4, 14, 22, 42, 58, 10, 26, 38, 62, 6, 30, 34, 66, 2, 48, 52, 16}, where DC_IDX indicates a DC mode, VER_IDX indicates a vertical mode, HOR_IDX indicates a horizontal mode, and the remaining numbers indicate the corresponding angular prediction modes.
[0147] It should be noted that the length of the TMRL candidate list may be set to 10 to control complexity and performance, or may be set to a larger number of angle prediction modes for performance, or may be set to a smaller number of modes to reduce complexity, and may be selected according to actual circumstances, and the embodiments of the present application are not limited thereto.
[0148] It should be noted that experimental statistics show that the effectiveness of the planar and DC modes is not clear when used with the MRL technology. Therefore, when determining candidate prediction modes in the MPM list or TMRL list, the planar and DC modes may be excluded. Alternatively, if complexity is not a consideration, these two modes may not be excluded. Specific selection may be made according to actual circumstances, and the embodiments of this application are not limited thereto.
[0149] In some embodiments, for TMRL techniques, the decoding device may determine the reference line corresponding to the current block based on the position of the current block in the image. In some embodiments, the reference line corresponding to the current block may include the TMRL extended reference line list. Note that the upper reference line corresponding to the current block does not exceed the upper CTU boundary corresponding to the current block. In ECM, a CTU can extend up to 256x256. Thus, the remainder obtained by dividing the abscissa x of the position of the upper left corner of the current block in the image by 256 is the number of reference lines above within the CTU boundary.
[0150] In some embodiments, among the reference lines 1, 3, 5, 7, and 12 expanded in the ECM, a reference line that is equal to or less than allowedMax may be set as the reference line corresponding to the current block, where allowedMax can be determined by equation (1). allowedMax=max(1,min(12,(x%256)-1)) ……(1)
[0151] In some embodiments, in order to obtain better encoding / decoding performance or reduce complexity, more or fewer reference lines may be adopted, which may be specifically selected according to actual circumstances, and the embodiments of this application are not limited thereto.
[0152] In some embodiments, the decoding device sequentially tries combinations of each reference line and each prediction mode in the TMRL candidate list, predicts these combinations using a template in the row where reference line 0 is located, as shown in FIG. 14, and performs 4- or 6-tap filtering on the reference line and the prediction results. In some embodiments, because TMRL needs to predict the results of multiple combinations in the template, some filtering steps that would normally be required can be omitted or a filter with shorter taps can be used. For example, when generating a prediction value in the template, filtering is not performed on the reference line pixels used, and 4-tap interpolation filtering with 1 / 32 precision is performed on the generated prediction value at a non-integer angle. The decoding device determines corresponding filter coefficients based on the angle prediction mode and reference line for each combination, performs prediction and reconstruction on the template region, determines cost values based on the prediction results and reconstruction results in the template, and selects multiple combinations with low cost values as the TMRL list. For example, 12 combinations with low cost values may be selected as the TMRL list.
[0153] In some embodiments, the decoding device determines a combination of a reference line and a prediction mode specified by the list index in the TMRL list based on the TMRL list index obtained by analyzing the bitstream, and performs prediction and reconstruction on the current block based on the combination to obtain a reconstructed image block corresponding to the current block.
[0154] In an embodiment of the present application, when decoding a current block, the decoding device may determine M candidate prediction modes corresponding to the first intra prediction mode selected for the current block based on prediction modes corresponding to at least five prediction blocks adjacent to the current block. This allows a unified method to be used to construct subsequent prediction mode lists for various intra prediction modes, and may perform intra prediction and image reconstruction on the current block based on the M candidate prediction modes to determine a reconstructed image block corresponding to the current block. This reduces decoding complexity, improves decoding efficiency, and enhances decoding performance.
[0155] In some embodiments, the M candidate prediction modes include at least one candidate angular prediction mode of a first precision. Based on Figure 5, as shown in Figure 15, the step of constructing an intra prediction mode list based on the M candidate prediction modes in the above S103 can be realized by S1031 to S1034 as follows.
[0156] S1031, if the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, determine a reference line corresponding to the current block.
[0157] Here, the decoding device may determine whether template-based multi-reference line intra-prediction (TMRL) is available for the current block by analyzing a TMRL identifier in the bitstream. In some embodiments, the TMRL identifier may include one or more of a general constraints information syntax (GCI), a sequence level identifier, a picture level identifier, a slice level identifier, and a coded block level identifier. If the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, it indicates that TMRL is selected for the current block, and the decoding device determines a reference line corresponding to the current block and performs intra-prediction based on the reference line. The process by which the decoding device determines a reference line corresponding to the current block is similar to the process of determining an extended reference line of TMRL in S103 above, and therefore, description thereof will be omitted here.
[0158] S1032 determines, based on a predetermined correspondence relationship, at least one candidate extended angular prediction mode of a second precision corresponding to the at least one candidate angular prediction mode.
[0159] In an embodiment of the present application, the second precision is higher than the first precision, and the decoding device can match at least one candidate angular prediction mode of the first precision with at least one candidate extended angular prediction mode of the second precision based on a predetermined correspondence relationship to improve the precision of the TMRL candidate prediction modes.
[0160] In some embodiments, the predetermined correspondence relationship includes a correspondence relationship between T predetermined angular prediction modes and T extended angular prediction modes among (2T−1) predetermined extended angular prediction modes, where the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between each two adjacent angular prediction modes among the T angular prediction modes, where T is a positive integer greater than 1.
[0161] In some embodiments, TMRL does not need to decode the angle prediction mode selected in the syntax element identifier, but instead performs screening by template matching, so that TMRL has twice the precision of the conventional angle mode. In practice, TMRL can use higher precision than the conventional angle mode, such as triple precision or quadruple precision, which can be specifically selected according to the actual situation, and the embodiments of the present application are not limited thereto.
[0162] For example, the first precision may be the angular precision in VVC. In VVC, conventional angular prediction has 65 angles, and the corresponding intra-prediction mode indexes range from 2 to 66 (shown as ipm in FIG. 16). In TMRL, the angular prediction mode is derived and does not require additional identification overhead, so that a more precise angle can be used to achieve better encoding / decoding results.
[0163] In the embodiment of the present application, a more precise angle is newly added between each two conventional angles, expanding the total to 129 angles, and the corresponding intra-prediction mode indexes are 2 to 130 (shown as ipmExt in FIG. 16 ). When ipm and ipmExt are equal to 0 and 1, respectively, they represent the planar mode and the DC mode.
[0164] In some embodiments, the matching from the candidate angular prediction mode ipm to the extended candidate angular prediction mode ipmExt can be performed by equation (2) as follows: ipmExt=ipm<2?ipm:(ipm*2)-2 (2)
[0165] In equation (2), ipm<2 means that the candidate angle prediction mode ipm is the planar mode or the DC mode, and precision matching of the angle prediction mode is not required. If ipm<2 is not true, it means that the candidate angle prediction mode ipm is an angle prediction mode, and the part ipmExt=(ipm*2)-2 in equation (2) can be executed to determine the extended candidate angle prediction mode ipmExt corresponding to the candidate angle prediction mode ipm.
[0166] In some embodiments, the process by which the 67 conventional intra prediction modes are matched to the 131 prediction modes of the embodiments of the present application may be as shown in FIG.
[0167] In some embodiments, matching from the extended candidate angular prediction mode ipmExt to the candidate angular prediction mode ipm can be performed accordingly by equation (3) as follows:
[0168] ipm=ipmExt<2?ipmExt:(ipmExt / 2)+1 (3) S1033 determines N candidate prediction modes based on the at least one candidate extended angular prediction mode.
[0169] In an embodiment of the present application, N is a positive integer equal to or greater than M. The decoding device may determine M candidate prediction modes including at least one candidate extended angular prediction mode obtained by precision matching as the N candidate prediction modes, where N is equal to M. Alternatively, the decoding device may perform increase / decrease and extension of the angular prediction modes for the M candidate prediction modes including at least one candidate extended angular prediction mode obtained by precision matching, and perform prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line based on the determined template region and first reference line corresponding to the current block, and determine N candidate prediction modes based on the prediction result.
[0170] In some embodiments, the decoding device may perform angular prediction mode extension based on at least one candidate extended angular prediction mode to determine a plurality of candidate extended angular prediction modes including at least one candidate extended angular prediction mode.
[0171] In some embodiments, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, the decoding device may determine at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to the respective candidate extended angular prediction mode in the predetermined extended angular prediction mode, thereby determining multiple candidate extended angular prediction modes.
[0172] In some embodiments, the decoding device determines at least one initial extension angular prediction mode adjacent to each candidate extension angular prediction mode in a predetermined extension angular prediction mode, and determines a non-overlapping initial extension angular prediction mode among the at least one initial extension angular prediction mode as a candidate extension angular prediction mode. Exemplarily, a process in which the decoding device performs non-overlapping precision extension on each candidate extension angular prediction mode ipmExt may be as shown in FIG. 18 .
[0173] In some embodiments, the decoding device performs prediction using extended reference lines in the template region based on the extended more precise angle prediction mode, as shown in FIG. 19, and screens the N prediction modes with the smallest cost values as N candidate prediction modes.
[0174] S1034 performs combined prediction based on the N candidate prediction modes and the reference line to determine an intra prediction mode list.
[0175] In an embodiment of the present application, the decoding device combines each of the N candidate prediction modes with other extended reference lines, performs prediction and cost value calculation in the template area, compares the cost values of the previously stored N candidate prediction modes with the cost values of extended reference line 1, and selects K combinations of intra prediction modes and extended reference lines in order of decreasing cost value as an intra prediction mode list, the TMRL list.
[0176] In some embodiments, K can be set to 20, which represents a TMRL list length of 20, so the method of encoding and decoding TMRL list indexes remains the same for the improved TMRL.
[0177] When performing angle prediction in a TMRL template region, the embodiment of the present application expands the angle prediction mode from 65 to 129, and therefore uses an interpolation filter with 1 / 64 positional accuracy to predict and interpolate pixels located at sub-pixel positions in the angle mode.
[0178] In addition, the embodiments of the present application improve the accuracy of angle prediction modes in the TMRL list, and further expand the number of modes based on the angle prediction modes with improved accuracy, thereby improving the accuracy of intra prediction using the TMRL list, and ultimately improving decoding accuracy and decoding performance.
[0179] One embodiment of the present application refers to Figure 20. Figure 20 is a flowchart of an encoding method according to an embodiment of the present application. The method may include the following steps:
[0180] S201 determines M candidate prediction modes corresponding to a first intra-prediction identifier based on prediction modes corresponding to prediction blocks at least five positions adjacent to the current block.
[0181] In an embodiment of the present application, when performing intra prediction on a current block, the encoding device may predict the current block using at least one intra prediction technique, calculate corresponding cost values, such as rate-distortion cost values, based on prediction results corresponding to each intra prediction technique, and determine the intra prediction technique to be used to encode the current block based on the cost values. Here, when the encoding device performs intra prediction on the current block using the intra prediction technique based on a first intra prediction identifier, the encoding device may determine M candidate prediction modes corresponding to the first intra prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions neighboring the current block, and construct an intra prediction mode list and perform intra prediction based on the M candidate prediction modes.
[0182] Here, the first intra-prediction identifier may include any one of a template-based multi-reference line intra-prediction identifier (TMRL), a most probable intra-prediction identifier (MPM), and a template-based intra-mode derivation identifier (TIMD).
[0183] In S201, the process of determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block is the same as the process in S102 on the decoding device side, so the explanation is omitted here.
[0184] S202 determines M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to the prediction blocks at the at least five positions.
[0185] In S202, M is a positive integer, and the process of S202 is explained in the same manner as the process of S103 on the decoding device side, so an explanation thereof will be omitted here.
[0186] S203 constructs an intra prediction mode list based on the M candidate prediction modes, and performs intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block.
[0187] In step S203, the process of constructing an intra-prediction mode list based on the M candidate prediction modes and performing intra-prediction on the current block based on the intra-prediction mode list is the same as the related process in step S103 on the decoding device side, so a description thereof will be omitted here. The encoding device determines a predicted image block corresponding to the current block based on the intra-prediction result.
[0188] The encoding device can determine M candidate prediction modes corresponding to the first intra-prediction mode based on prediction modes corresponding to at least five prediction blocks adjacent to the current block, thereby building a unified subsequent prediction mode list for various intra-prediction modes, and then perform intra-prediction on the current block based on the M candidate prediction modes to determine a predicted image block corresponding to the current block, thereby reducing encoding complexity, improving encoding efficiency, and enhancing encoding performance.
[0189] In some embodiments, the encoding device may calculate a cost value based on an error between the current block and the predicted image block, and determine an optimal first prediction mode from the M candidate prediction modes. The encoding device may encode the current block using the first prediction mode, and write the resulting coded bits and the first intra-prediction identifier into a bitstream to transmit to the decoding device.
[0190] In some embodiments, the step of the encoding device determining a prediction block at least five positions adjacent to the current block comprises: Determine the predicted block at the seven nearest positions to the current block, or Determine the predicted blocks at the nine nearest positions to the current block, or Determine the predicted blocks at all positions adjacent to the current block, or An adjacent or non-adjacent predicted block corresponding to the current block is determined as a predicted block.
[0191] In some embodiments, the step of the encoding device determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to the prediction blocks at at least five positions comprises: determining a value of M based on the first intra-prediction identifier; determining a current position among the at least five positions based on a predetermined position order; determining at least one candidate prediction mode based on the prediction mode of the predictive block at the current position until M candidate prediction modes are determined based on each of the at least five positions.
[0192] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: If the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partitioning mode, the method includes a step of determining a corresponding angular prediction mode as at least one candidate prediction mode based on the partitioning direction of the prediction block at the current position.
[0193] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: When the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, the method includes a step of determining two intra prediction modes corresponding to the two partition blocks of the prediction block at the current position as at least one candidate prediction mode.
[0194] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: If the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, the method includes a step of determining a corresponding angular prediction mode as at least one candidate prediction mode based on the partition direction of the prediction block at the current position.
[0195] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: When the prediction block at the current position is an inter prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, the method includes a step of determining two intra prediction modes corresponding to the two partition blocks of the prediction block at the current position as at least one candidate prediction mode.
[0196] In some embodiments, the encoding device includes: determining at least one candidate prediction mode based on a prediction mode of a prediction block at a current position; If the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a template-based intra-mode derivation mode, the method includes a step of determining at least one candidate prediction mode based on at least two prediction modes derived by template-based intra-mode derivation.
[0197] In some embodiments, the at least two prediction modes include at least two of the intra prediction mode with the smallest cost value, the intra prediction mode with the next smallest cost value, a horizontal intra prediction mode, and a vertical intra prediction mode.
[0198] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: When the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is decoding side intra mode derivation, the method includes a step of determining at least one candidate prediction mode based on at least three types of prediction modes derived by decoding side intra mode derivation.
[0199] In some embodiments, the step of determining at least one candidate prediction mode based on the prediction mode of the prediction block at the current position by the encoding device comprises: When the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode, deriving at least one prediction mode based on the prediction block at the current position by decoding-side intra mode derivation; determining at least one candidate prediction mode based on at least one prediction mode derived by the prediction block at the current position.
[0200] In some embodiments, if the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at each of the at least five positions has not reached M, the encoding device performs extension based on each angular prediction mode among the determined candidate prediction modes and determines the extended angular prediction mode as the candidate prediction mode, and if the number of candidate modes determined by extending the angular prediction modes has still not reached M, determines a predetermined angular prediction mode in a predetermined angular prediction mode set as the candidate prediction mode until M candidate prediction modes have been determined.
[0201] In some embodiments, the candidate prediction modes among the M candidate prediction modes do not overlap.
[0202] In some embodiments, the M candidate prediction modes include at least one angular prediction mode of a first precision; The step of constructing an intra-prediction mode list based on the M candidate prediction modes by the encoding device includes: determining a reference line corresponding to the current block if the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier; determining at least one candidate extended angular prediction mode of a second accuracy corresponding to the at least one angular prediction mode based on a predetermined correspondence relationship, wherein the second accuracy is higher than the first accuracy; determining N candidate intra prediction modes (N is a positive integer equal to or greater than M) based on at least one extended angular prediction mode; performing combined prediction based on the N candidate intra prediction modes and the reference line to determine an intra prediction mode list.
[0203] In some embodiments, the predetermined correspondence relationship includes a predetermined correspondence relationship between T predetermined angular prediction modes and T extended angular prediction modes among (2T−1) predetermined extended angular prediction modes, where the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between each two adjacent angular prediction modes among the T angular prediction modes, where T is a positive integer greater than 1.
[0204] In some embodiments, the step of determining N intra candidate prediction modes based on at least one extended angular prediction mode by the encoding device comprises: performing angle prediction mode extension based on the at least one extended angular prediction mode to determine a plurality of candidate extended angular prediction modes including at least one candidate extended angular prediction mode; determining a template region and a first reference line corresponding to the current block; performing prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line, and determining N candidate intra prediction modes based on the prediction result.
[0205] In some embodiments, the step of determining a plurality of candidate extension angular prediction modes including at least one candidate extension angular prediction mode by performing extension of the angular prediction modes based on the at least one candidate extension angular prediction mode by the encoding device includes: The method includes a step of determining, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to the respective candidate extended angular prediction mode in a predetermined extended angular prediction mode, thereby determining a plurality of candidate extended angular prediction modes.
[0206] In some embodiments, the encoding device includes: determining at least one candidate extension angular prediction mode based on at least one extension angular prediction mode neighboring each candidate extension angular prediction mode in a predetermined extension angular prediction mode; determining at least one initial extension angular prediction mode adjacent to each candidate extension angular prediction mode in a predetermined extension angular prediction mode; determining a non-overlapping initial extension angular prediction mode from the at least one initial extension angular prediction mode as a candidate extension angular prediction mode.
[0207] The above-mentioned processing process on the encoding device side is explained in the same manner as the same process on the decoding device side, and therefore the explanation is omitted here.
[0208] Based on the implementation basis of the above embodiment, the embodiment of the present application provides a decoding device 1, as shown in FIG.
[0209] The decoding device 1 a parsing unit 10 configured to parse the bitstream to determine a first intra-prediction identifier corresponding to a current block; a first determination unit 11 configured to determine prediction blocks at at least five positions adjacent to the current block, and determine M (M is a positive integer) candidate prediction modes corresponding to the first intra prediction identifier based on prediction modes corresponding to the prediction blocks at at least five positions adjacent to the current block; a first constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction reconstruction unit 13 configured to perform intra prediction and image reconstruction on the current block based on the intra prediction mode list to determine a reconstructed image block corresponding to the current block.
[0210] In some embodiments, the first determination unit 11 is further configured to determine prediction blocks at seven positions adjacent to the current block, determine prediction blocks at nine positions adjacent to the current block, determine prediction blocks at all positions adjacent to the current block, or determine adjacent or non-adjacent prediction blocks corresponding to the current block as prediction blocks.
[0211] In some embodiments, the first determination unit 11 is further configured to determine a value of M based on the first intra-prediction identifier, determine a current position among the at least five positions based on a predetermined position order, and determine at least one candidate prediction mode based on a prediction mode of a predictive block at the current position until the M candidate prediction modes are determined based on each of the at least five positions.
[0212] In some embodiments, the first determination unit 11 is further configured to, when the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partitioning mode, determine a corresponding angular prediction mode as the at least one candidate prediction mode based on the partitioning direction of the prediction block at the current position.
[0213] In some embodiments, the first determination unit 11 is further configured to determine, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
[0214] In some embodiments, the first determination unit 11 is further configured to, when the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partitioning mode, determine a corresponding angular prediction mode as the at least one candidate prediction mode based on the partitioning direction of the prediction block at the current position.
[0215] In some embodiments, the first determination unit 11 is further configured to determine, when the prediction block at the current position is an inter prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
[0216] In some embodiments, the first determination unit 11 is further configured to, when the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a template-based intra-mode derivation mode, determine the at least one candidate prediction mode based on at least two prediction modes derived by the template-based intra-mode derivation.
[0217] In some embodiments, the at least two prediction modes include at least two of the intra prediction mode with the smallest cost value, the intra prediction mode with the next smallest cost value, a horizontal intra prediction mode, and a vertical intra prediction mode.
[0218] In some embodiments, the first determination unit 11 is further configured to, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is decoding side intra mode derivation, determine the at least one candidate prediction mode based on at least three types of prediction modes derived by the decoding side intra mode derivation.
[0219] In some embodiments, the first determination unit 11 is further configured to, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode, derive at least one prediction mode based on the prediction block at the current position by decoding side intra mode derivation, and determine the at least one candidate prediction mode based on the at least one prediction mode derived by the prediction block at the current position.
[0220] In some embodiments, the first determination unit 11 is further configured to: if the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at each of the at least five positions does not reach M, perform extension based on each angular prediction mode among the determined candidate prediction modes and determine the extended angular prediction mode as the candidate prediction mode; if the number of candidate modes determined by extending the angular prediction modes still does not reach M, determine a predetermined angular prediction mode in a predetermined angular prediction mode set as the candidate prediction mode until the M candidate prediction modes are determined.
[0221] In some embodiments, the candidate prediction modes among the M candidate prediction modes do not overlap.
[0222] In some embodiments, the first intra-prediction identifier is: The identifier includes one of a template-based multi-reference line intra-prediction identifier, a most probable intra-prediction identifier, and a template-based intra-mode derivation identifier.
[0223] In some embodiments, the M candidate prediction modes include at least one candidate angular prediction mode of a first precision; The first construction unit 12 is further configured to, when the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, determine a reference line corresponding to the current block, determine at least one candidate extended angular prediction mode of a second accuracy corresponding to at least one candidate angular prediction mode based on a predetermined correspondence relationship (the second accuracy is higher than the first accuracy), determine N (N is a positive integer greater than or equal to M) candidate prediction modes based on the at least one candidate extended angular prediction mode, and perform combined prediction based on the N candidate prediction modes and the reference line to determine the intra-prediction mode list.
[0224] In some embodiments, the predetermined correspondence relationship includes a correspondence relationship between a predetermined number of T angular prediction modes and a predetermined number of T extended angular prediction modes among (2T−1) extended angular prediction modes, where the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between two adjacent angular prediction modes among the T angular prediction modes, where T is a positive integer greater than 1.
[0225] In some embodiments, the first construction unit 12 is further configured to: extend an angle prediction mode based on the at least one candidate extended angular prediction mode to determine a plurality of candidate extended angular prediction modes including the at least one candidate extended angular prediction mode; determine a template region and a first reference line corresponding to the current block; perform prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line; and determine the N intra candidate prediction modes based on the prediction result.
[0226] In some embodiments, the first construction unit 12 is further configured to determine, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to the respective candidate extended angular prediction mode in a predetermined extended angular prediction mode, thereby determining the plurality of candidate extended angular prediction modes.
[0227] In some embodiments, the first construction unit 12 is further configured to determine at least one initial extension angle prediction mode adjacent to each of the candidate extension angle prediction modes in a predetermined extension angle prediction mode, and to determine a non-overlapping initial extension angle prediction mode among the at least one initial extension angle prediction mode as the candidate extension angle prediction mode.
[0228] In practical application of the present application, as shown in FIG. 22, the embodiment of the present application further provides a decoding device.
[0229] The decoding device a first memory 14 and a first processor 15; The first memory 14 stores a computer program executable by the first processor 15, and when the first processor 15 executes the program, it realizes a video decoding method according to an embodiment of the present application.
[0230] Here, the first processor 15 may be implemented in software, hardware, firmware, or a combination thereof, including a circuit, one or more application specific integrated circuits (ASICs), one or more general-purpose integrated circuits, one or more microprocessors, one or more programmable logic devices, a combination of the above circuits or devices, or any other suitable circuit or device, such that the first processor 15 can perform the relevant steps of the video decoding method according to the embodiment of the present application.
[0231] It should be noted that the above description of the decoding device embodiment is similar to the description of the method embodiment, and has the same technical effects as the method embodiment. Technical details not disclosed in the decoding device embodiment of the present invention can be understood based on the description of the method embodiment of the present invention.
[0232] An embodiment of the present application provides an encoding device 2, as shown in FIG.
[0233] The encoding device 2 a second determination unit configured to determine M candidate prediction modes (M is a positive integer) corresponding to the first intra prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block; a second constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction unit 22 configured to perform intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block.
[0234] In some embodiments, the encoding device 2 further includes an encoding unit configured to determine a first prediction mode from the M candidate prediction modes based on the current block and the predicted image block, encode the current block using the first prediction mode, and write the resulting encoding bits and the first intra-prediction identifier into a bitstream.
[0235] In some embodiments, the second determination unit 20 is further configured to determine a prediction block at seven positions adjacent to the current block, determine a prediction block at nine positions adjacent to the current block, determine a prediction block at all positions adjacent to the current block, or determine an adjacent prediction block or a non-adjacent prediction block corresponding to the current block as the prediction block.
[0236] In some embodiments, the second determination unit 21 is further configured to determine a value of M based on the first intra-prediction identifier, determine a current position among the at least five positions based on a predetermined position order, and determine at least one candidate prediction mode based on a prediction mode of a predictive block at the current position until the M candidate prediction modes are determined based on each of the at least five positions.
[0237] In some embodiments, the second determination unit 20 is further configured to, when the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partitioning mode, determine a corresponding angular prediction mode as the at least one candidate prediction mode based on the partitioning direction of the prediction block at the current position.
[0238] In some embodiments, the second determination unit 20 is further configured to determine, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
[0239] In some embodiments, the second determination unit 20 is further configured to, when the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partitioning mode, determine a corresponding angular prediction mode as the at least one candidate prediction mode based on the partitioning direction of the prediction block at the current position.
[0240] In some embodiments, the second determination unit 20 is further configured to determine, when the prediction block at the current position is an inter prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
[0241] In some embodiments, the second determination unit 20 is further configured to, when the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a template-based intra-mode derivation mode, determine the at least one candidate prediction mode based on at least two prediction modes derived by the template-based intra-mode derivation.
[0242] In some embodiments, the at least two prediction modes include at least two of the intra prediction mode with the smallest cost value, the intra prediction mode with the next smallest cost value, a horizontal intra prediction mode, and a vertical intra prediction mode.
[0243] In some embodiments, the second determination unit 20 is further configured to, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is decoding side intra mode derivation, determine the at least one candidate prediction mode based on at least three types of prediction modes derived by the decoding side intra mode derivation.
[0244] In some embodiments, the second determination unit 20 is further configured to, when the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode, derive at least one prediction mode based on the prediction block at the current position by decoding side intra mode derivation, and determine the at least one candidate prediction mode based on the at least one prediction mode derived by the prediction block at the current position.
[0245] In some embodiments, the second determination unit 20 is configured to, if the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at each of the at least five positions does not reach M, perform extension based on each angular prediction mode among the determined candidate prediction modes and determine the extended angular prediction mode as the candidate prediction mode, and if the number of candidate modes determined by extending the angular prediction modes still does not reach M, determine a predetermined angular prediction mode in a predetermined angular prediction mode set as the candidate prediction mode until the M candidate prediction modes are determined.
[0246] In some embodiments, the candidate prediction modes among the M candidate prediction modes do not overlap.
[0247] In some embodiments, the first intra-prediction identifier is: The identifier includes one of a template-based multi-reference line intra-prediction identifier, a most probable intra-prediction identifier, and a template-based intra-mode derivation identifier.
[0248] In some embodiments, the M candidate prediction modes include at least one candidate angular prediction mode of a first precision; The second construction unit 22 is further configured to, when the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, determine a reference line corresponding to the current block, determine at least one candidate extended angular prediction mode of a second accuracy corresponding to at least one candidate angular prediction mode based on a predetermined correspondence relationship (the second accuracy is higher than the first accuracy), determine N (N is a positive integer greater than or equal to M) candidate prediction modes based on the at least one candidate extended angular prediction mode, and perform combined prediction based on the N candidate prediction modes and the reference line to determine the intra-prediction mode list.
[0249] In some embodiments, the predetermined correspondence relationship includes a correspondence relationship between a predetermined number of T angular prediction modes and a predetermined number of T extended angular prediction modes among (2T−1) extended angular prediction modes, where the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between two adjacent angular prediction modes among the T angular prediction modes, where T is a positive integer greater than 1.
[0250] In some embodiments, the second construction unit 22 is further configured to: extend an angle prediction mode based on the at least one candidate extended angular prediction mode to determine a plurality of candidate extended angular prediction modes including the at least one candidate extended angular prediction mode; determine a template region and a first reference line corresponding to the current block; perform prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line; and determine the N intra candidate prediction modes based on the prediction result.
[0251] In some embodiments, the second construction unit 22 is further configured to determine, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to the respective candidate extended angular prediction mode in a predetermined extended angular prediction mode, thereby determining the plurality of candidate extended angular prediction modes.
[0252] In some embodiments, the second construction unit 22 is further configured to determine at least one initial extension angle prediction mode adjacent to each of the candidate extension angle prediction modes in a predetermined extension angle prediction mode, and to determine a non-overlapping initial extension angle prediction mode among the at least one initial extension angle prediction mode as the candidate extension angle prediction mode.
[0253] In practical application, the embodiment of the present application further provides an encoding device, as shown in FIG.
[0254] The encoding device a second memory 25 and a second processor 26; The second memory 25 stores a computer program executable by the second processor 26, and when the second processor 26 executes the program, it realizes a video encoding method according to an embodiment of the present application.
[0255] It should be noted that the above description of the encoding device embodiment is similar to the description of the above method embodiment, and has the same technical effects as the method embodiment. Technical details not disclosed in the encoding device embodiment of the present invention can be understood based on the description of the method embodiment of the present invention.
[0256] The embodiments of the present application provide a bitstream.
[0257] the bit stream is generated by performing bit encoding based on encoding target information; the encoding target information includes coded bits obtained by coding the current block in a first prediction mode and a first intra prediction identifier; The first prediction mode is determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; constructing an intra prediction mode list based on the M candidate prediction modes; performing intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block; determining the first prediction mode from the M candidate prediction modes based on the current block and the predicted image block.
[0258] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program, which, when executed by a first processor, realizes a video decoding method according to an embodiment of the present application, or which, when executed by a second processor, realizes a video encoding method according to an embodiment of the present application.
[0259] The structural components in the embodiments of the present application may be integrated into one processing unit, each unit may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented as hardware or as a software functional module.
[0260] When the above-mentioned integrated unit is implemented as a software functional module and sold or used instead of an independent product, it may be stored in one computer-readable storage medium. Thus, in the technical solution of this embodiment, an essential part, i.e., a part that contributes to the prior art, or the whole or part of the technical solution may be embodied as a software product, and the computer software product is stored in one storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method according to this embodiment. The above computer-readable storage medium includes various media capable of storing program code, such as a magnetic random access memory (FRAM, ferromagnetic random access memory), a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-Only Memory), an electrically erasable programmable read-only memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM), but the embodiments of the present disclosure are not limited thereto.
[0261] The above are merely embodiments of the present application, and the scope of protection of the present application is not limited thereto. Any modifications or replacements that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application is governed by the scope of the claims. [Industrial Applicability]
[0262] The present application provides a video encoding / decoding method, a decoding device, an encoding device, and a computer-readable storage medium. When encoding / decoding a current block, M candidate prediction modes corresponding to a first intra-prediction mode selected for the current block can be determined based on prediction modes corresponding to at least five predictive blocks adjacent to the current block. This allows a unified method to be used to construct subsequent prediction mode lists for various intra-prediction modes, and intra-prediction of the current block can be performed based on the M candidate prediction modes. This reduces the complexity of encoding / decoding, improves encoding / decoding efficiency, and enhances encoding / decoding performance. Furthermore, the present application improves the accuracy of angle prediction modes in the TMRL list and further expands the number of modes based on the improved angle prediction modes, thereby improving the accuracy of intra-prediction using the TMRL list and ultimately improving decoding accuracy and decoding performance.
Claims
1. 1. A video decoding method comprising: parsing the bitstream to determine a first intra-prediction identifier corresponding to the current block; determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; constructing an intra prediction mode list based on the M candidate prediction modes; and performing intra prediction and image reconstruction on the current block based on the intra prediction mode list to determine a reconstructed image block corresponding to the current block. Video decoding methods.
2. The predicted blocks at least five positions adjacent to the current block are: a predicted block at seven positions adjacent to the current block; a predicted block at nine positions adjacent to the current block; a predicted block at all positions adjacent to the current block, or including an adjacent or non-adjacent predicted block corresponding to the current block; The video decoding method of claim 1 .
3. determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, determining a value of M based on the first intra-prediction identifier; determining a current position of the at least five positions based on a predetermined position order; determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position until the M candidate prediction modes are determined based on each of the at least five positions; A video decoding method according to claim 1 or 2.
4. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, determining a corresponding angular prediction mode based on a partition direction of the prediction block at the current position as the at least one candidate prediction mode; The video decoding method of claim 3.
5. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a spatial geometric partition mode, determining two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
5. The video decoding method of claim 4.
6. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, determining a corresponding angular prediction mode based on a partition direction of the prediction block at the current position as the at least one candidate prediction mode; The video decoding method of claim 3.
7. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an inter prediction block and a prediction mode of the prediction block at the current position is a geometric partition mode, determining two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode. The video decoding method of claim 3.
8. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a template-based intra mode derivation mode, determining the at least one candidate prediction mode based on at least two prediction modes derived by the template-based intra mode derivation. The video decoding method of claim 3.
9. the at least two prediction modes include at least two of an intra prediction mode with a smallest cost value, an intra prediction mode with a next smallest cost value, a horizontal intra prediction mode, and a vertical intra prediction mode; The video decoding method of claim 8.
10. determining at least one candidate prediction mode based on a prediction mode of a prediction block at each of the at least five positions; and when the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a decoding-side intra mode derivation, determining the at least one candidate prediction mode based on at least three types of prediction modes derived by the decoding-side intra mode derivation. The video decoding method of claim 3.
11. determining at least one candidate prediction mode based on a prediction mode of a prediction block at each of the at least five positions; When the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode, deriving at least one prediction mode based on the prediction block at the current position by decoding-side intra mode derivation; determining the at least one candidate prediction mode based on at least one prediction mode derived by a prediction block at the current position; The video decoding method of claim 3.
12. when the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at the at least five positions is less than M, performing extension based on each angular prediction mode among the determined candidate prediction modes, and determining the angular prediction modes obtained by the extension as candidate prediction modes; If the number of candidate modes determined by extending the angular prediction modes is still less than M, determining a predetermined angular prediction mode in a predetermined angular prediction mode set as a candidate prediction mode until the M candidate prediction modes are determined. The video decoding method of claim 3.
13. the candidate prediction modes among the M candidate prediction modes do not overlap; 13. The video decoding method of claim 12.
14. The first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, a most probable intra-prediction identifier, and a template-based intra-mode derivation identifier; A video decoding method according to any one of claims 1, 2, 4 to 11.
15. the M candidate prediction modes include at least one candidate angular prediction mode of a first accuracy; The step of constructing an intra-prediction mode list based on the M candidate prediction modes includes: determining a reference line corresponding to the current block if the first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier; determining at least one candidate extended angular prediction mode of a second accuracy corresponding to the at least one candidate angular prediction mode based on a predetermined correspondence relationship, wherein the second accuracy is higher than the first accuracy; determining N candidate prediction modes based on the at least one candidate extended angular prediction mode, where N is a positive integer greater than or equal to M; determining the intra prediction mode list by performing combined prediction based on the N candidate prediction modes and the reference line; A video decoding method according to any one of claims 1, 2, 4 to 11.
16. the predetermined correspondence relationships include correspondence relationships between predetermined T angular prediction modes and T extension angular prediction modes among predetermined (2T−1) extension angular prediction modes, the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between two adjacent angular prediction modes among the T angular prediction modes; T is a positive integer greater than 1.
16. The video decoding method of claim 15.
17. The step of determining N candidate prediction modes based on the at least one candidate extended angular prediction mode includes: performing an extension of angular prediction modes based on the at least one candidate extension angular prediction mode to determine a plurality of candidate extension angular prediction modes including the at least one candidate extension angular prediction mode; determining a template region and a first reference line corresponding to the current block; performing prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line, and determining the N intra candidate prediction modes based on a prediction result; 16. The video decoding method of claim 15.
18. The step of determining a plurality of candidate extension angular prediction modes including the at least one candidate extension angular prediction mode by performing extension of angular prediction modes based on the at least one candidate extension angular prediction mode includes: determining, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, at least one candidate extended angular prediction mode based on at least one extension angular prediction mode adjacent to the each candidate extended angular prediction mode in a predetermined extension angular prediction mode to determine the plurality of candidate extended angular prediction modes; 20. The video decoding method of claim 17.
19. determining at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to each of the candidate extended angular prediction modes in a predetermined extended angular prediction mode, determining at least one initial extension angular prediction mode adjacent to each of the candidate extension angular prediction modes in a predetermined extension angular prediction mode; determining a non-overlapping initial extension angular prediction mode from the at least one initial extension angular prediction mode as the candidate extension angular prediction mode.
20. The video decoding method of claim 18.
20. 1. A video encoding method comprising: determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; constructing an intra prediction mode list based on the M candidate prediction modes; and performing intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block. Video coding methods.
21. determining a first prediction mode from among the M candidate prediction modes based on the current block and the predicted image block; encoding the current block using the first prediction mode and writing the resulting coded bits and the first intra-prediction identifier to a bitstream.
21. The video encoding method of claim 20.
22. The step of determining prediction blocks at least five positions adjacent to the current block comprises: determining a prediction block at seven positions adjacent to the current block; determining a prediction block at nine positions adjacent to the current block; determining predicted blocks at all positions adjacent to the current block; or determining an adjacent or non-adjacent predicted block corresponding to the current block as the predicted block; 22. Video encoding method according to claim 20 or 21.
23. determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, determining a value of M based on the first intra-prediction identifier; determining a current position of the at least five positions based on a predetermined position order; determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position until the M candidate prediction modes are determined based on each of the at least five positions; 21. The video encoding method of claim 20.
24. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra-prediction block and the prediction mode of the prediction block at the current position is a spatial geometric partition mode, determining a corresponding angular prediction mode based on a partition direction of the prediction block at the current position as the at least one candidate prediction mode; 24. The video encoding method of claim 23.
25. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a spatial geometric partition mode, determining two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
24. The video encoding method of claim 23.
26. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an inter-prediction block and the prediction mode of the prediction block at the current position is a geometric partition mode, determining a corresponding angular prediction mode based on a partition direction of the prediction block at the current position as the at least one candidate prediction mode; 24. The video encoding method of claim 23.
27. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an inter prediction block and a prediction mode of the prediction block at the current position is a geometric partition mode, determining two intra prediction modes corresponding to two partition blocks of the prediction block at the current position as the at least one candidate prediction mode.
24. The video encoding method of claim 23.
28. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a template-based intra mode derivation mode, determining the at least one candidate prediction mode based on at least two prediction modes derived by the template-based intra mode derivation.
24. The video encoding method of claim 23.
29. the at least two prediction modes include at least two of an intra prediction mode with a smallest cost value, an intra prediction mode with a next smallest cost value, a horizontal intra prediction mode, and a vertical intra prediction mode; 29. The video encoding method of claim 28.
30. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: and when the prediction block at the current position is an intra prediction block and a prediction mode of the prediction block at the current position is a decoding-side intra mode derivation, determining the at least one candidate prediction mode based on at least three types of prediction modes derived by the decoding-side intra mode derivation.
24. The video encoding method of claim 23.
31. The step of determining at least one candidate prediction mode based on a prediction mode of a prediction block at the current position includes: When the prediction block at the current position is an intra prediction block and the prediction mode of the prediction block at the current position is a matrix weighted intra prediction mode or an intra template matching prediction mode, deriving at least one prediction mode based on the prediction block at the current position by decoding-side intra mode derivation; determining the at least one candidate prediction mode based on at least one prediction mode derived by a prediction block at the current position; 24. The video encoding method of claim 23.
32. when the number of candidate prediction modes determined based on the prediction modes of the prediction blocks at the at least five positions is less than M, performing extension based on each angular prediction mode among the determined candidate prediction modes, and determining the angular prediction modes obtained by the extension as candidate prediction modes; If the number of candidate modes determined by extending the angular prediction modes is still less than M, determining a predetermined angular prediction mode in a predetermined angular prediction mode set as a candidate prediction mode until the M candidate prediction modes are determined.
24. The video encoding method of claim 23.
33. the candidate prediction modes among the M candidate prediction modes do not overlap; 33. The video encoding method of claim 32.
34. The first intra-prediction identifier is a template-based multi-reference line intra-prediction identifier, a most probable intra-prediction identifier, and a template-based intra-mode derivation identifier; Video encoding method according to any one of claims 20, 21, 23 to 33.
35. the M candidate prediction modes include at least one angular prediction mode of a first accuracy; The step of constructing an intra-prediction mode list based on the M candidate prediction modes includes: If the first intra-prediction identifier is a template-based multi-reference line intra-prediction mode, determining a reference line corresponding to the current block; determining at least one extended angular prediction mode of a second accuracy corresponding to the at least one angular prediction mode based on a predetermined correspondence relationship, the second accuracy being higher than the first accuracy; determining N candidate intra prediction modes based on the at least one extended angular prediction mode, where N is a positive integer greater than or equal to M; performing combined prediction based on the N intra candidate prediction modes and the reference line to determine the intra prediction mode list; Video encoding method according to any one of claims 20, 21, 23 to 33.
36. the predetermined correspondence relationships include predetermined correspondence relationships between predetermined T angular prediction modes and T extended angular prediction modes among predetermined (2T−1) extended angular prediction modes, the (2T−1) extended angular prediction modes are obtained by extending one angular prediction mode between two adjacent angular prediction modes among the T angular prediction modes; T is a positive integer greater than 1.
36. A video encoding method according to claim 35.
37. The step of determining N intra prediction modes based on the at least one extended angular prediction mode includes: performing an extension of an angular prediction mode based on the at least one extension angular prediction mode to determine a plurality of candidate extension angular prediction modes including the at least one candidate extension angular prediction mode; determining a template region and a first reference line corresponding to the current block; performing prediction in the template region based on a combination of each of the plurality of candidate extended angular prediction modes and the first reference line, and determining the N intra candidate prediction modes based on a prediction result; 36. A video encoding method according to claim 35.
38. The step of determining a plurality of candidate extension angular prediction modes including the at least one candidate extension angular prediction mode by performing extension of angular prediction modes based on the at least one candidate extension angular prediction mode includes: determining, for each candidate extended angular prediction mode among the at least one candidate extended angular prediction mode, at least one candidate extended angular prediction mode based on at least one extension angular prediction mode adjacent to the each candidate extended angular prediction mode in a predetermined extension angular prediction mode to determine the plurality of candidate extended angular prediction modes; 38. A video encoding method according to claim 37.
39. determining at least one candidate extended angular prediction mode based on at least one extended angular prediction mode adjacent to each of the candidate extended angular prediction modes in a predetermined extended angular prediction mode, determining at least one initial extension angular prediction mode adjacent to each of the candidate extension angular prediction modes in a predetermined extension angular prediction mode; determining a non-overlapping initial extension angular prediction mode from the at least one initial extension angular prediction mode as the candidate extension angular prediction mode.
39. The video encoding method of claim 38.
40. A decoding device, comprising: a parser configured to parse the bitstream to determine a first intra-prediction identifier corresponding to the current block; a first determination unit configured to determine prediction blocks at at least five positions adjacent to the current block, and to determine M (M is a positive integer) candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to the prediction blocks at at least five positions adjacent to the current block; a first constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction reconstruction unit configured to perform intra prediction and image reconstruction on the current block based on the intra prediction mode list to determine a reconstructed image block corresponding to the current block; Decryption device.
41. 1. An encoding device, comprising: a second determination unit configured to determine M candidate prediction modes corresponding to the first intra prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; a second constructing unit configured to construct an intra-prediction mode list based on the M candidate prediction modes; a prediction unit configured to perform intra prediction on the current block based on the intra prediction mode list to determine a predicted image block corresponding to the current block, Encoding device.
42. a first memory configured to store executable instructions; a first processor configured to implement the video decoding method of any one of claims 1 to 19 when executing executable instructions stored in said first memory. Decryption device.
43. a second memory configured to store executable instructions; a second processor configured to implement the video encoding method of any one of claims 20 to 39 when executing executable instructions stored in said second memory. Encoding device.
44. A bitstream generated by bit coding based on coding target information, the encoding target information includes coded bits obtained by coding the current block in a first prediction mode and a first intra prediction identifier; The first prediction mode is determining M candidate prediction modes corresponding to the first intra-prediction identifier based on prediction modes corresponding to prediction blocks at at least five positions adjacent to the current block, where M is a positive integer; constructing an intra prediction mode list based on the M candidate prediction modes; performing intra prediction on the current block based on the intra prediction mode list; and determining a predicted image block corresponding to the current block; determining the first prediction mode from the M candidate prediction modes based on the current block and the predicted image block; Bitstream.
45. A computer-readable storage medium having executable instructions stored thereon, The executable instructions are configured to be executed by a first processor to implement the video decoding method of any one of claims 1 to 19, or to be executed by a second processor to implement the video encoding method of any one of claims 20 to 39. A computer-readable storage medium.