Method, apparatus and device for determining motion information of inter prediction, and storage medium
By introducing spatial candidate re-evaluation and optimized index value coding schemes into video coding standards, the problem of low coding efficiency in motion information determination during inter-frame prediction is solved, achieving more efficient motion information determination and bit rate optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
- Filing Date
- 2024-12-19
- Publication Date
- 2026-06-12
AI Technical Summary
In video coding standards, existing technologies suffer from high bit rate overhead and low coding efficiency in determining motion information during inter-frame prediction. This is especially true in inter-frame fusion prediction modes, where spatial candidates are often incorrectly filtered out during the coarse search phase.
By incorporating a re-evaluation process for spatial candidates between the first and second distortion estimation searches, the filtered spatial candidates are re-evaluated and added to the candidate list for a complete search. The absolute transform difference and rate-distortion optimization algorithm is used for accurate distortion estimation, and the index value encoding scheme is optimized to improve encoding efficiency.
This reduces the chance of spatial candidates being incorrectly filtered out during the coarse search stage, improves the coding efficiency and accuracy of video coding, reduces bit rate overhead, and enhances the overall performance of inter-frame prediction.
Smart Images

Figure CN119835426B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of video coding technology, and more specifically, to a method, apparatus, electronic device, storage medium, and computer program product for determining motion information for inter-frame prediction. Background Technology
[0002] In video coding standards such as HEVC, VVC, and ECM, the prediction module is one of the core components. It is divided into two main sub-modules: intra-frame prediction and inter-frame prediction. Inter-frame prediction is further subdivided into ordinary inter-frame prediction mode and intermerge prediction mode. Ordinary inter-frame prediction mode requires each coding block to explicitly write its own motion information (motion vector, prediction direction, reference frame index, etc.) into the bitstream. This method ensures accurate motion compensation but increases bit rate overhead. In contrast, intermerge prediction mode employs a more efficient approach. It allows the current coding block to reuse motion information from surrounding coded blocks, rather than directly storing this information. During this prediction process, the encoder constructs a list containing N motion information candidates and selects the optimal candidate by traversing this list. Since only a merge index value indicating the position of the best candidate needs to be encoded, this method significantly reduces the number of bits required, thereby improving compression efficiency. Summary of the Invention
[0003] This disclosure provides a method, apparatus, electronic device, storage medium, and computer program product for determining motion information for inter-frame prediction.
[0004] According to a first aspect of the present disclosure, a method for determining motion information in inter-frame prediction is provided, comprising: obtaining a motion information candidate list; the motion information candidate list including a plurality of motion information candidates, including at least one spatial candidate; each of the motion information candidates corresponding to an index value; filtering the motion information candidates in the motion information candidate list by means of a first distortion estimation search to obtain a first candidate list; in response to the first spatial candidate being filtered out, updating the first candidate list by re-evaluating the first spatial candidate to obtain a second candidate list; the first spatial candidate belonging to the at least one spatial candidate; and performing distortion estimation on the motion information candidates in the second candidate list by means of a second distortion estimation search to determine target motion information.
[0005] In some exemplary embodiments of this disclosure, the step of updating the first candidate list by re-evaluating the first spatial domain candidate to obtain a second candidate list in response to the first spatial domain candidate being filtered out includes: comparing the distortion estimate of the first spatial domain candidate with a distortion estimate threshold in response to the first spatial domain candidate being filtered out; and adding the first spatial domain candidate to the first candidate list in response to the distortion estimate of the first spatial domain candidate being less than the distortion estimate threshold to obtain the second candidate list.
[0006] In some exemplary embodiments of this disclosure, the method further includes: calculating the distortion estimation threshold using the distortion estimation values corresponding to each motion information candidate in the first candidate list.
[0007] In some exemplary embodiments of this disclosure, the step of filtering motion information candidates in the motion information candidate list through a first distortion estimation search to obtain a first candidate list includes: calculating the sum of absolute transformation differences (SATDCost) corresponding to each motion information candidate in the motion information candidate list through the first distortion estimation search; and filtering according to the SATDCost corresponding to each motion information candidate to obtain the first candidate list.
[0008] In some exemplary embodiments of this disclosure, the step of performing distortion estimation on motion information candidates in the second candidate list through a second distortion estimation search to determine target motion information includes: calculating the rate-distortion cost (RDCost) corresponding to each motion information candidate in the second candidate list through the second distortion estimation search; and determining the target motion information based on the RDCost corresponding to each motion information candidate.
[0009] In some exemplary embodiments of this disclosure, obtaining the motion information candidate list includes: in response to the fact that the number of spatial candidates in the motion information candidate list is greater than two, the encoding bit length of the index values corresponding to the first three motion information candidates in the motion information candidate list is the same.
[0010] In some exemplary embodiments of this disclosure, the encoding bits of the index values corresponding to the first three motion information candidates are two bits.
[0011] In some exemplary embodiments of this disclosure, obtaining the motion information candidate list includes: in response to the number of spatial candidates in the motion information candidate list being less than or equal to two, increasing the number of bits encoded for the index value corresponding to each motion information candidate in the order of the motion information candidate list.
[0012] According to a second aspect of the present disclosure, an inter-frame prediction motion information determination apparatus is provided, comprising: a candidate list acquisition module configured to acquire a motion information candidate list; the motion information candidate list includes a plurality of motion information candidates, including at least one spatial candidate; each of the motion information candidates corresponds to an index value; a first search module configured to filter the motion information candidates in the motion information candidate list through a first distortion estimation search to obtain a first candidate list; a re-evaluation module configured to, in response to the first spatial candidate being filtered out, update the first candidate list by re-evaluating the first spatial candidate to obtain a second candidate list; the first spatial candidate belongs to the at least one spatial candidate; and a second search module configured to perform distortion estimation on the motion information candidates in the second candidate list through a second distortion estimation search to determine target motion information.
[0013] According to a third aspect of the present disclosure, an electronic device is provided, characterized in that it includes: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the executable instructions to implement the motion information determination method for inter-frame prediction as described in any one of the present disclosures.
[0014] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform any of the frame prediction motion information determination methods described in the present disclosure.
[0015] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program / instructions, characterized in that, when the computer program / instructions are executed by a processor, they implement the motion information determination method for inter-frame prediction as described in any one of the present disclosures.
[0016] The motion information determination method for inter-frame prediction provided in this disclosure incorporates a re-evaluation process for spatial candidates between the first distortion estimation search and the second distortion estimation search. This re-evaluation process re-evaluates spatial candidates that were filtered out in the first distortion estimation search, allowing some potentially valid spatial candidates to be added to the candidate list, thus enabling the second distortion estimation search process. This re-evaluation process provides a remedy for the filtering out of spatial candidates, reducing the likelihood of some valid spatial candidates being incorrectly filtered out during the coarse search stage.
[0017] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0019] Figure 1 A schematic diagram of an exemplary system architecture to which the methods of embodiments of this disclosure can be applied is shown.
[0020] Figure 2 This is a flowchart illustrating a method for determining motion information for inter-frame prediction according to an exemplary embodiment.
[0021] Figure 3 This is a flowchart illustrating a spatial candidate re-evaluation method as shown in an example.
[0022] Figure 4 This is a flowchart illustrating a method for configuring index values of motion information candidates, as shown in an example.
[0023] Figure 5 This is a block diagram illustrating an inter-frame prediction motion information determination device according to an exemplary embodiment.
[0024] Figure 6 This is a schematic diagram illustrating the structure of an electronic device suitable for implementing exemplary embodiments of the present disclosure, according to an exemplary embodiment. Detailed Implementation
[0025] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0026] The features, structures, or characteristics described in this disclosure can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced with one or more specific details omitted, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0027] The accompanying drawings are merely illustrative of this disclosure, and the same reference numerals in the drawings denote the same or similar parts, thus omitting repeated descriptions of them. Some block diagrams shown in the drawings do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in at least one hardware module or integrated circuit, or in different network and / or processor devices and / or microcontroller devices.
[0028] The flowchart shown in the accompanying drawings is merely illustrative and does not necessarily include all content and steps, nor does it require execution in the described order. For example, some steps may be broken down, while others may be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0029] In this specification, the terms “a,” “an,” “the,” “the,” and “at least one” are used to indicate the presence of at least one element / component / etc.; the terms “comprising,” “including,” and “having” are used to indicate an open-ended inclusion and to mean that there may be other elements / components / etc. in addition to the listed elements / components / etc.; the terms “first,” “second,” and “third,” etc., are used only as markings and are not a limitation on the number of objects.
[0030] Figure 1 A schematic diagram of an exemplary system architecture to which the methods of embodiments of this disclosure can be applied is shown.
[0031] like Figure 1 As shown, the system architecture may include server 101, network 102, terminal device 103, terminal device 104, and terminal device 105. Network 102 serves as the medium for providing a communication link between terminal device 103, terminal device 104, or terminal device 105 and server 101. Network 102 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.
[0032] Server 101 can be a server that provides various services, such as a back-end management server that supports the devices operated by users using terminal devices 103, 104, or 105. The back-end management server can analyze and process received requests and other data, and feed back the processing results to terminal devices 103, 104, or 105.
[0033] Terminal devices 103, 104, and 105 can be smartphones, tablets, laptops, desktop computers, smart speakers, wearable smart devices, virtual reality devices, augmented reality devices, etc., but are not limited to these.
[0034] It should be understood that Figure 1 The number of terminal devices 103, 104, 105, network 102, and server 101 in the diagram is merely illustrative. Server 101 can be a single physical server, a server cluster consisting of multiple servers, or a cloud server. Depending on actual needs, it can have any number of terminal devices, networks, and servers.
[0035] The steps of the method in the exemplary embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings and examples.
[0036] Figure 2 This is a flowchart illustrating a method for determining motion information for inter-frame prediction according to an exemplary embodiment. Figure 2 The method provided in this embodiment is applied to a client and can be executed by any electronic device, such as those described above. Figure 1 Terminal devices in or Figure 1 The server in, or Figure 1 The terminal devices and servers in the process are executed together, but this disclosure does not limit this.
[0037] In step S210, a motion information candidate list is obtained; the motion information candidate list includes multiple motion information candidates, including at least one spatial candidate; each motion information candidate corresponds to an index value.
[0038] As mentioned earlier, in the inter-frame fusion prediction mode, the encoder uses the motion information (MotionVector, MV) of adjacent blocks in the spatial and temporal domains to construct a list containing M motion information candidates. The encoder then iterates through the list to select the optimal candidate and uses the optimal candidate to predict the motion information of the current block.
[0039] In the Video Coding Standard (VVC), this inter-frame fusion prediction mode utilizes temporal or spatial adjacent blocks to construct a motion information candidate list containing up to six motion information candidates. There are five types of motion information candidates: spatial candidates, temporal candidates, history-based Merge Vector Prediction (HMVP), paired average candidates, and zero candidates.
[0040] The spatial candidate list utilizes motion information from neighboring blocks of the current block as motion information candidates. Specifically, it prioritizes motion information from the top-right, bottom-left, top-right nearest, and bottom-left nearest neighbors of the current block, adding them to the candidate list in a preset order. If any of these four positions is unavailable, the top-left neighbor block is added as a substitute to ensure that the final list contains a maximum of four valid motion information candidates.
[0041] Temporal candidates utilize motion information from neighboring reference frames of the current block as motion information candidates. Unlike spatial candidates, temporal candidates cannot directly use the motion information of candidate blocks; they require scaling adjustments based on the positional relationship between the current block and the reference frames to determine the temporal candidate. The spatial candidate provides a maximum of one motion information candidate.
[0042] Based on historical information, a 6-bit First-In-First-Out (FIFO) table is used to record motion information of coded blocks. Whenever a new inter-frame coded CU is encountered, its motion information is added to the end of the table after passing a redundancy check, ensuring that the table does not contain duplicate candidates. When constructing the candidate list, the process starts from the latest candidate in the HMVP table and checks backwards, adding non-redundant HMVP candidates sequentially to the candidate list until the list reaches a length of 5. This approach effectively utilizes historical motion information, improving prediction accuracy and coding efficiency.
[0043] The average candidate is generated by averaging the motion information of the first two candidates in the candidate list when there are already at least two motion information candidates in the list. This is done by averaging the motion information of the first two candidates in the list according to predefined rules.
[0044] Zero candidate: When the candidate list of motion information is not full, the candidate list is filled with zero motion information (Zero MV) until the candidate list reaches the maximum length.
[0045] During the construction of the motion information candidate list, suitable motion information candidates are sequentially searched and added to the list in the order described above until the list reaches its maximum length (a VVC can contain a maximum of six MVs). If the candidate list is full during this process, no further selection of motion information candidates is performed; if the candidate list is not full, the search continues in the same order.
[0046] It should be noted that the process of constructing the motion information candidate list described above involves sequentially searching for motion information candidates and filling them into the motion information candidate list in that order. This is because motion information candidates that are identified earlier in this order have a greater probability of being selected as the final target motion information. Therefore, the various motion information candidates are also arranged in this order in the motion information candidate list.
[0047] In this embodiment of the disclosure, the motion information candidate list can be obtained through the methods described above or through subsequent evolution. The motion information candidate list includes multiple motion information candidates. It is assumed that the motion information candidate list includes M motion information candidates. This number is not limited to the six defined in the Video Coding Standard (VVC), and can be more or fewer. The motion information candidate list includes at least one spatial candidate.
[0048] In addition, after determining the motion information candidate list, a corresponding index value is assigned to each motion information candidate according to its position in the list. This index value corresponds one-to-one with each motion information candidate. After determining the optimal candidate through this inter-frame fusion prediction mode, only the index value corresponding to that candidate needs to be sent to the decoder; there is no need to encode the reference frame index, motion vector difference (MVD), or other motion information. This index value is represented in binary form.
[0049] In step S220, the motion information candidates in the motion information candidate list are filtered by the first distortion estimation search to obtain the first candidate list.
[0050] In this embodiment, to reduce the computational complexity of evaluating each motion information candidate in the motion information candidate list and improve the overall video coding efficiency, a two-round search process—rough search and full search—is used to estimate the distortion of each motion information candidate. The first distortion estimation search is the rough search. This first distortion estimation search employs a distortion estimation algorithm with low computational complexity but some error, calculating the distortion estimate value of each motion information candidate in the motion information candidate list, and filtering the motion information candidate list based on the calculated distortion estimate value to obtain a first candidate list. Assume that the first candidate list includes N motion information candidates. Since the first candidate list is filtered out by the first distortion estimation search to remove motion information candidates with larger distortion estimates, N... <M。
[0051] In an exemplary embodiment, the first distortion estimation search employs the Sum of Absolute Transformed Differences (SATD) algorithm to calculate the SATDCost corresponding to each motion information candidate. This SATDCost is used as the distortion estimate for each motion information candidate during the coarse search process. The SATD algorithm has low computational complexity, which can greatly improve the computational efficiency during the coarse search process; however, there is a certain error between the SATDCost and the true distortion. The first candidate list is obtained by filtering based on the SATDCost corresponding to each motion information candidate. The filtering criteria for motion information candidates based on this SATDCost can be adjusted according to actual needs, and this disclosure does not limit this adjustment.
[0052] In step S230, in response to the first airspace candidate being filtered out, the first candidate list is updated by re-evaluating the first airspace candidate to obtain a second candidate list; the first airspace candidate belongs to the at least one airspace candidate.
[0053] Based on experience, the motion correlation between adjacent blocks is usually high; that is, the aforementioned spatial candidates have the highest motion correlation with the current block to be encoded and are most likely to be identified as the optimal candidates. As mentioned earlier, although the coarse search process of the first distortion estimation search is computationally efficient, it also has the drawback of certain errors. Due to these errors, some valid spatial candidates are often not effectively screened out in this coarse search stage, resulting in some spatial candidates not entering the complete search stage.
[0054] In this embodiment of the disclosure, a re-evaluation process is set up for the airspace candidates that are filtered out in the coarse search stage, so that some potentially valid airspace candidates are re-evaluated and added to the candidate list, thereby enabling a complete search process.
[0055] In this embodiment of the disclosure, in response to the spatial domain candidates that have not been filtered out after the first distortion estimation search, the second distortion estimation search process is directly performed based on the aforementioned first candidate list.
[0056] In this embodiment of the disclosure, in response to the first spatial domain candidate being filtered out after the first distortion estimation search, the first spatial domain candidate is re-evaluated to obtain a re-evaluation result. Based on the re-evaluation result, it is determined whether the first spatial domain candidate needs to be added to the candidate list. If it is determined that addition is needed based on the re-evaluation result, the first spatial domain candidate is added to the first candidate list, resulting in an updated second candidate list. The first spatial domain candidate belongs to any spatial domain candidate in the motion information candidate list. It should be noted that the re-evaluated first spatial domain candidate can be one or more. This disclosure provides a remedy for the filtering out of spatial domain candidates through this re-evaluation process, reducing the possibility that some valid spatial domain candidates are incorrectly filtered out during the coarse search stage.
[0057] In an exemplary embodiment, the motion information candidate list includes M motion information candidates. After a first distortion estimation search, a first candidate list containing N motion information candidates is obtained. After the re-evaluation process, k spatial candidates are added back to the candidate list. At this point, after the re-evaluation process, there are a total of N+k motion information candidates in the second candidate list. A complete search will then be performed on these N+k motion information candidates.
[0058] In step S240, the motion information candidates in the second candidate list are subjected to distortion estimation through a second distortion estimation search to determine the target motion information.
[0059] In this embodiment of the disclosure, for the second candidate list supplemented by the re-evaluation process, a second distortion estimation search is used to perform distortion estimation on each motion information candidate. This second distortion estimation search is a complete search. Although both the second and the aforementioned first distortion estimation search require distortion estimation on each motion information candidate, they employ different distortion estimation algorithms. The second distortion estimation search uses a distortion estimation algorithm with higher computational complexity but smaller error. Based on the distortion estimation values of each motion information candidate calculated by the second distortion estimation search, the target motion information is determined.
[0060] In an exemplary embodiment, the second distortion estimation search employs a rate-distortion optimization (RDO) algorithm to calculate the RDCost corresponding to each motion information candidate. This RDCost is used as the distortion estimate for each motion information candidate during the complete search process. Although the RDO algorithm has higher computational complexity than the aforementioned SATD algorithm, it provides more accurate distortion estimates. A smaller RDCost indicates lower distortion for the motion information candidate. Based on this, the optimal candidate can be determined from the second candidate list as the target motion information for the current block to be encoded.
[0061] The motion information determination method for inter-frame prediction provided in this disclosure incorporates a re-evaluation process for spatial candidates between the first distortion estimation search and the second distortion estimation search. This re-evaluation process re-evaluates spatial candidates that were filtered out in the first distortion estimation search, allowing some potentially valid spatial candidates to be added to the candidate list, thus enabling the second distortion estimation search process. This re-evaluation process provides a remedy for the filtering out of spatial candidates, reducing the likelihood of some valid spatial candidates being incorrectly filtered out during the coarse search stage.
[0062] Figure 3 This is a flowchart illustrating a spatial candidate re-evaluation method. For example... Figure 3 As shown, step S230 may include the following steps.
[0063] In step S310, in response to the first spatial candidate being filtered out, the distortion estimate of the first spatial candidate is compared with the distortion estimate threshold.
[0064] In this embodiment of the disclosure, a first distortion estimate value is calculated for each motion information candidate in the motion information candidate list through a first distortion estimate search. The motion information candidate list is then filtered based on these first distortion estimates to obtain a first candidate list. In response to a first spatial domain candidate being filtered out, the first distortion estimate value of that first spatial domain candidate is compared with a distortion estimate threshold. This comparison determines whether the first spatial domain candidate meets the re-evaluation criteria.
[0065] In an exemplary embodiment, the distortion estimation threshold is a pre-set fixed threshold.
[0066] In an exemplary embodiment, the distortion estimation threshold is calculated using the first distortion estimation value corresponding to each motion information candidate in the first candidate list.
[0067] In an exemplary embodiment, the distortion estimation threshold can be calculated based on the average of the first distortion estimates corresponding to each motion information candidate in the first candidate list. The relevant calculation formula is as follows:
[0068]
[0069] Among them, SATDCost base For distortion estimation threshold, SATDCost i Let N be the first distortion estimate corresponding to each motion information candidate in the first candidate list, N be the number of motion information candidates in the first candidate list, and weight be the adjustment weight. Since the smaller the distortion estimate, the better, the adjustment weight should be greater than 1, for example, the adjustment weight can be 1.25.
[0070] In step S320, in response to the distortion estimate of the first spatial domain candidate being less than the distortion estimate threshold, the first spatial domain candidate is added to the first candidate list to obtain the second candidate list.
[0071] In this embodiment of the disclosure, in response to the first distortion estimate of the first spatial domain candidate being less than the distortion estimate threshold, it indicates that the distortion estimate of the first spatial domain candidate is relatively close to the motion information candidate in the first candidate list. Therefore, the first spatial domain candidate is added to the first candidate list to obtain the second candidate list.
[0072] In this embodiment of the disclosure, if the first distortion estimate of the first spatial domain candidate is greater than or equal to the distortion estimate threshold, it indicates that the distortion estimate of the first spatial domain candidate is significantly larger than the distortion of the motion information candidate in the first candidate list. Therefore, the first spatial domain candidate is not added to the first candidate list, i.e., the first spatial domain candidate is filtered out.
[0073] The motion information determination method for inter-frame prediction provided in this disclosure offers a specific re-evaluation scheme for rejected spatial candidates. This scheme generates a distortion estimation threshold based on the distortion estimates of each candidate in a first candidate list obtained through a coarse search. The distortion estimates of the rejected spatial candidates are then compared with those of each candidate in the first candidate list based on this threshold. If the distortion estimate of the first spatial candidate is close to that of each candidate in the first candidate list, the first spatial candidate is added to the first candidate list, allowing it to undergo a complete search process.
[0074] Figure 4 This is a flowchart illustrating a method for configuring index values of motion information candidates, as shown in the example. Figure 4 As shown, step S210 may include the following steps.
[0075] In step S410, it is determined whether the number of spatial candidates in the motion information candidate list is greater than two.
[0076] In inter-frame fusion prediction mode, the encoder sends the index value corresponding to the determined optimal candidate to the decoder. Therefore, the encoding method of the selected candidate's index value will affect the encoding efficiency of the video. If the selected candidate's index value has fewer encoded bits, the encoding efficiency is higher. Conversely, if the selected candidate's index value has more encoded bits, the encoding efficiency is lower.
[0077] As mentioned earlier, following the motion information candidate list construction process, motion information candidates that appear earlier in the sequence have a greater probability of being selected as the final target motion information. Therefore, during the candidate list construction process, motion information candidates that appear earlier in the sequence are assigned index values with fewer encoding bits, in the hope that selecting such a candidate will improve overall encoding efficiency.
[0078] Practical experience has shown that the probability of selecting each spatial candidate in a candidate list is generally quite similar. Therefore, when the motion information candidate list includes more than two spatial candidates, allocating different coding bits to each spatial candidate is not the optimal index value coding scheme. Based on this, this disclosure provides different coding schemes for the index values of each candidate to further optimize video coding efficiency. This scheme determines whether the number of spatial candidates in the motion information candidate list is greater than two, and selects which index value coding scheme to use based on the number of spatial candidates in the motion information candidate list.
[0079] In step S420, in response to the fact that the number of spatial candidates in the motion information candidate list is greater than two, each motion information candidate is configured using the first index value encoding scheme.
[0080] In this embodiment of the disclosure, in response to the fact that the number of spatial candidates in the motion information candidate list is greater than two, that is, the motion information candidate list includes at least three spatial candidates, a first index value encoding scheme is used to configure each motion information candidate. In this first index value encoding scheme, the encoding bit length of the index values corresponding to the first three motion information candidates in the motion information candidate list is the same. In this way, regardless of which of the three spatial candidates is selected as the optimal candidate, its corresponding index value is encoded with the same encoding bit length.
[0081] In an exemplary embodiment, the first index value encoding scheme encodes the index values according to the scheme in Table 1 below. Specifically, it is guaranteed that the encoding bits for the index values corresponding to the first three motion information candidates are at least two bits. Thus, regardless of which of the three spatial candidates is selected as the optimal candidate, its corresponding index value only requires two encoding bits. The overall encoding efficiency of this index value encoding scheme is superior. It should be noted that this disclosure does not specifically limit the index value encoding scheme for the fourth to sixth motion information candidates.
[0082]
[0083]
[0084] Table 1
[0085] In step S430, in response to the fact that the number of spatial candidates in the motion information candidate list is less than or equal to two, each motion information candidate is configured using the second index value encoding scheme.
[0086] In this embodiment of the disclosure, in response to the fact that the number of spatial candidates in the motion information candidate list is less than or equal to two, i.e., at most two spatial candidates in the motion information candidate list, a second index value encoding scheme is adopted to configure each motion information candidate. In this second index value encoding scheme, the number of encoding bits for the index value corresponding to each motion information candidate increases sequentially according to its order in the motion information candidate list. In this way, spatial candidates ranked at the beginning of the motion information candidate list can obtain a better index value encoding scheme.
[0087] In an exemplary embodiment, the second index value encoding scheme encodes the index values according to the scheme in Table 2 below. The index value encoding bits for the six motion information candidates in the motion information candidate list range from 1 to 5 bits, respectively. Thus, the first two spatial candidates correspond to 1 and 2 bits, respectively, resulting in better encoding efficiency.
[0088] Index value Corresponding candidate 0 Select the 0th candidate. 10 Select the first candidate. 110 Choose the second candidate 1110 Choose the third candidate 11110 Select the 4th candidate 11111 Choose the 5th step size
[0089] Table 2
[0090] The motion information determination method for inter-frame prediction provided in this disclosure offers differentiated index value encoding schemes based on the number of spatial candidates in the motion information candidate list. When the candidate list includes at least three spatial candidates, the encoding bit depth of each spatial candidate is made the same; when the candidate list includes no more than two spatial candidates, the first two spatial candidates receive a better index value encoding scheme. This scheme provides differentiated index value encoding schemes based on the different numbers of spatial candidates in the motion information candidate list, resulting in better encoding efficiency for the final video encoding.
[0091] The following are embodiments of the apparatus disclosed herein, which can be used to execute embodiments of the method disclosed herein. For details not disclosed in the apparatus embodiments of this disclosure, please refer to the embodiments of the method disclosed herein.
[0092] Figure 5 This is a block diagram illustrating an inter-frame predicted motion information determination apparatus according to an exemplary embodiment. (Refer to...) Figure 5 The motion information determination device 500 for inter-frame prediction may include: a candidate list acquisition module 510, a first search module 520, a re-evaluation module 530, and a second search module 540.
[0093] The candidate list acquisition module 510 is configured to acquire a motion information candidate list; the motion information candidate list includes multiple motion information candidates, including at least one spatial candidate; each of the motion information candidates corresponds to an index value.
[0094] The first search module 520 is configured to filter motion information candidates in the motion information candidate list through a first distortion estimation search to obtain a first candidate list.
[0095] The re-evaluation module 530 is configured to update the first candidate list and obtain a second candidate list in response to the first airspace candidate being filtered out by re-evaluating the first airspace candidate; the first airspace candidate belongs to the at least one airspace candidate.
[0096] The second search module 540 is configured to perform distortion estimation on the motion information candidates in the second candidate list through a second distortion estimation search to determine the target motion information.
[0097] In some exemplary embodiments of this disclosure, the re-evaluation module 530 is further configured to, in response to the first spatial candidate being filtered out, compare the distortion estimate of the first spatial candidate with a distortion estimate threshold; and in response to the distortion estimate of the first spatial candidate being less than the distortion estimate threshold, add the first spatial candidate to the first candidate list to obtain the second candidate list.
[0098] In some exemplary embodiments of this disclosure, the distortion estimation threshold is calculated using the distortion estimation values corresponding to each motion information candidate in the first candidate list.
[0099] In some exemplary embodiments of this disclosure, the first search module 520 is further configured to calculate the sum of absolute transformation differences (SATDCost) corresponding to each motion information candidate in the motion information candidate list through the first distortion estimation search; and to filter according to the SATDCost corresponding to each motion information candidate to obtain the first candidate list.
[0100] In some exemplary embodiments of this disclosure, the second search module 540 is further configured to calculate the rate-distortion cost (RDCost) corresponding to each motion information candidate in the second candidate list through the second distortion estimation search; and determine the target motion information based on the RDCost corresponding to each motion information candidate.
[0101] In some exemplary embodiments of this disclosure, the candidate list acquisition module 510 is further configured to respond to a situation where the number of spatial candidates in the motion information candidate list is greater than two, and the encoding bit length of the index values corresponding to the first three motion information candidates in the motion information candidate list is the same.
[0102] In some exemplary embodiments of this disclosure, the encoding bits of the index values corresponding to the first three motion information candidates are two bits.
[0103] In some exemplary embodiments of this disclosure, the candidate list acquisition module 510 is further configured to, in response to the number of spatial candidates in the motion information candidate list being less than or equal to two, increment the encoding bit length of the index value corresponding to each motion information candidate in the order of the motion information candidate list.
[0104] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0105] The following reference Figure 6 To describe an electronic device 600 according to such an embodiment of the present disclosure. Figure 6 The electronic device 600 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0106] like Figure 6As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including storage unit 620 and processing unit 610), and a display unit 640.
[0107] The storage unit stores program code, which can be executed by the processing unit 610 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 610 can perform actions such as... Figure 2 The steps shown.
[0108] For example, electronic devices can achieve such Figure 2 The steps shown.
[0109] Storage unit 620 may include readable media in the form of volatile storage units, such as random access memory (RAM) 621 and / or cache memory 622, and may further include read-only memory (ROM) 623.
[0110] Storage unit 620 may also include a program / utility 624 having a set (at least one) of program modules 625, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0111] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0112] Electronic device 600 can also communicate with one or more external devices 670 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 660. As shown, network adapter 660 communicates with other modules of electronic device 600 via bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0113] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0114] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory including instructions that can be executed by a processor of the device to perform the described method. Optionally, the computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0115] In an exemplary embodiment, a computer program product is also provided, including a computer program / instructions that, when executed by a processor, implement the methods described above.
[0116] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0117] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A method for determining motion information in inter-frame prediction, characterized in that, include: Obtain a motion information candidate list; the motion information candidate list includes multiple motion information candidates, including at least one spatial candidate; Each of the motion information candidates corresponds to an index value; The motion information candidates in the motion information candidate list are filtered by the first distortion estimation search to obtain the first candidate list; In response to the first airspace candidate being filtered out, the first candidate list is updated by re-evaluating the first airspace candidate to obtain a second candidate list; the first airspace candidate belongs to the at least one airspace candidate. The motion information in the second candidate list is determined by performing distortion estimation on the motion information candidates in the second candidate list through a second distortion estimation search. In response to the first airspace candidate being filtered out, the first candidate list is updated by re-evaluating the first airspace candidate to obtain a second candidate list, including: In response to the first spatial domain candidate being filtered out, the distortion estimate of the first spatial domain candidate is compared with the distortion estimate threshold; In response to the distortion estimate of the first spatial domain candidate being less than the distortion estimate threshold, the first spatial domain candidate is added to the first candidate list to obtain the second candidate list.
2. The method according to claim 1, characterized in that, The method further includes: The distortion estimation threshold is calculated by using the distortion estimation value corresponding to each motion information candidate in the first candidate list.
3. The method according to claim 1, characterized in that, The step of filtering motion information candidates in the motion information candidate list through a first distortion estimation search to obtain a first candidate list includes: The absolute transformation difference and cost (SATDCost) corresponding to each motion information candidate in the motion information candidate list are calculated by the first distortion estimation search. The first candidate list is obtained by filtering the candidates based on the SATDCost corresponding to each motion information candidate.
4. The method according to claim 1, characterized in that, The step of performing distortion estimation on the motion information candidates in the second candidate list through a second distortion estimation search to determine the target motion information includes: The rate-distortion cost (RDCost) corresponding to each motion information candidate in the second candidate list is calculated by searching the second distortion estimation. The target motion information is determined based on the RDCost corresponding to each motion information candidate.
5. The method according to claim 1, characterized in that, The candidate list for obtaining motion information includes: In response to the fact that the number of spatial candidates in the motion information candidate list is greater than two, the encoding bit length of the index values corresponding to the first three motion information candidates in the motion information candidate list is the same.
6. The method according to claim 5, characterized in that, The index values corresponding to the first three motion information candidates are encoded with two bits.
7. The method according to claim 1, characterized in that, The candidate list for obtaining motion information includes: In response to the fact that the number of spatial candidates in the motion information candidate list is less than or equal to two, the number of bits encoded for the index value corresponding to each motion information candidate increases sequentially according to the order in the motion information candidate list.
8. A motion information determination device for inter-frame prediction, characterized in that, include: The candidate list acquisition module is configured to acquire a motion information candidate list; the motion information candidate list includes multiple motion information candidates, including at least one spatial candidate; each of the motion information candidates corresponds to an index value. The first search module is configured to filter motion information candidates in the motion information candidate list through a first distortion estimation search to obtain a first candidate list; The re-evaluation module is configured to, in response to the first airspace candidate being filtered out, update the first candidate list by re-evaluating the first airspace candidate to obtain a second candidate list; the first airspace candidate belongs to the at least one airspace candidate. The second search module is configured to perform distortion estimation on the motion information candidates in the second candidate list through a second distortion estimation search to determine the target motion information. The re-evaluation module is further configured to compare the distortion estimate of the first spatial domain candidate with a distortion estimate threshold in response to the first spatial domain candidate being filtered out. In response to the distortion estimate of the first spatial domain candidate being less than the distortion estimate threshold, the first spatial domain candidate is added to the first candidate list to obtain the second candidate list.
9. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the executable instructions to implement the motion information determination method for inter-frame prediction as described in any one of claims 1 to 7.
10. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the motion information determination method for inter-frame prediction as described in any one of claims 1 to 7.
11. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the motion information determination method for inter-frame prediction as described in any one of claims 1 to 7.