A data processing method and device, computer equipment and a storage medium

By using a recursive partitioning strategy set and encoding parameter judgment, the block partitioning result of video frames can be quickly determined, solving the problem of high complexity in traditional video encoding and achieving an efficient encoding process.

CN115767103BActive Publication Date: 2026-07-24TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2022-11-01
Publication Date
2026-07-24

AI Technical Summary

Technical Problem

In traditional video encoding, the block division strategy for video frames involves multiple combinations, resulting in extremely high encoding complexity and impacting encoding efficiency.

Method used

A set of recursive partitioning strategies is adopted. By traversing the recursive partitioning results of N partitioning strategies, the encoding parameters are obtained to determine whether the block partitioning conditions are met, and the target partitioning result is directly determined, avoiding unnecessary attempts at non-partitioning strategies.

Benefits of technology

It reduces the complexity of the encoding process, reduces encoding time and computational resource overhead, and improves encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115767103B_ABST
    Figure CN115767103B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a data processing method and device, computer equipment and a storage medium, which are suitable for the field of data transmission in cloud technology, and include the following steps: obtaining a recursive division strategy set for a to-be-encoded unit in a target video frame; the recursive division strategy set includes N division strategies; the N division strategies include a division strategy G i ; performing block division on the to-be-encoded unit according to the division strategy G i , to obtain a recursive division result R i under the division strategy G i ; the recursive division result R i includes to-be-encoded sub-units obtained based on the division strategy G i ; traversing encoding parameters of to-be-encoded sub-units included in N recursive division results corresponding to the N division strategies respectively, until an encoding parameter that is traversed indicates that the to-be-encoded unit satisfies a block division condition, and then determining a target division result of the to-be-encoded unit according to the N recursive division results. By using the embodiments of the present application, the encoding complexity can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, computer equipment, and storage medium. Background Technology

[0002] In traditional video coding, when dividing a video frame into blocks to be encoded, multiple partitioning strategies are often tried to obtain a more accurate encoding result. The final partition, which offers the best rate-distortion cost, is then selected as the target partition for the encoded unit. These multiple partitioning strategies include no partitioning, horizontal binary partitioning, vertical binary partitioning, and so on. This means that the computer needs to try each partitioning strategy sequentially and indiscriminately. Furthermore, due to the numerous combinations of different partitioning methods, the decision to determine the final partition is extremely complex throughout the entire coding process. Summary of the Invention

[0003] This application provides a data processing method, apparatus, computer equipment, and storage medium that can reduce coding complexity.

[0004] One embodiment of this application provides a data processing method, including: Obtain a set of recursive partitioning strategies for the units to be encoded in the target video frame; the set of recursive partitioning strategies includes N partitioning strategies; N is a positive integer; the N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; According to the partitioning strategy G i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The result of the recursive partitioning is R. i Including partitioning strategy G i The obtained subunit to be encoded; The encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results corresponding to the N partitioning strategies are traversed until the encoding parameters indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the target partitioning result of the sub-units to be encoded is determined based on the N recursive partitioning results.

[0005] One embodiment of this application provides a data processing apparatus, including: The strategy set acquisition module is used to acquire a recursive partitioning strategy set for the units to be encoded in the target video frame; the recursive partitioning strategy set includes N partitioning strategies; N is a positive integer; the N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; The block partitioning module is used to partition the data according to the partitioning strategy G. i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The result of the recursive partitioning is R. i Including partitioning strategy G i The obtained subunit to be encoded; The first target result determination module is used to traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results corresponding to the N partitioning strategies, until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning conditions. Then, based on the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

[0006] The first target result determination module includes: The result traversal unit is used to sequentially traverse the N recursive partitioning results corresponding to the N partitioning strategies; The encoding parameter acquisition unit is used to retrieve the recursive partition result R. i When recursively partitioning, obtain the result R. i The encoding parameters of the included subunits to be encoded; The first result determination unit is used if the recursive partition result R... i The encoding parameters of the included subunits to be encoded indicate that the subunits to be encoded meet the block partitioning conditions. Then, based on the N recursive partitioning results, the target partitioning result of the subunits to be encoded is determined. The second result determination unit is used if the recursive partitioning result R... i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, then the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed are checked until the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the target partitioning result of the sub-units to be encoded is determined based on the N recursive partitioning results.

[0007] The encoding parameter acquisition unit includes: The first determined subunit is used to traverse to the recursive partitioning result R. i At that time, from the recursive partitioning result R i The sub-unit C to be encoded is determined from the included sub-units to be encoded. j j is less than or equal to M i positive integers; M i R is used to characterize the result of recursive partitioning. i The total number of sub-units to be encoded in M; i It is a positive integer greater than 1; Prediction mode acquisition sub-unit, used to acquire the sub-unit C to be encoded. jThe prediction model selected when using a non-segmentation strategy; The state parameter determination subunit is used to determine the subunit C to be encoded based on block partitioning constraints. j The partitioning state parameters include either a first state parameter or a second state parameter; the first state parameter is used to characterize the subunit C to be encoded. j The optimal partitioning strategy is no partitioning; the second state parameter is used to characterize the sub-unit C to be encoded. j The optimal partitioning strategy belongs to the set of recursive partitioning strategies; Encoding parameters determine the sub-unit, used to encode the sub-unit C. j The prediction pattern and the subunit to be encoded C j The partitioning state parameters are used as the sub-units to be encoded, C. j The encoding parameters.

[0008] The prediction modes include intra-frame prediction mode and inter-frame prediction mode; the intra-frame prediction mode includes X1 prediction modes; the inter-frame prediction mode includes X2 prediction modes; X1 and X2 are both positive integers. This prediction model, which acquires sub-units, is also used for: During intra-frame prediction, it is determined that the sub-unit C to be coded is selected using X1 prediction modes. j When performing prediction processing, the rate-distortion cost corresponding to each of the X1 prediction modes is used to determine the optimal intra-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X1 prediction modes is taken as the optimal intra-frame prediction mode. During inter-frame prediction, it is determined that X2 prediction modes are used, and the sub-units to be coded, C, are respectively... j When performing prediction processing, the rate-distortion cost corresponding to each of the X2 prediction modes is used to determine the optimal inter-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X2 prediction modes is taken as the optimal inter-frame prediction mode. From the optimal intra-frame prediction mode and the optimal inter-frame prediction mode, the prediction mode corresponding to the optimal rate-distortion cost is selected as the sub-unit C to be encoded. j The prediction model selected when using a non-segmentation strategy.

[0009] The block partitioning constraints include a first constraint; the first constraint includes a threshold for the number of partitions. This state parameter determines that the subunit is also used for: Statistical analysis of the subunit C to be encoded j The number of times the unit to be encoded is divided; If the number of partitions reaches the partition threshold, then the subunit C to be encoded is determined. j If the first constraint condition is met, the first state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters; If the number of partitions does not reach the threshold, then obtain the subunit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the first constraint is not met, the second state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0010] The block partitioning constraints include a second constraint; the second constraint includes a partitioning size threshold. This state parameter determines that the subunit is also used for: Obtain the subunit C to be encoded j Image size; If the image size is less than or equal to the segmentation size threshold, then the subunit C to be encoded is determined. j If the second constraint condition is met, the first state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters; If the image size is larger than the segmentation size threshold, then obtain the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the second constraint is not met, the second state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0011] Among them, the recursive partitioning result R i Including M i One subunit to be encoded; M i The sub-units to be encoded are based on the partitioning strategy G. i The result obtained after dividing the unit to be encoded into blocks; M i It is a positive integer greater than 1; the block partitioning conditions include a first block partitioning condition associated with the prediction mode and a second block partitioning condition associated with the state partitioning parameters; The first result determination unit includes: The first condition satisfies the sub-unit, used if M i M corresponding to each subunit to be encoded i If all the prediction modes in the coding parameters are valid and there are at least two sub-units to be coded whose prediction modes are different, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the first block partitioning condition, and the second block partitioning condition is used to modify M. i Analyze the partitioning state parameters among the encoding parameters; The second condition satisfies the sub-unit, used if M iIf at least one of the partitioning state parameters in the encoding parameters belongs to the second state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded satisfy the second block partitioning condition; the second state parameter is used to characterize that the optimal partitioning strategy of the corresponding sub-unit to be encoded belongs to the set of recursive partitioning strategies. The block partitioning condition satisfies the sub-unit, which is used to determine the recursive partitioning result R when both the first and second block partitioning conditions are satisfied. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the block partitioning conditions; The second determining subunit is used to obtain the rate-distortion costs obtained by the N recursive partitioning results in the prediction process, select the optimal rate-distortion cost from the N rate-distortion costs, and take the partitioning result corresponding to the selected optimal rate-distortion cost as the target partitioning result of the unit to be encoded.

[0012] The second result determination unit includes: The first condition is not satisfied in the sub-unit, used if M i M corresponding to each subunit to be encoded i If all predicted patterns in the coding parameters are valid and identical, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the first block partitioning conditions; The third determining subunit is used to determine the recursive partitioning result R when the first block partitioning condition is not met. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions; The fourth step is to determine the sub-unit, which involves traversing the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the encoding parameters of the traversed sub-units indicate that the sub-units to be encoded meet the block partitioning conditions. Then, based on the N recursive partitioning results, the target partitioning result of the sub-units to be encoded is determined.

[0013] The second result determination unit further includes: The second condition is not satisfied in the sub-unit, used if M i M corresponding to each subunit to be encoded i If all the partitioning state parameters in the encoding parameters belong to the first state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded do not meet the second block partitioning condition; the first state parameter is used to characterize that the optimal partitioning strategy for the corresponding sub-units to be encoded is a no-partitioning strategy; The fifth determining subunit is used to determine the recursive partitioning result R when the second partitioning condition is not met. iThe encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions; The sixth step is to determine the sub-unit, which involves traversing the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the traversed encoding parameters indicate that the unit to be encoded satisfies the block partitioning condition. Then, based on the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

[0014] The device also includes: End the traversal module, used if M i If there is an invalid prediction pattern among the prediction patterns in the coding parameters, then the traversal of the coding parameters of the untraversed recursive partition results in the N recursive partition results ends. The no-partition strategy is determined as the partition strategy of the unit to be encoded, and the unit to be encoded is determined as the original partition result under the no-partition strategy. The second target result determination module is used to determine the target partitioning result of the unit to be encoded based on the original partitioning result and N recursive partitioning results.

[0015] The device also includes: The original result determination module is used when the recursive partition result R is reached. i If the encoding parameters of the included subunits to be encoded indicate that the subunits to be encoded do not meet the block partitioning conditions, and i equals N, then the no-partitioning strategy is determined as the partitioning strategy of the subunits to be encoded, and the subunits to be encoded are determined as the original partitioning result under the no-partitioning strategy. The third target result determination module is used to determine the target partitioning result of the unit to be encoded based on the original partitioning result and N recursive partitioning results.

[0016] The second target result determination module includes: The first indicator acquisition unit is used to acquire the first rate distortion cost obtained by the original partitioning result in the prediction process; The second indicator acquisition unit is used to acquire the second rate distortion cost obtained by N recursive partitioning results in the prediction process. The third result determination unit is used to select the optimal rate distortion cost from the first rate distortion cost and N second rate distortion costs, and to take the partitioning result corresponding to the optimal rate distortion cost as the target partitioning result of the unit to be encoded.

