Skip to main content
更新时间:2019 年 4 月 29 日 XBOX One 的音频架构在借鉴上一代平台成功经验与取舍权衡的同时,也在展望下一代实现日益增长的技术需求,力求在两者间取得平衡。该架构为音频渲染中最常见的部分(如压缩、混音和滤波)提供了硬件加速的处理路径,可同时处理大量并发语音。此外,该架构还为软件处理消费提供了共享资源模型,使各个游戏可以选择需要在 CPU 上应用的自定义信号处理类型和数量。本主题描述 XBOX One 音频架构在软件和硬件方面的特性,同时提供有关这些特性如何影响你实现选择的详细信息。

音频架构概述

除了可用于解码、合成、渲染等任务的通用 CPU 算力外,XBOX One 还提供了若干专用于音频处理的硬件组件(如图 1 所示),它们能够访问整个统一内存空间。 图 1. 硬件加速音频组件示意图
  • 可扩展硬件音频处理引擎 (SHAPE) 承担了 XBOX One 上的大部分音频功能,其他处理器也贡献了重要特性。
  • 音频控制处理器 (ACP) 提供状态管理和调度。
  • 音频标量处理器 (ASP) 支持标量浮点和向量整数运算。
  • 音频向量处理器 (AVP) 支持向量浮点运算,主要用于多通道回声消除 (MEC)。

SHAPE

SHAPE 是专用于音频处理的核心硬件。SHAPE 执行大量按语音处理时常用的基本操作。借助 SHAPE,即使在高复调数和复杂信号路由下也能降低 CPU 开销;同时,如果游戏想对数字信号做自定义处理、进行分析或软件合成,SHAPE 与 CPU 之间的数据交换仍然保持灵活。 SHAPE 以 128 采样为一块运行,供 CPU 使用时每个采样支持 24 位整数分辨率或 32 位浮点。在 48 KHz 下,这相当于 2.67 ms 的音频帧,比 XBOX 360 上 256 采样的块具有更高的时序分辨率和更低的延迟。 SHAPE 提供以下六个专注于常见音频任务的固定功能块。
  • XMA 解码器 XMA 支持 512 条 XMA 格式语音的并发解码。它是为 XBOX 360 开发的感知型编解码器,提供可调节的质量和压缩比,通常在 6:1 到 14:1 之间。
  • SRC 高质量、专用的多相采样率转换器 (SRC) 块可对 512 条单声道音频数据进行高性能、高质量的频率重采样。SRC 可用于格式转换、多普勒效应或音高变化。
  • 混音缓冲区 混音缓冲区是 128 条就地混音通道的专用累加器,无需访问内存;虚拟层面共提供 8192 个通道。混音缓冲区还提供粗粒度的电平计量和削波检测,便于调试和监控。
  • FLTVOL FLTVOL 模块为最多 2560 条语音或混音提供音量缩放和状态变量滤波器实现。它类似于 Windows 和 XBOX 360 上通过软件公开的 XAudio2 每语音滤波器。该滤波器可提供低通、高通、带通以及陷波滤波,公开 Q 值与截止/中心频率参数。它最常用于距离和遮挡建模。
  • EQ/CMP EQ/CMP 模块最多为 512 个通道提供三段均衡和动态范围压缩。EQ 由三个串联级联的双二阶滤波器组成。压缩器具有硬拐点响应,支持 sidechain 和扩展器功能。
  • DMA SHAPE 具有专用的直接内存访问 (DMA) 硬件,可在音频数据与统一内存空间之间传输。DMA 可实现多种场景,包括不经采样率转换器的传输、最终混音通道的传输,以及在基于 SHAPE 的音频图中间插入基于 CPU 的处理。
典型的音频图播放预计会大量使用上述每一种处理器。

ACP

ACP 负责北桥上所有其他音频硬件组件的状态管理和调度。这样就不需要让 CPU 参与帧内处理,也无需承担它可能引入的同步或延迟开销。

ASP

ASP 支持标量浮点和向量整数运算。硬件中提供了语音聊天编解码器:包括管理语音聊天耳机与主机之间无线通信的编解码器,以及用于对联网语音通信中 SILK 编解码器语音数据进行压缩和解压的编解码器。

AVP

AVP 支持向量浮点运算,主要用于下一代 Kinect 音频输入的 MEC 及其他降噪。AVP 支持语音识别以及聊天/任意音频输入用途。 MEC 及其他降噪处理可以提供更清晰可懂的用户语音数据流,即便通话麦克风距离输出扬声器比距离用户更近也是如此。

音频与 XBOX One 硬件

XBOX One 的音频输出管线去除了上一代主机中的数模转换器 (DAC)。所有音频都严格在数字域中通过 HDMI 1.4a 或 S/PDIF 光纤输出。HDMI 1.4a 允许主机传输高保真的线性 7.1 声道脉冲编码调制 (PCM)。游戏默认输出采样率为 48 KHz,位深为 24 位。XBOX One 还可同时向最多四个立体声耳机输出。每个输出可以是各自独立的多声道混音,根据输出格式(例如耳机或 S/PDIF 输出)的要求进行下混。 XBOX One 接受来自多种来源的音频输入,例如 Kinect 麦克风阵列、语音聊天耳机以及基于云的资源。此外,音频也可以通过基于 CPU 的算法生成,并在 CPU 上、通过 SHAPE 硬件组件或两者结合的方式实时操控。

