展锐平台的手机camera 系统isptool 架构

展锐平台的isptool 主要用于支持展锐各代芯片isp的各效果模块快速tuning和参数生成打包。

具体需要:

一、工具段能在线实时预览到调试sensor经过isp 处理后的图像,也就是各模块的参数在当下实时生效,通过工具能在PC 上在线观看到修改的效果。

二、工具能进行拍照,生成过程中不同格式的图片,包括raw图,yuv图,jpeg图三种格式。其中jpeg 图中的exif 暂存了tuning效果模块的参数。这样tuning 人员对比raw图,jpeg图就能分析到tuning模块的配置和原始和最终效果全部的信息。这样能离线后能方便不同人员的分享对比。

三、 针对各种场景的效果参数打包优化,做到能整体参数压缩优化,在手机上相机运行加载时快速解析。

建立关闭工具链接

展锐isptool 通过usb 和手机连接,在手机侧的驱动默认集成在camera的HAL分层驱动里面,它通过socket 这套接字接口来实现建立侦听,实现和pc tool建立链接和断开关闭。在手机相机HAL 驱动open的时候,自动打开这个usb socket的侦听,如果pc 端的isptool 通过usb 插入手机,这个连接的请求会被侦听到,手机端和pc端就会建立连接。后续通过自定义的usb 协议来完成上述的预览拍照,传递tuning参数的功能。如果pc端断开usb 链接,在主动断开或者被动断开超时时关闭这个socket连接,重新进行下一次的侦听。

手机侧的isptool驱动在camera 分层驱动的位置如图所示,在sprd_oem 的位置红色框图位置,在HAL open的时候,socket server 生成,随后进行侦听,在usb 链接到PC后,可以通过isptool 主动打开手机相机,开启PC端摄像头预览界面,也可以先打开手机相机,让isptool 开启PC端摄像头预览。

工具预览

在isptool 打开摄像头成功后,默认就是实时预览的界面,能在PC 上看到每一帧的活动视频,选择使用对应的芯片版本,选择配置各种效果模块的参量,就能通过usb 协议将效果参数实时刷入到ISP的硬件系统中去,在PC 端看到效果的变化。

预览的实现是通过cmr_preview 模块输出给hal的图像帧数据包复制,然后通过usb server socker传输到isptool,这样在pc端预览的时候,也不妨碍手机端的预览。

参数下发是usb server socker接收到isptool发过来的各种参数,解析后通过isp tuning para 的接口,将参数层层下发到最终的ISP硬件系统的各效果模块中。

参数打包

如果在预览界面选择工具条上的"参数打包输出",将效果参数整体都按照手机上需要的格式打包保存,输出的文件格式为C 的结构数组格式,可以复制到上图的 isp tuning para层的效果源文件去,这样编译hal分层驱动会整体编译到项目中。

工具拍照

工具拍照和手机端离线的raw 拍照过程是一样的,所不同的是在拍照的阶段将拍照所得的raw图,yuv图,jpeg图都通过usb 上传到工具了。也是和预览类似,在cmr_snapshot模块输出帧到HAL的同时,复制这个帧通过usb server socker传输到isptool。这样手机端就能接收到各种格式的图像了,所不同的是,手机端不再保存raw图,jpeg图到本地了。

raw 拍照和工具拍照的流程图如上。

首先sensor通过mipi dphy->mipi rx->DCAM0 的没有任何效果的full path 输出sensor 过来的原始raw image,给到HAL 驱动的cmr_snapshot 的这个拍照模块,拍照模块会根据当前的模式,实现本地暂存或者通过usb传输送到isptool去。

然后这个这个raw image会从cmr_snapshot模块传递回内核驱动,通过offline的fetch 送到DCAM1模块,通过bin path 输出到内部 使用的raw1 image,这个raw1 image 是经过isp tool 配置到dcam 部分的效果参数配置,由DCAM bin path 上生成的raw1 image,和原始的raw image不一样。

这个处理后的raw1 image 然后输入到 isp模块,最终经过full RGB,YUB 域处理,输出YUV 图。传递到HAL的cmr_snapshot拍照模块,由该模块决定根据当前的模式,实现本地暂存或者通过usb传输送到isptool去,然后是变换成320*240的图标小图,再一起合成jpeg图,实现本地暂存通过usb传输送到isptool去。

raw 拍照和工具拍照的整体流程是这样设计完成的

相关推荐
熊猫钓鱼>_>2 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
云起无垠10 小时前
把 agent 留在桌面,把人放出去——手机遥控 AI 编程实战
智能手机
caoliaoerweima1 天前
草料二维码小程序上线活码编辑器:手机上也能编辑活码了
智能手机·小程序·编辑器·草料二维码
一支标1 天前
【手机+电脑】通达信《分时T王》策略战法套装标策略深度解析使用说明书
智能手机
wulechun1 天前
ZeusSpring框架深度解析:基于Spring Boot的高效模块化企业级开发解决方案与实战指南
智能手机
加搜科技观察2 天前
哪个品牌 3D 相机好用?工业 3D 相机品牌选型评估指南
数码相机·3d
奶油话梅糖3 天前
苹果的内核跑上了安卓手机:2,631 Star 的 HakiOS 让 XNU 在 Adreno GPU 上画出 118 帧
android·macos·智能手机
程序猿追4 天前
一个工程面向手机与二合一:HarmonyOS 6 部署配置和本地手记
华为·智能手机·harmonyos
xx z5 天前
哔哩哔哩第三方客户端 PiliPlus 实测:23.5MB 轻量版,手机平板电脑通用
智能手机·电脑
于海风微醺6 天前
工业相机选型
数码相机·相机