杜比全景声——空间音频技术
- 什么是杜比?
- 是否是标清、高清、超清之上的更清晰的格式?
- 杜比全景声 和传统多声道立体声的差别?
- 杜比全景声音频的渲染方式?
- 车载平台上杜比技术的应用?
- 杜比实验室(Dolby Laboratories)是一家总部位于美国的公司,由雷·杜比(Ray Dolby)于1965年在英国伦敦创立。雷·杜比是一位物理学家和电子工程师,他的目标是改进录音质量。他的第一个发明是杜比降噪系统,这是一种可以显著减少磁带录音中背景噪声的技术。
- 2010年6月,杜比推出了杜比7.1环绕声(Dolby Surround 7.1),并在全球范围建立起与影院的合作,推出配置7.1环绕音箱的杜比影厅
- 杜比全景声(Dolby Atmos)是杜比实验室于2012年推出的高级环绕声标准,用于电影院,通过将前置、侧置、后置和天空扬声器加上复杂的音频处理和算法相结合,提供高达最高64声道的环绕声,增加空间沉浸感
杜比的技术在电影制作中尤其重要。杜比数字(Dolby Digital)是一种音频压缩技术,它使得电影制作人可以在电影中使用更丰富、更逼真的声音。杜比全景声(Dolby Atmos)则进一步提升了这种体验,它允许声音在三维空间中移动,给观众带来沉浸式的体验。
- 杜比数字(Dolby Digital): 一种音频压缩技术,比如AC-3格式,将6个声道的数据压缩到一个数据流中。应用于DVD、蓝光光盘;
- 杜比全景声 (Dolby Atoms): 音频领域革命性的技术,彻底摒弃传统声道概念,将声音视为“对象”,在三维空间自由移动,从而模拟逼真的场景。应用在电影、电视和音乐制作;
- 杜比视界(Dolby Vision): 高动态范围(HDR)视频技术,提供更亮、更暗、更丰富的颜色。主要用于投影和高端电视。
4.1 音频编码技术
PCM 是指脉冲编码调制(Pulse Code Modulation),是数字通信的编码方式之一,是一种将模拟信号数字化的方法。主要过程是将话音等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。
我们熟悉的MP3、AAC、OPUS通常都是基于PCM进行压缩编码的格式
4.2 声道(Channel)/声床(Bed)
声道(Sound Channel ): 是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。声床是制作端对于声道的对应说法。
4.2.1 1维音频
基于单声道的PCM编码,我们称为一维音频
4.2.2 2维音频
用两个不同的PCM进行双声道播放,可以称为二维音频
4.2.3 2.5维音频
多个声道进行播放,即为2.5维音频
2.5维音频常见的配置有:
- 5.1声道: 表示有五个普通声道+1个低音声道:
- 7.1:7个普通声道+1个低音声道
超重低音声道提供20-120Hz的声音
4.1.4 3维音频
引入天空声道,即为3维音频
- 代表性的是7.1.4: 7个平面声道+1个低音声道+4个天空声道
- 9.1.6: 9个平面声道+1个低音声道+6个天空声道
x.y.z的涵义:
- x通常代表耳平面的传统环绕声道的数量(如前置、中置、环绕);
- y代表低音声道的数量,虽然我们见到的大多都是1,但在“多炮”的扬声器排布下,甚至可以提高到4个或更多低音扬声器,在更大的空间中实现理想的低频响应;
- z代表天空声道的数量,天空(或称高度)声道的存在使得扬声器排布从平面提升为立体,能够通过响度和时间差的调整,控制声像在三维空间中的方向。
传统声道的概念还是基于左右两声道完成,每个声音元素的发声点局限在空间中相对固定的声道/扬声器中,要求声道数量和摆放位置完全一样
在飞机飞过的时候,音量、频率、延时等等都会发生变化
4.1.5 立体声音效发展历程
4.3 声音对象(Object)
声音不再局限于声道或者音箱,可以自由摆放在虚拟的三维空间中的任意位置,可以按照设计的轨迹进行运动。
设计好每个对象的轨迹之后,这些对象的位移信息再由渲染器进行计算出哪个音箱要出多大声或者要延迟多少ms才能使得某个声音元素听起来像是它本来应该在的位置。
这种概念的引入使得回放系统的配置更加灵活,这样一来不论是简单的Soundbar,或者耳机,或者5.1.2、9.3.6的家庭影院,都可以通过计算而渲染出全景声音效
Pan-through array: The sound can travel through each speaker placed around and above the audience as it moves across the cinema, in what’s called a pan-through array.
优点:
- 全景特效:声音更真实,更立体
- 兼容性高:不需要Care具体的播放设备的规格、数量及设备的摆放,都能达到同样的效果
解码方式:
-
直通(Passthrough): 指电视或投影或机顶盒——不对音轨进行任何解码,直接将原音频数据传输给回音壁或者功放。一台机器想要支持源码输出,需要经过杜比和DTS的授权认证。
-
解码: 指将Dolby AtmoS的音频信息在电视或投影或机顶盒端先完成解码再映射到回音壁的方式。由于杜比公司有专利保护,任何想要解码的硬件或软件播放器,都需要向杜比支付授权费才能获得解码密钥。这也是很多设备并不支持的自己解码的原因。
-
转码: 指播放Dolby Atmos的设备或软件本身不是直连回音壁,还需要将声音传给中间商。此时会把音频打包转码成普通的LPCM音频格式,在这个过程中会丢失的是全景声的元数据。就不再是7.1.2而上7.1声道。效果也是有损的
-
双耳渲染
6.1 头部跟踪
头部跟踪的必要性是一个大话题,为了更清晰地认知头部跟踪的必要性,我们需要了解人对于声音方位感的感知原理。人们对声音方位感的判断主要有4个依据:时间差、声级差、人体滤波效应和头部晃动
- 时间差(Interaural Time Difference, ITD):
声音到达双耳的距离不一样,时间不一样,会有延时
- 声级差(Interaural Level Difference, ILD):
由于双耳和音源的距离差异,也会造成此外,头部的遮挡,也会使得到达左耳与右耳声音的声压级是不同的,进一步形成声级差。
不同频率的声波会发生衍生的效果也不一样
- 人体滤波效应:
人的头部、肩颈、躯干,会对来自不同方向的声音产生不同的作用,形成反射、遮挡或衍射。
大脑通过这些不同的滤波效果产生对声源方位的判断,这就是著名的头部相关传输函数——HRTFs (Head-Related Transfer Functions)。
- 头部的晃动:
当一个声源的位置难以判断的时候,人们常常会不自觉的轻微晃动头部,使时间差、声级差或人体滤波效应产生变化,并依据这些变化进行快速的重新定位
在现实中,声源位于三维的空间中,通常都需要我们综合时间差、声级差、人体滤波效应这三个要素可以被综合的表述为头部相关传输函数(Head-Related Transfer Functions, HRTFs),这项技术构成了绝大部分三维声定位技术的基础。头部晃动虽然并不是一个决定性因素,但是无论在哪个方向上,都对我们判断声源的位置有着极大地帮助
6.2 双耳渲染
室内声场有3个组成部分:直达声、早期反射声和混响声。人们对于声音的空间感主要是依据早期反射声和混响声来建立的。
- 直达声
声音直接穿到人耳所感知到的声音
- 反射声
声音通过回音壁和障碍物经过多次反射进入人耳所感知到声音
- 混响声
声音在空间中不断反射、衰减,形成了均匀、密集的混响声,与直达声、反射声共同建立起室内声场。这是一个经过多次反射的、没有方向性的声音,当然没有方向性也就是说它会来自三维空间内的各个方向。
6.3 声音的采集
目前移动设备拥有最大用户基群,耳机成为主要的播放场景。双耳信号回放的终极目标就是在听音者鼓膜处再现与实际听音环境相同的声学信号
常见的有两种采集方式:
- 在同一位置进行录音和回放(Dummy Head人头录音)
这种方式缺点显而易见,制约了现代音乐产业中的混音工作,不适合非现场演出的录音和回放
- 采取“计算音频”的方式,模拟在真实听音环境中聆听一个或多个真实扬声器的听觉体验
从理论上来说,只要模拟足够精确,双耳重放应该完全可以重现多个扬声器的听感(不包括其他感官),毕竟人的耳朵本身也是双声道的
对于用户终端对于杜比全景声的回放处理,下面先看一张表,这张表整理了各个流媒体平台在各个硬件终端上对于杜比全景声的处理方式,表中撰写的状态,是APP从云端下发给终端设备的音源的规格
Atmos | Android | iOS | WIndows | Mac | TV* (For AVR) |
---|---|---|---|---|---|
Apple Music | EAC3-JOC 768kbps | EAC3-JOC 768kbps | 无 | EAC3-JOC | EAC3-JOC |
QQ音乐 | AC4-IMS 256kbps | 双耳渲染 | EAC3-JOC 448kbps | 无 | 无 |
网易云音乐 | 双耳渲染 | 无 | EAC3-JOC 768kbps | 无 | 无 |
Apple TV | 无 | EAC3-JOC 768kbps | 无 | 7.1.4 | EAC3-JOC |
爱奇艺 | 5.1(部分厂商) | 双耳渲染 | 立体声 | 立体声 | EAC3-JOC |
优酷 | 双耳渲染 | 双耳渲染 | 立体声 | 立体声 | 立体声 |
腾讯视频 | 双耳渲染 | 多声道 | 立体声 | 立体声 | EAC3-JOC |
Bilibili | 双耳渲染 | 多声道 | 立体声 | 立体声 | 立体声 |
本地音视频APP | √(Android 13) | √ | √ | ? | 无 |
可以看到,各大终端里,只有Apple在自己的硬软件生态内保持了相对原始的声道信息,亦即保留了更多的空间信息。
从2020年开始,安卓厂商们还陆续往手机里集成了Dolby格式的解码器,配合着杜比的效果调试(包扩DRC,人声增强,响度均衡,频响调整,声道互馈等),就统称为“杜比全景声”。
渲染流程:
制作过程:
路特斯 lambda 配置豪华的座舱 音响系统 :
-
选用英国品牌KEF,两个配置:
- 2D配置支持15扬,7.1全景声,额定功率1400W
- 3D配置支持23扬,7.1.4全景声,额定功率2120W。
-
需要刷杜比Key才能使用,杜比Key是杜比官方授权密钥,不安装不能播放。565和台架均不能播放
-
杜比全景声内容:主要包括杜比介绍视频、QQ音乐+索尼高品质的7.1.4音乐展示、音乐播放器、音乐播放的信
息展示及控制(HUD显示、语音控制、方控等)、整车声音设置的杜比全景声的试听及
app入口。
- 杜比播放器也叫高品质音乐,英文名是:HYPER Music,图标如下:
杜比App主界面:
相关文章:

