一种YUV数据渲染系统及方法、电子设备和存储介质技术方案

技术编号:39246693 阅读:11 留言:0更新日期:2023-10-30 11:58
本公开涉及计算机技术领域,尤其涉及一种YUV数据渲染系统及方法、电子设备和存储介质,所述系统包括:标准OpenGL API,用于接收待处理YUV数据的信息;GPU驱动,用于根据待处理YUV数据的信息对GPU中包括的纹理处理单元进行配置;GPU驱动,用于在接收到针对待处理YUV数据的渲染指令后,调用纹理处理单元对待处理YUV数据进行纹理格式转换,得到待处理YUV数据对应的RGBA数据,以及调用GPU中包括的shader对RGBA数据进行渲染处理,得到待处理YUV数据对应的渲染后数据。本公开实施例可实现从硬件层面优化YUV数据渲染过程,有效提高YUV数据的渲染效率。染效率。染效率。

【技术实现步骤摘要】
一种YUV数据渲染系统及方法、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种YUV数据渲染系统及方法、电子设备和存储介质。

技术介绍

[0002]很多视频应用中都会涉及到图像渲染技术,对视频压缩数据解压缩后得到的YUV数据流进行渲染处理后输出显示。但是,相关技术中仅涉及在图形库应用程序编程接口(Open Graphics Library Application Programming Interface,OpenGL API)层面对YUV数据的渲染进行优化,而没有从硬件层面对YUV数据的渲染进行优化的方案。

技术实现思路