[0017] The device also includes: The target frame determination module is used to obtain the video frame to be encoded from the video data, determine the frame type of the video frame, and when the frame type of the video frame belongs to the target frame type, the video frame is used as the target video frame; the target frame type belongs to the non-key frame type. The image block determination module is used to perform image block division processing on the target video frame through the video encoder to obtain one or more image blocks corresponding to the target video frame. The module for determining the unit to be encoded is used to determine the unit to be encoded in the target video frame based on one or more image blocks.

[0018] This application provides a computer device, including: a processor, a memory, and a network interface; The processor is connected to a memory and a network interface. The network interface is used to provide data communication functions, the memory is used to store computer programs, and the processor is used to call the computer programs so that the computer device executes the methods provided in the embodiments of this application.

[0019] One aspect of this application provides a computer-readable storage medium storing a computer program adapted to be loaded and executed by a processor, so that a computer device having the processor performs the method provided in this application.

[0020] One aspect of this application provides a computer program product, which includes a computer program stored in a computer-readable storage medium; a processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method described in this application.

[0021] In this embodiment, when a computer device with video encoding capabilities encodes a unit to be encoded in a target video frame, it first obtains a set of recursive partitioning strategies, including N partitioning strategies. The unit to be encoded is then partitioned into blocks sequentially according to these N partitioning strategies, resulting in recursive partitioning results corresponding to each of the N partitioning strategies. Since the computer device needs to try N partitioning strategies first, it can obtain the encoding information already present in the encoding process of these N recursive partitioning results, i.e., the encoding parameters of the sub-units to be encoded contained in each of the N recursive partitioning results. This information can then be traversed until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning condition. At this point, the computer device can quickly determine the target partitioning result of the unit to be encoded directly based on the N recursive partitioning results without trying any partitioning strategies. Therefore, it can be seen that the encoding parameters of the sub-units to be encoded included in the recursive partitioning results in this application embodiment are the basis for the computer device to determine whether the sub-units to be encoded need to adopt the no-partitioning strategy. Moreover, the encoding parameters of the sub-units to be encoded included in the recursive partitioning results are the encoding information already present in the encoding process. That is, this application embodiment does not require additional highly complex analysis operations to obtain the basis for judgment. This means that the fast partitioning method provided by this application embodiment does not need to introduce additional complexity and can quickly determine whether the no-partitioning strategy needs to be adopted when the sub-units to be encoded meet the block partitioning conditions. This can reduce the encoding complexity of the block partitioning decision in the entire encoding process, thereby reducing the encoding time and the overhead of computing resources. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the 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.

[0023] Figure 1a This is a schematic diagram of a network architecture provided in an embodiment of this application; Figure 1b This is a schematic diagram of a partitioning strategy for units to be encoded provided in an embodiment of this application; Figure 2 This is a schematic diagram illustrating a scenario for making block partitioning decisions, provided in an embodiment of this application. Figure 3 This is a flowchart illustrating a data processing method provided in an embodiment of this application; Figure 4 This is a schematic diagram of a scenario for determining the partitioning state parameters of a subunit to be encoded, provided in an embodiment of this application. Figure 5This is a flowchart illustrating a data processing method provided in an embodiment of this application; Figure 6 This is a schematic diagram of the image block segmentation result provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application; Figure 8 This is a schematic diagram of a computer device provided in an embodiment of this application. Detailed Implementation

[0024] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0025] The data processing method provided in this application is applicable to the data transmission field in cloud technology. Computer devices with video encoding capabilities can use cloud technology to encode and transmit multimedia data (e.g., video data). Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide area network (WAN) or local area network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology applied to cloud computing business models. It can form resource pools, providing flexibility and convenience on demand. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to a backend system for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0026] Understandably, this data processing method is applied to high-resolution, high-frame-rate scenarios such as video calls, video transmission, cloud conferencing, live streaming, and cloud gaming. Cloud conferencing, based on cloud computing technology, is an efficient, convenient, and low-cost meeting format. Users only need to perform simple and easy-to-use operations through an internet interface to quickly and efficiently share voice, data files, and video with teams and clients worldwide. The complex technologies involved in data transmission and processing during the meeting are handled by the cloud conferencing service provider. Currently, domestic cloud conferencing mainly focuses on services based on the SaaS (Software as a Service) model, including telephone, internet, and video services. Video conferencing based on cloud computing is called cloud conferencing. In the era of cloud conferencing, data transmission, processing, and storage are all handled by the video conferencing provider's computer resources. Users no longer need to purchase expensive hardware or install cumbersome software; they only need to open a browser and log in to the corresponding interface to conduct efficient remote meetings. Cloud conferencing systems support dynamic multi-server cluster deployment and provide multiple high-performance servers, greatly improving meeting stability, security, and availability. In recent years, video conferencing has become increasingly popular due to its ability to significantly improve communication efficiency, continuously reduce communication costs, and upgrade internal management. It has been widely adopted in various fields, including transportation, logistics, finance, telecommunications, education, enterprises, and the Internet of Vehicles. Undoubtedly, with the application of cloud computing, video conferencing will be even more attractive in terms of convenience, speed, and ease of use, which will surely usher in a new wave of video conferencing applications.

[0027] Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing. It enables thin clients with relatively limited graphics processing and data processing capabilities to run high-quality games. In cloud gaming, the game does not reside on the player's terminal but runs on a cloud server. The cloud server renders the game scene as a video and audio stream, which is then transmitted to the player's terminal via the network. The player's terminal does not need powerful graphics processing and data processing capabilities; it only needs basic streaming media playback capabilities and the ability to receive player input commands and send them to the cloud server.

[0028] Please see Figure 1a , Figure 1a This is a schematic diagram of a network architecture provided in an embodiment of this application. Figure 1a As shown, this network architecture may include a server 10F and a cluster of terminal devices. The terminal device cluster may include one or more terminal devices; the number of terminal devices is not limited here. Figure 1aAs shown, it may specifically include terminal device 100a, terminal device 100b, terminal device 100c, ..., terminal device 100n. For example... Figure 1a As shown, terminal devices 100a, 100b, 100c, ..., 100n can each connect to the server 10F via a network, so that each terminal device can interact with the server 10F through the network connection. The network connection method is not limited; it can be a direct or indirect connection via wired communication, a direct or indirect connection via wireless communication, or other methods. This application does not impose any restrictions on this method.

[0029] Each terminal device in this terminal device cluster can include: smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, in-vehicle terminals, smart TVs, and other smart terminals with data processing capabilities. It should be understood that, for example... Figure 1a Each terminal device in the terminal device cluster shown can have an application client installed. When the application client runs on each terminal device, it can interact with the aforementioned... Figure 1a Data interaction occurs between the servers 10F shown. The application client can include social clients, multimedia clients (e.g., video clients), entertainment clients (e.g., game clients), information streaming clients, educational clients, live streaming clients, and other clients with video encoding capabilities. This client can be a standalone client or an embedded sub-client integrated into another client (e.g., social clients, educational clients, and multimedia clients), and this is not limited here.

[0030] like Figure 1a As shown, in this embodiment, server 10F can be the server corresponding to the application client. Server 10F can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.

[0031] For ease of understanding, the embodiments of this application may be described in detail below. Figure 1a From the multiple terminal devices shown, one terminal device is selected as the object terminal device used by the business object. For example, in the embodiments of this application, a terminal device can be selected as the object terminal device used by the business object. Figure 1a The terminal device 100a shown serves as the target terminal device, which may integrate an application client with video encoding capabilities. In this case, the target terminal device can interact with the server 10F through the business data platform corresponding to the application client.

[0032] Because video data is a continuous sequence of images, composed of consecutive video frames, with each frame being an image, and for ease of storage and transmission, computer devices with video encoding capabilities (e.g., object terminal devices or...) are used. Figure 1a The server 10F shown can encode the raw video data using a video encoder to obtain the corresponding video bitstream, thereby removing spatial and temporal redundancy, reducing storage space, and improving data transmission efficiency. The video encoder can be an H.266 video encoder, an AV1 video encoder, an AVS3 video encoder, etc.

[0033] The video frame types can include keyframe types and non-keyframe types. For example, the video frame corresponding to the keyframe type can be an intra-picture (I-frame). An I-frame is usually the first frame of each GOP (Group of Pictures, a sequence of consecutive video frames). After appropriate compression, it serves as a reference point for random access and can be considered as a compressed image. The video frames corresponding to the non-keyframe types can include predictive-frames (P-frames) and bi-directional interpolated prediction frames (B-frames). P-frames compress the coded image by significantly reducing the temporal redundancy information of the previously coded frames in the image sequence; B-frames compress the coded image by considering both the temporal redundancy information between the source image sequence and the previously coded frames.

[0034] Based on this, in this embodiment of the application, a video frame that is to be encoded and belongs to the non-keyframe type in the video data can be referred to as the target video frame. This facilitates the rapid determination of the target partitioning result of the coding unit in the target video frame according to the block partitioning conditions and the partitioning strategy specified by the video coding standard. Here, the coding unit (CU) refers to the basic coding unit for coding prediction as specified by the video coding standard. The image size of the coding unit is not limited here. Of course, this embodiment of the application can also add a size limit to the coding unit. That is, when the number of pixels of the coding unit exceeds the pixel threshold (e.g., 512), the rapid partitioning method provided by this embodiment of the application can be used. The pixel threshold can be dynamically adjusted according to the actual business situation, and it will not be limited here.

[0035] For better understanding, please refer to [link / reference]. Figure 1b , Figure 1bThis is a schematic diagram illustrating a partitioning strategy for a unit to be encoded, provided in an embodiment of this application. The video coding standard in this embodiment encodes using block partitioning, and the partitioning strategy for the unit to be encoded can be one of the multiple partitioning strategies specified by the video coding standard, such as... Figure 1b As shown, these multiple partitioning strategies can specifically include partitioning strategy a and a set of recursive partitioning strategies. The set of recursive partitioning strategies can include N partitioning strategies, where N is a positive integer. For example, when the video coding standard is H.266, the number of partitioning strategies included in this set of recursive partitioning strategies can be taken as 5, specifically including partitioning strategy b (e.g., horizontal binary partitioning strategy), partitioning strategy c (e.g., vertical binary partitioning strategy), partitioning strategy d (e.g., quad partitioning strategy), partitioning strategy e (e.g., horizontal tripartite partitioning strategy), and partitioning strategy f (e.g., vertical tripartite partitioning strategy).

[0036] Understandably, to maximize encoding efficiency and obtain more accurate encoding results, video encoders often need to try all possible partitioning patterns and ultimately select the partitioning result with the optimal rate-distortion cost as the target partitioning result for the unit to be encoded. However, there are often multiple combinations of partitioning strategies for the unit to be encoded, leading to extremely high complexity in the encoding process. Therefore, in this embodiment, when encoding the unit to be encoded, the unit can first be partitioned into blocks according to the five partitioning strategies in the recursive partitioning strategy set, obtaining the recursive partitioning results corresponding to the five partitioning strategies respectively. Then, based on these five recursive partitioning results, it can be determined whether the current unit to be encoded can skip using the recursive partitioning strategy. Figure 1b The partitioning strategy shown is used for encoding, which determines whether a non-partitioning strategy is needed for subsequent encoding.

[0037] For better understanding, please refer to [link / reference]. Figure 2 , Figure 2 This is a schematic diagram illustrating a scenario for making block partitioning decisions, provided in an embodiment of this application. For example... Figure 2 As shown, the computer device with video encoding function in this application embodiment can be the one described above. Figure 1a Any terminal device in the terminal device cluster shown, for example, terminal device 100a, the computer device can also be the aforementioned Figure 1a The server 10F shown here will not be limited to any specific form of computer equipment.

