Kinect 相机的 RGB-D 视频压缩

问题描述 投票:0回答:2

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

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

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

到目前为止,我发现了很多讨论实现此任务的算法的论文,例如这篇: 适用于低带宽 3D 视频的 RGB 和深度帧内交叉压缩

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

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

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

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

video compression kinect image-compression run-length-encoding
2个回答
4
投票

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

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


0
投票

我已将这个项目 https://github.com/catid/Zdepth 与 Intel Realsense 在 640x480 30fps 16 位深度流中使用。它无损压缩为以 4 MB/s 左右运行的流,而未压缩的流则需要大约 18 MB/s。

© www.soinside.com 2019 - 2024. All rights reserved.