CN116132809A - 一种AVM全景式监控影像系统的App的设计方法、设备及介质 - Google Patents
一种AVM全景式监控影像系统的App的设计方法、设备及介质 Download PDFInfo
- Publication number
- CN116132809A CN116132809A CN202211677361.0A CN202211677361A CN116132809A CN 116132809 A CN116132809 A CN 116132809A CN 202211677361 A CN202211677361 A CN 202211677361A CN 116132809 A CN116132809 A CN 116132809A
- Authority
- CN
- China
- Prior art keywords
- app
- image
- avm
- opengl
- design method
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012544 monitoring process Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 52
- 239000000872 buffer Substances 0.000 claims abstract description 32
- 238000013461 design Methods 0.000 claims abstract description 31
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 8
- 238000003384 imaging method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 16
- 238000011161 development Methods 0.000 abstract description 14
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种AVM全景式监控影像系统的App设计方法、电子设备及计算机可读存储介质,其方法包括:初始化步骤:启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化;创建步骤:创建并显示本地窗口,创建所述OpenGL ES函数接口库对应的实例并初始化所述实例;绘图步骤:使用所述OpenGL ES函数接口库中的函数进行图像绘制;渲染出图步骤:交换缓冲区,循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示,从而更好地实现实时画面的处理,完成更高级别的应用,并通过安卓系统完成渲染,充分地利用了车机自身软、硬件资源来实现,节省了开发的成本,同时极大的缩减了开发周期。
Description
技术领域
本发明涉及计算机图像处理技术领域,尤其涉及一种AVM全景式监控影像系统的App设计方法、电子设备及计算机可读存储介质。
背景技术
全景式监控影像系统(Around View Monitor,简称AVM)通过多个超大广角鱼眼镜头拍摄图像,然后经过数据处理对拍摄图像进行畸变矫正以及拼接,形成车辆周围的影像并显示在车载终端的显示屏上。
汽车中控是控制汽车空调、音响等舒适娱乐装置的地方。随着汽车技术的快速发展,汽车中控台也在进化。现在主流的中控平台,大多数基于安卓(Android)系统进行开发的,因此,基于安卓系统开发的全景式监控影像应用程序便应运而生。目前,基于安卓系统的全景式监控影像系统的AVM应用程序的实现,主要使用安卓系统所提供的组件、接口,使用Java语言完成程序,但通过这种设计方法开发出来的AVM应用程序存在着无法实现AVM应用程序的高度定制化,功能拓展性较差以及无法进行视频实时画面的处理,视频画面延迟大等问题。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种AVM全景式监控影像系统的App设计方法,其通过采用OpenGL ES技术,调用安卓的组件SurfaceFlinger,采用C++语言实现AVM程序的所有业务逻辑,从而能够更好地实现实时画面的处理,完成更高级别的应用,并可以通过安卓系统完成渲染,充分地利用了车机自身软、硬件资源来实现,节省了开发的成本,同时极大地缩减了开发周期。
本发明的目的之二在于提供一种实现上述一种AVM全景式监控影像系统的App设计方法的电子设备。
本发明的目的之三在于提供一种存储上述一种AVM全景式监控影像系统的App设计方法的计算机可读存储介质。
本发明的目的之一采用如下技术方案实现:
一种AVM全景式监控影像系统的App设计方法,采用C++语言调用OpenGL ES函数接口库实现所述AVM所有业务逻辑,采用Java语言实现所述App的激活和启动功能,所述方法包括:
初始化步骤:启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化;
创建步骤:创建并显示本地窗口,创建所述OpenGL ES函数接口库对应的实例并初始化所述实例;
绘图步骤:使用所述OpenGL ES函数接口库中的函数进行图像绘制;
渲染出图步骤:交换缓冲区,循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示。
作为本发明的进一步限定,将所述采用C++语言实现AVM所有业务逻辑的C++的程序编译成二进制文件,通过所述App调用并启动所述二进制文件。
作为本发明的进一步限定,采用NDK技术,将所述采用C++语言实现AVM所有业务逻辑的C++的程序编译成动态库,在Java代码里面调用所述动态库的接口。
作为本发明的进一步限定,所述App安装在汽车中控系统的电子控制器里。
作为本发明的进一步限定,所述初始化步骤,还包括:
申请系统资源,调用安卓系统的组件SurfaceFlinger并为所述App分配图像缓冲区buffer。
作为本发明的进一步限定,所述创建步骤中创建并显示本地窗口后还包括以下步骤:
使用所述OpenGL ES函数接口库中的EGL与所述本地窗口进行通信,获得本地窗口句柄并进行初始化;
选择所述EGL配置。
作为本发明的进一步限定,所述绘图步骤具体包括:
初始化顶点数据、像素、顶点着色器、片元着色器,使用所述OpenGL ES函数接口库中的函数进行图像绘制。
作为本发明的进一步限定,所述渲染出图步骤具体包括:
所述App将所述绘制的图像发给所述SurfaceFlinger;
所述SurfaceFlinger根据所述绘制的图像的Zorder大小进行排序,将排序后对应的图像传递给HardwareComposer模块;
HardwareComposer模块循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示,如果HardwareComposer模块无法处理所述图像的渲染合成,使用Graphic Library进行处理。
本发明的目的之三采用如下技术方案实现:
一种电子设备,包括:一个或多个处理器;存储系统,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明目的之一的一种AVM全景式监控影像系统的App设计方法。
本发明的目的之四采用如下技术方案实现:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明目的之一的一种AVM全景式监控影像系统的App设计方法。
相比现有技术,本发明的有益效果在于:
(1)本发明所述方法采用C++语言调用OpenGL ES函数接口库实现所述AVM所有业务逻辑,改进了传统AVM应用程序的设计方案,从而能够更好地实现实时画面的处理,完成更高级别的应用,增强了程序的性能和提高了AVM应用程序的可拓展性。
(2)本发明将AVM应用程序安装在汽车中控系统的电子控制器里,充分地利用了车机自身软、硬件资源来实现,实现了资源的高效利用,同时节省了开发成本,并极大地缩减了开发周期。
(3)本发明利用安卓系统提供的服务组件和接口,通过安卓系统完成渲染,实现了AVM应用程序的高度定制化,可以方便快捷地实现功能迭代,持续为用户带来新功能以及更好的用户体验。
附图说明
图1为本发明的全景式监控影像系统软件架构原理图;
图2为本发明实施例一的一种AVM全景式监控影像系统的App设计方法的流程图;
图3为本发明实施例二的电子设备的结构示意图。
具体实施方式
为了使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合相关附图对本发明作进一步地详细描述。附图中给出了本发明的较佳的实施例。但是,本发明可以用许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
实施例一
本发明实施例一公开了一种AVM全景式监控影像系统的App设计方法,其通过采用OpenGL ES技术,调用安卓的组件SurfaceFlinger,采用C++语言实现AVM程序的所有业务逻辑,从而能够更好地实现实时画面的处理,完成更高级别的应用,并可以通过安卓系统完成渲染,充分地利用了车机自身软、硬件资源来实现,节省了开发的成本,同时极大的缩减了开发周期,在节省软、硬件成本的同时,降低系统设计复杂度,同时基于车机现有的系统资源与生态内容,为用户提供更好的使用体验。该方法可以由硬件或/和软件来执行,其整体软件架构如图1所示。
参见图1,其全景式监控影像系统软件架构整体可以包括FrameWork层100、HAL层110以及驱动层120。
FrameWork层100,即应用框架层,由全景式监控影像系统的多个应用程序101以及Surfaceflinger102构成,该层主要作用是为所述多个应用程序101提供各种API(应用程序编程接口)、提供各种组件和服务、管理应用的活动生命周期等。其中Surfaceflinger 102是一个系统服务,即图形绘制服务,主要用于绘制各应用程序101的显示图像的数据,为所述各应用程序101分配图形缓冲区,合成图形缓冲区、管理VSYNC事件绘制等。
需要说明的是,绘制各应用程序101的显示图像的数据的意思是将各应用程序101的显示图像的数据写入到Surfaceflinger 102服务所支持的缓存队列中。
HAL层110,Hardware Abstract Layer,即硬件抽象层,该层目的在于将硬件抽象化。其隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,这样就可以在多种平台上进行移植。从软、硬件测试的角度来看,软、硬件的测试工作都可分别基于硬件抽象层来完成,从而使软、硬件测试工作的并行进行成为可能。在本软件架构中,HAL层110位于FrameWork层100与驱动层120之间,配置有Gralloc(Graphics Alloc,图形分配)模块111、HardwareComposer模块112、Graphic Library(图形库)113、EGL 114和OpenGL ES 115。
Gralloc模块111封装了对帧缓冲区的所有操作,各应用程序101可以通过Gralloc模块111申请图形缓冲区,向里写入要绘制的图形内容。
HardwareComposer模块112,简称HWC,它主要的目的是选择最高效的途径来合成图形缓冲区(Buffer)。
EGL 114,是OpenGL ES 115渲染API(应用程序编程接口)和本地窗口系统(NativePlatform Window System)之间的一个中间接口层,其主要作用是为OpenGL指令创建Context、绘制目标Surface、配置Framebuffer 122属性、Swap提交绘制结果等。
OpenGL ES 115,OpenGL ES是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API(应用程序编程接口),它针对多种嵌入式系统专门设计。它由精心定义的桌面OpenGL子集组成,创造了软件与图形加速间灵活强大的底层交互接口。OpenGL ES 115包含浮点运算和定点运算系统描述以及EGL 114,针对便携设备的本地视窗系统规范。
驱动层主要配置有ashmem(匿名内存)121、FrameBuffer 122以及GPU驱动124,该层用于对设备初始化和释放、把数据从内核传送到硬件和从硬件读取数据、读取各应用程序101传送给设备文件的数据和回送应用程序101请求的数据以及检测和处理设备出现的错误。其中Framebuffer122是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备。在内存缓冲区中标准上包含了屏幕上每个像素的色彩值组成。
图2是根据本发明实施例一的一种AVM全景式监控影像系统的App设计方法的流程图。参见图2,在本发明实施例一中,一种AVM全景式监控影像系统的App设计方法可包括步骤S210至步骤S240。
210、初始化步骤。
启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化。
初始化步骤具体包括:
启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化。申请系统资源,调用安卓系统的组件SurfaceFlinger并为所述App提供图像缓冲区buffer。
具体的,SurfaceFlinger为所述App提供图像缓冲区buffer,具体通过Gralloc模块111向ashmem(匿名内存)121申请内存得到文件句柄fd,将句柄fd通过binder机制传递给所述的App,所述App通过执行mmap(一种内存映射文件的方法)操作即可获得所述的图像缓冲区buffer。
需要说明的是,buffer,即FrameBuffer 122,称为buffer是因为它也占用了系统存储空间的一部分,是一块包含屏幕显示信息的缓冲区。
220、创建步骤。
创建并显示本地窗口,创建所述OpenGL ES函数接口库对应的实例并初始化所述实例。
创建步骤具体包括:
创建并显示本地窗口,使用所述OpenGL ES函数接口库中的EGL与所述本地窗口进行通信,获得本地窗口句柄并进行初始化。选择所述EGL配置,调用OpenGL ES函数接口库中的eglChooseConfig()函数进行选择,这个函数会根据机器的性能获取配置信息,独立显卡的可获取较高的值,支持Depth相关的效果。从而能够合理的利用系统资源,提高了系统资源的利用率,进而提高全景影像系统的稳定性,有助于提升后续全景图像的显示效果。
从所述本地窗口创建EGLSurface实例,EGLSurface为系统窗口或FrameBuffer122句柄,可以理解为一个后端的渲染目标窗口。
创建EGLContext实例,EGLContext为OpenGL ES图形上下文,它代表了OpenGL状态机;如果没有它,OpenGL指令就没有执行的环境。由于OpenGL切换上下文需要很大的开销,有时不同的绘制模块需要完全独立的状态管理,所以通过创建不同的上下文,在不同的线程上使用不同的上下文,上下文之间共享纹理、缓冲区等资源。
调用OpenGL ES函数接口库中的eglMakeCurrent()函数,连接EGLContext和EGLSurface。
230、绘图步骤。
使用所述OpenGL ES函数接口库中的函数进行图像绘制。
绘图步骤具体包括:
初始化顶点数据、像素、顶点着色器、片元着色器,顶点着色器对传入的数据进行运算,装配图元,将顶点数据转换为图元,光栅化,将图元转换成栅格化数,将光栅化的数据传入片元着色器,片元着色器会一个个像素去计算,最终决定像素的颜色,并使用所述OpenGL ES函数接口库中的函数进行图像绘制。
需要说明的是,顶点数据即图元。顶点着色器是处理顶点数据的旋转、平移、投影等操作的,每个顶点数据都会经过一次顶点着色器处理,这个处理的操作是并行的,在顶点着色器处理顶点数据过程中,无法访问其他顶点数据。片元着色器是处理像素点颜色的计算和填充,一个图像有成千上万个像素点,每个像素点都会经过一次片元着色器的处理,这个操作也是并行的,显然CPU做不到这么庞大的计算(CPU更擅长判断、调度),这个过程是在GPU上执行的。光栅化处理是指图形在经过顶点着色器转化成归一化的二维坐标系,经过光栅化处理后,转换为片元,而片元对应帧缓冲区中的像素点,这个过程会分配一个颜色值和一个深度值到各个区域,光栅化的过程即将一个几何图元变成二维图形。
240、渲染出图步骤。
交换缓冲区,循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示。
渲染出图步骤具体包括:
所述App将所述绘制完成的图像发给所述SurfaceFlinger 102;
所述SurfaceFlinger 102根据所述绘制的图像的Zorder(Z座标轴上的排列顺序)大小进行排序,将排序后对应的图像传递给HardwareComposer模块112;
HardwareComposer模块112循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示,如果HardwareComposer模块112无法处理所述图像的渲染合成,使用Graphic Library113进行处理,有利于实现了AVM应用程序的高度定制化,可以方便快捷地实现功能迭代,持续为用户带来新功能以及更好的用户体验,并且先使用HardwareComposer模块112进行图像的处理,有利于提升每一帧画面的合成速度,提升用户界面的流畅度,从而有利于更好地实现实时画面的处理,而且相比使用Graphic Library113使用GPU来合成,HardwareComposer模块112进行图像的合成,相对来说更加省电。
需要说明的是,渲染是指将图形或图像数据转换成3D空间图像的操作。
需要说明的是,交换缓冲区指的是显示器通过视频控制器指向的帧缓冲区读取数据打印到屏幕,帧缓冲区一般有两个以上,视频控制器指向的是屏幕缓冲区,未指向的是离屏缓冲区。GPU经过顶点着色器、片元着色器渲染,将数据存入离屏缓冲区,等待下一次垂直信号(VSYNC)时,交换两个帧缓冲区,然后GPU接着渲染下一帧画面,存入当前的离屏缓冲区。
需要说明的是,由于可能没有HardwareComposer模块112或者HardwareComposer模块112所支持的层数不够,进而导致无法对所述图像进行渲染合成,再使用GraphicLibrary113进行处理。
进一步的,针对上述的一种AVM全景式监控影像系统的App设计方法,采用C++语言调用OpenGL ES函数接口库实现所述AVM所有业务逻辑,将所述实现的C++的程序编译成二进制文件,通过所述App调用并启动所述二进制文件或者通过采用NDK技术,将其C++的程序编译成动态库,在Java代码里面调用所述动态库的接口,并采用Java语言实现所述App的激活和启动功能。采用底层语言C++进行开发AVM所有业务逻辑,更有利于程序性能的提高,运行效率高,提高了全景式监控影像显示的速度和流畅度,更好地实现实时画面的处理,同时采用Java语言实现所述App的激活和启动功能,更有利于提升程序的安全性和提升工作效率,缩减了开发周期。
进一步的,将所述App安装在汽车中控系统的电子控制器里,可以充分利用车机自身软、硬件资源来实现,实现了资源的高效利用,同时节省去了开发成本,并极大地缩减了开发周期。
本发明所述方法采用C++语言调用OpenGL ES函数接口库实现所述AVM所有业务逻辑,改进了传统AVM应用程序的设计方案,从而能够更好地实现实时画面的处理,完成更高级别的应用,增强了程序的性能和提高了AVM应用程序的可拓展性。
本发明将AVM应用程序安装在汽车中控系统的电子控制器里,充分利用车机自身软、硬件资源来实现,实现了资源的高效利用,同时节省了开发成本,并极大地缩减了开发周期。
本发明利用安卓系统提供的服务组件和接口,通过安卓系统完成渲染,实现了AVM应用程序的高度定制化,可以方便快捷地实现功能迭代,持续为用户带来新功能以及更好的用户体验。
实施例二
图3为本发明实施例二提供的一种电子设备的结构示意图,如图3所示,该电子设备包括处理器310、存储器320、输入系统330和输出系统340;计算机设备中处理器310的数量可以是一个或多个,图3中以一个处理器310为例;电子设备中的处理器310、存储器320、输入系统330和输出系统340可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序/模块,如本发明实施例一中的一种AVM全景式监控影像系统的App设计方法对应的程序指令、程序以及模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的一种AVM全景式监控影像系统的App设计方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统330可以是作为图像采集的全景式监控影像系统的超大广角鱼眼镜头210。输出系统340可包括车机显示屏等显示设备。
实施例三
本发明实施例三还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种AVM全景式监控影像系统的App设计方法,该方法包括:
初始化步骤:启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化;
创建步骤:创建并显示本地窗口,创建所述OpenGL ES函数接口库对应的实例并初始化所述实例;
绘图步骤:使用所述OpenGL ES函数接口库中的函数进行图像绘制;
渲染出图步骤:更新缓冲区,循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种AVM全景式监控影像系统的App设计方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种AVM全景式监控影像系统的App设计方法,其特征在于,采用C++语言调用OpenGLES函数接口库实现所述AVM所有业务逻辑,采用Java语言实现所述App的激活和启动功能,所述方法包括:
初始化步骤:启动所述App,在所述App中加载所述OpenGL ES函数接口库,同时执行App初始化;
创建步骤:创建并显示本地窗口,创建所述OpenGL ES函数接口库对应的实例并初始化所述实例;
绘图步骤:使用所述OpenGL ES函数接口库中的函数进行图像绘制;
渲染出图步骤:交换缓冲区,循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示。
2.根据权利要求1所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,将所述采用C++语言实现AVM所有业务逻辑的C++的程序编译成二进制文件,通过所述App调用并启动所述二进制文件。
3.根据权利要求1所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,采用NDK技术,将所述采用C++语言实现AVM所有业务逻辑的C++的程序编译成动态库,在Java代码里面调用所述动态库的接口。
4.根据权利要求1~3任一项所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,所述App安装在汽车中控系统的电子控制器里。
5.根据权利要求1~3任一项所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,所述初始化步骤,还包括:
申请系统资源,调用安卓系统的组件SurfaceFlinger并为所述App分配图像缓冲区buffer。
6.根据权利要求1~3任一项所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,所述创建步骤中创建并显示本地窗口后还包括以下步骤:
使用所述OpenGL ES函数接口库中的EGL与所述本地窗口进行通信,获得本地窗口句柄并进行初始化;
选择所述EGL配置。
7.根据权利要求1~3任一项所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,所述绘图步骤具体包括:
初始化顶点数据、像素、顶点着色器、片元着色器,使用所述OpenGL ES函数接口库中的函数进行图像绘制。
8.根据权利要求5所述的一种AVM全景式监控影像系统的App设计方法,其特征在于,所述渲染出图步骤具体包括:
所述App将所述绘制的图像发给所述SurfaceFlinger;
所述SurfaceFlinger根据所述绘制的图像的Zorder大小进行排序,将排序后对应的图像传递给HardwareComposer模块;
HardwareComposer模块循环渲染所述绘制的图像,将所述渲染过的图像进行合成,合成后发送至所述全景式监控影像系统的显示设备进行显示,如果HardwareComposer模块无法处理所述图像的渲染合成,使用Graphic Library进行处理。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储系统,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8任一项所述的一种AVM全景式监控影像系统的App设计方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的一种AVM全景式监控影像系统的App设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211677361.0A CN116132809A (zh) | 2022-12-26 | 2022-12-26 | 一种AVM全景式监控影像系统的App的设计方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211677361.0A CN116132809A (zh) | 2022-12-26 | 2022-12-26 | 一种AVM全景式监控影像系统的App的设计方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132809A true CN116132809A (zh) | 2023-05-16 |
Family
ID=86309377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211677361.0A Pending CN116132809A (zh) | 2022-12-26 | 2022-12-26 | 一种AVM全景式监控影像系统的App的设计方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132809A (zh) |
-
2022
- 2022-12-26 CN CN202211677361.0A patent/CN116132809A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112269603B (zh) | 一种在Linux上兼容运行Android应用的图形显示方法与装置 | |
JP6073533B1 (ja) | タイルベースのアーキテクチャ上での最適化されたマルチパスレンダリング | |
US10120187B2 (en) | Sub-frame scanout for latency reduction in virtual reality applications | |
EP3180773B1 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
CN109923519B (zh) | 用于加速多核计算架构中的图形工作负荷的机制 | |
CN113515396B (zh) | 图形渲染方法、装置、电子设备与存储介质 | |
EP2245598B1 (en) | Multi-buffer support for off-screen surfaces in a graphics processing system | |
US10002403B2 (en) | Command remoting | |
CN117173281A (zh) | 用于中央凹形渲染的存储 | |
US20130127858A1 (en) | Interception of Graphics API Calls for Optimization of Rendering | |
WO2019040222A1 (en) | RENDERING AN IMAGE FROM COMPUTER GRAPHICS USING TWO COMPUTER RESTITUTION DEVICES | |
CN111737019B (zh) | 一种显存资源的调度方法、装置及计算机存储介质 | |
CN111406277B (zh) | 以图块为基础的低分辨率深度存储 | |
EP2596491A1 (en) | Displaying compressed supertile images | |
CN114972607B (zh) | 加速图像显示的数据传输方法、装置及介质 | |
CN111400024A (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
EP1255227A1 (en) | Vertices index processor | |
CN116821040B (zh) | 基于gpu直接存储器访问的显示加速方法、装置及介质 | |
US8907979B2 (en) | Fast rendering of knockout groups using a depth buffer of a graphics processing unit | |
CN115934383A (zh) | Wayland合成器下多显卡渲染方法 | |
CN113064728B (zh) | 高负载应用图像显示方法、终端及可读存储介质 | |
US8203567B2 (en) | Graphics processing method and apparatus implementing window system | |
CN116132809A (zh) | 一种AVM全景式监控影像系统的App的设计方法、设备及介质 | |
US10311627B2 (en) | Graphics processing apparatus and method of processing graphics pipeline thereof | |
WO2022131949A1 (en) | A device for performing a recursive rasterization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |