Reading | 混合现实系统中的网络流媒体和压缩技术(Ch2)

本章节的主要目的是解决问题1:目前最先进的支持远程沉浸混合现实系统是什么?它与其他3D媒体应用有何关联?

技术背景和动机

3D场景采集和重建

3D相机不仅检测彩色像素,还包含了场景的深度信息

基于深度图像的渲染(DIBR, Depth Image Based Rendering)技术可以实现任意视点渲染。对于混合现实系统而言,深度信息还可用于分割场景中感兴趣的物体(Objects of interest),例如人像,建筑,景观,车辆等。这种分割的结果通常是3D网格或点云数据。通过多角度多机位采集数据时,这种方法特别奏效。

本小节主要探讨深度数据的采集和重建。常用相机可大致分为被动式和主动式。

被动式相机采集

单个相机

3D结构可从单个相机的视频序列中提取。通过分析物体X在视频中的阴影、纹理、焦点或运动状态来获得3D结构,这些技术一般称作Motion from X techniques

虽然还没有完全可靠的解决方案,但这种技术在未来是最有希望的。

多个相机

由多个相机重建3D结构的方式和人眼的运作方式类似,常见方法是立体匹配(stereo matching),即通过寻找画面中内容相同的点作为匹配点(Matching Point),然后通过分析多幅画面中的差异来估计匹配点处的深度信息。

这个方法的缺点很明显:匹配点往往会因为重复的纹理图案(比如规则排布的地砖)或者遮挡物而不易获取,导致深度测算失败。

这一方式类似于光学式动作捕捉系统,匹配点即是动作捕捉服上的反光球。不同的是,反光球的位置相对来说比较容易采集,而普通视频里的匹配点就不太容易获取。

主动式相机采集

这是一种更直接的方法,且减少了计算量。典型产品如Microsoft Kinect。

Kinect1 通过红外线发射器、红外线接收器和参考平面构成,通过一些已知参数来计算物体的深度信息。

例如,根据上图结构易得

\[Z_0 = \frac{z_r}{1+\frac{z_r}{fv}d}\qquad(1)\]

Kinect2 通过计算光线飞行时间(Time of Flight, ToF)来测算深度信息。原理不再赘述。

另一种可选方式是光场重现(plenoptic representation),有关光场相机的相关理论可参考之前整理过的这篇博文

由于光场相机记录的信息量过大,不适用于实时传输,因此本文后续将不再深入探讨。

重建

重建算法用于会去除背景和其他不相关的数据,并将每个视图中的点云拼接起来,并计算一个3D网格或点云。微软的Kinect系列已经做了几次尝试(如下图),观察到的噪声是由于红外干涉造成的。不过实时渲染已经表明,尽管存在这些噪声,它们仍保留了真实感。此外,三维点云捕捉技术现在也在移动设备上也有应用。

  • 研究动机1:越来越多的多媒体应用开始支持3D物体的扫描技术。

3D渲染

3D Rendering is the process of creating the 2D images of a 3D scene. It can be compared to taking a photo or filming a scene in real life from synthetic object.

3D渲染是为3D场景创建2D画面的过程。可以类比为照相/摄像的过程:将现实中的场景转化为合成对象。

3D渲染一般是基于分割后的3D网格或点云数据,通过调用渲染相关的API(Application Programming Interface,应用程序编程接口)来完成。常用API如OpenGL和Direct3D,它们都是可以跨平台使用的。

实时渲染方式主要包括光线追踪、扫描线渲染和Z缓存等。

为了进一步解释渲染的细节过程,我们引用OpenGL渲染管线(Pipeline)加以说明(图自Addison Wesley - OpenGL Programming Guide 8th Edition(红宝书)):

顶点数据->顶点着色器->细分着色器->几何着色器->图元设置->裁剪->光栅化->片元着色器->结果

第一个完整的OpenGL程序的Xcode实现可参考这篇文章

至于每一步的概念细节,就需要在实践中理解了。

  • 研究动机2:越来越多的3D渲染API可以跨平台使用,便于部署到MR系统中。

3D媒体网络

过去的几十年中,互联网环境发生了巨大变化,并在支持分布式共享体验的3D媒体通信方面越来越好。 从高层次的角度来看,在分布式共享体验中加入3D媒体时,互联网在以下三个方面的技术创新非常重要:

物理网络媒体

在IP网络中,常见的有线链路有光纤,双绞线和同轴电缆等;无线链路通常使用无线电和(或)微波频谱的部分。对于有线和无线链路,介质的物理性质和可用于传输的频谱带宽,都对可发送的信息量施加限制。这些限制是基于物理学和信息论的规律。

随着数字信号处理和电子技术的进步,人们掌握了更复杂的调制技术和噪声滤波技术。因此,对于每种物理介质(链路类型),要改进传输协议,可以通过改进调制,错误编码和媒体访问控制来实现。这些进步与高质量物理介质相结合,使得通过链路发送数据的比特率更高。例如,下图为物理链路的最大上传/下载比特率的发展过程:

QoS架构

互联网的原始设计是基于弹性和统一的数据传输模式的要求。,这是在存储转发、分组交换体系结构中实现的。 物理链路通过路由器相互连接,它们确定最佳的端到端路径后,将分组转发到下一个目的地。 下图显示了用于通过数据包转发连接发送方和接收方主机的IP子网的示例。