杜比全景声——空间音频技术
什么是杜比?是否是标清、高清、超清之上的更清晰的格式?杜比全景声 和传统多声道立体声的差别?杜比全景声音频的渲染方式?车载平台上杜比技术的应用? 杜比技术的起源 杜比实验室(Dolby Laboratories&…...

C 语言指针进阶
1.0 指针的定义 指针是内存中一个最小单元的编号(内存单元的编号称之为地址【地址就是指针指针就是地址】)指针通常是用来存放内存地址的一个变量。本质上指针就是地址:口语上说的指针起始是指针变量,指针变量就是一个变量&#…...

SpringBootWeb 篇-入门了解 Swagger 的具体使用
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Swagger 介绍 1.1 Swagger 和 Yapi 的使用场景 2.0 Swagger 的使用方式 2.1 导入 knife4j 的 maven 坐标 2.2 在配置类中加入 knife4j 相关配置 2.3 设置静态资源…...

Python面试题:如何在 Python 中处理大数据集?
在 Python 中处理大数据集可能面临许多挑战,包括内存限制、计算性能和数据处理效率等。以下是一些处理大数据集的常见方法和技术: 1. 使用高效的数据处理库 1.1 Pandas Pandas 是一个强大的数据分析库,可以处理中等大小的数据集࿰…...

C++:入门基础
1.命名空间 1.1namespace的价值 在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称都将存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,避免命名冲突或者名字…...

微信小游戏 彩色试管 倒水游戏 逻辑 (二)
最近开始研究微信小游戏,有兴趣的 可以关注一下 公众号, 记录一些心路历程和源代码。 定义一个 Water class 1. **定义接口和枚举**: - WaterInfo 接口定义了水的颜色、高度等信息。 - PourAction 枚举定义了水的倒动状态,…...

【链表】算法题(一) ---- 力扣 / 牛客
一、移除链表元素 移除链表中值为val的元素,并返回新的头节点 思路: 题目上这样说,我们就可以创建一个新的链表,将值不为val的节点,尾插到新的链表当中,最后返回新链表的头节点。 typedef struct ListNo…...

Linux系统之部署盖楼小游戏
Linux系统之部署盖楼小游戏 一、小游戏介绍1.1 小游戏简介1.2 小游戏玩法基本介绍1.3 项目预览二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍2.3 版本要求三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本四、安装node.js4.1 安装nvm4.2 查看nvm版本4.3 安装…...

“金山-讯飞”杯2024年武汉理工大学程序设计竞赛 A. Mobiusp败走***(思维题-点双连通分量、连通性)
题目 思路来源 官方题解 题解 手玩发现,能换的话,当且仅当.和1在一个环里,而这就是点双连通分量 所以最优策略是先把.换到(x,y)的位置,然后判断.和1在不在一个环里 也就是: 1. 判断删掉1时,.和(x,y)联…...

【机器翻译】基于术语词典干预的机器翻译挑战赛
文章目录 一、赛题链接二、安装库1.spacy2.torch_text 三、数据预处理赛题数据类定义 TranslationDataset批量处理函数 collate_fn 四、编码器和解码器Encoder 类Decoder 类Seq2Seq 类注意事项 五、主函数1. load_terminology_dictionary(dict_file)2. train(model, iterator, …...

推荐系统:从协同过滤到深度学习
目录 一、协同过滤(Collaborative Filtering, CF)1. 基于用户的协同过滤2. 基于物品的协同过滤 二、深度学习在推荐系统中的应用1. 深度学习模型的优势2. 深度学习在推荐系统中的应用实例 三、总结与展望 推荐系统是现代信息处理和传播中不可或缺的技术&…...

记录些Spring+题集(1)
接口防刷机制 接口被刷指的是同一接口被频繁调用,可能是由于以下原因导致: 恶意攻击:攻击者利用自动化脚本或工具对接口进行大量请求,以消耗系统资源、拖慢系统响应速度或达到其他恶意目的。误操作或程序错误:某些情…...

SpringBoot 解决 getSession().getAttribute() 在负载均衡环境下无法获取session的问题
在Spring Boot中,使用getSession().getAttribute()方法时遇到在负载均衡环境下无法正确获取session属性的问题,通常是由于session属性存储在单个服务器的内存中,而负载均衡会导致用户的请求被分配到不同的服务器上,因此无法找到在…...

Jmeter常用组件及执行顺序
一 常用组件 1.线程组 Thread Group 线程组是一系列线程的集合,每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中,每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中,线程组组件运行用户设置线程数量、初始化方式等…...

PTrade常见问题系列10
get_ashares获取list为空。 get_Ashares函数目前都是向行情服务器进行获取的 如果请求数过多,应答返回偶现为空现象, 后续版本内进行优化从服务器缓存内取,需求单号:202303213922,于PTradeQT1.0V202202.01.023内发布…...

数据结构(4.4)——求next数组
next数组的作用:当模式串的第j个字符失配时,从模式串的第next[j]的继续往后匹配 求模式串的next数组(手算) next[1] 任何模式串都一样,第一个字符不匹配时,只能匹配下一个子串,因此,往后,next[1]都无脑写…...

《mysql篇》--JDBC编程
JDBC是什么 JDBC就是Java DataBase Connectivity的缩写,翻译过来就很好理解了,就是java连接数据库。所以顾名思义,JDBC就是一种用于执行SQL语句的JavaApl,是Java中的数据库连接规范。为了可以方便的用Java连接各种数据库ÿ…...

android studio 怎么下载 buildTool
在Android Studio中下载Build Tools,通常可以通过Android Studio内置的SDK Manager来完成。以下是详细的步骤: 一、通过Android Studio的SDK Manager下载Build Tools 启动Android Studio:首先,确保你已经安装了Android Studio&am…...

copy 和 mutableCopy 有点乱
字符串的拷贝操作 对 string literal (字符串字面量) 执行 copy 要打印指针指向对象的地址和指针本身的地址,可以使用 %p 格式符来输出指针地址。以下代码,展示了 originalString 和 copiedString 的指针地址和指向对象的地址: NSString *…...

sqlalchemy通过查询参数生成query
sqlalchemy通过查询参数生成query 在SQLAlchemy中,可以使用查询参数来动态生成查询。这通常通过使用.filter()方法和Python的比较运算符来实现。以下是一个简单的示例,展示如何使用查询参数生成查询: 假设我们有一个名为User的模型(表),它具有id、username和email字段。…...

【JavaScript 算法】二分查找:快速定位目标元素
🔥 个人主页:空白诗 文章目录 一、算法原理二、算法实现三、应用场景四、优化与扩展五、总结 二分查找(Binary Search)是一种高效的查找算法,适用于在有序数组中快速定位目标元素。相比于线性查找,二分查找…...

论文研读:ViT-V-Net—用于无监督3D医学图像配准的Vision Transformer
目录 摘要 介绍 方法 VIT-V-Net体系结构 损失函数 图像相似性度量 变形场正则化 结果与讨论 摘要 在过去的十年里,卷积神经网络(ConvNets)在各种医学成像应用中占据了主导地位并取得了最先进的性能。然而,由于缺乏对图像中远程空间关系的理解&a…...

C++入门到进阶(图文详解,持续更新中)
C入门到进阶(图文详解,持续更新中) 详解C入门知识到进阶,配合图观看易于理解记录 文章目录 目录 C入门到进阶(图文详解,持续更新中) 文章目录 前言 一、数据 (一)数据类…...

【React Hooks原理 - useRef】
概述 在Function Component项目中当我们需要操作dom的时候,第一时间想到的就是使用useRef这个Hook来绑定dom。但是这个仅仅是使用这个Hook而已,为了更好的学习React Hooks内部实现原理,知其所以然。所以本文根据源码从useRef的基础使用场景一…...

MVC之 IHttpModule管道模型《二》
》》》注意:在http请求的处理过程中,只能调用一个HttpHandler,但可以调用多个HttpModule。 HTTP Modules ASP.NET请求处理过程是基于管道模型的,这个管道模型是由多个HttpModule和HttpHandler组成,当请求到达HttpMod…...

2025上海纺织助剂展会+上海织物整理剂展
2025上海纺织助剂展会上海织物整理剂展 2025第十二届中国(上海)纺织助剂及织物整理剂展览会 时间: 2025年4月23-25日 地点:上海跨国采购会展中心(光复西路2739号) 展会简介: 2025第12届中国(上海&#…...

中科亿海微亮相慕尼黑上海电子展
7月8-10日,备受瞩目的全球电子行业盛会“慕尼黑上海电子展”以空前规模启幕,汇聚了超过1600家参展企业,涵盖了从终端产品制造商到元器件供应商、组装/系统供应商、EMS、ODM/OEM、材料供应商及生产设备供应商的完整产业链。中科亿海微电子科技…...

Spring boot 2.0 升级到 3.3.1 的相关问题 (一)
文章目录 Spring boot 2.0 升级到 3.3.1 的相关问题 (一)拦截器Interceptor的变动问题介绍解决方案 WebMvcConfigurerAdapter 自定义Mvc配置问题介绍解决方案 Spring boot 2.0 升级到 3.3.1 的相关问题 (一) 拦截器Interceptor的…...

数据分析——Python网络爬虫(四){爬虫库的使用}
爬虫库 爬虫的步骤urllib库发送请求两种方法案例 爬虫的步骤 #mermaid-svg-h5azjtPInpsU2ZpP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-h5azjtPInpsU2ZpP .error-icon{fill:#552222;}#mermaid-svg-h5azjtPInps…...

C++客户端Qt开发——信号和槽
三、信号和槽 1.信号和槽概述 在Qt中,用户和控件的每次交互过程称为一个事件。比如"用户点击按钮”是一个事件,"用户关闭窗口”也是一个事件。每个事件都会发出一个信号,例如用户点击按钮会发出"按钮被点击"的信号&…...