全景影像显示方法、计算机存储介质及电子设备技术

技术编号:28941411 阅读:13 留言:0更新日期:2021-06-18 21:46
本发明专利技术提供了一种全景影像显示方法、计算机存储介质及电子设备。本发明专利技术通过全景影像显示进程加载函数接口库,创建函数接口库对应的实例,按照预先设置的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例,并通过调用第一接口获取显示屏标识和队列长度,进而基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间,然后控制全景影像显示进程利用显存空间进行全景图像绘制,并将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示,从而使全景影像显示进程与安卓系统的原生surfaceflinger服务解绑,且可保证全景影像系统的全景图像的显示级别最高。

【技术实现步骤摘要】
全景影像显示方法、计算机存储介质及电子设备
本专利技术涉及车载摄像
,特别是涉及一种基于安卓系统的全景影像显示方法、计算机存储介质及电子设备。
技术介绍
全景影像系统(AroundViewMonitor,简称AVM)通过多个超大广角鱼眼镜头拍摄图像,然后经过数据处理对拍摄图像进行畸变矫正以及拼接,形成车辆周围的影像并显示在车载终端的显示屏上。目前的基于安卓(Android)系统的全景影像系统出图显示方案,在车载终端的显示屏上显示全景影像系统图形时,必须等待Android系统的系统框架层的原生surfaceflinger服务(即,原生图形绘制服务,其为Android系统的一个native进程,负责将一些应用程序的图层进行合成,图层叠加后构成UI(用户交互)界面)启动并且与原生surfaceflinger服务建立通信之后才能进行显示,且当有其他应用程序被调起时会遮挡全景影像系统的画面,从而影响行车安全。
技术实现思路
鉴于上述技术问题,提出了一种解决上述问题或者至少部分解决上述问题的全景影像显示方法、计算机存储介质及电子设备。本专利技术的一个目的是要提供一种基于安卓系统的全景影像显示方法,使得全景图像的显示时机不再受限于Android系统的原生图形绘制服务的启动时机。本专利技术一个进一步的目的是要使得全景影像系统的全景图像的显示优先级最高,以便保证全景影像系统的全景图像所在图层不会被其它应用程序的图层覆盖,确保行车安全。特别地,根据本专利技术的一方面,本专利技术提供了一种基于安卓系统的全景影像显示方法,安卓系统包括系统框架层和Linux内核层,系统框架层配置有用于与Linux内核层的显示屏的虚拟驱动设备进行交互的函数接口库,基于安卓系统的全景影像显示方法包括:启动全景影像显示进程,在全景影像显示进程中加载函数接口库;创建函数接口库对应的实例,按照预先设置的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例;调用实例提供的第一接口,以获取显示屏标识和队列长度;基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间;控制全景影像显示进程利用显存空间进行图像绘制,并将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示。可选地,控制全景影像显示进程利用显存空间进行全景图像绘制,包括:通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出一块缓存区;利用取出的缓存区绘制全景图像。可选地,通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出一块缓存区,包括:通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出状态标识为空闲的一块缓存区;且在利用取出的缓存区绘制全景图像之后,基于安卓系统的全景影像显示方法还包括:将绘制完成全景图像的缓存区的状态标识更改为绘制完成。可选地,将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示,包括:通过调用实例的消费缓存queuebuffer函数,找到显存空间的缓存队列中状态标识为绘制完成的缓存区;调用实例提供的第二接口向虚拟驱动设备发送第二指令,以将状态标识为绘制完成的缓存区内需要显示的全景图像的数据送达虚拟驱动设备进行显示。可选地,在调用实例提供的第二接口向虚拟驱动设备发送第二指令之前,还包括:调用实例提供的第三接口向虚拟驱动设备发送第一指令,以使虚拟驱动设备忽略安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据。可选地,在调用实例提供的第二接口向虚拟驱动设备发送第二指令之后,还包括:监测全景影像系统进程是否退出;若是,调用实例提供的第四接口向虚拟驱动设备发送第三指令,以使虚拟驱动设备接收安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据进行显示。可选地,在将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示之后,前述基于安卓系统的全景影像显示方法,还包括:删除显存空间的缓存队列中绘制完成全景图像的缓存区内的已显示完成的全景图像的数据。可选地,启动全景影像显示进程,包括:在开机阶段,在Linux内核层完全启动后启动全景影像显示进程。根据本专利技术的另一方面,本专利技术还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行前述任一个的基于安卓系统的全景影像显示方法。根据本专利技术的又一方面,本专利技术还提供了一种电子设备,包括:处理器;存储器,存储有计算机程序代码,当计算机程序代码被处理器运行时,导致电子设备执行前述任一个的基于安卓系统的全景影像显示方法。本专利技术的方案通过在系统框架层增加函数接口库与Linux内核层的显示屏的虚拟驱动设备进行交互,使全景影像显示进程与安卓系统的原生surfaceflinger服务(即,原生图形绘制服务)解绑,全景影像显示进程通过函数接口库进行UI界面的绘制,使最终显示在车载终端的显示屏上的全景图像的显示时机不再受限于原生surfaceflinger服务的启动时机。进一步地,本专利技术通过调用实例提供的第三接口向虚拟驱动显示设备发送第一指令,可以使虚拟驱动设备忽略安卓系统的原生surfaceflinger服务送来的其它应用程序的显示图像的数据,从而使全景影像系统的全景图像显示的优先级最高,以便保证全景影像系统的全景图像所在图层不会被其它应用程序的图层覆盖,从而能够确保行车安全。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:图1是根据本专利技术一个实施例的安卓系统的示意性框架框图;图2是根据本专利技术一个实施例的基于安卓系统的全景影像显示方法的示意性流程图;图3是根据本专利技术另一个实施例的基于安卓系统的全景影像显示方法的示意性流程图;图4是根据本专利技术一个实施例的电子设备的示意性结构图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。图1是根据本专利技术一个实施例的安卓系统100的示意性框架框图。参见图1,安卓(Android)系统100可以包括Linux内核层110、应用程序层120以及系统框架层130。Linux内核层110主要用于完成Android系统100所具有的功能,其内具有显示屏的虚拟驱动设备11本文档来自技高网...

