A data processing method, apparatus, device, and readable storage medium

By obtaining and testing multiple rendering parameter combinations, determining the optimal combination to optimize the rendering parameters of the terminal device, the problem of poor rendering performance in the prior art is solved, and more efficient rendering performance and better rendering requirements are achieved.

CN116193197BActive Publication Date: 2025-04-18TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310191461.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-22
Publication Date
2025-04-18
Estimated Expiration
2043-02-22

AI Technical Summary

Technical Problem

In the prior art, the terminal device renders through fixed rendering parameters that are randomly configured in advance, resulting in poor rendering performance and cannot meet the rendering needs of different intelligent applications.

Method used

By obtaining K rendering parameter combinations for terminal devices, using test code streams to test the rendering effect of each combination, the optimal rendering parameter combination is determined to optimize the rendering parameters of terminal devices.

Benefits of technology

The rendering performance of terminal devices is improved, so that it can more accurately meet the rendering needs of different intelligent applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116193197B_ABST
    Figure CN116193197B_ABST
Patent Text Reader

Abstract

The present application discloses a data processing method, apparatus, device and readable storage medium. The method comprises: obtaining K rendering parameter combinations for a terminal device; the K rendering parameter combinations include a rendering parameter combination S i , i is a positive integer; input the test bitstream into the test device, and determine the rendering parameter combination S according to the rendering data of the test bitstream by the test device. i The corresponding rendering effect reference value; the test device refers to the device rendering parameters of the terminal device switched to the rendering parameter combination S i When the rendering effect reference values ​​corresponding to each rendering parameter combination are determined, the optimal rendering parameter combination of the terminal device is determined from the K rendering parameter combinations according to the K rendering effect reference values. By adopting this application, the rendering parameters of the terminal device can be optimized and the rendering performance of the terminal device can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, device and readable storage medium. Background Art

[0002] With the rapid development of computer technology and multimedia technology, more and more intelligent applications have emerged, which enrich our daily life. Usually, these intelligent applications are deployed in terminal devices, and users can run these intelligent applications through terminal devices.

[0003] It should be understood that when smart applications are deployed in terminal devices, the terminal devices can render application-related data to output application screens associated with the smart applications. Among them, for some smart applications that require low latency and high fluency (such as cloud gaming applications, real-time video communication applications and other media applications), the rendering performance requirements of the terminal devices are relatively high.

[0004] In the related art, a fixed rendering parameter is randomly configured in advance for the terminal device, and a single fixed rendering parameter is used to render different smart applications. However, due to the influence of the chip, system version or other factors of the terminal device, different rendering parameters have different rendering performance in the terminal device. Therefore, the method of randomly configuring a fixed rendering parameter for the terminal device in advance is not targeted and accurate. The rendering parameter may not be suitable for the terminal device, resulting in low rendering performance of the terminal device and failure to meet the rendering requirements of different smart applications. Summary of the invention

[0005] The embodiments of the present application provide a data processing method, apparatus, device, and readable storage medium, which can optimize the rendering parameters of a terminal device and improve the rendering performance of the terminal device.

[0006] On the one hand, an embodiment of the present application provides a data processing method, including:

[0007] Get K rendering parameter combinations for the terminal device; K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering parameters that affect the rendering performance of the terminal device; each rendering parameter that affects the rendering performance of the terminal device refers to a rendering parameter that affects the rendering performance of the terminal device; the K rendering parameter combinations include rendering parameter combination S i , i is a positive integer;

[0008] Input the test bitstream into the test device, and determine the rendering parameter combination S according to the rendering data of the test bitstream by the test device. i The corresponding rendering effect reference value; the test device refers to the device rendering parameters of the terminal device switched to the rendering parameter combination S iTerminal device; rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i Corresponding rendering effect;

[0009] When the rendering effect reference values ​​corresponding to each rendering parameter combination are determined, the optimal rendering parameter combination of the terminal device is determined from the K rendering parameter combinations according to the K rendering effect reference values.

[0010] An embodiment of the present application provides a data processing device, including:

[0011] The combination acquisition module is used to acquire K rendering parameter combinations for the terminal device; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering parameters that affect the rendering performance of the terminal device; each rendering parameter that affects the rendering performance of the terminal device refers to a rendering parameter that affects the rendering performance of the terminal device; K is a positive integer; the K rendering parameter combinations include rendering parameter combinations S i , i is a positive integer;

[0012] The code stream input module is used to input the test code stream into the test device; the test device refers to the device rendering parameter of the terminal device switched to the rendering parameter combination S i Terminal equipment;

[0013] The reference value determination module is used to determine the rendering parameter combination S according to the rendering data of the test code stream by the test device. i Corresponding rendering effect reference value; rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i Corresponding rendering effect;

[0014] The optimal combination determination module is used to determine the optimal rendering parameter combination of the terminal device from the K rendering parameter combinations according to the K rendering effect reference values ​​when the rendering effect reference values ​​corresponding to each rendering parameter combination are determined.

[0015] In one embodiment, the combination acquisition module may include:

[0016] A feature acquisition unit, used to acquire R device rendering features configured for the terminal device; R is a positive integer;

[0017] A parameter set acquisition unit is used to acquire a device rendering parameter set corresponding to each device rendering feature in the R device rendering features, so as to obtain R device rendering parameter sets;

[0018] The parameter combination unit is used to combine the device rendering parameters included in the R device rendering parameter sets based on the parameter combination rule to obtain K rendering parameter combinations.

[0019] In one embodiment, the parameter combination unit may include:

[0020] The first combination determination subunit is used to determine, based on the parameter combination rule, a combination of a first target device rendering parameter in the target device rendering parameter set and a second target device rendering parameter in the remaining device rendering parameter set as a rendering parameter combination S. i ; The target device rendering parameter set is any device rendering parameter set in the R device rendering parameter sets; the remaining device rendering parameter sets are device rendering parameter sets in the R device rendering parameter sets except the target device rendering parameter set; the first target device rendering parameter refers to any device rendering parameter in the target device rendering parameter set; the second target device rendering parameter refers to any device rendering parameter in the remaining device rendering parameter sets;

[0021] The second combination determination subunit is used to determine the combination consisting of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameter as the remaining rendering parameter combination; the remaining device rendering parameter is any device rendering parameter in the target device rendering parameter set except the first target device rendering parameter;

[0022] The parameter combination determination subunit is used to combine S according to the rendering parameters i Combined with the remaining rendering parameters, K rendering parameter combinations are determined.

[0023] In one embodiment, the R device rendering features include the device rendering feature H j ; j is a positive integer; each device rendering feature corresponds to a set of device rendering parameters, including the device rendering feature H j The corresponding device rendering parameter set P j ;

[0024] The parameter combination determination subunit is also specifically used to combine the rendering parameters S i The remaining rendering parameter combinations are all determined as initial rendering parameter combinations, and the set consisting of the initial rendering parameter combinations is determined as the initial rendering parameter combination set;

[0025] The parameter combination determines the subunit, which is also specifically used to obtain the device rendering feature H j The corresponding device rendering parameter set P j In the , each device rendering parameter corresponds to the parameter priority;

[0026] The parameter combination determination subunit is also specifically used to render the parameter set P according to the device j In the order of the priority of each device rendering parameter, the device rendering parameter set P jSort the device rendering parameters in to obtain a parameter sequence;

[0027] The parameter combination determination subunit is further specifically used to prune the initial rendering parameter combination set based on the parameter sequence to obtain a pruned rendering parameter combination set, and determine K rendering parameter combinations according to the pruned rendering parameter combination set.

[0028] In one embodiment, the parameter combination determination subunit is further specifically used to determine the device rendering parameter located at the end position of the sequence in the parameter sequence as the rendering parameter to be pruned;

[0029] The parameter combination determination subunit is further specifically used to determine the initial rendering parameter combination including the rendering parameters to be pruned in the initial rendering parameter combination set as the rendering parameter combination to be pruned;

[0030] The parameter combination determination subunit is further specifically used to delete the rendering parameter combination to be pruned in the initial rendering parameter combination set to obtain the pruned rendering parameter combination set.

[0031] In one embodiment, the parameter combination determination subunit is further specifically configured to set the device rendering feature H j The pruned attributes of are updated from unpruned attributes to pruned attributes;

[0032] The parameter combination determines the subunit, and is also specifically used to traverse R device rendering features;

[0033] The parameter combination determination subunit is further specifically used to determine the pruned rendering parameter combination set as K rendering parameter combinations if the pruned attributes of each device rendering feature in the R device rendering features are pruned attributes;

[0034] The parameter combination determination subunit is further specifically used for, if there is a device rendering feature whose pruned attribute is an unpruned attribute among the R device rendering features, then the device rendering feature whose pruned attribute is an unpruned attribute is determined as an unpruned rendering feature, and according to the device rendering parameter set corresponding to the unpruned rendering feature, the pruned rendering parameter combination set is pruned, and K rendering parameter combinations are determined according to the pruning results obtained by the pruning process.

[0035] In one embodiment, the R device rendering features include a device input frame rate feature; the device rendering parameter set corresponding to each device rendering feature includes a device input frame rate set corresponding to the device input frame rate feature;

[0036] The parameter set acquisition unit may include:

[0037] The type acquisition subunit is used to obtain the media encoding type for which the terminal device has encoding and decoding permissions;

[0038] A prediction value determination subunit, used to obtain a maximum resolution corresponding to the terminal device, and determine a maximum decoding frame rate prediction value corresponding to the terminal device according to the media coding type and the maximum resolution;

[0039] The maximum frame rate determination subunit is used to obtain the screen refresh rate corresponding to the terminal device, and determine the minimum value between the maximum decoding frame rate prediction value and the screen refresh rate as the maximum input frame rate of the terminal device;

[0040] The frame rate set determination subunit is used to determine a device input frame rate set corresponding to the device input frame rate feature based on the maximum input frame rate.

[0041] In one embodiment, the frame rate set determination subunit is further specifically used to obtain an initial configuration frame rate set; the initial configuration frame rate set includes one or more initial configuration frame rates;

[0042] The frame rate set determination subunit is further specifically configured to obtain an initial configuration frame rate that is less than or equal to the maximum input frame rate from one or more initial configuration frame rates;

[0043] The frame rate set determination subunit is further specifically configured to determine a set consisting of initial configuration frame rates that are less than or equal to the maximum input frame rate as a device input frame rate set corresponding to the device input frame rate feature.

[0044] In one embodiment, the test code stream is composed of M media data frames; the M media data frames include media data frames Q j ; M, j are both positive integers; rendering parameter combination S i The corresponding rendering effect reference value, including the rendering parameter combination S i The corresponding average decoding and rendering delay;

[0045] The reference value determination module may include:

[0046] Input time acquisition unit, used to obtain media data frame Q j The frame input time input to the test device;

[0047] The rendering frame acquisition unit is used to obtain the media data frame Q from the rendering data of the test code stream by the test device. j The corresponding rendering frame;

[0048] Output time acquisition unit, used to obtain media data frame Q j The corresponding rendering frame is the frame output time output to the device display interface; the device display interface refers to the display interface of the test device;

[0049] The rendering delay determination unit is used to determine the time period between the frame input time and the frame output time as the media data frame Q j Corresponding decoding and rendering delay;

[0050] The average delay determination unit is used to determine the rendering parameter combination S according to the decoding rendering delay corresponding to each media data frame in the M media data frames when determining the decoding rendering delay corresponding to each media data frame. i The corresponding average decoding and rendering delay.

[0051] In one embodiment, the average delay determination unit may include:

[0052] A summing processing subunit, used for summing the M decoding and rendering delays to obtain a total value of the decoding and rendering delays;

[0053] A quantity counting subunit, used for counting the total number of media data frames included in the M media data frames;

[0054] The mean determination subunit is used to determine the mean between the total value of the decoding and rendering delay and the total number, and obtain the rendering parameter combination S i The corresponding average decoding and rendering delay.

[0055] In one embodiment, the rendering parameter combination S i The corresponding rendering effect reference value refers to the rendering parameter combination S i The corresponding average decoding and rendering delay; the K rendering effect reference values ​​refer to the K average decoding and rendering delays;

