[go: up one dir, main page]

HK40086735A - A data processing method, device, equipment and readable storage medium - Google Patents

A data processing method, device, equipment and readable storage medium Download PDF

Info

Publication number
HK40086735A
HK40086735A HK42023075308.9A HK42023075308A HK40086735A HK 40086735 A HK40086735 A HK 40086735A HK 42023075308 A HK42023075308 A HK 42023075308A HK 40086735 A HK40086735 A HK 40086735A
Authority
HK
Hong Kong
Prior art keywords
rendering
rendering parameter
parameter
combination
parameters
Prior art date
Application number
HK42023075308.9A
Other languages
Chinese (zh)
Other versions
HK40086735B (en
Inventor
黄永铖
曹洪彬
陈思佳
杨小祥
曹健
宋美佳
Original Assignee
腾讯科技(深圳)有限公司
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of HK40086735A publication Critical patent/HK40086735A/en
Publication of HK40086735B publication Critical patent/HK40086735B/en

Links

Description

一种数据处理方法、装置、设备以及可读存储介质A data processing method, apparatus, device, and readable storage medium

技术领域Technical Field

本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备以及可读存储介质。This application relates to the field of computer technology, and in particular to a data processing method, apparatus, device, and readable storage medium.

背景技术Background Technology

随着计算机技术与多媒体技术的快速发展,越来越多的智能应用出现,这些智能应用丰富着日常生活。通常,这些智能应用部署于终端设备中,用户可通过终端设备来运行这些智能应用。With the rapid development of computer and multimedia technologies, an increasing number of intelligent applications are emerging, enriching daily life. These intelligent applications are typically deployed on terminal devices, allowing users to run them.

应当理解,当智能应用部署于终端设备中时,终端设备可以对应用相关数据进行渲染,以输出与智能应用相关联的应用画面。其中,对于部分要求低延时、高流畅度的智能应用(如,云游戏应用、实时视频通信应用等媒体应用)而言,对终端设备的渲染性能需求较高。It should be understood that when smart applications are deployed on terminal devices, the terminal devices can render application-related data to output application visuals associated with the smart applications. Among these, some smart applications that require low latency and high smoothness (such as cloud gaming applications, real-time video communication applications, and other media applications) have higher requirements for the rendering performance of the terminal devices.

在相关技术中,对于终端设备而言,会预先随机配置一个固定的渲染参数,使用单一的固定的渲染参数来对不同的智能应用进行渲染。然而,由于终端设备的芯片、系统版本或其他因素的影响,不同的渲染参数在终端设备中所具备的渲染性能也不同,那么通过预先为终端设备随机配置一个固定的渲染参数的方式,并不具备针对性与准确性,该渲染参数可能并不适应于该终端设备,导致终端设备的渲染性能较低,无法满足不同智能应用的渲染需求。In related technologies, terminal devices are pre-configured with a fixed set of rendering parameters to render different smart applications. However, due to factors such as the terminal device's chip, system version, or others, different rendering parameters result in varying rendering performance on different terminal devices. Therefore, pre-configuring a fixed set of rendering parameters lacks specificity and accuracy; the parameters may not be suitable for the specific terminal device, leading to lower rendering performance and an inability to meet the rendering needs of different smart applications.

发明内容Summary of the Invention

本申请实施例提供一种数据处理方法、装置、设备以及可读存储介质,可以优化终端设备的渲染参数,提升终端设备的渲染性能。This application provides a data processing method, apparatus, device, and readable storage medium that can optimize the rendering parameters of a terminal device and improve its rendering performance.

本申请实施例一方面提供了一种数据处理方法,包括:One embodiment of this application provides a data processing method, including:

获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;Obtain K combinations of rendering parameters for the terminal device; K is a positive integer; each of the K combinations of rendering parameters contains 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 contains a combination of rendering parameters Si , where i is a positive integer;

将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;The test stream is input into the test device. Based on the rendering data of the test stream by the test device, the reference value of the rendering effect corresponding to the rendering parameter combination Si is determined. The test device refers to the terminal device that switches the device rendering parameters of the terminal device to the rendering parameter combination Si . The reference value of the rendering effect corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si .

当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。Once the reference values for the rendering effects corresponding to each combination of rendering parameters are determined, the optimal combination of rendering parameters for the terminal device is determined from among the K combinations of rendering parameters based on the K reference values for rendering effects.

本申请实施例一方面提供了一种数据处理装置,包括:One embodiment of this application provides a data processing apparatus, including:

组合获取模块,用于获取针对终端设备的K个渲染参数组合;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K为正整数;K个渲染参数组合包含渲染参数组合Si,i为正整数;The combination acquisition module is used to acquire K combinations of rendering parameters for the terminal device; each of the K combinations of rendering parameters contains one or more influencing rendering parameters; each influencing rendering parameter refers to a rendering parameter that affects the rendering performance of the terminal device; K is a positive integer; the K combinations of rendering parameters contain a combination of rendering parameters Si , where i is a positive integer;

码流输入模块,用于将测试码流输入至测试设备中;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;The bitstream input module is used to input the test bitstream into the test device; the test device refers to the terminal device that switches the device rendering parameters of the terminal device to the rendering parameter combination Si .

参考值确定模块,用于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;The reference value determination module is used to determine the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test bitstream by the test equipment; the rendering effect reference value corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si .

最优组合确定模块,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。The optimal combination determination module is used to determine the optimal rendering parameter combination for the terminal device from among the K rendering parameter combinations, based on the K rendering effect reference values corresponding to each rendering parameter combination.

在一个实施例中,组合获取模块可以包括:In one embodiment, the combined acquisition module may include:

特征获取单元,用于获取为终端设备所配置的R个设备渲染特征;R为正整数;The feature acquisition unit is used to acquire R device rendering features configured for the terminal device; R is a positive integer;

参数集合获取单元,用于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合;The parameter set acquisition unit is used to acquire the set of device rendering parameters corresponding to each of the R device rendering features, and thus obtain the R device rendering parameter sets.

参数组合单元,用于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。The parameter combination unit is used to combine the device rendering parameters contained in the R sets of device rendering parameters based on the parameter combination rules to obtain K rendering parameter combinations.

在一个实施例中,参数组合单元可以包括:In one embodiment, the parameter combination unit may include:

第一组合确定子单元,用于基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;The first combination determination subunit is used to determine the combination of the first target device rendering parameter in the target device rendering parameter set and the second target device rendering parameter in the remaining device rendering parameter set as the rendering parameter combination Si , based on the parameter combination rules; the target device rendering parameter set is any one of the R device rendering parameter sets; the remaining device rendering parameter set is the set of device rendering parameters other than the target device rendering parameter set among the R device rendering parameter sets; the first target device rendering parameter refers to any one of the device rendering parameters in the target device rendering parameter set; the second target device rendering parameter refers to any one of the device rendering parameters in the remaining device rendering parameter set;

第二组合确定子单元,用于将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;The second combination determination subunit is used to determine the combination of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameters as 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 parameters.

参数组合确定子单元,用于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。The parameter combination determination subunit is used to determine K rendering parameter combinations based on the rendering parameter combination Si and the remaining rendering parameter combinations.

在一个实施例中,R个设备渲染特征包含设备渲染特征Hj;j为正整数;每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合PjIn one embodiment, the R device rendering features include device rendering feature Hj ; j is a positive integer; the device rendering parameter set corresponding to each device rendering feature includes the device rendering parameter set Pj corresponding to device rendering feature Hj ;

参数组合确定子单元,还具体用于将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;The parameter combination determination sub-unit is also specifically used to determine the rendering parameter combination Si and the remaining rendering parameter combinations as the initial rendering parameter combination, and to determine the set of the initial rendering parameter combinations as the initial rendering parameter combination set.

参数组合确定子单元,还具体用于获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;The parameter combination determines the sub-unit and is also specifically used to obtain the parameter priority of each device rendering parameter in the device rendering parameter set Pj corresponding to the device rendering feature Hj ;

参数组合确定子单元,还具体用于按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;The parameter combination determines the sub-unit, and is also specifically used to sort the device rendering parameters in the device rendering parameter set Pj according to the order of priority of each device rendering parameter in the device rendering parameter set Pj , so as to obtain the parameter sequence;

参数组合确定子单元,还具体用于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合确定K个渲染参数组合。The parameter combination determination subunit is also specifically used to prune the initial rendering parameter combination set based on the parameter sequence to obtain the pruned rendering parameter combination set, and to determine K rendering parameter combinations based on the pruned rendering parameter combination set.

在一个实施例中,参数组合确定子单元,还具体用于将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;In one embodiment, the parameter combination determining subunit is also specifically used to determine the device rendering parameter located at the end of the sequence as the rendering parameter to be pruned.

参数组合确定子单元,还具体用于将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;The parameter combination determination sub-unit is also specifically used to determine the initial rendering parameter combination that contains the rendering parameters to be pruned in the initial rendering parameter combination set as the rendering parameter combination to be pruned.

参数组合确定子单元,还具体用于将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到剪枝渲染参数组合集合。The parameter combination determination sub-unit is also specifically used to delete the rendering parameter combinations to be pruned from the initial rendering parameter combination set, so as to obtain the pruned rendering parameter combination set.

在一个实施例中,参数组合确定子单元,还具体用于将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;In one embodiment, the parameter combination determining subunit is also specifically used to update the pruning attribute of the device rendering feature Hj from an unpruned attribute to a pruned attribute.

参数组合确定子单元,还具体用于遍历R个设备渲染特征;The parameter combination determines the sub-unit and is also specifically used to traverse R device rendering features;

参数组合确定子单元,还具体用于若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将剪枝渲染参数组合集合确定为K个渲染参数组合;The parameter combination determines the sub-unit, and is also specifically used to determine the set of pruned rendering parameter combinations as K rendering parameter combinations if the pruning attributes of each of the R device rendering features are all pruned attributes.

参数组合确定子单元,还具体用于若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定K个渲染参数组合。The parameter combination determination sub-unit is also specifically used to determine that if among R device rendering features there is a device rendering feature with an unpruned attribute among the pruned attributes, the device rendering feature with the unpruned attribute is determined as an unpruned rendering feature. Based on the device rendering parameter set corresponding to the unpruned rendering feature, the set of pruned rendering parameter combinations is pruned, and K rendering parameter combinations are determined based on the pruning result obtained from the pruning process.

在一个实施例中,R个设备渲染特征中包括设备输入帧率特征;每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合;In one embodiment, the R device rendering features include device input frame rate features; the device rendering parameter set corresponding to each device rendering feature includes the device input frame rate set corresponding to the device input frame rate feature.

参数集合获取单元可以包括:The parameter set acquisition unit may include:

类型获取子单元,用于获取终端设备具备编码权限与解码权限的媒体编码类型;The type acquisition subunit is used to acquire the media encoding types for which the terminal device has encoding and decoding permissions;

预测值确定子单元,用于获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率确定终端设备对应的最大解码帧率预测值;The prediction value determination subunit 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 based on the media encoding type and the maximum resolution.

最大帧率确定子单元,用于获取终端设备对应的屏幕刷新率,将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;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 decoded frame rate prediction value and the screen refresh rate as the maximum input frame rate of the terminal device.

帧率集合确定子单元,用于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合。The frame rate set determination subunit is used to determine the device input frame rate set corresponding to the device input frame rate characteristics based on the maximum input frame rate.

在一个实施例中,帧率集合确定子单元,还具体用于获取初始配置帧率集合;初始配置帧率集合包含一个或多个初始配置帧率;In one embodiment, the frame rate set determining subunit is further configured to obtain an initial configuration frame rate set; the initial configuration frame rate set contains one or more initial configuration frame rates.

帧率集合确定子单元,还具体用于在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;The frame rate set determination subunit is also specifically used 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;

帧率集合确定子单元,还具体用于将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。The frame rate set determination subunit is also specifically used to determine the set of initial configuration frame rates that are less than or equal to the maximum input frame rate as the device input frame rate set corresponding to the device input frame rate feature.

在一个实施例中,测试码流由M个媒体数据帧所组成;M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时;In one embodiment, the test stream consists of M media data frames; the M media data frames include media data frame Qj ; M and j are both positive integers; the rendering effect reference value corresponding to the rendering parameter combination Si includes the average decoding rendering latency corresponding to the rendering parameter combination Si .

参考值确定模块可以包括:The reference value determination module may include:

输入时刻获取单元,用于获取媒体数据帧Qj输入至测试设备的帧输入时刻;The input time acquisition unit is used to acquire the frame input time of media data frame Qj input to the test device;

渲染帧获取单元,用于在测试设备对测试码流的渲染数据中,获取媒体数据帧Qj对应的渲染帧;The rendering frame acquisition unit is used to acquire the rendering frame corresponding to media data frame Qj from the rendering data of the test bitstream by the test device.

输出时刻获取单元,用于获取媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;设备显示界面是指测试设备的显示界面;The output timing acquisition unit is used to acquire the rendering frame corresponding to media data frame Qj and output the frame output timing to the device display interface; the device display interface refers to the display interface of the test device.

渲染延时确定单元,用于将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;The rendering delay determination unit is used to determine the time interval between the frame input time and the frame output time as the decoding rendering delay corresponding to the media data frame Qj .

平均延时确定单元,用于当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。The average delay determination unit is used to determine the average decoding and rendering delay corresponding to the rendering parameter combination Si based on the decoding and rendering delay corresponding to each of the M media data frames.

在一个实施例中,平均延时确定单元可以包括:In one embodiment, the average delay determination unit may include:

求和处理子单元,用于将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;The summation processing subunit is used to sum the M decoding and rendering delays to obtain the total value of the decoding and rendering delay;

数量统计子单元,用于统计M个媒体数据帧所包含的媒体数据帧的总数量;The quantity statistics subunit is used to count the total number of media data frames contained in M media data frames;

均值确定子单元,用于确定解码渲染延时总值与总数量之间的均值,得到渲染参数组合Si对应的平均解码渲染延时。The mean determination subunit is used to determine the mean between the total value of decoding and rendering latency and the total number of times, so as to obtain the average decoding and rendering latency corresponding to the rendering parameter combination Si .

在一个实施例中,渲染参数组合Si对应的渲染效果参考值,是指渲染参数组合Si对应的平均解码渲染延时;K个渲染效果参考值是指K个平均解码渲染延时;In one embodiment, the rendering effect reference value corresponding to the rendering parameter combination Si refers to the average decoding rendering latency corresponding to the rendering parameter combination Si ; the K rendering effect reference values refer to the K average decoding rendering latencies.

最优组合确定模块可以包括:The optimal combination determination module may include:

最小延时确定单元,用于在K个平均解码渲染延时中,获取最小平均解码渲染延时;The minimum latency determination unit is used to obtain the minimum average decoding and rendering latency among K average decoding and rendering latencies;

最优组合确定单元,用于将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。The optimal combination determination unit is used to determine the rendering parameter combination with the minimum average decoding and rendering latency among K rendering parameter combinations as the optimal rendering parameter combination for the terminal device.

本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;One embodiment of this application provides a computer device, including: a processor and a memory;

存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。The memory stores a computer program, which, when executed by a processor, causes the processor to perform the methods described in the embodiments of this application.

本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。One aspect of this application provides a computer-readable storage medium storing a computer program, which includes program instructions. When executed by a processor, the program instructions perform the methods described in this application.

本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。One aspect of this application provides a computer program product comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method provided in one aspect of the embodiments of this application.

在本申请实施例中,对于影响终端设备的渲染性能的不同影响渲染参数,可以进行组合,得到K个渲染参数组合,而每个渲染参数组合可以作为一个测试组,可以利用测试码流来测试每个测试组的渲染效果,由此可以确定出哪一个渲染参数组合是终端设备的最优渲染参数。例如,对于渲染参数组合Si而言,可以将设备渲染参数为该渲染参数组合Si的终端设备,确定为一个测试设备,随后可以将测试码流输入至该测试设备中,该测试设备即可对该测试码流进行渲染,而基于该测试设备对该测试码流的渲染数据,即可确定渲染参数组合Si对应的渲染效果参考值(用于表征渲染参数组合Si对应的渲染效果的值);那么当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可基于K个渲染效果参考值确定出一个最优渲染效果参考值,由此可以确定出一个最优渲染参数组合。应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。综上,本申请可以优化终端设备的渲染参数,提升终端设备的渲染性能。In this embodiment, different rendering parameters affecting the rendering performance of a terminal device can be combined to obtain K rendering parameter combinations. Each rendering parameter combination can serve as a test group, and the rendering effect of each test group can be tested using a test stream. This allows us to determine which rendering parameter combination is the optimal rendering parameter for the terminal device. For example, for the rendering parameter combination Si , a terminal device with rendering parameters Si can be designated as a test device. A test stream can then be input into the test device, which can then render the test stream. Based on the rendering data of the test stream, a rendering effect reference value ( a value representing the rendering effect corresponding to the rendering parameter combination Si ) can be determined. 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 identifying an optimal rendering parameter combination. It should be understood that the method of dynamically probing the rendering performance of different combinations of rendering parameters on a terminal device based on test bitstreams in this application can determine the optimal rendering parameters based on actual rendering effect reference data (rendering effect reference values). Compared with randomly configuring rendering parameters for a terminal device, probing different combinations of rendering parameters through test bitstreams and determining the optimal combination of rendering parameters based on actual rendering effect reference data can more accurately and specifically determine the optimal combination of rendering parameters suitable for the terminal device, thereby improving the rendering performance of the terminal device. In summary, this application can optimize the rendering parameters of a terminal device and improve its rendering performance.

附图说明Attached Figure Description

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

图1是本申请实施例提供的一种网络架构图;Figure 1 is a network architecture diagram provided in an embodiment of this application;

图2是本申请实施例提供的一种确定最优渲染参数的场景示意图;Figure 2 is a schematic diagram of a scene for determining optimal rendering parameters according to an embodiment of this application;

图3是本申请实施例提供的一种数据处理方法的流程示意图;Figure 3 is a flowchart illustrating a data processing method provided in an embodiment of this application;

图4是本申请实施例提供的一种确定渲染参数组合的流程示意图;Figure 4 is a schematic diagram of a process for determining a combination of rendering parameters according to an embodiment of this application;

图5是本申请实施例提供的一种系统流程图;Figure 5 is a system flowchart provided in an embodiment of this application;

图6是本申请实施例提供的一种对渲染参数组合进行剪枝处理的流程示意图;Figure 6 is a schematic diagram of a process for pruning a combination of rendering parameters according to an embodiment of this application.

图7是本申请实施例提供的一种数据处理装置的结构示意图;Figure 7 is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;

图8是本申请实施例提供的一种计算机设备的结构示意图。Figure 8 is a schematic diagram of the structure of a computer device provided in an embodiment of this application.

具体实施方式Detailed Implementation

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

本申请实施例还涉及人工智能及其相关技术,为便于理解,以下将对人工智能等相关技术概念进行简要阐述:This application also relates to artificial intelligence and related technologies. For ease of understanding, the concepts of artificial intelligence and related technologies will be briefly described below:

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。Artificial Intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating/interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, as well as machine learning/deep learning, autonomous driving, and intelligent transportation.

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, robots, smart healthcare, smart customer service, vehicle networking, and intelligent transportation. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.

本申请实施例主要涉及人工智能的人工智能软件技术中的计算机视觉技术。The embodiments of this application mainly relate to computer vision technology in artificial intelligence software technology.

计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。Computer vision (CV) is a science that studies how to enable machines to "see." More specifically, it refers to machine vision, which uses cameras and computers to replace human eyes in recognizing and measuring targets, and then performs image processing to create images more suitable for human observation or transmission to instruments. As a scientific discipline, computer vision studies related theories and technologies, attempting to build artificial intelligence systems capable of extracting information from images or multidimensional data. Computer vision technologies typically include image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content/behavior recognition, 3D object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous localization and mapping (SLAM), autonomous driving, intelligent transportation, and other technologies, as well as common biometric recognition technologies such as facial recognition and fingerprint recognition.

请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括业务服务器1000和终端设备集群。该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图1所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与上述业务服务器1000进行网络连接,以便于每个终端设备可以通过该网络连接与业务服务器1000进行数据交互。其中,这里的网络连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。Please refer to Figure 1, which is a schematic diagram of a network architecture provided in an embodiment of this application. As shown in Figure 1, the network architecture may include a service server 1000 and a cluster of terminal devices. The cluster of terminal devices may include one or more terminal devices, and the number of terminal devices is not limited here. As shown in Figure 1, the multiple terminal devices may specifically include terminal device 100a, terminal device 100b, terminal device 100c, ..., terminal device 100n. As shown in Figure 1, terminal device 100a, terminal device 100b, terminal device 100c, ..., terminal device 100n can respectively connect to the aforementioned service server 1000 via the network, so that each terminal device can interact with the service server 1000 through the network connection. The network connection method is not limited here; it can be directly or indirectly connected via wired communication, directly or indirectly connected via wireless communication, or other methods, which are not limited here.

每个终端设备均可以集成安装有目标应用,当该目标应用运行于各终端设备中时,可与上述图1所示的业务服务器1000之间进行数据交互。其中,该目标应用可以包括具有显示文字、图像、音频以及视频等数据信息功能的应用。其中,该应用可以包括社交应用、多媒体应用(例如,视频应用)、娱乐应用(例如,云游戏应用)、教育应用、直播应用等具有媒体数据编码功能(如视频编码功能)的应用,当然,应用还可以为其他具有显示数据信息功能、视频编码功能的应用,在此不再一一进行举例。其中,该应用可以为独立的应用,也可以为集成在某应用(例如,社交应用、教育应用以及多媒体应用等)中的嵌入式子应用,在此不进行限定。Each terminal device can integrate and install a target application. When the target application runs on each terminal device, it can interact with the business server 1000 shown in Figure 1. The target application can include applications with functions to display text, images, audio, and video data. These applications can include social applications, multimedia applications (e.g., video applications), entertainment applications (e.g., cloud gaming applications), educational applications, live streaming applications, and other applications with media data encoding functions (such as video encoding). Of course, the application can also be other applications with data display and video encoding functions, which will not be listed here. The application can be a standalone application or an embedded sub-application integrated into an application (e.g., social applications, educational applications, and multimedia applications), without limitation.

为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图1所示的终端设备100a作为目标终端设备,该目标终端设备中可以集成有具备视频编码功能的目标应用。此时,该目标终端设备可以通过该应用客户端对应的业务数据平台与业务服务器1000之间实现数据交互。For ease of understanding, this application embodiment can select one terminal device from the multiple terminal devices shown in FIG1 as the target terminal device. For example, this application embodiment can use terminal device 100a shown in FIG1 as the target terminal device, which can integrate a target application with video encoding function. In this case, the target terminal device can realize data interaction with the business server 1000 through the business data platform corresponding to the application client.

应当理解,本申请实施例中的具有媒体数据编码功能(如,视频编码功能)的计算机设备(例如,终端设备100a、业务服务器1000)可以通过云技术,实现对多媒体数据(例如,视频数据)的数据编码以及数据传输。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。It should be understood that the computer devices (e.g., terminal device 100a, business server 1000) with media data encoding functions (e.g., video encoding functions) in the embodiments of this application can use cloud technology to achieve data encoding and data transmission of multimedia data (e.g., video data). Cloud technology refers to a hosting technology that unifies hardware, software, network, and other resources within a wide area network or local area network to achieve data computation, storage, processing, and sharing.

云技术可以是网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。Cloud technology can be a general term encompassing network technology, information technology, integration technology, management platform technology, and application technology. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will all require robust system support, which can only be achieved through cloud computing.

例如,本申请实施例提供的数据处理方法可以应用于视频观看场景、视频通话场景、视频传输场景、云会议场景、云游戏场景、直播场景等高分辨率、高帧率、低延时的场景。其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议主要集中在以SaaS(Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。For example, the data processing method provided in this application can be applied to scenarios requiring high resolution, high frame rate, and low latency, such as video viewing, video calling, video transmission, cloud conferencing, cloud gaming, and live streaming. Cloud conferencing, based on cloud computing technology, is an efficient, convenient, and low-cost form of meeting. Users only need to perform simple and easy-to-use operations through an internet interface to quickly and efficiently share voice, data files, and video with teams and clients worldwide. The complex technologies involved in data transmission and processing during the meeting are handled by the cloud conferencing service provider. Currently, domestic cloud conferencing mainly focuses on services based on the SaaS (Software as a Service) model, including telephone, internet, and video services. Video conferencing based on cloud computing is called cloud conferencing. In the era of cloud conferencing, data transmission, processing, and storage are all handled by the computer resources of the video conferencing provider. Users no longer need to purchase expensive hardware or install cumbersome software; they only need to open a browser and log in to the corresponding interface to conduct efficient remote meetings. Cloud conferencing systems support dynamic multi-server cluster deployment and provide multiple high-performance servers, greatly improving meeting stability, security, and availability. In recent years, video conferencing has gained popularity among many users due to its ability to significantly improve communication efficiency, continuously reduce communication costs, and upgrade internal management levels. It has been widely applied in various fields such as transportation, logistics, finance, telecommunications, education, and enterprises. Undoubtedly, with the application of cloud computing, video conferencing will be even more attractive in terms of convenience, speed, and ease of use, and will surely usher in a new wave of video conferencing applications.

应当理解,具有媒体数据编码功能的计算机设备(例如,具备视频编码功能的终端设备100a)可以通过媒体数据编码器(如,视频编码器)对媒体数据进行编码处理,以得到该媒体数据对应的数据码流(如,得到视频数据对应的视频码流),进而可以提升媒体数据的传输效率。其中,媒体数据编码器为视频编码器时,该视频编码器可以为AV1视频编码器,H.266视频编码器,AVS3视频编码器等,在此不再一一进行举例。其中,该AV1视频编码器的视频压缩标准是开放媒体联盟(Alliance for Open Media,简称AOM)开发的第一代视频编码标准。It should be understood that computer equipment with media data encoding capabilities (e.g., terminal equipment 100a with video encoding capabilities) can encode media data using a media data encoder (e.g., a video encoder) to obtain the corresponding data bitstream (e.g., the video bitstream corresponding to the video data), thereby improving the transmission efficiency of media data. When the media data encoder is a video encoder, it can be an AV1 video encoder, an H.266 video encoder, an AVS3 video encoder, etc., which will not be listed here. The AV1 video encoder uses a video compression standard developed by the Alliance for Open Media (AOM), which is the first-generation video coding standard.

其中,应当理解的是,对于经过编码处理的数据码流(如视频码流),终端设备通过对其进行解码渲染处理,即可得到用于输出显示的画面(如视频画面、游戏画面等等)。而可以理解的是,为优化终端设备的渲染参数以提升终端设备的渲染性能,从而得到质量更高的渲染画面,本申请可以为终端设备配置不同的渲染参数组合,再基于测试码流对不同的渲染参数组合进行测试,以测试渲染效果最优的渲染参数组合,从而即可将终端设备的设备渲染参数配置为适应性最好、渲染性能最好的那一组渲染参数组合,进而提升终端设备的解码渲染性能。It should be understood that for encoded data streams (such as video streams), terminal devices can obtain the images (such as video images, game images, etc.) for output display by decoding and rendering them. It is also understood that, to optimize the rendering parameters of the terminal device and improve its rendering performance, thereby obtaining higher-quality rendered images, this application can configure different combinations of rendering parameters for the terminal device, and then test these different combinations based on test streams to determine the optimal rendering parameter combination. This allows the terminal device's rendering parameters to be configured with the most adaptable and highest-performing combination, thereby improving the decoding and rendering performance of the terminal device.

具体的,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。其中,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。Specifically, for terminal devices, there are various characteristics that affect their rendering performance (each of which can be referred to as a rendering feature). For example, features such as rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate all affect the rendering performance of the terminal device. Therefore, rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate can all be referred to as device rendering features. Among them, a device rendering feature can contain different possible values, and each possible value can be understood as a rendering parameter (that is, a parameter that affects the rendering performance of the terminal device, which can 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. Each of the possible window types can be used as a device rendering parameter under the device rendering feature of rendering window type (that is, SurfaceView can be used as a device rendering parameter and TextureView can be used as a device rendering parameter). As another example, taking the rendering frame dropping mode as an example, it can take the values of frame dropping and no frame dropping. Each of the possible values can be used as a rendering parameter under the device rendering feature of rendering frame dropping mode (that is, frame dropping can be used as a device rendering parameter and no frame dropping can be used as a device rendering parameter).

而本申请中,可以将各个设备渲染特征下的不同影响渲染参数,进行参数组合,从而可以得到K个渲染参数组合。那么也就是说,一个渲染参数组合包含有一个或多个不同的影响渲染参数,由于所包含的影响渲染参数不同,那么每个渲染参数组合的渲染性能也会不同。基于此,本申请可以基于测试码流(经过编码处理所得到的码流,该测试码流可以是指如视频码流的媒体数据码流),动态的测试每个渲染参数组合对该测试码流的渲染效果。其中,对于某个渲染参数组合对测试码流的渲染效果,本申请可以基于该渲染参数组合对该测试码流的渲染效果参考值来确定(即通过数值来体现渲染效果的优异与否)。以渲染参数组合Si为例,可以将终端设备的渲染参数配置为该渲染参数组合Si(该配置为该渲染参数组合Si的终端设备可称之为一个测试设备),随后,可以通过业务服务器1000对某个媒体数据进行编码处理,在得到测试码流后,可以将测试码流输入至该测试设备中,由此,该测试设备可以基于渲染参数组合Si,对该测试码流进行解码渲染处理。进一步地,业务服务器1000可以获取到该测试设备对测试码流的渲染数据,基于该渲染数据即可确定出渲染参数组合Si的一个渲染效果参考值。同理,对于每个渲染参数组合,业务服务器1000均可得到其对应的渲染效果参考值,基于这些渲染效果参考值,业务服务器1000可以确定出哪一个渲染参数组合的渲染效果最优,从而可以确定出最优的渲染参数组合。最后,即可将该终端设备的设备渲染参数配置为该最优渲染参数组合。In this application, different rendering parameters affecting the rendering characteristics of various devices can be combined to obtain K rendering parameter combinations. This means that a rendering parameter combination contains one or more different rendering parameters affecting the rendering performance. Based on this, this application can dynamically test the rendering effect of each rendering parameter combination on a test bitstream (a bitstream obtained after encoding processing, such as a media data bitstream like a video bitstream). Specifically, for the rendering effect of a certain rendering parameter combination on the test bitstream, this application can determine the effect based on a reference value of that rendering parameter combination on the test bitstream (i.e., using a numerical value to reflect the quality of the rendering effect). Taking the rendering parameter combination Si as an example, the rendering parameters of the terminal device can be configured to this combination (the terminal device configured with this rendering parameter combination Si can be called a test device). Then, the service server 1000 can encode certain media data. After obtaining the test stream, the test stream can be input into the test device. Thus, the test device can decode and render the test stream based on the rendering parameter combination Si . Furthermore, the service server 1000 can obtain the rendering data of the test stream from the test device. Based on this rendering data, a rendering effect reference value for the rendering parameter combination Si can be determined. Similarly, for each rendering parameter combination, the service server 1000 can obtain its corresponding rendering effect reference value. Based on these rendering effect reference values, the service server 1000 can determine which rendering parameter combination has the optimal rendering effect, thereby determining the optimal rendering parameter combination. Finally, the device rendering parameters of the terminal device can be configured to this optimal rendering parameter combination.

其中,对于将不同影响渲染参数进行参数组合得到K个渲染参数组合、以及确定每个渲染参数组合的渲染效果参考值的具体实现方式,可以参见后续图3所对应实施例中的描述。For details on how to combine different rendering parameters to obtain K rendering parameter combinations and determine the rendering effect reference value for each rendering parameter combination, please refer to the description in the embodiment corresponding to Figure 3 below.

可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。It is understood that the methods provided in this application embodiment can be executed by computer devices, including but not limited to terminal devices or business servers. The business server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

可选的,可以理解的是,上述计算机设备(如上述业务服务器1000、终端设备100a、终端设备100b等等)可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任意形式的计算机设备,比如业务服务器、终端设备等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。为便于理解,以下将对区块链的概念进行说明:区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。当计算机设备为区块链节点时,由于区块链的不可被篡改特性与防伪造特性,可以使得本申请中的数据(如编码处理后的测试码流、每个渲染参数组合对应的渲染效果参考值等等)具备真实性与安全性,从而可以使得基于这些数据进行相关数据处理后,得到的结果更为可靠。Optionally, and understandably, the aforementioned computer devices (such as the aforementioned business server 1000, terminal device 100a, terminal device 100b, etc.) can be nodes in a distributed system. This distributed system can be a blockchain system, formed by connecting multiple nodes through network communication. The nodes can form a peer-to-peer (P2P) network, where the P2P protocol is an application layer protocol running on top of the Transmission Control Protocol (TCP). In this distributed system, any type of computer device, such as a business server or terminal device, can become a node in the blockchain system by joining this peer-to-peer network. For ease of understanding, the concept of blockchain is explained below: Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. It is mainly used to organize data in chronological order and encrypt it into a ledger, making it tamper-proof and forgery-proof, while also enabling data verification, storage, and updating. When a computer device is a blockchain node, the immutability and anti-counterfeiting characteristics of the blockchain can ensure the authenticity and security of the data in this application (such as the encoded test stream, the rendering effect reference value corresponding to each rendering parameter combination, etc.), thereby making the results obtained after relevant data processing based on these data more reliable.

需要说明的是,在本申请的具体实施方式中,涉及到用户信息、用户数据(如在目标应用中上传的相关应用数据等)等相关的数据,需要经过用户授权许可才能进行获取。也就是说,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。It should be noted that, in the specific embodiments of this application, data involving user information and user data (such as relevant application data uploaded in the target application) requires user authorization before it can be obtained. 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 related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.

本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。为便于理解,请参见图2,图2是本申请实施例提供的一种确定最优渲染参数的场景示意图。其中,如图2所示的场景是以不同终端设备之间进行视频传输为例进行说明的场景,在视频传输场景中,终端设备S1可以为用于发送视频数据(例如,视频数据1)的发送终端,终端设备S1对应的用户可以为用户a。终端设备备S2可以为用于接收视频数据(如,视频数据1)的接收终端,该终端设备S2对应的用户可以为用户b。其中,图2实施例中的业务服务器200可以为与终端设备S1、终端设备S2具有网络连接关系的服务器,该业务服务器200可以为上述图1所示的业务服务器1000。This application embodiment can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving. For ease of understanding, please refer to Figure 2, which is a schematic diagram of a scenario for determining optimal rendering parameters provided by this application embodiment. The scenario shown in Figure 2 is an example of video transmission between different terminal devices. In this video transmission scenario, terminal device S1 can be a sending terminal for sending video data (e.g., video data 1), and the user corresponding to terminal device S1 can be user a. Terminal device S2 can be a receiving terminal for receiving video data (e.g., video data 1), and the user corresponding to terminal device S2 can be user b. The service server 200 in the embodiment of Figure 2 can be a server with a network connection to terminal devices S1 and S2 , and this service server 200 can be the service server 1000 shown in Figure 1 above.

应当理解,在视频传输场景中,终端设备S1可以获取由图像采集器(例如,摄像头)所采集到的与用户a相关联的视频数据1。进一步地,该终端设备S1可以通过视频编码器(例如,AV1视频编码器)对该视频数据1进行编码处理,以生成与该视频数据1相关联的视频码流1。此时,终端设备S1可以将该视频码流1发送至业务服务器200。该业务服务器200在接收到该视频码流1时,可以对该视频码流1进行解码处理,得到具备像素图像格式(也可称为YUV格式)的视频数据(可称为YUV视频数据,也可称为解码视频数据,或称为待编码视频数据),然后业务服务器200可以对该待编码视频数据进行编码处理(例如,通过视频编码器对该待编码视频数据进行编码处理),由此可以得到由业务服务器200所编码得到的新的视频码流(如视频码流2)。It should be understood that in a video transmission scenario, terminal device S1 can acquire video data 1 associated with user a, captured by an image acquisition device (e.g., a camera). Further, terminal device S1 can encode the video data 1 using a video encoder (e.g., an AV1 video encoder) to generate a video stream 1 associated with the video data 1. At this time, terminal device S1 can send the video stream 1 to service server 200. Upon receiving the video stream 1, service server 200 can decode it to obtain video data (also called YUV video data, decoded video data, or video data to be encoded) in pixel image format (also known as YUV format). Then, service server 200 can encode the video data to be encoded (e.g., by encoding it using a video encoder), thereby obtaining a new video stream (e.g., video stream 2) encoded by service server 200.

其中,可以理解的是,业务服务器200对待编码视频数据进行编码处理,实际可以理解为对待编码视频数据的每一个视频帧(可称为待编码视频帧)进行编码处理,那么该视频码流2中可以包含有每一个视频帧所对应的进行编码处理后的帧(可称之为编码帧)。进一步地,业务服务器200可以将该视频码流2发送至终端设备S2,而该终端设备S2可以将该视频码流2进行解码渲染输出,用户b即可通过终端设备S2查看到该视频数据1。In this context, it can be understood that the business server 200 encodes the video data to be encoded, which can be understood as encoding each video frame (referred to as the video frame to be encoded) of the video data to be encoded. Therefore, the video stream 2 can contain the encoded frame (referred to as the encoded frame) corresponding to each video frame. Furthermore, the business server 200 can send the video stream 2 to the terminal device S2 , and the terminal device S2 can decode and render the video stream 2 for output, so that user b can view the video data 1 through the terminal device S2 .

应当理解,为了提升用户观看视频数据的体验,本申请可以对终端设备的渲染参数进行优化,以提升终端设备的渲染性能,进而可以提升终端设备所渲染得到的渲染画面(如对视频码流2的渲染画面)的质量。具体的,本申请实施例可以获取到会对终端设备S2的渲染性能产生影响的不同渲染参数(可称之为影响渲染参数),可以将不同的影响渲染参数进行参数组合,由此可以得到多个渲染参数组合。这里假设渲染参数组合包含渲染参数组合1、渲染参数组合2、渲染参数组合3以及渲染参数组合4为例,可以将终端设备S2的设备渲染参数先切换设置为渲染参数组合1,为便于区别,可以将设备渲染参数切换设置为渲染参数组合1的终端设备S2称为终端设备200a,该终端设备200a可以作为一个测试设备(后续将称之为测试设备200a)。It should be understood that, in order to improve the user's experience of watching video data, this 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 image (such as the rendered image of video stream 2) obtained by the terminal device. Specifically, the embodiments of this application can obtain different rendering parameters (which can be called influencing rendering parameters) that affect the rendering performance of the terminal device S2 , and can combine different influencing rendering parameters to obtain multiple rendering parameter combinations. Here, assuming that the rendering parameter combinations include rendering parameter combination 1, rendering parameter combination 2, rendering parameter combination 3, and rendering parameter combination 4, the device rendering parameters of the terminal device S2 can be switched to rendering parameter combination 1. For ease of distinction, the terminal device S2 whose device rendering parameters are switched to rendering parameter combination 1 is called terminal device 200a. This terminal device 200a can be used as a test device (hereinafter referred to as test device 200a).

进一步地,可以将业务服务器200编码得到的视频码流2作为测试码流,可以将该测试码流输入至该测试设备200a中,那么在该测试设备200a中,可以对该测试码流中的每一个编码帧(如图2所示的编码帧20a)进行解码渲染处理,由此可以得到每一个编码帧的渲染数据。随后,可以基于这些渲染数据,确定出该测试设备200a对该测试码流的一个渲染效果参考值(如图2所示的渲染效果参考值a),该渲染效果参考值a可以用于表征该渲染参数组合1的一个渲染效果。同理,可以将终端设备S2的设备渲染参数切换设置为渲染参数组合2、渲染参数组合3或渲染参数组合4,为便于区别,可以将设备渲染参数切换设置为渲染参数组合2的终端设备S2称为终端设备200b,该终端设备200b可以作为一个测试设备(后续将称之为测试设备200b);可以将设备渲染参数切换设置为渲染参数组合3的终端设备S2称为终端设备200c,该终端设备200c可以作为一个测试设备(后续将称之为测试设备200c);可以将设备渲染参数切换设置为渲染参数组合4的终端设备S2称为终端设备200d,该终端设备200d可以作为一个测试设备(后续将称之为测试设备200d)。对于每一个测试设备,均可以将测试码流输入至测试设备中,通过各个测试设备对测试码流的解码渲染数据,可以得到不同渲染参数组合对应的渲染效果参考值。Furthermore, the video stream 2 encoded by the service server 200 can be used as a test stream. This test stream can be input into the test device 200a. In the test device 200a, each encoded frame in the test stream (encoded frame 20a as shown in Figure 2) can be decoded and rendered, thereby obtaining the rendering data for each encoded frame. Subsequently, based on this rendering data, a rendering effect reference value for the test stream can be determined by the test device 200a (rendering effect reference value a as shown in Figure 2). This rendering effect reference value a can be used to characterize the rendering effect of rendering parameter combination 1. Similarly, the device rendering parameters of terminal device S2 can be switched to rendering parameter combination 2, rendering parameter combination 3, or rendering parameter combination 4. For ease of distinction, terminal device S2 with its rendering parameters switched to rendering parameter combination 2 is referred to as terminal device 200b, which can serve as a test device (hereinafter referred to as test device 200b). Terminal device S2 with its rendering parameters switched to rendering parameter combination 3 is referred to as terminal device 200c, which can serve as a test device (hereinafter referred to as test device 200c). Terminal device S2 with its rendering parameters switched to rendering parameter combination 4 is referred to as terminal device 200d, which can serve 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. By decoding and rendering the test bitstream data through each test device, reference values for the rendering effects corresponding to different rendering parameter combinations can be obtained.

例如,如图2所示,基于测试设备200a对测试码流的解码渲染数据,可以得到渲染参数组合1对应的渲染效果参考值a;基于测试设备200b对测试码流的解码渲染数据,可以得到渲染参数组合2对应的渲染效果参考值b;基于测试设备200c对测试码流的解码渲染数据,可以得到渲染参数组合3对应的渲染效果参考值c;基于测试设备200d对测试码流的解码渲染数据,可以得到渲染参数组合4对应的渲染效果参考值d。For example, as shown in Figure 2, based on the decoding and rendering data of the test bitstream from test device 200a, the rendering effect reference value a corresponding to rendering parameter combination 1 can be obtained; based on the decoding and rendering data of the test bitstream from test device 200b, the rendering effect reference value b corresponding to rendering parameter combination 2 can be obtained; based on the decoding and rendering data of the test bitstream from test device 200c, the rendering effect reference value c corresponding to rendering parameter combination 3 can be obtained; and based on the decoding and rendering data of the test bitstream from test device 200d, the rendering effect reference value d corresponding to rendering parameter combination 4 can be obtained.

进一步地,可以在渲染效果参考值a、渲染效果参考值b、渲染效果参考值c以及渲染效果参考值d中,确定出一个最优渲染效果参考值,该最优渲染效果参考值所对应的渲染参数组合,即可作为一个最优渲染参数组合,可以将该终端设备S2的设备渲染参数配置为该最优渲染参数组合。Furthermore, an optimal rendering effect reference value can be determined from rendering effect reference value a, rendering effect reference value b, rendering effect reference value c, and rendering effect reference value d. The combination of rendering parameters corresponding to this optimal rendering effect reference value can be used as an optimal rendering parameter combination, and the device rendering parameters of the terminal device S2 can be configured as this optimal rendering parameter combination.

应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。It should be understood that the method of dynamically probing the rendering performance of different combinations of rendering parameters on the terminal device based on the test bitstream of this application 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 probing different combinations of rendering parameters through the test bitstream and determining the optimal combination of rendering parameters based on the actual rendering effect reference data can more accurately and specifically determine the optimal combination of rendering parameters suitable for the terminal device, thereby improving the rendering performance of the terminal device.

进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。其中,本申请实施例所提供的方法可应用于各种场景,包括但不限于音视频、云技术、人工智能、智慧交通、辅助驾驶等场景。该方法可以由终端设备(例如,上述图1的终端设备集群中的任一终端设备)执行,也可以由服务器(例如,上述图1的业务服务器1000)执行,还可以由终端设备和服务器共同执行。为便于理解,本实施例以该方法由上述服务器执行为例进行说明,以阐述在服务器中进行数据处理处理的具体过程。其中,该数据处理方法至少可以包括以下步骤S101-步骤S103:Further, please refer to Figure 3, which is a flowchart illustrating a data processing method provided in an embodiment of this application. The method provided in this embodiment can be applied to various scenarios, including but not limited to audio/video, cloud technology, artificial intelligence, smart transportation, and assisted driving scenarios. This method can be executed by a terminal device (e.g., any terminal device in the terminal device cluster of Figure 1 above), by a server (e.g., the business server 1000 in Figure 1 above), or jointly by a terminal device and a server. For ease of understanding, this embodiment uses the execution of the method by the aforementioned server as an example to illustrate the specific process of data processing on the server. The data processing method may include at least the following steps S101-S103:

步骤S101,获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数。Step S101: Obtain K rendering parameter combinations for the terminal device; K is a positive integer; each of the K rendering parameter combinations contains 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; the K rendering parameter combinations contain rendering parameter combination S <sub> i</sub>, where i is a positive integer.

本申请中,当终端设备中部署有目标应用时,该终端设备需要对目标应用的应用数据进行渲染,以输出该目标应用的应用画面。这里的目标应用可以是指任一具备数据处理功能的应用程序,如,目标应用可为社交应用(如即时通信应用)、娱乐应用(如云游戏应用、短视频应用)、教育应用、多媒体应用等等,这里将不再进行一一举例说明。In this application, when a target application is deployed on 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. Here, the target application can refer to any application with data processing capabilities. For example, the target application can be a social application (such as an instant messaging application), an entertainment application (such as a cloud gaming application or a short video application), an educational application, a multimedia application, etc., and will not be listed here.

应当理解,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。其中,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。It should be understood that for terminal devices, there are various characteristics that affect their rendering performance (each of which can be referred to as a rendering feature). For example, features such as rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate all affect the rendering performance of the terminal device. Therefore, rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate can all be referred to as device rendering features. Among them, a device rendering feature can contain different possible values, and each possible value can be understood as a rendering parameter (that is, a parameter that affects the rendering performance of the terminal device, which can 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. Each of the possible window types can be used as a device rendering parameter under the device rendering feature of rendering window type (that is, SurfaceView can be used as a device rendering parameter and TextureView can be used as a device rendering parameter). As another example, taking the rendering frame dropping mode as an example, it can take the values of frame dropping and no frame dropping. Each of the possible values can be used as a rendering parameter under the device rendering feature of rendering frame dropping mode (that is, frame dropping can be used as a device rendering parameter and no frame dropping can be used as a device rendering parameter).

而本申请中的渲染参数组合,可以是指终端设备的不同设备渲染特征下的一个影响渲染参数所组成的组合;例如,以设备渲染特征包括渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率为例,渲染窗口类型下的可取值包含SurfaceView、TextureView,渲染丢帧模式下的可取值包含丢帧模式与不丢帧模式;渲染时间戳类型下的可取值包含启动流逝时间(Monotonic timestamp,是指终端设备的系统从启动开始所流逝的时间长短)、实时时间(Real timestamp,是指当前时刻与1970年1月1日零点之间的时间差)、自定义时间(Artificial timestamp,是指以媒体数据帧的序号所制作的时间戳,例如,第一帧的时间戳为1,第二帧的时间戳为2,…,第n帧的时间戳为n),渲染输入帧率的可取值包含30fps、60fps、90fps、120fps、150fps。可以将渲染窗口类型下的任一个影响渲染参数(一个可取值)、渲染丢帧模式下的一个影响渲染参数(一个可取值)、渲染时间戳类型下的一个影响渲染参数(一个可取值)、渲染输入帧率下的一个影响渲染参数(一个可取值),组合成一个组合,该组合即可作为一个渲染参数组合。The rendering parameter combination in this application can refer to a combination of rendering parameters under different device rendering characteristics of the terminal device. For example, taking device rendering characteristics including rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate as an example, the possible values under rendering window type include SurfaceView and TextureView, the possible values under rendering frame dropping mode include frame dropping mode and no frame dropping mode, the possible values under rendering timestamp type include startup elapsed time (Monotonic timestamp, which refers to the length of time elapsed since the terminal device system started), real time (Real timestamp, which refers to the time difference between the current time and 00:00 on January 1, 1970), and custom time (Artificial timestamp, which refers to the timestamp made by 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, ..., the timestamp of the nth frame is n), and the possible values of rendering input frame rate include 30fps, 60fps, 90fps, 120fps, and 150fps. You can combine any rendering parameter (with one possible value) under the rendering window type, a rendering parameter (with one possible value) under the rendering frame dropping mode, a rendering parameter (with one possible value) under the rendering timestamp type, and a rendering parameter (with one possible value) under the rendering input frame rate into a combination, and this combination can be used as a rendering parameter combination.

需要说明的是,各个渲染参数组合是不同的,即各个渲染参数组合中所包含的影响渲染参数是不同的,例如,对于上述例子而言,由于渲染窗口类型下的可取值数量为2,渲染丢帧模式下的可取值数量为2,渲染时间戳类型下的可取值数量为3,渲染输入帧率下的可取值数量为5,那么最终所得到的功能参数组合的总数量可为2×2×3×5=60个。It should be noted that the various rendering parameter combinations are different, meaning that the rendering parameters included in each combination are different. For example, in the example above, since the number of possible values under the rendering window type is 2, the number of possible values under the rendering frame dropping 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 obtained can be 2×2×3×5=60.

可以理解的是,上述不同的影响渲染参数决定了终端设备对媒体数据的渲染效果,那么影响渲染参数也是决定终端设备的渲染性能的关键,而为了优化终端设备的渲染性能,使得终端设备所渲染得到的渲染画面的质量更高,本申请可以将不同的渲染参数组合进行测试实验,以找到最有利于提升终端设备的渲染性能的渲染参数组合(可称之为最优渲染参数组合),再将终端设备的各个设备渲染参数设置为该最优渲染参数组合,该最优渲染参数组合是通过测试所确定出的最适应该终端设备的,那么基于该最优渲染参数组合可以提升终端设备的渲染性能。It is understandable that the different rendering parameters mentioned above determine the rendering effect of the terminal device on the media data. Therefore, 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 rendered image of the terminal device of higher quality, this application can conduct test experiments on different combinations of rendering parameters to find the most beneficial combination of rendering parameters to improve the rendering performance of the terminal device (which can be called the optimal rendering parameter combination). Then, the various device rendering parameters of the terminal device are set to the optimal rendering parameter combination. The optimal rendering parameter combination is determined through testing and is most suitable for the terminal device. Therefore, the rendering performance of the terminal device can be improved based on the optimal rendering parameter combination.

也就是说,本申请中的K个渲染参数组合,可基于上述各个设备渲染特征所包含的影响渲染参数的数量所确定,通常情况下,K可为每个设备渲染特征下的影响渲染参数的数量的乘积(如K可为上述例子中的60)。其中,每个渲染参数组合中,是由不同的影响渲染参数所组成的,且各个渲染参数组合中所包含的影响渲染参数,并不是完全相同的(至少有一个影响渲染参数不同)。而这里的渲染参数组合Si可以是指K个渲染参数组合中的任意一个渲染参数组合。这里是简要介绍了对于确定K个渲染参数组合的原理,对于确定K个渲染参数组合的具体实现方式,可以参见后续图4所对应实施例中的详细描述。In other words, the K rendering parameter combinations in this application can be determined based on the number of influencing rendering parameters included in each of the aforementioned device rendering features. Typically, K can be the product of the number of influencing rendering parameters under each device rendering feature (e.g., K could be 60 in the example above). Each rendering parameter combination is composed of different influencing rendering parameters, and the influencing rendering parameters included in each combination are not entirely the same (at least one influencing rendering parameter is different). Here, the rendering parameter combination Si can refer to any one of the K rendering parameter combinations. This is a brief introduction to the principle of determining the K rendering parameter combinations. For a detailed description of the specific implementation of determining the K rendering parameter combinations, please refer to the embodiment corresponding to Figure 4 below.

步骤S102,将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si后所得到的设备;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果。Step S102: Input the test bitstream into the test device, and determine the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test bitstream by the test device; the test device refers to the device obtained by switching the device rendering parameters of the terminal device to the rendering parameter combination Si ; the rendering effect reference value corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si .

本申请中,为了测试在K个渲染参数组合中,哪一组渲染参数组合最能提升终端设备的渲染性能,本申请可以基于测试码流来对每一个渲染参数组合进行测试,以得到每一个渲染参数组合对于该测试码流的渲染效果。其中,这里的测试码流可以是指将某个媒体数据(如视频数据)进行编码处理后所得到的媒体码流,终端设备可以对该测试码流进行解码渲染,以输出该媒体数据。其中,需要说明的是,这里的媒体数据可以是由不同的媒体数据帧(如视频帧)所组成的数据,对媒体数据进行编码处理可以是指对每个媒体数据帧进行编码处理(进行编码处理后,可以得到每个媒体数据帧分别对应的编码帧),那么对于测试码流而言,可以是指由不同的编码帧所组成的码流,即该测试码流中包含有不同的编码帧。对于终端设备而言,对测试码流进行解码渲染处理,实际上可以是指逐一对各个编码帧进行解码渲染处理。In this application, to test which of K rendering parameter combinations best improves the rendering performance of the terminal device, this application can test each rendering parameter combination based on a test bitstream to obtain the rendering effect of each rendering parameter combination on the test bitstream. Here, the test bitstream can refer to the media bitstream obtained after encoding certain media data (such as video data). The terminal device can decode and render this test bitstream to output the media data. It should be noted that the media data here can be data composed of different media data frames (such as video frames). Encoding the media data can refer to encoding each media data frame (after encoding, each media data frame corresponds to a separate encoded frame). Therefore, the test bitstream can refer to a bitstream composed of different encoded frames, i.e., the test bitstream contains different encoded frames. For the terminal device, decoding and rendering the test bitstream can actually refer to decoding and rendering each encoded frame one by one.

其中,以渲染参数组合Si为例,本申请实施例可以将终端设备的设备渲染参数设置为该渲染参数组合Si,并将设备渲染参数设置为该渲染参数组合Si的终端设备确定为一个测试设备,用来进行测试。本申请中,可以借鉴AB实验的原理,将每个渲染参数组合作为一个实验组,再为每个实验组分配完全相同的测试数据(如测试码流),即每个实验组所输入的测试数据是相同的,在测试数据是完全相同的情况下,来查看每一个实验组(或称之为测试组)对测试码流的一个渲染效果。例如,对于渲染参数组合Si而言,将测试码流输入测试设备后,测试设备可以基于该渲染参数组合Si对该测试码流进行解码渲染处理,由此可以得到渲染数据,而基于这些渲染数据,即可确定出渲染参数组合Si对应的渲染效果。而为了更直观明了、更为准确地体现出每个渲染参数组合对应的渲染效果,本申请可以预先配置用于表征渲染效果的渲染效果参考值,基于这些渲染效果参考值,即可确定出哪一个渲染参数组合的渲染效果更好。其中,这里的渲染效果参考值可以是指任意能够表征终端设备的解码渲染效果的特征值,例如,对于终端设备而言,通常可以基于终端设备的解码输出帧率、解码渲染延时、渲染输出帧率、渲染耗时等特征值来确定终端设备的渲染效果,而将每个渲染参数组合的这些特征值进行比较,即可确定出渲染效果最优的一个渲染参数组合。Taking the rendering parameter combination Si as an example, this embodiment of the application can set the device rendering parameters of the terminal device to the rendering parameter combination Si , and define the terminal device with the device rendering parameters set to the rendering parameter combination Si as a test device for testing. In this application, the principle of A/B testing can be adopted, treating each rendering parameter combination as an experimental group, and assigning identical test data (such as a test bitstream) to each experimental group. That is, the test data input to each experimental group is the same. With identical test data, the rendering effect of each experimental group (or test group) on the test bitstream can be observed. For example, for the rendering parameter combination Si , after inputting the test bitstream into the test device, the test device can perform decoding and rendering processing on the test bitstream based on the rendering parameter combination Si , thereby obtaining rendering data. Based on this rendering data, the rendering effect corresponding to the rendering parameter combination Si can be determined. To more intuitively and accurately reflect the rendering effect corresponding to each rendering parameter combination, this application can pre-configure rendering effect reference values to characterize the rendering effect. Based on these rendering effect reference values, it can be determined which rendering parameter combination has a better rendering effect. Here, the rendering effect reference value can refer to any feature value that can characterize the decoding and rendering effect of the terminal device. For example, for the terminal device, the rendering effect can usually be determined based on the feature values such as the decoding output frame rate, decoding rendering latency, rendering output frame rate, and rendering time. By comparing these feature values of each rendering parameter combination, the optimal rendering parameter combination can be determined.

具体的,基于上述可知,测试码流可以是由M个媒体数据帧所组成,以M个媒体数据帧包括媒体数据帧Qj(M、j均为正整数)为例,假设渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时,此时对于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值的具体实现方式可以为:可以获取媒体数据帧Qj输入至测试设备的帧输入时刻;随后,可以在测试设备对测试码流的渲染数据中,获取到媒体数据帧Qj对应的渲染帧,并获取到媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;其中,设备显示界面是指测试设备的显示界面;进一步地,可以将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,可以根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。Specifically, based on the above, the test stream can consist of M media data frames. Taking the M media data frames including media data frame Qj (M and j are both positive integers) as an example, assuming the rendering effect reference value corresponding to the rendering parameter combination Si includes the average decoding rendering latency corresponding to the rendering parameter combination Si , the specific implementation of determining the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test stream by the test device can be as follows: the frame input time of the media data frame Qj input to the test device can be obtained; subsequently, the rendering frame corresponding to the media data frame Qj can be obtained from the rendering data of the test stream by the test device, and the frame output time of the rendering frame corresponding to the media data frame Qj output to the device display interface can be obtained; where the device display interface refers to the display interface of the test device; furthermore, the time period between the frame input time and the frame output time can be determined as the decoding rendering latency corresponding to the media data frame Qj ; when the decoding rendering latency corresponding to each of the M media data frames is determined, the average decoding rendering latency corresponding to the rendering parameter combination Si can be determined based on the decoding rendering latency corresponding to each media data frame.

其中,对于根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时的具体实现方式可为:可以将M个解码渲染延时进行求和运算处理,由此可以得到解码渲染延时总值;随后,可以统计M个媒体数据帧所包含的媒体数据帧的总数量;可以确定解码渲染延时总值与总数量之间的均值,由此即可得到渲染参数组合Si对应的平均解码渲染延时。The specific implementation method for determining the average decoding and rendering latency corresponding to the rendering parameter combination Si based on the decoding and rendering latency corresponding to each media data frame can be as follows: the M decoding and rendering latencies can be summed to obtain the total value of the decoding and rendering latency; then, the total number of media data frames contained in the M media data frames can be counted; the mean between the total value of the decoding and rendering latency and the total number can be determined, thereby obtaining the average decoding and rendering latency corresponding to the rendering parameter combination Si .

应当理解,由于测试码流是由M个媒体数据帧所组成的,那么在测试设备对测试码流的解码渲染过程中,本申请可以统计到每一个媒体数据帧从输入到设备,到渲染输出至设备显示界面(即终端设备的屏幕)上的时长(即输入至所述测试设备的帧输入时刻,渲染帧输出至设备显示界面的帧输出时刻之间的时间段),该时长即可作为某个媒体数据帧的解码渲染延时;在确定出M个媒体数据帧中每个媒体数据帧分别对应的解码渲染延时时,即可基于M个媒体数据帧的总数量,与所有媒体数据帧的解码渲染延时的总和(即,将所有媒体数据帧的解码渲染延时进行相加处理后,所得到的结果值),得到一个平均解码渲染延时(如解码渲染延时总值/总数量),该平均解码渲染延时即可作为该渲染参数组合Si对应的渲染效果参考值。It should be understood that since the test stream consists of M media data frames, during the decoding and rendering process of the test stream by the test device, this application can statistically determine 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 interval between the frame input time to the test device and the frame output time to the device display interface). This time interval can be used as the decoding and rendering delay of a certain media data frame. When the decoding and rendering delay corresponding to each of the M media data frames is determined, an average decoding and rendering delay (e.g., total decoding and rendering delay / total number) can be obtained based on the total number of M media data frames and the sum of the decoding and rendering delays of all media data frames (i.e., the result value obtained after adding the decoding and rendering delays of all media data frames). This average decoding and rendering delay can be used as a reference value for the rendering effect corresponding to the rendering parameter combination Si .

需要说明的是,上述是以渲染效果参考值为平均解码渲染延时为例,来说明的确定渲染参数组合Si对应的渲染效果参考值的方法,对于确定渲染参数组合Si对应的渲染效果参考值,并不限定于是确定平均解码渲染延时。对于某个渲染参数组合的渲染效果参考值,还可以为其他任意能够用于表征渲染效果的特征值,如,可以以解码渲染耗时作为渲染效果参考值。当以解码渲染耗时作为渲染效果参考值时,对于确定渲染参数组合Si对应的渲染效果参考值的具体实现方式还可为:可以统计每一个媒体数据帧分别对应的解码渲染耗时,然后可以统计所有媒体数据帧所对应的解码渲染耗时总值(将所有的媒体数据帧所对应的解码渲染耗时进行相加处理,得到的一个相加结果值作为解码渲染耗时总值),该解码渲染耗时总值即可作为一个渲染效果参考值。也就是说,对于渲染参数组合的渲染效果参考值,并不限定于是平均解码渲染延时这一种特征值,其可以基于实际场景来确定,但是,一旦确定渲染效果参考值后,每一个渲染参数组合对应的渲染效果参考值应为同一种特征值,由此可便于比较,以确定出最优渲染参数组合。It should be noted that the above method for determining the rendering effect reference value corresponding to the rendering parameter combination Si is illustrated using the average decoding and rendering latency as an example. Determining the rendering effect reference value corresponding to the rendering parameter combination Si is not limited to determining the average decoding and rendering latency. The rendering effect reference value for a given rendering parameter combination can also be any other feature value that can characterize the rendering effect, such as the decoding and rendering time. When using the decoding and rendering time as the rendering effect reference value, the specific implementation for determining the rendering effect reference value corresponding to the rendering parameter combination Si can also be as follows: the decoding and rendering time corresponding to each media data frame can be counted, and then the total decoding and rendering time corresponding to all media data frames can be counted (the decoding and rendering times corresponding to all media data frames are added together, and the sum is taken as the total decoding and rendering time). This total decoding and rendering time can then be used as a rendering effect reference value. In other words, the reference value for the rendering effect of a combination of rendering parameters is not limited to the average decoding and rendering latency. It can be determined based on the actual scene. However, once the reference value for the rendering effect is determined, the reference value for the rendering effect of each combination of rendering parameters should be the same feature value. This makes it easier to compare and determine the optimal combination of rendering parameters.

步骤S103,当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。Step S103: When the rendering effect reference value corresponding to each rendering parameter combination is determined, the optimal rendering parameter combination for the terminal device is determined from the K rendering effect reference values.

本申请中,当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可得到K个渲染效果参考值,而基于K个渲染效果参考值,即可在K个渲染参数组合中确定终端设备的最优渲染参数组合。以渲染效果参考值为平均解码渲染延时为例,渲染参数组合Si对应的渲染效果参考值,可以是指渲染参数组合Si对应的平均解码渲染延时,而K个渲染效果参考值则是指K个平均解码渲染延时,此时,对于根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合的具体实现方式可为:可以在K个平均解码渲染延时中,获取最小平均解码渲染延时;随后,可以将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。In this application, once the rendering effect reference value corresponding to each rendering parameter combination is determined, K rendering effect reference values can be obtained. Based on the K rendering effect reference values, the optimal rendering parameter combination for the terminal device can be determined from the K rendering parameter combinations. Taking the average decoding rendering latency as an example, the rendering effect reference value corresponding to the rendering parameter combination Si can refer to the average decoding rendering latency corresponding to the rendering parameter combination Si , while the K rendering effect reference values refer to the K average decoding rendering latencies. In this case, the specific implementation method for determining the optimal rendering parameter combination for the terminal device from the K rendering parameter combinations based on the K rendering effect reference values can be as follows: the minimum average decoding rendering latency can be obtained from the K average decoding rendering latencies; subsequently, the rendering parameter combination corresponding to the minimum average decoding rendering latency from the K rendering parameter combinations can be determined as the optimal rendering parameter combination for the terminal device.

也就是说,对于K个渲染参数组合中,平均解码渲染延时越低,可以说明解码渲染效率更高,那么可以将平均解码渲染延时最低的那一个渲染参数组合,确定为最优渲染参数组合。In other words, among K combinations of rendering parameters, the lower the average decoding and rendering latency, the higher the decoding and rendering efficiency. Therefore, the combination of rendering parameters with the lowest average decoding and rendering latency can be determined as the optimal combination of rendering parameters.

在本申请实施例中,对于影响终端设备的渲染性能的不同影响渲染参数,可以进行组合,得到K个渲染参数组合,而每个渲染参数组合可以作为一个测试组,可以利用测试码流来测试每个测试组的渲染效果,由此可以确定出哪一个渲染参数组合是终端设备的最优渲染参数。例如,对于渲染参数组合Si而言,可以将设备渲染参数为该渲染参数组合Si的终端设备,确定为一个测试设备,随后可以将测试码流输入至该测试设备中,该测试设备即可对该测试码流进行渲染,而基于该测试设备对该测试码流的渲染数据,即可确定渲染参数组合Si对应的渲染效果参考值(用于表征渲染参数组合Si对应的渲染效果的值);那么当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可基于K个渲染效果参考值确定出一个最优渲染效果参考值,由此可以确定出一个最优渲染参数组合。应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。综上,本申请可以优化终端设备的渲染参数,提升终端设备的渲染性能。In this embodiment, different rendering parameters affecting the rendering performance of a terminal device can be combined to obtain K rendering parameter combinations. Each rendering parameter combination can serve as a test group, and the rendering effect of each test group can be tested using a test stream. This allows us to determine which rendering parameter combination is the optimal rendering parameter for the terminal device. For example, for the rendering parameter combination Si , a terminal device with rendering parameters Si can be designated as a test device. A test stream can then be input into the test device, which can then render the test stream. Based on the rendering data of the test stream, a rendering effect reference value ( a value representing the rendering effect corresponding to the rendering parameter combination Si ) can be determined. 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 identifying an optimal rendering parameter combination. It should be understood that the method of dynamically probing the rendering performance of different combinations of rendering parameters on a terminal device based on test bitstreams in this application can determine the optimal rendering parameters based on actual rendering effect reference data (rendering effect reference values). Compared with randomly configuring rendering parameters for a terminal device, probing different combinations of rendering parameters through test bitstreams and determining the optimal combination of rendering parameters based on actual rendering effect reference data can more accurately and specifically determine the optimal combination of rendering parameters suitable for the terminal device, thereby improving the rendering performance of the terminal device. In summary, this application can optimize the rendering parameters of a terminal device and improve its rendering performance.

进一步地,请参见图4,图4是本申请实施例提供的一种确定渲染参数组合的流程示意图。其中,该流程可以对应于上述图3所对应实施例中,对于获取针对终端设备的K个渲染参数组合的流程。如图4所示,该流程可以至少包括以下步骤S401-步骤S403:Further, please refer to Figure 4, which is a schematic flowchart of determining a combination of rendering parameters according to an embodiment of this application. This process can correspond to the process for obtaining K combinations of rendering parameters for a terminal device in the embodiment corresponding to Figure 3 above. As shown in Figure 4, this process can include at least the following steps S401-S403:

步骤S401,获取为终端设备所配置的R个设备渲染特征;R为正整数。Step S401: Obtain R device rendering features configured for the terminal device; R is a positive integer.

具体的,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。Specifically, for terminal devices, there are different features that affect their rendering performance (each of which can be called a rendering feature). For example, features such as rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate will all affect the rendering performance of the terminal device. Therefore, rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate can all be called device rendering features.

也就是说,设备渲染特征是指影响终端设备的渲染性能的特征,具体可以基于实际场景而配置,通常情况下,设备渲染特征可以包括但不限于是渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等等。In other words, device rendering features refer to the features that affect the rendering performance of a terminal device. These features can be configured based on the actual scenario. Typically, device rendering features may include, but are not limited to, rendering window type, rendering frame dropping mode, rendering timestamp type, rendering input frame rate, etc.

步骤S402,获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合。Step S402: Obtain the set of device rendering parameters corresponding to each of the R device rendering features to obtain the set of R device rendering parameters.

具体的,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。而本申请中的某个设备渲染特征所包含的可取值,可组成该设备渲染特征所对应的设备渲染参数集合。例如,对于渲染窗口类型这一设备渲染特征而言,其设备渲染参数集合可以为{SurfaceView,TextureView}。Specifically, a device rendering feature can contain different possible values, each of which can be understood as a rendering parameter (i.e., a parameter affecting 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. Each possible window type can then be used as a device rendering parameter under the device rendering feature of rendering window type (i.e., SurfaceView can be used as a device rendering parameter, and TextureView can be used as a device rendering parameter). Similarly, taking the rendering frame dropping mode as an example, it can take the values of frame dropping and no frame dropping. Each possible value can then be used as a rendering parameter under the device rendering feature of rendering frame dropping mode (i.e., frame dropping can be used as a device rendering parameter, and no frame dropping can be used as a device rendering parameter). The possible values contained in a certain device rendering feature in this application can form the set of device rendering parameters corresponding to that feature. For example, for the device rendering feature of rendering window type, its set of device rendering parameters can be {SurfaceView, TextureView}.

需要说明的是,对于终端设备而言,其硬件设备包含有芯片,而终端设备的芯片的解码速度也会对终端设备的渲染性能产生影响,所以在本申请中,可以预先预估终端设备的解码速度,再基于终端设备的解码速度来预估终端设备的渲染性能,从而来确定在测试过程中,终端设备所能够支持的最大输入帧率,基于该最大输入帧率,即可确定出终端设备所能够支持的设备输入帧率包含哪些。It should be noted that the hardware of a terminal device includes a chip, and the decoding speed of the chip will affect the rendering performance of the terminal device. Therefore, in this application, the decoding speed of the terminal device can be estimated in advance, and the rendering performance of the terminal device can be estimated based on the decoding speed, 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, the device input frame rates that the terminal device can support can be determined.

也就是说,基于上述可知,R个设备渲染特征中可以包含有渲染输入帧率(本申请可称之为设备输入帧率特征),而在本申请中,可以基于终端设备的部分硬件参数,来确定出终端设备所能够支持的最大输入帧率,从而可以基于最大输入帧率来确定出该设备输入帧率特征所对应的设备渲染参数集合。In other words, as can be seen from the above, the R device rendering features may include the rendering input frame rate (which may be referred to as the device input frame rate feature in this application). 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 set of device rendering parameters corresponding to the device input frame rate feature can be determined based on the maximum input frame rate.

具体的,基于上述可知,R个设备渲染特征中包括设备输入帧率特征,且每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合,此时,对于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合的具体实现方式可为:可以获取终端设备具备编码权限与解码权限的媒体编码类型;随后,可以获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率可以确定终端设备对应的最大解码帧率预测值;同时,可以获取终端设备对应的屏幕刷新率,可以将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;基于最大输入帧率,即可确定设备输入帧率特征对应的设备输入帧率集合。Specifically, based on the above, the R device rendering features include device input frame rate features, and the device rendering parameter set corresponding to each device rendering feature includes the device input frame rate set corresponding to the device input frame rate feature. Therefore, the specific implementation for obtaining the device rendering parameter set corresponding to each of the R device rendering features can be as follows: First, obtain the media encoding type for which the terminal device has encoding and decoding permissions. Then, obtain the maximum resolution corresponding to the terminal device. Based on the media encoding type and the maximum resolution, determine the predicted maximum decoding frame rate for the terminal device. Simultaneously, obtain the screen refresh rate corresponding to the terminal device. The minimum value between the predicted maximum decoding frame rate 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.

其中,对于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合的具体实现方式可为:可以获取初始配置帧率集合;其中,初始配置帧率集合包含一个或多个初始配置帧率;随后,可以在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;可以将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。Specifically, the implementation method for determining the set of device input frame rates corresponding to the device input frame rate feature based on the maximum input frame rate can be as follows: an initial configuration frame rate set can be obtained; wherein the initial configuration frame rate set contains one or more initial configuration frame rates; subsequently, an initial configuration frame rate less than or equal to the maximum input frame rate can be obtained from the one or more initial configuration frame rates; the set of initial configuration frame rates less than or equal to the maximum input frame rate can be determined as the set of device input frame rates corresponding to the device input frame rate feature.

应当理解的是,本申请可以通过终端设备的不同硬件参数,来对终端设备的渲染性能进行初步的判断,以确定在测试实验过程中,终端设备的设备输入帧率。例如,由于终端设备的芯片的解码速度会对终端设备产生一定影响,那么本申请可以通过读取终端设备芯片所支持的profile和level这两种参数,来确定出芯片所支持的编解码类型(如,H264类型/H265类型/VP9类型/AVS类型)。其中,芯片所支持的编解码类型即可确定为终端设备具备编码权限与解码权限的媒体编码类型,芯片所支持的最大分辨率也可以确定为终端设备对应的最大分辨率,基于终端设备具备编码权限与解码权限的媒体编码类型,与最大分辨率,可以初步预估出终端设备的解码能力,而基于终端设备的解码能力,即可初步将终端设备的渲染性能归类到某个范围,这里的范围可以是指某个帧率范围(如30fps以内、60fps以内、90fps以内、120fps以内等等),这个所预估的帧率范围也可以理解为终端设备的最大解码帧率预测值。例如,终端设备的预估帧率范围为60fps以内,那么可以确定该终端设备的最大解码帧率预测值即可为60fps。It should be understood that this application can make a preliminary judgment on the rendering performance of the terminal device through different hardware parameters of the terminal device, so as to determine the device input frame rate of the terminal device during the test experiment. For example, since the decoding speed of the terminal device chip will have a certain impact on the terminal device, this application can determine the codec type supported by the chip (such as H264 type/H265 type/VP9 type/AVS type) by reading the profile and level parameters supported by the terminal device chip. The codec types supported by the chip can be identified as the media encoding types for which the terminal device has the authority to encode and decode. The maximum resolution supported by the chip can also be identified as the maximum resolution corresponding to the terminal device. Based on the media encoding types and maximum resolution for which the terminal device has the authority to encode and decode, the decoding capability of the terminal device can be preliminarily estimated. Based on the decoding capability of the terminal device, its rendering performance can be preliminarily categorized into a certain range, which can refer to a frame rate range (e.g., below 30fps, 60fps, 90fps, 120fps, etc.). This estimated frame rate range can also be understood as the predicted maximum decoding frame rate of the terminal device. For example, if the estimated frame rate range of the terminal device is below 60fps, then the predicted maximum decoding frame rate of the terminal device can be determined to be 60fps.

进一步地,可以通过终端设备的屏幕刷新率来与最大解码帧率预测值,来共同对终端设备的输入帧率进行限制,例如,屏幕刷新率只支持60hz,那么就算最大解码帧率预测值为90fps,也无需探测60以上的输入帧率,只需探测60fps及以下的输入帧率即可。也就是说,对于终端设备的最大输入帧率,可以是指最大解码帧率预测值与屏幕刷新率之间的最小值,当确定出最大解码帧率预测值后,即可确定出该设备输入帧率特征所对应的设备输入帧率集合。Furthermore, the input frame rate of the terminal device can be limited by combining the screen refresh rate and the maximum predicted decoding frame rate. For example, if the screen refresh rate only supports 60Hz, then even if the maximum predicted decoding frame rate is 90fps, it is not necessary to detect input frame rates above 60fps; 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 predicted decoding frame rate and the screen refresh rate. Once the maximum predicted decoding frame rate is determined, the set of device input frame rates corresponding to the device's input frame rate characteristics can be determined.

例如,以初始配置帧率集合为{30fps,60fps,90fps,120fps,144fps}为例,假设终端设备的最大输入帧率为120fps,由于30fps、60fps、90fps均小于120fps,那么终端设备对于30fps、60fps、90fps、120fps这四个输入帧率均是能够支持的,基于此,对于设备输入帧率特征所对应的设备渲染参数集合可以为{30fps,60fps,90fps,120fps}。For example, taking an initial configuration frame rate set of {30fps, 60fps, 90fps, 120fps, 144fps} as an example, assuming 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 all four input frame rates of 30fps, 60fps, 90fps, and 120fps. Based on this, the set of device rendering parameters corresponding to the device input frame rate characteristics can be {30fps, 60fps, 90fps, 120fps}.

也就是说,对于终端设备的设备输入帧率这一设备渲染特征而言,其对应的设备渲染参数集合中所包含的设备渲染参数,可以为初始配置帧率集合中的部分初始配置帧率,并非所有的初始配置帧率。In other words, for the device input frame rate of a terminal device, the device rendering parameters included in its corresponding device rendering parameter set can be a portion of the initial configuration frame rates in the initial configuration frame rate set, not all of them.

步骤S403,基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。Step S403: Based on the parameter combination rules, combine the device rendering parameters contained in the R sets of device rendering parameters to obtain K rendering parameter combinations.

具体的,当确定出每个设备渲染参数集合后,即可基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,由此即可得到K个渲染参数组合。Specifically, once the set of rendering parameters for each device is determined, the device rendering parameters contained in the R sets of device rendering parameters can be combined based on the parameter combination rules, thereby obtaining K rendering parameter combinations.

其中,这里的参数组合规则,可以是指将每个设备渲染特征中的任一个设备渲染参数进行组合的规则。对于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合的具体实现方式可为:基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。Here, the parameter combination rule can refer to the rule for combining any one of the device rendering parameters in each device rendering feature. The specific implementation of combining device rendering parameters from R device rendering parameter sets to obtain K rendering parameter combinations based on parameter combination rules can be as follows: Based on parameter combination rules, the combination formed by the first target device rendering parameter in the target device rendering parameter set and the second target device rendering parameter in the remaining device rendering parameter sets is determined as rendering parameter combination S <sub>i </sub>; the target device rendering parameter set is any device rendering parameter set among the R device rendering parameter sets; the remaining device rendering parameter set is the set of device rendering parameters other than the target device rendering parameter set among 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 set; the combination formed by 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 other than the first target device rendering parameter in the target device rendering parameter set; K rendering parameter combinations are determined based on rendering parameter combination S <sub>i</sub> and the remaining rendering parameter combination.

具体的,这里的目标设备渲染参数集合可以是指R个设备渲染参数集合中的任意一个设备渲染参数集合,本申请可以将目标设备渲染参数集合中的任一个设备渲染参数,与其他每个设备渲染参数集合中的一个设备渲染参数,来进行组合,由此可以得到一个渲染参数组合。为便于理解,以设备渲染特征包含渲染窗口类型、渲染丢帧模式以及渲染输入帧率为例,假设渲染窗口类型对应的设备渲染参数集合为{SurfaceView,TextureView}、渲染丢帧模式对应的设备渲染参数集合为{丢帧,不丢帧}、渲染输入帧率对应的设备渲染参数集合为{90fps,60fps,30fps}(即最大输入帧率为90fps),那么将进行参数组合后,所得到的渲染参数组合可以包括渲染参数组合1-渲染参数组合12:Specifically, the target device rendering parameter set here can refer to any one of the R device rendering parameter sets. This application can combine any one device rendering parameter from the target device rendering parameter set with one device rendering parameter from each of the other device rendering parameter sets to obtain a rendering parameter combination. For ease of understanding, taking device rendering features including rendering window type, rendering frame dropping mode, and rendering input frame rate as an example, assuming the device rendering parameter set corresponding to the rendering window type is {SurfaceView, TextureView}, the device rendering parameter set corresponding to the rendering frame dropping mode is {frame dropping, no frame dropping}, 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 parameter combination, the resulting rendering parameter combinations can include rendering parameter combination 1 to rendering parameter combination 12:

渲染参数组合1:[90fps,SurfaceView,丢帧];Rendering parameter combination 1: [90fps, SurfaceView, frame drops];

渲染参数组合2:[60fps,SurfaceView,丢帧];Rendering parameter combination 2: [60fps, SurfaceView, frame drops];

渲染参数组合3:[30fps,SurfaceView,丢帧];Rendering parameter combination 3: [30fps, SurfaceView, frame drops];

渲染参数组合4:[90fps,SurfaceView,不丢帧];Rendering parameter combination 4: [90fps, SurfaceView, no frame drops];

渲染参数组合5:[60fps,SurfaceView,不丢帧];Rendering parameter combination 5: [60fps, SurfaceView, no frame drops];

渲染参数组合6:[30fps,SurfaceView,不丢帧];Rendering parameter combination 6: [30fps, SurfaceView, no frame drops];

渲染参数组合7:[90fps,TextureView,丢帧];Rendering parameter combination 7: [90fps, TextureView, frame dropping];

渲染参数组合8:[60fps,TextureView,丢帧];Rendering parameter combination 8: [60fps, TextureView, frame dropping];

渲染参数组合9:[30fps,TextureView,丢帧];Rendering parameter combination 9: [30fps, TextureView, frame dropping];

渲染参数组合10:[90fps,TextureView,不丢帧];Rendering parameter combination 10: [90fps, TextureView, no frame drops];

渲染参数组合11:[60fps,TextureView,不丢帧];Rendering parameter combination 11: [60fps, TextureView, no frame drops];

渲染参数组合12:[30fps,TextureView,不丢帧]。Rendering parameter combination 12: [30fps, TextureView, no frame dropping].

也就是说,通过上述的组合过程,可以得到K个渲染参数组合,而一个渲染参数组合,会包含有所有设备渲染特征下的一个设备渲染参数,每两个渲染参数组合之间,至少有一个设备渲染参数是不同的。In other words, through the above combination process, K rendering parameter combinations can be obtained. Each rendering parameter combination will contain one device rendering parameter under all device rendering features. Between any two rendering parameter combinations, at least one device rendering parameter is different.

可选的,可以理解的是,基于上述可知,一个渲染参数组合是由所有设备渲染特征下的一个设备渲染参数所组成的,那么若设备渲染特征数量较多、或一个设备渲染特征下的设备渲染参数的数量较多时,渲染参数组合的数量是较大的,在渲染参数组合的数量较大的情况下,无疑会花费较多的时间来进行测试以确定出最优渲染参数组合,而为了提升测试效率,本申请可以基于设备渲染特征中设备渲染参数之间的参数优先级,来对渲染参数组合进行剪枝处理。所谓剪枝处理,也就是删除掉渲染参数组合中的部分渲染参数组合,以减少渲染参数组合的总数量的过程,本申请可以将进行参数组合后得到的渲染参数组合,先确定为初始渲染参数组合,对初始渲染参数组合进行剪枝处理后所剩余的渲染参数组合,即可确定为K个渲染参数组合。Optionally, and understandably, based on the above, a rendering parameter combination is composed of a single device rendering parameter under all device rendering features. Therefore, if the number of device rendering features is large, or the number of device rendering parameters under a single device rendering feature is large, the number of rendering parameter combinations will be significant. With a large number of rendering parameter combinations, it will undoubtedly take a considerable amount of time to test and determine the optimal rendering parameter combination. To improve testing efficiency, this application can prune the rendering parameter combinations based on the parameter priority among the device rendering parameters in the device rendering features. Pruning, in this application, involves deleting some rendering parameter combinations to reduce the total number of rendering parameter combinations. This application can first determine the initial rendering parameter combinations obtained after parameter combining as the initial rendering parameter combinations. After pruning the initial rendering parameter combinations, the remaining rendering parameter combinations can be determined as K rendering parameter combinations.

具体的,以R个设备渲染特征包含设备渲染特征Hj(j为正整数)为例,其中,每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合Pj,此时,对于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合的具体实现方式可为:可以将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,随后可以将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;进一步地,可以获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,可以对设备渲染参数集合Pj中的设备渲染参数进行排序,由此可以得到参数序列;基于参数序列对初始渲染参数组合集合可进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合即可确定K个渲染参数组合。Specifically, taking R device rendering features including device rendering feature Hj (j is a positive integer) as an example, where each device rendering feature corresponds to a set of device rendering parameters, including the set of device rendering parameters Pj corresponding to device rendering feature Hj , the specific implementation for determining K rendering parameter combinations based on rendering parameter combination Si and the remaining rendering parameter combinations can be as follows: Both rendering parameter combination Si and the remaining rendering parameter combinations can be determined as initial rendering parameter combinations. Subsequently, the set of initial rendering parameter combinations can be determined as the initial rendering parameter combination set. Further, the parameter priority of each device rendering parameter in the set of device rendering parameters Pj corresponding to device rendering feature Hj can be obtained. According to the order of the parameter priorities of each device rendering parameter in the set of device rendering parameters Pj , the device rendering parameters in the set of device rendering parameters Pj can be sorted, thus obtaining 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. The K rendering parameter combinations can then be determined based on the pruned rendering parameter combination set.

其中,对于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合的具体实现方式可为:可以将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;随后,可以将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;可以将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,由此可以得到剪枝渲染参数组合集合。Specifically, the implementation of pruning the initial rendering parameter combination set based on the parameter sequence to obtain the pruned rendering parameter combination set can be as follows: the device rendering parameters located at the end of the sequence can be identified as the rendering parameters to be pruned; subsequently, the initial rendering parameter combination that contains the rendering parameters to be pruned can be identified 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.

为便于理解,以设备渲染特征为渲染窗口类型为例,渲染窗口类型对应的设备渲染参数集合为{SurfaceView,TextureView},由于在相同配置下,SurfaceView的性能会优于TextureView,那么SurfaceView的优先级可为1,而TextureView的优先级可为2(参数优先级的数值越小,证明参数优先级越高),那么按照参数优先级将渲染窗口类型对应的设备渲染参数进行排序后,可以得到的参数序列为{SurfaceView,TextureView}。进一步地,可以获取到位于序列结束位置的设备渲染参数为TextureView,那么该TextureView即可作为待剪枝渲染参数,可以将初始渲染参数组合集合中,包含有该TextureView的渲染参数组合进行删除。以上述12个渲染参数组合为例,可以看出,渲染参数组合7-渲染参数组合12均包含有TextureView,那么可以将这些渲染参数组合均进行删除,由此所得到的剪枝渲染参数组合集合即可包含有渲染参数组合1-渲染参数组合6。For ease of understanding, let's take the device rendering feature as the rendering window type as an example. The set of device rendering parameters corresponding to the rendering window type is {SurfaceView, TextureView}. Since SurfaceView performs better than TextureView under the same configuration, the priority of SurfaceView can be 1, while the priority of TextureView can be 2 (the smaller the parameter priority value, the higher the parameter priority). After sorting the device rendering parameters corresponding to the rendering window type according to parameter priority, the parameter sequence we get is {SurfaceView, TextureView}. Furthermore, we can find that the device rendering parameter at the end of the sequence is TextureView. This TextureView can then be used as the rendering parameter to be pruned. We can delete the rendering parameter combinations that contain TextureView from the initial set of rendering parameter combinations. Taking the above 12 rendering parameter combinations as an example, we can see that rendering parameter combinations 7 to 12 all contain TextureView. Therefore, we can delete these rendering parameter combinations, and the resulting set of pruned rendering parameter combinations will contain rendering parameter combinations 1 to 6.

应当理解,对于每个设备渲染特征,均可以进行剪枝处理,当将每个设备设备渲染特征均进行剪枝处理后,最终所剩余的渲染参数组合,即可确定为最终的K个渲染参数组合。也就是说,对于根据剪枝渲染参数组合集合确定K个渲染参数组合的具体实现方式可为:可以将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;随后,可以遍历R个设备渲染特征;若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则可以直接将剪枝渲染参数组合集合确定为K个渲染参数组合;而若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则可以将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,并根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行再一次的剪枝处理,最后即可根据剪枝处理得到的剪枝结果来确定K个渲染参数组合。It should be understood that pruning can be performed on each device rendering feature. After pruning each device rendering feature, the remaining rendering parameter combinations can be determined as the final K rendering parameter combinations. In other words, the specific implementation of determining the K rendering parameter combinations based on the pruned rendering parameter combination set can be as follows: the pruning attributes of the device rendering feature Hj can be updated from unpruned to pruned; then, R device rendering features can be traversed; if the pruning attributes of each of the R device rendering features are all pruned, the pruned rendering parameter combination set can be directly determined as the K rendering parameter combinations; if there are device rendering features among the R device rendering features whose pruning attributes are unpruned, these unpruned features can be determined as unpruned rendering features, and the pruned rendering parameter combination set can be pruned again based on the device rendering parameter set corresponding to the unpruned features. Finally, the K rendering parameter combinations can be determined based on the pruning result.

也就是说,每对一个设备渲染特征进行一次剪枝处理,即可将该设备渲染特征的剪枝属性从未剪枝属性变更为已剪枝属性,当所有的设备渲染特征均为已剪枝属性时,即可确定此时所有的设备渲染特征均进行了剪枝处理,那么可以将目前剩余的各个渲染参数组合确定为K个渲染参数组合,可以进行测试实验;而若存在某个设备渲染特征的剪枝属性为未剪枝属性,那么可以基于该设备渲染特征中,各个设备渲染参数的参数优先级,来对目前的渲染参数组合集合进行剪枝处理,由此基于设备渲染特征进行一次一次的剪枝处理,直至所有的设备渲染特征的剪枝属性均为已剪枝属性。In other words, each time a device rendering feature is pruned, its pruning attribute is changed from unpruned to pruned. When all device rendering features are pruned, it can be determined that all device rendering features have been pruned. Then, the remaining combinations of rendering parameters can be identified as K combinations for testing. If a device rendering feature has an unpruned attribute, then the current set of rendering parameter combinations can be pruned based on the parameter priority of each device rendering parameter in that feature. This process is repeated for each device rendering feature until all device rendering features have a pruned attribute.

需要说明的是,在实际应用中,在进行剪枝处理时,也不是需要对所有的设备渲染特征进行剪枝处理,也可以仅对一个或部分设备渲染特征进行剪枝处理,对于剪枝处理,可以基于实际的场景需求来定义,本申请对此不进行限定。It should be noted that in practical applications, pruning is not required for all device rendering features. Pruning can be performed on only one or a portion of the device rendering features. The pruning process can be defined based on the actual scenario requirements, and this application does not impose any restrictions on it.

通常情况下,对于终端设备的设备渲染特征可包括渲染窗口类型、渲染丢帧模式、渲染时间戳类型以及渲染输入帧率。而对于渲染窗口类型而言,其可取值可以包含SurfaceView与TextureView,而对于SurfaceView与TextureView这两种设备渲染参数而言,SurfaceView的优先级是高于TextureView的;对于渲染丢帧模式而言,其可取值可以包含丢帧与不丢帧,而对于丢帧与不丢帧这两种设备渲染参数而言,丢帧的优先级是高于不丢帧的;对于渲染时间戳类型而言,其可取值可以包含Monotonic timestamp、Realtimestamp以及Artificial timestamp,对于Monotonic timestamp、Real timestamp以及Artificial timestamp这三种设备渲染参数而言,Monotonic timestamp的优先级是高于Real timestamp的,且Real timestamp的优先级是高于Artificial timestamp的;对于渲染输入帧率而言,可优先选取较大的帧率。Typically, device rendering characteristics for a terminal device include rendering window type, rendering frame dropping mode, rendering timestamp type, and rendering input frame rate. For the rendering window type, possible values include SurfaceView and TextureView, with SurfaceView having higher priority than TextureView. For the rendering frame dropping mode, possible values include dropping frames and not dropping frames, with dropping frames having higher priority than not dropping frames. For the rendering timestamp type, possible values include Monotonic timestamp, Real timestamp, and Artificial timestamp, with Monotonic timestamp having higher priority than Real timestamp, and Real timestamp having higher priority than Artificial timestamp. For the rendering input frame rate, a higher frame rate is preferred.

通过不同设备渲染特征的优先级,可以对渲染参数组合进行剪枝处理,由此可以减少最后进行测试实验的渲染参数组合的数量(即减小K值),由此可以花费更少的时间,便可确定出终端设备的最优渲染参数组合。By prioritizing the rendering features of different devices, the combination of rendering parameters can be pruned, thereby reducing the number of rendering parameter combinations used in the final test experiment (i.e., reducing the K value). This allows the optimal combination of rendering parameters for the terminal device to be determined in less time.

在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。其中,在测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。In this application embodiment, a method is provided to dynamically probe the rendering performance of different rendering parameter combinations on a terminal device based on a test bitstream. This method determines the optimal rendering parameters based on actual rendering effect reference data (rendering effect reference values). Compared to randomly configuring rendering parameters for the terminal device, probing different rendering parameter combinations through a test bitstream and determining the optimal combination based on actual rendering effect reference data can more accurately and specifically identify the optimal rendering parameter combination suitable for the terminal device, thereby improving its rendering performance. Furthermore, during the testing process, this application provides a probe pruning method that allows for a limited number of tests based on the default configuration combination, determining the optimal rendering parameter combination in less time and significantly improving testing efficiency.

进一步地,请参见图5,图5是本申请实施例提供的一种系统流程图。如图5所示,该流程可以至少包括以下步骤S51-步骤S53:Further, please refer to Figure 5, which is a system flowchart provided in an embodiment of this application. As shown in Figure 5, the process may include at least the following steps S51-S53:

步骤S51,读取终端设备的芯片的参数信息,确定终端设备的渲染参数组合。Step S51: Read the parameter information of the terminal device's chip and determine the rendering parameter combination of the terminal device.

具体的,对于终端设备而言,其硬件设备包含有芯片,而终端设备的芯片的解码速度也会对终端设备的渲染性能产生影响,所以在本申请中,可以预先预估终端设备的解码速度,再基于终端设备的解码速度来预估终端设备的渲染性能,从而来确定在测试过程中,终端设备所能够支持的最大输入帧率,基于该最大输入帧率,即可确定出终端设备所能够支持的设备输入帧率包含哪些。Specifically, for terminal devices, their hardware includes chips, and the decoding speed of the terminal device's chips will also affect the rendering performance of the terminal device. Therefore, in this 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, thereby determining 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.

通过读取终端设备芯片所支持的profile和level这两种参数,可以确定出芯片所支持的编解码类型(如,H264类型/H265类型/VP9类型/AVS类型)。其中,芯片所支持的编解码类型即可确定为终端设备具备编码权限与解码权限的媒体编码类型,芯片所支持的最大分辨率也可以确定为终端设备对应的最大分辨率,基于终端设备具备编码权限与解码权限的媒体编码类型,与最大分辨率,可以初步预估出终端设备的解码能力,而基于终端设备的解码能力,即可初步将终端设备的渲染性能归类到某个范围,进一步地,可以通过终端设备的屏幕刷新率来与最大解码帧率预测值,来共同对终端设备的输入帧率进行限制,得到终端设备的最大输入帧率。随后,可以基于当前终端设备支持的渲染窗口类型、渲染丢帧策略、渲染时间戳类型等等设备渲染特征,与最大输入帧率一起组合得到设备的渲染配置,即组合得到终端设备的各个渲染参数组合。By reading the profile and level parameters supported by the terminal device chip, the supported codec types (e.g., H.264/H.265/VP9/AVS) can be determined. The supported codec types identify the media encoding types that the terminal device has the authority to encode and decode. The maximum resolution supported by the chip also determines the maximum resolution of the terminal device. Based on the media encoding types and maximum resolution that the terminal device has the authority to encode and decode, a preliminary estimate of the terminal device's decoding capability can be made. Based on this decoding capability, the terminal device's rendering performance can be preliminarily categorized into a certain range. Furthermore, the terminal device's screen refresh rate and the predicted maximum decoding frame rate can be used to limit the input frame rate, thus obtaining the terminal device's maximum input frame rate. Subsequently, based on the current terminal device's supported rendering window types, rendering frame dropping strategies, rendering timestamp types, and other device rendering characteristics, combined with the maximum input frame rate, the device's rendering configuration can be obtained—that is, the combination of various rendering parameters for the terminal device.

步骤S52,通过动态传入测试码流,对渲染参数组合进行测试,确定终端设备的解码渲染延时。Step S52: By dynamically inputting the test bitstream, the combination of rendering parameters is tested to determine the decoding and rendering latency of the terminal device.

具体的,本申请实施例可以通过实时测试码流对上述步骤S51所获取到的渲染参数组合进行探测,具体需要实时传入测试码流(如视频码流)对相应渲染参数组合的终端设备进行测试,以测试哪一组的渲染参数组合的渲染性能最优。其中,判断渲染性能可以通过解码渲染延时来进行判断,可以将每一数据帧(如视频帧)从输入到终端设备,至渲染到终端设备的屏幕上的时间作为该帧的解码渲染延时,通过统计所有帧的平均解码渲染延时,即可从上述渲染参数组合中得到平均解码渲染延时最低的一个渲染参数组合,该平均解码渲染延时最低的一个渲染参数组合接口作为最优渲染参数组合。Specifically, in this embodiment, the rendering parameter combinations obtained in step S51 can be probed using a real-time test stream. Specifically, a test stream (such as a video stream) needs to be input in real-time to test the terminal device with the corresponding rendering parameter combinations, in order to determine which set of rendering parameter combinations has the best rendering performance. Rendering performance can be determined by decoding rendering latency. The time from input to rendering of each data frame (such as a video frame) to rendering on the terminal device's screen can be used as the decoding rendering latency of that frame. By calculating the average decoding rendering latency of all frames, the rendering parameter combination with the lowest average decoding rendering latency can be obtained from the above rendering parameter combinations. This rendering parameter combination with the lowest average decoding rendering latency is considered the optimal rendering parameter combination.

步骤S53,渲染解码渲染延时最低的组合作为最优渲染参数组合。Step S53: The combination with the lowest rendering/decoding latency is selected as the optimal rendering parameter combination.

具体的,通过统计所有帧的平均解码渲染延时,即可从上述渲染参数组合中得到平均解码渲染延时最低的一个渲染参数组合,该平均解码渲染延时最低的一个渲染参数组合接口作为最优渲染参数组合。Specifically, by statistically analyzing the average decoding and rendering latency of all frames, the rendering parameter combination with the lowest average decoding and rendering latency can be obtained from the above rendering parameter combinations. This rendering parameter combination with the lowest average decoding and rendering latency is used as the optimal rendering parameter combination.

在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。In this embodiment of the application, a method is provided to dynamically detect the rendering performance of different combinations of rendering parameters on a terminal device based on a test bitstream. 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 the terminal device, the method of detecting different combinations of rendering parameters through a test bitstream and determining the optimal combination of rendering parameters based on actual rendering effect reference data can more accurately and specifically determine the optimal combination of rendering parameters suitable for the terminal device, thereby improving the rendering performance of the terminal device.

进一步地,请参见图6,图6是本申请实施例提供的一种对渲染参数组合进行剪枝处理的流程示意图。如图6所示,该流程可以至少包括以下步骤S61-步骤S63:Further, please refer to Figure 6, which is a schematic flowchart of a rendering parameter combination pruning process provided by an embodiment of this application. As shown in Figure 6, the process may include at least the following steps S61-S63:

步骤S61,获取渲染参数组合集合。Step S61: Obtain the set of rendering parameter combinations.

具体的,本申请可以将每个设备渲染特征下的一个设备渲染参数,来进行组合,由此可以得到一个渲染参数组合。不同的设备渲染参数可以组合得到不同的渲染参数组合。对于确定将设备渲染参数进行组合的方式,可以参见上述图3-图4所对应实施例中的相关描述,这里将不再进行赘述。Specifically, this application can combine a device rendering parameter under each device rendering feature to obtain a rendering parameter combination. Different device rendering parameters can be combined to obtain different rendering parameter combinations. For the method of determining how to combine device rendering parameters, please refer to the relevant description in the embodiments corresponding to Figures 3-4 above, which will not be repeated here.

步骤S62,根据参数优先级依次修改渲染参数组合。Step S62: Modify the rendering parameter combinations in sequence according to parameter priority.

具体的,对于一个设备渲染特征下的不同设备渲染参数,可以具备有参数优先级,而本申请可以基于一个设备渲染特征下的不同设备渲染参数的参数优先级,来对所组合得到的渲染参数组合进行剪枝处理,由此可以减小渲染参数组合的总数量,减小测试的花费时长。Specifically, different device rendering parameters under a device rendering feature can have parameter priorities. This application can prune the combined rendering parameters 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.

其中,应当理解的是,对于某个设备渲染特征下的不同设备渲染参数的参数优先级,可以根据预先进行探测来确定。例如,对于渲染窗口类型这一设备渲染特征而言,可以将终端设备的除渲染窗口类型的其余所有硬件参数设置为同样的参数,再探测不同渲染窗口的渲染性能,取解码渲染延时最小的渲染窗口为参数优先级更高的渲染窗口。通常情况下,SurfaceView的参数优先级高于TextureView。It should be understood that the parameter priority of different device rendering parameters under a certain device rendering characteristic can be determined through prior detection. For example, for the device rendering characteristic of rendering window type, all hardware parameters of the terminal device except for the rendering window type can be set to the same parameters, and then the rendering performance of different rendering windows can be detected. The rendering window with the smallest decoding and rendering latency is selected as the rendering window with higher parameter priority. Generally, the parameter priority of SurfaceView is higher than that of TextureView.

又如,对于渲染丢帧模式这一设备渲染特征而言,可以将终端设备的除渲染丢帧模式的其余所有硬件参数设置为同样的参数,再探测不同渲染丢帧模式的渲染性能,可以取解码渲染延时最小的渲染丢帧模式为参数优先级更高的渲染丢帧模式。通常情况下,丢帧的参数优先级高于不丢帧。For example, regarding the device rendering feature of frame dropping mode, all hardware parameters of the terminal device except for the frame dropping mode can be set to the same value. Then, the rendering performance of different frame dropping modes can be tested. The frame dropping mode with the lowest decoding and rendering latency can be selected as the frame dropping mode with higher parameter priority. Generally, the parameter priority of frame dropping is higher than that of no frame dropping.

又如,对于渲染时间戳类型这一设备渲染特征而言,可以将终端设备的除渲染时间戳类型的其余所有硬件参数设置为同样的参数,再探测不同渲染时间戳类型的渲染性能,可以取解码渲染延时最小的渲染时间戳类型为参数优先级更高的渲染时间戳类型。通常情况下,Monotonic timestamp的参数优先级高于Real timestamp,Real timestamp的参数优先级高于Artificial timestamp。For example, regarding the device rendering feature of rendering timestamp type, all hardware parameters of the terminal device except for the rendering timestamp type can be set to the same value. Then, the rendering performance of different rendering timestamp types can be tested. The rendering timestamp type with the lowest decoding and rendering latency can be selected as the rendering timestamp type with 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.

又如,对于渲染输入帧率这一设备渲染特征而言,可以将终端设备的除渲染输入帧率的其余所有硬件参数设置为同样的参数,再探测不同渲染输入帧率的渲染性能,可以取解码渲染延时最小的渲染输入帧率为参数优先级更高的渲染输入帧率。通常情况下,数值更高的输入帧率的优先级会更高。For example, regarding the rendering input frame rate, a device rendering characteristic, all hardware parameters of the terminal device except for the rendering input frame rate can be set to the same value. Then, the rendering performance of different rendering input frame rates can be tested. The rendering input frame rate with the lowest decoding and rendering latency can be selected as the rendering input frame rate with higher parameter priority. Generally, input frame rates with higher values have higher priority.

具体的,基于不同设备渲染特征下不同设备渲染参数的参数优先级,来对渲染参数组合进行剪枝处理的过程,可以参见上述图4所对应实施例中的相关描述,这里将不再进行赘述。Specifically, the process of pruning the combination of rendering parameters based on the parameter priority of different device rendering parameters under different device rendering characteristics can be referred to the relevant description in the embodiment corresponding to Figure 4 above, and will not be repeated here.

步骤S63,探测不同渲染参数的渲染性能,得到最优参数配置。Step S63: Detect the rendering performance of different rendering parameters and obtain the optimal parameter configuration.

具体的,在进行剪枝处理后,即可通过实时的动态测试码流,对不同渲染参数组合进行渲染性能的测试,最终可以得到终端设备的最优参数配置。Specifically, after pruning, the rendering performance of different combinations of rendering parameters can be tested through real-time dynamic test streams, ultimately yielding the optimal parameter configuration for the terminal device.

在本申请实施例中,在渲染参数组合的渲染性能的测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。In the embodiments of this application, during the testing of rendering performance of rendering parameter combinations, this application provides a probe 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 testing efficiency.

进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行图3所示的方法。如图7所示,该数据处理装置1可以包括:组合获取模块11、码流输入模块12、参考值确定模块13以及最优组合确定模块14。Further, please refer to Figure 7, which is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. The data processing device can be a computer program (including program code) running on a computer device, for example, the data processing device is an application software; the data processing device can be used to execute the method shown in Figure 3. As shown in Figure 7, 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.

组合获取模块11,用于获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;The combination acquisition module 11 is used to acquire K combinations of rendering parameters for the terminal device; K is a positive integer; each of the K combinations of rendering parameters contains 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 contains a combination of rendering parameters Si , where i is a positive integer.

码流输入模块12,用于将测试码流输入至测试设备中;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;The bitstream input module 12 is used to input the test bitstream into the test device; the test device refers to the terminal device that switches the device rendering parameters of the terminal device to the rendering parameter combination Si .

参考值确定模块13,用于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;The reference value determination module 13 is used to determine the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test bitstream by the test equipment; the rendering effect reference value corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si .

最优组合确定模块14,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。The optimal combination determination module 14 is used to determine the optimal rendering parameter combination for the terminal device from the K rendering parameter combinations based on the K rendering effect reference values when the rendering effect reference values corresponding to each rendering parameter combination are determined.

其中,组合获取模块11、码流输入模块12、参考值确定模块13以及最优组合确定模块14的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S103的描述,这里将不再进行赘述。The specific implementation methods 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 found in the description of steps S101-S103 in the embodiment corresponding to Figure 3 above, and will not be repeated here.

在一个实施例中,组合获取模块11可以包括:特征获取单元111、参数集合获取单元112以及参数组合单元113。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.

特征获取单元111,用于获取为终端设备所配置的R个设备渲染特征;R为正整数;The feature acquisition unit 111 is used to acquire R device rendering features configured for the terminal device; R is a positive integer;

参数集合获取单元112,用于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合;The parameter set acquisition unit 112 is used to acquire the set of device rendering parameters corresponding to each of the R device rendering features, and thus obtain the R device rendering parameter sets.

参数组合单元113,用于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。The parameter combination unit 113 is used to combine the device rendering parameters contained in the R sets of device rendering parameters based on the parameter combination rules to obtain K rendering parameter combinations.

其中,特征获取单元111、参数集合获取单元112以及参数组合单元113的具体实现方式,可以参见上述图4所对应实施例中步骤S401-步骤S403的描述,这里将不再进行赘述。The specific implementation methods of the feature acquisition unit 111, the parameter set acquisition unit 112, and the parameter combination unit 113 can be found in the description of steps S401-S403 in the embodiment corresponding to Figure 4 above, and will not be repeated here.

在一个实施例中,参数组合单元113可以包括:第一组合确定子单元1131、第二组合确定子单元1132以及参数组合确定子单元1133。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.

第一组合确定子单元1131,用于基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;The first combination determination subunit 1131 is used to determine, based on parameter combination rules, the combination formed by the first target device rendering parameter in the target device rendering parameter set and the second target device rendering parameter in the remaining device rendering parameter set as the rendering parameter combination Si ; the target device rendering parameter set is any one of the R device rendering parameter sets; the remaining device rendering parameter set is the set of device rendering parameters other than the target device rendering parameter set among the R device rendering parameter sets; the first target device rendering parameter refers to any one of the device rendering parameters in the target device rendering parameter set; the second target device rendering parameter refers to any one of the device rendering parameters in the remaining device rendering parameter set;

第二组合确定子单元1132,用于将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;The second combination determining subunit 1132 is used to determine the combination of the remaining device rendering parameters in the target device rendering parameter set and the second target device rendering parameters as 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 parameters.

参数组合确定子单元1133,用于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。The parameter combination determination subunit 1133 is used to determine K rendering parameter combinations based on the rendering parameter combination Si and the remaining rendering parameter combinations.

其中,第一组合确定子单元1131、第二组合确定子单元1132以及参数组合确定子单元1133的具体实现方式,可以参见上述图4所对应实施例中S403中的描述,这里将不再进行赘述。The specific implementation of the first combination determining subunit 1131, the second combination determining subunit 1132, and the parameter combination determining subunit 1133 can be found in the description in S403 of the embodiment corresponding to Figure 4 above, and will not be repeated here.

在一个实施例中,R个设备渲染特征包含设备渲染特征Hj;j为正整数;每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合PjIn one embodiment, the R device rendering features include device rendering feature Hj ; j is a positive integer; the device rendering parameter set corresponding to each device rendering feature includes the device rendering parameter set Pj corresponding to device rendering feature Hj ;

参数组合确定子单元1133,还具体用于将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;The parameter combination determination subunit 1133 is also specifically used to determine the rendering parameter combination Si and the remaining rendering parameter combinations as the initial rendering parameter combination, and to determine the set of the initial rendering parameter combinations as the initial rendering parameter combination set.

参数组合确定子单元1133,还具体用于获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;The parameter combination determination subunit 1133 is also specifically used to obtain the parameter priority of each device rendering parameter in the device rendering parameter set Pj corresponding to the device rendering feature Hj ;

参数组合确定子单元1133,还具体用于按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;The parameter combination determination subunit 1133 is also specifically used to sort the device rendering parameters in the device rendering parameter set Pj according to the order of priority of each device rendering parameter in the device rendering parameter set Pj , so as to obtain the parameter sequence;

参数组合确定子单元1133,还具体用于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合确定K个渲染参数组合。The parameter combination determination subunit 1133 is also specifically used to perform pruning processing on the initial rendering parameter combination set based on the parameter sequence to obtain the pruned rendering parameter combination set, and to determine K rendering parameter combinations based on the pruned rendering parameter combination set.

在一个实施例中,参数组合确定子单元1133,还具体用于将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;In one embodiment, the parameter combination determining subunit 1133 is also specifically used to determine the device rendering parameter located at the end of the sequence as the rendering parameter to be pruned.

参数组合确定子单元1133,还具体用于将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;The parameter combination determination subunit 1133 is also specifically used to determine the initial rendering parameter combination that contains the rendering parameters to be pruned in the initial rendering parameter combination set as the rendering parameter combination to be pruned.

参数组合确定子单元1133,还具体用于将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到剪枝渲染参数组合集合。The parameter combination determination subunit 1133 is also specifically used to delete the rendering parameter combinations to be pruned in the initial rendering parameter combination set to obtain the pruned rendering parameter combination set.

在一个实施例中,参数组合确定子单元1133,还具体用于将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;In one embodiment, the parameter combination determining subunit 1133 is also specifically used to update the pruning attribute of the device rendering feature Hj from an unpruned attribute to a pruned attribute.

参数组合确定子单元1133,还具体用于遍历R个设备渲染特征;The parameter combination determines subunit 1133, which is also specifically used to traverse R device rendering features;

参数组合确定子单元1133,还具体用于若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将剪枝渲染参数组合集合确定为K个渲染参数组合;The parameter combination determination subunit 1133 is also specifically used to determine the set of pruned rendering parameter combinations as K rendering parameter combinations if, among R device rendering features, the pruning attribute of each device rendering feature is a pruned attribute.

参数组合确定子单元1133,还具体用于若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定K个渲染参数组合。The parameter combination determination subunit 1133 is also specifically used to determine the unpruned rendering feature as an unpruned rendering feature if there is a device rendering feature with an unpruned attribute among the R device rendering features. Based on the device rendering parameter set corresponding to the unpruned rendering feature, the set of pruned rendering parameter combinations is pruned, and K rendering parameter combinations are determined based on the pruning result obtained from the pruning process.

在一个实施例中,R个设备渲染特征中包括设备输入帧率特征;每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合;In one embodiment, the R device rendering features include device input frame rate features; the device rendering parameter set corresponding to each device rendering feature includes the device input frame rate set corresponding to the device input frame rate feature.

参数集合获取单元112可以包括:类型获取子单元1121、预测值确定子单元1122、最大帧率确定子单元1123以及帧率集合确定子单元1124。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.

类型获取子单元1121,用于获取终端设备具备编码权限与解码权限的媒体编码类型;The type acquisition subunit 1121 is used to acquire the media encoding types for which the terminal device has encoding and decoding permissions;

预测值确定子单元1122,用于获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率确定终端设备对应的最大解码帧率预测值;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 based on the media encoding type and the maximum resolution.

最大帧率确定子单元1123,用于获取终端设备对应的屏幕刷新率,将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;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 decoded frame rate prediction value and the screen refresh rate as the maximum input frame rate of the terminal device.

帧率集合确定子单元1124,用于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合。The frame rate set determination subunit 1124 is used to determine the device input frame rate set corresponding to the device input frame rate feature based on the maximum input frame rate.

其中,类型获取子单元1121、预测值确定子单元1122、最大帧率确定子单元1123以及帧率集合确定子单元1124的具体实现方式,可以参见上述图4所对应实施例中步骤S402中的描述,这里将不再进行赘述。The specific implementation methods 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 description of step S402 in the embodiment corresponding to Figure 4 above, and will not be repeated here.

在一个实施例中,帧率集合确定子单元1124,还具体用于获取初始配置帧率集合;初始配置帧率集合包含一个或多个初始配置帧率;In one embodiment, the frame rate set determining subunit 1124 is further configured to obtain an initial configuration frame rate set; the initial configuration frame rate set contains one or more initial configuration frame rates.

帧率集合确定子单元1124,还具体用于在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;The frame rate set determination subunit 1124 is also specifically used 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;

帧率集合确定子单元1124,还具体用于将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。The frame rate set determination subunit 1124 is also specifically used to determine the set of initial configuration frame rates that are less than or equal to the maximum input frame rate as the device input frame rate set corresponding to the device input frame rate feature.

在一个实施例中,测试码流由M个媒体数据帧所组成;M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时;In one embodiment, the test stream consists of M media data frames; the M media data frames include media data frame Qj ; M and j are both positive integers; the rendering effect reference value corresponding to the rendering parameter combination Si includes the average decoding rendering latency corresponding to the rendering parameter combination Si .

参考值确定模块13可以包括:输入时刻获取单元131、渲染帧获取单元132、输出时刻获取单元133、渲染延时确定单元134以及平均延时确定单元135。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.

输入时刻获取单元131,用于获取媒体数据帧Qj输入至测试设备的帧输入时刻;The input timing acquisition unit 131 is used to acquire the frame input timing of media data frame Qj input to the test device.

渲染帧获取单元132,用于在测试设备对测试码流的渲染数据中,获取媒体数据帧Qj对应的渲染帧;The rendering frame acquisition unit 132 is used to acquire the rendering frame corresponding to the media data frame Qj from the rendering data of the test bitstream by the test device;

输出时刻获取单元133,用于获取媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;设备显示界面是指测试设备的显示界面;The output timing acquisition unit 133 is used to acquire the rendering frame corresponding to media data frame Qj and output the frame output timing to the device display interface; the device display interface refers to the display interface of the test device.

渲染延时确定单元134,用于将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;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 decoding rendering delay corresponding to the media data frame Qj .

平均延时确定单元135,用于当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。The average delay determination unit 135 is used to determine the average decoding and rendering delay corresponding to the rendering parameter combination Si based on the decoding and rendering delay corresponding to each of the M media data frames.

其中,输入时刻获取单元131、渲染帧获取单元132、输出时刻获取单元133、渲染延时确定单元134以及平均延时确定单元135的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。The specific implementation methods 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 found in the description of step S102 in the embodiment corresponding to Figure 3 above, and will not be repeated here.

在一个实施例中,平均延时确定单元135可以包括:求和处理子单元1351、数量统计子单元1352以及均值确定子单元1353。In one embodiment, the average delay determination unit 135 may include: a summation processing subunit 1351, a quantity statistics subunit 1352, and a mean determination subunit 1353.

求和处理子单元1351,用于将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;The summation processing subunit 1351 is used to perform summation operations on M decoding and rendering delays to obtain the total value of the decoding and rendering delays.

数量统计子单元1352,用于统计M个媒体数据帧所包含的媒体数据帧的总数量;The quantity statistics subunit 1352 is used to count the total number of media data frames contained in M media data frames;

均值确定子单元1353,用于确定解码渲染延时总值与总数量之间的均值,得到渲染参数组合Si对应的平均解码渲染延时。The mean determination subunit 1353 is used to determine the mean between the total value of decoding and rendering latency and the total number, so as to obtain the average decoding and rendering latency corresponding to the rendering parameter combination Si .

其中,求和处理子单元1351、数量统计子单元1352以及均值确定子单元1353的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。The specific implementation methods of the summation processing subunit 1351, the quantity statistics subunit 1352, and the mean determination subunit 1353 can be found in the description of step S102 in the embodiment corresponding to Figure 3 above, and will not be repeated here.

在一个实施例中,渲染参数组合Si对应的渲染效果参考值,是指渲染参数组合Si对应的平均解码渲染延时;K个渲染效果参考值是指K个平均解码渲染延时;In one embodiment, the rendering effect reference value corresponding to the rendering parameter combination Si refers to the average decoding rendering latency corresponding to the rendering parameter combination Si ; the K rendering effect reference values refer to the K average decoding rendering latencies.

最优组合确定模块14可以包括:最小延时确定单元141以及最优组合确定单元142。The optimal combination determination module 14 may include: minimum delay determination unit 141 and optimal combination determination unit 142.

最小延时确定单元141,用于在K个平均解码渲染延时中,获取最小平均解码渲染延时;The minimum delay determination unit 141 is used to obtain the minimum average decoding and rendering delay among K average decoding and rendering delays;

最优组合确定单元142,用于将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。The optimal combination determination unit 142 is used to determine the rendering parameter combination with the minimum average decoding and rendering latency among the K rendering parameter combinations as the optimal rendering parameter combination for the terminal device.

其中,最小延时确定单元141以及最优组合确定单元142的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的描述,这里将不再进行赘述。The specific implementation of the minimum delay determination unit 141 and the optimal combination determination unit 142 can be found in the description of step S103 in the embodiment corresponding to Figure 3 above, and will not be repeated here.

在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。其中,在测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。In this application embodiment, a method is provided to dynamically probe the rendering performance of different rendering parameter combinations on a terminal device based on a test bitstream. This method determines the optimal rendering parameters based on actual rendering effect reference data (rendering effect reference values). Compared to randomly configuring rendering parameters for the terminal device, probing different rendering parameter combinations through a test bitstream and determining the optimal combination based on actual rendering effect reference data can more accurately and specifically identify the optimal rendering parameter combination suitable for the terminal device, thereby improving its rendering performance. Furthermore, during the testing process, this application provides a probe pruning method that allows for a limited number of tests based on the default configuration combination, determining the optimal rendering parameter combination in less time and significantly improving testing efficiency.

进一步地,请参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图。如图8所示,上述图7所对应实施例中的数据处理装置1可以应用于上述计算机设备8000,上述计算机设备8000可以包括:处理器8001,网络接口8004和存储器8005,此外,上述计算机设备8000还包括:用户接口8003,和至少一个通信总线8002。其中,通信总线8002用于实现这些组件之间的连接通信。其中,用户接口8003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口8003还可以包括标准的有线接口、无线接口。网络接口8004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器8005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器8005可选的还可以是至少一个位于远离前述处理器8001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器8005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。Further, please refer to Figure 8, which is a schematic diagram of the structure of a computer device provided in an embodiment of this application. As shown in Figure 8, the data processing device 1 in the embodiment corresponding to Figure 7 can be applied to the computer device 8000. The computer device 8000 may include: a processor 8001, a network interface 8004, and a memory 8005. In addition, the computer device 8000 also includes: a user interface 8003, and at least one communication bus 8002. The communication bus 8002 is used to realize the connection and communication between these components. The user interface 8003 may include a display screen and a keyboard. Optionally, the user interface 8003 may also 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 a non-volatile memory, such as at least one disk storage device. Optionally, the memory 8005 may also be at least one storage device located away from the aforementioned processor 8001. As shown in Figure 8, the memory 8005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

在图8所示的计算机设备8000中,网络接口8004可提供网络通讯功能;而用户接口8003主要用于为用户提供输入的接口;而处理器8001可以用于调用存储器8005中存储的设备控制应用程序,以实现:In the computer device 8000 shown in Figure 8, the network interface 8004 provides network communication functions; 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:

获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;Obtain K combinations of rendering parameters for the terminal device; K is a positive integer; each of the K combinations of rendering parameters contains 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 contains a combination of rendering parameters Si , where i is a positive integer;

将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si后所得到的设备;终端设备;测试设备与终端设备的设备硬件参数相同;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;The test stream is input into the test device. Based on the rendering data of the test stream by the test device, the reference value of the rendering effect corresponding to the rendering parameter combination Si is determined. The test device refers to the device obtained by switching the device rendering parameters of the terminal device to the rendering parameter combination Si . The terminal device has the same device hardware parameters as the test device. The reference value of the rendering effect corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si .

当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。Once the reference values for the rendering effects corresponding to each combination of rendering parameters are determined, the optimal combination of rendering parameters for the terminal device is determined from among the K combinations of rendering parameters based on the K reference values for rendering effects.

应当理解,本申请实施例中所描述的计算机设备8000可执行前文图3到图4所对应实施例中对该数据处理方法的描述,也可执行前文图7所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。It should be understood that the computer device 8000 described in the embodiments of this application can execute the data processing method described in the embodiments corresponding to Figures 3 and 4 above, and can also execute the data processing device 1 described in the embodiment corresponding to Figure 7 above, which will not be repeated here. In addition, the beneficial effects of using the same method will not be repeated here either.

此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备8000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图4所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。Furthermore, it should be noted that this application also provides a computer-readable storage medium storing a computer program executed by the aforementioned data processing computer device 8000. This computer program includes program instructions, which, when executed by the processor, enable the execution of the data processing method described in the embodiments corresponding to Figures 3 and 4. Therefore, these descriptions will not be repeated here. Additionally, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the description of the method embodiments of this application.

上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。The aforementioned computer-readable storage medium can be an internal storage unit of the data processing apparatus or computer device provided in any of the foregoing embodiments, such as a hard disk or memory of the computer device. The computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Furthermore, the computer-readable storage medium can include both internal and external storage units of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.

本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。One aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method provided in one aspect of the embodiments of this application.

本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。The terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the term "comprising," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.

本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。The methods and related apparatus provided in this application are described with reference to the method flowcharts and/or structural diagrams provided in this application. Specifically, each block of the method flowcharts and/or structural diagrams, as well as combinations of blocks in the flowcharts and/or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, create means for implementing the functions specified in one or more blocks of the flowcharts and/or one or more blocks of the structural diagrams. These computer program instructions can also be stored in a computer-readable storage medium capable of directing a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more blocks of the flowcharts and/or one or more blocks of the structural diagrams. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and/or one or more blocks in the structural diagram.

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.

Claims (13)

1.一种数据处理方法,其特征在于,包括:1. A data processing method, characterized in that it includes: 获取为终端设备所配置的R个设备渲染特征;R为正整数;获取所述R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合,基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;i为正整数;所述目标设备渲染参数集合,为所述R个设备渲染参数集合中的任一设备渲染参数集合;所述剩余设备渲染参数集合为所述R个设备渲染参数集合中,除所述目标设备渲染参数集合以外的设备渲染参数集合;所述第一目标设备渲染参数是指所述目标设备渲染参数集合中的任一设备渲染参数;所述第二目标设备渲染参数是指所述剩余设备渲染参数集合中的任一设备渲染参数;将所述目标设备渲染参数集合中的剩余设备渲染参数,与所述第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;所述剩余设备渲染参数为所述目标设备渲染参数集合中,除所述第一目标设备渲染参数以外的任一设备渲染参数;根据所述渲染参数组合Si与所述剩余渲染参数组合,确定K个渲染参数组合,K为正整数;所述K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对所述终端设备的渲染性能产生影响的渲染参数;Obtain R device rendering features configured for the terminal device; R is a positive integer; obtain the device rendering parameter set corresponding to each of the R device rendering features to obtain R device rendering parameter sets; based on parameter combination rules, determine the combination of the first target device rendering parameter in the target device rendering parameter set and the second target device rendering parameter in the remaining device rendering parameter set as the rendering parameter combination S <sub>i </sub>; i is a positive integer; the target device rendering parameter set is any device rendering parameter set among the R device rendering parameter sets; the remaining device rendering parameter set is the set of device rendering parameters among the R device rendering parameter sets other than 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; determine the combination of the remaining device rendering parameter 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 other than the first target device rendering parameter; according to the rendering parameter combination S<sub>i</sub> i is combined with the remaining rendering parameters to determine K rendering parameter combinations, where K is a positive integer; each of the K rendering parameter combinations contains one or more influencing rendering parameters; each influencing rendering parameter refers to a rendering parameter that affects the rendering performance of the terminal device. 将测试码流输入至测试设备中,根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值;所述测试设备是指将所述终端设备的设备渲染参数切换为所述渲染参数组合Si后所得到的设备;所述渲染参数组合Si对应的渲染效果参考值,用于表征所述渲染参数组合Si对应的渲染效果;The test stream is input into the test device, and the rendering effect reference value corresponding to the rendering parameter combination Si is determined based on the rendering data of the test stream by the test device. The test device refers to the device obtained by switching the device rendering parameters of the terminal device to the rendering parameter combination Si . The rendering effect reference value corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si . 当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合。Once the rendering effect reference value corresponding to each rendering parameter combination is determined, the optimal rendering parameter combination for the terminal device is determined from the K rendering effect reference values. 2.根据权利要求1所述的方法,其特征在于,所述R个设备渲染特征包含设备渲染特征Hj;j为正整数;所述每个设备渲染特征分别对应的设备渲染参数集合,包含所述设备渲染特征Hj对应的设备渲染参数集合Pj2. The method according to claim 1, wherein the R device rendering features include device rendering feature Hj ; j is a positive integer; and the device rendering parameter set corresponding to each device rendering feature includes the device rendering parameter set Pj corresponding to the device rendering feature Hj ; 所述根据所述渲染参数组合Si与所述剩余渲染参数组合,确定所述K个渲染参数组合,包括:The step of determining the K rendering parameter combinations based on the rendering parameter combination Si and the remaining rendering parameter combinations includes: 将所述渲染参数组合Si与所述剩余渲染参数组合,均确定为初始渲染参数组合,将所述初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;The rendering parameter combination Si and the remaining rendering parameter combinations are both determined as initial rendering parameter combinations, and the set of the initial rendering parameter combinations is determined as the initial rendering parameter combination set. 获取所述设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;Obtain the parameter priority of each device rendering parameter in the device rendering parameter set Pj corresponding to the device rendering feature Hj ; 按照所述设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对所述设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;According to the order of priority of each device rendering parameter in the device rendering parameter set Pj , the device rendering parameters in the device rendering parameter set Pj are sorted to obtain the parameter sequence; 基于所述参数序列对所述初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据所述剪枝渲染参数组合集合确定所述K个渲染参数组合。The initial set of rendering parameter combinations is pruned based on the parameter sequence to obtain a pruned set of rendering parameter combinations, and the K rendering parameter combinations are determined based on the pruned set of rendering parameter combinations. 3.根据权利要求2所述的方法,其特征在于,所述基于所述参数序列对所述初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,包括:3. The method according to claim 2, characterized in that, the step of pruning the initial rendering parameter combination set based on the parameter sequence to obtain a pruned rendering parameter combination set includes: 将所述参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;The device rendering parameters located at the end of the sequence are determined as the rendering parameters to be pruned. 将所述初始渲染参数组合集合中,包含所述待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;The initial rendering parameter combination that includes the rendering parameters to be pruned in the initial rendering parameter combination set is determined as the rendering parameter combination to be pruned. 将所述初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到所述剪枝渲染参数组合集合。The pruning rendering parameter combination set is obtained by deleting the pruning rendering parameter combination set from the initial rendering parameter combination set. 4.根据权利要求2所述的方法,其特征在于,所述根据所述剪枝渲染参数组合集合确定所述K个渲染参数组合,包括:4. The method according to claim 2, wherein determining the K rendering parameter combinations based on the set of pruned rendering parameter combinations includes: 将所述设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;Update the pruning attribute of the device rendering feature Hj to the pruned attribute; 遍历所述R个设备渲染特征;Iterate through the R device rendering features; 若所述R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将所述剪枝渲染参数组合集合确定为所述K个渲染参数组合;If the pruning attribute of each of the R device rendering features is a pruned attribute, then the set of pruned rendering parameter combinations is determined as the K rendering parameter combinations. 若所述R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将所述剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据所述未剪枝渲染特征对应的设备渲染参数集合,对所述剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定所述K个渲染参数组合。If among the R device rendering features, there is a device rendering feature with an unpruned attribute, then the device rendering feature with an unpruned attribute is determined as an unpruned rendering feature. Based on the device rendering parameter set corresponding to the unpruned rendering feature, the set of pruned rendering parameter combinations is pruned. Based on the pruning result obtained from the pruning process, the K rendering parameter combinations are determined. 5.根据权利要求1所述的方法,其特征在于,所述R个设备渲染特征中包括设备输入帧率特征;所述每个设备渲染特征分别对应的设备渲染参数集合,包含所述设备输入帧率特征对应的设备输入帧率集合;5. The method according to claim 1, wherein the R device rendering features include device input frame rate features; and the device rendering parameter set corresponding to each device rendering feature includes the device input frame rate set corresponding to the device input frame rate feature. 所述获取所述R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,包括:The step of obtaining the set of device rendering parameters corresponding to each of the R device rendering features includes: 获取所述终端设备具备编码权限与解码权限的媒体编码类型;Obtain the media encoding type for which the terminal device has encoding and decoding permissions; 获取所述终端设备对应的最大分辨率,根据所述媒体编码类型与所述最大分辨率确定所述终端设备对应的最大解码帧率预测值;Obtain the maximum resolution corresponding to the terminal device, and determine the maximum decoding frame rate prediction value corresponding to the terminal device based on the media encoding type and the maximum resolution; 获取所述终端设备对应的屏幕刷新率,将所述最大解码帧率预测值与所述屏幕刷新率之间的最小值,确定为所述终端设备的最大输入帧率;Obtain the screen refresh rate corresponding to the terminal device, and determine the minimum value between the maximum decoded frame rate prediction value and the screen refresh rate as the maximum input frame rate of the terminal device; 基于所述最大输入帧率,确定所述设备输入帧率特征对应的设备输入帧率集合。Based on the maximum input frame rate, determine the set of device input frame rates corresponding to the device input frame rate feature. 6.根据权利要求5所述的方法,其特征在于,所述基于所述最大输入帧率,确定所述设备输入帧率特征对应的设备输入帧率集合,包括:6. The method according to claim 5, wherein determining the device input frame rate set corresponding to the device input frame rate feature based on the maximum input frame rate includes: 获取初始配置帧率集合;所述初始配置帧率集合包含一个或多个初始配置帧率;Obtain an initial configuration frame rate set; the initial configuration frame rate set contains one or more initial configuration frame rates; 在所述一个或多个初始配置帧率中,获取小于或等于所述最大输入帧率的初始配置帧率;Among the one or more initial configuration frame rates, an initial configuration frame rate that is less than or equal to the maximum input frame rate is obtained; 将所述小于或等于所述最大输入帧率的初始配置帧率所组成的集合,确定为所述设备输入帧率特征对应的设备输入帧率集合。The set of initial configuration frame rates that are less than or equal to the maximum input frame rate is determined as the device input frame rate set corresponding to the device input frame rate feature. 7.根据权利要求1所述的方法,其特征在于,所述测试码流由M个媒体数据帧所组成;所述M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;所述渲染参数组合Si对应的渲染效果参考值,包含所述渲染参数组合Si对应的平均解码渲染延时;7. The method according to claim 1, wherein the test bitstream consists of M media data frames; the M media data frames include media data frame Qj ; M and j are both positive integers; the rendering effect reference value corresponding to the rendering parameter combination Si includes the average decoding rendering latency corresponding to the rendering parameter combination Si ; 所述根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值,包括:The step of determining the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test bitstream from the testing equipment includes: 获取所述媒体数据帧Qj输入至所述测试设备的帧输入时刻;Obtain the frame input time of the media data frame Qj input to the test device; 在所述测试设备对所述测试码流的渲染数据中,获取所述媒体数据帧Qj对应的渲染帧;In the rendering data of the test bitstream by the test device, the rendering frame corresponding to the media data frame Qj is obtained; 获取所述媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;所述设备显示界面是指所述测试设备的显示界面;The frame output time of the rendered frame corresponding to the media data frame Qj is obtained and output to the device display interface; the device display interface refers to the display interface of the test device. 将所述帧输入时刻与所述帧输出时刻之间的时间段,确定为所述媒体数据帧Qj对应的解码渲染延时;The time interval between the frame input time and the frame output time is determined as the decoding and rendering delay corresponding to the media data frame Qj ; 当确定出所述M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据所述每个媒体数据帧分别对应的解码渲染延时,确定所述渲染参数组合Si对应的平均解码渲染延时。When the decoding and rendering latency corresponding to each of the M media data frames is determined, the average decoding and rendering latency corresponding to the rendering parameter combination Si is determined based on the decoding and rendering latency corresponding to each media data frame. 8.根据权利要求7所述的方法,其特征在于,所述根据所述每个媒体数据帧分别对应的解码渲染延时,确定所述渲染参数组合Si对应的平均解码渲染延时,包括:8. The method according to claim 7, wherein determining the average decoding and rendering latency corresponding to the rendering parameter combination Si based on the decoding and rendering latency corresponding to each media data frame includes: 将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;The total decoding and rendering delay is obtained by summing the M decoding and rendering delays. 统计所述M个媒体数据帧所包含的媒体数据帧的总数量;Count the total number of media data frames contained in the M media data frames; 确定所述解码渲染延时总值与所述总数量之间的均值,得到所述渲染参数组合Si对应的平均解码渲染延时。The mean between the total decoding and rendering latency and the total number is determined to obtain the average decoding and rendering latency corresponding to the rendering parameter combination Si . 9.根据权利要求1-8任一项所述的方法,其特征在于,所述渲染参数组合Si对应的渲染效果参考值,是指所述渲染参数组合Si对应的平均解码渲染延时;所述K个渲染效果参考值是指K个平均解码渲染延时;9. The method according to any one of claims 1-8, wherein the rendering effect reference value corresponding to the rendering parameter combination Si refers to the average decoding rendering latency corresponding to the rendering parameter combination Si ; and the K rendering effect reference values refer to the K average decoding rendering latencies. 所述根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合,包括:The step of determining the optimal combination of rendering parameters for the terminal device from among the K combinations of rendering parameters based on K rendering effect reference values includes: 在所述K个平均解码渲染延时中,获取最小平均解码渲染延时;Among the K average decoding and rendering latencies, the minimum average decoding and rendering latency is obtained; 将K个渲染参数组合中,所述最小平均解码渲染延时所对应的渲染参数组合,确定为所述终端设备的最优渲染参数组合。The rendering parameter combination corresponding to the minimum average decoding and rendering latency among the K rendering parameter combinations is determined as the optimal rendering parameter combination for the terminal device. 10.一种数据处理装置,其特征在于,包括:10. A data processing apparatus, characterized in that it comprises: 组合获取模块,用于获取为终端设备所配置的R个设备渲染特征;R为正整数;获取所述R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合,基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;i为正整数;所述目标设备渲染参数集合,为所述R个设备渲染参数集合中的任一设备渲染参数集合;所述剩余设备渲染参数集合为所述R个设备渲染参数集合中,除所述目标设备渲染参数集合以外的设备渲染参数集合;所述第一目标设备渲染参数是指所述目标设备渲染参数集合中的任一设备渲染参数;所述第二目标设备渲染参数是指所述剩余设备渲染参数集合中的任一设备渲染参数;将所述目标设备渲染参数集合中的剩余设备渲染参数,与所述第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;所述剩余设备渲染参数为所述目标设备渲染参数集合中,除所述第一目标设备渲染参数以外的任一设备渲染参数;根据所述渲染参数组合Si与所述剩余渲染参数组合,确定K个渲染参数组合,K为正整数;所述K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对所述终端设备的渲染性能产生影响的渲染参数;The combination acquisition module is used to acquire R device rendering features configured for the terminal device; R is a positive integer; acquire the set of device rendering parameters corresponding to each of the R device rendering features, resulting in R device rendering parameter sets; and, based on parameter combination rules, determine the combination of the first target device rendering parameter in the target device rendering parameter set and the second target device rendering parameter in the remaining device rendering parameter sets as the rendering parameter combination Si . ; i is a positive integer; the target device rendering parameter set is any one of the R device rendering parameter sets; the remaining device rendering parameter set is the set of device rendering parameters other than the target device rendering parameter set among the R device rendering parameter sets; the first target device rendering parameter refers to any one of the device rendering parameters in the target device rendering parameter set; the second target device rendering parameter refers to any one of the device rendering parameters in the remaining device rendering parameter set; the combination formed by the remaining device rendering parameter 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 one of the device rendering parameters other than the first target device rendering parameter in the target device rendering parameter set; K rendering parameter combinations are determined according to the rendering parameter combination Si and the remaining rendering parameter combination, where K is a positive integer; each of the K rendering parameter combinations contains one or more influencing rendering parameters; each influencing rendering parameter refers to a rendering parameter that will affect the rendering performance of the terminal device; 码流输入模块,用于将测试码流输入至测试设备中;所述测试设备是指设备渲染参数为所述渲染参数组合Si的终端设备;The bitstream input module is used to input the test bitstream to the test device; the test device refers to a terminal device whose device rendering parameters are the rendering parameter combination Si ; 参考值确定模块,用于根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值;所述渲染参数组合Si对应的渲染效果参考值,用于表征所述渲染参数组合Si对应的渲染效果;The reference value determination module is used to determine the rendering effect reference value corresponding to the rendering parameter combination Si based on the rendering data of the test bitstream by the test device; the rendering effect reference value corresponding to the rendering parameter combination Si is used to characterize the rendering effect corresponding to the rendering parameter combination Si . 最优组合确定模块,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合。The optimal combination determination module is used to determine the optimal rendering parameter combination for the terminal device from the K rendering parameter combinations based on the K rendering effect reference values when the rendering effect reference values corresponding to each rendering parameter combination are determined. 11.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;11. A computer device, characterized in that it comprises: a processor, a memory, and a network interface; 所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使所述计算机设备执行权利要求1-9任一项所述的方法。The processor is connected to the memory and the network interface, wherein the network interface is used to provide network communication functions, the memory is used to store computer programs, and the processor is used to call the computer programs to cause the computer device to execute the method according to any one of claims 1-9. 12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-9任一项所述的方法。12. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program adapted to be loaded by a processor and to execute the method according to any one of claims 1-9. 13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-9任一项所述的方法。13. A computer program product, characterized in that the computer program product comprises a computer program stored in a computer-readable storage medium, the computer program being adapted to be read and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1-9.
HK42023075308.9A 2023-06-30 A data processing method, device, equipment and readable storage medium HK40086735B (en)

Publications (2)

Publication Number Publication Date
HK40086735A true HK40086735A (en) 2023-09-01
HK40086735B HK40086735B (en) 2025-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
CN111327921A (en) Video data processing method and device
WO2022095871A1 (en) Video processing method, video processing apparatus, smart device, and storage medium
CN114139491A (en) Data processing method, device and storage medium
CN116193197B (en) A data processing method, device, equipment and readable storage medium
CN113965751A (en) Screen content coding method, device, equipment and storage medium
CN117009577B (en) A video data processing method, apparatus, device, and readable storage medium
US11405442B2 (en) Dynamic rotation of streaming protocols
CN111182332B (en) Video processing method, device, server and storage medium
CN117453997A (en) Content recommendation method and device, electronic equipment and storage medium
CN115706773B (en) Network video conference processing method and device, electronic equipment and storage medium
CN116980605A (en) Video processing methods, devices, computer equipment, storage media and program products
HK40086735B (en) A data processing method, device, equipment and readable storage medium
HK40086735A (en) A data processing method, device, equipment and readable storage medium
CN116797466B (en) Image processing method, device, equipment and readable storage medium
WO2024183682A1 (en) Video coding method and apparatus, and electronic device, storage medium and program product
CN116980604A (en) Video encoding method, video decoding method and related equipment
CN120283395A (en) Interactive video streaming for 3D applications
CN113766295B (en) A playback processing method, device, equipment and storage medium
CN117151967A (en) Multimedia information identification method and device and electronic equipment
CN118694957A (en) Video decoding method, device, computer equipment, medium and product
US10065121B2 (en) Method and apparatus for recording data of network interaction protocol
CN115080843A (en) Monitoring scene video recommendation method, system, device and storage medium
CN114697392A (en) Image processing method, image processing device, computer equipment and storage medium
CN116193149A (en) Live data processing method, device, equipment and computer-readable storage medium
US12549745B2 (en) Data processing method and apparatus, device, and readable storage medium