写点什么

跟着卷卷龙一起学 Camera-- 低延迟 01

作者:卷卷龙
  • 2022-11-08
    广东
  • 本文字数:725 字

    阅读完需:约 2 分钟

延迟的构成

目前主流的 camera 大多都遵循以下工作原理:

  1. 使用集成的 MIPI CSI/LVDS 等视频输入接口捕获 CMOS sensor 输出的 RAW 数据,这个过程产生的延 迟称为 video capture latency; 2. 使用集成的 ISP 硬件对 RAW 数据进行流水线处理,生成 YUV 图像,这个过程产生的延迟称 ISP pipeline latency; 3. 使用集成的 H.264/265 硬件编码器对 YUV 图像进行编码,生成编码码流,这个过程产生的延迟称为 video encoding latency; 4. 步骤 1,2,3 的延迟主要取决于芯片硬件性能,而三者之间还存在软件调度的延迟,硬件延迟和软件 延迟的总和统称为 camera latency; 5. 使用 RTSP/RTMP/HLS/SIP 等流传输协议将编码码流传送到网络客户端,这个过程受网络拥堵和丢包情 况影响较大,产生的延迟称为 network latency; 6. 客户端使用 FFMPEG 等解码软件对收到的码流进行解码,得到 YUV 图像,这个过程产生的延迟称为 video decoding latency。当客户端需要处理多路码流时,每个码流都需要在内存中排队等待 CPU 处理,所 以 decoding latency 里还包含了软件调度的延迟。目前较新版本的 FFMPEG 已经默认支持使用 GPU 进行解 码,可以显著降低 CPU 占用率、降低 decoding latency; 7. 客户端使用 OpenGL,DirectX 等 3D 加速引擎对 YUV 图像进行 2D 和 3D 处理,包括像素格式转换、 图像增强、图形层叠加、PIP 贴图、3D 投影变换、添加场景光源、计算阴影等处理任务,这个过程称为渲 染(rendering),产生的延迟称为 rendering latency; 8. 渲染之后的图像被保存在显卡上的帧缓存(FrameBuffer)中,显卡的视频控制器(Video Controller) 会读取帧缓存中的信息,经过数模转换后送给显示器进行显示,这个过程称为 video display,产生的延迟 称为 screen latency。


发布于: 刚刚阅读数: 4
用户头像

卷卷龙

关注

还未添加个人签名 2022-07-26 加入

还未添加个人简介

评论

发布
暂无评论
跟着卷卷龙一起学Camera--低延迟01_ISP_卷卷龙_InfoQ写作社区