[0056] The optimal combination determination module may include:

[0057] A minimum delay determination unit, used to obtain a minimum average decoding and rendering delay among K average decoding and rendering delays;

[0058] The optimal combination determination unit is used to determine the rendering parameter combination corresponding to the minimum average decoding rendering delay among the K rendering parameter combinations as the optimal rendering parameter combination of the terminal device.

[0059] An embodiment of the present application provides a computer device, including: a processor and a memory;

[0060] The memory stores a computer program, and when the computer program is executed by the processor, the processor executes the method in the embodiment of the present application.

[0061] On the one hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program includes program instructions. When the program instructions are executed by a processor, the method in the embodiment of the present application is executed.

[0062] In one aspect of the present application, a computer program product is provided, the computer program product comprising a computer program, the computer program being stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the method provided in one aspect of the embodiments of the present application.

[0063] In the embodiment of the present application, different rendering parameters that affect the rendering performance of the terminal device can be combined to obtain K rendering parameter combinations, and each rendering parameter combination can be used as a test group. The rendering effect of each test group can be tested using a test bitstream, thereby determining which rendering parameter combination is the optimal rendering parameter for the terminal device. i For example, the device rendering parameter can be the rendering parameter combination S i The terminal device is determined as a test device, and then the test stream can be input into the test device, and the test device can render the test stream. Based on the rendering data of the test stream by the test device, the rendering parameter combination S can be determined. i Corresponding rendering effect reference value (used to characterize the rendering parameter combination S i corresponding rendering effect value); then when the rendering effect reference value corresponding to each rendering parameter combination is determined, an optimal rendering effect reference value can be determined based on the K rendering effect reference values, thereby determining an optimal rendering parameter combination. It should be understood that the present application dynamically detects the rendering performance of different rendering parameter combinations on the terminal device based on the test bitstream, and can determine the optimal rendering parameters based on the actual rendering effect reference data (rendering effect reference value). Compared with randomly configuring rendering parameters for the terminal device, the method of detecting different rendering parameter combinations through the test bitstream and determining the optimal rendering parameter combination based on the actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device. In summary, the present application can optimize the rendering parameters of the terminal device and improve the rendering performance of the terminal device. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0065] Figure 1 This is a network architecture diagram provided by an embodiment of the present application;

[0066] Figure 2 is a schematic diagram of a scene for determining optimal rendering parameters provided by an embodiment of the present application;

[0067] Figure 3 It is a flowchart of a data processing method provided in an embodiment of the present application;

[0068] Figure 4 It is a schematic diagram of a process for determining a rendering parameter combination provided by an embodiment of the present application;

[0069] Figure 5 It is a system flow chart provided by an embodiment of the present application;

[0070] Figure 6 It is a schematic diagram of a process of pruning a rendering parameter combination provided by an embodiment of the present application;

[0071] Figure 7 is a structural schematic diagram of a data processing device provided in an embodiment of the present application;

[0072] Figure 8 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0073] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0074] The embodiments of the present application also involve artificial intelligence and related technologies. For ease of understanding, the concepts of artificial intelligence and other related technologies are briefly described below:

[0075] Artificial Intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.

[0076] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. Basic artificial intelligence technologies generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operating / interactive systems, mechatronics and other technologies. Artificial intelligence software technologies mainly include computer vision technology, speech processing technology, natural language processing technology, as well as machine learning / deep learning, autonomous driving, smart transportation and other major directions.

[0077] With the research and advancement of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, drones, robots, smart medical care, smart customer service, Internet of Vehicles, automatic driving, smart transportation, etc. I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.

[0078] The embodiments of the present application mainly relate to computer vision technology in artificial intelligence software technology of artificial intelligence.

[0079] Computer Vision Technology (CV) Computer vision is a science that studies how to make machines "see". To put it more specifically, it refers to machine vision such as using cameras and computers to replace human eyes to identify and measure targets, and further perform graphic processing so that computer processing becomes an image that is more suitable for human eye observation or transmission to instrument detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous positioning and map construction, automatic driving, smart transportation and other technologies, as well as common biometric recognition technologies such as face recognition and fingerprint recognition.

[0080] See also Figure 1 , Figure 1 Schematic diagram of a network architecture provided by an embodiment of the present application. Figure 1 As shown, the network architecture may include a service server 1000 and a terminal device cluster. The terminal device cluster may include one or more terminal devices, and the number of terminal devices is not limited here. Figure 1 As shown, the multiple terminal devices may specifically include terminal device 100a, terminal device 100b, terminal device 100c, ..., terminal device 100n. Figure 1As shown, the terminal device 100a, the terminal device 100b, the terminal device 100c, ..., the terminal device 100n can be respectively connected to the above-mentioned business server 1000 through a network, so that each terminal device can exchange data with the business server 1000 through the network connection. The network connection here does not limit the connection method, and can be directly or indirectly connected through a wired communication method, directly or indirectly connected through a wireless communication method, or through other methods, which are not limited in this application.

[0081] Each terminal device can be integrated with a target application. When the target application runs in each terminal device, it can be used together with the above Figure 1 Data interaction is performed between the business servers 1000 shown. Among them, the target application may include an application with data information functions such as displaying text, images, audio and video. Among them, the application may include social applications, multimedia applications (for example, video applications), entertainment applications (for example, cloud game applications), educational applications, live broadcast applications and other applications with media data encoding functions (such as video encoding functions). Of course, the application can also be other applications with display data information functions and video encoding functions, which are not given examples one by one here. Among them, the application can be an independent application or an embedded sub-application integrated in an application (for example, a social application, an educational application, and a multimedia application, etc.), which is not limited here.

[0082] For ease of understanding, the embodiments of the present application can be Figure 1 Select one terminal device from the multiple terminal devices shown as the target terminal device. Figure 1 The terminal device 100a shown is used as a target terminal device, and a target application with a video encoding function may be integrated in the target terminal device. At this time, the target terminal device can realize data interaction with the service server 1000 through the service data platform corresponding to the application client.

[0083] It should be understood that the computer device (e.g., terminal device 100a, service server 1000) with media data encoding function (e.g., video encoding function) in the embodiment of the present application can realize data encoding and data transmission of multimedia data (e.g., video data) through cloud technology. Among them, cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network in a wide area network or a local area network to realize data calculation, storage, processing, and sharing.

[0084] Cloud technology can be a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. It can form a resource pool, which can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of technical network systems require a lot of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, which needs to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data need strong system backing support, which can only be achieved through cloud computing.

[0085] For example, the data processing method provided in the embodiment of the present application can be applied to high-resolution, high-frame-rate, and low-latency scenarios such as video viewing scenarios, video call scenarios, video transmission scenarios, cloud conference scenarios, cloud game scenarios, and live broadcast scenarios. Among them, cloud conference is an efficient, convenient, and low-cost conference format based on cloud computing technology. Users only need to use the Internet interface to perform simple and easy-to-use operations to quickly and efficiently share voice, data files, and videos with teams and customers around the world, while the complex technologies such as data transmission and processing in the conference are operated by cloud conference service providers to help users. At present, domestic cloud conferences are mainly concentrated in service content based on the SaaS (Software as a Service) model, including telephone, network, video, and other service forms. Video conferences based on cloud computing are called cloud conferences. In the era of cloud conferences, data transmission, processing, and storage are all handled by the computer resources of video conference manufacturers. Users no longer need to purchase expensive hardware and install cumbersome software. They only need to open a browser and log in to the corresponding interface to conduct efficient remote conferences. The cloud conference system supports dynamic cluster deployment of multiple servers and provides multiple high-performance servers, which greatly improves the stability, security, and availability of conferences. In recent years, video conferencing has been welcomed by many users because it can greatly improve communication efficiency, continuously reduce communication costs, and upgrade internal management levels. It has been widely used in various fields such as transportation, finance, operators, education, and enterprises. There is no doubt that after the use of cloud computing, video conferencing has a stronger appeal in terms of convenience, speed, and ease of use, which will surely stimulate the arrival of a new wave of video conferencing applications.

[0086] It should be understood that a computer device having a media data encoding function (for example, a terminal device 100a having a video encoding function) can encode the media data through a media data encoder (such as a video encoder) to obtain a data code stream corresponding to the media data (such as obtaining a video code stream corresponding to the video data), thereby improving the transmission efficiency of the media data. Wherein, when the media data encoder is a video encoder, the video encoder can be an AV1 video encoder, an H.266 video encoder, an AVS3 video encoder, etc., and examples are not given one by one here. Wherein, the video compression standard of the AV1 video encoder is the first generation video coding standard developed by the Alliance for Open Media (AOM for short).

[0087] Among them, it should be understood that for the encoded data stream (such as a video stream), the terminal device can obtain a picture for output display (such as a video picture, a game picture, etc.) by decoding and rendering it. And it can be understood that in order to optimize the rendering parameters of the terminal device to improve the rendering performance of the terminal device, thereby obtaining a higher quality rendering picture, the present application can configure different rendering parameter combinations for the terminal device, and then test different rendering parameter combinations based on the test stream to test the rendering parameter combination with the best rendering effect, so that the device rendering parameters of the terminal device can be configured to the rendering parameter combination with the best adaptability and rendering performance, thereby improving the decoding and rendering performance of the terminal device.

[0088] Specifically, for a terminal device, there are different features that affect its rendering performance (each feature can be referred to as a rendering feature here), for example, the rendering window type, rendering frame loss mode, rendering timestamp type, rendering input frame rate and other features, all of which will affect the rendering performance of the terminal device, then the rendering window type, rendering frame loss mode, rendering timestamp type, rendering input frame rate can all be referred to as device rendering features. Among them, a device rendering feature can contain different possible values, each of which can be understood as a parameter that affects the rendering performance of the terminal device (that is, a parameter that affects the rendering performance of the terminal device, which may also be referred to as a device rendering parameter in this application). For example, taking the rendering window type as an example, it can take the values ​​SurfaceView and TextureView, then each possible value window type can be used as a device rendering parameter under the device rendering feature of the rendering window type (that is, SurfaceView can be used as a device rendering parameter, and TextureView can be used as a device rendering parameter); for another example, taking the rendering frame drop mode as an example, it can take the values ​​frame drop and no frame drop, then each possible value mode can be used as a rendering parameter under the device rendering feature of the rendering frame drop mode (that is, frame drop can be used as a device rendering parameter, and no frame drop can be used as a device rendering parameter).

[0089] In the present application, different rendering parameters that affect the rendering characteristics of each device can be combined to obtain K rendering parameter combinations. That is to say, a rendering parameter combination contains one or more different rendering parameters that affect rendering. Since the parameters that affect rendering are different, the rendering performance of each rendering parameter combination will also be different. Based on this, the present application can dynamically test the rendering effect of each rendering parameter combination on the test bitstream based on the test bitstream (the bitstream obtained after encoding processing, the test bitstream can refer to a media data bitstream such as a video bitstream). Among them, for the rendering effect of a certain rendering parameter combination on the test bitstream, the present application can determine the rendering effect reference value of the rendering parameter combination on the test bitstream (that is, the excellence of the rendering effect is reflected by a numerical value). With the rendering parameter combination S i For example, the rendering parameters of the terminal device can be configured as the rendering parameter combination S i (This configuration is the rendering parameter combination S i The terminal device can be referred to as a test device). Subsequently, a certain media data can be encoded by the service server 1000. After obtaining the test bit stream, the test bit stream can be input into the test device. Thus, the test device can combine S based on the rendering parameters. i, and perform decoding and rendering processing on the test bitstream. Further, the service server 1000 can obtain the rendering data of the test bitstream by the test device, and determine the rendering parameter combination S based on the rendering data. i Similarly, for each rendering parameter combination, the business server 1000 can obtain its corresponding rendering effect reference value. Based on these rendering effect reference values, the business server 1000 can determine which rendering parameter combination has the best rendering effect, thereby determining the optimal rendering parameter combination. Finally, the device rendering parameters of the terminal device can be configured to the optimal rendering parameter combination.

