接口输入数据的显示方法和设备及计算机可读介质与流程

allin2024-03-22  87



1.本发明涉及图像处理技术领域,特别涉及接口输入数据的显示方法和设备及计算机可读介质。


背景技术:

2.目前市面上诸如hdmi in的接口输入数据的显示应用中,大多数使用v4l2媒体框架,其中需要先用诸如mmap的内存映射文件的方法来映射缓冲区(buffer),得到虚拟地址;再通过计算机视觉(computer vision,cv)方式用cpu进行画面的缩放;最后进行显示。
3.但是现有的hdmi in显示方法中,使用cv方式进行画面缩放之前,需要根据虚拟地址获取到hdmi in的数据,并且使用cv方式进行画面缩放时需要读取图像,其中会涉及到多次拷贝的动作,显示效率较低。


技术实现要素:

4.本发明所要解决的技术问题是提供接口输入数据的显示方法和设备及计算机可读介质,能够提高接口输入数据的显示效率。
5.在本发明的一个方面,提供一种接口输入数据的显示方法。该方法包括步骤:获取待显示区域,将接口输入数据同步至所述待显示区域对应的缓冲区;以及将所述待显示区域传入数据处理进程,以通过所述数据处理进程显示与所述接口输入数据相对应的画面。
6.在一些实施例中,通过所述数据处理进程显示与所述接口输入数据相对应的画面包括:在所述数据处理进程中将所述缓冲区的数据绘制到所述待显示区域的纹理中。
7.在一些实施例中,通过所述数据处理进程显示与所述接口输入数据相对应的画面包括:将所述缓冲区的数据填充到所述待显示区域中。
8.在一些实施例中,该方法还包括:预先分配连续的所述缓冲区,以将连续的所述缓冲区与经由所述接口输入数据所对应的接口接入的设备进行绑定;以及采集由所述设备输入的数据。
9.在一些实施例中,将接口输入数据同步至与所述待显示区域相对应的缓冲区包括:将所述接口输入数据同步到与所述待显示区域相对应的缓冲区的队列中。
10.在一些实施例中,在所述数据处理进程中将所述缓冲区的数据绘制到所述待显示区域的纹理中包括:在所述数据处理进程中将图形图像处理接口与所述待显示区域绑定;以及基于所述图形图像处理接口,将所述缓冲区的数据绘制到所述待显示区域的纹理中。
11.在一些实施例中,在所述数据处理进程中将所述缓冲区的数据填充到所述待显示区域中包括:在所述数据处理进程中将所述缓冲区的数据重新封装;以及将重新封装的缓冲区数据映射到物理地址,以使得图形加速器通过所述物理地址将所述缓冲区的数据的大小调整为重新封装的缓冲区数据的大小后进行画面显示。
12.在一些实施例中,在所述数据处理进程中将所述缓冲区的数据重新封装包括:在所述数据处理进程中将所述缓冲区的数据出队列;以及将所述缓冲区的数据重新封装为图
形化缓冲区数据。
13.在一些实施例中,所述接口输入数据通过高清多媒体接口hdmi输入。
14.在本发明的另一方面,提供一种接口输入数据的显示设备。该设备包括存储器,被配置为存储计算机程序;以及处理器,被配置为执行所述计算机程序以执行上述的接口输入数据的显示方法。
15.在本发明的又一方面,提供一种计算机可读介质。该介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述的接口输入数据的显示方法。
16.本发明的有益效果在于:获取待显示区域,将接口输入数据同步至待显示区域对应的缓冲区,将待显示区域传入数据处理进程中,从而在数据处理进程中通过数据处理进程显示与接口数据数据相对应的画面。由于待显示区域与缓冲区数据存在对应关系,可以通过待显示区域直接确定到对应的缓冲区数据,因此直接根据缓冲区中的数据进行处理和显示即可,保证在显示接口输入数据时不涉及数据的拷贝,从而实现接口输入数据的零拷贝显示,提高接口输入数据的显示效率。
附图说明
17.图1为根据本发明实施例的接口输入数据的显示方法的流程图;
18.图2为根据本发明实施例的接口输入数据的显示方法的将数据绘制到待显示区域的流程图;
19.图3为根据本发明实施例的接口输入数据的显示方法的将数据填充到待显示区域的流程图;
20.图4为本发明实施例的接口输入数据的显示设备的框图。
具体实施方式
21.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
22.在已有技术中,接口输入数据的显示过程中会涉及到多次拷贝的动作,导致显示效率较低。
23.为了解决至少上述技术问题,本公开提供了接口输入数据显示方法。根据本公开,获取待显示区域,将接口输入数据数据同步至待显示区域对应的缓冲区,将待显示区域传入数据处理进程,以通过数据处理进程显示与所述接口输入数据相对应的画面,从而实现接口输入数据的零拷贝显示。以此方式,根据本公开的实施例能够提高接口输入数据的显示效率。
24.下文中,将参考具体实施例并且结合附图描述根据本公开的技术方案。
25.图1是示出根据本公开的实施例的接口输入数据显示方法100的流程图。参照图1,该方法100包括以下步骤102和步骤104。
26.在步骤102,获取待显示区域,将接口输入数据同步至所述待显示区域对应的缓冲区。在一些实施例中,先预先分配连续的缓冲区,将连续的缓冲区与经由该接口接入的设备进行绑定,再采集通过该接口输入的数据,将采集到的接口输入数据同步到待显示区域对应的缓冲区的队列中。以此方式,直接将绑定的设备从接口输入数据至连续缓冲区,能够直
接基于连续缓冲区进行处理,提升显示效率。
27.在一些实施例中,所述接口为高清多媒体接口(hdmi)。在本文中,经由hdmi输入的数据可以被简称为hdmi in。
28.在步骤104,将所述待显示区域传入数据处理进程,以通过所述数据处理进程显示与所述接口输入数据相对应的画面。在一些实施例中,将与所述接口输入数据相对应的画面绘制或者填充到所述待显示区域中。
29.在一些实施例中,在所述数据处理进程中将所述缓冲区的数据绘制到所述待显示区域的纹理中。在一些实施例中,将缓冲区数据绘制至待显示区域的纹理时,在数据处理进程中将图形图像处理接口与待显示区域绑定,从而基于图形图像处理接口,将待显示区域对应的缓冲区数据绘制到待显示区域的纹理中。以此方式,能够直接通过待显示区域所对应的缓冲区数据经图形图像处理接口绘制到待显示区域,进一步提升显示效率。
30.在一些实施例中,在所述数据处理进程中将所述缓冲区的数据填充到所述待显示区域中。在一些实施例中,将缓冲区数据填充至待显示区域时,在数据处理进程中将待显示区域对应的缓冲区数据出队列,并重新封装缓冲区数据为图形化缓冲区数据。将重新封装的数据映射到物理地址,以使得图形加速器通过物理地址将缓冲区的数据的大小调整为重新封装的数据的大小,之后对其进行显示。以此方式,通过重封装缓冲区数据来调整视频数据大小,不需要进行数据拷贝,进一步提升显示效率。
31.下文中,将通过示例描述根据本发明实施例的接口输入数据的显示方法及设备在hdmi接口的应用场景。
32.图2是示出根据本发明实施例的hdmi in显示方法的将数据绘制到待显示区域的方法的流程图。如图2所示,该方法包括以下步骤202至步骤214。
33.在步骤202,预先通过连续内存分配(contiguous memory allocator,cma)进行缓冲区(buffer)的分配。
34.在步骤204,将通过cma分配的buffer绑定到hdmi in设备。
35.在步骤206,采集hdmi in数据,并同步hdmi in数据到cma buffer队列。
36.在步骤208,获取android中的待显示区域surface,其中待显示区域在连续缓冲区中有对应的缓冲区。
37.在步骤210,通过android设备上进行进程间通信的binder把surface传入数据处理进程。
38.在步骤212,将图形图像处理接口opengles与surface绑定。
39.在此步骤中,opengles是opengl的一个子集,是专门用来针对手机、平板电脑等嵌入式设备的图形图像处理接口,接口设计中不涉及上下文环境和窗口的管理,这由各个平台自行实现。
40.在步骤214,把surface对应的cma buffer写入surface纹理(surface texture),并进行画面显示。
41.图3是示出根据本发明实施例的hdmi in显示方法的将数据绘制到待显示区域的方法的流程图。如图3所示,该方法包括以下步骤302至步骤318。
42.在步骤302,预先通过连续内存分配(contiguous memory allocator,cma)进行缓冲区(buffer)的分配。
43.在步骤304,将通过cma分配的buffer绑定到hdmi in设备。
44.在步骤306,采集hdmi in数据,并同步hdmi in数据到cma buffer队列。
45.在步骤308,获取android中的待显示区域surface。
46.在步骤310,通过android设备上进行进程间通信的binder把surface传入数据处理进程。
47.在步骤312,根据数据处理进程拿到surface,将surface对应生产者的buffer出队列。
48.在步骤314,重新封装生产者的buffer为android graphicbuffer形式。
49.在步骤316,图形加速器(rga)开启输入/输出内存管理单元(input/output memory management unit,iommu),映射图形化缓冲区(android graphicbuffer)的fd到物理地址。
50.在步骤318,rga 以物理地址句柄将cma buffer调整为android graphicbuffer的大小,并进行画面显示。
51.根据本发明的另一方面,图4是示出根据本发明实施例的接口输入数据的显示设备400的示意图。参照图4,该电子设备400包括存储器402、处理器404以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上面描述的接口输入数据的显示方法的各个步骤。
52.根据本发明的又一方面,提供了一种计算机可读介质。该计算机可读介质上存储有计算机程序,该计算机程序被处理器执行以实现如上面描述的接口输入数据的显示方法。
53.综上所述,本发明提供的接口输入数据的显示方法和设备及计算机可读介质,获取待显示区域,将接口输入数据同步至待显示区域对应的缓冲区,将待显示区域传入数据处理进程中,从而在数据处理进程中将待显示区域对应的缓冲区数据绘制到待显示区域的纹理中或者将待显示区域对应的缓冲区数据填充到待显示区域中。其中,将缓冲区数据绘制至待显示区域的纹理时,在数据处理进程中将图形图像处理接口与待显示区域绑定,从而基于图形图像处理接口,将待显示区域对应的缓冲区数据绘制到待显示区域的纹理,进一步提升显示效率。将缓冲区数据填充至待显示区域时,将重新封装的数据映射到物理地址,以使得图形加速器通过物理地址将缓冲区的数据的大小调整为重新封装的数据的大小,从而能够直接将缓冲区的数据直接填充到待显示区域,在不拷贝数据的情况下自动调整缓冲区大小,进一步提升显示效率。因此,由于使用连续分配的缓冲区,不需要进行缓冲区虚拟地址的映射;并且由于待显示区域与缓冲区数据存在对应关系,可以通过待显示区域直接确定到对应的缓冲区数据,因此直接根据缓冲区中的数据进行绘制或填充即可,保证在显示接口输入数据时不涉及数据的拷贝,从而实现接口输入数据的零拷贝显示,提高接口输入数据的显示效率。
54.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种接口输入数据的显示方法,其特征在于,包括:获取待显示区域,将接口输入数据同步至与所述待显示区域相对应的缓冲区;以及将所述待显示区域传入数据处理进程,以通过所述数据处理进程显示与所述接口输入数据相对应的画面。2.根据权利要求1所述的显示方法,其特征在于,通过所述数据处理进程显示与所述接口输入数据相对应的画面包括:在所述数据处理进程中将所述缓冲区的数据绘制到所述待显示区域的纹理中。3.根据权利要求1所述的显示方法,其特征在于,通过所述数据处理进程显示与所述接口输入数据相对应的画面包括:将所述缓冲区的数据填充到所述待显示区域中。4.根据权利要求1所述的显示方法,其特征在于,还包括:预先分配连续的所述缓冲区,以将连续的所述缓冲区与经由所述接口输入数据所对应的接口接入的设备进行绑定;以及采集由所述设备输入的数据。5.根据权利要求1所述的显示方法,其特征在于,将接口输入数据同步至与所述待显示区域相对应的缓冲区包括:将所述接口输入数据同步到与所述待显示区域相对应的缓冲区的队列中。6.根据权利要求2所述的显示方法,其特征在于,在所述数据处理进程中将所述缓冲区的数据绘制到所述待显示区域的纹理中包括:在所述数据处理进程中将图形图像处理接口与所述待显示区域绑定;以及基于所述图形图像处理接口,将所述缓冲区的数据绘制到所述待显示区域的纹理中。7.根据权利要求3所述的显示方法,其特征在于,在所述数据处理进程中将所述缓冲区的数据填充到所述待显示区域中包括:在所述数据处理进程中将所述缓冲区的数据重新封装;以及将重新封装的缓冲区数据映射到物理地址,以使得图形加速器通过所述物理地址将所述缓冲区的数据的大小调整为重新封装的缓冲区数据的大小后进行画面显示。8.根据权利要求7所述的显示方法,其特征在于,在所述数据处理进程中将所述缓冲区的数据重新封装包括:在所述数据处理进程中将所述缓冲区的数据出队列;以及将所述缓冲区的数据重新封装为图形化缓冲区数据。9.根据权利要求1至8中任一项所述的显示方法,其特征在于,所述接口输入数据通过高清多媒体接口输入。10.一种接口输入数据的显示设备,其特征在于,包括:存储器,被配置为存储计算机程序;以及处理器,被配置为执行所述计算机程序以执行根据权利要求1至9中任意一项所述的显示方法。11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现根据权利要求1至9中任意一项所述的显示方法。

技术总结
本发明公开了接口输入数据显示方法和设备及计算机可读介质,获取待显示区域,将接口输入数据数据同步至待显示区域对应的缓冲区,将待显示区域传入数据处理进程中,从而在数据处理进程中通过数据处理进程显示与接口数据数据相对应的画面。由于使用连续分配的缓冲区,不需要进行缓冲区虚拟地址的映射;并且由于待显示区域与缓冲区数据存在对应关系,可以通过待显示区域直接确定到对应的缓冲区数据,因此直接根据缓冲区中的数据进行处理和显示即可,保证在显示接口输入数据数据时不涉及数据的拷贝,从而实现接口输入数据的零拷贝显示,提高接口输入数据的显示效率。提高接口输入数据的显示效率。提高接口输入数据的显示效率。


技术研发人员:吴丽
受保护的技术使用者:瑞芯微电子股份有限公司
技术研发日:2022.03.17
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-12620.html

最新回复(0)