没有合适的资源?快使用搜索试试~ 我知道了~
首页高通chi usecase流程分析.pdf
资源详情
资源评论
资源推荐

高通 chi usecase 流程分析
概要 ........................................................................................................................................................................................................................................................................................... 1
一.高通 ISP 架构及数据流程 ................................................................................................................................................................................................................................................ 1
1.高通 spectra ISP 架构 ................................................................................................................................................................................................................................................. 1
2 . 双摄和 MFNR 多帧降噪 ISP 中的数据流 ................................................................................................................................................................................................................... 3
二.高通 chi usecase xml 分析 ................................................................................................................................................................................................................................................ 5
三.Chi 代码结构流程分析 ................................................................................................................................................................................................................................................... 13
1.chxadvancedcamerausecase.cpp 分析 ......................................................................................................................................................................................................................... 16
1.1 CameraUsecaseBase::Initialize()分析 ................................................................................................................................................................................................................ 18
1.2 CameraUsecaseBase:: ExecuteCaptureRequest ()分析 ..................................................................................................................................................................................... 19
2.chxusecasemc.cpp 分析 ............................................................................................................................................................................................................................................... 21
2.1. AdvancedCameraUsecase::Initialize()分析 ....................................................................................................................................................................................................... 22
2.2 AdvancedCameraUsecase::ExecuteCaptureRequest()分析 ............................................................................................................................................................................ 27
3. chxfeaturehdr.cpp ........................................................................................................................................................................................................................................................ 30
3.1 FeatureHDR::Initialize() ...................................................................................................................................................................................................................................... 32
3.2 FeatureHDR::OverrideUsecase() ........................................................................................................................................................................................................................ 32
3.3 FeatureHDR::ExecuteProcessRequest() ............................................................................................................................................................................................................. 32
3.4 FeatureHDR::ProcessResult() ............................................................................................................................................................................................................................. 32
概要
本文分为三大部分:
第一部分简述高通 isp 架构及数据流程,
第二部分分析 usecase xml
第三部分分析 uscase 代码流程
一.高通 ISP 架构及数据流程
1.高通 spectra ISP 架构
高通 spectra isp 主要分三大块: IFE, BPS, IPE
IFE:Image front-end endine 图像前端处理单元
1.主要进行preview流及video视频流前端bayer图像的ISP处理
2. 3A stat 统计管理和处理
3. 提供 HVX( Hexagon Vector eXtensions 宽幅向量处理 Hexagon 向量扩展)处理流的输入输出管道
BPS:Bayer processing segment bayer图片处理单元
主要进行拍照流程中bayer图片的ISP处理
IPE:Image processing engine 图像后处理单元
主要包括NPS噪声处理单元和PPS后处理单元
NPS主要做:
NR (spatial/temporal) 时域/空间域去噪
Inline warping engine for EIS 电子防抖图像混合处理
Multiframe processing 多帧处理
pps主要做:
LTM :Local Tone Mapping 局部色域映射
Color processing 色彩处理
Detailed enhancement (ASF) 图像细节加强
Scaler 图像缩放
另外还有一个IFE-lite模块,也就是精简版IFE,针对景深摄像头的,IFE有以下两个特征:
1. Supports only YUV sensors
2. Four RDI outs (no processing)

ISP 模块中数据流:
多帧照片数据流:
多帧照片数据并不是单纯的从 bps 到 ipe 的流向,而是第一次在 IPE 进行多帧混合处理后,再多次调用 BPS,IPE 后处理。
上面是高通硬件 ISP 模块,及基本的数据流在模块中的流向。
下面我们列出 camera 体系中常用到的功能或算法,以便更好了解 chi 代码中的体系架构。
分两大类功能,双摄的及单摄的
双摄功能:
1.RTB 双摄虚化
2.SAT 双摄光学变焦
单摄:
1. MFNR 多帧降噪
2. HDR 高动态范围
3. Beauty 美颜
4. ASD 自动场景识别
5. FD 人脸识别
6. Panoramic 全景拍照
7. ZSL 零秒延时拍照

8. LongShot 长按拍照
9. Zoom 数码变焦
10. EIS 视频防抖
11. AutoFocus 自动对焦
12. Remosaic 算法:Quad bayer 图像格式重排列成 bayer 图像的算法,不支持硬件 remosaic 的 4 合 1 quad sensor 要用。
2 . 双摄和 MFNR 多帧降噪 ISP 中的数据流
在分析代码流程前,我们需要先了解 usecase 的实际功能数据流向,下面我们重点介绍目前相机体系中比较重要的两个功能:双摄及多帧降噪 MFNR
高通的很多代码架构上的实现是围绕了这两个功能搭建起来。
双摄 preview 实时虚化在 isp 中的流向:
双摄 SAT 光学变焦 preview 流在 isp 中的流向:这里在进行 RT0 和 RT1 两路数据进行 Dummy SAT 算法融合后,才放到 IPE0 进行处理,和 RTB 实时虚化是有差异的。
双摄 shapshot 照片流(包括 SAT 和 RTB)在 ISP 中的流向:

高通MFNR 多帧降噪在ISP中的流向:

可以看到高通多帧算法的处理相对复杂。分别以两张图像为锚,一张是初始图像,另一张是经过预处理过的图像。初始锚定图像分别和三张加进来的多帧图片提取一些图
像信息(也可能是算法处理后的图像), 将这些提取的信息,分别放进每一次的 IPE 数据融合中进行处理。而预处理的初始锚定图像+增加进来的第一幅图像+提取的信息 1
在 IPE 中进行融合,然后再以融合后的照片为锚+增加进来的第二幅图像+提取的信息 2 在下一 IPE 管道中融合,以此类推。所以多帧图像的处理是要多次调用 IPE 模块管
道的。
二.高通 chi usecase xml 分析
以上了解两个关键功能双摄及多帧的数据流程,我们往下分析 usecase,我们熟悉和研究 chi 的体系流程,最终的目的是为了怎样添加一个 usecase,实现 usecase 的代码,
或在 usecase 里面添加 note 算法,其他功能操作等。现在我们来了解 chi 体系里面几个关键的概念:
1. Usecase :顾名思义使用案例,也就是一个功能需求,比如说 ZSL 功能是一个 usecase,HDR 是一个 usecase,多摄是一个 usecase,整个 chi 是围绕 usecase 的实现
搭建的体系。一个 usecase 里面会可能包含多个 pipeline,多个功能 Feature,多个 isp 模块,多个 note
2. Pipeline:数据流管道,比如说创建了一个 preview 流,一个 video 流管道,这些数据流是以 pipeline 管道的形式流通的
3. Note:功能节点,我们后面分析到的 camera 算法,是以一个节点嵌套在管道流中,这个节点相当于实现了算法的内容。
比如说 dummyrtb 节点实现了双摄数据的融合处理,remosaic 节点实现了数据的重排列,staticaecalgo 节点实现了第三方 AEC 算法的接入等。
4. Target:目标对象,用来定义一些用到的参数信息
5. Topology:整个 usecase,pipeline 和 note 呈现的是一个拓扑链接的结构形式,这些拓扑结构以一个 xml 的形式来描述,这个 xml 描述了整个工程 camera 功能中
usecase,pipeline 流,nete 的拓扑关系及其参数的配置参数等。像 sdm710 工程默认使用的是 chi-cdk/vendor/topology/default/ titan17x_usecases.xml
剩余32页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论1