[0090] For the specific implementation method of combining different rendering parameters to obtain K rendering parameter combinations and determining the rendering effect reference value of each rendering parameter combination, please refer to the subsequent Figure 3 The description in the corresponding embodiment.

[0091] It is understandable that the method provided in the embodiments of the present application can be executed by a computer device, including but not limited to a terminal device or a business server. Among them, the business server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0092] Optionally, it can be understood that the above-mentioned computer device (such as the above-mentioned business server 1000, terminal device 100a, terminal device 100b, etc.) can be a node in a distributed system, wherein the distributed system can be a blockchain system, and the blockchain system can be a distributed system formed by connecting the multiple nodes through network communication. Among them, the nodes can form a peer-to-peer (P2P, Peer To Peer) network, and the P2P protocol is an application layer protocol running on the transmission control protocol (TCP, Transmission Control Protocol) protocol. In a distributed system, any form of computer equipment, such as business servers, terminal devices and other electronic devices, can become a node in the blockchain system by joining the peer-to-peer network. For ease of understanding, the concept of blockchain will be explained below: Blockchain is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism and encryption algorithm, which is mainly used to organize data in chronological order and encrypt it into an account book so that it cannot be tampered with or forged, and can verify, store and update data at the same time. When the computer device is a blockchain node, due to the tamper-proof and anti-counterfeiting characteristics of the blockchain, the data in this application (such as the test code stream after encoding, the rendering effect reference value corresponding to each rendering parameter combination, etc.) can be authentic and secure, so that the results obtained after relevant data processing based on these data can be more reliable.

[0093] It should be noted that in the specific implementation of this application, user information, user data (such as relevant application data uploaded in the target application, etc.) and other related data need to be obtained with the authorization of the user. In other words, when the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions.

[0094] The embodiments of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, assisted driving, etc. For ease of understanding, please refer to Figure 2 , Figure 2 is a schematic diagram of a scene for determining optimal rendering parameters provided by an embodiment of the present application. Figure 2 The scenario shown is a scenario using video transmission between different terminal devices as an example. In the video transmission scenario, the terminal device S 1 The terminal device S may be a transmitting terminal for transmitting video data (eg, video data 1). 1 The corresponding user may be user a. 2It can be a receiving terminal for receiving video data (such as video data 1). The terminal device S 2 The corresponding user may be user b. Figure 2 The service server 200 in the embodiment can be a server connected to the terminal device S 1 , terminal equipment S 2 A server having a network connection relationship, the business server 200 can be the above Figure 1 Business server 1000 is shown.

[0095] It should be understood that in the video transmission scenario, the terminal device S 1 The video data 1 associated with user a collected by an image collector (eg, a camera) can be obtained. 1 The video data 1 may be encoded by a video encoder (eg, an AV1 video encoder) to generate a video code stream 1 associated with the video data 1. 1 The video code stream 1 may be sent to the service server 200. When receiving the video code stream 1, the service server 200 may decode the video code stream 1 to obtain video data (which may be referred to as YUV video data, decoded video data, or video data to be encoded) in a pixel image format (which may also be referred to as a YUV format), and then the service server 200 may encode the video data to be encoded (for example, by encoding the video data to be encoded through a video encoder), thereby obtaining a new video code stream (such as video code stream 2) encoded by the service server 200.

[0096] It can be understood that the business server 200 performs encoding processing on the video data to be encoded, which can actually be understood as encoding processing for each video frame of the video data to be encoded (which can be referred to as the video frame to be encoded), and then the video code stream 2 can include the frame after encoding processing corresponding to each video frame (which can be referred to as the encoded frame). Further, the business server 200 can send the video code stream 2 to the terminal device S 2 , and the terminal device S 2 The video code stream 2 can be decoded and rendered for output, and user B can then use the terminal device S 2 View the video data 1.

[0097] It should be understood that in order to improve the user's experience of watching video data, the present application can optimize the rendering parameters of the terminal device to improve the rendering performance of the terminal device, thereby improving the quality of the rendered picture (such as the rendered picture of the video code stream 2) rendered by the terminal device. 2Different rendering parameters that affect the rendering performance of the device (referred to as rendering parameters that affect the rendering performance) can be combined into different rendering parameters to obtain multiple rendering parameter combinations. Here, it is assumed that the rendering parameter combination includes rendering parameter combination 1, rendering parameter combination 2, rendering parameter combination 3, and rendering parameter combination 4 as an example. The terminal device S 2 The device rendering parameters of the device S are switched to the rendering parameter combination 1 first. For easy distinction, the device rendering parameters can be switched to the terminal device S of the rendering parameter combination 1. 2 It is called terminal device 200a, and the terminal device 200a can be used as a test device (hereinafter referred to as test device 200a).