[0038] It should be understood that video data acquired by computer devices can be video data from any scenario. For example, the video data can be real-time traffic data captured by an image acquisition device (e.g., a vehicle camera) in a vehicle scenario; it can also be real-time conversation data associated with a business object (e.g., a user) captured by a mobile phone camera in an audio / video call scenario; and it can also be multimedia data downloaded by computer devices from the network, such as TV series or movies. Examples will not be listed here.

[0039] Understandably, when a computer device needs to encode a unit in a target video frame, it can first obtain a set of recursive partitioning strategies for that unit. This set of recursive partitioning strategies can include... Figure 2 The diagram shows N partitioning strategies, where N is a positive integer. These N partitioning strategies can specifically include partitioning strategy G1, partitioning strategy G2, partitioning strategy G3, ..., partitioning strategy G... N .

[0040] Furthermore, the computer device can obtain a partitioning strategy G from N partitioning strategies in the recursive partitioning strategy set. i Therefore, it can be divided according to the partitioning strategy G i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i Here, i is a positive integer less than or equal to N, and the recursive partitioning result R... i This can include partitioning strategy G i The resulting subunit to be encoded.

[0041] After trying N partitioning strategies in the recursive partitioning strategy set, the recursive partitioning results obtained by the computer device can include recursive partitioning result R1 under partitioning strategy G1, recursive partitioning result R2 under partitioning strategy G2, recursive partitioning result R3 under partitioning strategy G3, ..., partitioning strategy G N The recursive partitioning result R N The number of subunits to be encoded contained in the recursive partitioning results under different partitioning strategies can vary. For example, the recursive partitioning result R1 may include subunits based on partitioning strategy G1 (e.g., the one mentioned above). Figure 1b The two sub-units to be encoded obtained by the partitioning strategy b) shown above, the recursive partitioning result R2 can include partitioning based on partitioning strategy G2 (e.g., the above). Figure 1b The four sub-units to be encoded obtained by the partitioning strategy d) shown above, the recursive partitioning result R3 can include partitioning based on partitioning strategy G3 (e.g., the above). Figure 1b The three sub-units to be encoded obtained by the partitioning strategy e) shown will not be listed one by one here.

[0042] Furthermore, the computer device needs to traverse the encoding parameters of the sub-units to be encoded contained in each of the N recursive partitioning results to determine whether the traversed encoding parameters indicate whether the unit to be encoded meets the block partitioning condition. Here, the block partitioning condition indicates whether the unit to be encoded needs to skip the no-partitioning strategy. It can be understood that if the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning condition, then the computer device does not need to use the no-partitioning strategy to encode the unit, but can directly determine the target partitioning result of the unit to be encoded based on the N recursive partitioning results.

[0043] Optionally, if the traversed encoding parameters indicate that the unit to be encoded does not meet the block partitioning conditions, the computer device needs to determine whether it has traversed all N recursive partitioning results. If not, the computer device continues to traverse the encoding parameters of the sub-units to be encoded contained in the untraversed recursive partitioning results until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning conditions. Then, the computer device determines the target partitioning result of the unit to be encoded based on the N recursive partitioning results. If it has been traversed, and the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results do not meet the block partitioning conditions, it means that the computer device still needs to use a no-partitioning strategy to encode the unit to be encoded. Furthermore, the computer device needs to determine the target partitioning result of the unit to be encoded based on the original partitioning result obtained by using the no-partitioning strategy and the above N recursive partitioning results.

[0044] Since the encoding parameters of the subunits to be encoded contained in any recursive partitioning result are the basis for the computer device to determine whether the subunits to be encoded need to adopt the no-partitioning strategy, and the encoding parameters of the subunits to be encoded contained in the recursive partitioning result are the encoding information already present in the encoding process, the embodiments of this application do not require additional highly complex analysis operations to obtain the basis for judgment. This means that the fast partitioning method provided by the embodiments of this application does not need to introduce additional complexity, and can quickly determine whether the no-partitioning strategy needs to be adopted when the block partitioning conditions are met. It can effectively reduce the proportion of block partitioning decision in the complexity of the entire encoding process, thereby reducing the encoding time and the overhead of computing resources.

[0045] When obtaining recursive partitioning results by dividing the unit to be encoded into blocks according to N partitioning strategies in the recursive partitioning strategy set, the computer device can determine whether the unit to be encoded needs to skip the non-partitioning strategy based on the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results. For a detailed implementation of this method, please refer to the following: Figures 3-6 The corresponding implementation examples.

[0046] Further, please see Figure 3 , Figure 3 This is a flowchart illustrating a data processing method provided in an embodiment of this application. Figure 3 As shown, this method can be executed by a computer device with video encoding capabilities, which can be the aforementioned... Figure 1a Any terminal device in the terminal device cluster shown (e.g., terminal device 100a) can also be a server (e.g., the one mentioned above). Figure 1a The server shown is 10F, and is not limited thereto. This method may include at least the following steps S101-S103: Step S101: Obtain a set of recursive partitioning strategies for the units to be encoded in the target video frame.

[0047] When encoding video data, a computer device can extract the video frame to be encoded from the video data and determine its frame type. If the frame type is a target frame type (i.e., a non-keyframe type), the computer device can use this video frame as the target video frame. Then, the video encoder can perform image block partitioning on the target video frame to obtain one or more image blocks corresponding to the target video frame. Further, based on these one or more image blocks, the computer device can determine the unit to be encoded within the target video frame. At this point, the computer device can obtain a set of recursive partitioning strategies for the unit to be encoded, where the set of recursive partitioning strategies includes N partitioning strategies; N is a positive integer.

[0048] like Figure 1b As shown, when the video coding standard is H.266, the number of partitioning strategies included in the recursive partitioning strategy set can be taken as 5, specifically including partitioning strategy b (e.g., horizontal two-part partitioning strategy), partitioning strategy c (e.g., vertical two-part partitioning strategy), partitioning strategy d (e.g., four-part partitioning strategy), partitioning strategy e (e.g., horizontal three-part partitioning strategy), and partitioning strategy f (e.g., vertical three-part partitioning strategy).

[0049] Step S102, according to the partitioning strategy G i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i .

[0050] Among them, the N partitioning strategies include partitioning strategy G i ; i is a positive integer less than or equal to N. Specifically, the computer device follows the partitioning strategy G. i When dividing a coding unit into blocks, the partitioning strategy G can be determined first. iThe indicated partitioning information may include the number of partition lines and the partitioning position of each partition line in the unit to be encoded. Further, the computer device can follow the partitioning strategy G. i The indicated partitioning information is used to divide the unit to be encoded into blocks to obtain M. i The M subunits to be encoded can then be used to encode these M i The number of sub-units to be encoded is determined by the partitioning strategy G. i The recursive partitioning result R i Among them, M i It is a positive integer greater than 1. The order in which the N partitioning strategies are tried in the embodiments of this application is not limited here.

[0051] For example, the computer device can first obtain partitioning strategy N1 from N partitioning strategies (e.g., ... Figure 1b The partitioning strategy shown is b). Since partitioning strategy b is a horizontal binary partitioning strategy, this means that the partitioning information indicated by partitioning strategy b includes a partition line, and this partition line is located at the horizontal center of the partitioning position of the unit to be encoded. Furthermore, the computer device can partition the unit to be encoded into blocks according to this partitioning information to obtain two sub-units to be encoded of the same size, and then determine these two sub-units to be encoded as the recursive partitioning result R1 under partitioning strategy G1.

