CN112988357B - 全景影像显示方法、计算机存储介质及电子设备 - Google Patents
全景影像显示方法、计算机存储介质及电子设备 Download PDFInfo
- Publication number
- CN112988357B CN112988357B CN202110398369.2A CN202110398369A CN112988357B CN 112988357 B CN112988357 B CN 112988357B CN 202110398369 A CN202110398369 A CN 202110398369A CN 112988357 B CN112988357 B CN 112988357B
- Authority
- CN
- China
- Prior art keywords
- panoramic image
- image display
- buffer
- virtual drive
- display
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000006870 function Effects 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 48
- 238000004519 manufacturing process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000009877 rendering Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- AFWTZXXDGQBIKW-UHFFFAOYSA-N C14 surfactin Natural products CCCCCCCCCCCC1CC(=O)NC(CCC(O)=O)C(=O)NC(CC(C)C)C(=O)NC(CC(C)C)C(=O)NC(C(C)C)C(=O)NC(CC(O)=O)C(=O)NC(CC(C)C)C(=O)NC(CC(C)C)C(=O)O1 AFWTZXXDGQBIKW-UHFFFAOYSA-N 0.000 description 5
- NJGWOFRZMQRKHT-UHFFFAOYSA-N surfactin Natural products CC(C)CCCCCCCCCC1CC(=O)NC(CCC(O)=O)C(=O)NC(CC(C)C)C(=O)NC(CC(C)C)C(=O)NC(C(C)C)C(=O)NC(CC(O)=O)C(=O)NC(CC(C)C)C(=O)NC(CC(C)C)C(=O)O1 NJGWOFRZMQRKHT-UHFFFAOYSA-N 0.000 description 5
- NJGWOFRZMQRKHT-WGVNQGGSSA-N surfactin C Chemical compound CC(C)CCCCCCCCC[C@@H]1CC(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CC(C)C)C(=O)N[C@H](CC(C)C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)O1 NJGWOFRZMQRKHT-WGVNQGGSSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供了一种全景影像显示方法、计算机存储介质及电子设备。本发明通过全景影像显示进程加载函数接口库,创建函数接口库对应的实例,按照预先设置的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例,并通过调用第一接口获取显示屏标识和队列长度,进而基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间,然后控制全景影像显示进程利用显存空间进行全景图像绘制,并将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示,从而使全景影像显示进程与安卓系统的原生surfaceflinger服务解绑,且可保证全景影像系统的全景图像的显示级别最高。
Description
技术领域
本发明涉及车载摄像技术领域,特别是涉及一种基于安卓系统的全景影像显示方法、计算机存储介质及电子设备。
背景技术
全景影像系统(Around View Monitor,简称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所具有的功能,其内具有显示屏的虚拟驱动设备111。
应用程序层120由运行在Android设备上的多个应用程序121构成,包括预装的系统应用和后期安装的第三方应用。
系统框架层130设置在Linux内核层110与应用程序层120之间,可用于支持应用程序层120中的应用程序121的运行。系统框架层130配置有原生surfaceflinger服务(即,原生图形绘制服务)131、Gralloc(Graphics Alloc,图形分配)模块132、函数库加载模块133以及函数接口库134。原生surfaceflinger服务131用于绘制应用程序层120中各应用程序121的图形。Gralloc模块132用于从原生surfaceflinger服务接收绘制完成的各应用程序的显示图像的数据,并送达Linux内核层110的显示屏的虚拟驱动设备111进行显示。函数库加载模块133用于启动全景影像显示进程,并在全景影像显示进程中加载函数接口库134。函数接口库134用于与Linux内核层110的显示屏的虚拟驱动设备111进行交互。
需要说明的是,绘制应用程序层120中各应用程序121的显示图像的数据的意思是将应用程序层120中各应用程序的显示图像的数据写入到原生surfaceflinger服务131所支持的缓存队列中。
图2是根据本发明一个实施例的基于安卓系统的全景影像显示方法的示意性流程图。参见图2,在本发明一实施例中,基于安卓系统的全景影像显示方法可包括步骤S202至步骤S210。
步骤S202,启动全景影像显示进程,在全景影像显示进程中加载函数接口库。
步骤S204,创建函数接口库对应的实例,按照预先设置的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例。
步骤S206,调用实例提供的第一接口,以获取显示屏标识和队列长度。
步骤S208,基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间。
步骤S210,控制全景影像显示进程利用显存空间进行图像绘制,并将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示。
本发明实施例的安卓系统的系统框架层新增有用于与Linux内核层的显示屏的虚拟驱动设备进行交互的函数接口库,通过在全景影像显示进程中加载函数接口库,创建函数接口库对应的实例,按照预先设备的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例,然后通过调用实例提供的第一接口获取显示屏标识和缓存队列的队列长度,进而基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间,从而控制全景影像显示进程利用申请到的显存空间进行图像绘制,并将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示。本发明实施例的方案通过在系统框架层增加函数接口库与Linux内核层的显示屏的虚拟驱动设备进行交互,使全景影像显示进程与安卓系统的原生surfaceflinger服务(即,原生图形绘制服务)解绑,进而全景影像显示进程通过函数接口库进行全景图像绘制,使最终显示在车载终端中显示屏上的全景图像的显示时机不再受限于原生surfaceflinger服务的启动时机,提高了全景图像显示的灵活性,提升了全景影像系统的出图显示效率。
实际应用中,全景影像显示进程的启动时机尤为重要,通过设置合理的启动时机,有助于提高全景影像系统的出图显示效率。在本发明的一些实施例中,对于步骤S202中启动全景影像显示进程,可在开机阶段,在Linux内核层完全启动后启动全景影像显示进程,如此通过设置合适的启动时机,即可最大程度提高全景影像系统的出图显示效率。
步骤S204中的函数接口库支持的缓存队列可包括多块缓存区。在本发明一实施例中,在控制全景影像显示进程利用显存空间进行图像绘制时,可通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出一块缓存区,进而利用取出的缓存区绘制全景图像。这里绘制全景图像的意思是将GPU(Graphics Processing Unit,图形处理器)已经处理好的从车载摄像头采集的全景图像的数据写入函数接口库支持的缓存队列的缓存区内。本实施例调用生产缓存dequeueBuffer函数来绘制全景图像,能够提高全景影像系统的稳定性,有助于提升后续全景图像的显示效果。
其中,每块缓存区可具有状态标识,例如可以包括:正在显示、正在绘制、绘制完成以及空闲等状态标识。
在一些实施例中,在通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出一块缓存区时,可通过调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出状态标识为空闲的一块缓存区。然后利用取出的状态标识为空闲的缓存区绘制全景图像,并将绘制完成全景图像的缓存区的状态标识更改为绘制完成。
在另一些实施例中,在利用某一空闲缓存区绘制全景图像的过程中,还可将缓存区的状态标识从空闲更改为正在绘制,然后检测状态标识为正在绘制的缓存区内全景图像是否已绘制完成,并在绘制完成后将缓存区的状态标识从正在绘制更改为绘制完成。通过缓存区的状态标识可方便及时了解缓存区的全景图像的绘制状态。
对于步骤S210中的将绘制完成后的全景图像的数据送达虚拟驱动设备进行显示,本发明实施例提供了一种具体实施方式。在本发明的一具体实施例中,可通过调用实例的消费缓存queuebuffer函数,找到显存空间的缓存队列中状态标识为绘制完成的缓存区,然后调用实例提供的第二接口向虚拟驱动设备发送第二指令,以将状态标识为绘制完成的缓存区中需要显示的全景图像的数据送达虚拟驱动设备进行显示。相应地,虚拟驱动设备可接收第二指令,并对第二指令进行解析处理,得到缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据,并根据需要显示的全景图像的数据进行显示。本实施例通过调用实例的消费缓存queuebuffer函数,可以迅速获取缓存队列中状态标识为绘制完成的缓存区,进而对缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据进行显示,从而简便了显示逻辑,提高了全景影像系统的出图显示的准确度。并且,通过状态标识查找需要显示的缓存区,可有效缩短查找时间,大大提高了全景影像系统的出图显示效率。
在本发明的一些实施例中,在调用实例提供的第二接口向虚拟驱动设备发送第二指令之前,还可调用实例提供的第三接口向虚拟驱动设备发送第一指令,以使虚拟驱动设备忽略安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据。基于该实施例可使全景影像系统的全景图像显示的优先级最高,以便保证全景影像系统的全景图像所在图层不会被其它应用程序的图层覆盖,从而能够确保行车安全。
在本发明的另一些实施例中,在调用实例提供的第二接口向虚拟驱动设备发送第二指令之后,还可以监测全景影像显示进程是否退出,并在监测到全景影像显示进程退出时,通过实例提供的第四接口向虚拟驱动设备发送第三指令,以使虚拟驱动设备继续接收安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据进行显示。本实施例在出图显示过程中,可监测全景影像显示进程的运行状态,避免了其他应用程序被调起时,其他应用程序的显示图像所在的图层被全景图像所在的图层覆盖,从而造成其它应用程序运行异常的情况。
考虑到缓存队列的队列长度通常是固定的,如果函数接口库支持的缓存队列内容纳的全景图像的数据已达到该缓存队列的队列长度(即,队列的最大值),全景影像显示进程就无法再利用缓存队列进行全景图像的绘制,从而导致车载终端的显示屏无法显示新的全景图像,容易引发安全问题,尤其在倒车场景时,因无法观察到倒车影像,极易造成倒车碰撞,降低了用户的使用体验。针对这种情况,在本发明一些实施例中,还可实时或间隔预设时间检测缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据是否均已显示完成。若均已显示完成,则可将全景图像的数据均已显示完成的缓存区的状态标识从绘制完成更改为显示完成,并删除状态标识为显示完成的缓存区内的全部全景图像的数据。反之,若未全部显示完成,则可删除状态标识为绘制完成的缓存区内的已显示完成的全景图像的数据。本实施例可在绘制完成的缓存区中需要显示的全景图像的数据均显示完成时,删除全部缓存区内全部全景图像的数据,而在未全部显示完成时,仅删除缓存区内的已显示完成的全景图像的数据,从而可及时释放缓存队列空间,以便接收新的全景图像的数据。
进一步的,针对缓存队列中的任一块缓存区,在将该缓存区内的已显示完成的全景图像的数据全部删除完成后,还可将该缓存区的状态标识从显示完成更改为空闲,以便全景影像显示进程获取空闲的缓存区进行新的全景图像的绘制。
图3是根据本发明另一个实施例的基于安卓系统的全景影像显示方法的示意性流程图。参见图3,在本发明一实施例中,基于安卓系统的全景影像显示方法可包括步骤S302至步骤S332。
步骤S302,在开机阶段启动Linux内核层。
步骤S304,判断Linux内核层是否完全启动。若是,执行步骤S306;若否,返回步骤S302。
步骤S306,启动全景影像显示进程。
步骤S308,在全景影像显示进程中加载函数接口库,并创建函数接口库对应的实例。
步骤S310,按照预先设置的显示屏标识以及函数接口库支持的缓存队列的队列长度初始化实例。
步骤S312,调用实例提供的第一接口,获取显示屏标识和队列长度。
步骤S314,基于显示屏标识打开对应的虚拟驱动设备,并向虚拟驱动设备申请满足队列长度的显存空间。
步骤S316,调用实例的生产缓存dequeueBuffer函数从显存空间的缓存队列中取出状态标识为空闲的一块缓存区。
步骤S318,利用取出的空闲缓存区绘制全景图像,将该空闲缓存区的状态标识从空闲更改为正在绘制。
步骤S320,判断状态标识为正在绘制的缓存区内全景图像是否绘制完成。若是,执行步骤S322;若否,继续执行步骤S320。
步骤S322,将绘制完成全景图像的缓存区的状态标识从正在绘制更改为绘制完成。
步骤S324,调用实例提供的第三接口向虚拟驱动设备发送第一指令。该步骤中的第一指令用于使虚拟驱动设备忽略安卓系统的原生图形绘制服务送来的其他应用程序的显示图像的数据。
步骤S326,调用实例的消费缓存queuebuffer函数,找到显存空间的缓存队列中状态标识为绘制完成的缓存区,调用实例提供的第二接口并向虚拟驱动设备发送第二指令。该步骤中第二指令包括缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据。虚拟驱动设备在接收到第二指令后,对第二指令进行解析处理,得到缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据,并根据解析处理得到的全景图像的数据进行显示。
步骤S328,删除显存空间的缓存队列中状态标识为绘制完成的缓存区内已显示完成的全景图像的数据,将该绘制完成的缓存区的状态标识更改为空闲。
步骤S330,监测全景影像系统进程是否退出。若退出,执行步骤S332;若未退出,返回步骤S316。
步骤S332,通过实例提供的第四接口向虚拟驱动设备发送第三指令。该步骤中的第三指令用于使虚拟驱动设备接收安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据进行显示。
本发明实施例中,全景影像显示进程可直接调用与虚拟驱动设备交互的函数接口库进行全景图像显示,可以做到在Linux内核层启动后即可与车载终端的显示屏的虚拟驱动设备进行交互,不必等待安卓系统的应用框架层的原生图形绘制服务启动,在虚拟驱动设备收到全景影像显示进程进行送显的图层时,可屏蔽原生图形绘制服务送显的图层,从而能够保证全景图像显示时,其它应用程序无法覆盖在全景影像系统图像之上,确保了全景图像的显示优先级最高。
在另一些实施例中,在执行步骤S326之后,还可判断缓存队列中状态标识为绘制完成的缓存区中需要显示的全景图像的数据是否均已显示完成。若均已显示完成,可将显示完成的缓存区的状态标识从绘制完成更改为显示完成,并删除状态标识为显示完成的缓存区内的全部全景图像的数据。若未全部显示完成,则继续执行前述步骤S328。如此可节省存储资源,提高出图显示效率。
基于同一发明构思,在本发明一实施例中,还提供了一种计算机存储介质。该实施例的计算机存储介质存储有计算机程序代码。当计算机程序代码在计算设备上运行时,导致计算设备执行前述任意一个实施例或多个实施例的组合中的基于安卓系统的全景影像显示方法。
上述的第一接口、第二接口、第三接口和第二接口为函数接口库中的软接口,通过这些接口接受或者发送相应的指令。
基于同一发明构思,在本发明一实施例中,还提供了一种电子设备。图4是根据本发明一个实施例的电子设备400的示意性结构图。参见图4,该实施例的电子设备可以包括处理器410以及存储器420。
存储器420内可存储有计算机程序代码,当计算机程序代码被处理器410运行时,导致电子设备400执行前述任意一个或多个实施例组合中的基于安卓系统的全景影像显示方法。
根据上述任意一个实施例或多个实施例的组合,本发明实施例能够达到如下有益效果:
采用本发明实施例的方案,可以使全景影像显示进程与安卓系统的原生图形绘制服务解绑,进而全景影像显示进程通过新增的函数接口库进行全景图像的绘制,从而使最终显示在车载终端中显示屏上的全景图像的显示时机不再受限于原生图形绘制服务的启动时机,出图显示效率得以大大提升。并且,本发明实施例通过调用实例提供的第三接口可向虚拟驱动显示设备发送第一指令,可以使虚拟驱动设备忽略安卓系统的原生图形绘制服务送来的显示图形,从而使全景影像系统的全景图像的显示优先级最高,避免了全景图像所在图层被其它应用程序的图层所覆盖,从而确保了行车安全。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
Claims (8)
1.一种基于安卓系统的全景影像显示方法,所述安卓系统包括系统框架层和Linux内核层,所述系统框架层配置有用于与所述Linux内核层的显示屏的虚拟驱动设备进行交互的函数接口库,所述方法包括:
启动全景影像显示进程,在所述全景影像显示进程中加载所述函数接口库;
创建所述函数接口库对应的实例,按照预先设置的显示屏标识以及所述函数接口库支持的缓存队列的队列长度初始化所述实例;
调用所述实例提供的第一接口,以获取所述显示屏标识和所述队列长度;
基于所述显示屏标识打开对应的虚拟驱动设备,并向所述虚拟驱动设备申请满足所述队列长度的显存空间;
控制所述全景影像显示进程利用所述显存空间进行全景图像绘制,并将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示;
其中,所述将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示的步骤包括:
通过调用所述实例的消费缓存queuebuffer函数,找到所述显存空间的缓存队列中状态标识为绘制完成的缓存区;
调用所述实例提供的第三接口向所述虚拟驱动设备发送第一指令,以使所述虚拟驱动设备忽略所述安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据;
调用所述实例提供的第二接口向所述虚拟驱动设备发送第二指令,将所述状态标识为绘制完成的缓存区中需要显示的全景图像的数据送达所述虚拟驱动设备进行显示。
2.根据权利要求1所述的基于安卓系统的全景影像显示方法,其中,控制所述全景影像显示进程利用所述显存空间进行全景图像绘制,包括:
通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出一块缓存区;
利用取出的所述缓存区绘制全景图像。
3.根据权利要求2所述的基于安卓系统的全景影像显示方法,其中,
所述通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出一块缓存区,包括:
通过调用所述实例的生产缓存dequeueBuffer函数从所述显存空间的缓存队列中取出状态标识为空闲的一块缓存区;且
在利用取出的所述缓存区绘制全景图像之后,所述方法还包括:
将绘制完成所述全景图像的所述缓存区的所述状态标识更改为绘制完成。
4.根据权利要求1所述的基于安卓系统的全景影像显示方法,在调用所述实例提供的第二接口向所述虚拟驱动设备发送第二指令之后,还包括:
监测所述全景影像显示进程是否退出;
若是,调用所述实例提供的第四接口向所述虚拟驱动设备发送第三指令,以使所述虚拟驱动设备接收所述安卓系统的原生图形绘制服务送过来的其他应用程序的显示图像的数据进行显示。
5.根据权利要求1所述的基于安卓系统的全景影像显示方法,其中,在将绘制完成后的所述全景图像的数据送达所述虚拟驱动设备进行显示之后,所述方法还包括:
删除所述显存空间的缓存队列中绘制完成所述全景图像的缓存区内的已显示完成的所述全景图像的数据。
6.根据权利要求1所述的基于安卓系统的全景影像显示方法,其中,所述启动全景影像显示进程,包括:
在开机阶段,在所述Linux内核层完全启动后启动所述全景影像显示进程。
7.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-6中任一项所述的基于安卓系统的全景影像显示方法。
8.一种电子设备,包括:
处理器;
存储器,存储有计算机程序代码,当所述计算机程序代码被所述处理器运行时,导致所述电子设备执行权利要求1-6中任一项所述的基于安卓系统的全景影像显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110398369.2A CN112988357B (zh) | 2021-04-14 | 2021-04-14 | 全景影像显示方法、计算机存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110398369.2A CN112988357B (zh) | 2021-04-14 | 2021-04-14 | 全景影像显示方法、计算机存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988357A CN112988357A (zh) | 2021-06-18 |
CN112988357B true CN112988357B (zh) | 2021-07-27 |
Family
ID=76338382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110398369.2A Active CN112988357B (zh) | 2021-04-14 | 2021-04-14 | 全景影像显示方法、计算机存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988357B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979475A (zh) * | 2022-05-17 | 2022-08-30 | 亿咖通(湖北)技术有限公司 | 一种图像显示方法、控制器、显示设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106058A (zh) * | 2013-01-25 | 2013-05-15 | Tcl集团股份有限公司 | 一种基于Android系统的双屏显示方法及智能显示终端 |
CN109725977A (zh) * | 2019-01-02 | 2019-05-07 | 京东方科技集团股份有限公司 | 一种基于Android系统的多应用显示方法及终端设备 |
CN109801354A (zh) * | 2017-11-17 | 2019-05-24 | 北京京东尚科信息技术有限公司 | 全景处理方法和装置 |
WO2020022806A1 (ko) * | 2018-07-27 | 2020-01-30 | 삼성전자 주식회사 | 전자 장치에서 디스플레이 번인 방지 방법 및 전자 장치 |
US10565672B2 (en) * | 2016-04-27 | 2020-02-18 | Samsung Electronics Co., Ltd. | Electronic device for composing graphic data and method thereof |
CN112269603A (zh) * | 2020-10-16 | 2021-01-26 | 北京技德系统技术有限公司 | 一种在Linux上兼容运行Android应用的图形显示方法与装置 |
CN112379875A (zh) * | 2020-11-13 | 2021-02-19 | 武汉蓝星科技股份有限公司 | 一种td guie图形系统和qt图形渲染库数据交互的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102270095A (zh) * | 2011-06-30 | 2011-12-07 | 威盛电子股份有限公司 | 多重显示器控制方法及其系统 |
CN105786479B (zh) * | 2014-12-23 | 2019-05-28 | 联芯科技有限公司 | 一种合成内存管理方法及系统 |
KR102407765B1 (ko) * | 2015-06-24 | 2022-06-10 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 파노라마 영상 표시 제어 방법 |
CN111260746A (zh) * | 2020-01-18 | 2020-06-09 | 武汉光庭信息技术股份有限公司 | 一种倒车影像处理方法、电子设备及存储介质 |
-
2021
- 2021-04-14 CN CN202110398369.2A patent/CN112988357B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106058A (zh) * | 2013-01-25 | 2013-05-15 | Tcl集团股份有限公司 | 一种基于Android系统的双屏显示方法及智能显示终端 |
US10565672B2 (en) * | 2016-04-27 | 2020-02-18 | Samsung Electronics Co., Ltd. | Electronic device for composing graphic data and method thereof |
CN109801354A (zh) * | 2017-11-17 | 2019-05-24 | 北京京东尚科信息技术有限公司 | 全景处理方法和装置 |
WO2020022806A1 (ko) * | 2018-07-27 | 2020-01-30 | 삼성전자 주식회사 | 전자 장치에서 디스플레이 번인 방지 방법 및 전자 장치 |
CN109725977A (zh) * | 2019-01-02 | 2019-05-07 | 京东方科技集团股份有限公司 | 一种基于Android系统的多应用显示方法及终端设备 |
CN112269603A (zh) * | 2020-10-16 | 2021-01-26 | 北京技德系统技术有限公司 | 一种在Linux上兼容运行Android应用的图形显示方法与装置 |
CN112379875A (zh) * | 2020-11-13 | 2021-02-19 | 武汉蓝星科技股份有限公司 | 一种td guie图形系统和qt图形渲染库数据交互的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112988357A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11710266B2 (en) | Rendering method and apparatus | |
CN108965471B (zh) | 一种智能电视上浏览器内存改善方法 | |
CN108509272B (zh) | 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备 | |
US10949226B2 (en) | Display method of multi-application based on Android system, and terminal device | |
CN112230923A (zh) | 用户界面渲染方法、用户界面渲染装置及服务器 | |
CN111367518B (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN112988357B (zh) | 全景影像显示方法、计算机存储介质及电子设备 | |
CN114116056A (zh) | 页面显示方法及装置 | |
CN113467865A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN109710352B (zh) | 一种开机动画的显示方法及装置 | |
CN109951732B (zh) | Android智能电视防止开机LOGO与应用切换黑屏的方法 | |
CN107888876B (zh) | 车载信息娱乐系统及其早期影像显示的方法 | |
CN114089896A (zh) | 一种渲染图像截取方法及装置 | |
CN111746400B (zh) | 倒车冷启动影像快速显示方法、计算机装置及计算机可读存储介质 | |
CN114443189A (zh) | 一种图像处理方法和电子设备 | |
CN113296841A (zh) | 应用程序处理方法、装置、设备及介质 | |
CN115826898B (zh) | 一种跨屏显示方法、系统、装置、设备及存储介质 | |
CN111338831A (zh) | 一种多线程运行性能的处理方法、装置、介质和电子设备 | |
CN114092590B (zh) | 电子设备及其图像渲染性能的评估方法、介质 | |
CN113837918B (zh) | 多进程实现渲染隔离的方法及装置 | |
CN112100409A (zh) | 多媒体信息显示方法及装置、存储介质、终端 | |
CN114968010A (zh) | 协处理芯片的启动方法、装置、存储介质及电子装置 | |
CN112068908B (zh) | 图形处理方法及相关装置和设备 | |
CN111292392A (zh) | 基于unity的图像显示方法、装置、设备及介质 | |
CN110704157A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220411 Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province Patentee after: Yikatong (Hubei) Technology Co.,Ltd. Address before: No.c101, chuanggu start up area, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic Development Zone, Hubei Province Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |