1

阅读 PiCamera 文档后,我想到了几个问题,我可能需要一些帮助才能回答这些问题?

在此处输入图像描述

Pi 使用有损压缩还是无损压缩?

如图所示,数据是否真的多次复制到 RAM 中?

压缩是逐帧并在帧内发生的吗?

我们是在步骤 3、4、5 和 6 中复制 RAM 还是使用相同的缓冲区?

在创建循环缓冲区的场景中(使用 PiCameraCircularIO 类),如上所示的图片如何受到影响?

提前致谢!

4

1 回答 1

2

Pi 使用有损压缩。

当图像进入相机时,它的颜色被限制在指定的颜色空间内。这可能只有人眼所能看到的 50%。

然后相机将颜色信息缩放到 25%(或丢弃 75%),通常称为 4:2:0。

现在,已经大幅缩小的图像流被 H.264 或 JPEG 压缩器进行了有损压缩。

JPEG 在帧内压缩(帧内)。H.264 逐帧和在帧内(帧内和帧间)执行您可以将 H.264 配置为仅执行帧内 - 然后创建所有 I 帧。

帧在第 3 步(一些信号处理)和第 5 步(H.264 压缩)中进行处理和更改,因此在第 3 步和第 5 步中必须使用不同的内存。

如果操作正确,则不应复制第 4 步和第 6 步。

PiCameraCircularIO 应该被复制 - 因为 GPU 内存可能会受到限制,并且如果您的循环缓冲区变大,则会溢出。

于 2020-10-20T17:19:37.843 回答