CN116193197A - 一种数据处理方法、装置、设备以及可读存储介质 - Google Patents
一种数据处理方法、装置、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN116193197A CN116193197A CN202310191461.0A CN202310191461A CN116193197A CN 116193197 A CN116193197 A CN 116193197A CN 202310191461 A CN202310191461 A CN 202310191461A CN 116193197 A CN116193197 A CN 116193197A
- Authority
- CN
- China
- Prior art keywords
- rendering
- parameter
- rendering parameter
- equipment
- parameter combination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 30
- 238000003672 processing method Methods 0.000 title abstract description 12
- 238000009877 rendering Methods 0.000 claims abstract description 1359
- 238000012360 testing method Methods 0.000 claims abstract description 194
- 230000000694 effects Effects 0.000 claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 103
- 238000013138 pruning Methods 0.000 claims description 80
- 238000012545 processing Methods 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 22
- 230000001934 delay Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 41
- 238000013473 artificial intelligence Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000002474 experimental method Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备以及可读存储介质,方法包括:获取针对终端设备的K个渲染参数组合;K个渲染参数组合包含渲染参数组合Si,i为正整数;将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。采用本申请,可以优化终端设备的渲染参数,提升终端设备的渲染性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备以及可读存储介质。
背景技术
随着计算机技术与多媒体技术的快速发展,越来越多的智能应用出现,这些智能应用丰富着日常生活。通常,这些智能应用部署于终端设备中,用户可通过终端设备来运行这些智能应用。
应当理解,当智能应用部署于终端设备中时,终端设备可以对应用相关数据进行渲染,以输出与智能应用相关联的应用画面。其中,对于部分要求低延时、高流畅度的智能应用(如,云游戏应用、实时视频通信应用等媒体应用)而言,对终端设备的渲染性能需求较高。
在相关技术中,对于终端设备而言,会预先随机配置一个固定的渲染参数,使用单一的固定的渲染参数来对不同的智能应用进行渲染。然而,由于终端设备的芯片、系统版本或其他因素的影响,不同的渲染参数在终端设备中所具备的渲染性能也不同,那么通过预先为终端设备随机配置一个固定的渲染参数的方式,并不具备针对性与准确性,该渲染参数可能并不适应于该终端设备,导致终端设备的渲染性能较低,无法满足不同智能应用的渲染需求。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及可读存储介质,可以优化终端设备的渲染参数,提升终端设备的渲染性能。
本申请实施例一方面提供了一种数据处理方法,包括:
获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;
将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;
当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。
本申请实施例一方面提供了一种数据处理装置,包括:
组合获取模块,用于获取针对终端设备的K个渲染参数组合;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K为正整数;K个渲染参数组合包含渲染参数组合Si,i为正整数;
码流输入模块,用于将测试码流输入至测试设备中;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;
参考值确定模块,用于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;
最优组合确定模块,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。
在一个实施例中,组合获取模块可以包括:
特征获取单元,用于获取为终端设备所配置的R个设备渲染特征;R为正整数;
参数集合获取单元,用于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合;
参数组合单元,用于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。
在一个实施例中,参数组合单元可以包括:
第一组合确定子单元,用于基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;
第二组合确定子单元,用于将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;
参数组合确定子单元,用于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。
在一个实施例中,R个设备渲染特征包含设备渲染特征Hj;j为正整数;每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合Pj;
参数组合确定子单元,还具体用于将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;
参数组合确定子单元,还具体用于获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;
参数组合确定子单元,还具体用于按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;
参数组合确定子单元,还具体用于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合确定K个渲染参数组合。
在一个实施例中,参数组合确定子单元,还具体用于将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;
参数组合确定子单元,还具体用于将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;
参数组合确定子单元,还具体用于将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到剪枝渲染参数组合集合。
在一个实施例中,参数组合确定子单元,还具体用于将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;
参数组合确定子单元,还具体用于遍历R个设备渲染特征;
参数组合确定子单元,还具体用于若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将剪枝渲染参数组合集合确定为K个渲染参数组合;
参数组合确定子单元,还具体用于若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定K个渲染参数组合。
在一个实施例中,R个设备渲染特征中包括设备输入帧率特征;每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合;
参数集合获取单元可以包括:
类型获取子单元,用于获取终端设备具备编码权限与解码权限的媒体编码类型;
预测值确定子单元,用于获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率确定终端设备对应的最大解码帧率预测值;
最大帧率确定子单元,用于获取终端设备对应的屏幕刷新率,将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;
帧率集合确定子单元,用于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合。
在一个实施例中,帧率集合确定子单元,还具体用于获取初始配置帧率集合;初始配置帧率集合包含一个或多个初始配置帧率;
帧率集合确定子单元,还具体用于在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;
帧率集合确定子单元,还具体用于将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。
在一个实施例中,测试码流由M个媒体数据帧所组成;M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时;
参考值确定模块可以包括:
输入时刻获取单元,用于获取媒体数据帧Qj输入至测试设备的帧输入时刻;
渲染帧获取单元,用于在测试设备对测试码流的渲染数据中,获取媒体数据帧Qj对应的渲染帧;
输出时刻获取单元,用于获取媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;设备显示界面是指测试设备的显示界面;
渲染延时确定单元,用于将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;
平均延时确定单元,用于当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。
在一个实施例中,平均延时确定单元可以包括:
求和处理子单元,用于将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;
数量统计子单元,用于统计M个媒体数据帧所包含的媒体数据帧的总数量;
均值确定子单元,用于确定解码渲染延时总值与总数量之间的均值,得到渲染参数组合Si对应的平均解码渲染延时。
在一个实施例中,渲染参数组合Si对应的渲染效果参考值,是指渲染参数组合Si对应的平均解码渲染延时;K个渲染效果参考值是指K个平均解码渲染延时;
最优组合确定模块可以包括:
最小延时确定单元,用于在K个平均解码渲染延时中,获取最小平均解码渲染延时;
最优组合确定单元,用于将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,对于影响终端设备的渲染性能的不同影响渲染参数,可以进行组合,得到K个渲染参数组合,而每个渲染参数组合可以作为一个测试组,可以利用测试码流来测试每个测试组的渲染效果,由此可以确定出哪一个渲染参数组合是终端设备的最优渲染参数。例如,对于渲染参数组合Si而言,可以将设备渲染参数为该渲染参数组合Si的终端设备,确定为一个测试设备,随后可以将测试码流输入至该测试设备中,该测试设备即可对该测试码流进行渲染,而基于该测试设备对该测试码流的渲染数据,即可确定渲染参数组合Si对应的渲染效果参考值(用于表征渲染参数组合Si对应的渲染效果的值);那么当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可基于K个渲染效果参考值确定出一个最优渲染效果参考值,由此可以确定出一个最优渲染参数组合。应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。综上,本申请可以优化终端设备的渲染参数,提升终端设备的渲染性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种确定最优渲染参数的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种确定渲染参数组合的流程示意图;
图5是本申请实施例提供的一种系统流程图;
图6是本申请实施例提供的一种对渲染参数组合进行剪枝处理的流程示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例还涉及人工智能及其相关技术,为便于理解,以下将对人工智能等相关技术概念进行简要阐述:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例主要涉及人工智能的人工智能软件技术中的计算机视觉技术。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括业务服务器1000和终端设备集群。该终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图1所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与上述业务服务器1000进行网络连接,以便于每个终端设备可以通过该网络连接与业务服务器1000进行数据交互。其中,这里的网络连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
每个终端设备均可以集成安装有目标应用,当该目标应用运行于各终端设备中时,可与上述图1所示的业务服务器1000之间进行数据交互。其中,该目标应用可以包括具有显示文字、图像、音频以及视频等数据信息功能的应用。其中,该应用可以包括社交应用、多媒体应用(例如,视频应用)、娱乐应用(例如,云游戏应用)、教育应用、直播应用等具有媒体数据编码功能(如视频编码功能)的应用,当然,应用还可以为其他具有显示数据信息功能、视频编码功能的应用,在此不再一一进行举例。其中,该应用可以为独立的应用,也可以为集成在某应用(例如,社交应用、教育应用以及多媒体应用等)中的嵌入式子应用,在此不进行限定。
为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图1所示的终端设备100a作为目标终端设备,该目标终端设备中可以集成有具备视频编码功能的目标应用。此时,该目标终端设备可以通过该应用客户端对应的业务数据平台与业务服务器1000之间实现数据交互。
应当理解,本申请实施例中的具有媒体数据编码功能(如,视频编码功能)的计算机设备(例如,终端设备100a、业务服务器1000)可以通过云技术,实现对多媒体数据(例如,视频数据)的数据编码以及数据传输。其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术可以是网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
例如,本申请实施例提供的数据处理方法可以应用于视频观看场景、视频通话场景、视频传输场景、云会议场景、云游戏场景、直播场景等高分辨率、高帧率、低延时的场景。其中,云会议是基于云计算技术的一种高效、便捷、低成本的会议形式。使用者只需要通过互联网界面,进行简单易用的操作,便可快速高效地与全球各地团队及客户同步分享语音、数据文件及视频,而会议中数据的传输、处理等复杂技术由云会议服务商帮助使用者进行操作。目前国内云会议主要集中在以SaaS(Software as a Service,软件即服务)模式为主体的服务内容,包括电话、网络、视频等服务形式,基于云计算的视频会议就叫云会议。在云会议时代,数据的传输、处理、存储全部由视频会议厂家的计算机资源处理,用户完全无需再购置昂贵的硬件和安装繁琐的软件,只需打开浏览器,登录相应界面,就能进行高效的远程会议。云会议系统支持多服务器动态集群部署,并提供多台高性能服务器,大大提升了会议稳定性、安全性、可用性。近年来,视频会议因能大幅提高沟通效率,持续降低沟通成本,带来内部管理水平升级,而获得众多用户欢迎,已广泛应用在交通、运输、金融、运营商、教育、企业等各个领域。毫无疑问,视频会议运用云计算以后,在方便性、快捷性、易用性上具有更强的吸引力,必将激发视频会议应用新高潮的到来。
应当理解,具有媒体数据编码功能的计算机设备(例如,具备视频编码功能的终端设备100a)可以通过媒体数据编码器(如,视频编码器)对媒体数据进行编码处理,以得到该媒体数据对应的数据码流(如,得到视频数据对应的视频码流),进而可以提升媒体数据的传输效率。其中,媒体数据编码器为视频编码器时,该视频编码器可以为AV1视频编码器,H.266视频编码器,AVS3视频编码器等,在此不再一一进行举例。其中,该AV1视频编码器的视频压缩标准是开放媒体联盟(Alliance for Open Media,简称AOM)开发的第一代视频编码标准。
其中,应当理解的是,对于经过编码处理的数据码流(如视频码流),终端设备通过对其进行解码渲染处理,即可得到用于输出显示的画面(如视频画面、游戏画面等等)。而可以理解的是,为优化终端设备的渲染参数以提升终端设备的渲染性能,从而得到质量更高的渲染画面,本申请可以为终端设备配置不同的渲染参数组合,再基于测试码流对不同的渲染参数组合进行测试,以测试渲染效果最优的渲染参数组合,从而即可将终端设备的设备渲染参数配置为适应性最好、渲染性能最好的那一组渲染参数组合,进而提升终端设备的解码渲染性能。
具体的,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。其中,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。
而本申请中,可以将各个设备渲染特征下的不同影响渲染参数,进行参数组合,从而可以得到K个渲染参数组合。那么也就是说,一个渲染参数组合包含有一个或多个不同的影响渲染参数,由于所包含的影响渲染参数不同,那么每个渲染参数组合的渲染性能也会不同。基于此,本申请可以基于测试码流(经过编码处理所得到的码流,该测试码流可以是指如视频码流的媒体数据码流),动态的测试每个渲染参数组合对该测试码流的渲染效果。其中,对于某个渲染参数组合对测试码流的渲染效果,本申请可以基于该渲染参数组合对该测试码流的渲染效果参考值来确定(即通过数值来体现渲染效果的优异与否)。以渲染参数组合Si为例,可以将终端设备的渲染参数配置为该渲染参数组合Si(该配置为该渲染参数组合Si的终端设备可称之为一个测试设备),随后,可以通过业务服务器1000对某个媒体数据进行编码处理,在得到测试码流后,可以将测试码流输入至该测试设备中,由此,该测试设备可以基于渲染参数组合Si,对该测试码流进行解码渲染处理。进一步地,业务服务器1000可以获取到该测试设备对测试码流的渲染数据,基于该渲染数据即可确定出渲染参数组合Si的一个渲染效果参考值。同理,对于每个渲染参数组合,业务服务器1000均可得到其对应的渲染效果参考值,基于这些渲染效果参考值,业务服务器1000可以确定出哪一个渲染参数组合的渲染效果最优,从而可以确定出最优的渲染参数组合。最后,即可将该终端设备的设备渲染参数配置为该最优渲染参数组合。
其中,对于将不同影响渲染参数进行参数组合得到K个渲染参数组合、以及确定每个渲染参数组合的渲染效果参考值的具体实现方式,可以参见后续图3所对应实施例中的描述。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选的,可以理解的是,上述计算机设备(如上述业务服务器1000、终端设备100a、终端设备100b等等)可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任意形式的计算机设备,比如业务服务器、终端设备等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。为便于理解,以下将对区块链的概念进行说明:区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。当计算机设备为区块链节点时,由于区块链的不可被篡改特性与防伪造特性,可以使得本申请中的数据(如编码处理后的测试码流、每个渲染参数组合对应的渲染效果参考值等等)具备真实性与安全性,从而可以使得基于这些数据进行相关数据处理后,得到的结果更为可靠。
需要说明的是,在本申请的具体实施方式中,涉及到用户信息、用户数据(如在目标应用中上传的相关应用数据等)等相关的数据,需要经过用户授权许可才能进行获取。也就是说,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。为便于理解,请参见图2,图2是本申请实施例提供的一种确定最优渲染参数的场景示意图。其中,如图2所示的场景是以不同终端设备之间进行视频传输为例进行说明的场景,在视频传输场景中,终端设备S1可以为用于发送视频数据(例如,视频数据1)的发送终端,终端设备S1对应的用户可以为用户a。终端设备备S2可以为用于接收视频数据(如,视频数据1)的接收终端,该终端设备S2对应的用户可以为用户b。其中,图2实施例中的业务服务器200可以为与终端设备S1、终端设备S2具有网络连接关系的服务器,该业务服务器200可以为上述图1所示的业务服务器1000。
应当理解,在视频传输场景中,终端设备S1可以获取由图像采集器(例如,摄像头)所采集到的与用户a相关联的视频数据1。进一步地,该终端设备S1可以通过视频编码器(例如,AV1视频编码器)对该视频数据1进行编码处理,以生成与该视频数据1相关联的视频码流1。此时,终端设备S1可以将该视频码流1发送至业务服务器200。该业务服务器200在接收到该视频码流1时,可以对该视频码流1进行解码处理,得到具备像素图像格式(也可称为YUV格式)的视频数据(可称为YUV视频数据,也可称为解码视频数据,或称为待编码视频数据),然后业务服务器200可以对该待编码视频数据进行编码处理(例如,通过视频编码器对该待编码视频数据进行编码处理),由此可以得到由业务服务器200所编码得到的新的视频码流(如视频码流2)。
其中,可以理解的是,业务服务器200对待编码视频数据进行编码处理,实际可以理解为对待编码视频数据的每一个视频帧(可称为待编码视频帧)进行编码处理,那么该视频码流2中可以包含有每一个视频帧所对应的进行编码处理后的帧(可称之为编码帧)。进一步地,业务服务器200可以将该视频码流2发送至终端设备S2,而该终端设备S2可以将该视频码流2进行解码渲染输出,用户b即可通过终端设备S2查看到该视频数据1。
应当理解,为了提升用户观看视频数据的体验,本申请可以对终端设备的渲染参数进行优化,以提升终端设备的渲染性能,进而可以提升终端设备所渲染得到的渲染画面(如对视频码流2的渲染画面)的质量。具体的,本申请实施例可以获取到会对终端设备S2的渲染性能产生影响的不同渲染参数(可称之为影响渲染参数),可以将不同的影响渲染参数进行参数组合,由此可以得到多个渲染参数组合。这里假设渲染参数组合包含渲染参数组合1、渲染参数组合2、渲染参数组合3以及渲染参数组合4为例,可以将终端设备S2的设备渲染参数先切换设置为渲染参数组合1,为便于区别,可以将设备渲染参数切换设置为渲染参数组合1的终端设备S2称为终端设备200a,该终端设备200a可以作为一个测试设备(后续将称之为测试设备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)。对于每一个测试设备,均可以将测试码流输入至测试设备中,通过各个测试设备对测试码流的解码渲染数据,可以得到不同渲染参数组合对应的渲染效果参考值。
例如,如图2所示,基于测试设备200a对测试码流的解码渲染数据,可以得到渲染参数组合1对应的渲染效果参考值a;基于测试设备200b对测试码流的解码渲染数据,可以得到渲染参数组合2对应的渲染效果参考值b;基于测试设备200c对测试码流的解码渲染数据,可以得到渲染参数组合3对应的渲染效果参考值c;基于测试设备200d对测试码流的解码渲染数据,可以得到渲染参数组合4对应的渲染效果参考值d。
进一步地,可以在渲染效果参考值a、渲染效果参考值b、渲染效果参考值c以及渲染效果参考值d中,确定出一个最优渲染效果参考值,该最优渲染效果参考值所对应的渲染参数组合,即可作为一个最优渲染参数组合,可以将该终端设备S2的设备渲染参数配置为该最优渲染参数组合。
应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。其中,本申请实施例所提供的方法可应用于各种场景,包括但不限于音视频、云技术、人工智能、智慧交通、辅助驾驶等场景。该方法可以由终端设备(例如,上述图1的终端设备集群中的任一终端设备)执行,也可以由服务器(例如,上述图1的业务服务器1000)执行,还可以由终端设备和服务器共同执行。为便于理解,本实施例以该方法由上述服务器执行为例进行说明,以阐述在服务器中进行数据处理处理的具体过程。其中,该数据处理方法至少可以包括以下步骤S101-步骤S103:
步骤S101,获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数。
本申请中,当终端设备中部署有目标应用时,该终端设备需要对目标应用的应用数据进行渲染,以输出该目标应用的应用画面。这里的目标应用可以是指任一具备数据处理功能的应用程序,如,目标应用可为社交应用(如即时通信应用)、娱乐应用(如云游戏应用、短视频应用)、教育应用、多媒体应用等等,这里将不再进行一一举例说明。
应当理解,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。其中,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。
而本申请中的渲染参数组合,可以是指终端设备的不同设备渲染特征下的一个影响渲染参数所组成的组合;例如,以设备渲染特征包括渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率为例,渲染窗口类型下的可取值包含SurfaceView、TextureView,渲染丢帧模式下的可取值包含丢帧模式与不丢帧模式;渲染时间戳类型下的可取值包含启动流逝时间(Monotonic timestamp,是指终端设备的系统从启动开始所流逝的时间长短)、实时时间(Real timestamp,是指当前时刻与1970年1月1日零点之间的时间差)、自定义时间(Artificial timestamp,是指以媒体数据帧的序号所制作的时间戳,例如,第一帧的时间戳为1,第二帧的时间戳为2,…,第n帧的时间戳为n),渲染输入帧率的可取值包含30fps、60fps、90fps、120fps、150fps。可以将渲染窗口类型下的任一个影响渲染参数(一个可取值)、渲染丢帧模式下的一个影响渲染参数(一个可取值)、渲染时间戳类型下的一个影响渲染参数(一个可取值)、渲染输入帧率下的一个影响渲染参数(一个可取值),组合成一个组合,该组合即可作为一个渲染参数组合。
需要说明的是,各个渲染参数组合是不同的,即各个渲染参数组合中所包含的影响渲染参数是不同的,例如,对于上述例子而言,由于渲染窗口类型下的可取值数量为2,渲染丢帧模式下的可取值数量为2,渲染时间戳类型下的可取值数量为3,渲染输入帧率下的可取值数量为5,那么最终所得到的功能参数组合的总数量可为2×2×3×5=60个。
可以理解的是,上述不同的影响渲染参数决定了终端设备对媒体数据的渲染效果,那么影响渲染参数也是决定终端设备的渲染性能的关键,而为了优化终端设备的渲染性能,使得终端设备所渲染得到的渲染画面的质量更高,本申请可以将不同的渲染参数组合进行测试实验,以找到最有利于提升终端设备的渲染性能的渲染参数组合(可称之为最优渲染参数组合),再将终端设备的各个设备渲染参数设置为该最优渲染参数组合,该最优渲染参数组合是通过测试所确定出的最适应该终端设备的,那么基于该最优渲染参数组合可以提升终端设备的渲染性能。
也就是说,本申请中的K个渲染参数组合,可基于上述各个设备渲染特征所包含的影响渲染参数的数量所确定,通常情况下,K可为每个设备渲染特征下的影响渲染参数的数量的乘积(如K可为上述例子中的60)。其中,每个渲染参数组合中,是由不同的影响渲染参数所组成的,且各个渲染参数组合中所包含的影响渲染参数,并不是完全相同的(至少有一个影响渲染参数不同)。而这里的渲染参数组合Si可以是指K个渲染参数组合中的任意一个渲染参数组合。这里是简要介绍了对于确定K个渲染参数组合的原理,对于确定K个渲染参数组合的具体实现方式,可以参见后续图4所对应实施例中的详细描述。
步骤S102,将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si后所得到的设备;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果。
本申请中,为了测试在K个渲染参数组合中,哪一组渲染参数组合最能提升终端设备的渲染性能,本申请可以基于测试码流来对每一个渲染参数组合进行测试,以得到每一个渲染参数组合对于该测试码流的渲染效果。其中,这里的测试码流可以是指将某个媒体数据(如视频数据)进行编码处理后所得到的媒体码流,终端设备可以对该测试码流进行解码渲染,以输出该媒体数据。其中,需要说明的是,这里的媒体数据可以是由不同的媒体数据帧(如视频帧)所组成的数据,对媒体数据进行编码处理可以是指对每个媒体数据帧进行编码处理(进行编码处理后,可以得到每个媒体数据帧分别对应的编码帧),那么对于测试码流而言,可以是指由不同的编码帧所组成的码流,即该测试码流中包含有不同的编码帧。对于终端设备而言,对测试码流进行解码渲染处理,实际上可以是指逐一对各个编码帧进行解码渲染处理。
其中,以渲染参数组合Si为例,本申请实施例可以将终端设备的设备渲染参数设置为该渲染参数组合Si,并将设备渲染参数设置为该渲染参数组合Si的终端设备确定为一个测试设备,用来进行测试。本申请中,可以借鉴AB实验的原理,将每个渲染参数组合作为一个实验组,再为每个实验组分配完全相同的测试数据(如测试码流),即每个实验组所输入的测试数据是相同的,在测试数据是完全相同的情况下,来查看每一个实验组(或称之为测试组)对测试码流的一个渲染效果。例如,对于渲染参数组合Si而言,将测试码流输入测试设备后,测试设备可以基于该渲染参数组合Si对该测试码流进行解码渲染处理,由此可以得到渲染数据,而基于这些渲染数据,即可确定出渲染参数组合Si对应的渲染效果。而为了更直观明了、更为准确地体现出每个渲染参数组合对应的渲染效果,本申请可以预先配置用于表征渲染效果的渲染效果参考值,基于这些渲染效果参考值,即可确定出哪一个渲染参数组合的渲染效果更好。其中,这里的渲染效果参考值可以是指任意能够表征终端设备的解码渲染效果的特征值,例如,对于终端设备而言,通常可以基于终端设备的解码输出帧率、解码渲染延时、渲染输出帧率、渲染耗时等特征值来确定终端设备的渲染效果,而将每个渲染参数组合的这些特征值进行比较,即可确定出渲染效果最优的一个渲染参数组合。
具体的,基于上述可知,测试码流可以是由M个媒体数据帧所组成,以M个媒体数据帧包括媒体数据帧Qj(M、j均为正整数)为例,假设渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时,此时对于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值的具体实现方式可以为:可以获取媒体数据帧Qj输入至测试设备的帧输入时刻;随后,可以在测试设备对测试码流的渲染数据中,获取到媒体数据帧Qj对应的渲染帧,并获取到媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;其中,设备显示界面是指测试设备的显示界面;进一步地,可以将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,可以根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。
其中,对于根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时的具体实现方式可为:可以将M个解码渲染延时进行求和运算处理,由此可以得到解码渲染延时总值;随后,可以统计M个媒体数据帧所包含的媒体数据帧的总数量;可以确定解码渲染延时总值与总数量之间的均值,由此即可得到渲染参数组合Si对应的平均解码渲染延时。
应当理解,由于测试码流是由M个媒体数据帧所组成的,那么在测试设备对测试码流的解码渲染过程中,本申请可以统计到每一个媒体数据帧从输入到设备,到渲染输出至设备显示界面(即终端设备的屏幕)上的时长(即输入至所述测试设备的帧输入时刻,渲染帧输出至设备显示界面的帧输出时刻之间的时间段),该时长即可作为某个媒体数据帧的解码渲染延时;在确定出M个媒体数据帧中每个媒体数据帧分别对应的解码渲染延时时,即可基于M个媒体数据帧的总数量,与所有媒体数据帧的解码渲染延时的总和(即,将所有媒体数据帧的解码渲染延时进行相加处理后,所得到的结果值),得到一个平均解码渲染延时(如解码渲染延时总值/总数量),该平均解码渲染延时即可作为该渲染参数组合Si对应的渲染效果参考值。
需要说明的是,上述是以渲染效果参考值为平均解码渲染延时为例,来说明的确定渲染参数组合Si对应的渲染效果参考值的方法,对于确定渲染参数组合Si对应的渲染效果参考值,并不限定于是确定平均解码渲染延时。对于某个渲染参数组合的渲染效果参考值,还可以为其他任意能够用于表征渲染效果的特征值,如,可以以解码渲染耗时作为渲染效果参考值。当以解码渲染耗时作为渲染效果参考值时,对于确定渲染参数组合Si对应的渲染效果参考值的具体实现方式还可为:可以统计每一个媒体数据帧分别对应的解码渲染耗时,然后可以统计所有媒体数据帧所对应的解码渲染耗时总值(将所有的媒体数据帧所对应的解码渲染耗时进行相加处理,得到的一个相加结果值作为解码渲染耗时总值),该解码渲染耗时总值即可作为一个渲染效果参考值。也就是说,对于渲染参数组合的渲染效果参考值,并不限定于是平均解码渲染延时这一种特征值,其可以基于实际场景来确定,但是,一旦确定渲染效果参考值后,每一个渲染参数组合对应的渲染效果参考值应为同一种特征值,由此可便于比较,以确定出最优渲染参数组合。
步骤S103,当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。
本申请中,当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可得到K个渲染效果参考值,而基于K个渲染效果参考值,即可在K个渲染参数组合中确定终端设备的最优渲染参数组合。以渲染效果参考值为平均解码渲染延时为例,渲染参数组合Si对应的渲染效果参考值,可以是指渲染参数组合Si对应的平均解码渲染延时,而K个渲染效果参考值则是指K个平均解码渲染延时,此时,对于根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合的具体实现方式可为:可以在K个平均解码渲染延时中,获取最小平均解码渲染延时;随后,可以将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。
也就是说,对于K个渲染参数组合中,平均解码渲染延时越低,可以说明解码渲染效率更高,那么可以将平均解码渲染延时最低的那一个渲染参数组合,确定为最优渲染参数组合。
在本申请实施例中,对于影响终端设备的渲染性能的不同影响渲染参数,可以进行组合,得到K个渲染参数组合,而每个渲染参数组合可以作为一个测试组,可以利用测试码流来测试每个测试组的渲染效果,由此可以确定出哪一个渲染参数组合是终端设备的最优渲染参数。例如,对于渲染参数组合Si而言,可以将设备渲染参数为该渲染参数组合Si的终端设备,确定为一个测试设备,随后可以将测试码流输入至该测试设备中,该测试设备即可对该测试码流进行渲染,而基于该测试设备对该测试码流的渲染数据,即可确定渲染参数组合Si对应的渲染效果参考值(用于表征渲染参数组合Si对应的渲染效果的值);那么当确定出每个渲染参数组合分别对应的渲染效果参考值时,即可基于K个渲染效果参考值确定出一个最优渲染效果参考值,由此可以确定出一个最优渲染参数组合。应当理解,本申请基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。综上,本申请可以优化终端设备的渲染参数,提升终端设备的渲染性能。
进一步地,请参见图4,图4是本申请实施例提供的一种确定渲染参数组合的流程示意图。其中,该流程可以对应于上述图3所对应实施例中,对于获取针对终端设备的K个渲染参数组合的流程。如图4所示,该流程可以至少包括以下步骤S401-步骤S403:
步骤S401,获取为终端设备所配置的R个设备渲染特征;R为正整数。
具体的,对于终端设备而言,存在有不同的影响其渲染性能的特征(这里可每个特征称为渲染特征),例如,渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等特征,均会影响终端设备的渲染性能,那么渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率均可称之为设备渲染特征。
也就是说,设备渲染特征是指影响终端设备的渲染性能的特征,具体可以基于实际场景而配置,通常情况下,设备渲染特征可以包括但不限于是渲染窗口类型、渲染丢帧模式、渲染时间戳类型、渲染输入帧率等等。
步骤S402,获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合。
具体的,一个设备渲染特征可以包含不同的可取值,每个可取值可以理解为一个影响渲染参数(也就是影响终端设备的渲染性能的参数,本申请也可称之为设备渲染参数)。例如,以渲染窗口类型为例,其可以取值SurfaceView、TextureView,那么每种可取的取值窗口类型均可以作为渲染窗口类型这一设备渲染特征下的一个设备渲染参数(即,SurfaceView可以作为一个设备渲染参数、TextureView可以作为一个设备渲染参数);又如,以渲染丢帧模式为例,其可以取值丢帧、不丢帧,那么每种可取的取值模式均可以作为渲染丢帧模式这一设备渲染特征下的一个渲染参数(即,丢帧可以作为一个设备渲染参数、不丢帧可以作为一个设备渲染参数)。而本申请中的某个设备渲染特征所包含的可取值,可组成该设备渲染特征所对应的设备渲染参数集合。例如,对于渲染窗口类型这一设备渲染特征而言,其设备渲染参数集合可以为{SurfaceView,TextureView}。
需要说明的是,对于终端设备而言,其硬件设备包含有芯片,而终端设备的芯片的解码速度也会对终端设备的渲染性能产生影响,所以在本申请中,可以预先预估终端设备的解码速度,再基于终端设备的解码速度来预估终端设备的渲染性能,从而来确定在测试过程中,终端设备所能够支持的最大输入帧率,基于该最大输入帧率,即可确定出终端设备所能够支持的设备输入帧率包含哪些。
也就是说,基于上述可知,R个设备渲染特征中可以包含有渲染输入帧率(本申请可称之为设备输入帧率特征),而在本申请中,可以基于终端设备的部分硬件参数,来确定出终端设备所能够支持的最大输入帧率,从而可以基于最大输入帧率来确定出该设备输入帧率特征所对应的设备渲染参数集合。
具体的,基于上述可知,R个设备渲染特征中包括设备输入帧率特征,且每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合,此时,对于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合的具体实现方式可为:可以获取终端设备具备编码权限与解码权限的媒体编码类型;随后,可以获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率可以确定终端设备对应的最大解码帧率预测值;同时,可以获取终端设备对应的屏幕刷新率,可以将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;基于最大输入帧率,即可确定设备输入帧率特征对应的设备输入帧率集合。
其中,对于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合的具体实现方式可为:可以获取初始配置帧率集合;其中,初始配置帧率集合包含一个或多个初始配置帧率;随后,可以在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;可以将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。
应当理解的是,本申请可以通过终端设备的不同硬件参数,来对终端设备的渲染性能进行初步的判断,以确定在测试实验过程中,终端设备的设备输入帧率。例如,由于终端设备的芯片的解码速度会对终端设备产生一定影响,那么本申请可以通过读取终端设备芯片所支持的profile和level这两种参数,来确定出芯片所支持的编解码类型(如,H264类型/H265类型/VP9类型/AVS类型)。其中,芯片所支持的编解码类型即可确定为终端设备具备编码权限与解码权限的媒体编码类型,芯片所支持的最大分辨率也可以确定为终端设备对应的最大分辨率,基于终端设备具备编码权限与解码权限的媒体编码类型,与最大分辨率,可以初步预估出终端设备的解码能力,而基于终端设备的解码能力,即可初步将终端设备的渲染性能归类到某个范围,这里的范围可以是指某个帧率范围(如30fps以内、60fps以内、90fps以内、120fps以内等等),这个所预估的帧率范围也可以理解为终端设备的最大解码帧率预测值。例如,终端设备的预估帧率范围为60fps以内,那么可以确定该终端设备的最大解码帧率预测值即可为60fps。
进一步地,可以通过终端设备的屏幕刷新率来与最大解码帧率预测值,来共同对终端设备的输入帧率进行限制,例如,屏幕刷新率只支持60hz,那么就算最大解码帧率预测值为90fps,也无需探测60以上的输入帧率,只需探测60fps及以下的输入帧率即可。也就是说,对于终端设备的最大输入帧率,可以是指最大解码帧率预测值与屏幕刷新率之间的最小值,当确定出最大解码帧率预测值后,即可确定出该设备输入帧率特征所对应的设备输入帧率集合。
例如,以初始配置帧率集合为{30fps,60fps,90fps,120fps,144fps}为例,假设终端设备的最大输入帧率为120fps,由于30fps、60fps、90fps均小于120fps,那么终端设备对于30fps、60fps、90fps、120fps这四个输入帧率均是能够支持的,基于此,对于设备输入帧率特征所对应的设备渲染参数集合可以为{30fps,60fps,90fps,120fps}。
也就是说,对于终端设备的设备输入帧率这一设备渲染特征而言,其对应的设备渲染参数集合中所包含的设备渲染参数,可以为初始配置帧率集合中的部分初始配置帧率,并非所有的初始配置帧率。
步骤S403,基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。
具体的,当确定出每个设备渲染参数集合后,即可基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,由此即可得到K个渲染参数组合。
其中,这里的参数组合规则,可以是指将每个设备渲染特征中的任一个设备渲染参数进行组合的规则。对于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合的具体实现方式可为:基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。
具体的,这里的目标设备渲染参数集合可以是指R个设备渲染参数集合中的任意一个设备渲染参数集合,本申请可以将目标设备渲染参数集合中的任一个设备渲染参数,与其他每个设备渲染参数集合中的一个设备渲染参数,来进行组合,由此可以得到一个渲染参数组合。为便于理解,以设备渲染特征包含渲染窗口类型、渲染丢帧模式以及渲染输入帧率为例,假设渲染窗口类型对应的设备渲染参数集合为{SurfaceView,TextureView}、渲染丢帧模式对应的设备渲染参数集合为{丢帧,不丢帧}、渲染输入帧率对应的设备渲染参数集合为{90fps,60fps,30fps}(即最大输入帧率为90fps),那么将进行参数组合后,所得到的渲染参数组合可以包括渲染参数组合1-渲染参数组合12:
渲染参数组合1:[90fps,SurfaceView,丢帧];
渲染参数组合2:[60fps,SurfaceView,丢帧];
渲染参数组合3:[30fps,SurfaceView,丢帧];
渲染参数组合4:[90fps,SurfaceView,不丢帧];
渲染参数组合5:[60fps,SurfaceView,不丢帧];
渲染参数组合6:[30fps,SurfaceView,不丢帧];
渲染参数组合7:[90fps,TextureView,丢帧];
渲染参数组合8:[60fps,TextureView,丢帧];
渲染参数组合9:[30fps,TextureView,丢帧];
渲染参数组合10:[90fps,TextureView,不丢帧];
渲染参数组合11:[60fps,TextureView,不丢帧];
渲染参数组合12:[30fps,TextureView,不丢帧]。
也就是说,通过上述的组合过程,可以得到K个渲染参数组合,而一个渲染参数组合,会包含有所有设备渲染特征下的一个设备渲染参数,每两个渲染参数组合之间,至少有一个设备渲染参数是不同的。
可选的,可以理解的是,基于上述可知,一个渲染参数组合是由所有设备渲染特征下的一个设备渲染参数所组成的,那么若设备渲染特征数量较多、或一个设备渲染特征下的设备渲染参数的数量较多时,渲染参数组合的数量是较大的,在渲染参数组合的数量较大的情况下,无疑会花费较多的时间来进行测试以确定出最优渲染参数组合,而为了提升测试效率,本申请可以基于设备渲染特征中设备渲染参数之间的参数优先级,来对渲染参数组合进行剪枝处理。所谓剪枝处理,也就是删除掉渲染参数组合中的部分渲染参数组合,以减少渲染参数组合的总数量的过程,本申请可以将进行参数组合后得到的渲染参数组合,先确定为初始渲染参数组合,对初始渲染参数组合进行剪枝处理后所剩余的渲染参数组合,即可确定为K个渲染参数组合。
具体的,以R个设备渲染特征包含设备渲染特征Hj(j为正整数)为例,其中,每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合Pj,此时,对于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合的具体实现方式可为:可以将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,随后可以将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;进一步地,可以获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,可以对设备渲染参数集合Pj中的设备渲染参数进行排序,由此可以得到参数序列;基于参数序列对初始渲染参数组合集合可进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合即可确定K个渲染参数组合。
其中,对于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合的具体实现方式可为:可以将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;随后,可以将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;可以将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,由此可以得到剪枝渲染参数组合集合。
为便于理解,以设备渲染特征为渲染窗口类型为例,渲染窗口类型对应的设备渲染参数集合为{SurfaceView,TextureView},由于在相同配置下,SurfaceView的性能会优于TextureView,那么SurfaceView的优先级可为1,而TextureView的优先级可为2(参数优先级的数值越小,证明参数优先级越高),那么按照参数优先级将渲染窗口类型对应的设备渲染参数进行排序后,可以得到的参数序列为{SurfaceView,TextureView}。进一步地,可以获取到位于序列结束位置的设备渲染参数为TextureView,那么该TextureView即可作为待剪枝渲染参数,可以将初始渲染参数组合集合中,包含有该TextureView的渲染参数组合进行删除。以上述12个渲染参数组合为例,可以看出,渲染参数组合7-渲染参数组合12均包含有TextureView,那么可以将这些渲染参数组合均进行删除,由此所得到的剪枝渲染参数组合集合即可包含有渲染参数组合1-渲染参数组合6。
应当理解,对于每个设备渲染特征,均可以进行剪枝处理,当将每个设备设备渲染特征均进行剪枝处理后,最终所剩余的渲染参数组合,即可确定为最终的K个渲染参数组合。也就是说,对于根据剪枝渲染参数组合集合确定K个渲染参数组合的具体实现方式可为:可以将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;随后,可以遍历R个设备渲染特征;若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则可以直接将剪枝渲染参数组合集合确定为K个渲染参数组合;而若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则可以将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,并根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行再一次的剪枝处理,最后即可根据剪枝处理得到的剪枝结果来确定K个渲染参数组合。
也就是说,每对一个设备渲染特征进行一次剪枝处理,即可将该设备渲染特征的剪枝属性从未剪枝属性变更为已剪枝属性,当所有的设备渲染特征均为已剪枝属性时,即可确定此时所有的设备渲染特征均进行了剪枝处理,那么可以将目前剩余的各个渲染参数组合确定为K个渲染参数组合,可以进行测试实验;而若存在某个设备渲染特征的剪枝属性为未剪枝属性,那么可以基于该设备渲染特征中,各个设备渲染参数的参数优先级,来对目前的渲染参数组合集合进行剪枝处理,由此基于设备渲染特征进行一次一次的剪枝处理,直至所有的设备渲染特征的剪枝属性均为已剪枝属性。
需要说明的是,在实际应用中,在进行剪枝处理时,也不是需要对所有的设备渲染特征进行剪枝处理,也可以仅对一个或部分设备渲染特征进行剪枝处理,对于剪枝处理,可以基于实际的场景需求来定义,本申请对此不进行限定。
通常情况下,对于终端设备的设备渲染特征可包括渲染窗口类型、渲染丢帧模式、渲染时间戳类型以及渲染输入帧率。而对于渲染窗口类型而言,其可取值可以包含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的;对于渲染输入帧率而言,可优先选取较大的帧率。
通过不同设备渲染特征的优先级,可以对渲染参数组合进行剪枝处理,由此可以减少最后进行测试实验的渲染参数组合的数量(即减小K值),由此可以花费更少的时间,便可确定出终端设备的最优渲染参数组合。
在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。其中,在测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。
进一步地,请参见图5,图5是本申请实施例提供的一种系统流程图。如图5所示,该流程可以至少包括以下步骤S51-步骤S53:
步骤S51,读取终端设备的芯片的参数信息,确定终端设备的渲染参数组合。
具体的,对于终端设备而言,其硬件设备包含有芯片,而终端设备的芯片的解码速度也会对终端设备的渲染性能产生影响,所以在本申请中,可以预先预估终端设备的解码速度,再基于终端设备的解码速度来预估终端设备的渲染性能,从而来确定在测试过程中,终端设备所能够支持的最大输入帧率,基于该最大输入帧率,即可确定出终端设备所能够支持的设备输入帧率包含哪些。
通过读取终端设备芯片所支持的profile和level这两种参数,可以确定出芯片所支持的编解码类型(如,H264类型/H265类型/VP9类型/AVS类型)。其中,芯片所支持的编解码类型即可确定为终端设备具备编码权限与解码权限的媒体编码类型,芯片所支持的最大分辨率也可以确定为终端设备对应的最大分辨率,基于终端设备具备编码权限与解码权限的媒体编码类型,与最大分辨率,可以初步预估出终端设备的解码能力,而基于终端设备的解码能力,即可初步将终端设备的渲染性能归类到某个范围,进一步地,可以通过终端设备的屏幕刷新率来与最大解码帧率预测值,来共同对终端设备的输入帧率进行限制,得到终端设备的最大输入帧率。随后,可以基于当前终端设备支持的渲染窗口类型、渲染丢帧策略、渲染时间戳类型等等设备渲染特征,与最大输入帧率一起组合得到设备的渲染配置,即组合得到终端设备的各个渲染参数组合。
步骤S52,通过动态传入测试码流,对渲染参数组合进行测试,确定终端设备的解码渲染延时。
具体的,本申请实施例可以通过实时测试码流对上述步骤S51所获取到的渲染参数组合进行探测,具体需要实时传入测试码流(如视频码流)对相应渲染参数组合的终端设备进行测试,以测试哪一组的渲染参数组合的渲染性能最优。其中,判断渲染性能可以通过解码渲染延时来进行判断,可以将每一数据帧(如视频帧)从输入到终端设备,至渲染到终端设备的屏幕上的时间作为该帧的解码渲染延时,通过统计所有帧的平均解码渲染延时,即可从上述渲染参数组合中得到平均解码渲染延时最低的一个渲染参数组合,该平均解码渲染延时最低的一个渲染参数组合接口作为最优渲染参数组合。
步骤S53,渲染解码渲染延时最低的组合作为最优渲染参数组合。
具体的,通过统计所有帧的平均解码渲染延时,即可从上述渲染参数组合中得到平均解码渲染延时最低的一个渲染参数组合,该平均解码渲染延时最低的一个渲染参数组合接口作为最优渲染参数组合。
在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。
进一步地,请参见图6,图6是本申请实施例提供的一种对渲染参数组合进行剪枝处理的流程示意图。如图6所示,该流程可以至少包括以下步骤S61-步骤S63:
步骤S61,获取渲染参数组合集合。
具体的,本申请可以将每个设备渲染特征下的一个设备渲染参数,来进行组合,由此可以得到一个渲染参数组合。不同的设备渲染参数可以组合得到不同的渲染参数组合。对于确定将设备渲染参数进行组合的方式,可以参见上述图3-图4所对应实施例中的相关描述,这里将不再进行赘述。
步骤S62,根据参数优先级依次修改渲染参数组合。
具体的,对于一个设备渲染特征下的不同设备渲染参数,可以具备有参数优先级,而本申请可以基于一个设备渲染特征下的不同设备渲染参数的参数优先级,来对所组合得到的渲染参数组合进行剪枝处理,由此可以减小渲染参数组合的总数量,减小测试的花费时长。
其中,应当理解的是,对于某个设备渲染特征下的不同设备渲染参数的参数优先级,可以根据预先进行探测来确定。例如,对于渲染窗口类型这一设备渲染特征而言,可以将终端设备的除渲染窗口类型的其余所有硬件参数设置为同样的参数,再探测不同渲染窗口的渲染性能,取解码渲染延时最小的渲染窗口为参数优先级更高的渲染窗口。通常情况下,SurfaceView的参数优先级高于TextureView。
又如,对于渲染丢帧模式这一设备渲染特征而言,可以将终端设备的除渲染丢帧模式的其余所有硬件参数设置为同样的参数,再探测不同渲染丢帧模式的渲染性能,可以取解码渲染延时最小的渲染丢帧模式为参数优先级更高的渲染丢帧模式。通常情况下,丢帧的参数优先级高于不丢帧。
又如,对于渲染时间戳类型这一设备渲染特征而言,可以将终端设备的除渲染时间戳类型的其余所有硬件参数设置为同样的参数,再探测不同渲染时间戳类型的渲染性能,可以取解码渲染延时最小的渲染时间戳类型为参数优先级更高的渲染时间戳类型。通常情况下,Monotonic timestamp的参数优先级高于Real timestamp,Real timestamp的参数优先级高于Artificial timestamp。
又如,对于渲染输入帧率这一设备渲染特征而言,可以将终端设备的除渲染输入帧率的其余所有硬件参数设置为同样的参数,再探测不同渲染输入帧率的渲染性能,可以取解码渲染延时最小的渲染输入帧率为参数优先级更高的渲染输入帧率。通常情况下,数值更高的输入帧率的优先级会更高。
具体的,基于不同设备渲染特征下不同设备渲染参数的参数优先级,来对渲染参数组合进行剪枝处理的过程,可以参见上述图4所对应实施例中的相关描述,这里将不再进行赘述。
步骤S63,探测不同渲染参数的渲染性能,得到最优参数配置。
具体的,在进行剪枝处理后,即可通过实时的动态测试码流,对不同渲染参数组合进行渲染性能的测试,最终可以得到终端设备的最优参数配置。
在本申请实施例中,在渲染参数组合的渲染性能的测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行图3所示的方法。如图7所示,该数据处理装置1可以包括:组合获取模块11、码流输入模块12、参考值确定模块13以及最优组合确定模块14。
组合获取模块11,用于获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;
码流输入模块12,用于将测试码流输入至测试设备中;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si的终端设备;
参考值确定模块13,用于根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;
最优组合确定模块14,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。
其中,组合获取模块11、码流输入模块12、参考值确定模块13以及最优组合确定模块14的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S103的描述,这里将不再进行赘述。
在一个实施例中,组合获取模块11可以包括:特征获取单元111、参数集合获取单元112以及参数组合单元113。
特征获取单元111,用于获取为终端设备所配置的R个设备渲染特征;R为正整数;
参数集合获取单元112,用于获取R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合;
参数组合单元113,用于基于参数组合规则,将R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到K个渲染参数组合。
其中,特征获取单元111、参数集合获取单元112以及参数组合单元113的具体实现方式,可以参见上述图4所对应实施例中步骤S401-步骤S403的描述,这里将不再进行赘述。
在一个实施例中,参数组合单元113可以包括:第一组合确定子单元1131、第二组合确定子单元1132以及参数组合确定子单元1133。
第一组合确定子单元1131,用于基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为渲染参数组合Si;目标设备渲染参数集合,为R个设备渲染参数集合中的任一设备渲染参数集合;剩余设备渲染参数集合为R个设备渲染参数集合中,除目标设备渲染参数集合以外的设备渲染参数集合;第一目标设备渲染参数是指目标设备渲染参数集合中的任一设备渲染参数;第二目标设备渲染参数是指剩余设备渲染参数集合中的任一设备渲染参数;
第二组合确定子单元1132,用于将目标设备渲染参数集合中的剩余设备渲染参数,与第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;剩余设备渲染参数为目标设备渲染参数集合中,除第一目标设备渲染参数以外的任一设备渲染参数;
参数组合确定子单元1133,用于根据渲染参数组合Si与剩余渲染参数组合,确定K个渲染参数组合。
其中,第一组合确定子单元1131、第二组合确定子单元1132以及参数组合确定子单元1133的具体实现方式,可以参见上述图4所对应实施例中S403中的描述,这里将不再进行赘述。
在一个实施例中,R个设备渲染特征包含设备渲染特征Hj;j为正整数;每个设备渲染特征分别对应的设备渲染参数集合,包含设备渲染特征Hj对应的设备渲染参数集合Pj;
参数组合确定子单元1133,还具体用于将渲染参数组合Si与剩余渲染参数组合,均确定为初始渲染参数组合,将初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;
参数组合确定子单元1133,还具体用于获取设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;
参数组合确定子单元1133,还具体用于按照设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;
参数组合确定子单元1133,还具体用于基于参数序列对初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据剪枝渲染参数组合集合确定K个渲染参数组合。
在一个实施例中,参数组合确定子单元1133,还具体用于将参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;
参数组合确定子单元1133,还具体用于将初始渲染参数组合集合中,包含待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;
参数组合确定子单元1133,还具体用于将初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到剪枝渲染参数组合集合。
在一个实施例中,参数组合确定子单元1133,还具体用于将设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;
参数组合确定子单元1133,还具体用于遍历R个设备渲染特征;
参数组合确定子单元1133,还具体用于若R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将剪枝渲染参数组合集合确定为K个渲染参数组合;
参数组合确定子单元1133,还具体用于若R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据未剪枝渲染特征对应的设备渲染参数集合,对剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定K个渲染参数组合。
在一个实施例中,R个设备渲染特征中包括设备输入帧率特征;每个设备渲染特征分别对应的设备渲染参数集合,包含设备输入帧率特征对应的设备输入帧率集合;
参数集合获取单元112可以包括:类型获取子单元1121、预测值确定子单元1122、最大帧率确定子单元1123以及帧率集合确定子单元1124。
类型获取子单元1121,用于获取终端设备具备编码权限与解码权限的媒体编码类型;
预测值确定子单元1122,用于获取终端设备对应的最大分辨率,根据媒体编码类型与最大分辨率确定终端设备对应的最大解码帧率预测值;
最大帧率确定子单元1123,用于获取终端设备对应的屏幕刷新率,将最大解码帧率预测值与屏幕刷新率之间的最小值,确定为终端设备的最大输入帧率;
帧率集合确定子单元1124,用于基于最大输入帧率,确定设备输入帧率特征对应的设备输入帧率集合。
其中,类型获取子单元1121、预测值确定子单元1122、最大帧率确定子单元1123以及帧率集合确定子单元1124的具体实现方式,可以参见上述图4所对应实施例中步骤S402中的描述,这里将不再进行赘述。
在一个实施例中,帧率集合确定子单元1124,还具体用于获取初始配置帧率集合;初始配置帧率集合包含一个或多个初始配置帧率;
帧率集合确定子单元1124,还具体用于在一个或多个初始配置帧率中,获取小于或等于最大输入帧率的初始配置帧率;
帧率集合确定子单元1124,还具体用于将小于或等于最大输入帧率的初始配置帧率所组成的集合,确定为设备输入帧率特征对应的设备输入帧率集合。
在一个实施例中,测试码流由M个媒体数据帧所组成;M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;渲染参数组合Si对应的渲染效果参考值,包含渲染参数组合Si对应的平均解码渲染延时;
参考值确定模块13可以包括:输入时刻获取单元131、渲染帧获取单元132、输出时刻获取单元133、渲染延时确定单元134以及平均延时确定单元135。
输入时刻获取单元131,用于获取媒体数据帧Qj输入至测试设备的帧输入时刻;
渲染帧获取单元132,用于在测试设备对测试码流的渲染数据中,获取媒体数据帧Qj对应的渲染帧;
输出时刻获取单元133,用于获取媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;设备显示界面是指测试设备的显示界面;
渲染延时确定单元134,用于将帧输入时刻与帧输出时刻之间的时间段,确定为媒体数据帧Qj对应的解码渲染延时;
平均延时确定单元135,用于当确定出M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据每个媒体数据帧分别对应的解码渲染延时,确定渲染参数组合Si对应的平均解码渲染延时。
其中,输入时刻获取单元131、渲染帧获取单元132、输出时刻获取单元133、渲染延时确定单元134以及平均延时确定单元135的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。
在一个实施例中,平均延时确定单元135可以包括:求和处理子单元1351、数量统计子单元1352以及均值确定子单元1353。
求和处理子单元1351,用于将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;
数量统计子单元1352,用于统计M个媒体数据帧所包含的媒体数据帧的总数量;
均值确定子单元1353,用于确定解码渲染延时总值与总数量之间的均值,得到渲染参数组合Si对应的平均解码渲染延时。
其中,求和处理子单元1351、数量统计子单元1352以及均值确定子单元1353的具体实现方式,可以参见上述图3所对应实施例中步骤S102中的描述,这里将不再进行赘述。
在一个实施例中,渲染参数组合Si对应的渲染效果参考值,是指渲染参数组合Si对应的平均解码渲染延时;K个渲染效果参考值是指K个平均解码渲染延时;
最优组合确定模块14可以包括:最小延时确定单元141以及最优组合确定单元142。
最小延时确定单元141,用于在K个平均解码渲染延时中,获取最小平均解码渲染延时;
最优组合确定单元142,用于将K个渲染参数组合中,最小平均解码渲染延时所对应的渲染参数组合,确定为终端设备的最优渲染参数组合。
其中,最小延时确定单元141以及最优组合确定单元142的具体实现方式,可以参见上述图3所对应实施例中步骤S103中的描述,这里将不再进行赘述。
在本申请实施例中,提供基于测试码流动态探测终端设备上不同渲染参数组合的渲染性能的方式,可以基于实际的渲染效果参考数据(渲染效果参考值)来确定最优渲染参数,与随机为终端设备配置渲染参数相比,通过测试码流来对不同渲染参数组合进行探测,并基于实际的渲染效果参考数据来确定最优渲染参数组合的方式,可以更为准确地、针对性地确定出适应于终端设备的最优的渲染参数组合,由此可以提升终端设备的渲染性能。其中,在测试过程中,本申请提供一种探测剪枝的方式,可以在默认配置组合的基础上,进行有限次的测试,花费更少的时间确定最优渲染参数组合,可以很好地提升测试效率。
进一步地,请参见图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中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的计算机设备8000中,网络接口8004可提供网络通讯功能;而用户接口8003主要用于为用户提供输入的接口;而处理器8001可以用于调用存储器8005中存储的设备控制应用程序,以实现:
获取针对终端设备的K个渲染参数组合;K为正整数;K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对终端设备的渲染性能产生影响的渲染参数;K个渲染参数组合包含渲染参数组合Si,i为正整数;
将测试码流输入至测试设备中,根据测试设备对测试码流的渲染数据,确定渲染参数组合Si对应的渲染效果参考值;测试设备是指将终端设备的设备渲染参数切换为渲染参数组合Si后所得到的设备;终端设备;测试设备与终端设备的设备硬件参数相同;渲染参数组合Si对应的渲染效果参考值,用于表征渲染参数组合Si对应的渲染效果;
当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在K个渲染参数组合中确定终端设备的最优渲染参数组合。
应当理解,本申请实施例中所描述的计算机设备8000可执行前文图3到图4所对应实施例中对该数据处理方法的描述,也可执行前文图7所对应实施例中对该数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备8000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图4所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取针对终端设备的K个渲染参数组合,K为正整数;所述K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对所述终端设备的渲染性能产生影响的渲染参数;所述K个渲染参数组合包含渲染参数组合Si,i为正整数;
将测试码流输入至测试设备中,根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值;所述测试设备是指将所述终端设备的设备渲染参数切换为所述渲染参数组合Si后所得到的设备;所述渲染参数组合Si对应的渲染效果参考值,用于表征所述渲染参数组合Si对应的渲染效果;
当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合。
2.根据权利要求1所述的方法,其特征在于,所述获取针对终端设备的K个渲染参数组合,包括:
获取为所述终端设备所配置的R个设备渲染特征;R为正整数;
获取所述R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,得到R个设备渲染参数集合;
基于参数组合规则,将所述R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到所述K个渲染参数组合。
3.根据权利要求2所述的方法,其特征在于,所述基于参数组合规则,将所述R个设备渲染参数集合中所包含的设备渲染参数进行参数组合,得到所述K个渲染参数组合,包括:
基于参数组合规则,将目标设备渲染参数集合中的第一目标设备渲染参数,与剩余设备渲染参数集合中的第二目标设备渲染参数所组成的组合,确定为所述渲染参数组合Si;所述目标设备渲染参数集合,为所述R个设备渲染参数集合中的任一设备渲染参数集合;所述剩余设备渲染参数集合为所述R个设备渲染参数集合中,除所述目标设备渲染参数集合以外的设备渲染参数集合;所述第一目标设备渲染参数是指所述目标设备渲染参数集合中的任一设备渲染参数;所述第二目标设备渲染参数是指所述剩余设备渲染参数集合中的任一设备渲染参数;
将所述目标设备渲染参数集合中的剩余设备渲染参数,与所述第二目标设备渲染参数所组成的组合,确定为剩余渲染参数组合;所述剩余设备渲染参数为所述目标设备渲染参数集合中,除所述第一目标设备渲染参数以外的任一设备渲染参数;
根据所述渲染参数组合Si与所述剩余渲染参数组合,确定所述K个渲染参数组合。
4.根据权利要求3所述的方法,其特征在于,所述R个设备渲染特征包含设备渲染特征Hj;j为正整数;所述每个设备渲染特征分别对应的设备渲染参数集合,包含所述设备渲染特征Hj对应的设备渲染参数集合Pj;
所述根据所述渲染参数组合Si与所述剩余渲染参数组合,确定所述K个渲染参数组合,包括:
将所述渲染参数组合Si与所述剩余渲染参数组合,均确定为初始渲染参数组合,将所述初始渲染参数组合所组成的集合确定为初始渲染参数组合集合;
获取所述设备渲染特征Hj对应的设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级;
按照所述设备渲染参数集合Pj中,每个设备渲染参数分别对应的参数优先级之间的大小顺序,对所述设备渲染参数集合Pj中的设备渲染参数进行排序,得到参数序列;
基于所述参数序列对所述初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,根据所述剪枝渲染参数组合集合确定所述K个渲染参数组合。
5.根据权利要求4所述的方法,其特征在于,所述基于所述参数序列对所述初始渲染参数组合集合进行剪枝处理,得到剪枝渲染参数组合集合,包括:
将所述参数序列中,位于序列结束位置的设备渲染参数确定为待剪枝渲染参数;
将所述初始渲染参数组合集合中,包含所述待剪枝渲染参数的初始渲染参数组合,确定为待剪枝渲染参数组合;
将所述初始渲染参数组合集合中的待剪枝渲染参数组合进行删除处理,得到所述剪枝渲染参数组合集合。
6.根据权利要求4所述的方法,其特征在于,所述根据所述剪枝渲染参数组合集合确定所述K个渲染参数组合,包括:
将所述设备渲染特征Hj的剪枝属性从未剪枝属性更新为已剪枝属性;
遍历所述R个设备渲染特征;
若所述R个设备渲染特征中,每个设备渲染特征的剪枝属性均为已剪枝属性,则将所述剪枝渲染参数组合集合确定为所述K个渲染参数组合;
若所述R个设备渲染特征中,存在剪枝属性为未剪枝属性的设备渲染特征,则将所述剪枝属性为未剪枝属性的设备渲染特征确定为未剪枝渲染特征,根据所述未剪枝渲染特征对应的设备渲染参数集合,对所述剪枝渲染参数组合集合进行剪枝处理,根据剪枝处理得到的剪枝结果确定所述K个渲染参数组合。
7.根据权利要求2所述的方法,其特征在于,所述R个设备渲染特征中包括设备输入帧率特征;所述每个设备渲染特征分别对应的设备渲染参数集合,包含所述设备输入帧率特征对应的设备输入帧率集合;
所述获取所述R个设备渲染特征中,每个设备渲染特征分别对应的设备渲染参数集合,包括:
获取所述终端设备具备编码权限与解码权限的媒体编码类型;
获取所述终端设备对应的最大分辨率,根据所述媒体编码类型与所述最大分辨率确定所述终端设备对应的最大解码帧率预测值;
获取所述终端设备对应的屏幕刷新率,将所述最大解码帧率预测值与所述屏幕刷新率之间的最小值,确定为所述终端设备的最大输入帧率;
基于所述最大输入帧率,确定所述设备输入帧率特征对应的设备输入帧率集合。
8.根据权利要求7所述的方法,其特征在于,所述基于所述最大输入帧率,确定所述设备输入帧率特征对应的设备输入帧率集合,包括:
获取初始配置帧率集合;所述初始配置帧率集合包含一个或多个初始配置帧率;
在所述一个或多个初始配置帧率中,获取小于或等于所述最大输入帧率的初始配置帧率;
将所述小于或等于所述最大输入帧率的初始配置帧率所组成的集合,确定为所述设备输入帧率特征对应的设备输入帧率集合。
9.根据权利要求1所述的方法,其特征在于,所述测试码流由M个媒体数据帧所组成;所述M个媒体数据帧包括媒体数据帧Qj;M、j均为正整数;所述渲染参数组合Si对应的渲染效果参考值,包含所述渲染参数组合Si对应的平均解码渲染延时;
所述根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值,包括:
获取所述媒体数据帧Qj输入至所述测试设备的帧输入时刻;
在所述测试设备对所述测试码流的渲染数据中,获取所述媒体数据帧Qj对应的渲染帧;
获取所述媒体数据帧Qj对应的渲染帧,输出至设备显示界面的帧输出时刻;所述设备显示界面是指所述测试设备的显示界面;
将所述帧输入时刻与所述帧输出时刻之间的时间段,确定为所述媒体数据帧Qj对应的解码渲染延时;
当确定出所述M个媒体数据帧中,每个媒体数据帧分别对应的解码渲染延时时,根据所述每个媒体数据帧分别对应的解码渲染延时,确定所述渲染参数组合Si对应的平均解码渲染延时。
10.根据权利要求9所述的方法,其特征在于,所述根据所述每个媒体数据帧分别对应的解码渲染延时,确定所述渲染参数组合Si对应的平均解码渲染延时,包括:
将M个解码渲染延时进行求和运算处理,得到解码渲染延时总值;
统计所述M个媒体数据帧所包含的媒体数据帧的总数量;
确定所述解码渲染延时总值与所述总数量之间的均值,得到所述渲染参数组合Si对应的平均解码渲染延时。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述渲染参数组合Si对应的渲染效果参考值,是指所述渲染参数组合Si对应的平均解码渲染延时;所述K个渲染效果参考值是指K个平均解码渲染延时;
所述根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合,包括:
在所述K个平均解码渲染延时中,获取最小平均解码渲染延时;
将K个渲染参数组合中,所述最小平均解码渲染延时所对应的渲染参数组合,确定为所述终端设备的最优渲染参数组合。
12.一种数据处理装置,其特征在于,包括:
组合获取模块,用于获取针对终端设备的K个渲染参数组合;K为正整数;所述K个渲染参数组合中的每个渲染参数组合包含一个或多个影响渲染参数;每个影响渲染参数是指会对所述终端设备的渲染性能产生影响的渲染参数;所述K个渲染参数组合包含渲染参数组合Si,i为正整数;
码流输入模块,用于将测试码流输入至测试设备中;所述测试设备是指设备渲染参数为所述渲染参数组合Si的终端设备;
参考值确定模块,用于根据所述测试设备对所述测试码流的渲染数据,确定所述渲染参数组合Si对应的渲染效果参考值;所述渲染参数组合Si对应的渲染效果参考值,用于表征所述渲染参数组合Si对应的渲染效果;
最优组合确定模块,用于当确定出每个渲染参数组合分别对应的渲染效果参考值时,根据K个渲染效果参考值,在所述K个渲染参数组合中确定所述终端设备的最优渲染参数组合。
13.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使所述计算机设备执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-11任一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310191461.0A CN116193197A (zh) | 2023-02-22 | 2023-02-22 | 一种数据处理方法、装置、设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310191461.0A CN116193197A (zh) | 2023-02-22 | 2023-02-22 | 一种数据处理方法、装置、设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116193197A true CN116193197A (zh) | 2023-05-30 |
Family
ID=86434401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310191461.0A Pending CN116193197A (zh) | 2023-02-22 | 2023-02-22 | 一种数据处理方法、装置、设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116193197A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116440501A (zh) * | 2023-06-16 | 2023-07-18 | 瀚博半导体(上海)有限公司 | 自适应云游戏视频画面渲染方法和系统 |
-
2023
- 2023-02-22 CN CN202310191461.0A patent/CN116193197A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116440501A (zh) * | 2023-06-16 | 2023-07-18 | 瀚博半导体(上海)有限公司 | 自适应云游戏视频画面渲染方法和系统 |
CN116440501B (zh) * | 2023-06-16 | 2023-08-29 | 瀚博半导体(上海)有限公司 | 自适应云游戏视频画面渲染方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915953B (zh) | 直播视频鉴别的方法、装置、系统、服务器和存储介质 | |
Kim et al. | Cloud‐based gaming service platform supporting multiple devices | |
WO2024169391A1 (zh) | 一种视频数据处理方法、装置、计算机设备以及存储介质 | |
CN111327921A (zh) | 视频数据处理方法及设备 | |
CN113965751A (zh) | 屏幕内容编码方法、装置、设备及存储介质 | |
CN111343503B (zh) | 视频的转码方法、装置、电子设备及存储介质 | |
CN116193197A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
Zhu et al. | HTML5 based media player for real-time video surveillance | |
WO2024183682A1 (zh) | 视频编码方法、装置、电子设备、存储介质及程序产品 | |
CN117014659B (zh) | 一种视频转码方法、装置、电子设备和存储介质 | |
KR102707343B1 (ko) | 클라우드 작업 흐름에서의 타임아웃 및 완료 데이터 입력들의 시그널링 | |
WO2024148979A1 (zh) | 视频解码方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN114173087A (zh) | 视频数据获取及处理方法、边缘网关及存储介质 | |
US20230396783A1 (en) | Data processing method and apparatus, device, and readable storage medium | |
KR102417055B1 (ko) | 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스 | |
WO2023226504A1 (zh) | 一种媒体数据处理方法、装置、设备以及可读存储介质 | |
CN116980604A (zh) | 视频编码方法、视频解码方法及相关设备 | |
CN113996056A (zh) | 云游戏的数据发送和接收方法以及相关设备 | |
CN114139491A (zh) | 一种数据处理方法、装置及存储介质 | |
CN116546262A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116567247A (zh) | 视频编码方法、实时通信方法、装置、设备及存储介质 | |
JP6216046B2 (ja) | コーデックの自動適応化 | |
CN113068059A (zh) | 视频直播方法、装置、设备及存储介质 | |
Leetch et al. | A multi-agent system to stream multimedia to handheld devices | |
CN115460189B (zh) | 处理设备测试方法、装置、计算机及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086735 Country of ref document: HK |