A method, apparatus and video encoding device for deciding an intra prediction mode
Patent Information
- Application Number
- CN202211176844.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-26
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2042-09-26
AI Technical Summary
[0004]本申请提供了一种帧内预测模式的决策方法、装置及视频编码设备,以解决现有技术中VVC帧内预测通过采用粗模式选择(RMD)和最有可能预测模式(MPM)相结合的方法来决策最优帧内预测模式时,RMD过程涉及众多模式的SATD代价计算,运算量非常大等问题
[0024]在本实施例中,在进行帧内预测模式的快速决策时,通过设置第一模式列表以及第二模式列表来存储候选预测模式,采用第一模式列表来进行多次模式搜索,并根据每次模式搜索的结果更新第一模式列表以及第二模式列表。当所有的模式搜索结束后得到最终的第二模式列表以后,可以采用该最终的第二模式列表确定当前编码块的最优帧内预测模式。通过建立模式列表的方式来进行模式搜索,在减小搜索次数的同时,有效降低帧内编码的复杂度和缩短编码时间。另外,本实施例将角度预测模式与最可能模式组合成候选预测模式序列并采用列表进行多轮模式搜索,便于对角度预测模式的快速筛选,适用于多种视频图像帧的场景。
Smart Images

Figure CN115834880B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video coding technology, and in particular to a decision-making method for intra-frame prediction mode, a decision-making device for intra-frame prediction mode, a video coding device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] The emergence of ultra-high-definition, ultra-high-definition, and 4K video, among other ultra-high-resolution videos, means, on the one hand, a greater need for bandwidth to transmit video data, and on the other hand, a greater need for storage space to store it. To alleviate the resource demands of video transmission and storage, video coding standards, as a common and effective means of video compression, aim to maximize the video compression ratio without compromising the quality of the decoded video. To improve coding efficiency, the High Efficiency Video Coding (HEVC) standard has been developed based on block-based spatial prediction.
[0003] In HEVC, multiple intra-prediction modes are used to leverage spatial features. For example, the latest version of the H.266 / VVC (versatile video coding) standard can have up to 67 intra-prediction modes, including 65 directional intra-prediction modes (i.e., angle prediction modes), one DC mode, and one planar mode. The increase in prediction modes significantly improves the accuracy of intra-prediction, but it also introduces very high computational complexity. Specifically, the intra-prediction process iterates through each prediction mode, selecting the one with the lowest Rate-Distortion Optimization (RDO) cost as the final coding mode. This approach is computationally too complex, impacting coding efficiency. Therefore, VVC intra-prediction reduces the number of prediction modes involved in the RDO process by combining Coarse Mode Selection (RMD) and Most Probable Prediction Mode (MPM), thereby reducing the complexity of intra-prediction coding. However, the RMD process still involves calculating the SATD cost of numerous modes, resulting in a very large computational load. Summary of the Invention
[0004] This application provides a decision-making method, apparatus, and video coding device for intra-frame prediction modes to solve the problem that in the prior art, when VVC intra-frame prediction uses a combination of coarse mode selection (RMD) and most probable prediction mode (MPM) to determine the optimal intra-frame prediction mode, the RMD process involves the calculation of SATD costs for many modes, resulting in a very large amount of computation.
[0005] According to a first aspect of this application, a decision-making method for intra-frame prediction modes is provided, the method comprising:
[0006] Select several angle prediction patterns from all angle prediction patterns as candidate angle prediction patterns;
[0007] Get the list of most likely patterns for the current encoded block;
[0008] Based on the candidate angle prediction mode and the most likely mode list, a candidate prediction mode sequence is generated, and the candidate prediction mode sequence is stored in a pre-generated first mode list and a second mode list;
[0009] Based on each candidate prediction mode in the first mode list, multiple mode searches are performed on the remaining intra-frame prediction modes, and the first mode list and the second mode list are updated according to the result of each mode search. When all mode searches are completed, the final first mode list and the second mode list are obtained.
[0010] The optimal intra-prediction mode for the current coding block is determined from the final second mode list.
[0011] According to a second aspect of this application, a decision-making apparatus for intra-frame prediction modes is provided, the apparatus comprising:
[0012] The candidate angle prediction mode selection module is used to select several angle prediction modes from all angle prediction modes as candidate angle prediction modes.
[0013] The most likely pattern list acquisition module is used to obtain the most likely pattern list of the current encoding block;
[0014] A candidate prediction pattern sequence generation module is used to generate a candidate prediction pattern sequence based on the candidate angle prediction patterns and the most likely pattern list.
[0015] A sequence storage module is used to store the candidate prediction pattern sequence into a pre-generated first pattern list and a second pattern list;
[0016] The pattern search module is used to perform multiple pattern searches on the remaining intra-frame prediction modes based on each candidate prediction mode in the first pattern list, and update the first pattern list and the second pattern list according to the result of each pattern search. When all pattern searches are completed, the final first pattern list and the second pattern list are obtained.
[0017] The optimal intra-prediction mode determination module is used to determine the optimal intra-prediction mode of the current coding block from the final second mode list.
[0018] According to a third aspect of this application, a video encoding device is provided, the video encoding device comprising:
[0019] At least one processor; and
[0020] A memory communicatively connected to the at least one processor; wherein,
[0021] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the method described in the first aspect above.
[0022] According to a fourth aspect of this application, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the method described in the first aspect above.
[0023] According to a fifth aspect of this application, a computer program product is provided, the computer program product including computer-executable instructions, which, when executed, are used to implement the method described in the first aspect above.
[0024] In this embodiment, when making rapid decisions on intra-frame prediction modes, candidate prediction modes are stored by setting up a first mode list and a second mode list. Multiple mode searches are performed using the first mode list, and both the first and second mode lists are updated based on the results of each search. After all mode searches are completed and the final second mode list is obtained, the optimal intra-frame prediction mode for the current coding block can be determined using this final second mode list. By establishing mode lists for mode searching, the number of searches is reduced, effectively decreasing the complexity of intra-frame coding and shortening the coding time. Furthermore, this embodiment combines angle prediction modes with the most probable mode to form a candidate prediction mode sequence and uses a list for multiple rounds of mode searching, facilitating rapid selection of angle prediction modes and making it suitable for scenarios with various video image frames. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a flowchart of a decision-making method for intra-frame prediction modes provided in Embodiment 1 of this application;
[0027] Figure 2 This is an angle prediction pattern distribution map provided in Embodiment 1 of this application;
[0028] Figure 3This is a flowchart of a decision-making method for intra-frame prediction modes provided in Embodiment 2 of this application;
[0029] Figure 4 This is a schematic diagram of the structure of a decision-making device for intra-frame prediction mode provided in Embodiment 3 of this application;
[0030] Figure 5 This is a schematic diagram of the structure of a video coding device that implements a decision-making method for an intra-frame prediction mode according to an embodiment of this application. Detailed Implementation
[0031] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0032] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0033] Example 1
[0034] Figure 1 This flowchart illustrates a decision-making method for intra-prediction modes provided in Embodiment 1 of this application. This embodiment can be applied to video encoders and is suitable for video coding standards with numerous intra-prediction modes, such as HEVC and VVC standards. The H.266 / VVC standard includes 67 intra-prediction modes, including DC mode, Planar mode, and 65 angle prediction modes. This embodiment can quickly select the intra-prediction mode with the lowest cost from multiple intra-prediction modes, effectively reducing coding complexity while maintaining essentially the same video coding quality, and is applicable to various video images.
[0035] like Figure 1 As shown, this embodiment may include the following steps:
[0036] Step 101: Select several angle prediction modes from all angle prediction modes as candidate angle prediction modes.
[0037] For example, in the H.266 / VVC standard, several angle prediction modes (e.g., 5 angle prediction modes) can be selected from 65 angle prediction modes as candidate angle prediction modes. The number of selected angle prediction modes can be an empirical value, and this embodiment does not impose any restrictions on this.
[0038] In implementation, representative angle prediction patterns in each direction can be selected as candidate angle prediction patterns. Each direction can include, for example, the vertical direction, the horizontal direction, the diagonal direction, etc.
[0039] In one embodiment, step 101 may further include the following steps:
[0040] Obtain the angle prediction pattern distribution map; use the angle prediction patterns in the vertical, horizontal and diagonal directions of the angle prediction pattern distribution map as candidate angle prediction patterns.
[0041] For example, in the H.266 / VVC standard, the distribution map of angle prediction modes, which consists of 65 angle prediction modes, can be shown as follows: Figure 2 As shown, each angle prediction mode has a corresponding mode number. Therefore, several angle prediction modes can be selected as candidate angle prediction modes in the vertical, horizontal, and three diagonal directions. For example, in... Figure 2 In the process, five angle prediction modes are selected as candidate angle prediction modes: the angle prediction mode at the middle position in the vertical direction (i.e., mode 18), the angle prediction mode at the middle position in the horizontal direction (i.e., mode 50), and the angle prediction modes in the three diagonal directions (i.e., mode 2, mode 66, and mode 34).
[0042] It should be noted that this embodiment is not limited to the above-described method of determining candidate angle prediction modes. In other embodiments, gradient information or other information representing texture direction can also be combined to determine candidate angle prediction modes. For example, the gradient values of 5 main directions can be obtained, and the angle prediction modes corresponding to the N directions with the smallest gradient values can be sorted and selected as candidate angle prediction modes.
[0043] Step 102: Obtain the list of most likely patterns for the current coded block.
[0044] In implementation, the Most Probable Mode (MPM) algorithm for intra-frame prediction can be used to generate the most probable mode (MPM) list for the current coding block. It should be noted that the MPM algorithm is specified by the encoder and can be a general MPM algorithm; this embodiment does not specifically limit the MPM algorithm.
[0045] The length of the MPM list can be determined by the encoder. For example, if its length is 3, it means that the most likely pattern list contains 3 most likely patterns. The most likely patterns can be angular patterns or non-angular patterns.
[0046] Step 103: Generate a candidate prediction mode sequence based on the candidate angle prediction mode and the most likely mode list, and store the candidate prediction mode sequence in a pre-generated first mode list and second mode list.
[0047] In this step, all selected candidate angle prediction modes and the most likely angle modes from the most likely mode list are combined to generate a candidate prediction mode sequence. When generating the candidate prediction mode sequence, if a candidate angle prediction mode shares an intra-frame prediction mode with the most likely angle mode, deduplication is performed before generating the candidate prediction mode sequence. For example, assuming there are 5 candidate angle prediction modes and 3 most likely angle modes from the most likely mode list, and no shared intra-frame prediction modes, the generated candidate prediction mode sequence will have 8 candidate prediction modes. Alternatively, assuming there are 5 candidate angle prediction modes and 3 most likely angle modes from the most likely mode list, and two shared intra-frame prediction modes, the generated candidate prediction mode sequence will have 6 candidate prediction modes.
[0048] In one embodiment, step 103 may further include the following steps:
[0049] Obtain the coarse selection cost of each candidate angle prediction mode and each most likely angle mode in the most likely mode list; sort the candidate angle prediction modes and the most likely angle modes in ascending order of coarse selection cost to generate a candidate prediction mode sequence.
[0050] Among them, the most likely angle pattern is the angle prediction pattern in the list of most likely patterns.
[0051] In one implementation, the coarse selection cost of each candidate angle prediction mode and each most likely angle mode in the most likely mode list can be obtained as follows:
[0052] Obtain the SAD cost and SATD cost of each candidate angle prediction mode and each most likely angle mode; for a candidate angle prediction mode or most likely angle mode, take the minimum of its SAD cost and SATD cost as the coarse selection cost of that candidate angle prediction mode or most likely angle mode.
[0053] In implementation, the SAD (Sum of Absolute Differences) cost refers to the sum of the absolute values of the residuals between the predicted and encoded images and the original image; the SATD (Sum of Absolute Transformed Differences) cost refers to the sum of the absolute values of the residuals between the predicted and encoded images and the original image after Hadamard transformation. In step 103, the SAD cost and SATD cost of each candidate angle prediction mode or most likely angle mode can be calculated, and then the minimum of the SAD cost and SATD cost is taken as the coarse selection cost of the candidate angle prediction mode or most likely angle mode, that is:
[0054]
[0055] Among them, M i The candidate angle prediction pattern or the most likely angle pattern; For M i The cost of rough selection; For M i The cost of SAD; For M i The cost of SATD.
[0056] It should be noted that this embodiment is not limited to the method of calculating the coarse selection cost described above. Other methods can also be used to determine the coarse selection cost. For example, the SATD cost can be directly used as the coarse selection cost, or the SAD cost and SATD cost used to calculate the coarse selection cost can be replaced with other complexity information. One of the SAD cost and SATD cost can be replaced with the SSE (Sum of Squared Error, the sum of squares of the residuals between the predicted and encoded images and the original image) cost, or the SSE cost can be added to obtain the coarse selection cost, etc.
[0057] Additionally, it should be noted that the coarse selection cost of each candidate angle prediction mode can be calculated first. Before calculating the coarse selection cost of the most likely angle mode, it should be determined whether the most likely angle mode is a candidate angle prediction mode. If it is, the coarse selection cost of the most likely angle mode is not calculated again. Otherwise, the coarse selection cost of the most likely angle mode is calculated.
[0058] After obtaining the coarse selection costs of each candidate angle prediction mode and each most probable angle mode, the candidate angle prediction modes and each most probable angle mode can be sorted in ascending order of coarse selection costs to generate a candidate prediction mode sequence. To remove duplicates from the candidate prediction mode sequence, before inserting each prediction mode into the sequence, it is first determined whether the prediction mode already exists in the candidate prediction mode sequence. If it does, it is not inserted into the sequence to ensure the uniqueness of each prediction mode in the candidate prediction mode sequence.
[0059] In this embodiment, a first mode list and a second mode list can be pre-established. After generating the candidate prediction mode sequence, this embodiment can also store the candidate prediction mode sequence into the first mode list and the second mode list.
[0060] In implementation, the length of the second pattern list can be limited to a fixed length, which can be specified by the encoder.
[0061] The length of the first pattern list is related to the length of the second pattern list, and the length of the first pattern list can be determined based on the length of the second pattern list. In one embodiment, the initial length of the first pattern list can be determined as follows:
[0062] Obtain the maximum value between the fixed length of the second pattern list and the first preset value; use the minimum value between the maximum value and the second preset value as the initial length of the first pattern list.
[0063] The first and second preset values can be empirical values, the purpose of which is to ensure that the lengths of the first and second pattern lists are not too different. For example, the first preset value can be 4 and the second preset value can be 6. That is, the initial length of the first pattern list can be calculated using the following formula:
[0064] N0 = min{max{N,4},6}
[0065] Where N is the length of the second pattern list, and N0 is the initial length of the first pattern list.
[0066] After obtaining the initial length of the first pattern list, if the length of the first pattern list is fixed, then the length of the first pattern list is kept at that initial length. If the length of the first pattern list is variable, then it can be changed based on the initial length.
[0067] In practice, candidate prediction pattern sequences can be stored in the first and second pattern lists based on the length of the second pattern list and the initial length of the first pattern list. Specifically, if the length of the candidate prediction pattern sequence is greater than the fixed length N of the second pattern list, then the N candidate prediction patterns with the lowest coarse selection cost are extracted from the candidate prediction pattern sequence and stored in the second pattern list; if the length of the candidate prediction pattern sequence is greater than the initial length N0 of the first pattern list, then the N0 candidate prediction patterns with the lowest coarse selection cost are extracted from the candidate prediction pattern sequence and stored in the first pattern list.
[0068] On the other hand, if the length of the candidate prediction pattern sequence is less than or equal to the fixed length N of the second pattern list, the entire candidate prediction pattern sequence can be stored in the second pattern list; if the length of the candidate prediction pattern sequence is less than or equal to the initial length N0 of the first pattern list, the entire candidate prediction pattern sequence can be stored in the first pattern list.
[0069] Step 104: Based on each candidate prediction mode in the first mode list, perform multiple mode searches on the remaining intra-frame prediction modes, and update the first mode list and the second mode list according to the result of each mode search. When all mode searches are completed, the final first mode list and the second mode list are obtained.
[0070] In this embodiment, the first mode list is used to determine which intra-frame prediction modes can be inserted into the first mode list and the second mode list, so as to update the first mode list and the second mode list. During the decision-making process, multiple rounds of mode search can be performed, with each round updating the first mode list and the second mode list as updated in the previous round.
[0071] In one embodiment, the first mode list and the second mode list can be updated first using the remaining angle prediction mode, and then the second mode list obtained previously can be updated using the DC mode and the planar mode to obtain the final second mode list. Then, step 104 may further include the following steps:
[0072] Step 104-1: Based on each candidate prediction mode in the first mode list, perform angle mode search in the remaining angle prediction modes according to the set search interval sequence, and update the first mode list and the second mode list with the angle prediction mode obtained after each mode search.
[0073] Step 104-2: After all angle pattern searches corresponding to the search interval sequence are completed, the second pattern list obtained previously is updated using DC mode and planar mode to obtain the final second pattern list.
[0074] In one embodiment, step 104-1 may further include the following steps:
[0075] The search interval sequence is traversed in descending order. Using the currently traversed search interval number, the first and second pattern lists are updated using the following angle pattern search process. After completing the following angle pattern search process, the next search interval number is traversed until all search intervals in the search interval sequence have been traversed:
[0076] Iterate through each candidate prediction mode in the first mode list. For the currently traversed candidate prediction mode, obtain its number. Add the current search interval number to the current candidate prediction mode number to obtain the first number, and subtract the current search interval number from the current candidate prediction mode number to obtain the second number. Insert the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number into the first mode list and the second mode list in sequence, and continue to traverse the next candidate prediction mode until all candidate prediction modes in the first mode list have been traversed, at which point the current angle mode search process ends.
[0077] For example, assuming the search interval sequence is (4,2,1), for N0 patterns M in the first pattern list... i In the first round of angle pattern search, patterns M with a sequence number of 4 are obtained respectively. i-4 and M i+4 Insert it into the first mode list and the second mode list. Then proceed to the second round of angle mode search, for the N0 modes M in the updated first mode list. i Obtain the pattern M with a sequence number 2 at the end. i-2 and M i+2 Insert it into the first and second pattern lists; then proceed to the third round of angle pattern search, for the N0 patterns M in the updated first pattern list. i Obtain the pattern m with a sequence number interval of 1. i-1 and m i+1 Insert it into the first pattern list and the second pattern list to complete the angle pattern search.
[0078] It should be noted that, as Figure 2 As shown, the angle prediction modes are numbered 2-66. Therefore, if the first number is greater than 66 or the second number is less than 2, no processing is performed. That is, the calculation results of the first number being greater than 66 or the second number being less than 2 are ignored. Instead, the angle prediction modes with the first or second number in the range of 2-66 are inserted into the first mode list and the second mode list.
[0079] In one embodiment, as described above, both the first mode list and the second mode list are sorted according to the coarse selection cost. When the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are inserted into the first mode list and the second mode list in sequence, the coarse selection cost of the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number can be obtained respectively. Then, according to the coarse selection cost, the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are inserted into the corresponding positions of the first mode list and the second mode list respectively.
[0080] In one embodiment, the step of sequentially inserting the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number into the first mode list and the second mode list may further include the following steps:
[0081] Determine if the first pattern list is full. If so, obtain the maximum coarse selection cost of the first pattern list. If the coarse selection cost of the angle prediction pattern corresponding to the first number is less than the maximum coarse selection cost of the first pattern list, delete the candidate prediction pattern corresponding to the maximum coarse selection cost in the first pattern list, and insert the angle prediction pattern corresponding to the first number into the first pattern list in order, obtaining an updated first pattern list. If the coarse selection cost of the angle prediction pattern corresponding to the second number is less than the maximum coarse selection cost of the updated first pattern list, delete the candidate prediction pattern corresponding to the maximum coarse selection cost in the updated first pattern list, and insert the angle prediction pattern corresponding to the second number into the first pattern list. Conversely, if the coarse selection cost of the angle prediction pattern corresponding to the first number is greater than or equal to the maximum coarse selection cost of the first pattern list, do not insert the angle prediction pattern corresponding to the first number into the first pattern list. Continue to determine the angle prediction pattern corresponding to the second number. If the coarse selection cost of the angle prediction pattern corresponding to the second number is greater than or equal to the maximum coarse selection cost of the first pattern list, do not insert the angle prediction pattern corresponding to the second number into the first pattern list either.
[0082] It should be noted that in the implementation, the angle prediction mode corresponding to the second number can be determined first, and then the angle prediction mode corresponding to the first number can be determined, or both can be determined at the same time. This embodiment does not restrict the order of the two determinations.
[0083] Similarly, for the second pattern list, determine if the second pattern list is full. If so, obtain the maximum coarse selection cost of the second pattern list. If the coarse selection cost of the angle prediction pattern corresponding to the first number is less than the maximum coarse selection cost of the second pattern list, delete the candidate prediction pattern corresponding to the maximum coarse selection cost in the second pattern list, and insert the angle prediction pattern corresponding to the first number into the second pattern list in order to obtain an updated second pattern list. If the coarse selection cost of the angle prediction pattern corresponding to the second number is less than the maximum coarse selection cost of the updated second pattern list, delete the candidate prediction pattern corresponding to the maximum coarse selection cost in the updated second pattern list, and insert the angle prediction pattern corresponding to the second number into the second pattern list. Conversely, if the coarse selection cost of the angle prediction pattern corresponding to the first number is greater than or equal to the maximum coarse selection cost of the second pattern list, do not insert the angle prediction pattern corresponding to the first number into the second pattern list. Continue to determine the angle prediction pattern corresponding to the second number. If the coarse selection cost of the angle prediction pattern corresponding to the second number is greater than or equal to the maximum coarse selection cost of the second pattern list, do not insert the angle prediction pattern corresponding to the second number into the second pattern list either.
[0084] It should be noted that in the implementation, the second mode list can be judged first, and then the first mode list can be judged, or both can be judged at the same time. This embodiment does not restrict the order of the two judgments.
[0085] In one embodiment, after each pattern search, the length of the first pattern list can be dynamically reduced. This reduction can be achieved in the following manner:
[0086] Subtract 1 from the length of the previously determined first pattern list to obtain the candidate length of the first pattern list; use the maximum of the candidate length and the third preset value as the updated length of the first pattern list.
[0087] The third preset value can also be an empirical value, for example, it can be 2, to ensure the length of the first pattern list. That is, the update length of the first pattern list can be determined by the following formula:
[0088] N n =max{N n-1 -1, 2}
[0089] Where, N n N represents the update length of the first pattern list. n-1 The length of the first pattern list obtained previously.
[0090] It should be noted that the search intervals in this search interval sequence can be empirical values, which may contain an arithmetic sequence. For example, the search interval sequence could be (8, 6, 4, 2, 1), or it can be obtained by halving the search intervals, such as (8, 4, 2, 1). Alternatively, it is also possible to simply provide the largest search interval number and then determine the search interval number for the next round according to a set rule (e.g., halving it each time). This embodiment does not impose any restrictions on this.
[0091] Step 105: Determine the optimal intra-prediction mode for the current coding block from the final second mode list.
[0092] In this step, after obtaining the final first mode list and the second mode list, the final second mode list is used to determine the optimal intra-prediction mode with the minimum coding cost. In one implementation, this coding cost can be the RDO cost. Specifically, for each candidate prediction mode in the final second mode list, the RDO (Rate-Distortion Optimize) cost of each candidate prediction mode can be calculated, and the candidate prediction mode with the minimum RDO cost is selected as the optimal intra-prediction mode.
[0093] In one implementation, the RDO cost can be calculated as follows:
[0094]
[0095] in, The distortion under the current prediction model Mi, λ represents the number of bits of encoded information under the current prediction mode Mi, and λ is the Lagrange factor.
[0096] In this embodiment, when making rapid decisions on intra-frame prediction modes, candidate prediction modes are stored by setting up a first mode list and a second mode list. Multiple mode searches are performed using the first mode list, and both the first and second mode lists are updated based on the results of each search. After all mode searches are completed and the final second mode list is obtained, the optimal intra-frame prediction mode for the current coding block can be determined using this final second mode list. By establishing mode lists for mode searching, the number of searches is reduced, thus lowering the complexity of intra-frame coding and shortening the coding time. Furthermore, this embodiment combines angle prediction modes with the most probable mode to form a candidate prediction mode sequence and uses a list for multiple rounds of mode searching, facilitating rapid selection of angle prediction modes and making it suitable for scenarios with various video image frames.
[0097] Example 2
[0098] Figure 3This is a flowchart of a decision-making method for intra-frame prediction mode provided in Embodiment 2 of this application. Based on Embodiment 1, this embodiment provides an exemplary description of the complete process of quickly deciding the optimal intra-frame prediction mode. In this example, it is assumed that the maximum search interval number is 8, and the search interval number is halved each time starting from 8 for multiple rounds of mode search.
[0099] like Figure 3 As shown, this embodiment may include the following steps:
[0100] Step 201: Create an RDO list and a list of possible patterns.
[0101] The RDO list is the second mode list in Embodiment 1, and the possible mode list is the first mode list in Embodiment 1.
[0102] The length of the RDO list is a fixed length N. RDO N RDO The specific value is determined by the encoder. The length of the possible pattern list can be fixed or variable. The length of the possible pattern list can be determined based on the length of the RDO list. For example, the initial length N0 of the possible pattern list can be calculated using the following formula:
[0103] N0=min{max{N RDO ,4},6}
[0104] Step 202: Determine the candidate angle prediction modes and calculate the coarse selection cost of each candidate angle prediction mode.
[0105] In one implementation, the angle prediction mode located at the middle position in the vertical direction, the angle prediction mode located at the middle position in the horizontal direction, and the angle prediction modes on the three diagonals can be selected as candidate angle prediction modes. For example, using... Figure 2 The five angle prediction modes, namely Mode 2, Mode 18, Mode 34, Mode 50, and Mode 66, were selected as candidate angle prediction modes.
[0106] In one implementation, the coarse selection cost is determined by obtaining the SAD cost and SATD cost of each candidate angle prediction mode. For example, the coarse selection cost of each candidate angle prediction mode Mi is calculated using the following formula.
[0107]
[0108] Step 203: Obtain the most likely mode (MPM) list for the current coding block and calculate the coarse selection cost of each MPM candidate angle mode in the MPM list.
[0109] The coarse selection cost for the MPM candidate angle pattern is similar to the coarse selection cost for the candidate angle prediction pattern in step 202.
[0110] It should be noted that the method of obtaining the MPM list is specified by the encoder. If a candidate angle pattern of an MPM is the same as the candidate angle prediction pattern and the coarse selection cost has already been calculated, then there is no need to calculate the coarse selection cost again.
[0111] Step 204: Sort the candidate angle prediction modes and the candidate MPM angle modes from smallest to largest according to the coarse selection cost; select the N0 candidate modes with the lowest cost and insert them into the possible mode list in ascending order; and select the N modes with the lowest cost. RDO The candidate patterns are inserted into the RDO list in ascending order.
[0112] Step 205, for N0 M's in the list of possible patterns i The first round of pattern search is performed with a search interval number of 8, and the possible pattern list and RDO list are updated based on the searched angle prediction patterns.
[0113] Specifically, for N0 M's in the list of possible patterns i Calculate the angle prediction mode M with an interval of 8 before and after it. i-8 and M i+8 The cost of rough selection, and M is sorted in ascending order of rough selection cost. i-8 and M i+8 Insert the possible pattern list and the RDO list respectively. If the length of the possible pattern list exceeds N0, or the length of the RDO list exceeds N... RDO If the maximum coarse selection cost is exceeded, the candidate pattern will be removed from the list. Candidate patterns whose coarse selection cost has already been calculated will not be recalculated; candidate patterns with an index less than 2 or greater than 66 will not be inserted into the list.
[0114] Step 206: Calculate the length N1 of the possible pattern list in the new round of pattern search, and update the length of the possible pattern list to N1.
[0115] N1 is calculated using the following formula:
[0116] N1 = max{N0-1, 2}
[0117] In practice, N1 is smaller than N0. When the length N1 is determined, the difference between N0 and N1 can be calculated. This difference is the number of candidate patterns that need to be deleted from the list of possible patterns. The candidate patterns corresponding to the largest difference in the coarse selection cost in the list of possible patterns can be deleted, so that the length of the list of possible patterns is N1.
[0118] Step 207, for N1 M's in the list of possible patterns i A second round of pattern search is performed with a search interval number of 4, and the list of possible patterns and the RDO list are updated based on the angle prediction patterns found.
[0119] Specifically, for N1 M's in the list of possible patterns i Calculate the angle prediction mode M with a sequence number 4 before and after it. i-4 and M i+4 The cost of rough selection, and M is sorted in ascending order of rough selection cost. i-4 and M i+4 Insert the possible pattern list and the RDO list respectively. If the length of the possible pattern list exceeds N1, or the length of the RDO list exceeds N... RDO If the maximum coarse selection cost is exceeded, the candidate pattern will be removed from the list. Candidate patterns whose coarse selection cost has already been calculated will not be recalculated; candidate patterns with an index less than 2 or greater than 66 will not be inserted into the list.
[0120] Step 208: Calculate the length N2 of the possible pattern list in the new round of pattern search, and update the length of the possible pattern list to N2.
[0121] N2 is calculated using the following formula:
[0122] N2 = max{N1-1, 2}
[0123] In practice, N2 is smaller than N1. When the length N2 is determined, the difference between N1 and N2 can be calculated. This difference is the number of candidate patterns that need to be deleted from the list of possible patterns. The candidate patterns corresponding to the largest difference in the coarse selection cost in the list of possible patterns can be deleted, so that the length of the list of possible patterns is N2.
[0124] Step 209, for N2 M's in the list of possible patterns i A third round of pattern search is performed with a search interval number of 2, and the possible pattern list and RDO list are updated based on the searched angle prediction patterns.
[0125] Specifically, for N2 M's in the list of possible patterns i Calculate the angle prediction mode M with a sequence number 2 before and after it. i-2 and M i+2 The cost of rough selection, and M is sorted in ascending order of rough selection cost. i-2 and M i+2 Insert the possible pattern list and the RDO list respectively. If the length of the possible pattern list exceeds N², or the length of the RDO list exceeds N... RDOIf the maximum coarse selection cost is exceeded, the candidate pattern will be removed from the list. Candidate patterns whose coarse selection cost has already been calculated will not be recalculated; candidate patterns with an index less than 2 or greater than 66 will not be inserted into the list.
[0126] Step 210: Calculate the length N3 of the possible pattern list in the new round of pattern search, and update the length of the possible pattern list to N3.
[0127] N3 is calculated using the following formula:
[0128] N3 = max{N2-1, 2}
[0129] In practice, N3 is smaller than N2. When the length N3 is determined, the difference between N2 and N3 can be calculated. This difference is the number of candidate patterns that need to be deleted from the list of possible patterns. The candidate patterns corresponding to the largest difference in the coarse selection cost in the list of possible patterns can be deleted, so that the length of the list of possible patterns is N3.
[0130] Step 211, for the N3 M's in the list of possible patterns i The fourth round of pattern search is performed with a search interval number of 1, and the possible pattern list and RDO list are updated based on the searched angle prediction patterns.
[0131] Specifically, for the N3 M's in the list of possible patterns i Calculate the angle prediction mode M with a sequence number 1 before and after it. i-1 and M i+1 The cost of rough selection, and M is sorted in ascending order of rough selection cost. i-1 and M i+1 Insert the possible pattern list and the RDO list respectively. If the length of the possible pattern list exceeds N^3, or the length of the RDO list exceeds N... RDO If the maximum coarse selection cost is exceeded, the candidate pattern will be removed from the list. Candidate patterns whose coarse selection cost has already been calculated will not be recalculated; candidate patterns with an index less than 2 or greater than 66 will not be inserted into the list.
[0132] Step 212: Calculate the coarse selection cost of DC mode and planar mode, and insert DC mode and planar mode into RDO list according to the coarse selection cost from smallest to largest.
[0133] Where the length of the RDO list exceeds N RDO If the maximum coarse selection cost is exceeded, the candidate pattern will be removed from the list.
[0134] Step 213, for N in the RDO list RDO For each Mi, calculate the RDO cost. The candidate mode with the lowest RDO cost is selected as the optimal intra-frame prediction mode.
[0135] in, The calculation formula can be:
[0136]
[0137] in, The distortion under the current prediction model Mi, λ represents the number of bits of encoded information under the current prediction mode Mi, and λ is the Lagrange factor.
[0138] Step 214: Output the optimal intra-prediction mode for the current coding block.
[0139] This embodiment establishes a variable-length list of possible patterns and further subdivides and screens multiple angle prediction patterns with smaller SATD (effectively eliminating some patterns with higher prediction costs in each round of screening). Compared to directly using a binary search method to select a pattern with the minimum prediction cost, this significantly reduces the probability of getting trapped in local optima. Furthermore, this embodiment reduces the number of searches while decreasing the complexity of intra-frame coding and shortening the coding time.
[0140] In addition, this embodiment establishes an intra-frame prediction mode filtering list and performs screening based on the RMD+MPM framework, and quickly filters angle prediction modes, which is applicable to a variety of video image frames.
[0141] Example 3
[0142] Figure 4 This is a schematic diagram of the structure of a decision-making device for intra-frame prediction mode provided in Embodiment 3 of this application, which may include the following modules:
[0143] The candidate angle prediction mode selection module 301 is used to select several angle prediction modes from all angle prediction modes as candidate angle prediction modes.
[0144] The most likely pattern list acquisition module 302 is used to obtain the most likely pattern list of the current coding block;
[0145] The candidate prediction pattern sequence generation module 303 is used to generate a candidate prediction pattern sequence based on the candidate angle prediction pattern and the most likely pattern list.
[0146] Sequence storage module 304 is used to store the candidate prediction mode sequence into a pre-generated first mode list and a second mode list;
[0147] The pattern search module 305 is used to perform multiple pattern searches on the remaining intra-frame prediction modes based on each candidate prediction mode in the first pattern list, and update the first pattern list and the second pattern list according to the result of each pattern search. When all pattern searches are completed, the final first pattern list and the second pattern list are obtained.
[0148] The optimal intra-prediction mode determination module 306 is used to determine the optimal intra-prediction mode of the current coding block from the final second mode list.
[0149] In one embodiment, the pattern search module 305 may further include the following modules:
[0150] An angle pattern search module is used to perform angle pattern search in the remaining angle prediction modes according to a set search interval sequence based on each candidate prediction mode in the first mode list, and update the first mode list and the second mode list with the angle prediction modes obtained after each mode search.
[0151] The DC mode and planar mode decision module is used to update the second mode list obtained previously using DC mode and planar mode after all angle mode searches corresponding to the search interval sequence have been completed, so as to obtain the final second mode list.
[0152] In one embodiment, the angle pattern search module is further configured to:
[0153] The search interval sequence is traversed in descending order. Using the currently traversed search interval number, the first mode list and the second mode list are updated using the following angle mode search process. After completing the following angle mode search process, the next search interval number is traversed until all search interval numbers in the search interval sequence have been traversed:
[0154] Iterate through each candidate prediction mode in the first mode list, and for the currently iterated candidate prediction mode, obtain the number of the candidate prediction mode.
[0155] Add the current search interval number to the number of the current candidate prediction mode to get the first number, and subtract the current search interval number from the number of the current candidate prediction mode to get the second number.
[0156] The angle prediction pattern corresponding to the first number and the angle prediction pattern corresponding to the second number are inserted into the first pattern list and the second pattern list in sequence. The next candidate prediction pattern is traversed until all candidate prediction patterns in the first pattern list have been traversed, at which point the current angle pattern search process ends.
[0157] In one embodiment, both the first mode list and the second mode list are sorted according to the coarse selection cost. When the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are sequentially inserted into the first mode list and the second mode list, the angle mode search module is further configured to:
[0158] The coarse selection costs of the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are obtained respectively.
[0159] According to the coarse selection cost, the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are inserted into the corresponding positions in the first mode list and the second mode list, respectively.
[0160] In one embodiment, the angle pattern search module is further configured to:
[0161] Determine whether the first pattern list is full;
[0162] If so, then obtain the maximum coarse selection cost of the first pattern list;
[0163] If the coarse selection cost of the angle prediction mode corresponding to the first number is less than the maximum coarse selection cost of the first mode list, then the candidate prediction mode corresponding to the maximum coarse selection cost in the first mode list is deleted, and the angle prediction mode corresponding to the first number is inserted into the first mode list in sequence to obtain an updated first mode list.
[0164] If the coarse selection cost of the angle prediction mode corresponding to the second number is less than the maximum coarse selection cost of the updated first mode list, then the candidate prediction mode corresponding to the maximum coarse selection cost in the updated first mode list is deleted, and the angle prediction mode corresponding to the second number is inserted into the first mode list. In one embodiment, the candidate prediction mode sequence generation module 303 is further configured to:
[0165] Obtain the prediction patterns for each candidate angle and the coarse selection cost for each most likely angle pattern in the most likely pattern list;
[0166] The candidate angle prediction patterns and the most likely angle pattern are sorted in ascending order of coarse selection cost to generate a candidate prediction pattern sequence.
[0167] In one embodiment, the candidate prediction mode sequence generation module 303 is further configured to:
[0168] Obtain the prediction patterns for each candidate angle, as well as the SAD cost and SATD cost for each most likely angle pattern;
[0169] For a candidate angle prediction pattern or the most likely angle pattern, the minimum of its SAD cost and SATD cost is taken as the coarse selection cost of the candidate angle prediction pattern or the most likely angle pattern.
[0170] In one embodiment, the initial length of the first pattern list is determined as follows:
[0171] Obtain the maximum value between the fixed length of the second pattern list and the first preset value;
[0172] The minimum value between the maximum and the second preset value is used as the initial length of the first pattern list.
[0173] In one embodiment, the device further includes:
[0174] The list length update module is used to reduce the length of the first pattern list after each pattern search in the following way:
[0175] Subtract 1 from the length of the previously determined first pattern list to obtain the candidate length of the first pattern list;
[0176] The maximum of the candidate length and the third preset value is used as the updated length of the first pattern list.
[0177] In one embodiment, the candidate angle prediction mode selection module 301 is specifically used for:
[0178] Obtain the distribution map of angle prediction patterns;
[0179] The angle prediction patterns in the vertical, horizontal, and diagonal directions of the angle prediction pattern distribution map are selected as candidate angle prediction patterns.
[0180] In one embodiment, the sequence storage module 304 is further configured to:
[0181] If the length of the candidate prediction pattern sequence is greater than the fixed length of the second pattern list, then the number of candidate prediction patterns that are sorted first from the candidate prediction pattern sequence and correspond to the fixed length of the second pattern list are extracted and stored in the second pattern list.
[0182] If the length of the candidate prediction pattern sequence is greater than the initial length of the first pattern list, then the number of candidate prediction patterns that are at the beginning of the candidate prediction pattern sequence and correspond to the initial length of the first pattern list are extracted and stored in the first pattern list.
[0183] The decision-making device for intra-frame prediction mode provided in this application embodiment can execute the decision-making method for intra-frame prediction mode provided in Embodiment 1 or Embodiment 2 of this application, and has the corresponding functional modules and beneficial effects of the execution method.
[0184] Example 4
[0185] Figure 5 A schematic diagram of the structure of a video encoding device 10 that can be used to implement embodiments of the methods of this application is shown. Figure 5 As shown, the video encoding device 10 includes at least one processor 11 and a storage device, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The storage device stores one or more computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer programs stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the video encoding device 10.
[0186] In some embodiments, a decision-making method for an intra-prediction mode can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the video encoding device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the decision-making method for an intra-prediction mode described above can be performed.
[0187] In some embodiments, a decision-making method for an intra-prediction mode can be implemented as a computer program product including computer-executable instructions that, when executed, perform one or more steps of the decision-making method for an intra-prediction mode described above.
Claims
1. A decision-making method for intra-frame prediction modes, characterized in that, The method includes: Select several angle prediction patterns from all angle prediction patterns as candidate angle prediction patterns; Get the list of most likely patterns for the current encoded block; Based on the candidate angle prediction mode and the most likely mode list, a candidate prediction mode sequence is generated, and the candidate prediction mode sequence is stored in a pre-generated first mode list and a second mode list; Based on each candidate prediction mode in the first mode list, angle mode search is performed sequentially in the remaining angle prediction modes according to the set search interval sequence, and the first mode list and the second mode list are updated with the angle prediction modes obtained after each mode search; when all angle mode searches corresponding to the search interval sequence are completed, the second mode list obtained in the previous step is updated with DC mode and planar mode to obtain the final second mode list. Each round of pattern search is performed based on the first and second pattern lists updated in the previous round of search; the second pattern list has a fixed length; after each pattern search, the length of the first pattern list is dynamically reduced; the optimal intra-frame prediction mode for the current coding block is determined from the final second pattern list. The method further includes: After each pattern search, the length of the first pattern list is reduced in the following way: Subtract 1 from the length of the previously determined first pattern list to obtain the candidate length of the first pattern list; The maximum of the candidate length and the third preset value is used as the updated length of the first pattern list.
2. The method according to claim 1, characterized in that, The step of performing angle pattern searches in the remaining angle prediction modes according to a set search interval sequence based on each candidate prediction mode in the first mode list, and updating the first mode list and the second mode list with the angle prediction modes obtained after each mode search, includes: The search interval sequence is traversed in descending order. Using the currently traversed search interval number, the first mode list and the second mode list are updated using the following angle mode search process. After completing the following angle mode search process, the next search interval number is traversed until all search interval numbers in the search interval sequence have been traversed: Iterate through each candidate prediction mode in the first mode list, and for the currently iterated candidate prediction mode, obtain the number of the candidate prediction mode. Add the current search interval number to the number of the current candidate prediction mode to get the first number, and subtract the current search interval number from the number of the current candidate prediction mode to get the second number. The angle prediction pattern corresponding to the first number and the angle prediction pattern corresponding to the second number are inserted into the first pattern list and the second pattern list in sequence. The next candidate prediction pattern is traversed until all candidate prediction patterns in the first pattern list have been traversed, at which point the current angle pattern search process ends.
3. The method according to claim 2, characterized in that, Both the first and second pattern lists are sorted according to the coarse selection cost. The step of sequentially inserting the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number into the first mode list and the second mode list includes: The coarse selection costs of the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are obtained respectively. According to the coarse selection cost, the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number are inserted into the corresponding positions in the first mode list and the second mode list, respectively.
4. The method according to claim 3, characterized in that, The step of sequentially inserting the angle prediction mode corresponding to the first number and the angle prediction mode corresponding to the second number into the first mode list and the second mode list includes: Determine whether the first pattern list is full; If so, then obtain the maximum coarse selection cost of the first pattern list; If the coarse selection cost of the angle prediction mode corresponding to the first number is less than the maximum coarse selection cost of the first mode list, then the candidate prediction mode corresponding to the maximum coarse selection cost in the first mode list is deleted, and the angle prediction mode corresponding to the first number is inserted into the first mode list in sequence to obtain an updated first mode list. If the coarse selection cost of the angle prediction mode corresponding to the second number is less than the maximum coarse selection cost of the updated first mode list, then the candidate prediction mode corresponding to the maximum coarse selection cost in the updated first mode list is deleted, and the angle prediction mode corresponding to the second number is inserted into the first mode list.
5. The method according to any one of claims 1-4, characterized in that, The step of generating a candidate prediction pattern sequence based on the candidate angle prediction pattern and the most likely pattern list includes: Obtain the prediction patterns for each candidate angle and the coarse selection cost for each most likely angle pattern in the most likely pattern list; The candidate angle prediction patterns and the most likely angle pattern are sorted in ascending order of coarse selection cost to generate a candidate prediction pattern sequence.
6. The method according to claim 5, characterized in that, The coarse selection cost of obtaining each candidate angle prediction mode and each most likely angle mode in the most likely mode list includes: Obtain the prediction patterns for each candidate angle, as well as the SAD cost and SATD cost for each most likely angle pattern; For a candidate angle prediction pattern or the most likely angle pattern, the minimum of its SAD cost and SATD cost is taken as the coarse selection cost of the candidate angle prediction pattern or the most likely angle pattern.
7. The method according to any one of claims 1-4, characterized in that, The initial length of the first pattern list is determined in the following way: Obtain the maximum value between the fixed length of the second pattern list and the first preset value; The minimum value between the maximum and the second preset value is used as the initial length of the first pattern list.
8. The method according to claim 1, characterized in that, The step of selecting several angle prediction modes as candidate angle prediction modes from all angle prediction modes includes: Obtain the distribution map of angle prediction patterns; The angle prediction patterns in the vertical, horizontal, and diagonal directions of the angle prediction pattern distribution map are selected as candidate angle prediction patterns.
9. The method according to claim 1, characterized in that, The step of storing the candidate predicted mode sequence into a pre-generated first mode list and a second mode list includes: If the length of the candidate prediction pattern sequence is greater than the fixed length of the second pattern list, then the number of candidate prediction patterns that are sorted first from the candidate prediction pattern sequence and correspond to the fixed length of the second pattern list are extracted and stored in the second pattern list. If the length of the candidate prediction pattern sequence is greater than the initial length of the first pattern list, then the number of candidate prediction patterns that are at the beginning of the candidate prediction pattern sequence and correspond to the initial length of the first pattern list are extracted and stored in the first pattern list.
10. A decision-making device for intra-frame prediction modes, characterized in that, The device includes: The candidate angle prediction mode selection module is used to select several angle prediction modes from all angle prediction modes as candidate angle prediction modes. The most likely pattern list acquisition module is used to obtain the most likely pattern list of the current encoding block; A candidate prediction pattern sequence generation module is used to generate a candidate prediction pattern sequence based on the candidate angle prediction patterns and the most likely pattern list. A sequence storage module is used to store the candidate prediction pattern sequence into a pre-generated first pattern list and a second pattern list; The pattern search module is used to perform angle pattern searches on the remaining angle prediction patterns according to a set search interval sequence, based on each candidate prediction pattern in the first pattern list, and update the first pattern list and the second pattern list with the angle prediction patterns obtained after each pattern search; after all angle pattern searches corresponding to the search interval sequence are completed, the second pattern list obtained in the previous round is updated with DC mode and planar mode to obtain the final second pattern list; wherein, each round of pattern search is performed based on the first pattern list and the second pattern list updated in the previous round of search; wherein, the length of the second pattern list is a fixed length; after each pattern search, the length of the first pattern list is dynamically reduced; The optimal intra-prediction mode determination module is used to determine the optimal intra-prediction mode of the current coding block from the final second mode list. The device further includes: The list length update module is used to reduce the length of the first pattern list after each pattern search in the following way: Subtract 1 from the length of the previously determined first pattern list to obtain the candidate length of the first pattern list; The maximum of the candidate length and the third preset value is used as the updated length of the first pattern list.
11. A video encoding device, characterized in that, The video encoding device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-9.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-9.
13. A computer program product comprising computer-executable instructions, which, when executed by a processor, are used to implement the method of any one of claims 1-9.
Citation Information
Patent Citations
Decision-making method and device for intra-frame prediction mode of high efficiency video coding
CN104883565A
Method and system for determining optimal intra-frame prediction mode
CN106231302A
Prediction mode selecting method and device, and video coding equipment
CN109120926A