[0098] Furthermore, the video code stream 2 encoded by the service server 200 can be used as a test code stream, and the test code stream can be input into the test device 200a. Then, in the test device 200a, each encoded frame in the test code stream (such as Figure 2 The coding frame 20a shown in the figure is decoded and rendered, thereby obtaining rendering data of each coding frame. Subsequently, based on these rendering data, a rendering effect reference value (such as Figure 2 The rendering effect reference value a) shown in FIG. 1 can be used to characterize a rendering effect of the rendering parameter combination 1. Similarly, the terminal device S 2 The device rendering parameter switch is set to rendering parameter combination 2, rendering parameter combination 3 or rendering parameter combination 4. For easy distinction, the device rendering parameter switch can be set to the terminal device S of rendering parameter combination 2. 2 The terminal device 200b is called terminal device 200b, which can be used as a test device (hereinafter referred to as test device 200b); the terminal device S that can set the device rendering parameter switch to rendering parameter combination 3 2 The terminal device 200c is called terminal device 200c, which can be used as a test device (hereinafter referred to as test device 200c); the terminal device S that can set the device rendering parameter switch to the rendering parameter combination 4 2 The terminal device 200d is called terminal device 200d, and the terminal device 200d can be used as a test device (hereinafter referred to as test device 200d). For each test device, a test bitstream can be input into the test device, and through the decoding and rendering data of the test bitstream by each test device, the rendering effect reference values ​​corresponding to different rendering parameter combinations can be obtained.

[0099] For example, Figure 2As shown, based on the decoded rendering data of the test code stream by the test device 200a, the rendering effect reference value a corresponding to the rendering parameter combination 1 can be obtained; based on the decoded rendering data of the test code stream by the test device 200b, the rendering effect reference value b corresponding to the rendering parameter combination 2 can be obtained; based on the decoded rendering data of the test code stream by the test device 200c, the rendering effect reference value c corresponding to the rendering parameter combination 3 can be obtained; based on the decoded rendering data of the test code stream by the test device 200d, the rendering effect reference value d corresponding to the rendering parameter combination 4 can be obtained.

[0100] Furthermore, an optimal rendering effect reference value can be determined from the rendering effect reference value a, the rendering effect reference value b, the rendering effect reference value c, and the rendering effect reference value d. The rendering parameter combination corresponding to the optimal rendering effect reference value can be used as an optimal rendering parameter combination. 2 The device rendering parameters are configured to be the optimal rendering parameter combination.

[0101] It should be understood that the present application dynamically detects the rendering performance of different rendering parameter combinations on the terminal device based on the test bitstream, and can determine the optimal rendering parameters based on the actual rendering effect reference data (rendering effect reference value). Compared with randomly configuring rendering parameters for the terminal device, the method of detecting different rendering parameter combinations through the test bitstream and determining the optimal rendering parameter combination based on the actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device.

[0102] For further information, see Figure 3 , Figure 3 is a flow chart of a data processing method provided by an embodiment of the present application. The method provided by the embodiment of the present application can be applied to various scenarios, including but not limited to audio and video, cloud technology, artificial intelligence, smart transportation, assisted driving, etc. The method can be performed by a terminal device (for example, the above Figure 1 Any terminal device in the terminal device cluster) can also be executed by a server (for example, the above Figure 1 The data processing method may be executed by the service server 1000) or by the terminal device and the server. For ease of understanding, this embodiment takes the method executed by the above-mentioned server as an example to illustrate the specific process of data processing in the server. The data processing method may include at least the following steps S101-S103:

[0103] Step S101, obtaining K rendering parameter combinations for a terminal device; K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering parameters that affect the rendering performance of the terminal device; each rendering parameter that affects the rendering performance of the terminal device refers to a rendering parameter that affects the rendering performance of the terminal device; the K rendering parameter combinations include rendering parameter combinations S i , i is a positive integer.

[0104] In this application, when a target application is deployed in a terminal device, the terminal device needs to render the application data of the target application to output the application screen of the target application. The target application here can refer to any application with data processing function, for example, the target application can be a social application (such as an instant messaging application), an entertainment application (such as a cloud game application, a short video application), an educational application, a multimedia application, etc., and examples will not be given one by one here.

[0105] It should be understood that for a terminal device, there are different features that affect its rendering performance (each feature can be referred to as a rendering feature here), for example, the rendering window type, rendering frame loss mode, rendering timestamp type, rendering input frame rate and other features, all of which will affect the rendering performance of the terminal device, then the rendering window type, rendering frame loss mode, rendering timestamp type, rendering input frame rate can all be referred to as device rendering features. Among them, a device rendering feature can contain different possible values, each of which can be understood as a parameter that affects the rendering performance of the terminal device (that is, a parameter that affects the rendering performance of the terminal device, which may also be referred to as a device rendering parameter in this application). For example, taking the rendering window type as an example, it can take the values ​​SurfaceView and TextureView, then each possible value window type can be used as a device rendering parameter under the device rendering feature of the rendering window type (that is, SurfaceView can be used as a device rendering parameter, and TextureView can be used as a device rendering parameter); for another example, taking the rendering frame drop mode as an example, it can take the values ​​frame drop and no frame drop, then each possible value mode can be used as a rendering parameter under the device rendering feature of the rendering frame drop mode (that is, frame drop can be used as a device rendering parameter, and no frame drop can be used as a device rendering parameter).

[0106] The rendering parameter combination in the present application may refer to a combination of rendering parameters that affect the rendering under different device rendering features of the terminal device; for example, taking the device rendering features including the rendering window type, the rendering frame loss mode, the rendering timestamp type, and the rendering input frame rate as an example, the possible values ​​under the rendering window type include SurfaceView and TextureView, and the possible values ​​under the rendering frame loss mode include the frame loss mode and the non-frame loss mode; the possible values ​​under the rendering timestamp type include the startup elapsed time (Monotonic timestamp, which refers to the length of time that has elapsed since the system of the terminal device was started), the real-time time (Real timestamp, which refers to the time difference between the current time and 0:00 on January 1, 1970), and the custom time (Artificial timestamp, which refers to the timestamp made with the sequence number of the media data frame, for example, the timestamp of the first frame is 1, the timestamp of the second frame is 2, ..., and the timestamp of the nth frame is n), and the possible values ​​of the rendering input frame rate include 30fps, 60fps, 90fps, 120fps, and 150fps. Any one of the parameters affecting rendering (a possible value) under the rendering window type, one of the parameters affecting rendering (a possible value) under the rendering dropped frame mode, one of the parameters affecting rendering (a possible value) under the rendering timestamp type, and one of the parameters affecting rendering (a possible value) under the rendering input frame rate can be combined into a combination, which can be used as a rendering parameter combination.

[0107] It should be noted that each rendering parameter combination is different, that is, the rendering parameters affecting each rendering parameter combination are different. For example, for the above example, since the number of possible values ​​under the rendering window type is 2, the number of possible values ​​under the rendering frame drop mode is 2, the number of possible values ​​under the rendering timestamp type is 3, and the number of possible values ​​under the rendering input frame rate is 5, the total number of functional parameter combinations finally obtained can be 2×2×3×5=60.

[0108] It can be understood that the above-mentioned different rendering parameters determine the rendering effect of the terminal device on the media data, so the rendering parameters are also the key to determining the rendering performance of the terminal device. In order to optimize the rendering performance of the terminal device and make the quality of the rendered picture rendered by the terminal device higher, the present application can test different rendering parameter combinations to find the rendering parameter combination that is most conducive to improving the rendering performance of the terminal device (which can be called the optimal rendering parameter combination), and then set the rendering parameters of each device of the terminal device to the optimal rendering parameter combination. The optimal rendering parameter combination is determined by testing to be the most suitable for the terminal device, so based on the optimal rendering parameter combination, the rendering performance of the terminal device can be improved.

[0109] That is to say, the K rendering parameter combinations in this application can be determined based on the number of rendering parameters affected by the rendering features of the above-mentioned devices. Generally, K can be the product of the number of rendering parameters affected by each device rendering feature (e.g., K can be 60 in the above example). Each rendering parameter combination is composed of different rendering parameters, and the rendering parameters affected by each rendering parameter combination are not exactly the same (at least one rendering parameter is different). The rendering parameter combination S here is i It can refer to any one of the K rendering parameter combinations. Here is a brief introduction to the principle of determining the K rendering parameter combinations. For the specific implementation of determining the K rendering parameter combinations, please refer to the subsequent Figure 4 Detailed description in the corresponding embodiment.

[0110] Step S102: input the test code stream into the test device, and determine the rendering parameter combination S according to the rendering data of the test code stream by the test device. i The corresponding rendering effect reference value; the test device refers to the device rendering parameters of the terminal device switched to the rendering parameter combination S i The resulting device; rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i The corresponding rendering effect.

[0111] In this application, in order to test which rendering parameter combination among K rendering parameter combinations can best improve the rendering performance of the terminal device, this application can test each rendering parameter combination based on the test code stream to obtain the rendering effect of each rendering parameter combination for the test code stream. Among them, the test code stream here can refer to the media code stream obtained after encoding a certain media data (such as video data), and the terminal device can decode and render the test code stream to output the media data. Among them, it should be noted that the media data here can be data composed of different media data frames (such as video frames), and encoding the media data can refer to encoding each media data frame (after encoding, the encoding frame corresponding to each media data frame can be obtained), then for the test code stream, it can refer to a code stream composed of different encoding frames, that is, the test code stream contains different encoding frames. For the terminal device, decoding and rendering the test code stream can actually refer to decoding and rendering each encoding frame one by one.

[0112] Among them, the rendering parameter combination S i For example, in the embodiment of the present application, the device rendering parameter of the terminal device can be set to the rendering parameter combination S i, and set the device rendering parameters to the rendering parameter combination S i The terminal device is determined as a test device for testing. In this application, the principle of AB experiment can be used to refer to each rendering parameter combination as an experimental group, and then each experimental group is assigned exactly the same test data (such as test bitstream), that is, the test data input by each experimental group is the same. When the test data is exactly the same, the rendering effect of each experimental group (or test group) on the test bitstream can be checked. For example, for the rendering parameter combination S i For example, after the test bitstream is input into the test device, the test device can combine S i The test bitstream is decoded and rendered to obtain rendering data, and based on the rendering data, a rendering parameter combination S can be determined. i Corresponding rendering effect. In order to more intuitively and accurately reflect the rendering effect corresponding to each rendering parameter combination, the present application can pre-configure rendering effect reference values ​​for characterizing the rendering effect. Based on these rendering effect reference values, it can be determined which rendering parameter combination has a better rendering effect. Among them, the rendering effect reference value here can refer to any characteristic value that can characterize the decoding rendering effect of the terminal device. For example, for the terminal device, the rendering effect of the terminal device can usually be determined based on the characteristic values ​​of the terminal device such as the decoding output frame rate, decoding rendering delay, rendering output frame rate, and rendering time. By comparing these characteristic values ​​of each rendering parameter combination, a rendering parameter combination with the best rendering effect can be determined.

[0113] Specifically, based on the above, the test code stream may be composed of M media data frames, wherein the M media data frames include media data frame Q j (M, j are both positive integers) as an example, assuming that the rendering parameter combination S i The corresponding rendering effect reference value, including the rendering parameter combination S i The corresponding average decoding rendering delay, at this time, according to the rendering data of the test stream by the test device, the rendering parameter combination S is determined i The specific implementation method of the corresponding rendering effect reference value can be: the media data frame Q can be obtained j The frame input time input to the test device; then, the media data frame Q can be obtained from the rendering data of the test stream by the test device. j The corresponding rendering frame and the media data frame Q are obtained j The corresponding rendered frame is output to the frame output time of the device display interface; wherein the device display interface refers to the display interface of the test device; further, the time period between the frame input time and the frame output time can be determined as the media data frame Q jWhen the decoding and rendering delay corresponding to each media data frame in the M media data frames is determined, the rendering parameter combination S can be determined according to the decoding and rendering delay corresponding to each media data frame. i The corresponding average decoding and rendering delay.

[0114] Among them, according to the decoding rendering delay corresponding to each media data frame, the rendering parameter combination S is determined. i The specific implementation method of the corresponding average decoding and rendering delay can be as follows: the M decoding and rendering delays can be summed up to obtain the total value of the decoding and rendering delay; then, the total number of media data frames included in the M media data frames can be counted; the average between the total value of the decoding and rendering delay and the total number can be determined, thereby obtaining the rendering parameter combination S i The corresponding average decoding and rendering delay.

[0115] It should be understood that since the test code stream is composed of M media data frames, during the decoding and rendering process of the test code stream by the test device, the present application can count the time from the input of each media data frame to the rendering output to the device display interface (i.e., the screen of the terminal device) (i.e., the time period between the frame input moment input to the test device and the frame output moment when the rendered frame is output to the device display interface), and this time period can be used as the decoding and rendering delay of a certain media data frame; when determining the decoding and rendering delay corresponding to each media data frame in the M media data frames, an average decoding and rendering delay (e.g., total decoding and rendering delay value / total number) can be obtained based on the total number of the M media data frames and the sum of the decoding and rendering delays of all the media data frames (i.e., the result value obtained after adding the decoding and rendering delays of all the media data frames), and this average decoding and rendering delay can be used as the rendering parameter combination S i Corresponding rendering effect reference value.

[0116] It should be noted that the above is based on the rendering effect reference value as the average decoding rendering delay as an example to illustrate the determination of the rendering parameter combination S i The corresponding rendering effect reference value method is used to determine the rendering parameter combination S i The corresponding rendering effect reference value is not limited to determining the average decoding rendering delay. For a rendering effect reference value of a certain rendering parameter combination, it can also be any other feature value that can be used to characterize the rendering effect, such as the decoding rendering time can be used as the rendering effect reference value. When the decoding rendering time is used as the rendering effect reference value, for determining the rendering parameter combination S iThe specific implementation method of the corresponding rendering effect reference value can also be: the decoding rendering time corresponding to each media data frame can be counted, and then the total decoding rendering time corresponding to all media data frames can be counted (the decoding rendering time corresponding to all media data frames is added, and the resulting value is used as the total decoding rendering time), and the total decoding rendering time can be used as a rendering effect reference value. In other words, the rendering effect reference value of the rendering parameter combination is not limited to the average decoding rendering delay as a characteristic value, which can be determined based on the actual scene. However, once the rendering effect reference value is determined, the rendering effect reference value corresponding to each rendering parameter combination should be the same characteristic value, which can be easily compared to determine the optimal rendering parameter combination.

[0117] Step S103: when the rendering effect reference values ​​corresponding to each rendering parameter combination are determined, an optimal rendering parameter combination of the terminal device is determined from the K rendering parameter combinations according to the K rendering effect reference values.

[0118] In this application, when the rendering effect reference value corresponding to each rendering parameter combination is determined, K rendering effect reference values ​​can be obtained, and based on the K rendering effect reference values, the optimal rendering parameter combination of the terminal device can be determined from the K rendering parameter combinations. Taking the rendering effect reference value as the average decoding rendering delay as an example, the rendering parameter combination S i The corresponding rendering effect reference value can refer to the rendering parameter combination S i The corresponding average decoding rendering delay, and the K rendering effect reference values ​​refer to K average decoding rendering delays. At this time, for determining the optimal rendering parameter combination of the terminal device among the K rendering parameter combinations according to the K rendering effect reference values, the specific implementation method can be: the minimum average decoding rendering delay can be obtained from the K average decoding rendering delays; then, the rendering parameter combination corresponding to the minimum average decoding rendering delay among the K rendering parameter combinations can be determined as the optimal rendering parameter combination of the terminal device.

[0119] That is to say, among the K rendering parameter combinations, the lower the average decoding rendering delay, the higher the decoding rendering efficiency. Then, the rendering parameter combination with the lowest average decoding rendering delay can be determined as the optimal rendering parameter combination.

[0120] In the embodiment of the present application, different rendering parameters that affect the rendering performance of the terminal device can be combined to obtain K rendering parameter combinations, and each rendering parameter combination can be used as a test group. The rendering effect of each test group can be tested using a test bitstream, thereby determining which rendering parameter combination is the optimal rendering parameter for the terminal device. iFor example, the device rendering parameter can be the rendering parameter combination S i The terminal device is determined as a test device, and then the test stream can be input into the test device, and the test device can render the test stream. Based on the rendering data of the test stream by the test device, the rendering parameter combination S can be determined. i Corresponding rendering effect reference value (used to characterize the rendering parameter combination S i corresponding rendering effect value); then when the rendering effect reference value corresponding to each rendering parameter combination is determined, an optimal rendering effect reference value can be determined based on the K rendering effect reference values, thereby determining an optimal rendering parameter combination. It should be understood that the present application dynamically detects the rendering performance of different rendering parameter combinations on the terminal device based on the test bitstream, and can determine the optimal rendering parameters based on the actual rendering effect reference data (rendering effect reference value). Compared with randomly configuring rendering parameters for the terminal device, the method of detecting different rendering parameter combinations through the test bitstream and determining the optimal rendering parameter combination based on the actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device. In summary, the present application can optimize the rendering parameters of the terminal device and improve the rendering performance of the terminal device.

[0121] For further information, see Figure 4 , Figure 4 is a schematic diagram of a process for determining a rendering parameter combination provided by an embodiment of the present application. The process may correspond to the above Figure 3 In the corresponding embodiment, the process of obtaining K rendering parameter combinations for the terminal device is as follows. Figure 4 As shown, the process may include at least the following steps S401 to S403:

[0122] Step S401, obtaining R device rendering features configured for the terminal device; R is a positive integer.

[0123] Specifically, for terminal devices, there are different features that affect their rendering performance (each feature can be referred to as a rendering feature here), for example, features such as rendering window type, rendering frame loss mode, rendering timestamp type, and rendering input frame rate, all of which will affect the rendering performance of the terminal device. Therefore, the rendering window type, rendering frame loss mode, rendering timestamp type, and rendering input frame rate can all be referred to as device rendering features.

[0124] In other words, device rendering characteristics refer to characteristics that affect the rendering performance of the terminal device, which can be specifically configured based on the actual scenario. Usually, device rendering characteristics may include but are not limited to rendering window type, rendering frame loss mode, rendering timestamp type, rendering input frame rate, etc.

[0125] Step S402 , obtaining a device rendering parameter set corresponding to each device rendering feature in the R device rendering features, and obtaining R device rendering parameter sets.

[0126] Specifically, a device rendering feature may contain different possible values, and each possible value may be understood as a parameter that affects the rendering (that is, a parameter that affects the rendering performance of the terminal device, which may also be referred to as a device rendering parameter in this application). For example, taking the rendering window type as an example, it may take the values ​​SurfaceView and TextureView, so each possible value window type may be used as a device rendering parameter under the device rendering feature of the rendering window type (that is, SurfaceView may be used as a device rendering parameter, and TextureView may be used as a device rendering parameter); for another example, taking the rendering frame loss mode as an example, it may take the values ​​frame loss and no frame loss, so each possible value mode may be used as a rendering parameter under the device rendering feature of the rendering frame loss mode (that is, frame loss may be used as a device rendering parameter, and no frame loss may be used as a device rendering parameter). The possible values ​​contained in a device rendering feature in this application may constitute a set of device rendering parameters corresponding to the device rendering feature. For example, for the device rendering feature of the rendering window type, its device rendering parameter set may be {SurfaceView, TextureView}.

[0127] It should be noted that for the terminal device, its hardware device includes a chip, and the decoding speed of the chip of the terminal device will also affect the rendering performance of the terminal device. Therefore, in the present application, the decoding speed of the terminal device can be estimated in advance, and then the rendering performance of the terminal device can be estimated based on the decoding speed of the terminal device, so as to determine the maximum input frame rate that the terminal device can support during the test. Based on the maximum input frame rate, it can be determined which device input frame rates the terminal device can support.

[0128] That is to say, based on the above, it can be known that the R device rendering characteristics may include the rendering input frame rate (which may be referred to as the device input frame rate characteristic in this application), and in this application, the maximum input frame rate that the terminal device can support can be determined based on some hardware parameters of the terminal device, so that the device rendering parameter set corresponding to the device input frame rate characteristic can be determined based on the maximum input frame rate.

[0129] Specifically, based on the above, it can be known that the R device rendering features include a device input frame rate feature, and the device rendering parameter set corresponding to each device rendering feature includes a device input frame rate set corresponding to the device input frame rate feature. At this time, for obtaining the device rendering parameter set corresponding to each device rendering feature in the R device rendering features, the specific implementation method can be as follows: the media encoding type for which the terminal device has encoding authority and decoding authority can be obtained; then, the maximum resolution corresponding to the terminal device can be obtained, and the maximum decoding frame rate prediction value corresponding to the terminal device can be determined according to the media encoding type and the maximum resolution; at the same time, the screen refresh rate corresponding to the terminal device can be obtained, and the minimum value between the maximum decoding frame rate prediction value and the screen refresh rate can be determined as the maximum input frame rate of the terminal device; based on the maximum input frame rate, the device input frame rate set corresponding to the device input frame rate feature can be determined.

[0130] Among them, the specific implementation method for determining the device input frame rate set corresponding to the device input frame rate characteristics based on the maximum input frame rate may be: an initial configuration frame rate set may be obtained; wherein the initial configuration frame rate set includes one or more initial configuration frame rates; subsequently, an initial configuration frame rate that is less than or equal to the maximum input frame rate may be obtained from the one or more initial configuration frame rates; and the set consisting of the initial configuration frame rates that are less than or equal to the maximum input frame rate may be determined as the device input frame rate set corresponding to the device input frame rate characteristics.

[0131] It should be understood that the present application can make a preliminary judgment on the rendering performance of the terminal device through the different hardware parameters of the terminal device to determine the device input frame rate of the terminal device during the test experiment. For example, since the decoding speed of the chip of the terminal device will have a certain impact on the terminal device, the present application can determine the codec type supported by the chip (such as H264 type / H265 type / VP9 type / AVS type) by reading the two parameters of profile and level supported by the chip of the terminal device. Among them, the codec type supported by the chip can be determined as the media coding type for which the terminal device has the encoding and decoding authority, and the maximum resolution supported by the chip can also be determined as the maximum resolution corresponding to the terminal device. Based on the media coding type for which the terminal device has the encoding and decoding authority, and the maximum resolution, the decoding capability of the terminal device can be preliminarily estimated, and based on the decoding capability of the terminal device, the rendering performance of the terminal device can be preliminarily classified into a certain range, where the range can refer to a certain frame rate range (such as within 30fps, within 60fps, within 90fps, within 120fps, etc.), and this estimated frame rate range can also be understood as the maximum decoding frame rate prediction value of the terminal device. For example, if the estimated frame rate range of the terminal device is within 60fps, then it can be determined that the maximum decoding frame rate prediction value of the terminal device is 60fps.

[0132] Furthermore, the input frame rate of the terminal device can be limited together with the maximum decoding frame rate prediction value by the terminal device's screen refresh rate. For example, if the screen refresh rate only supports 60hz, then even if the maximum decoding frame rate prediction value is 90fps, there is no need to detect input frame rates above 60, and only input frame rates of 60fps and below need to be detected. In other words, the maximum input frame rate of the terminal device can refer to the minimum value between the maximum decoding frame rate prediction value and the screen refresh rate. Once the maximum decoding frame rate prediction value is determined, the device input frame rate set corresponding to the input frame rate characteristics of the device can be determined.

[0133] For example, taking the initial configuration frame rate set of {30fps, 60fps, 90fps, 120fps, 144fps} as an example, assuming that the maximum input frame rate of the terminal device is 120fps, since 30fps, 60fps, and 90fps are all less than 120fps, the terminal device can support the four input frame rates of 30fps, 60fps, 90fps, and 120fps. Based on this, the device rendering parameter set corresponding to the device input frame rate characteristics can be {30fps, 60fps, 90fps, 120fps}.

[0134] That is to say, for the device rendering feature of the device input frame rate of the terminal device, the device rendering parameters included in the corresponding device rendering parameter set may be some of the initial configuration frame rates in the initial configuration frame rate set, but not all of the initial configuration frame rates.

[0135] Step S403 : Based on the parameter combination rule, the device rendering parameters included in the R device rendering parameter sets are combined to obtain K rendering parameter combinations.

[0136] Specifically, after each device rendering parameter set is determined, the device rendering parameters included in the R device rendering parameter sets can be combined based on the parameter combination rule, thereby obtaining K rendering parameter combinations.

[0137] The parameter combination rule here may refer to a rule for combining any device rendering parameter in each device rendering feature. A specific implementation method for combining the device rendering parameters included in the R device rendering parameter sets based on the parameter combination rule to obtain K rendering parameter combinations may be as follows: based on the parameter combination rule, a combination consisting of a first target device rendering parameter in the target device rendering parameter set and a second target device rendering parameter in the remaining device rendering parameter set is determined as a rendering parameter combination S i ; The target device rendering parameter set is any device rendering parameter set in the R device rendering parameter sets; the remaining device rendering parameter set is a device rendering parameter set other than the target device rendering parameter set in the R device rendering parameter sets; the first target device rendering parameter refers to any device rendering parameter in the target device rendering parameter set; the second target device rendering parameter refers to any device rendering parameter in the remaining device rendering parameter sets; the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameter are combined to form the remaining rendering parameter combination; the remaining device rendering parameters are any device rendering parameters in the target device rendering parameter set other than the first target device rendering parameter; according to the rendering parameter combination S i Combined with the remaining rendering parameters, K rendering parameter combinations are determined.

[0138] Specifically, the target device rendering parameter set here may refer to any one of the R device rendering parameter sets. The present application may combine any one of the target device rendering parameter sets with one of the other device rendering parameter sets, thereby obtaining a rendering parameter combination. For ease of understanding, taking the device rendering features including the rendering window type, the rendering frame loss mode, and the rendering input frame rate as an example, assuming that the device rendering parameter set corresponding to the rendering window type is {SurfaceView, TextureView}, the device rendering parameter set corresponding to the rendering frame loss mode is {frame loss, no frame loss}, and the device rendering parameter set corresponding to the rendering input frame rate is {90fps, 60fps, 30fps} (i.e., the maximum input frame rate is 90fps), then after the parameters are combined, the resulting rendering parameter combinations may include rendering parameter combination 1-rendering parameter combination 12:

[0139] Rendering parameter combination 1: [90fps, SurfaceView, frame drop];

[0140] Rendering parameter combination 2: [60fps, SurfaceView, frame drop];

[0141] Rendering parameter combination 3: [30fps, SurfaceView, frame drop];

[0142] Rendering parameter combination 4: [90fps, SurfaceView, no frame loss];

[0143] Rendering parameter combination 5: [60fps, SurfaceView, no frame loss];

[0144] Rendering parameter combination 6: [30fps, SurfaceView, no frame loss];

[0145] Rendering parameter combination 7: [90fps, TextureView, frame drop];

[0146] Rendering parameter combination 8: [60fps, TextureView, frame drop];

[0147] Rendering parameter combination 9: [30fps, TextureView, frame drop];

[0148] Rendering parameter combination 10: [90fps, TextureView, no frame drop];

[0149] Rendering parameter combination 11: [60fps, TextureView, no frame drop];

[0150] Rendering parameter combination 12: [30fps, TextureView, no frame drop].

[0151] That is to say, through the above combination process, K rendering parameter combinations can be obtained, and one rendering parameter combination will include a device rendering parameter under all device rendering characteristics, and between every two rendering parameter combinations, at least one device rendering parameter is different.

[0152] Optionally, it can be understood that, based on the above, a rendering parameter combination is composed of a device rendering parameter under all device rendering features. If the number of device rendering features is large, or the number of device rendering parameters under a device rendering feature is large, the number of rendering parameter combinations is large. When the number of rendering parameter combinations is large, it will undoubtedly take more time to test to determine the optimal rendering parameter combination. In order to improve the test efficiency, the present application can prune the rendering parameter combinations based on the parameter priority between the device rendering parameters in the device rendering features. The so-called pruning process is the process of deleting some rendering parameter combinations in the rendering parameter combination to reduce the total number of rendering parameter combinations. The present application can first determine the rendering parameter combination obtained after parameter combination as the initial rendering parameter combination, and the remaining rendering parameter combinations after pruning the initial rendering parameter combination can be determined as K rendering parameter combinations.

[0153] Specifically, R device rendering features include device rendering feature H j (j is a positive integer) as an example, where each device rendering feature corresponds to a device rendering parameter set, including the device rendering feature H j The corresponding device rendering parameter set P j , at this time, according to the rendering parameter combination S i The specific implementation method of determining K rendering parameter combinations by combining the rendering parameter combinations S i The remaining rendering parameter combinations are all determined as the initial rendering parameter combination, and then the set composed of the initial rendering parameter combination can be determined as the initial rendering parameter combination set; further, the device rendering feature H can be obtained. j The corresponding device rendering parameter set P j In the example, each device rendering parameter has a corresponding parameter priority; according to the device rendering parameter set P j In the example, the order of the priority of each device rendering parameter can be used to represent the device rendering parameter set P. jThe device rendering parameters in are sorted to obtain a parameter sequence; based on the parameter sequence, the initial rendering parameter combination set can be pruned to obtain a pruned rendering parameter combination set, and K rendering parameter combinations can be determined according to the pruned rendering parameter combination set.

[0154] Among them, for pruning the initial rendering parameter combination set based on the parameter sequence, a specific implementation method for obtaining the pruned rendering parameter combination set can be: the device rendering parameters located at the end position of the sequence in the parameter sequence can be determined as the rendering parameters to be pruned; then, the initial rendering parameter combination containing the rendering parameters to be pruned in the initial rendering parameter combination set can be determined as the rendering parameter combination to be pruned; the rendering parameter combination to be pruned in the initial rendering parameter combination set can be deleted, thereby obtaining the pruned rendering parameter combination set.

[0155] For ease of understanding, taking the device rendering feature as the rendering window type as an example, the device rendering parameter set corresponding to the rendering window type is {SurfaceView, TextureView}. Since the performance of SurfaceView is better than TextureView under the same configuration, the priority of SurfaceView can be 1, and the priority of TextureView can be 2 (the smaller the value of the parameter priority, the higher the parameter priority). Then, after sorting the device rendering parameters corresponding to the rendering window type according to the parameter priority, the parameter sequence that can be obtained is {SurfaceView, TextureView}. Furthermore, it can be obtained that the device rendering parameter at the end of the sequence is TextureView, then the TextureView can be used as the rendering parameter to be pruned, and the rendering parameter combination containing the TextureView in the initial rendering parameter combination set can be deleted. Taking the above 12 rendering parameter combinations as an example, it can be seen that rendering parameter combination 7-rendering parameter combination 12 all contain TextureView, then these rendering parameter combinations can be deleted, and the resulting pruned rendering parameter combination set can contain rendering parameter combination 1-rendering parameter combination 6.

[0156] It should be understood that for each device rendering feature, pruning processing can be performed. After pruning each device rendering feature, the remaining rendering parameter combinations can be determined as the final K rendering parameter combinations. That is, the specific implementation method for determining K rendering parameter combinations based on the pruned rendering parameter combination set can be: the device rendering feature H jThe pruned attributes are updated from unpruned attributes to pruned attributes; then, the R device rendering features can be traversed; if the pruned attributes of each device rendering feature in the R device rendering features are pruned attributes, the pruned rendering parameter combination set can be directly determined as K rendering parameter combinations; and if there is a device rendering feature whose pruned attribute is an unpruned attribute among the R device rendering features, the device rendering feature whose pruned attribute is an unpruned attribute can be determined as an unpruned rendering feature, and according to the device rendering parameter set corresponding to the unpruned rendering feature, the pruned rendering parameter combination set is pruned again, and finally, the K rendering parameter combinations can be determined according to the pruning results obtained by the pruning process.

[0157] That is to say, each time a device rendering feature is pruned, the pruned attribute of the device rendering feature can be changed from an unpruned attribute to a pruned attribute. When all device rendering features are pruned attributes, it can be determined that all device rendering features have been pruned at this time, and then the remaining rendering parameter combinations can be determined as K rendering parameter combinations, and a test experiment can be carried out. If there is a device rendering feature whose pruned attribute is an unpruned attribute, then the current rendering parameter combination set can be pruned based on the parameter priority of each device rendering parameter in the device rendering feature, thereby performing pruning again and again based on the device rendering feature until the pruned attributes of all device rendering features are pruned attributes.

[0158] It should be noted that in actual applications, when performing pruning, it is not necessary to prune all device rendering features. It is also possible to prune only one or part of the device rendering features. The pruning process can be defined based on actual scenario requirements, and this application does not limit this.

[0159] Generally, the device rendering characteristics of the terminal device may include the rendering window type, the rendering frame loss mode, the rendering timestamp type, and the rendering input frame rate. For the rendering window type, the possible values ​​may include SurfaceView and TextureView, and for the two device rendering parameters of SurfaceView and TextureView, the priority of SurfaceView is higher than that of TextureView; for the rendering frame loss mode, the possible values ​​may include frame loss and no frame loss, and for the two device rendering parameters of frame loss and no frame loss, the priority of frame loss is higher than that of no frame loss; for the rendering timestamp type, the possible values ​​may include Monotonic timestamp, Realtimestamp, and Artificial timestamp, and for the three device rendering parameters of Monotonic timestamp, Real timestamp, and Artificial timestamp, the priority of Monotonic timestamp is higher than that of Real timestamp, and the priority of Real timestamp is higher than that of Artificial timestamp; for the rendering input frame rate, a larger frame rate may be selected first.

[0160] By prioritizing the rendering features of different devices, the rendering parameter combinations can be pruned, thereby reducing the number of rendering parameter combinations for the final test experiment (i.e., reducing the K value), thereby spending less time to determine the optimal rendering parameter combination for the terminal device.

[0161] In an embodiment of the present application, a method for dynamically detecting the rendering performance of different rendering parameter combinations on a terminal device based on a test bitstream is provided, and the optimal rendering parameters can be determined based on actual rendering effect reference data (rendering effect reference value). Compared with randomly configuring rendering parameters for a terminal device, the method of detecting different rendering parameter combinations through a test bitstream and determining the optimal rendering parameter combination based on actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device. In particular, during the test process, the present application provides a method for detection pruning, which can perform a limited number of tests based on the default configuration combination, spend less time determining the optimal rendering parameter combination, and can greatly improve the test efficiency.

[0162] For further information, see Figure 5 , Figure 5 This is a system flow chart provided by the embodiment of the present application. Figure 5As shown, the process may include at least the following steps S51 to S53:

[0163] Step S51, reading parameter information of a chip of a terminal device, and determining a rendering parameter combination of the terminal device.

[0164] Specifically, for the terminal device, its hardware device includes a chip, and the decoding speed of the chip of the terminal device will also affect the rendering performance of the terminal device. Therefore, in the present application, the decoding speed of the terminal device can be estimated in advance, and then the rendering performance of the terminal device can be estimated based on the decoding speed of the terminal device, so as to determine the maximum input frame rate that the terminal device can support during the test. Based on the maximum input frame rate, it can be determined which device input frame rates can be supported by the terminal device.

[0165] By reading the two parameters of profile and level supported by the terminal device chip, the codec type supported by the chip (such as H264 type / H265 type / VP9 type / AVS type) can be determined. Among them, the codec type supported by the chip can be determined as the media encoding type for which the terminal device has encoding and decoding permissions, and the maximum resolution supported by the chip can also be determined as the maximum resolution corresponding to the terminal device. Based on the media encoding type for which the terminal device has encoding and decoding permissions, and the maximum resolution, the decoding capability of the terminal device can be preliminarily estimated, and based on the decoding capability of the terminal device, the rendering performance of the terminal device can be preliminarily classified into a certain range. Further, the input frame rate of the terminal device can be jointly limited by the screen refresh rate of the terminal device and the maximum decoding frame rate prediction value to obtain the maximum input frame rate of the terminal device. Subsequently, based on the device rendering features such as the rendering window type, rendering frame loss strategy, rendering timestamp type, etc. supported by the current terminal device, the rendering configuration of the device can be obtained together with the maximum input frame rate, that is, the various rendering parameter combinations of the terminal device can be obtained.

[0166] Step S52, testing the rendering parameter combination by dynamically inputting a test bitstream to determine the decoding rendering delay of the terminal device.

[0167] Specifically, the embodiment of the present application can detect the rendering parameter combination obtained in the above step S51 through a real-time test code stream. Specifically, it is necessary to input a test code stream (such as a video code stream) in real time to test the terminal device of the corresponding rendering parameter combination to test which group of rendering parameter combinations has the best rendering performance. Among them, the rendering performance can be judged by decoding and rendering delay. The time from each data frame (such as a video frame) from input to the terminal device to rendering on the screen of the terminal device can be used as the decoding and rendering delay of the frame. By counting the average decoding and rendering delay of all frames, a rendering parameter combination with the lowest average decoding and rendering delay can be obtained from the above rendering parameter combination. The rendering parameter combination interface with the lowest average decoding and rendering delay is used as the optimal rendering parameter combination.

[0168] Step S53: The combination with the lowest rendering, decoding and rendering delay is taken as the optimal rendering parameter combination.

[0169] Specifically, by counting the average decoding and rendering delays of all frames, a rendering parameter combination with the lowest average decoding and rendering delay can be obtained from the above rendering parameter combinations, and the rendering parameter combination interface with the lowest average decoding and rendering delay is used as the optimal rendering parameter combination.

[0170] In an embodiment of the present application, a method for dynamically detecting the rendering performance of different rendering parameter combinations on a terminal device based on a test bitstream is provided, and the optimal rendering parameters can be determined based on actual rendering effect reference data (rendering effect reference values). Compared with randomly configuring rendering parameters for the terminal device, the method of detecting different rendering parameter combinations through a test bitstream and determining the optimal rendering parameter combination based on the actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device.

[0171] For further information, see Figure 6 , Figure 6 1 is a flow chart of pruning a rendering parameter combination provided by an embodiment of the present application. Figure 6 As shown, the process may include at least the following steps S61 to S63:

[0172] Step S61, obtaining a rendering parameter combination set.

[0173] Specifically, the present application may combine a device rendering parameter under each device rendering feature to obtain a rendering parameter combination. Different device rendering parameters may be combined to obtain different rendering parameter combinations. For determining the method for combining device rendering parameters, please refer to the above Figure 3-Figure 4 The relevant description in the corresponding embodiment will not be repeated here.

[0174] Step S62, modifying the rendering parameter combination in sequence according to the parameter priority.

[0175] Specifically, different device rendering parameters under a device rendering feature may have parameter priorities, and the present application may prune the combined rendering parameter combinations based on the parameter priorities of different device rendering parameters under a device rendering feature, thereby reducing the total number of rendering parameter combinations and reducing the testing time.

[0176] It should be understood that the parameter priority of different device rendering parameters under a certain device rendering feature can be determined based on pre-detection. For example, for the device rendering feature of the rendering window type, all the hardware parameters of the terminal device except the rendering window type can be set to the same parameters, and then the rendering performance of different rendering windows can be detected, and the rendering window with the smallest decoding rendering delay is taken as the rendering window with a higher parameter priority. Usually, the parameter priority of SurfaceView is higher than that of TextureView.

[0177] For another example, for the rendering feature of the device, the rendering frame drop mode, all other hardware parameters of the terminal device except the rendering frame drop mode can be set to the same parameters, and then the rendering performance of different rendering frame drop modes can be detected, and the rendering frame drop mode with the smallest decoding rendering delay can be selected as the rendering frame drop mode with a higher parameter priority. Generally, the parameter priority of frame drop is higher than that of no frame drop.

[0178] For another example, for the device rendering feature of the rendering timestamp type, all other hardware parameters of the terminal device except the rendering timestamp type can be set to the same parameters, and then the rendering performance of different rendering timestamp types can be detected. The rendering timestamp type with the smallest decoding rendering delay can be selected as the rendering timestamp type with a higher parameter priority. Generally, the parameter priority of Monotonic timestamp is higher than that of Real timestamp, and the parameter priority of Real timestamp is higher than that of Artificial timestamp.

[0179] For another example, for the device rendering feature of rendering input frame rate, all other hardware parameters of the terminal device except the rendering input frame rate can be set to the same parameters, and then the rendering performance of different rendering input frame rates can be detected, and the rendering input frame rate with the smallest decoding rendering delay can be selected as the rendering input frame rate with a higher parameter priority. Generally, the input frame rate with a higher value will have a higher priority.

[0180] Specifically, the process of pruning the rendering parameter combination based on the parameter priorities of different device rendering parameters under different device rendering characteristics can be seen in the above Figure 4 The relevant description in the corresponding embodiment will not be repeated here.

[0181] Step S63, detecting rendering performance of different rendering parameters to obtain the optimal parameter configuration.

[0182] Specifically, after the pruning process is performed, the rendering performance of different rendering parameter combinations can be tested through real-time dynamic test bitstreams, and ultimately the optimal parameter configuration of the terminal device can be obtained.

[0183] In an embodiment of the present application, during the testing process of the rendering performance of a rendering parameter combination, the present application provides a detection pruning method, which can perform a limited number of tests based on the default configuration combination, spend less time to determine the optimal rendering parameter combination, and can greatly improve the test efficiency.

[0184] For further information, see Figure 7 , Figure 7 1 is a schematic diagram of the structure of a data processing device provided in an embodiment of the present application. The data processing device may be a computer program (including program code) running in a computer device, for example, the data processing device is an application software; the data processing device may be used to execute Figure 3 As shown in the method. Figure 7 As shown, the data processing device 1 may include: a combination acquisition module 11 , a code stream input module 12 , a reference value determination module 13 and an optimal combination determination module 14 .

[0185] The combination acquisition module 11 is used to acquire K rendering parameter combinations for the terminal device; K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering parameters that affect the rendering performance of the terminal device; each rendering parameter that affects the rendering performance of the terminal device refers to a rendering parameter that affects the rendering performance of the terminal device; the K rendering parameter combinations include a rendering parameter combination S i , i is a positive integer;

[0186] The code stream input module 12 is used to input the test code stream into the test device; the test device refers to the device rendering parameter of the terminal device is switched to the rendering parameter combination S i Terminal equipment;

[0187] The reference value determination module 13 is used to determine the rendering parameter combination S according to the rendering data of the test code stream by the test device. i Corresponding rendering effect reference value; rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S iCorresponding rendering effect;

[0188] The optimal combination determination module 14 is used to determine the optimal rendering parameter combination of the terminal device from the K rendering parameter combinations according to the K rendering effect reference values ​​when the rendering effect reference values ​​corresponding to each rendering parameter combination are determined.

[0189] The specific implementation of the combination acquisition module 11, the code stream input module 12, the reference value determination module 13 and the optimal combination determination module 14 can be referred to in the above Figure 3 The description of step S101 to step S103 in the corresponding embodiment will not be repeated here.

[0190] In one embodiment, the combination acquisition module 11 may include: a feature acquisition unit 111 , a parameter set acquisition unit 112 , and a parameter combination unit 113 .

[0191] The feature acquisition unit 111 is used to acquire R device rendering features configured for the terminal device; R is a positive integer;

[0192] A parameter set acquisition unit 112 is used to acquire a device rendering parameter set corresponding to each device rendering feature in the R device rendering features, to obtain R device rendering parameter sets;

[0193] The parameter combination unit 113 is used to combine the device rendering parameters included in the R device rendering parameter sets based on the parameter combination rule to obtain K rendering parameter combinations.

[0194] The specific implementation of the feature acquisition unit 111, the parameter set acquisition unit 112 and the parameter combination unit 113 can be found in the above Figure 4 The description of step S401 to step S403 in the corresponding embodiment will not be repeated here.

[0195] In one embodiment, the parameter combination unit 113 may include: a first combination determination subunit 1131 , a second combination determination subunit 1132 , and a parameter combination determination subunit 1133 .

[0196] The first combination determining subunit 1131 is used to determine, based on the parameter combination rule, a combination of a first target device rendering parameter in the target device rendering parameter set and a second target device rendering parameter in the remaining device rendering parameter set as a rendering parameter combination S i; The target device rendering parameter set is any device rendering parameter set in the R device rendering parameter sets; the remaining device rendering parameter sets are device rendering parameter sets in the R device rendering parameter sets except the target device rendering parameter set; the first target device rendering parameter refers to any device rendering parameter in the target device rendering parameter set; the second target device rendering parameter refers to any device rendering parameter in the remaining device rendering parameter sets;

[0197] The second combination determining subunit 1132 is used to determine the combination consisting of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameter as the remaining rendering parameter combination; the remaining device rendering parameter is any device rendering parameter in the target device rendering parameter set except the first target device rendering parameter;

[0198] The parameter combination determining subunit 1133 is used to determine the rendering parameter combination S i Combined with the remaining rendering parameters, K rendering parameter combinations are determined.

[0199] The specific implementation of the first combination determination subunit 1131, the second combination determination subunit 1132 and the parameter combination determination subunit 1133 can be found in the above Figure 4 The description of S403 in the corresponding embodiment will not be repeated here.

[0200] In one embodiment, the R device rendering features include the device rendering feature H j ; j is a positive integer; each device rendering feature corresponds to a set of device rendering parameters, including the device rendering feature H j The corresponding device rendering parameter set P j ;

[0201] The parameter combination determination subunit 1133 is further specifically used to combine the rendering parameter S i The remaining rendering parameter combinations are all determined as initial rendering parameter combinations, and the set consisting of the initial rendering parameter combinations is determined as the initial rendering parameter combination set;

[0202] The parameter combination determination subunit 1133 is also specifically used to obtain the device rendering feature H j The corresponding device rendering parameter set P j In the , each device rendering parameter corresponds to the parameter priority;

[0203] The parameter combination determination subunit 1133 is further specifically configured to render the device rendering parameter set P according to the device rendering parameter set P. j In the order of the priority of each device rendering parameter, the device rendering parameter set P jSort the device rendering parameters in to obtain a parameter sequence;

[0204] The parameter combination determination subunit 1133 is further specifically configured to prune the initial rendering parameter combination set based on the parameter sequence to obtain a pruned rendering parameter combination set, and determine K rendering parameter combinations according to the pruned rendering parameter combination set.

[0205] In one embodiment, the parameter combination determination subunit 1133 is further specifically configured to determine the device rendering parameter located at the end of the sequence in the parameter sequence as the rendering parameter to be pruned;

[0206] The parameter combination determination subunit 1133 is further specifically configured to determine the initial rendering parameter combination including the rendering parameters to be pruned in the initial rendering parameter combination set as the rendering parameter combination to be pruned;

[0207] The parameter combination determining subunit 1133 is further specifically configured to delete the rendering parameter combination to be pruned in the initial rendering parameter combination set to obtain a pruned rendering parameter combination set.

[0208] In one embodiment, the parameter combination determination subunit 1133 is further configured to set the device rendering feature H j The pruned attributes of are updated from unpruned attributes to pruned attributes;

[0209] The parameter combination determination subunit 1133 is further specifically used to traverse R device rendering features;

[0210] The parameter combination determination subunit 1133 is further specifically configured to determine the pruned rendering parameter combination set as K rendering parameter combinations if the pruned attributes of each device rendering feature in the R device rendering features are pruned attributes;

[0211] The parameter combination determination subunit 1133 is further specifically used for determining the device rendering feature whose pruned attribute is an unpruned attribute as an unpruned rendering feature if there is a device rendering feature whose pruned attribute is an unpruned attribute among the R device rendering features, performing pruning processing on the pruned rendering parameter combination set according to the device rendering parameter set corresponding to the unpruned rendering feature, and determining K rendering parameter combinations according to the pruning results obtained by the pruning processing.

[0212] In one embodiment, the R device rendering features include a device input frame rate feature; the device rendering parameter set corresponding to each device rendering feature includes a device input frame rate set corresponding to the device input frame rate feature;

[0213] The parameter set acquisition unit 112 may include: a type acquisition subunit 1121 , a prediction value determination subunit 1122 , a maximum frame rate determination subunit 1123 , and a frame rate set determination subunit 1124 .

[0214] The type acquisition subunit 1121 is used to acquire the media encoding type for which the terminal device has encoding authority and decoding authority;

[0215] The prediction value determination subunit 1122 is used to obtain the maximum resolution corresponding to the terminal device, and determine the maximum decoding frame rate prediction value corresponding to the terminal device according to the media coding type and the maximum resolution;

[0216] The maximum frame rate determination subunit 1123 is used to obtain the screen refresh rate corresponding to the terminal device, and determine the minimum value between the maximum decoding frame rate prediction value and the screen refresh rate as the maximum input frame rate of the terminal device;

[0217] The frame rate set determining subunit 1124 is configured to determine a device input frame rate set corresponding to the device input frame rate feature based on the maximum input frame rate.

[0218] The specific implementation of the type acquisition subunit 1121, the prediction value determination subunit 1122, the maximum frame rate determination subunit 1123 and the frame rate set determination subunit 1124 can be found in the above Figure 4 The description of step S402 in the corresponding embodiment will not be repeated here.

[0219] In one embodiment, the frame rate set determination subunit 1124 is further specifically used to obtain an initial configuration frame rate set; the initial configuration frame rate set includes one or more initial configuration frame rates;

[0220] The frame rate set determination subunit 1124 is further specifically configured to obtain an initial configuration frame rate that is less than or equal to the maximum input frame rate from one or more initial configuration frame rates;

[0221] The frame rate set determining subunit 1124 is further specifically configured to determine a set consisting of initial configuration frame rates that are less than or equal to the maximum input frame rate as a device input frame rate set corresponding to the device input frame rate feature.

[0222] In one embodiment, the test code stream is composed of M media data frames; the M media data frames include media data frames Q j ; M, j are both positive integers; rendering parameter combination S i The corresponding rendering effect reference value, including the rendering parameter combination S i The corresponding average decoding and rendering delay;

[0223] The reference value determination module 13 may include: an input time acquisition unit 131 , a rendering frame acquisition unit 132 , an output time acquisition unit 133 , a rendering delay determination unit 134 , and an average delay determination unit 135 .

[0224] Input time acquisition unit 131, used to acquire media data frame Q j The frame input time input to the test device;

[0225] The rendering frame acquisition unit 132 is used to acquire the media data frame Q from the rendering data of the test code stream by the test device. j The corresponding rendering frame;

[0226] Output time acquisition unit 133, used to acquire media data frame Q j The corresponding rendering frame is the frame output time output to the device display interface; the device display interface refers to the display interface of the test device;

[0227] The rendering delay determination unit 134 is used to determine the time period between the frame input time and the frame output time as the media data frame Q j Corresponding decoding and rendering delay;

[0228] The average delay determination unit 135 is used to determine the rendering parameter combination S according to the decoding rendering delay corresponding to each media data frame in the M media data frames when the decoding rendering delay corresponding to each media data frame is determined. i The corresponding average decoding and rendering delay.

[0229] The specific implementation of the input time acquisition unit 131, the rendering frame acquisition unit 132, the output time acquisition unit 133, the rendering delay determination unit 134 and the average delay determination unit 135 can be referred to in the above Figure 3 The description of step S102 in the corresponding embodiment will not be repeated here.

[0230] In one embodiment, the average delay determination unit 135 may include: a summation processing subunit 1351 , a quantity statistics subunit 1352 , and a mean value determination subunit 1353 .

[0231] A summing processing subunit 1351 is used to perform a summing operation on the M decoding and rendering delays to obtain a total value of the decoding and rendering delays;

[0232] The quantity counting subunit 1352 is used to count the total quantity of media data frames included in the M media data frames;

[0233] The mean value determination subunit 1353 is used to determine the mean value between the total value of the decoding and rendering delay and the total number, and obtain the rendering parameter combination S iThe corresponding average decoding and rendering delay.

[0234] The specific implementation of the sum processing subunit 1351, the quantity statistics subunit 1352 and the mean value determination subunit 1353 can be found in the above Figure 3 The description of step S102 in the corresponding embodiment will not be repeated here.

[0235] In one embodiment, the rendering parameter combination S i The corresponding rendering effect reference value refers to the rendering parameter combination S i The corresponding average decoding and rendering delay; the K rendering effect reference values ​​refer to the K average decoding and rendering delays;

[0236] The optimal combination determining module 14 may include: a minimum delay determining unit 141 and an optimal combination determining unit 142 .

[0237] A minimum delay determining unit 141 is used to obtain a minimum average decoding and rendering delay among K average decoding and rendering delays;

[0238] The optimal combination determining unit 142 is configured to determine the rendering parameter combination corresponding to the minimum average decoding rendering delay among the K rendering parameter combinations as the optimal rendering parameter combination for the terminal device.

[0239] The specific implementation of the minimum delay determination unit 141 and the optimal combination determination unit 142 can be found in the above Figure 3 The description of step S103 in the corresponding embodiment will not be repeated here.

[0240] In an embodiment of the present application, a method for dynamically detecting the rendering performance of different rendering parameter combinations on a terminal device based on a test bitstream is provided, and the optimal rendering parameters can be determined based on actual rendering effect reference data (rendering effect reference value). Compared with randomly configuring rendering parameters for a terminal device, the method of detecting different rendering parameter combinations through a test bitstream and determining the optimal rendering parameter combination based on actual rendering effect reference data can more accurately and specifically determine the optimal rendering parameter combination suitable for the terminal device, thereby improving the rendering performance of the terminal device. In particular, during the test process, the present application provides a method for detection pruning, which can perform a limited number of tests based on the default configuration combination, spend less time determining the optimal rendering parameter combination, and can greatly improve the test efficiency.

[0241] For further information, see Figure 8 , Figure 8 Schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 8 As shown above Figure 7The data processing device 1 in the corresponding embodiment can be applied to the above-mentioned computer device 8000, and the above-mentioned computer device 8000 may include: a processor 8001, a network interface 8004 and a memory 8005. In addition, the above-mentioned computer device 8000 also includes: a user interface 8003, and at least one communication bus 8002. Among them, the communication bus 8002 is used to realize the connection and communication between these components. Among them, the user interface 8003 may include a display screen (Display), a keyboard (Keyboard), and the user interface 8003 may optionally include a standard wired interface and a wireless interface. The network interface 8004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 8005 may be a high-speed RAM memory, or it may be a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 8005 may optionally also be at least one storage device located away from the aforementioned processor 8001. Figure 8 As shown, the memory 8005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module, and a device control application.

[0242] exist Figure 8 In the computer device 8000 shown, the network interface 8004 can provide a network communication function; the user interface 8003 is mainly used to provide an input interface for the user; and the processor 8001 can be used to call the device control application stored in the memory 8005 to achieve:

[0243] Get K rendering parameter combinations for the terminal device; K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering parameters that affect the rendering performance of the terminal device; each rendering parameter that affects the rendering performance of the terminal device refers to a rendering parameter that affects the rendering performance of the terminal device; the K rendering parameter combinations include rendering parameter combination S i , i is a positive integer;

[0244] Input the test bitstream into the test device, and determine the rendering parameter combination S according to the rendering data of the test bitstream by the test device. i The corresponding rendering effect reference value; the test device refers to the device rendering parameters of the terminal device switched to the rendering parameter combination S i The device obtained after that; the terminal device; the device hardware parameters of the test device and the terminal device are the same; the rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i Corresponding rendering effect;

[0245] When the rendering effect reference values ​​corresponding to each rendering parameter combination are determined, the optimal rendering parameter combination of the terminal device is determined from the K rendering parameter combinations according to the K rendering effect reference values.

[0246] It should be understood that the computer device 8000 described in the embodiment of the present application can execute the above Figure 3 to Figure 4 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 device 1 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0247] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the data processing computer device 8000 mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, the computer program can execute the above-mentioned data processing computer device 8000. Figure 3 to Figure 4 The description of the above data processing method in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0248] The computer-readable storage medium may be the data processing device provided in any of the aforementioned embodiments or the internal storage unit of the computer device, such as the hard disk or memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the computer device. Further, the computer-readable storage medium may also include both the internal storage unit of the computer device and an external storage 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 may also be used to temporarily store data that has been output or is to be output.

