从Kinect相机压缩RGB-D视频

时间:2015-12-15 10:30:22

标签: video compression kinect image-compression run-length-encoding

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

  1. 2D彩色视频( RGB )。每像素32位。 640x480,30fps。
  2. 深度数据( D )。每像素16位表示距离最近对象的距离,单位为mm。 640x480,30fps。
  3. 这相当于带宽至少约为53 MB / s。 这就是为什么我需要在原点编码(压缩)两个视频源然后在目标处解码。 RGB-D数据将由目标跟踪算法处理。

    到目前为止,我发现很多论文都在讨论算法来完成这项任务,例如,这一项: RGB and depth intra-frame Cross-Compression for low bandwidth 3D video

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

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

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

    PS:我是用C ++编写的。

1 个答案:

答案 0 :(得分:1)

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

问题是h264会引入压缩失真。为了最小化编解码器引入的误差,深度图像被分成多个通道,这些通道代表不同的距离范围。