视频信息是由前端数据采集-->ISP图像处理-->scaler到目标图像大小-->encode-->送给用户(例如电视可显示)
视频数据量大,处理图像环节多。如果每一个环节都把数据存到内存,然后在做下一步的动作。大家应该知道些内存是一个很慢的动作,这样系统效率就非常的低。所以内核驱动程序的好坏直接决定了这个芯片的可用性。
现在市面上主流的芯片厂商都是通过通道技术来实现从图像输入到视频流输出。
通道技术具体实现方式如下,各位同行可以参考。
A -- 采集数据 B--图像处理 C--scaler到目标尺寸 D--encode
A采集到数据产生中断 B马上处理 ;B处理完成产生中断 C马上处理;C处理完成 D马上处理
及时处理数据在cache中,大大的增加了速度。同时上面的步骤是不同进行的,通过开启内存池队列实现流水线,哪怕那一个环节某一时多点时间,也不影响系统。
以上仅仅是驱动实现的一些方式,只有彻底理解驱动实现方式才能提高设计产品的性能。