[0249] In one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in one aspect of the embodiments of the present application.

[0250] The terms "first", "second", etc. in the description, claims, and drawings of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the term "comprising" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, device, product, or equipment that includes a series of steps or units is not limited to the listed steps or modules, but optionally includes steps or modules that are not listed, or optionally includes other step units inherent to these processes, methods, devices, products, or equipment.

[0251] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0252] The method and related apparatus provided by the embodiment of the present application are described with reference to the method flow chart and / or structural diagram provided by the embodiment of the present application. Specifically, each process and / or box in the method flow chart and / or structural diagram, as well as the combination of the processes and / or boxes in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the process in the process. Figure 1 A process or multiple processes and / or structures Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1 A process or multiple processes and / or structures Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the process in the process. Figure 1 A flow or multiple flows and / or structures illustrate the steps of the functions specified in one block or multiple blocks.

[0253] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A data processing method, characterized in that: include: Obtain R device rendering features configured for the terminal device, where R is a positive integer; obtain a device rendering parameter set corresponding to each device rendering feature in the R device rendering features, obtain R device rendering parameter sets, and based on the parameter combination rule, determine a combination consisting of a first target device rendering parameter in the target device rendering parameter set and a second target device rendering parameter in the remaining device rendering parameter set as a rendering parameter combination S i ; i is a positive integer; the target device rendering parameter set is any device rendering parameter set in the R device rendering parameter sets; the remaining device rendering parameter set is a device rendering parameter set in the R device rendering parameter sets except the target device rendering parameter set; the first target device rendering parameter refers to any device rendering parameter in the target device rendering parameter set; the second target device rendering parameter refers to any device rendering parameter in the remaining device rendering parameter set; a combination of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameter is determined as the remaining rendering parameter combination; the remaining device rendering parameter is any device rendering parameter in the target device rendering parameter set except the first target device rendering parameter; according to the rendering parameter combination S i Combined with the remaining rendering parameters, K rendering parameter combinations are determined, where K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering-affecting parameters; each rendering-affecting parameter refers to a rendering parameter that affects the rendering performance of the terminal device; Input the test code stream into the test device, and determine the rendering parameter combination S according to the rendering data of the test code stream by the test device. i The corresponding rendering effect reference value; the test device refers to switching the device rendering parameters of the terminal device to the rendering parameter combination S i The device obtained after the rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i Corresponding rendering effect; When the rendering effect reference values ​​corresponding to each rendering parameter combination are determined, the optimal rendering parameter combination of the terminal device is determined from the K rendering parameter combinations according to the K rendering effect reference values.

