6

我需要通过网络从 Kinect 摄像头发送视频。我正在从以下两个 Kinect 源捕获视频:

  1. 2D 彩色视频 ( RGB )。每像素 32 位。640x480 每秒 30 帧。
  2. 深度数据 ( D )。每像素 16 位,表示到最近物体的距离,以毫米为单位。640x480 每秒 30 帧。

这相当于至少大约 53 MB/s 的带宽。这就是为什么我需要在源端对两个视频源进行编码(压缩),然后在目标端解码。RGB-D 数据将由目标跟踪算法处理。

到目前为止,我发现许多论文讨论了实现此任务的算法,例如,这篇文章: RGB and depth intra-frame Cross-Compression for low bandwidth 3D video

问题是这些论文中描述的算法没有公共访问实现。我知道,我可以自己实现它们,但是它们利用了许多其他我没有足够知识的复杂图像处理算法(边缘检测、轮廓表征……)。

实际上,我还发现了一些基于离散中值滤波器、增量(避免发送冗余数据)和 LZ4 压缩的 C++ 库:http: //thebytekitchen.com/2014/03/24/data-compression-for-the -kinect/

我的问题是:有没有更简单和/或更有效的方法来压缩来自 Kinect 源的 RGB-D 数据?

PS:我正在用 C++ 编写代码。

4

1 回答 1

2

在最近对该问题的搜索中,我发现了一篇描述使用 h264 视频编解码器压缩深度图像的论文。作者还提供了基本软件:

一个问题是 h264 会引入压缩伪影。为了最大限度地减少编解码器引入的错误,深度图像被分成多个通道,代表不同的距离范围。

于 2017-09-22T11:13:57.653 回答