3D视频通过模拟人眼的立体视觉,使我们能够感受到深度和距离,提供了一种更加真实而富有沉浸感的视觉体验。长期以来,大量3D视频内容并没有使用专用的视频编码标准,而是使用通用的视频编码标准进行编码。主要的做法是将3D视频以SBS(side by side)的形式,把左右两个视点合并到一帧画面中,再将合并后的序列进行编码。混合编码架构作为业界主流的视频编码技术架构体系,其技术研究和标准化主要由两个国际标准组织------ISO/IEC WG11运动图像专家组MPEG和ITU-T SG16的视频编码专家组VCEG联合推动。
主流3D视频编码技术
左右视图格式(3D偏振光眼镜)、MPEG-4、MV-HEVC、H.264 MVC
各类技术优缺点
编码格式 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
MV-HEVC | 1、质量更好,提供比264提供更高的压缩效率,适合于带宽受限环境 | ||
2、MV-HEVC设计与HEVC兼容,可在不支持的设备上降级为HEVC服务 | 编解码过程比MVC更加复杂,需要更多计算资源 | 1、带宽有限环境 | |
2、网络流媒体 | |||
3、由于其多视角编码的支持,更适合专业空间视频的分发 | |||
H.264 MVC | 1、压缩效率相对高 | ||
2、与现有H.264兼容性好 | MVC编解码过程相对复杂 | 1、3D电视广播,Bluray 3D | |
2、部分网络流媒体 | |||
MV-HEVC在压缩效率,高质量视频具有明显优势,同时,苹果采用行业通用的编码和文件格式存储空间视频和3D模型,不仅为其自身发展提供了更多的内容源,也促进XR行业发展。无论是华米OV还是苹果,遵从相同的内容格式,内容生态更加丰富,形成良性发展。
其中格式转换工具Spatialify 已实现可以将iPhone 15 Pro/Max(或者Vision Pro)拍摄的空间视频转换成业界广泛支持的Side By Side(SBS)3D视频格式,从而在Quest 2、Quest Pro、Quest 3、Pico 4、Rokid Station等主流AR/VR设备上播放。
详细内容介绍
常用的3D视频成像技术
常用的3D视频成像技术包括全息投影,裸眼3D屏幕和立体电影显示技术等
1)全息投影。全息投影是一种先进的显示技术,它可以在空气中或透明介质上创建三维图像。这种技术基于全息学原理,通过记录和再现物体的光波干涉模式,从而形成一个看起来就像真实物体在那里一样的三维影像。不过这种显示技术碍于显示介质的发展,目前尚在实验室研究阶段,并未规模化商用。
图2 一种"伪全息"显示装置
2)裸眼3D。裸眼3D技术是一种无需佩戴3D眼镜就能看到3D效果的技术。它通常通过在显示屏上设置特殊的光栅或透镜阵列,使左眼和右眼看到的图像有微小的差异,从而产生立体效果。但是,这种技术需要专用显示屏且造价昂贵,目前普及度不高。
图3 裸眼3D技术原理图
3)立体电影。立体电影显示技术是最早,也是最常用的立体影像技术,它通过使用双色滤镜或者偏振镜片,使左眼和右眼看到的图像不同,从而产生立体效果。观看这种视频只需要佩戴特殊眼镜即可。
图4 红蓝3D图像
4)VR头显。VR头显将左右视点画面分别给到观众左右眼来呈现3D效果。Meta Oculus就是一款市面上广受欢迎的VR头显设备,很显然,Apple最近重磅推出的Vision pro也是同样的VR产品。除了全息投影技术外,其他的3D成像技术大多也都是是将左右两个视点的视频用不同的方法分别呈现在观众的左右眼中,因此3D视频可以看作是两路2D视频的合并显示。
苹果MV-HEVC
苹果提到的"空间视频",其原理是利用人眼的左右眼视差来制造和表现"立体"效果 。
从视频编解码角度来看,使用MV-HEVC方案的好处是,它可以在不改变slice层以下的HEVC原有语法和解码过程下,通过layer间预测技术实现对3D和多视角视频的支持。
即MV-HEVC可后向兼容和使用现有的HEVC编码器和解码器,不需要有较大的修改,仅修改high level语法即可。如果对MV-HEVC格式做了Block Level语法的修改,此时对应的便是JCT-3V制定的3D-HEVC 格式,它的压缩性能要比MV-HEVC更高,会有额外的压缩性能的工具。
目前MV-HEVC和3D-HEVC的参考软件都是同一套代码,叫做HTM 。
MV-HEVC标准编码的3D视频右视点帧间预测的运动矢量图,通过使用了大量的视点间参考模式,充分消除了视点间的冗余信息。Apple Vision Pro搭载的芯片通过固件层优化已经实现了对MV-HEVC码流的硬解支持。业务团队可以对自研HEVC解码器引入MV-HEVC扩展解码能力支持,并将其适配ffmpeg,用户便可通过ffmpeg调用相关解码器解码MV-HEVC 3D视频流。
3D-HEVC编码结构
3D-HEVC编码结构是对HEVC的扩展,每个视点纹理及深度图编码主要采用HEVC编码框架,但在其基础上增加了一些新的编码技术,使其更有利于深度图和多视点的编码。
图中所有输入的视频图像和深度图像是同一时刻,不同拍摄位置的场景,这些图像组成一个存取层。在同一个存取层中,首先对独立视点(基准视点)编码,接着是该视点的深度图,再编码其他视点视频图像和深度图。原理上来说,每个视点的图像,包括视频图像和深度图像,均可以利用HEVC编码框架进行编码,输入的所有比特流复合形成3D比特流。
对于独立视点,利用未修正的HEVC编码结构,由于该视点的编码是独立的,不依赖于其他视点,因此其对应的比特流可以单独提取出来形成2D比特流,从而恢复出2D视频。由此可见,3D-HEVC兼容了2D视频的编解码。而其他视点和深度图采用修正的HEVC编码结构。如图中红色箭头表明可以利用视点间相似信息来去除视点间冗余,提高编码性能。
3D-HEVC在编码非独立视点时,除了使用独立视点编码所用的所有工具外,还用到了HEVC关于3D扩展的编码技术,使其更有利于多视点的编码。比如利用已编码的独立视点的信息来预测当前编码视点的信息,从而降低视点间冗余,提高编码效率。其中涉及的扩展技术主要是视差补偿预测 ,视点间运动预测 和视点间冗余预测。
参考链接:
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6630053
https://developer.apple.com/videos/play/wwdc2023/10071/
https://mp.weixin.qq.com/s/RZUNiQv76mfc4zYcwJnD1w