一种支持动态车辅线的倒车影像的快速显示方法

文档序号:9389007阅读:1272来源:国知局
一种支持动态车辅线的倒车影像的快速显示方法
【技术领域】
[0001] 本发明涉及一种车机图像快速显示方法,尤其涉及一种支持动态车辅线的倒车影 像的快速显示方法。
【背景技术】
[0002] 随着嵌入式技术的飞速发展,车载娱乐信息系统在汽车电子领域得到越来越多的 应用,极大地提升了用户的使用体验;另外,随着汽车使用量的增加,倒车影像这种辅助驾 驶技术备受青睐,给驾驶人员的出行带来极大的便利,避免了不必要的碰擦。所以,带有倒 车影像的车机产品将会成为汽车的标配。
[0003]目前市面上大多数带有倒车影像的车机产品都存在一定的缺陷:
[0004] (1)车辅线非动态。大多数倒车影像的车辅线都是静态的,不能显示车辆倒行轨 迹,用户还是需要配合后视镜来倒车。如果在倒车影像里能够实时显示在当前方向角(前 轮相对于车身中轴线的夹角)下的车辆倒行轨迹,将给用户更加直观信息,从而在倒车过 程中无需观望后视镜。
[0005] (2)显示慢。市面上的大多数车机产品的倒车影像需要待系统起来之后才能显示, 也就是说用户点火之后需要等待一段时间,这一定程度上影响了用户的体验,尤其以基于 Android的车机为甚,通常要花上十几秒。动态车辅线虽然具有众多的优点,但相对静态车 辅线它所依赖的算法更复杂,而这些算法都带有一定量的浮点运算。由于在操作系统内核 层进行浮点运算效率会非常低,也就是说动态车辅线的算法只能在应用层运行,所以市面 上支持动态车辅线的倒车影像都只能在系统起来之后才能显示。

【发明内容】