[0052] For example, the computer device can also obtain partitioning strategy N2 from N partitioning strategies (e.g., ... Figure 1b The partitioning strategy d shown is a four-partition strategy. This means that the partitioning information indicated by strategy d includes two mutually perpendicular partition lines, and these two partition lines are located at the horizontal center and vertical center of the unit to be encoded, respectively. Further, the computer device can partition the unit to be encoded into blocks according to this partitioning information to obtain four sub-units of the same size. These four sub-units can then be identified as the recursive partitioning result R2 under partitioning strategy G2. This process continues until the computer device obtains N recursive partitioning results corresponding to N partitioning strategies.

[0053] Step S103: Traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results corresponding to the N partitioning strategies, until the traversed encoding parameters indicate that the unit to be encoded satisfies the block partitioning condition. Then, determine the target partitioning result of the unit to be encoded based on the N recursive partitioning results.

[0054] Specifically, the computer device can sequentially traverse the N recursive partitioning results corresponding to N partitioning strategies. When iterating to the recursive partitioning result R... i At that time, the computer device can obtain the recursive partitioning result R.i The encoding parameters of the included subunits to be encoded can be used to obtain block partitioning conditions, allowing for parameter analysis of the obtained encoding parameters. Specifically, if the recursive partitioning result R... i If the encoding parameters of the included sub-units to be encoded indicate that the units to be encoded satisfy the block partitioning conditions, then the computer device can determine the target partitioning result of the units to be encoded based on N recursive partitioning results. Optionally, if the recursive partitioning result R i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, the computer device can traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the encoding parameters traversed indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the computer device can determine the target partitioning result of the sub-units to be encoded based on the N recursive partitioning results.

[0055] The computer device, when traversing to the recursive partitioning result R, i At that time, we can start from the recursive partition result R i The sub-unit C to be encoded is determined from the included sub-units to be encoded. j Here, j is less than or equal to M. i positive integers; M i R is used to characterize the result of recursive partitioning. i The total number of sub-units to be encoded in M; i It is a positive integer greater than 1. Furthermore, the computer device can acquire the subunit C to be encoded. j The prediction pattern selected when employing a no-partition strategy. Simultaneously, the computer device can also determine the sub-unit C to be encoded based on block partitioning constraints. j The partitioning state parameters. These partitioning state parameters may include a first state parameter or a second state parameter, whereby the first state parameter can be used to characterize the subunit C to be encoded. j The optimal partitioning strategy is no partitioning; the second state parameter can be used to characterize the sub-unit C to be encoded. j The optimal partitioning strategy belongs to the set of recursive partitioning strategies. Furthermore, this computer device can encode the subunit C... j The prediction pattern and the subunit to be encoded C j The partitioning state parameters are used as the sub-units to be encoded, C. j The encoding parameters.

[0056] Since the prediction modes (i.e., coding prediction techniques) specified by video coding standards can include two main categories: intra-frame prediction modes (where the encoding of the current frame does not refer to information from other frames) and inter-frame prediction modes (where information from adjacent frames is used to predict the current frame), the computer device needs to ultimately select the prediction mode with the optimal rate-distortion cost (i.e., the minimum rate-distortion cost) as the sub-unit to be encoded, C. j The prediction pattern. It is understandable that, in determining the subunit C to be encoded... j The prediction mode is intra-frame prediction mode, and the computer device can predict the subunit C to be encoded. j The prediction mode is assigned the first valid value (e.g., 1). When determining the subunit C to be encoded... j The prediction mode is inter-frame prediction mode, and the computer device can predict the subunit C to be encoded. j The prediction mode is assigned a second valid value (e.g., 2). In this embodiment, the prediction mode assigned a first or second valid value can be referred to as a valid prediction mode. However, there is a special case in this embodiment: because this embodiment uses bottom-up recursion, when judging the current unit to be encoded, its sub-units with a certain partitioning method (or lower-level sub-units to be encoded) may have already skipped the no-partitioning strategy. This will cause the prediction mode of this sub-unit to be encoded under the no-partitioning strategy to be unavailable. In this case, this embodiment can refer to this unavailable prediction mode as an invalid prediction mode, that is, the computer device can invalidate the prediction mode of the sub-unit to be encoded, C. j The prediction pattern is assigned an invalid value (e.g., 0).

[0057] The intra-frame prediction modes can include X1 prediction modes, such as angle prediction mode, multi-reference line technique, intra-frame prediction sub-partition technique, position-related combined intra-frame prediction, matrix-weighted average intra-frame prediction, and cross-component linear model prediction. The inter-frame prediction modes can include X2 prediction modes, such as extended merge prediction, merge mode with motion vector difference, decoder correction technique, symmetric motion vector difference coding, affine motion compensation prediction, and sub-block-based temporal motion vector prediction; X1 and X2 are both positive integers.

[0058] Understandably, during intra-frame prediction, the computer device can determine the sub-unit C to be coded using X1 prediction modes. jDuring prediction processing, the rate-distortion cost corresponding to each of the X1 prediction modes is considered. The prediction mode with the optimal rate-distortion cost (i.e., the minimum rate-distortion cost) among the X1 prediction modes is then selected as the optimal intra-frame prediction mode. Similarly, during inter-frame prediction, the computer device determines that X2 prediction modes are used to code the subunit C. j During prediction processing, the rate-distortion cost corresponding to each of the X2 prediction modes is considered. The prediction mode with the optimal rate-distortion cost among the X2 prediction modes can then be selected as the optimal inter-frame prediction mode. At this point, the computer device can choose the prediction mode with the optimal rate-distortion cost from the optimal intra-frame prediction mode and the optimal inter-frame prediction mode as the sub-unit C to be encoded. j The prediction model selected when using a non-segmentation strategy.

[0059] In the video encoding process, rate-distortion cost can be used as a standard parameter for evaluating encoding performance and for selecting the best among various options. Therefore, after encoding the unit to be encoded, the computer device can determine the rate-distortion cost corresponding to the subunit to be encoded based on the prediction unit corresponding to the subunit to be encoded, the subunit to be encoded, and the encoding auxiliary parameters (e.g., encoding bitrate parameter, encoding distortion parameter) corresponding to the prediction mode. The smaller the rate-distortion cost, the better the encoding performance, and vice versa. The encoding bitrate also represents the degree of data compression. The lower the encoding bitrate, the more severe the video data compression. Specifically, the formula for calculating the rate-distortion cost can be found in the following formula (1): rdcost = dist + bit × λ (1) Where rdcost refers to rate-distortion cost, dist represents the coding distortion parameter, bit refers to the coding rate parameter associated with the prediction mode, and λ is the Lagrange factor.

[0060] In practical applications, computer equipment often uses objective quality assessment standards such as SSE (Sum of Squared Errors), SAD (Sum of Absolute Errors in the Time Domain), or SATD (Sum of Absolute Errors in the Frequency Domain) as distortion measures for coding distortion parameters. It's understandable that SSE represents the sum of squared errors between the original and reconstructed pixels. This requires transforming, quantizing, inverse quantizing, and inverse transforming the residual signal. The estimated code is the same as the actual encoded code, and the selected mode saves the most code, but also has the highest computational complexity.

[0061] It should be understood that, in determining the subunit C to be encoded jWhen determining the partitioning state parameters, the computer device needs to obtain block partitioning constraints. These constraints refer to the operational conditions used to limit the computer device from further partitioning the current coding subunit. These constraints may include a first constraint associated with the number of partitions or a second constraint associated with the image size.

[0062] Specifically, when the block partitioning constraint is the first constraint, the computer device can obtain the partitioning threshold (e.g., 3) included in the first constraint. Further, the computer device needs to count the number of partitions C to be encoded. j The computer device determines the number of times the unit to be encoded is divided, and then compares the counted number of divisions with a threshold. If the number of divisions reaches the threshold, the computer device can determine the subunit C to be encoded. j The first constraint condition is met, which means that the subunit C to be encoded... j No further division is needed; at this point, the computer device can determine the first state parameter as the subunit C to be encoded. j The partitioning state parameters. Optionally, if the number of partitions has not reached the partitioning threshold, the computer device needs to acquire the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy is no partitioning strategy, allows the computer device to determine the sub-unit C to be encoded. j The first constraint condition is met, which means that the subunit C to be encoded... j No further partitioning is needed; at this point, the first state parameter can be determined as the sub-unit C to be encoded. j The partitioning state parameters. Optionally, if the number of partitions has not reached the partitioning threshold, the computer device needs to acquire the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, allows the computer device to determine the subunit C to be encoded. j The first constraint condition is not met, which means that the subunit C to be encoded is... j The division can continue, at which point the second state parameter can be determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0063] For better understanding, please refer to [link / reference]. Figure 4 , Figure 4 This is a schematic diagram of a scenario provided by an embodiment of this application for determining the partitioning state parameters of a subunit to be encoded. For example... Figure 4 As shown, the unit to be encoded 4 in this embodiment can be determined from the target video frame of the video data by a computer device with video encoding function.

[0064] It should be understood that the computer device can partition the unit to be encoded 4 into blocks according to a certain partitioning strategy in the set of recursive partitioning strategies, so as to obtain a recursive partitioning result including sub-units to be encoded 4C1, 4C2, 4C3, and 4C4. Further, the computer device can determine the encoding parameters of each of these four sub-units to be encoded. The encoding parameters of a sub-unit to be encoded include the prediction mode of that sub-unit and the partitioning state parameters of that sub-unit.

[0065] It is understandable that, since the video encoder provided in this application embodiment traverses the partition tree in a bottom-up, post-order traversal manner, that is, for a CU node, the video encoder can first recursively consider various partitioning strategies to further divide it into several sub-blocks, and finally decide whether to try a no-partitioning strategy. This means that when the sub-unit to be encoded 4C2 is regarded as the image block that needs to be divided, the sub-unit to be encoded 4C... 21 and the subunit to be encoded 4C 22 This can be considered as a divided sub-block (also called a sub-CU). Similarly, the sub-unit to be encoded, 4C 221 and the subunit to be encoded 4C 222 It can also be referred to as the 4C subunit to be encoded. 22 The sub-block.

[0066] For example, for the subunit to be encoded, 4C 221 In this regard, when determining its partitioning state parameters, the computer device needs to first statistically analyze the 4C subunit to be encoded. 221 The computer device determines that the number of divisions of the unit to be encoded (i.e., the original unit to be encoded 4) has reached a threshold number (e.g., 3). At this point, the computer device can determine that the subunit to be encoded, 4C, has been divided. 221 The first constraint condition is met, which means that the subunit to be encoded, 4C, is... 221 No further division is needed; at this point, the computer device can determine the first state parameter as the subunit 4C to be encoded. 221 The partitioning state parameters.

[0067] For example, for the subunit 4C to be encoded 21 In this regard, when determining its partitioning state parameters, the computer device needs to first statistically analyze the 4C subunit to be encoded. 21 The computer device can determine the number of times the current unit to be encoded (i.e., the original unit to be encoded 4) is divided (e.g., 2). 21 If the number of partitions does not reach the partition threshold (e.g., 3), the computer device needs to acquire the sub-unit 4C to be encoded. 21The corresponding optimal partitioning strategy, since the subunit to be encoded is 4C 21 The corresponding optimal partitioning strategy is the no-partition strategy, therefore the computer device can determine the sub-unit 4C to be encoded. 21 The first constraint condition is met, which means that the subunit to be encoded, 4C, is... 21 No further partitioning is needed; at this point, the first state parameter can be determined as the subunit 4C to be encoded. 21 The partitioning state parameters.

[0068] For example, for the subunit 4C to be encoded 22 In this regard, when determining its partitioning state parameters, the computer device needs to first statistically analyze the 4C subunit to be encoded. 22 The computer device can determine the number of times the current unit to be encoded (i.e., the original unit to be encoded 4) is divided (e.g., 2). 22 If the number of partitions does not reach the partition threshold (e.g., 3), the computer device needs to acquire the sub-unit 4C to be encoded. 22 The corresponding optimal partitioning strategy, since the subunit to be encoded is 4C 22 The corresponding optimal partitioning strategy belongs to the vertical binary partitioning strategy in the recursive partitioning strategy set. Therefore, the computer device can determine the sub-unit 4C to be encoded. 22 The first constraint is not met, which means that the subunit to be encoded, 4C, is not satisfied. 22 We can continue dividing the data, and at this point, the second state parameter can be determined as the subunit 4C to be encoded. 22 The partitioning state parameters.

[0069] For example, when determining the partitioning state parameters of the subunit 4C2 to be encoded, the computer device needs to first count the number of partitions of the subunit 4C2 to which it belongs (e.g., 1). At this time, the computer device can determine that the number of partitions of the subunit 4C2 to be encoded has not reached the partitioning threshold (e.g., 3). Then, the computer device needs to obtain the optimal partitioning strategy corresponding to the subunit 4C2 to be encoded. Since the optimal partitioning strategy corresponding to the subunit 4C2 to be encoded belongs to the level two partitioning strategy in the recursive partitioning strategy set, the computer device can determine that the subunit 4C2 to be encoded does not meet the first restriction condition. This means that the subunit 4C2 to be encoded can continue to be partitioned. At this time, the second state parameter can be determined as the partitioning state parameter of the subunit 4C2 to be encoded.

[0070] Optionally, when the block partitioning constraint is the second constraint, the computer device can obtain the partitioning size threshold included in the second constraint, wherein the partitioning size threshold can be represented by L1*L2, and L1 and L2 can both be non-negative integers representing the number of pixel values ​​of a sub-block. Further, the computer device can obtain the sub-unit C to be encoded. j The image size, thus allowing the encoding subunit C to be coded. j The image size is compared with a segmentation size threshold. If the image size is less than or equal to the segmentation size threshold, the computer device can determine the subunit C to be encoded. j The second constraint condition is met, which means that the subunit C to be encoded... j No further partitioning is needed; at this point, the computer device can determine the first state parameter as the subunit C to be encoded. j The partitioning state parameters. Optionally, if the image size is larger than the partitioning size threshold, the computer device needs to obtain the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy is no partitioning strategy, determines the sub-unit C to be encoded. j The second constraint condition is met, which means that the subunit C to be encoded j No further partitioning is needed; at this point, the first state parameter can be determined as the sub-unit C to be encoded. j The partitioning state parameters. Optionally, if the image size is larger than the partitioning size threshold, the computer device needs to obtain the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j The second constraint is not met, which means that the subunit C to be encoded is... j The division can continue, at which point the second state parameter can be determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0071] like Figure 4 As shown, if the partition size threshold in the second constraint obtained by the computer device is 4*4, then for the subunit 4C to be encoded... 221 In this regard, when determining its partitioning state parameters, the computer device needs to obtain the sub-unit 4C to be encoded. 221 Given the image size (e.g., 4x4), the computer device can determine the subunit 4C to be encoded. 221 The image size is equal to the segmentation size threshold, which allows us to determine the 4C subunit to be encoded. 221 The second constraint condition is met, which means that the subunit to be encoded, 4C, is... 221 No further partitioning is needed; at this point, the computer device can determine the first state parameter as the subunit 4C to be encoded.221 The partitioning state parameters.

[0072] For example, for the subunit 4C to be encoded 21 In this regard, when determining its partitioning state parameters, the computer device needs to obtain the sub-unit 4C to be encoded. 21 Given the image size (e.g., 8*4), the computer device can determine the subunit 4C to be encoded. 21 The image size is smaller than the segmentation size threshold, thus requiring the acquisition of the 4C subunit to be encoded. 21 The corresponding optimal partitioning strategy, due to the 4C subunit to be encoded 21 When the corresponding optimal partitioning strategy is no partitioning strategy, then the sub-unit to be encoded, 4C, is determined. 21 The second constraint condition is met, which means that the subunit to be encoded, 4C, is... 21 No further partitioning is needed; at this point, the first state parameter can be determined as the subunit 4C to be encoded. 21 The partitioning state parameters.

