3. Snapdragon视频硬件架构

理解Snapdragon平台上的音视频系统工程,不能只停留在“调用某个API”的层面。真正决定画质、延迟、功耗和稳定性的,是SoC内部几个关键硬件模块如何分工,以及它们之间如何通过内存共享数据。本节围绕Adreno GPU、VPU、DPU、Camera ISP、视频编解码模块以及内存带宽与数据通路展开,重点说明“谁负责什么、数据从哪里来、经过哪里、最终到哪里去”。

一、各硬件模块的职责边界

Adreno GPU是通用可编程图形与计算单元。在视频系统中,它承担图形渲染、UI合成、色彩空间转换、缩放、滤镜、畸变校正、部分计算机视觉算子以及OpenCL/Vulkan Compute加速任务。GPU的优势是灵活,适合处理“规则不固定、算法经常变化”的像素级运算;代价是功耗和带宽开销相对较高,因此不适合把全部视频后处理都压在GPU上。

VPU(Video Processing Unit)是视频编解码加速器,负责H.264、H.265/HEVC、VP9、AV1等码流的硬件编解码。它处理的是压缩域到像素域之间的转换:解码时把码流还原为YUV帧,编码时把YUV帧压缩为码流。VPU通常支持多路并发、低延迟模式和多种档次(如1080p、4K、8K),是录制、直播、视频通话和本地播放的核心。

DPU(Display Processing Unit)负责显示合成与扫描输出。它从内存读取多层图层(视频层、图形层、OSD层),完成图层混合、色彩管理、Gamma、缩放和时序生成,再通过MIPI DSI或DP接口送到屏幕。DPU的关键价值在于“合成不占用GPU”,从而降低功耗和延迟。

Camera ISP负责图像信号处理。Sensor输出的是Bayer RAW数据,ISP完成黑电平校正、去马赛克、白平衡、色彩校正、Gamma、降噪、锐化、镜头阴影校正等,输出YUV或RGB。对于视频通话、录像和计算机视觉,ISP还提供统计信息(3A:AE/AF/AWB)供算法闭环控制。

视频编解码模块与VPU在物理上常被归为同一子系统,但工程上要区分“编码器”和“解码器”两条路径:编码用于录制/推流,解码用于播放/预览。两者共享部分内存和时钟资源,但并发时可能互相争抢带宽。

二、数据通路:从Sensor到屏幕

一条典型的视频链路是:Camera Sensor → CSI → ISP → 内存(YUV/RAW)→ GPU/VPU/DPU → 显示或编码输出。这里的关键是“内存中转”。Snapdragon采用统一内存架构,各模块通过系统总线访问LPDDR。数据不是点对点直连,而是以帧缓冲(Frame Buffer)为单位在内存中流转。因此,带宽和延迟往往比算力更早成为瓶颈。

以4K30录像为例:Sensor输出约8~10 bit RAW,ISP输出NV12(YUV420)。一帧4K NV12约 3840×2160×1.5 ≈ 12.4 MB。30 fps下,仅ISP写入就约 373 MB/s;若同时预览、编码和显示,同一帧可能被读多次。若再叠加GPU滤镜和DPU合成,总带宽很容易超过 2~3 GB/s。这就是为什么“降分辨率、降帧率、减少中间拷贝”是最有效的优化手段。

Snapdragon 视频硬件数据通路(示例:4K30 录像 + 预览) Camera Sensor RAW 10bit CSI-2 MIPI 接收 Camera ISP 3A / 去马赛克 / 降噪 LPDDR 统一内存 帧缓冲 Frame Buffer(NV12 / P010) 带宽示例:4K30 NV12 ≈ 373 MB/s 写入 Adreno GPU 合成 / 滤镜 / 缩放 VPU 编解码 H.264 / HEVC / AV1 DPU 显示合成 图层混合 / 时序输出 MIPI DSI 屏幕 / 外接显示 编码码流输出 文件 / 推流 / 录像 写 YUV 读帧 读帧 读帧 码流 合成图层 带宽关注点 • 每帧读写次数 × 分辨率 × 帧率 • 并发编码 + 预览 + 显示时叠加 • 优先减少中间拷贝与格式转换

三、内存带宽:最容易被低估的瓶颈

Snapdragon的模块都挂在同一套内存子系统上,带宽是共享资源。工程上可以用一个简化公式估算:带宽 ≈ 帧大小 × 帧率 × 读写次数。其中“读写次数”是优化重点。例如,ISP写一帧、GPU读一帧再写一帧、DPU再读一帧,就是4次访问;如果GPU这一步能省掉,带宽立刻下降约一半。

常见的降带宽手段包括:使用NV12而非RGBA;让DPU直接消费视频层而不经过GPU合成;使用UBWC(Universal Bandwidth Compression)压缩帧缓冲;避免CPU参与像素拷贝;在预览链路中降低分辨率或帧率。需要注意的是,UBWC需要各模块都支持并正确配置,否则可能触发格式转换,反而增加开销。

四、并发场景下的资源竞争

实际产品中经常同时发生:录像(VPU编码)、预览(ISP+DPU)、UI渲染(GPU)、AI推理(GPU/DSP)。这些任务会争抢带宽、时钟和电源域。典型现象是:4K60录像时预览掉帧,或开启美颜滤镜后编码码率不稳定。排查时应先确认瓶颈在算力还是带宽:如果GPU占用不高但帧率下降,多半是内存带宽或VPU并发能力受限。

工程建议:在4K高帧率场景中,优先保证ISP→VPU的编码通路,预览链路可适当降分辨率;把GPU滤镜改为VPU或DPU可完成的操作,能显著降低带宽和功耗。

五、模块选型速查

任务首选模块原因
H.265 4K 录像VPU 编码器硬件压缩,功耗低,支持高码率
视频通话美颜GPU 或 VPU 后处理算法灵活,但需控制带宽
多图层UI合成DPU不占GPU,延迟低
RAW 域降噪Camera ISP在Bayer域处理,信息最完整
AI 超分GPU / DSP需要可编程算力