尽管分组交换和转发的体系结构能够灵活地应对变化并且能够实现任何类型数据的传输,但是该体系结构对于实时多媒体服务具有一些缺点,比如抖动、丢包、延迟等。对于实时和交互式媒体服务,这些缺点可能会大大降低用户的体验。 因此,互联网在设计过程中已经考虑了限制分组丢失、抖动和延迟的传输, 这通常被称为服务质量(QoS)。 一些常见的QoS机制有:分配(Over-Provisioning, OP),流量监控(Traffic Policing),综合服务(Integrated Services),区分服务(DiffServ)等。

由于互联网中一些高需求的内容不常随时间变化,实现QoS的一个简单方法是复制数据并将其移动到靠近最终用户的位置。这可以通过使用网络缓存来完成,创建一个内容分发网络(CDN)。 CDN很好地处理了许多用户所要求的流行内容,但对于所谓的“长尾”内容(即少量用户所接收的内容)而言效果不佳(有关CDN的理解可以参考这篇文章)。

媒体支持协议

互联网协议层处理端到端的数据报传输,连接和服务在更高层实现。多媒体协议用于设置,维护和解除多媒体会话。这些协议对编解码器配置和比特率有一定的预先了解,有时能够适应网络条件和预期的用户体验。流行的多媒体协议包括RTP / RTCP双协议栈,RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。

  • 研究动机3:接入网络和其他物理链路上的带宽增多,加之软件定义网络和若干新技术,互联网的服务质量在下一个周期中可能会有所改善。

3D媒体压缩

3D数据通常包含大量字节。因此,3D数据专用压缩技术对于带宽有限的网络传输和高效存储至关重要。主要有两类3D数据格式及其相关的压缩技术。

第一类:自然3D数据,例如3D视频和图像数据。这些格式通常是在规则网格上定义颜色、灰度或深度值的多个N×K(固定分辨率)图像。这样的图像自然是从数字(3D)相机获得的,并且已经用于运动图像,视频监控,摄影,数字电视和许多其他应用。

第二类:基于3D图形/几何的数据,例如3D点采样数据(点云)和3D网格。这些格式通常由三维空间中任意定义的点坐标和三角形表示,且没有固定的分辨率,通常是由3D创作或3D扫描和重构产生的。3D网格和点云数据中的顶点+三角形数据在3D游戏,模拟,工业和医学应用(CAD,成像,X射线)中较为常见。

在上面描述的两类压缩技术中,第一类的发展较为成熟,第二类技术将在第3章和第6章中进行更为全面的介绍。

视频编码的主要法则有:色彩空间转换;下采样;率失真优化;帧间/帧内预测;量化;输入格式标准化等。

  • 研究动机4:几何内容的压缩可以实现混合现实和沉浸式共享体验。 然而,与视频和图像的编码相比,用于几何内容的有损和实时编码技术远没有成熟。

3D音频视频采集模型

音频/视频媒体的采集,压缩,传输和展示技术常常结合在3D多媒体系统中。将不同相机类型,不同数据格式和不同渲染技术的3D呈现相结合,可以提供更好的用户体验。 然而,从捕获到渲染的多种不同技术,引入了对可互操作的压缩和网络工作的新策略的需求。下图为典型的音频/视频从产生到进入管线的全过程:

从左至右:内容->传感器->数据转换->编码->解码->渲染->呈现(->交互)

3D远程沉浸式系统的相关工作

3D远程沉浸式应用在采集,网络和渲染技术方面提出了巨大的挑战。相关研究可以追溯到本世纪初。美国国家远程教育计划NTII是美国大学和工业界的一个联盟,展示了第一个三维沉浸式系统,可以捕捉三维点云,并使用立体显示器显示立体视频。这个系统提出了网站之间的沉浸式交互,但没有针对高效传输进行优化。这项工作的重点是渲染和重建,系统使用Internet2和TCP / IP发送未压缩的点云和立体声视频。在这个系统中,视频流从不同的机器发送到一个集群。由于这些不同的TCP / IP流经常使用公共链路,所以TCP带宽拥塞机制使得这些流竞争,从而降低了整体质量。

这部分工作用几句话难以讲清楚,还是放相关文献吧。

W. Chen, R Yang S. Kum H. Fuchs H. Towles, “3D Tele-collaboration over interent2,” in International workshop on tele presence, Juan les Pins, 2002.

D.E. Ott and K. Mayer Patel, “Coordinated multi-streaming for 3D tele-immersion (2004),” in ACM International Conference on Multimedia, 2004, pp. 596-603.

Z. Yang., W. Wu K. Nahrstedt., G. Kurillo , “Enabling muli-party 3D tele-immersive environments with ViewCast,” ACM Transactions on Multimedia Computing and Communications, vol. 6, no. 2, 2010.

W. Wu., K Nahrstedt, R. Rivas, A. Arefin Z. Huang, “SyncCast: Synchronized dissemination in multi-site interactive 3D tele-immersion (2011),” in ACM Multimedia Systems Conference (MMSys’11), 2011, pp. 69-80.

K Kurillo, E. Lobaton, T. Bernadin, O. Kreylos, R. Bajcsy, K Nahrstedt R. vasudevan, “High Quality Visualization for Geographically Distributed 3D Tele-immersive Applications,” IEEE Transactions on Multimedia, vol. 13, no. 3, pp. 573-584, 2011.

A Arefin, G. Kurillo, P. Argawal, K Nahrstedt W Wu, “Color plus depth level of detail in 3D Tele-immersive video,” in ACM International Conference on Multimedia, 2011, pp. 13-22.