System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 注册函数方法、视频帧处理方法、装置、设备和存储介质制造方法及图纸_技高网

注册函数方法、视频帧处理方法、装置、设备和存储介质制造方法及图纸

技术编号:40066234 阅读:9 留言:0更新日期:2024-01-16 23:28
本申请实施例公开了一种注册函数方法、视频帧处理方法、注册函数装置、视频帧处理装置、计算机设备和计算机可读存储介质。其中,本申请能够在图层合成器中注册用户提供的注册函数。注册好的注册函数将会以视频处理函数的形式向外暴露接口,以便于随时调用。使得在图像处理过程中,可以直接调用图象合成器内的视频处理函数,利用显存资源进行视频处理,视频数据无需在内存和显存之间多次转换。相比现有技术,本申请可以在同样的硬件配置下支持更高的帧率输出,并保证更佳的视频输出效果,提高性能和用户体验。

【技术实现步骤摘要】

本申请属于计算机视频处理,特别是涉及一种注册函数方法、视频帧处理方法、注册函数装置、视频帧处理装置、计算机设备和计算机可读存储介质。


技术介绍

1、随着5g的快速发展和普及,移动终端上运行的app越来越多的加入了对显示的画面进行优化的功能。现有方法处理视频帧的时候需要经历如下的繁琐流程:步骤一:app控制打开相机;步骤二:获取相机采集视频帧;步骤三:从相机上的surface中读取出视频帧到内存并转换成预设格式的视频帧;步骤四:把内存上的预设格式视频帧写入到自己申请的surface上,然后使用着色器的相关原理处理视频帧,即视频编辑(比如:人脸识别、美颜、大眼瘦脸、滤镜等);步骤五:把处理完的surface和桌面画面融合;步骤六:把融合后的surface交给surfaceflinger;步骤七:把surfaceflinger中的画面投递给opengl或者屏幕硬件进行显示。以上步骤,每帧都需要走一遍,如果app要求30fps,则如上流程每秒需要走30遍。以上步骤十分繁琐,视频帧在内存和显存之间转换多次,特别浪费性能,导致当前的主流直播平台在直播时,帧率都不高,且经常卡顿,同时对手机硬件的cpu和内存占用较大,导致手机发热严重,功耗增加。因此如何提高视频帧的处理效率,是本领域技术人员亟待解决的技术问题。

2、前面的叙述在于提供一般的背景信息,并不一定构成现有技术。


技术实现思路

1、基于此,有必要针对上述问题,提出了一种注册函数方法、视频帧处理方法、注册函数装置、视频帧处理装置、计算机设备和计算机可读存储介质,能够更高效地处理视频帧。

2、本申请解决其技术问题是采用以下的技术方案来实现的:

3、本申请提供了一种注册函数方法,应用于视频设备,包括如下步骤:执行初始化操作,初始化操作的对象包括开放图形库、显存和纹理句柄中的至少一项;获取用户提供的注册函数,解析注册函数以得到第一着色器;对第一着色器执行注册操作,注册操作包括编译着色器代码并绑定在图层合成器中;将完成注册操作的第一着色器封装为视频处理函数,并向外暴露接口,以使视频应用通过接口直接调用视频处理函数。

4、在本申请一可选实施例中,执行初始化操作之后,方法还包括:获取第二着色器,第二着色器为图层合成器自身所有的;对第二着色器执行注册操作,以在图层合成器内注册第二着色器;将完成注册操作的第一着色器封装为视频处理函数,并向外暴露接口,包括:将完成注册操作的第一着色器和第二着色器封装为视频处理函数,并向外暴露接口。

5、在本申请一可选实施例中,将完成注册操作的第一着色器封装为视频处理函数,包括:将完成注册操作的第一着色器串行成开放图形库的处理管线;获取完成注册操作的第一着色器提供的对外的纹理句柄;将纹理句柄和处理管线封装为视频处理函数。

6、本申请还提供了一种视频帧处理方法,应用于视频应用,包括如下步骤:从第一图层处获取第一视频数据,第一图层为相机模块的图层;将第一视频数据发送至图层合成器,图层合成器经过前文所描述的方法完成了注册;调用图层合成器中的视频处理函数,以控制图层合成器根据视频处理函数处理第一视频数据,视频处理函数为前文所描述的视频处理函数;读取并输出经过视频处理函数处理后的视频帧。

