展锐平台的手机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 拍照和工具拍照的整体流程是这样设计完成的

相关推荐
希潭实验室4 小时前
第136篇:美国NSA的苹果手机“三角测量“后门的窃密模块分析 | 机器学习引擎识别照片信息
人工智能·机器学习·智能手机
光电的一只菜鸡7 小时前
高通EIS基础pipeline
数码相机
吉哥机顶盒刷机9 小时前
XDBL安卓玩机刷机工具V2.8_解压缩版
android·智能手机·电脑
ulimate_11 小时前
autoware能用来机械臂手眼相机的标定嘛
数码相机
Hi2024021711 小时前
点云外参自动标定工具
数码相机
氦客14 小时前
Android Compose 屏幕适配实战:区分手机 / 平板
android·智能手机·电脑
Digitally15 小时前
6 种实用方法:无需 USB 线将电脑文件传输至安卓手机
android·智能手机·电脑
qq_5260991316 小时前
双目立体视觉相机|精准深度感知 全场景智能视觉
人工智能·数码相机·机器人·自动化
YJlio16 小时前
《Windows 11 从入门到精通》读书笔记 1.4.9:全新的微软应用商店——“库 + 多设备同步”把它从鸡肋变成刚需入口
c语言·网络·python·数码相机·microsoft·ios·iphone
YJlio16 小时前
《Windows 11 从入门到精通》读书笔记 1.4.10:集成的微软 Teams——办公与社交的无缝衔接
c语言·网络·python·数码相机·ios·django·iphone