2. The method according to claim 1, characterized in that The R device rendering features include the device rendering feature H j ; j is a positive integer; the device rendering parameter set corresponding to each device rendering feature includes the device rendering feature H j The corresponding device rendering parameter set P j ; The rendering parameter combination S i and the remaining rendering parameters to determine the K rendering parameter combinations, including: The rendering parameter combination S i The remaining rendering parameter combinations are all determined as initial rendering parameter combinations, and a set consisting of the initial rendering parameter combinations is determined as an initial rendering parameter combination set; Get the device rendering feature H j The corresponding device rendering parameter set P j In the , each device rendering parameter corresponds to the parameter priority; According to the device rendering parameter set P j In the order of the priority of each device rendering parameter, the device rendering parameter set P j Sort the device rendering parameters in to obtain a parameter sequence; The initial rendering parameter combination set is pruned based on the parameter sequence to obtain a pruned rendering parameter combination set, and the K rendering parameter combinations are determined according to the pruned rendering parameter combination set.

3. The method according to claim 2, characterized in that The pruning of the initial rendering parameter combination set based on the parameter sequence to obtain a pruned rendering parameter combination set includes: Determine the device rendering parameter located at the end of the sequence in the parameter sequence as the rendering parameter to be pruned; Determine the initial rendering parameter combination including the rendering parameter to be pruned in the initial rendering parameter combination set as the rendering parameter combination to be pruned; The rendering parameter combinations to be pruned in the initial rendering parameter combination set are deleted to obtain the pruned rendering parameter combination set.

