在阅读PiCamera文档后,我想到了几个问题,我可能需要一些帮助才能回答它们?
Pi使用无损压缩还是无损压缩?
数据真的被复制到RAM的次数如图所示吗?
压缩是逐帧发生还是在帧内发生?
我们是在步骤3、4、5和6中复制RAM还是使用相同的缓冲区?
在创建循环缓冲区的情况下(使用PiCameraCircularIO类),上面显示的图片有何影响?
谢谢!
答案 0 :(得分:2)
Pi使用有损压缩。
当图像进入相机时,其颜色被限制为指定的颜色空间。 这可能只有人眼所见的50%。
然后相机将色彩信息缩放到通常称为4:2:0的25%(或丢掉75%)。
现在,已经大量缩小的图像流会被H.264或JPEG压缩器有损压缩。
JPEG在帧压缩(帧内)内进行。 H.264逐帧并在帧内(帧内和帧间)进行 您可以将H.264配置为仅执行内部帧-然后创建所有I帧。
在第3步(某些信号处理)和第5步(H.264压缩)中处理和更改帧,因此必须在3和5中使用不同的内存。
如果操作正确,则不应复制第4步和第6步。
PiCameraCircularIO应该被复制-因为GPU内存可能有限,如果循环缓冲区变大会溢出。