[0073] For example, when determining the partitioning state parameters of the subunit 4C2 to be encoded, the computer device needs to obtain the image size of the subunit 4C2 (e.g., 8*8). At this time, the computer device can determine that the image size of the subunit 4C2 to be encoded is greater than the partitioning size threshold, and then needs to obtain the optimal partitioning strategy corresponding to the subunit 4C2 to be encoded. Since the optimal partitioning strategy corresponding to the subunit 4C2 to be encoded belongs to the level two partitioning strategy in the recursive partitioning strategy set, the computer device can determine that the subunit 4C2 to be encoded does not meet the second restriction condition. This means that the subunit 4C2 to be encoded can continue to be partitioned. At this time, the second state parameter can be determined as the partitioning state parameter of the subunit 4C2 to be encoded.

[0074] The computer device acquires the aforementioned subunit C to be encoded. j The prediction pattern and the subunit to be encoded C j When dividing the state parameters, they can be used as the sub-unit C to be encoded. j The encoding parameters. It is understandable that the recursive partitioning result R... i It can include M i One subunit to be encoded; M i The sub-units to be encoded are based on the partitioning strategy G. i The result obtained after dividing the unit to be encoded into blocks; M i It is a positive integer greater than 1. Based on this, the embodiments of this application can refer to the subunit C to be encoded. j The specific implementation of the encoding parameters, obtaining the recursive partitioning result R i The encoding parameters for each subunit to be encoded.

[0075] Furthermore, the computer device needs to process the recursive partitioning result R based on the block partitioning conditions. i The coding parameters of each subunit to be coded are analyzed. The block partitioning conditions here may include a first block partitioning condition associated with the prediction mode and a second block partitioning condition associated with the state partitioning parameters.

[0076] If M i M corresponding to each subunit to be encoded i If all the prediction modes in the encoding parameters are valid and at least two sub-units to be encoded have different prediction modes, then the computer device can determine the recursive partitioning result R. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the first block partitioning condition, and therefore need to continue encoding M based on the second block partitioning condition. i We analyze the partitioning state parameters among the encoding parameters. It is understandable that if M... i If at least one of the partitioning state parameters in the encoding parameters belongs to the second state parameter, then the computer device can determine the recursive partitioning result R. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded satisfy the second block partitioning condition. Here, the second state parameter characterizes that the optimal partitioning strategy for the corresponding sub-unit belongs to the recursive partitioning strategy set. When both the first and second partitioning conditions are satisfied, the computer device can determine the recursive partitioning result R. i The encoding parameters of the included sub-units to be encoded indicate that the units to be encoded meet the block partitioning conditions. At this time, the computer device can obtain the rate-distortion costs obtained by the N recursive partitioning results in the prediction process, and then select the optimal rate-distortion cost from the N rate-distortion costs. The partitioning result corresponding to the selected optimal rate-distortion cost is used as the target partitioning result of the unit to be encoded.

[0077] like Figure 4As shown, when the computer device iterates through the recursive partitioning results of the unit to be encoded 4 using the four-partition strategy, it can obtain the encoding parameters of each sub-unit to be encoded included in the recursive partitioning results. For example, the prediction mode in the encoding parameters of sub-unit 4C1 can be the intra-frame prediction mode, and the state partitioning parameter can be the first state parameter; the prediction mode in the encoding parameters of sub-unit 4C2 can be the inter-frame prediction mode, and the state partitioning parameter can be the second state parameter; the prediction mode in the encoding parameters of sub-unit 4C3 can be the inter-frame prediction mode, and the state partitioning parameter can be the first state parameter; the prediction mode in the encoding parameters of sub-unit 4C4 can be the intra-frame prediction mode, and the state partitioning parameter can be the first state parameter. For the unit to be encoded 4, since the prediction modes of the four coding parameters corresponding to these four sub-units are all valid and there are at least two sub-units whose prediction modes are different, and in addition, at least one of the state partitioning parameters belongs to the second state parameter, the computer device can determine that both the first and second block partitioning conditions are met. At this time, the computer device can determine that the coding parameters of the sub-units to be encoded contained in this recursive partitioning result indicate that the unit to be encoded meets the block partitioning condition. This means that the unit to be encoded 4 does not need to try the no-partitioning strategy, but can directly determine the target partitioning result of the unit to be encoded quickly based on the N recursive partitioning results.

[0078] Optional, if M i M corresponding to each subunit to be encoded i If all the prediction patterns in the encoding parameters are valid and identical, then the computer device can determine the recursive partitioning result R. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not satisfy the first block partitioning condition. Upon determining that the first block partitioning condition is not met, the computer device can determine the recursive partitioning result R. i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, the computer device needs to continue to traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the encoding parameters traversed indicate that the sub-units to be encoded meet the block partitioning conditions. Then the computer device can determine the target partitioning result of the sub-units to be encoded based on the N recursive partitioning results.

[0079] Optional, if M i M corresponding to each subunit to be encoded i If all the partitioning state parameters in the encoding parameters belong to the first state parameter, then the computer device can determine the recursive partitioning result R. iThe encoding parameters of the included sub-units indicate that the sub-units to be encoded do not satisfy the second block partitioning condition. Here, the first state parameter characterizes the optimal partitioning strategy for the corresponding sub-unit as a no-partition strategy. Upon determining that the second block partitioning condition is not met, the computer device can determine the recursive partitioning result R. i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, the computer device needs to continue to traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the encoding parameters traversed indicate that the sub-units to be encoded meet the block partitioning conditions. Then the computer device can determine the target partitioning result of the sub-units to be encoded based on the N recursive partitioning results.

[0080] It is understandable that the computer device determines the recursive partitioning result R. i If the encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the first block partitioning condition, or do not meet the second block partitioning condition, or do not meet both the first and second block partitioning conditions, the computer device still needs to continue encoding the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed, until the traversed encoding parameters indicate that the sub-units to be encoded meet the block partitioning conditions.

[0081] However, if M i If any of the predicted patterns in the encoding parameters contain invalid predicted patterns, the computer device can terminate the iteration of the encoding parameters of the un-tried sub-units contained in the N recursive partitioning results. At this point, to ensure the accuracy of the final target partitioning result, the computer device determines that the sub-unit to be encoded needs to try a no-partition strategy, that is, it sets the no-partition strategy as the partitioning strategy for the sub-unit. Furthermore, the sub-unit itself can be determined as the original partitioning result under the no-partition strategy. Then, based on the original partitioning result and the N recursive partitioning results, the computer device can determine the target partitioning result for the sub-unit.

[0082] Optionally, if the recursive partition result R is reached... i If the encoding parameters of the subunits to be encoded contained in the traversal indicate that the subunits to be encoded do not meet the block partitioning conditions, and i equals N, it means that the computer device has completed the traversal, and the encoding parameters of the subunits to be encoded contained in each recursive partitioning result indicate that the subunits to be encoded do not meet the block partitioning conditions. At this time, the computer device still needs to try the no-partitioning strategy, that is, to determine the no-partitioning strategy as the partitioning strategy of the subunits to be encoded, and to determine the subunits to be encoded as the original partitioning results under the no-partitioning strategy. Then, based on the original partitioning results and N recursive partitioning results, the target partitioning result of the subunits to be encoded can be determined.

[0083] In this context, it can be understood that when a computer device determines the target partitioning result for a unit to be encoded based on the original partitioning result and N recursive partitioning results, it can obtain the first rate-distortion cost obtained from the original partitioning result during the prediction processing. Simultaneously, the computer device can also obtain the second rate-distortion costs obtained from the prediction processing of each of the N recursive partitioning results. Furthermore, the computer device can select the optimal rate-distortion cost from the first rate-distortion cost and the N second rate-distortion costs, and use the partitioning result corresponding to the optimal rate-distortion cost as the target partitioning result for the unit to be encoded.

[0084] In this embodiment, the encoding parameters of the sub-units to be encoded included in the recursive partitioning result are the basis for the computer device to determine whether the sub-units to be encoded need to adopt a no-partitioning strategy. Moreover, the encoding parameters of the sub-units to be encoded included in the recursive partitioning result are encoding information already present in the encoding process. That is, this embodiment does not require additional highly complex analysis operations to obtain the basis for judgment. This means that the fast partitioning method provided by this embodiment does not introduce additional complexity and can quickly determine whether a no-partitioning strategy is needed when the sub-units to be encoded meet the block partitioning conditions. This can reduce the encoding complexity of the block partitioning decision in the entire encoding process, thereby reducing encoding time and computing resource overhead.

[0085] Further, please see Figure 5 , Figure 5 This is a flowchart illustrating a data processing method provided in an embodiment of this application. Figure 5 As shown, this method can be executed by a computer device with video encoding capabilities, which can be the aforementioned... Figure 1a Any terminal device in the terminal device cluster shown (e.g., terminal device 100a) can also be a server (e.g., the one mentioned above). Figure 1a The server shown is 10F, and is not limited to this. The method may include at least the following steps S201-S209: Step S201: Obtain a set of recursive partitioning strategies for the units to be encoded in the target video frame.

[0086] Step S202, according to the partitioning strategy G i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i .

[0087] Step S203: Iterate through the N recursive partitioning results corresponding to the N partitioning strategies in sequence, and obtain the encoding parameters of the sub-units to be encoded contained in the recursive partitioning results.

[0088] Step S204: Determine whether the encoding parameters of the sub-units to be encoded contained in the recursive partitioning result satisfy the first block partitioning condition.

[0089] If the encoding parameters of the sub-unit to be encoded contained in the recursive partitioning result indicate that the sub-unit to be encoded satisfies the first block partitioning condition, then step S205 is executed; if the encoding parameters of the sub-unit to be encoded contained in the recursive partitioning result indicate that the sub-unit to be encoded does not satisfy the first block partitioning condition, then step S207 is executed.

[0090] Step S205: Determine whether the encoding parameters of the sub-units to be encoded contained in the recursive partitioning result satisfy the second block partitioning condition.

[0091] If the encoding parameters of the sub-unit to be encoded contained in the recursive partitioning result indicate that the sub-unit to be encoded satisfies the second block partitioning condition, then step S206 is executed; if the encoding parameters of the sub-unit to be encoded contained in the recursive partitioning result indicate that the sub-unit to be encoded does not satisfy the second block partitioning condition, then step S207 is executed.

[0092] Step S206: Determine the target partitioning result of the unit to be encoded based on N recursive partitioning results.

[0093] Step S207: Determine whether to end the traversal.

[0094] If any of the predicted patterns in the encoding parameters of the subunits to be encoded contained in the recursive partitioning results are invalid, or if there are no unvisited recursive partitioning results among the N recursive partitioning results, then the computer device determines to end the traversal and proceeds to step S208. Otherwise, the computer device needs to jump to step S203 and continue traversing the encoding parameters of the subunits to be encoded contained in the unvisited recursive partitioning results among the N recursive partitioning results.

[0095] Step S208: Obtain the original partitioning result under the no-partitioning strategy.

[0096] Step S209: Determine the target partitioning result of the unit to be encoded based on the N recursive partitioning results and the original partitioning result.

[0097] For specific implementation methods of steps S201-S209, please refer to the above. Figure 3 The descriptions of steps S101-S103 in the corresponding embodiments will not be repeated here.