【技术保护点】
1.一种基于安卓系统的全景影像显示方法,所述安卓系统包括系统框架层和Linux内核层,所述系统框架层配置有用于与所述Linux内核层的显示屏的虚拟驱动设备进行交互的函数接口库,所述方法包括:/n启动全景影像显示进程,在所述全景影像显示进程中加载所述函数接口库;/n创建所述函数接口库对应的实例,按照预先设置的显示屏标识以及所述函数接口库支持的缓存队列的队列长度初始化所述实例;/n调用所述实例提供的第一接口,以获取所述显示屏标识和所述队列长度;/n基于所述显示屏标识打开对应的虚拟驱动设备,并向所述虚拟驱动设备申请满足所述队列长度的显存空间;/n控制所述全景影像显示进程利用所述显存空间进行全景图像绘制,并将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示。/n

【技术特征摘要】
1.一种基于安卓系统的全景影像显示方法,所述安卓系统包括系统框架层和Linux内核层,所述系统框架层配置有用于与所述Linux内核层的显示屏的虚拟驱动设备进行交互的函数接口库,所述方法包括:
启动全景影像显示进程,在所述全景影像显示进程中加载所述函数接口库;
创建所述函数接口库对应的实例,按照预先设置的显示屏标识以及所述函数接口库支持的缓存队列的队列长度初始化所述实例;
调用所述实例提供的第一接口,以获取所述显示屏标识和所述队列长度;
基于所述显示屏标识打开对应的虚拟驱动设备,并向所述虚拟驱动设备申请满足所述队列长度的显存空间;
控制所述全景影像显示进程利用所述显存空间进行全景图像绘制,并将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示。


2.根据权利要求1所述的基于安卓系统的全景影像显示方法,其中,控制所述全景影像显示进程利用所述显存空间进行全景图像绘制,包括:
通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出一块缓存区;
利用取出的所述缓存区绘制全景图像。


3.根据权利要求2所述的基于安卓系统的全景影像显示方法,其中,
所述通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出一块缓存区,包括:
通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出状态标识为空闲的一块缓存区;且
在利用取出的所述缓存区绘制全景图像之后,所述方法还包括:
将绘制完成所述全景图像的所述缓存区的所述状态标识更改为绘制完成。


4.根据权利要求3所述的基于安卓系统的全景影像显示方法,其中,所述将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示,包括:
通过调用所述实例的消费缓存queuebuffer函数,找到所述显存空间的缓存队列中所述状态标识为绘制完成的缓存区;<...

【专利技术属性】
技术研发人员:刘预哲
申请(专利权)人:湖北亿咖通科技有限公司
类型:发明
国别省市:湖北;42

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

1