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

相关推荐
hfxns_19 小时前
iPhone12手机通话记录删除了怎么恢复?3个方法快速恢复
智能手机
那就举个栗子!20 小时前
多传感器融合slam过程解析【大白话版】
数码相机
xy189901 天前
相机触发模式
数码相机
xiaonianzuibang1 天前
如何更改手机GPS定位
智能手机
tester Jeffky1 天前
掌握移动端性能测试利器:深入JMeter手机录制功能
jmeter·智能手机
催催121 天前
手机领夹麦克风哪个牌子好,哪种领夹麦性价比高,热门麦克风推荐
网络·人工智能·经验分享·其他·智能手机
IT生活课堂1 天前
Android智能座舱,视频播放场景,通过多指滑屏退回桌面,闪屏问题的另一种解法
android·智能手机·汽车
AirDroid_cn1 天前
如何控制自己玩手机的时间?两台苹果手机帮助自律
ios·智能手机·ipad·手机使用技巧·苹果手机使用技巧
yunfanleo2 天前
代替Spinnaker 的 POINTGREY工业级相机 FLIR相机 Python编程案例
c++·python·数码相机
摆烂仙君3 天前
《Camera-free Image to PanoramaGeneration with Diffusion Model》论文解析——CamFreeDiff
人工智能·数码相机·计算机视觉