4. The method according to claim 2, characterized in that: The determining the K rendering parameter combinations according to the pruned rendering parameter combination set includes: The device renders the feature H j The pruned attributes of are updated from unpruned attributes to pruned attributes; Traversing the R device rendering features; If the pruned attributes of each of the R device rendering features are pruned attributes, determining the pruned rendering parameter combination set as the K rendering parameter combinations; If, among the R device rendering features, there is a device rendering feature whose pruned attribute is an unpruned attribute, the device rendering feature whose pruned attribute is an unpruned attribute is determined as an unpruned rendering feature, and according to the device rendering parameter set corresponding to the unpruned rendering feature, pruning processing is performed on the pruned rendering parameter combination set, and the K rendering parameter combinations are determined according to the pruning results obtained by the pruning processing.

5. The method according to claim 1, characterized in that The R device rendering features include a device input frame rate feature; the device rendering parameter set corresponding to each device rendering feature includes a device input frame rate set corresponding to the device input frame rate feature; In the obtaining of the R device rendering features, a set of device rendering parameters corresponding to each device rendering feature includes: Obtaining the media encoding type for which the terminal device has encoding authority and decoding authority; Acquire a maximum resolution corresponding to the terminal device, and determine a maximum decoding frame rate prediction value corresponding to the terminal device according to the media coding type and the maximum resolution; Obtaining a screen refresh rate corresponding to the terminal device, and determining a minimum value between the maximum decoding frame rate prediction value and the screen refresh rate as a maximum input frame rate of the terminal device; Based on the maximum input frame rate, a device input frame rate set corresponding to the device input frame rate feature is determined.

