主流3D视频编码技术

news2024/10/6 12:34:49

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-HEVC1、质量更好,提供比264提供更高的压缩效率,适合于带宽受限环境
2、MV-HEVC设计与HEVC兼容,可在不支持的设备上降级为HEVC服务编解码过程比MVC更加复杂,需要更多计算资源1、带宽有限环境
2、网络流媒体
3、由于其多视角编码的支持,更适合专业空间视频的分发
H.264 MVC1、压缩效率相对高
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编码框架,但在其基础上增加了一些新的编码技术,使其更有利于深度图和多视点的编码。
image.png
图中所有输入的视频图像和深度图像是同一时刻,不同拍摄位置的场景,这些图像组成一个存取层。在同一个存取层中,首先对独立视点(基准视点)编码,接着是该视点的深度图,再编码其他视点视频图像和深度图。原理上来说,每个视点的图像,包括视频图像和深度图像,均可以利用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓动画特效(帧动画、补间动画、属性动画、遮罩动画及滚动器)

本章介绍App开发中常见的动画特效技术,主要包括:如何使用帧动画实现电影播放效果,如何使用补间动画实现视图的4种基本状态变化,如何使用属性动画实现视图各种状态的动态变换效果,以及如何借助绘图层次与滚动器实现动画…

Javaweb04-Servlet技术2(HttpServletResponse, HttpServletRequest)

Servlet技术基础 HttpServletResponse对象 HttpServletResponce对象是继承ServletResponse接口,专门用于封装Http请求 HttpServletResponce有关响应行的方法 方法说明功能描述void setStatus(int stauts)用于设置HTTP响应消息的状态码,并生成响应状态…

Flutter- AutomaticKeepAliveClientMixin 实现Widget保持活跃状态

前言 在 Flutter 中,AutomaticKeepAliveClientMixin 是一个 mixin,用于给 State 类添加能力,使得当它的内容滚动出屏幕时仍能保持其状态,这对于 TabBarView 或者滚动列表中使用 PageView 时非常有用,因为这些情况下你…

【blender特效】卡通火焰

核心思想就是通过多个不同缩放尺寸的沃罗诺伊叠加,分别构成火焰的大型,中型和小型(形状),最后通过自发光纹理实现火焰加亮。 用的是ev渲染,完全可以把噪音贴图都烘焙出来,自己改改shader就可以扔…

Python 越来越火爆

Python 越来越火爆 Python 在诞生之初,因为其功能不好,运转功率低,不支持多核,根本没有并发性可言,在计算功能不那么好的年代,一直没有火爆起来,甚至很多人根本不知道有这门语言。 随着时代的…

从深度嵌套的JSON结构中提取值

问题背景 在某些情况下,我们可能需要从深度嵌套的JSON结构中提取值。例如,给定以下JSON结构: {"foo_code": 404,"foo_rbody": {"query": {"info": {"acme_no": "444444","…

html是什么?http是什么?

html Html是什么?http是什么? Html 超文本标记语言;负责网页的架构; http((HyperText Transfer Protocol)超文本传输协议; https(全称:Hypertext Transfer Protocol …

数组还可以这样用!常用但不为人知的应用场景

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

NLP入门——数据预处理:子词切分及应用

BPE(Byte-Pair Encoding)算法 【西湖大学 张岳老师|自然语言处理在线课程 第十六章 - 4节】BPE(Byte-Pair Encoding)编码 如果有一个字符串aabaadaab,对其执行BPE算法 因为字符对aa出现频率最高,因此将其替换为码Z&…

开源-Docker部署Cook菜谱工具

开源-Docker部署Cook菜谱工具 文章目录 开源-Docker部署Cook菜谱工具介绍资源列表基础环境一、安装Docker二、配置加速器三、查看Docker版本四、拉取cook镜像五、部署cook菜谱工具5.1、创建cook容器5.2、查看容器运行状态5.3、查看cook容器日志 六、访问cook菜谱服务6.1、访问c…

Web端在线Stomp服务测试与WebSocket服务测试

Stomp服务测试 支持连接、发送、订阅、接收,可设置请求头、自动重连 低配置云服务器,首次加载速度较慢,请耐心等候 预览页面:http://www.daelui.com/#/tigerlair/saas/preview/lxbho9lkzvgc 演练页面:http://www.da…

设计模式-创建型-04-建造者模式

1、盖房项目需求 1)需要建房子:这一过程为打桩、砌墙、封顶2)房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的3)请编写程序&#xf…

解决linux jenkins要求JDK版本与项目版本JDK不一致问题

背景–问题描述: 新入职公司,交接人说jenkins运行有问题,现在都是手动发布,具体原因让我自己看(笑哭)。我人都蒙了,测试环境都手动发布,那不是麻烦的要死! 接手后&am…

bfs+枚举,CF666B - World Tour

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 666B - Codeforces 二、解题报告 1、思路分析 数据量允许跑N次bfs预处理所有点的最短路,以及预处理到达每个点距离最远的3个点,以及每个点能够到达的最远的3个点 我们枚举…

计算机网络(5) ARP协议

什么是ARP 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定…

边缘网关在智能制造工厂中的创新应用及效果-天拓四方

在数字化浪潮席卷之下,智能制造工厂正面临着前所未有的数据挑战与机遇。边缘网关,作为数据处理与传输的关键节点,在提升工厂运营效率、确保数据安全方面发挥着日益重要的作用。本文将通过一个具体案例,详细阐述边缘网关在智能制造…

华为云DDoS攻击下的应对策略

当华为云上的服务遭遇大规模DDoS攻击导致网络流量异常,触发了华为云的自动防护机制,即所谓的“黑洞”状态时,服务将暂时无法访问,直至攻击停止或流量恢复正常。本文将探讨如何在这一情况下,通过引入第三方安全产品来快…

如何利用智能家居打造一个“会呼吸的家”?一体化电动窗帘

如何利用智能家居打造一个“会呼吸的家”?一体化电动窗帘 史新华 隐藏式一体化智能电动窗帘与市面上其他窗帘不同的是,电机内置于轨道之中,一体化,美观、安静、滑动顺畅。 每次都会自动打开和关闭,相当漂亮。 众多家庭…

【精品方案】大型企业数字化转型管控平台解决方案(55页PPT),干货满满!

引言:随着信息技术的飞速发展,数字化转型已成为大型企业提升竞争力、实现持续创新的必经之路。本解决方案旨在为企业提供一套全面、高效、灵活的数字化转型管控平台,助力企业实现业务流程的数字化重构、数据资产的智能管理以及决策过程的精准…

人工智能--制造业和农业

欢迎来到 Papicatch的博客 文章目录 🍉人工智能在制造业中的应用 🍈 应用场景及便利 🍍生产线自动化 🍍质量控制 🍍预测性维护 🍍供应链优化 🍈 技术实现及核心 🍍机器学习和…