压缩格式

XBOX One 支持 XMA2 硬件解压,相较未压缩的 PCM,在存储、带宽和内存方面都有显著降低。XAudio2 还为 xWMA 和自适应差分脉冲编码调制 (ADPCM) 提供软件解码支持。虽然 ADPCM 格式的计算开销较低,但作为非感知型编解码器,它在较低采样率下会产生较明显的伪影。
xWMA 和 XMA2 都源自为 Windows Media Audio (WMA) 开发的编解码器,且都是专为 XBOX 游戏开发的。XMA2 使用的可用编解码器与参数子集比 xWMA 使用的更小。虽然 xWMA 和 XMA2 都为 XBOX 开发,但两者并不可互换:它们的文件头不同,格式与 PC 版 Windows 不兼容。此外,XMA2 与 xWMA 所用的编解码器也略有差异,因此各自使用的压缩系统会带来各自的伪影特征。
下表显示格式、大致压缩率以及循环能力。 MP3、OGG 及其他用于游戏资产的音频格式可以通过运行在 CPU 上的游戏或中间件软件编解码器来支持。

音频与 XBOX One 应用模型

处于前台时,应用可以完全访问 SHAPE 硬件。但当被切到后台驻留、画中画或其他场景时,应用会让出硬件控制权。默认情况下,其硬件会被挂起,并在游戏回到前台时恢复。对于软件音频图被挂起的独占资源应用 (Exclusive Resource Apps, ERA) 也是如此。 游戏可以选择拆除自己的音频图,并在 恢复 时重新构建。有些游戏——特别是播放背景音乐(如流媒体电台)的共享资源应用 (Shared Resource Apps, SRA)——可能希望在暂停期间仍让部分音频继续播放。对于这种场景,游戏应仔细评估是尝试从硬件到软件渲染的无缝过渡,还是始终通过纯软件管线来播放意图用于后台的音频。这对压缩格式和 CPU 成本都有影响。例如,XMA 压缩的资产需要使用 SHAPE 硬件,因此在后台应用中无法解码。 对于选择分配 CPU 资源的游戏,XAudio2 音频引擎为许多功能提供了软件路径。在切实可行处,这些功能会模仿硬件能力,但一些计算密集型处理在软件中要么不可用,要么以不同方式实现。基于应用状态在硬件与软件处理之间切换的游戏,在规划音频管线时应考虑下表中所列的差异。 | 特性| XBOX One 硬件能力 | XBOX One 软件能力 | 是否等价? | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 采样率转换| SRC,多相| XAudio2 线性插值| 否 | | 参数均衡 (Parametric EQ)| EQ/CMP,三段 EQ| 简单单段 EQ 或自定义数字信号处理 (DSP)| 否 | | 压缩器/限幅器| EQ/CMP,硬拐点、sidechain、扩展器功能| 自定义 DSP| 否 | | 滤波| FLTVOL,状态变量滤波器| XAudio2 状态变量滤波器、单极 LPF 或自定义 DSP| 是 | | 混音| 混音缓冲区;包含削波检测和电平计量| 软件混音;用自定义 DSP 实现削波检测和电平计量| 是(就混音而言) |

XBOX One 音频库

XBOX One 为典型游戏用途支持两种音频渲染 API,同时还提供一个用于播放用户音乐的 Windows 8 Media Foundation API 变体。
  • XAudio2 是一个面向游戏的音频库,已在 XBOX 360 以及从 Windows XP 到 Windows 8 的 Windows 上提供。对于大多数游戏的开发,我们推荐使用 XAudio2
  • Windows Audio Session API (WASAPI) 可用于任何自定义的、完全由软件实现的管线。WASAPI 仅提供音频端点功能。客户端必须自行实现解压、采样率转换、混音、数字信号处理,以及与 XBOX One 音频硬件组件的交互。通常,WASAPI 由音频中间件方案使用。
XBOX One 环境不支持 Microsoft Cross-Platform Audio Creation Tool (XACT) 和 DirectSound。以往使用这些技术的游戏应考虑本主题中列出的方案,或使用经批准的 XBOX One 音频中间件。

总结:立即上手

初次开始为 XBOX One 开发的游戏内容创作者与实现者,在规划时可考虑以下几点。
  • 规划 7.1 音频。这包括预渲染内容与实时内容的声像与定位。考虑你的游戏将如何使用每一条音频通道。
  • 探索并理解音频压缩选项。理解 XMA、xWMA 与 ADPCM 压缩在声学与体积上的差异。要理解 XBOX One 上预期的预算目标,请评估你内容所用的质量与比特率设置。
  • 考虑硬件加速 DSP 的使用模式,尤其是当你的游戏计划实现遮挡或阻挡模拟时。

另请参阅

XAudio2 概述 ADPCM 概述 SHAPE 概述 XMA2 概述 xWMA 概述
最后修改于 2026年8月24日