7、在本申请一可选实施例中,从第一图层处获取第一视频数据之后,方法还包括:从第二图层处获取第二视频数据,第二图层为应用模块的图层;将第一视频数据和第二视频数据进行画面融合处理以得到第三视频数据;将第三视频数据发送至图层合成器,调用视频处理函数,以控制图层合成器根据视频处理函数处理第三视频数据;读取并输出经过视频处理函数处理后的视频帧。

8、在本申请一可选实施例中,读取并输出经过视频处理函数处理后的视频帧,包括:判断是否有推流需求;若没有推流需求,则将视频帧投递至开放图形库或屏幕硬件进行显示;若有推流需求,则将视频帧投递至开放图形库或屏幕硬件进行显示,同时读取视频帧并传输至关联的流媒体服务器中,以使流媒体服务器进行视频推流。

9、本申请还提供了一种注册函数装置,包括:初始化模块,用于执行初始化操作,初始化操作的对象包括开放图形库、显存和纹理句柄中的至少一项;注册模块,用于获取用户提供的注册函数,解析注册函数以得到第一着色器;对第一着色器执行注册操作,注册操作包括编译着色器代码并绑定在图层合成器中;封装模块,用于将完成注册操作的第一着色器封装为视频处理函数,并向外暴露接口,以使视频应用通过接口直接调用视频处理函数。

10、本申请还提供了一种视频帧处理装置,包括:获取模块,用于从第一图层处获取第一视频数据,第一图层为相机模块的图层;发送模块,用于将第一视频数据发送至图层合成器,图层合成器经过前文所描述的方法完成了注册;处理模块,用于调用图层合成器中的视频处理函数,利用显存资源处理第一视频数据;视频处理函数为前文所描述的视频处理函数;输出模块,用于读取并输出经过视频处理函数处理后的视频帧。

11、本申请还提供了一种计算机设备,包括处理器和存储器:处理器用于执行存储器中存储的计算机程序以实现如前述的方法。

12、本申请还提供了一种计算机可读存储介质,存储有计算机程序,当计算机程序被处理器执行时实现如前述的方法。

13、采用本申请实施例,具有如下有益效果:

14、本申请能够在图层合成器中注册用户提供的注册函数。注册好的注册函数将会以视频处理函数的形式向外暴露接口,以便于随时调用。使得在图像处理过程中,可以直接调用图象合成器内的视频处理函数,利用显存资源进行视频处理,视频数据无需在内存和显存之间多次转换。相比现有技术,本申请可以在同样的硬件配置下支持更高的帧率输出,并保证更佳的视频输出效果,提高性能和用户体验。

15、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

本文档来自技高网...

【技术保护点】

1.一种注册函数方法,其特征在于,应用于视频设备,包括如下步骤:

2.如权利要求1所述的注册函数方法,其特征在于,所述执行初始化操作之后,所述方法还包括:

3.如权利要求1所述的注册函数方法,其特征在于,所述将完成注册操作的所述第一着色器封装为视频处理函数,包括:

4.一种视频帧处理方法,其特征在于,应用于视频应用,包括如下步骤:

5.如权利要求4所述的视频帧处理方法,其特征在于,所述从第一图层处获取第一视频数据之后,所述方法还包括:

6.如权利要求4或5所述的视频帧处理方法,其特征在于,所述读取并输出经过所述视频处理函数处理后的视频帧,包括:

7.一种注册函数装置,其特征在于,包括:

8.一种视频帧处理装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括处理器和存储器;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1到3中任一项所述方法或权利要求4到6中任一项所述方法。

【技术特征摘要】

1.一种注册函数方法,其特征在于,应用于视频设备,包括如下步骤:

2.如权利要求1所述的注册函数方法,其特征在于,所述执行初始化操作之后,所述方法还包括:

3.如权利要求1所述的注册函数方法,其特征在于,所述将完成注册操作的所述第一着色器封装为视频处理函数,包括:

4.一种视频帧处理方法,其特征在于,应用于视频应用,包括如下步骤:

5.如权利要求4所述的视频帧处理方法,其特征在于,所述从第一图层处获取第一视频数据之后,所述方法还包括:

【专利技术属性】
技术研发人员:王庆民张定乾
申请(专利权)人:启朔深圳科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1