跟着卷卷龙一起学 Camera-- 低延迟 04
前面提到过 CMOS sensor 在输出 1080p@30fps 时典型主频 在 76MHz 左右,所以 IP 的实际处理能力是 sensor 输出能力的 10 倍以上。这么强大的处理能力如果只为 一个 sensor 服务显然是太奢侈了,所以现实情况是一个 ISP 最少需要同时支持两个 sensor,有些产品则需 要支持 4 个甚至 8 个 sensor。比如笔者手里价格高达 1000 余元的红米 Note8 手机就装有 5 个摄像头,同 时 ISP 还有惊人的图像处理能力。显然,ISP 需要以分时复用的方式一个个处理来自各个 sensor 的图像, 这就需要软件逻辑介入对多个 sensor 的处理任务进行合理的调度。如果软件设计的不尽合理,或者 CPU 处理能力不够,当所有 sensor 一起跑实时流时,就很容易出现某些 sensor 处理不及时的情况。
看到这里很多观众可以长出一口气了,原来 camera latency 的主要原因在于离线模式。如果我的产品没 有支持多 sensor 的需求,那是不是就可以让 ISP 专心处理一个 sensor 的图像,就可以做到更好的实时性了。 Bingo! 当一个 ISP 只需要支持一个 sensor 时,sensor 出来的数据不需要经过 DDR 排队的过程,而是通过 一个专用的硬件通路(VIP Path)直接送给 ISP 进行处理,这种工作方式叫做在线模式。
前面已经计算过,ISP 等待 5 行数据到达引入的延迟约为 10,000 个 PCLK cycle,而内部处理的延迟一般 不超过 5000 个 ICLK,为计算方便不妨假设 ICLK 频率是 PCLK 的 5 倍,则 ISP 处理的总延迟约为 11000 个 PCLK,折合绝对时间约为 145us。
版权声明: 本文为 InfoQ 作者【卷卷龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/04ea9979039188de17b2ea9bd】。文章转载请联系作者。
评论