我需要通过网络从Kinect摄像机发送视频。我正在从以下两个Kinect来源捕获视频:
2D彩色视频(RGB)。每个像素32位。640x480以30fps播放。
深度数据(D)。每像素16位,代表到最近物体的距离,单位为mm。640x480以30fps播放。
这相当于至少约53 MB / s的带宽。这就是为什么我需要在源处对两个视频源进行编码(压缩),然后在目标处进行解码。RGB-D数据将由目标处的对象跟踪算法处理。
到目前为止,我发现有许多论文讨论了实现这一任务的算法,例如: RGB和低带宽3D视频的深度帧内交叉压缩
问题在于,此类论文中描述的算法没有公共访问实现。我知道,我可以自己实现它们,但是它们利用了我还不了解的许多其他复杂图像处理算法(边缘检测,轮廓表征等)。
我实际上还发现了一些基于离散中值过滤器,增量(避免发送冗余数据)和LZ4压缩的C ++库:http : //thebytekitchen.com/2014/03/24/data-compression-for-the -kinect /
我的问题是:有没有更简单和/或更有效的方法来压缩Kinect源中的RGB-D数据?
PS:我正在用C ++编写代码。