关键时刻慢一秒,目标就过去了。无论是随身记录仪抓拍突发画面,还是工业相机开机即拍,摄像头启动慢半拍,往往意味着错过关键瞬间。针对这类 "开机即见画面" 的需求,飞凌嵌入式在OK1126B-C/OK1126B-S平台上,分别适配了OS04A10、OV13855两款摄像头的快速启动功能——开机上电后1秒内,屏幕即可输出摄像头画面,开机瞬间即可进入拍摄或图像抓取状态。
以下演示基于飞凌嵌入式OK1126B-S开发板平台,搭配LCD屏幕与OV13855摄像头。
实现原理
RV1126B内置一颗高性能的MCU RISC-V小核,并移植了简化版ISP 2A算法(Fast AE/AWB),可协助ARM完成Camera与ISP的初始化,让图像效果快速收敛。从上电到Linux内核完成启动需要一定时间,MCU在此阶段并行完成AE/AWB收敛与日夜模式判断。当内核ISP驱动注册后,Sensor直接采用MCU计算得到的曝光量出图,从而快速取得有效的第一帧,同时保证图像效果基本稳定收敛。
快速启动的基本流程如下:
MCU阶段设计
MCU辅助图像效果快速收敛的流程如下:
从上电到Linux内核完成启动需要一定时间,此阶段MCU并行执行相关流程:
上电后,等待SPL启动并获取执行相关流程所需的配置参数,同时并行开展CIS初始化(为加快图像效果收敛,MCU阶段CIS采用高帧率出图,一般在60fps以上)。
获得配置参数后,依据硬光敏检测结果判断当前环境亮度,进而设置对应的日夜模式与CIS初始曝光(若无硬光敏,则直接下发预设的CIS初始曝光,并启用软光敏来判断日夜模式)。
MCU上移植了简化版ISP 2A算法(AE:自动曝光,AWB:自动白平衡),即Fast AE/AWB。CIS采用高帧率出图,以压缩Fast AE/AWB的收敛时间;待收敛后,将2A收敛结果传递给内核,作为内核出图时的图像效果2A初始值。
ARM阶段设计
为缩短首帧出图时间,快启ARM阶段的内核与ISP采用了特殊化的工作模式,流程如下:
ARM启动过程中应用启动相对较晚,当ISP驱动注册成功后,会启动一个线程调用vicap接口。首先按出图分辨率预留buffer存图,再进行vicap的离线帧采集,从而缩减首帧出图的时延。
内核依据MCU阶段Fast AE计算的收敛曝光,进行离线RAW图采集。
AIQ获取MCU阶段的2A收敛结果与日夜模式,计算首帧对应的ISP图像效果配置参数。
应用VI启动时,ISP开始处理缓存的离线帧,此时ISP处理离线帧与vicap采集并行进行。当缓存的离线帧处理完毕、且ISP处理速度追上vicap采集速度时,vicap会通知ISP在帧尾的vblank期间,完成从离线到在线的切换。
效果演示
从上电到应用启动rockit_load start:约317ms
从上电到LCD屏幕显示(秒表计时):约919ms
应用场景
电池门铃、看护类摄像头等低功耗常关场景
快速抓拍、开机即拍类产品
小结
对很多“平时休眠、唤醒即用”的产品来说,首帧出图速度往往直接决定使用体验——门铃按下瞬间能否立刻看到来人、抓拍设备能否不错过关键瞬间。飞凌嵌入式OK1126B-C/OK1126B-S的快启方案,通过MCU在系统启动阶段并行完成AE/AWB收敛与日夜判断,把从上电到屏幕出图的时间压缩到约0.9秒,同时兼顾了首帧的图像质量,无需增加额外硬件开销。
目前OS04A10、OV13855已分别在飞凌嵌入式OK1126B-C/OK1126B-S平台完成适配。如果您对其他摄像头型号或具体启动时长有定制需求,欢迎与我们联系交流。
102