[0003]本公开提出了一种YUV数据渲染系统及方法、电子设备和存储介质的技术方案。
[0004]根据本公开的一方面,提供了一种YUV数据渲染系统,包括:标准OpenGL API、GPU驱动、GPU,所述GPU中包括:纹理处理单元、shader;所述标准OpenGL API,用于接收待处理YUV数据的信息;所述GPU驱动,用于根据所述待处理YUV数据的信息,对所述纹理处理单元进行配置;所述GPU驱动,用于在接收到针对所述待处理YUV数据的渲染指令后,调用所述纹理处理单元对所述待处理YUV数据进行纹理格式转换,得到所述待处理YUV数据对应的RGBA数据,以及调用所述shader对所述RGBA数据进行渲染处理,得到所述待处理YUV数据对应的渲染后数据。
[0005]在一种可能的实现方式中,所述系统还包括:中间处理模块,所述中间处理模块包括:与所述标准OpenGL API对接的第一接口,以及与所述GPU驱动对接的第二接口;所述中间处理模块,用于基于所述第一接口,接收所述标准OpenGL API发送的所述待处理YUV数据的信息;所述中间处理模块,用于基于所述第二接口,将所述待处理YUV数据的信息发送至所述GPU驱动。
[0006]在一种可能的实现方式中,所述纹理处理单元包括:寄存器;所述GPU驱动,用于将所述待处理YUV数据的信息,绑定到预设OpenGL纹理,其中,所述待处理YUV数据的信息包括所述待处理YUV数据的显存地址信息;所述GPU驱动,用于根据所述预设OpenGL纹理,对所述纹理处理单元的寄存器进行配置。
[0007]在一种可能的实现方式中,所述系统还包括:GPU显存;所述寄存器,用于从所述预设OpenGL纹理中获取所述显存地址信息,以及基于所述显存地址信息,从所述GPU显存中读取所述待处理YUV数据;所述纹理处理单元,用于基于预设纹理格式转换算法,对所述待处理YUV数据进行纹理格式转换,得到所述RGBA数据。
[0008]在一种可能的实现方式中,所述系统还包括:解码器;所述解码器,用于对目标压缩数据进行解码,得到所述待处理YUV数据,以及将所述待处理YUV数据发送至GPU显存进行存储。
[0009]在一种可能的实现方式中,所述预设OpenGL纹理包括:Y分量对应的第一OpenGL纹
理、UV分量对应的第二OpenGL纹理。
[0010]在一种可能的实现方式中,所述预设OpenGL纹理包括:Y分量对应的第三OpenGL纹理、U分量对应的第四OpenGL纹理、V分量对应的第五OpenGL纹理。
[0011]根据本公开的一方面,提供了一种YUV数据渲染方法,包括:接收基于标准OpenGL API输入的待处理YUV数据的信息;GPU驱动根据所述待处理YUV数据的信息,对GPU中的纹理处理单元进行配置;GPU驱动在接收到针对所述待处理YUV数据的渲染指令后,调用所述纹理处理单元对所述待处理YUV数据进行纹理格式转换,得到所述待处理YUV数据对应的RGBA数据,以及调用所述GPU中的shader对所述RGBA数据进行渲染处理,得到所述待处理YUV数据对应的渲染后数据。
[0012]根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以运行上述系统或执行上述方法。
[0013]根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述系统或上述方法。
[0014]在本公开实施例中,YUV数据渲染系统包括:标准OpenGL API、GPU驱动、GPU,GPU中包括:纹理处理单元、shader;标准OpenGL API,用于接收用户输入的待处理YUV数据的信息;GPU驱动,用于根据待处理YUV数据的信息,对纹理处理单元进行配置;GPU驱动,用于在接收到针对待处理YUV数据的渲染指令后,调用纹理处理单元对待处理YUV数据进行纹理格式转换,得到待处理YUV数据对应的RGBA数据,以及调用shader对RGBA数据进行渲染处理,得到待处理YUV数据对应的渲染后数据。基于本公开实施例的YUV数据渲染系统,用户仅需直接调用标准OpenGL API以启动YUV渲染,而无需执行创建OpenGL纹理操作,采用硬件GPU中集成的纹理处理单元来实现待处理YUV数据的采样和纹理格式转换,以使得硬件GPU中的shader可以仅执行对纹理转换后得到的RGBA数据的渲染处理操作,从而可以减少纹理格式转换过程对渲染处理的影响,从硬件层面优化YUV数据渲染过程,有效提高了YUV数据的渲染效率。
[0015]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0017]图1示出相关技术中的一种YUV数据渲染方法的示意图。
[0018]图2示出根据本公开实施例的一种YUV数据渲染系统的框图。
[0019]图3示出根据本公开实施例的一种YUV数据渲染系统的示意图。
[0020]图4示出根据本公开实施例的一种YUV数据渲染方法的示意图。
[0021]图5示出根据本公开实施例的一种YUV数据渲染方法的流程图。
[0022]图6示出根据本公开实施例的一种电子设备的框图。
具体实施方式
[0023]以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0024]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0025]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种YUV数据渲染系统,其特征在于,所述系统包括:标准图形库应用程序编程接口OpenGL API、GPU驱动、GPU,所述GPU中包括:纹理处理单元、着色器shader;所述标准OpenGL API,用于接收待处理YUV数据的信息;所述GPU驱动,用于根据所述待处理YUV数据的信息,对所述纹理处理单元进行配置;所述GPU驱动,用于在接收到针对所述待处理YUV数据的渲染指令后,调用所述纹理处理单元对所述待处理YUV数据进行纹理格式转换,得到所述待处理YUV数据对应的RGBA数据,以及调用所述shader对所述RGBA数据进行渲染处理,得到所述待处理YUV数据对应的渲染后数据。2.根据权利要求1所述的方法,其特征在于,所述系统还包括:中间处理模块,所述中间处理模块包括:与所述标准OpenGL API对接的第一接口,以及与所述GPU驱动对接的第二接口;所述中间处理模块,用于基于所述第一接口,接收所述标准OpenGL API发送的所述待处理YUV数据的信息;所述中间处理模块,用于基于所述第二接口,将所述待处理YUV数据的信息发送至所述GPU驱动。3.根据权利要求1或2所述的系统,其特征在于,所述纹理处理单元包括:寄存器;所述GPU驱动,用于将所述待处理YUV数据的信息,绑定到预设OpenGL纹理,其中,所述待处理YUV数据的信息包括所述待处理YUV数据的显存地址信息;所述GPU驱动,用于根据所述预设OpenGL纹理,对所述纹理处理单元的寄存器进行配置。4.根据权利要求3所述的系统,其特征在于,所述系统还包括:GPU显存;所述寄存器,用于从所述预设OpenGL纹理中获取所述显存地址信息,以及基于所述显存地址信息,从所述GPU显存中读取所述待处理Y...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

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

1