6. The method according to claim 5, characterized in that The determining, based on the maximum input frame rate, a set of device input frame rates corresponding to the device input frame rate feature comprises: Acquire an initial configuration frame rate set; the initial configuration frame rate set includes one or more initial configuration frame rates; Among the one or more initial configuration frame rates, obtaining an initial configuration frame rate that is less than or equal to the maximum input frame rate; A set of initial configuration frame rates that are less than or equal to the maximum input frame rate is determined as a device input frame rate set corresponding to the device input frame rate feature.

7. The method according to claim 1, characterized in that The test code stream is composed of M media data frames; the M media data frames include media data frames Q j ; M, j are both positive integers; the rendering parameter combination S i The corresponding rendering effect reference value includes the rendering parameter combination S i The corresponding average decoding and rendering delay; The rendering parameter combination S is determined according to the rendering data of the test code stream by the test device. i The corresponding rendering effect reference values ​​include: Get the media data frame Q j A frame input time input to the test device; The media data frame Q is obtained from the rendering data of the test code stream by the test device. j The corresponding rendering frame; Get the media data frame Q j The corresponding rendering frame is output to the frame output time of the device display interface; the device display interface refers to the display interface of the test device; The time period between the frame input time and the frame output time is determined as the media data frame Q j Corresponding decoding and rendering delay; When the decoding and rendering delays corresponding to each of the M media data frames are determined, the rendering parameter combination S is determined according to the decoding and rendering delays corresponding to each of the media data frames. i The corresponding average decoding and rendering delay.

8. The method according to claim 7, characterized in that The rendering parameter combination S is determined according to the decoding rendering delay corresponding to each media data frame. i The corresponding average decoding and rendering delay includes: Performing a summation operation on the M decoding and rendering delays to obtain a total value of the decoding and rendering delay; Counting the total number of media data frames included in the M media data frames; Determine the average value between the total value of the decoding and rendering delay and the total number to obtain the rendering parameter combination S i The corresponding average decoding and rendering delay.

9. The method according to any one of claims 1 to 8, characterized in that: The rendering parameter combination S i The corresponding rendering effect reference value refers to the rendering parameter combination S i The corresponding average decoding and rendering delay; the K rendering effect reference values ​​refer to K average decoding and rendering delays; The step of determining the optimal rendering parameter combination of the terminal device from the K rendering parameter combinations according to the K rendering effect reference values ​​includes: Among the K average decoding and rendering delays, obtain a minimum average decoding and rendering delay; The rendering parameter combination corresponding to the minimum average decoding rendering delay among the K rendering parameter combinations is determined as the optimal rendering parameter combination for the terminal device.

10. A data processing device, characterized in that: include: A combination acquisition module is used to acquire R device rendering features configured for the terminal device; R is a positive integer; acquire a device rendering parameter set corresponding to each device rendering feature in the R device rendering features, obtain R device rendering parameter sets, and based on the parameter combination rule, determine a combination consisting of a first target device rendering parameter in the target device rendering parameter set and a second target device rendering parameter in the remaining device rendering parameter set as a rendering parameter combination S i ; i is a positive integer; the target device rendering parameter set is any device rendering parameter set in the R device rendering parameter sets; the remaining device rendering parameter set is a device rendering parameter set in the R device rendering parameter sets except the target device rendering parameter set; the first target device rendering parameter refers to any device rendering parameter in the target device rendering parameter set; the second target device rendering parameter refers to any device rendering parameter in the remaining device rendering parameter set; a combination of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameter is determined as the remaining rendering parameter combination; the remaining device rendering parameter is any device rendering parameter in the target device rendering parameter set except the first target device rendering parameter; according to the rendering parameter combination S i Combined with the remaining rendering parameters, K rendering parameter combinations are determined, where K is a positive integer; each rendering parameter combination in the K rendering parameter combinations includes one or more rendering-affecting parameters; Each rendering-affecting parameter refers to a rendering parameter that affects the rendering performance of the terminal device; The code stream input module is used to input the test code stream into the test device; the test device refers to a device whose rendering parameters are the rendering parameter combination S i Terminal equipment; A reference value determination module, used to determine the rendering parameter combination S according to the rendering data of the test code stream by the test device i The corresponding rendering effect reference value; the rendering parameter combination S i The corresponding rendering effect reference value is used to characterize the rendering parameter combination S i Corresponding rendering effect; The optimal combination determination module is used to determine the optimal rendering parameter combination of the terminal device from the K rendering parameter combinations according to the K rendering effect reference values ​​when the rendering effect reference values ​​corresponding to each rendering parameter combination are determined.

11. 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 a network communication function, the memory is used to store a computer program, and the processor is used to call the computer program so that the computer device executes the method described in any one of claims 1-9.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor and executing the method according to any one of claims 1 to 9.

13. A computer program product, characterized in that The computer program product comprises a computer program, which is stored in a computer-readable storage medium. The computer program is suitable for being read and executed by a processor, so that a computer device having the processor executes the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Virtual scene rendering resource processing method, device and equipment and storage medium

    CN112052097A

  • Rendering method and device, electronic equipment and computer readable storage medium

    CN112616088A