[0006] 为解决现有技术中的问题,本发明提供一种支持动态车辅线的倒车影像的快速显 示方法,给用户带来更好的辅助驾驶便利的同时解决显示慢的问题。
[0007] 本发明包括如下步骤:
[0008] Al :启动加载;
[0009] A2 :内核加载开始,加载图像采集和显示用的内核模块;
[0010] A3 :将闪存中固定存储区域中存储的绘制动态车辅线的轨迹点坐标值加载进内 存,然后同时执行内核其他模块加载及应用层标定步骤B和显示步骤C;
[0011] 内核其他模块加载及应用层标定步骤B执行顺序为:
[0012] Bl :其他内核模块加载;
[0013] B2:文件系统加载;
[0014] B3 :应用层对动态车辅线的标定操作,将动态车辅线上的轨迹点坐标值作为一个 集合记录在闪存中固定存储区域,供内核加载进内存,
[0015] 显示步骤C执行步骤包括:
[0016] (1)如果检测到挂入倒挡,则启动摄像头,将拍摄到的图像保存在车机系统中的 framebuffer;
[0017] (2)如果检测到当前处于倒档状态,且方向角发生变化,则根据当前方向角选择相 应的轨迹点的坐标值,绘制车辅线,并将车辅线图像保存在framebuffer;
[0018] (3)如果检测到当前处于倒档状态,将步骤(1)和步骤(2)的图像数据做图像处 理,生成新图像,然后显示图像处理后的新图像。
[0019] (4)如果检测到当前为非倒档状态,则内核暂停摄像头的工作和车辅线的绘制,判 断文件系统是否加载完成,如果是,则从framebuffer里读取UI数据去显示,然后返回执行 步骤(1),如果否,则直接返回执行步骤(1)。
[0020] 本发明作进一步改进,所述framebuffer设置为三个,分别为framebufferl、 framebuffer2和framebuffer3,framebufferl用于存储摄像头拍摄的图像,framebuffer2 用于存储车辅线图像,framebuffer3用于存储车机系统的UI数据。使用了三个 framebuffer,分别用于存储倒车影像、动态车辅线图像和UI数据,三个framebuffer相互 独立,根据是否处于倒档状态来选择显示哪些framebuffer里的数据,从而有效避免UI数 据和倒车影像的相互冲突而导致的花屏。
[0021] 本发明作进一步改进,在步骤(3)中,framebufferl和framebuffer2中的图像经 过AlphaBlending操作进行图像处理。
[0022] 本发明作进一步改进,假设每个framebuffer大小为N个像素点,像素点的索引从 〇开始标号;framebufferf里车辅线图像所覆盖的像素点的索引值所构成的集合为T,所述 AlphaBlending公式为:
[0025] 其中,Pai)为framebufferl里索引为i的像素点的值,P_为framebuffer2里 索引为i的像素点的值,P1SAlphaBlending生成的新的像素点的值。
[0026] 本发明作进一步改进,在B3步骤中,用户在应用层的标定操作,是使用算法生成 不同方向角对应的动态车辅线,每个方向角对应两条轨迹线,将每条轨迹线上一定数量的 轨迹点坐标值作为一个集合记录在闪存中固定存储区域。
[0027] 本发明作进一步改进,所述集合为有限集合,所述方向角为整型值。
[0028] 本发明作进一步改进,所述方向角数值升序排序后为一个公差为1的等差数列。
[0029] 本发明作进一步改进,当当前方向角介于集合里两个相邻方向角之间时,则选择 集合中最接近的方向角数值对应的轨迹点坐标值集合来绘制轨迹线。
[0030] 本发明作进一步改进,所述动态车辅线还包括设在两条轨迹线之间与车尾保险杠 平行的至少一条横线。设置横线,使本车在倒车时距离其他物品或者车辆的距离更加直观, 有效避免事故的发生。
[0031] 本发明作进一步改进,所述横线与保险杠的垂直距离为0. 5米、1米和/或3米。
[0032] 与现有技术相比,本发明的有益效果是:开辟一个专门用来保存动态轨迹点坐标 值的闪存分区,由应用层的标定操作往里写数据,内核从中读取数据去绘制轨迹线,从而成 功地实现了在内核层应用复杂的动态车辅线;此外,本发明在操作系统内核加载时,优先加 载图像采集和显示所必要的驱动模块,以及用于绘制车辅线的轨迹点的坐标值,这样在内 核加载初始阶段即可显示带有动态车辅线的倒车影像,能够给予用户更加直观、更加准确 的驾驶辅助,同时从汽车点火到显示带有动态车辅线的倒车影像最快只需2秒,极大地缩 短了响应时间,给用户带来了比一般倒车影像系统更好的驾驶体验。
【附图说明】
[0033] 图1为本发明较佳的方法流程图。
【具体实施方式】
[0034] 下面结合附图和实施例对本发明做进一步详细说明。
[0035] 本发明的主要思想是:将复杂的动态车辅线算法的运行放在应用层执行,生成用 于绘制车辅线的若干组轨迹点的坐标值集合,并将该坐标值集合存储在事先划分好的闪存 分区内;在操作系统内核加载过程中,优先加载camera、framebuffer和显示屏等图像采集 和显示所必要的驱动模块,以及保存在事先划分好的闪存分区内的坐标值,待加载好后即 可立即启动摄像头并绘制车辅线来显示带有动态车辅线的倒车影像,从而可以将影像显示 最快提前至文件系统和不必要的驱动模块加载之前,极大地提升了带有动态车辅线的倒车 影像的显示速度。
[0036] 具体实现方法如下:
[0037] 如图1所示,本发明包括如下步骤:
[0038] Al:bootloader启动加载;
[0039] A2:内核加载开始,加载图像采集和显示所必须用的内核模块,比如camera、 framebuffer和显不屏等;
[0040] A3 :将闪存中固定存储区域中存储的绘制动态车辅线的轨迹点坐标值加载进内 存,然后同时执行内核其他模块加载及应用层标定步骤B和显示步骤C;
[0041] 内核其他模块加载及应用层标定步骤B执行顺序为:
[0042] Bl:其他内核模块加载;
[0043] B2 :文件系统加载;
[0044] B3 :应用层对动态车辅线的标定操作,将动态车辅线上的轨迹点坐标值作为一个 集合记录在闪存中固定存储区域,供内核加载进内存,
[0045] 显示步骤C执行步骤包括:
[0046] (1)如果检测到挂入倒挡,则启动摄像头,将拍摄到的图像保存在车机系统中的 framebuffer;
[0047] (2)如果检测到当前处于倒档状态,且方向角发生变化,则根据当前方向角选择相 应的轨迹点的坐标值,绘制车辅线,并将车辅线图像保存在framebuffer;
[0048] (3)如果检测到当前处于倒档状态,将步骤(1)和步骤(2)的图像数据做图像处 理,生成新图像,然后显示图像处理后的新图像。
[0049] (4)如果检测到当前为非倒档状态,则内核暂停摄像头的工作和车辅线的绘制,判 断文件系统是否加载完成,此时如果文件系统加载完成,则从framebuffer里读取UI数据 去显示,然后返回执行步骤(1),如果文件系统加载未完成,则直接返回执行步骤(1)。优选 地,如果文件系统加载完成,显示一帧UI数据的图像之后就去检测是否还是倒档状态,如 果是倒档状态,则重新执行步骤(1)至步骤(3),如果不是倒档状态,则继续从framebuffer 里读取UI数据去显示。如果文件系统没有加载完成,则直接返回执行步骤(1)。
[0050] 图1中的中空箭
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1