我需要通过网络从 Kinect 摄像头发送视频。我正在从以下两个 Kinect 源捕获视频:
- 2D 彩色视频 ( RGB )。每像素 32 位。640x480 每秒 30 帧。
- 深度数据 ( 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++ 编写代码。