一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于安卓系统的视频数据快速显示方法及系统与流程

2022-07-16 23:51:31 来源:中国专利 TAG:


1.本技术涉及车载多媒体娱乐系统技术领域,尤其涉及一种基于安卓系统的视频数据快速显示方法及系统。


背景技术:

2.随着汽车在个人消费领域逐渐普及,尤其新能源汽车对现有汽车行业领域的冲击,汽车行业正发生着巨大的变化。车载系统作为汽车一部分,承担了电子安全、科技感、娱乐等多重功能。汽车领域对车载系统越来越重视。尤其娱乐系统,目前使用安卓(android)系统非常广泛。
3.现有基于android系统的倒车视频,通常采用app的方式实现多个摄像头的倒车视频,从上电到显示倒车视频需要很长时间才能显示摄像头画面,不能满足人们快速观看倒车视频的需求。


技术实现要素:

4.为了现有技术存在的缺陷,本技术的目的在于,提供一种摄像头视频处理方法,在生成摄像头缓存(camera buffer)时,提供一个快速显示通道,将其直接送到内核驱动,加快摄像头(camera)预览速度。
5.为实现上述目的,本技术提供的基于安卓系统的视频数据快速显示方法,包括:车载系统上电进行内核初始化,并执行android安卓初始化进程;安卓初始化进程的dev、system、vendor文件系统,以及gpu、drm、ko加载完成后,创建视频处理子进程,并通过内存管理器申请视频缓存;建立视频处理子进程与视频预处理模组的之间信息交互;视频预处理模组处理来自摄像头的视频数据;视频处理子进程获取处理后的视频数据并存储于所述视频缓存中;视频处理子进程发送视频缓存中的视频数据至所述视频预处理模组以供显示。
6.进一步地,所述视频缓存,包括:视频处理缓存和显示缓存。
7.初始化读视频camera buffer线程以及preview显示线程;处理读视频读缓存线程中收到的camera视频数据进行处理;preview显示线程将camera视频数据进行显示处理。
8.进一步地,所述建立视频处理子进程与视频预处理模组之间信息交互的步骤,包括:所述视频处理子进程通过v4l2接口建立与视频预处理模组之间信息交互,包括:打开摄像头、初始化摄像头缓存、进行参数设置、将视频处理缓存送到所述视频预处理模组、从所述视频预处理模组中读取视频处理缓存。
9.进一步地,所述视频预处理模组处理来自摄像头的视频数据,包括:将收到的多路摄像头数据,通过2d加速硬件处理拼接或通过opengl接口做3d效果
处理。
10.进一步地,所述视频处理子进程发送视频缓存中的视频数据至所述视频预处理模组以供显示的步骤,包括,获取所述视频缓存的物理地址,并将该物理地址传送到显示驱动的显示处理图层中;将显示驱动的显示处理图层设置为所有图层的最高层,所有图层合成后送到显示控制中;通过lvds接口或者mipi dsi接口将合成后的图层显示到屏幕上。
11.为实现上述目的,本技术还提供一种基于安卓系统的视频数据快速显示系统,包括:子进程创建模块,用于在android init进程中创建视频处理子进程;内存管理器,用于在视频处理子进程中申请显示视频数据需要的缓存;视频预处理模组,用于与所述子进程创建模块的信息交互和视频数据的处理;显示屏,用于显示来自所述视频预处理模组的显示数据。
12.进一步地,所述子进程创建模块, 实时监控在android init进程,当android init进程的dev、system、vendor文件系统,以及gpu、drm、ko加载完成后,创建并执行视频处理子进程。
13.进一步地,所述视频预处理模组,接收所述子进程创建模块的指令,打开摄像头、初始化缓存、进行参数设置、接收所述子进程创建模块发送的缓存、读取视频处理缓存并发送给子进程创建模块。
14.更进一步地,所述视频预处理模组,包括:csi接口模块,用于所述视频预处理模组和所述子进程创建模块之间的信息交互;2d加速硬件,用于视频数据的拼接处理;opengl接口,用于视频数据的3d效果处理。
15.为实现上述目的,本技术还提供一种显示芯片,所述显示芯片,采用如上所述的基于安卓系统的视频数据快速显示方法显示视频数据。
16.为实现上述目的,本技术还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行如上所述述基于安卓系统的视频数据快速显示方法的步骤。
17.为实现上述目的,本技术还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上所述述基于安卓系统的视频数据快速显示方法的步骤。
18.本技术的基于安卓系统的视频数据快速显示方法,与现有技术相比具有如下有益效果:基于安卓系统,在车载系统启动阶段快速打开多个camera,合成3d或者2d数据到一个缓存(buffer)中,并将buffer传送到linux内核sci驱动,不依赖android surface flinger显示服务,便可快速的将camera的显示数据在屏幕上显示出来。
附图说明
19.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,并与本技术的
实施例一起,用于解释本技术,并不构成对本技术的限制。在附图中:图1为根据本技术的基于安卓系统的视频数据快速显示方法流程图;图2为根据本技术的基于安卓系统的视频数据快速显示系统结构示意图;图3为根据本技术的基于安卓系统快速显示4路摄像头视频数据工作流程图。
具体实施方式
20.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
21.应当理解,本技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
22.本文使用本技术中的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
23.需要注意,本技术中提及的“模组”、“管理器”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
24.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
25.下面,将参考附图详细地说明本技术的实施例。
26.本技术实施例中,在android系统启动阶段,快速打开多个摄像头(camera),并合成3d或者2d视频数据到一个缓冲区(buffer)中,然后将buffer中的显示数据传送到android内核驱动,最终显示出来。
27.实施例1图1为根据本技术的基于安卓系统的视频数据快速显示方法流程图,下面将参考图1,对本技术的基于安卓系统的视频数据快速显示方法进行详细描述。
28.首先,在步骤101,车载系统上电启动,进行车载操作系统的内核初始化。
29.在步骤102,执行android初始化(android init)进程。
30.本技术实施例中,系统上电,内核初始化完成后,开始执行android初始化进程。所述初始化进程包括,文件系统的准备,图形处理器、直接渲染管理器的加载,android的正常启动,android桌面启动器的启动。
31.在步骤103,创建子进程camera process。
32.本技术实施例中,在android init进程中,当dev、system、vendor文件系统,以及gpu、drm、ko加载完成后,fork(创建)一个子进程cameraprocess(摄像头的视频处理子进程),用于处理camera业务。
33.本技术实施例中,在创建用于处理camera业务的子进程cameraprocess的同时,android init进程正常运行,执行android系统的正常启动流程,直至android桌面启动器启动,完成人机交互界面显示。
34.本技术实施例中,创建子进程cameraprocess处理多个摄像头的视频数据送到显示屏中显示的过程,与android init进程的正常启动流程同时进行,可以快速实现多路摄像头视频数据的显示。
35.在步骤104,通过内存管理器为camera申请视频缓存(buffer)。
36.本技术实施例中,在子进程cameraprocess中,通过android系统的内存分配管理机制ion(内存管理器),为camera申请所需要buffer,包括摄像头视频处理buffer(视频处理缓存),以及显示buffer。
37.在步骤105,建立cameraprocess子进程与视频预处理模组(csi驱动)之间的信息交互。
38.本技术实施例中,系统为camera分配好buffer后,cameraprocess子进程通过v4l2接口建立与视频预处理模组(csi驱动)之间的信息交互,包括,打开camera、初始化buffer、进行参数设置、发送buffer到视频预处理模组、从视频预处理模组中读取视频处理缓存。在步骤106,视频预处理模组处理来自摄像头的视频数据。
39.本技术实施例中,视频预处理模组的初始化读camera buffer线程以及preview(预览)显示线程。
40.当系统在读camera buffer线程中,收到多路camera视频数据后,可通过2d加速硬件对视频数据进行拼接处理,或通过opengl接口对视频数据做3d效果处理。
41.在步骤107,视频处理子进程获取处理后的视频数据并存储于视频缓存中。
42.在步骤108,视频处理子进程发送视频缓存中的视频数据至视频预处理模组以供显示。
43.本技术实施例中,视频处理子进程获取所述视频缓存的物理地址,并将该物理地址传送到显示驱动的显示处理图层中,并将显示驱动的显示处理图层设置为所有图层的最高层,所有图层合成后送到显示控制中;通过lvds接口或者mipi dsi接口将合成后的图层显示到屏幕上。
44.实施例2图2为根据本技术的基于安卓系统的视频数据快速显示系统结构示意图,如图2所示,本技术的的基于安卓系统的视频数据快速显示系统,包括:子进程创建模块201,用于创建子进程camera process。
45.本技术实施例中,车载系统上电启动后,子进程创建模块201实时监控在android init进程,当android init进程的dev、system、vendor文件系统,以及gpu、drm、ko加载完成后,创建一个用于处理camera业务的子进程camera process。
46.本技术实施例中,在子进程创建模块201创建子进程camera process的过程中,android init进程继续进行正常的启动流程,直至人机交互程序显示完成。
47.内存管理器202,用于申请显示视频数据需要的缓存。
48.本技术实施例中,内存管理器202,在子进程camera process中,为camera申请所需要buffer,包括摄像头视频处理buffer(视频处理缓存),以及显示buffer。
49.视频预处理模组203,接受子进程创建模块201的指令并与子进程创建模块201进行信息交互,将来自多个摄像头的视频数据进行处理后送到显示器中快速显示。
50.本技术实施例中,视频预处理模组203与子进程创建模块201进行信息交互,包括,接收子进程创建模块201的指令,打开camera、初始化buffer、进行参数设置、接收子进程创建模块201发送的缓存、读取视频处理缓存发送给子进程创建模块201。
51.本技术实施例中,视频预处理模组203收到多路camera视频数据后,可通过2d加速硬件对视频数据进行拼接处理,或通过opengl接口对视频数据做3d效果处理。
52.本技术实施例中,视频预处理模组203,包括csi接口模块、2d加速硬件模块和opengl接口模块,csi接口模块,用于视频预处理模组203和子进程创建模块201之间的信息交互;2d加速硬件,用于视频数据的拼接处理。
53.opengl接口,用于视频数据的3d效果处理。
54.显示屏204,用于显示来自视频预处理模组203的显示数据。
55.图3为根据本技术的基于安卓系统快速显示4路摄像头视频数据工作流程图,如图3所示,系统上电,内核初始化完成后,进入android init进程,在安卓初始化进程的dev、system、vendor文件系统,以及gpu、drm、ko加载完成后,android init进程fork一个子进程cameraprocess专门处理camera业务。
56.本技术实施例中,创建子进程camera process处理多个摄像头的视频数据送到显示屏中显示的过程,与android init进程的正常启动流程同时进行,可以快速实现多路摄像头视频数据的显示。
57.在子进程cameraprocess中,通过ion申请好所需要camerabuffer(摄像头的视频处理缓存),包括摄像头视频处理buffer,以及显示buffer。
58.子进程cameraprocess通过v4l2接口建立与csi驱动(视频预处理模组)交互,包括打开camera、初始化buffer、进行参数设置、送buffer到csi驱动、从视频预处理模组中读取buffer等。
59.初始化读camera buffer线程以及preview显示线程,当在camera 读buffer线程中收到4路camera视频数据,可以通过2d加速硬件处理拼接、或者通过opengl接口做3d效果处理。
60.读camera buffer线程处理完后,通知preview显示线程把处理好的buffer做显示处理。
61.在preview显示线程,可以获得buffer的物理地址,把该物理地址传到显示驱动display process图层中,该图层可以设置为所有图层最高层,display process把所有图层合成后再送到display control中,通过lvds接口或者mipi dsi接口显示到显示屏上。
62.本技术实施例中,通过创建摄像头处理子进程,绕开android surfaceflinger 系统服务,直接将camera buffer数据通过物理地址发送给显示驱动,这样可以节省一大部分时间。从而加快camera预览速度。
63.实施例3本技术还提供一种芯片,采用如上所述的基于安卓系统的视频数据快速显示方法显示视频数据。
64.实施例4本技术还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的程序,处理器运行所述程序时执行上述基于安卓系统的视频数据快速显示方法的步骤。
65.实施例5本技术还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述基于安卓系统的视频数据快速显示方法的步骤,所述基于安卓系统的视频数据快速显示方法参见前述部分的介绍,不再赘述。
66.本技术的基于安卓系统的视频数据快速显示方法,从上电到camera最终显示到lcd屏幕上的过程,不依赖android surfaceflinger 显示服务,这样可以更快速的把camera数据显示出来。
67.本领域普通技术人员可以理解:以上所述仅为本技术的优选实施例而已,并不用于限制本技术,尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献