[0098] It is understandable that the sub-units to be encoded (also called sub-CUs or sub-blocks) obtained after dividing the unit to be encoded into blocks using the partitioning strategies in the recursive partitioning strategy set can continue to be divided according to multiple partitioning methods specified by the video coding standard until the partitioned sub-blocks reach the partitioning limit. For an image block, the video coding standard does not specify the partitioning form, which means that any partitioning form that conforms to the partitioning strategy is compliant with the standard, and different partitioning forms will bring different coding efficiencies, that is, different partitioning forms will result in different rate-distortion costs. All possible sub-CUs can be organized into a search tree. The video encoder of this embodiment can traverse the partitioning tree in a bottom-up, post-order traversal manner. That is, for a CU node, the video encoder can first recursively divide it into several sub-blocks using various partitioning strategies, and finally decide whether to try a no-partitioning strategy.

[0099] For better understanding, please refer to [link / reference]. Figure 6 , Figure 6 This is a schematic diagram illustrating the image block segmentation result provided in an embodiment of this application. For example... Figure 6 As shown, the schematic diagram of the partitioning result in this application embodiment can be a partitioning form that the image block may ultimately present. The image block is obtained by a computer device with video encoding function after performing image block partitioning processing on the target video frame in the video data.

[0100] It should be understood that the computer device can divide the image block into multiple units to be encoded; for example, six units can be used. Specifically, it can include... Figure 6 The shown units are 61, 62, 63, and 64 to be encoded. The area occupied by unit 62 can be composed of subunits 62C1, 62C2, 62C3, and 62C4; the area occupied by unit 63 can be composed of subunits 63C1 and 63C2; and the area occupied by unit 64 can be composed of subunits 64C1, 64C2, and 64C3.

[0101] Generally, image patches with consistent texture and good prediction performance are suitable for large-size CU encoding. For example, for the unit to be encoded 61, the optimal partitioning strategy obtained by this computer device can be a no-partitioning strategy (e.g., the above). Figure 1b The partitioning strategy shown in a) means that the target partitioning result of the unit to be encoded 61 includes the unit to be encoded 61 itself.

[0102] Image patches with rich texture variations and poor prediction performance are divided into smaller CUs for encoding. For example, for the unit to be encoded 62, the optimal partitioning strategy obtained by the computer device is one of the recursive partitioning strategies (e.g., the one mentioned above). Figure 1b The partitioning strategy shown (d) means that the target partitioning result of the unit to be encoded 62 may include the sub-units to be encoded 62C1, 62C2, 62C3 and 62C4.

[0103] Understandably, after dividing the unit to be encoded into blocks, the computer device can continue to divide the already divided sub-blocks (e.g., the sub-unit to be encoded) according to multiple division methods specified by the video coding standard until the divided sub-blocks reach the division limit. For example, since the sub-unit to be encoded 62C2 has not reached the division limit, the computer device still needs to continue dividing the sub-unit to be encoded 62C2. The optimal division strategy for the sub-unit to be encoded 62C2 is determined to be as described above. Figure 1b When the recursive partitioning strategy set shown includes partitioning strategy b, it means that the computer device can partition the subunit 62C2 to be encoded into... Figure 6 The sub-unit to be encoded shown is 62C 21 and the subunit to be encoded 62C 22 Furthermore, due to the sub-unit to be encoded, 62C 22 The computer device is still able to treat the coding subunit 62C even though the partitioning limit has not been reached. 22 Perform block partitioning, and determine the 62C subunit to be encoded. 22 The optimal partitioning strategy is as described above. Figure 1b When the recursive partitioning strategy set shown includes partitioning strategy c, it means that the computer device can encode the subunit 62C. 22 Divided into Figure 6 The sub-unit to be encoded shown is 62C 221 and the subunit to be encoded 62C 222 .

[0104] For the unit to be encoded 63, the optimal partitioning strategy obtained by the computer device is one of the partitioning strategies in the recursive partitioning strategy (for example, the one mentioned above). Figure 1b The partitioning strategy shown in b) means that the target partitioning result of the unit to be encoded 63 may include the sub-units to be encoded 63C1 and the sub-units to be encoded 63C2.

[0105] For the unit to be encoded 64, the optimal partitioning strategy obtained by the computer device is one of the partitioning strategies in the recursive partitioning strategy (for example, the one mentioned above). Figure 1bThe partitioning strategy e shown means that the target partitioning result of the unit to be encoded 64 may include the sub-units to be encoded 64C1, sub-units to be encoded 64C2 and sub-units to be encoded 64C3.

[0106] In this embodiment, if the prediction modes of the sub-units to be encoded within a given unit are inconsistent—that is, some choose intra-frame prediction mode and some choose inter-frame prediction mode—it means that the image content texture of the current unit to be encoded is unlikely to be consistent, i.e., it is unlikely to be encoded using a large-size CU. Furthermore, the inability to further divide the optimal sub-unit into smaller sub-blocks is also a major factor in determining the consistency of texture within the current unit to be encoded. Therefore, this embodiment, based on a bottom-up partitioning traversal, if the recursive partitioning result R is reached... i The included M i For a given set of sub-units to be encoded, at least two sub-units have valid and different prediction modes selected when encoding without partitioning, and at least one sub-unit's optimal partitioning strategy belongs to the recursive partitioning strategy set, i.e., it continues to partition into several sub-CUs of the next level. This means that the recursive partitioning result R i The encoding parameters of the included sub-units to be encoded indicate that the units to be encoded meet the block partitioning conditions. At this time, the no-partitioning strategy can be skipped, and the target partitioning result of the units to be encoded can be determined directly based on the N recursive partitioning results.

[0107] Since the computer device determines whether a non-partitioning strategy should be adopted for the current unit to be encoded based on existing encoding information during the encoding process, this embodiment does not require additional highly complex analysis operations to obtain the determination basis. This means that the rapid partitioning method provided by this embodiment can quickly determine whether a non-partitioning strategy should be adopted when the unit to be encoded meets the block partitioning conditions without introducing additional complexity. This reduces the encoding complexity of the block partitioning decision in the entire encoding process, thereby reducing encoding time and computational resource overhead. Furthermore, for low-latency services such as live streaming, the low bitrate capability and reduced encoding complexity supported by the video encoding standard of this embodiment can effectively improve the user's service experience.

[0108] Further, please see Figure 7 , Figure 7 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. Figure 7 As shown, the data processing device 1 can be a computer program (including program code) running on a computer device; for example, the data processing device 1 is an application software. The data processing device 1 can be used to execute the corresponding steps in the methods provided in the embodiments of this application. Figure 7As shown, the data processing device 1 can operate on a computer device with video encoding capabilities, and this computer device can be the aforementioned Figure 1a Any terminal device in the terminal device cluster shown (e.g., terminal device 100a) can also be a server (e.g., the one mentioned above). Figure 1a The server 10F shown is not limited here. The data processing device 1 may include: a strategy set acquisition module 11, a block partitioning module 12, a first target result determination module 13, an end traversal module 14, a second target result determination module 15, an original result determination module 16, a third target result determination module 17, a target frame determination module 18, an image block determination module 19, and a unit to be encoded determination module 20.

[0109] The strategy set acquisition module 11 is used to acquire a recursive partitioning strategy set for the units to be encoded in the target video frame; the recursive partitioning strategy set includes N partitioning strategies; N is a positive integer; the N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; This block partitioning module 12 is used to partition according to strategy G. i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The result of the recursive partitioning is R. i Including partitioning strategy G i The obtained subunit to be encoded; The first target result determination module 13 is used to traverse the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results corresponding to the N partitioning strategies, until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning conditions, and then determine the target partitioning result of the unit to be encoded based on the N recursive partitioning results.

[0110] The first target result determination module 13 includes: a result traversal unit 131, an encoding parameter acquisition unit 132, a first result determination unit 133, and a second result determination unit 134.

[0111] This result traversal unit 131 is used to sequentially traverse the N recursive partitioning results corresponding to the N partitioning strategies; The encoding parameter acquisition unit 132 is used to obtain the recursive partitioning result R during traversal. i When recursively partitioning, obtain the result R. i The encoding parameters of the included subunits to be encoded.

[0112] The encoding parameter acquisition unit 132 includes: a first determination subunit 1321, a prediction mode acquisition subunit 1322, a state parameter determination subunit 1323, and an encoding parameter determination subunit 1324.

[0113] The first determining subunit 1321 is used to traverse to the recursive partitioning result R. i At that time, from the recursive partitioning result R i The sub-unit C to be encoded is determined from the included sub-units to be encoded. j j is less than or equal to M i positive integers; M i R is used to characterize the result of recursive partitioning. i The total number of sub-units to be encoded in M; i It is a positive integer greater than 1; This prediction mode acquires subunit 1322, which is used to acquire the subunit C to be encoded. j The prediction model selected when using a non-segmentation strategy.

[0114] The prediction modes include intra-frame prediction mode and inter-frame prediction mode; the intra-frame prediction mode includes X1 prediction modes; the inter-frame prediction mode includes X2 prediction modes; X1 and X2 are both positive integers. The prediction model also uses subunit 1322 for: During intra-frame prediction, it is determined that the sub-unit C to be coded is selected using X1 prediction modes. j When performing prediction processing, the rate-distortion cost corresponding to each of the X1 prediction modes is used to determine the optimal intra-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X1 prediction modes is taken as the optimal intra-frame prediction mode. During inter-frame prediction, it is determined that X2 prediction modes are used, and the sub-units to be coded, C, are respectively... j When performing prediction processing, the rate-distortion cost corresponding to each of the X2 prediction modes is used to determine the optimal inter-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X2 prediction modes is taken as the optimal inter-frame prediction mode. From the optimal intra-frame prediction mode and the optimal inter-frame prediction mode, the prediction mode corresponding to the optimal rate-distortion cost is selected as the sub-unit C to be encoded. j The prediction model selected when using a non-segmentation strategy.

[0115] This state parameter determines subunit 1323, which is used to determine the subunit C to be encoded based on block partitioning constraints. j The partitioning state parameters include either a first state parameter or a second state parameter; the first state parameter is used to characterize the subunit C to be encoded. j The optimal partitioning strategy is no partitioning; the second state parameter is used to characterize the sub-unit C to be encoded. j The optimal partitioning strategy belongs to the set of recursive partitioning strategies; The block partitioning constraints include a first constraint; the first constraint includes a threshold for the number of partitions. This state parameter determines that subunit 1323 is also used for: Statistical analysis of the subunit C to be encoded j The number of times the unit to be encoded is divided; If the number of partitions reaches the partition threshold, then the subunit C to be encoded is determined. j If the first constraint condition is met, the first state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters; If the number of partitions does not reach the threshold, then obtain the subunit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the first constraint is not met, the second state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0116] The block partitioning constraints include a second constraint; the second constraint includes a partitioning size threshold. This state parameter determines that subunit 1323 is also used for: Obtain the subunit C to be encoded j Image size; If the image size is less than or equal to the segmentation size threshold, then the subunit C to be encoded is determined. j If the second constraint condition is met, the first state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters; If the image size is larger than the segmentation size threshold, then obtain the sub-unit C to be encoded. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the second constraint is not met, the second state parameter is determined as the sub-unit C to be encoded. j The partitioning state parameters.

[0117] The encoding parameters determine subunit 1324, which is used to encode subunit C. j The prediction pattern and the subunit to be encoded C j The partitioning state parameters are used as the sub-units to be encoded, C. j The encoding parameters.

[0118] The specific implementation methods of the first determining subunit 1321, the prediction mode acquisition subunit 1322, the state parameter determining subunit 1323, and the encoding parameter determining subunit 1324 can be found above. Figure 3The description of the encoding parameters in the corresponding embodiments will not be repeated here.

[0119] The first result determination unit 133 is used if the recursive partitioning result R i The encoding parameters of the included sub-units to be encoded indicate that the units to be encoded meet the block partitioning conditions. Then, based on the N recursive partitioning results, the target partitioning result of the units to be encoded is determined.

[0120] Among them, the recursive partitioning result R i Including M i One subunit to be encoded; M i The sub-units to be encoded are based on the partitioning strategy G. i The result obtained after dividing the coding unit into blocks; M i It is a positive integer greater than 1; the block partitioning conditions include a first block partitioning condition associated with the prediction mode and a second block partitioning condition associated with the state partitioning parameters; The first result determination unit 133 includes: a first condition satisfaction subunit 1331, a second condition satisfaction subunit 1332, a block partitioning condition satisfaction subunit 1333, and a second determination subunit 1334.

[0121] The first condition satisfies subunit 1331, used if M i M corresponding to each subunit to be encoded i If all the prediction modes in the coding parameters are valid and there are at least two sub-units to be coded whose prediction modes are different, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the first block partitioning condition, and the second block partitioning condition is used to modify M. i Analyze the partitioning state parameters among the encoding parameters; The second condition satisfies subunit 1332, used if M i If at least one of the partitioning state parameters in the encoding parameters belongs to the second state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded satisfy the second block partitioning condition; the second state parameter is used to characterize that the optimal partitioning strategy of the corresponding sub-unit to be encoded belongs to the set of recursive partitioning strategies. This block partitioning condition satisfies subunit 1333, and is used to determine the recursive partitioning result R when both the first and second block partitioning conditions are satisfied. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the block partitioning conditions; The second determining subunit 1334 is used to obtain the rate-distortion costs obtained by the N recursive partitioning results in the prediction process, select the optimal rate-distortion cost from the N rate-distortion costs, and take the partitioning result corresponding to the selected optimal rate-distortion cost as the target partitioning result of the unit to be encoded.

[0122] The specific implementation methods of the first condition satisfying subunit 1331, the second condition satisfying subunit 1332, the block partitioning condition satisfying subunit 1333, and the second determining subunit 1334 can be found above. Figure 3 The descriptions of the block partitioning conditions in the corresponding embodiments will not be repeated here.

[0123] The second result determination unit 134 is used if the recursive partitioning result R i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, then the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed are checked until the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the target partitioning result of the sub-units to be encoded is determined based on the N recursive partitioning results.

[0124] The second result determination unit 134 includes: a first condition not satisfied subunit 1341, a third determination subunit 1342, a fourth determination subunit 1343, a second condition not satisfied subunit 1344, a fifth determination subunit 1345, and a sixth determination subunit 1346.

[0125] The first condition is not satisfied in subunit 1341, used if M i M corresponding to each subunit to be encoded i If all predicted patterns in the coding parameters are valid and identical, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the first block partitioning conditions; The third determining subunit 1342 is used to determine the recursive partitioning result R when it is determined that the first block partitioning condition is not met. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions; The fourth determining subunit 1343 is used to traverse the encoding parameters of the untraversed recursive partitioning results in the N recursive partitioning results, until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning condition. Then, based on the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

[0126] The second condition is not satisfied in subunit 1344, used if M i M corresponding to each subunit to be encodedi If all the partitioning state parameters in the encoding parameters belong to the first state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded do not meet the second block partitioning condition; the first state parameter is used to characterize that the optimal partitioning strategy for the corresponding sub-units to be encoded is a no-partitioning strategy; The fifth determining subunit 1345 is used to determine the recursive partitioning result R when it is determined that the second block partitioning condition is not met. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions; The sixth determining subunit 1346 is used to traverse the encoding parameters of the untraversed recursive partitioning results in the N recursive partitioning results, until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning condition. Then, based on the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

[0127] The specific implementation methods of the first condition not satisfied subunit 1341, the third determining subunit 1342, the fourth determining subunit 1343, the second condition not satisfied subunit 1344, the fifth determining subunit 1345, and the sixth determining subunit 1346 can be found above. Figure 3 The descriptions of the block partitioning conditions not met in the corresponding embodiments will not be repeated here.

[0128] The specific implementation methods of the result traversal unit 131, the encoding parameter acquisition unit 132, the first result determination unit 133, and the second result determination unit 134 can be found above. Figure 3 The description of step S103 in the corresponding embodiment will not be repeated here.

[0129] This concludes the traversal module 14, used if M i If there is an invalid prediction pattern among the prediction patterns in the coding parameters, then the traversal of the coding parameters of the untraversed recursive partition results in the N recursive partition results ends. The no-partition strategy is determined as the partition strategy of the unit to be encoded, and the unit to be encoded is determined as the original partition result under the no-partition strategy. The second target result determination module 15 is used to determine the target partitioning result of the unit to be encoded based on the original partitioning result and N recursive partitioning results.

[0130] The second target result determination module 15 includes: a first indicator acquisition unit 151, a second indicator acquisition unit 152, and a third result determination unit 153.

[0131] The first indicator acquisition unit 151 is used to acquire the first rate distortion cost obtained by the original partitioning result in the prediction process; The second indicator acquisition unit 152 is used to acquire the second rate distortion cost obtained by the N recursive partitioning results in the prediction process. The third result determination unit 153 is used to select the optimal rate distortion cost from the first rate distortion cost and N second rate distortion costs, and take the partitioning result corresponding to the optimal rate distortion cost as the target partitioning result of the unit to be encoded.

[0132] The specific implementation methods of the first indicator acquisition unit 151, the second indicator acquisition unit 152, and the third result determination unit 153 can be found in the above description. Figure 3 The description of the target segmentation results in the corresponding embodiments will not be repeated here.

[0133] The original result determination module 16 is used to determine if the recursive partition result R is reached during traversal. i If the encoding parameters of the included subunits to be encoded indicate that the subunits to be encoded do not meet the block partitioning conditions, and i equals N, then the no-partitioning strategy is determined as the partitioning strategy of the subunits to be encoded, and the subunits to be encoded are determined as the original partitioning result under the no-partitioning strategy. The third target result determination module 17 is used to determine the target partitioning result of the unit to be encoded based on the original partitioning result and N recursive partitioning results.

[0134] The target frame determination module 18 is used to obtain the video frame to be encoded from the video data, determine the frame type of the video frame, and when the frame type of the video frame belongs to the target frame type, the video frame is used as the target video frame; the target frame type belongs to the non-key frame type. The image block determination module 19 is used to perform image block division processing on the target video frame through a video encoder to obtain one or more image blocks corresponding to the target video frame. The cell to be encoded determination module 20 is used to determine the cell to be encoded in a target video frame based on one or more image blocks.

[0135] The specific implementation methods of the strategy set acquisition module 11, block partitioning module 12, first target result determination module 13, end traversal module 14, second target result determination module 15, original result determination module 16, third target result determination module 17, target frame determination module 18, image block determination module 19, and the unit to be encoded determination module 20 can be found above. Figure 5 The descriptions of steps S201-S209 in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated.

[0136] Further, please see Figure 8 , Figure 8 This is a schematic diagram of a computer device provided in an embodiment of this application. Figure 8 As shown, the computer device 1000 can be a computer device with video encoding function, and the computer device can be the aforementioned Figure 1a Any terminal device in the terminal device cluster shown (e.g., terminal device 100a) can also be a server (e.g., the one mentioned above). Figure 1a The server 10F shown is not limited here. The computer device 1000 may include: at least one processor 1001, such as a CPU; at least one network interface 1004; a user interface 1003; memory 1005; and at least one communication bus 1002. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a display screen and a keyboard. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as at least one disk drive. The memory 1005 may also optionally be at least one storage device located remotely from the aforementioned processor 1001. Figure 8 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0137] exist Figure 8 In the computer device 1000 shown, the network interface 1004 is mainly used for network communication; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve: Obtain a set of recursive partitioning strategies for the units to be encoded in the target video frame; the set of recursive partitioning strategies includes N partitioning strategies; N is a positive integer; the N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; According to the partitioning strategy G i The coding unit is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The result of the recursive partitioning is R. i Including partitioning strategy G i The obtained subunit to be encoded; The encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results corresponding to the N partitioning strategies are traversed until the encoding parameters indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the target partitioning result of the sub-units to be encoded is determined based on the N recursive partitioning results.

[0138] It should be understood that the computer device 1000 described in the embodiments of this application can execute the foregoing text. Figure 3 and Figure 5 The description of the data processing method in the corresponding embodiment can also be performed as described above. Figure 7 The description of the data processing apparatus 1 in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated here.

[0139] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which are implemented when executed by a processor. Figure 3 and Figure 5 For details on the data processing methods provided in each step, please refer to [link / reference]. Figure 3 as well as Figure 5 The implementation methods provided for each step will not be elaborated here.

[0140] The computer-readable storage medium can be an internal storage unit of the data transmission apparatus or computer device provided in any of the foregoing embodiments, such as a hard disk or memory of the computer device. The computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Furthermore, the computer-readable storage medium may include both internal and external storage units of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

[0141] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, enabling the computer device to perform the data processing methods or apparatus described in the preceding embodiments, which will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated here.

[0142] The terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising," and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.

[0143] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

[0144] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.

Claims

1. A data processing method, characterized in that, include: Obtain a set of recursive partitioning strategies for the units to be encoded in the target video frame; the set of recursive partitioning strategies includes N partitioning strategies; N is a positive integer; The N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; According to the partitioning strategy G i The unit to be encoded is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The recursive partitioning result R i Including based on the partitioning strategy G i The obtained subunit to be encoded; Iterate through the N recursive partitioning results corresponding to the N partitioning strategies in sequence; After traversing to the recursive partition result R i At that time, the recursive partitioning result R is obtained. i The encoding parameters of the included subunits to be encoded; the recursive partitioning result R i Including M i One sub-unit to be encoded; the M i The sub-units to be encoded are based on the partitioning strategy G. i The result obtained after dividing the unit to be encoded into blocks; M i It is a positive integer greater than 1; the block partitioning conditions include a first block partitioning condition associated with the prediction mode and a second block partitioning condition associated with the partitioning state parameters; If the M i M corresponding to each subunit to be encoded i If all the prediction modes in the encoding parameters are valid and there are at least two sub-units to be encoded whose prediction modes are different, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the first block partitioning condition, and the M is configured based on the second block partitioning condition. i Analyze the partitioning state parameters among the encoding parameters; If the M i If at least one of the partitioning state parameters in the encoding parameters belongs to the second state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included subunits indicate that the subunits to be encoded satisfy the second block partitioning condition; The second state parameter is used to characterize that the optimal partitioning strategy of the corresponding subunit to be encoded belongs to the recursive partitioning strategy set; the partitioning state parameter is determined according to the number of partitions of the subunit to be encoded to which each subunit to be encoded belongs, or the partitioning state parameter is determined according to the image size of each subunit to be encoded; the prediction mode is the prediction mode selected by the corresponding subunit to be encoded when adopting the no-partitioning strategy. When both the first and second partitioning conditions are met, the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the block partitioning conditions; Obtain the rate-distortion costs of the N recursive partitioning results during the prediction process, select the optimal rate-distortion cost from the N rate-distortion costs, and use the partitioning result corresponding to the selected optimal rate-distortion cost as the target partitioning result of the unit to be encoded.

2. The method according to claim 1, characterized in that, The method further includes: If the recursive partitioning result R i If the encoding parameters of the sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning conditions, then the encoding parameters of the sub-units to be encoded contained in the N recursive partitioning results that have not been traversed are traversed until the encoding parameters traversed indicate that the sub-units to be encoded meet the block partitioning conditions. Then, the target partitioning result of the sub-units to be encoded is determined according to the N recursive partitioning results.

3. The method according to claim 2, characterized in that, The process of traversing to the recursive partitioning result R i At that time, the recursive partitioning result R is obtained. i The encoding parameters of the included subunits to be encoded include: After traversing to the recursive partition result R i At that time, from the recursive partitioning result R i The sub-unit C to be encoded is determined from the included sub-units to be encoded. j j is less than or equal to M i positive integers; M i R is used to characterize the recursive partitioning result. i The total number of sub-units to be encoded in M; i It is a positive integer greater than 1; Obtain the subunit C to be encoded j The prediction model selected when using a non-segmentation strategy; Based on the block partitioning constraints, the subunit C to be encoded is determined. j The partitioning state parameters include a first state parameter or a second state parameter; the first state parameter is used to characterize the subunit C to be encoded. j The optimal partitioning strategy is no partitioning; the second state parameter is used to characterize the sub-unit C to be encoded. j The optimal partitioning strategy belongs to the set of recursive partitioning strategies. The subunit to be encoded C j The prediction pattern and the subunit to be encoded C j The partitioning state parameters are used as the subunit C to be encoded. j The encoding parameters.

4. The method according to claim 3, characterized in that, The prediction modes include intra-frame prediction modes and inter-frame prediction modes; the intra-frame prediction modes include X1 prediction modes; the inter-frame prediction modes include X2 prediction modes; X1 and X2 are both positive integers. The acquisition of the subunit to be encoded C j The prediction models selected when using a non-split strategy include: During intra-frame prediction, it is determined that the X1 prediction modes are used to respectively target the sub-unit C to be coded. j During prediction processing, the rate-distortion cost corresponding to each of the X1 prediction modes is used to determine the optimal intra-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X1 prediction modes is taken as the optimal intra-frame prediction mode. During inter-frame prediction, it is determined that the X2 prediction modes are used to respectively target the sub-unit C to be encoded. j During prediction processing, the rate-distortion cost corresponding to each of the X2 prediction modes is used to determine the optimal inter-frame prediction mode, and the prediction mode with the best rate-distortion cost among the X2 prediction modes is selected as the optimal inter-frame prediction mode. From the optimal intra-frame prediction mode and the optimal inter-frame prediction mode, the prediction mode corresponding to the optimal rate-distortion cost will be selected as the sub-unit to be encoded, C. j The prediction model selected when using a non-segmentation strategy.

5. The method according to claim 3, characterized in that, The block partitioning constraint includes a first constraint; the first constraint includes a threshold for the number of partitions. The block partitioning constraint is used to determine the subunit C to be encoded. j The partitioning state parameters include: Statistics on the subunit to be encoded C j The number of times the unit to be encoded is divided; If the number of partitions reaches the partition number threshold, then the subunit C to be encoded is determined. j If the first constraint condition is met, the first state parameter is determined as the subunit C to be encoded. j The partitioning state parameters; If the number of partitions does not reach the partition threshold, then the subunit C to be encoded is obtained. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the first restriction condition is not met, the second state parameter is determined as the subunit C to be encoded. j The partitioning state parameters.

6. The method according to claim 3, characterized in that, The block partitioning constraint includes a second constraint; the second constraint includes a partitioning size threshold. The block partitioning constraint is used to determine the subunit C to be encoded. j The partitioning state parameters include: Obtain the subunit C to be encoded j Image size; If the image size is less than or equal to the segmentation size threshold, then the subunit C to be encoded is determined. j If the second constraint condition is met, the first state parameter is determined as the subunit C to be encoded. j The partitioning state parameters; If the image size is greater than the segmentation size threshold, then the subunit C to be encoded is obtained. j The corresponding optimal partitioning strategy, when the optimal partitioning strategy belongs to the set of recursive partitioning strategies, determines the subunit C to be encoded. j If the second constraint is not met, the second state parameter is determined as the subunit C to be encoded. j The partitioning state parameters.

7. The method according to claim 2, characterized in that, If the recursive partitioning result R i If the encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not meet the block partitioning condition, then the encoding parameters of the sub-units to be encoded contained in the untraversed recursive partitioning results among the N recursive partitioning results are traversed until the traversed encoding parameters indicate that the sub-units to be encoded meet the block partitioning condition. Then, based on the N recursive partitioning results, the target partitioning result of the sub-units to be encoded is determined, including: If the M i M corresponding to each subunit to be encoded i If all predicted modes in the encoding parameters are valid and identical, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not satisfy the first block partitioning condition; When it is determined that the first block partitioning condition is not met, the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not satisfy the block partitioning conditions; The encoding parameters of the un-traversed recursive partitioning results in the N recursive partitioning results are traversed until the traversed encoding parameters indicate that the unit to be encoded satisfies the block partitioning condition. Then, the target partitioning result of the unit to be encoded is determined based on the N recursive partitioning results.

8. The method according to claim 2, characterized in that, If the recursive partitioning result R i If the encoding parameters of the included subunits to be encoded indicate that the subunits to be encoded do not meet the block partitioning conditions, then the encoding parameters of the subunits to be encoded contained in the untraversed recursive partitioning results among the N recursive partitioning results are traversed until the traversed encoding parameters indicate that the subunits to be encoded meet the block partitioning conditions. Then, based on the N recursive partitioning results, the target partitioning result of the subunits to be encoded is determined, including: If the M i M corresponding to each subunit to be encoded i If all the partitioning state parameters in the encoding parameters belong to the first state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded do not satisfy the second block partitioning condition; the first state parameter is used to characterize that the optimal partitioning strategy for the corresponding sub-units to be encoded is a no-partitioning strategy; When it is determined that the second partitioning condition is not met, the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded do not satisfy the block partitioning conditions; The encoding parameters of the un-traversed recursive partitioning results in the N recursive partitioning results are traversed until the traversed encoding parameters indicate that the unit to be encoded meets the block partitioning condition. Then, the target partitioning result of the unit to be encoded is determined according to the N recursive partitioning results.

9. The method according to claim 7, characterized in that, The method further includes: If the M i If there is an invalid prediction mode among the N recursive partitioning results, the traversal of the encoding parameters of the untraversed recursive partitioning results and the encoding parameters of the subunits to be encoded is terminated. The no-partitioning strategy is determined as the partitioning strategy of the subunits to be encoded, and the subunits to be encoded are determined as the original partitioning results under the no-partitioning strategy. Based on the original partitioning result and the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

10. The method according to claim 2, characterized in that, The method further includes: If the recursive partitioning result R is reached... i If the encoding parameters of the included subunit to be encoded indicate that the unit to be encoded does not meet the block partitioning condition, and i equals N, then the no-partitioning strategy is determined as the partitioning strategy of the unit to be encoded, and the unit to be encoded is determined as the original partitioning result under the no-partitioning strategy. Based on the original partitioning result and the N recursive partitioning results, the target partitioning result of the unit to be encoded is determined.

11. The method according to claim 9 or 10, characterized in that, The step of determining the target partitioning result of the unit to be encoded based on the original partitioning result and the N recursive partitioning results includes: Obtain the first rate distortion cost obtained during the prediction process of the original partitioning result; Obtain the second rate distortion cost of the N recursive partitioning results during the prediction process; From the first rate-distortion cost and N second rate-distortion costs, select the optimal rate-distortion cost, and use the partitioning result corresponding to the optimal rate-distortion cost as the target partitioning result of the unit to be encoded.

12. The method according to claim 1, characterized in that, The method further includes: The video frame to be encoded is obtained from the video data, the frame type of the video frame is determined, and if the frame type of the video frame belongs to the target frame type, the video frame is used as the target video frame; the target frame type belongs to the non-key frame type. The target video frame is divided into image blocks by a video encoder to obtain one or more image blocks corresponding to the target video frame. Based on the one or more image blocks, determine the unit to be encoded in the target video frame.

13. A data processing apparatus, characterized in that, include: The strategy set acquisition module is used to acquire a recursive partitioning strategy set for the units to be encoded in the target video frame; the recursive partitioning strategy set includes N partitioning strategies; N is a positive integer; the N partitioning strategies include partitioning strategy G. i ; i is a positive integer less than or equal to N; The block partitioning module is used to partition the blocks according to the partitioning strategy G. i The unit to be encoded is divided into blocks to obtain the partitioning strategy G. i The recursive partitioning result R i The recursive partitioning result R i Including based on the partitioning strategy G i The obtained subunit to be encoded; The first target result determination module includes: a result traversal unit, an encoding parameter acquisition unit, and a first result determination unit; The result traversal unit is used to sequentially traverse the N recursive partitioning results corresponding to the N partitioning strategies; The encoding parameter acquisition unit is used to obtain the encoding parameters when traversing the recursive partitioning result R. i At that time, the recursive partitioning result R is obtained. i The encoding parameters of the included subunits to be encoded; the recursive partitioning result R i Including M i One sub-unit to be encoded; the M i The sub-units to be encoded are based on the partitioning strategy G. i The result obtained after dividing the unit to be encoded into blocks; M i It is a positive integer greater than 1; The block partitioning conditions include a first block partitioning condition associated with the prediction model and a second block partitioning condition associated with the partitioning state parameters; The first result determination unit includes: a first condition satisfaction subunit, a second condition satisfaction subunit, a block partitioning condition satisfaction subunit, and a second determination subunit; The first condition-satisfying subunit is used if the M i M corresponding to each subunit to be encoded i If all the prediction modes in the encoding parameters are valid and there are at least two sub-units to be encoded whose prediction modes are different, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the first block partitioning condition, and the M is configured based on the second block partitioning condition. i Analyze the partitioning state parameters among the encoding parameters; The second condition-satisfying subunit is used if the M i If at least one of the partitioning state parameters in the encoding parameters belongs to the second state parameter, then the recursive partitioning result R is determined. i The encoding parameters of the included sub-units indicate that the sub-units to be encoded satisfy the second block partitioning condition; the second state parameter is used to characterize that the optimal partitioning strategy of the corresponding sub-unit to be encoded belongs to the recursive partitioning strategy set; the partitioning state parameter is determined according to the number of partitions of the sub-unit to which each sub-unit to be encoded belongs, or the partitioning state parameter is determined according to the image size of each sub-unit to be encoded; the prediction mode is the prediction mode selected by the corresponding sub-unit to be encoded when adopting a no-partitioning strategy; The block partitioning condition satisfying sub-unit is used to determine the recursive partitioning result R when both the first block partitioning condition and the second block partitioning condition are satisfied. i The encoding parameters of the included sub-units to be encoded indicate that the sub-units to be encoded satisfy the block partitioning conditions; The second determining subunit is used to obtain the rate-distortion costs obtained by the N recursive partitioning results in the prediction process, select the optimal rate-distortion cost from the N rate-distortion costs, and take the partitioning result corresponding to the selected optimal rate-distortion cost as the target partitioning result of the unit to be encoded.

14. A computer device, characterized in that, include: Processor, memory, and network interface; The processor is connected to the memory and the network interface, wherein the network interface is used to provide data communication functions, the memory is used to store computer programs, and the processor is used to invoke the computer programs to cause the computer device to perform the method according to any one of claims 1 to 12.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1 to 12.

16. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, the computer program being adapted to be read and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1 to 12.