音乐编解码器的更新情况

LiveVideoStack 2021年6月15日

在我最近关于高分辨率音频播放器以及为它们提供内容的服务和外部DAC和放大器的报道中,我意识到我向我的读者抛出了很多新的可能不熟悉的术语。自从我上一次深入介绍无损和有损音频压缩标准以来,已经有一段时间了,确切地说,是20年!而且世事变迁,所以这个简短的更新可能是迟来的。


文 / BRIAN DIPERT

原文链接 / https://www.edn.com/an-update-on-music-codecs/


首先,显而易见的是,20年前大部分数字音乐不是从服务器上下载,就是从CD上下载,然后存储并在本地播放。如今,各种订阅服务的优势已经演变,使情况更加复杂;一个给定的服务需要支持具有各种处理能力的多种回放客户端,并支持以多种比特率和延迟(以及随时间变化的两个参数)连接的网络。因此,云的适应性至关重要。


以Tidal为例,这是我最近经常提到的一项音乐服务,它以高保真音响为目标用户。先看了看基线提供“HiFi”,Tidal streams(在一些平台上,还提供DRM-inclusive下载)在两个比特率,96 kbps(Tidal称之为“正常”,通常被认为是等效质量遗留的128 kbps MP3)和320 kbps(“高”和更高的比特率比使用competitors 例如Amazon Music Unlimited和Apple iTunes),在这两种情况下利用AAC(高级音频编码)有损压缩标准。AAC是MPEG-4的核心音频编解码器,在2001年我的测试套件中甚至还没有AAC,只有MP3 (MPEG-1和MPEG-2音频层III)、RealAudio和WMA (Windows Media audio)。三年多过去了,我还在写这样的话:“AAC目前缺乏广泛的行业支持,因此限制了消费者播放音频的设备类型。”不过,这在很大程度上要归功于Apple对AAC的支持,尤其是在该公司放弃了FairPlay DRM之后,接替者基本上已经继承了宝座。


现在为Tidal的“HiFi”提供。至少即使内容是“仅仅”Red Book音频CD-equivalent质量(16每帧采样个数,两个渠道,44.1千赫采样率,1~1.411 Mbps未压缩比特流),Tidal还提供两种lossless-compressed格式降低比特率(下载,文件大小):FLAC(自由无损音频编解码器)对于大多数客户,和ALAC为iOS设备(Apple无损音频编解码器)。Wikipedia上说,“通过FLAC算法压缩的数字音频通常可以缩小到原始大小的50%到70%。”


如果做到更大的样本量和更高的样本率是长处,还有MQA(主要质量认证),Tidal支持它的HiFi层订阅者和它内容库的子集。MQA和AAC一样,是一种有损压缩算法,乍一看似乎很讽刺,因为我们正在谈论的是所谓的最高质量的产品(不出所料,这种格式得到了发烧友社区的广泛支持)。但与AAC(及其MP3和其他感知编码同行)不同的是,MQA没有使用各种心理声学建模技术来降低比特率,就像我在20年前提到的那些:


  • 低通滤波,即去除某一频率以上的所有音频信息;

  • 立体声到单声道转换的原始两个声道,完全或超过一定的频率;

  • 阶段性崩溃,或消除两个通道之间的阶段性差,完全或超过一定的频率;

  • 频率屏蔽,用响亮的声音屏蔽附近频率的低音量信息;

  • 时间掩蔽,其中响亮的音调在时间上掩蔽在掩蔽音调之前和之后的低音量信息。相反,MQA利用时域ADPCM(自适应差分脉冲编码调制)来降低比特率。


更多关于MQA的信息来自维基百科:


使用专有的抖动技术将较高频带中相对较少的能量分层压缩成嵌入较低频带的数据流,但解码后的结果将是无损存档。在一系列这样的操作之后,结果44.1 kHz的数据,分层的数据流,和最终的“修饰”流(从所有层和原始的有损信号之间的压缩差)被提供给播放设备。考虑到低的能量将在更高的频率,和只使用一个额外的频带层(较高的44.1 kHz频带96/24打包在48/16的抖动中)和一个修改流(压缩区别原始96/24和48/16)分布在一起作为一个流,48/24的48/16 bit-decimated部分可以由正常的48/16播放设备。与标准格式的另一个区别是抽样过程。音频流被采样并与三角形函数进行卷积,并在稍后的回放过程中进行插值。


所以,让我们思考一下。为了使Tidal能够成功地将音乐流或下载到客户端,Tidal的服务器必须首先弄清楚与客户端相关联的帐户是哪个服务层(高级或HiFi)。然后,它需要确定客户端是否支持下载。其次,它必须确定客户端支持哪些质量级别选项(普通,高,HiFi和/或master)和(HiFi,无论客户端是否是iOS设备)以及什么质量选项是首选的客户端流媒体和下载;以下是我的Android智能手机Tidal应用的截图示例:

音乐编解码器的更新情况


音乐编解码器的更新情况


但是想要一个给定的质量水平和实际能够达到那个质量水平是两码事。例如,如果客户端处于较差的蜂窝数据连接(持续或可能仅在短暂的基础上),那么320kbps的“高”流可能无法实现,因此需要短暂的降速到“正常”模式。在所有这些工作之后,仍然“只有”一个音乐轨道驻留在客户机的易失性或非易失性内存中;然后你仍然需要通过一个比特率受限(更不用说一个更低的能耗要求)的无线连接将它连接到蓝牙耳机上。


目前由蓝牙SIG(特殊兴趣组)指定的标准音频编解码器需要支持任何基于A2DP(高级音频分发配置文件)的蓝牙设备(发射器和/或接收器)是SBC(低复杂度子带编解码器)。SBC大约和MP3一样古老,正如相关的Wikipedia词条所言,“它的设计目的是在中等比特率下获得相当好的音频质量,同时保持较低的计算复杂度,考虑到蓝牙带宽的限制和处理能力。”


SBC做得很不错,特别是在语音方面,但它仍然在早期阶段被LC3(低复杂度通信编解码器)取代。用一句话来说,把SBC称为“高保真度”是一种妄想。因此,为其他可选编解码器打开了一扇门,它们的使用与否取决于在初始连接过程中蓝牙发射器和接收器之间的支持与否询问。例如,它们包括AAC(没错,就是前面提到的同一种编解码器),Apple在其产品中专门使用AAC(大概是为了避免向高通支付许可费……请继续阅读)。


高通目前拥有aptX系列编解码器(例如,最初在Apple mac上支持,但后来取消了),该系列于2010年被CSR收购,5年后,CSR又被高通收购。基础aptX(最初称为apt-X)编解码器,也就是可能最熟悉的编解码器,利用了类似于前面提到的MQA的基于adpcm的有损压缩。它随后加入了增强,现场,声音,以及(为了蓝牙音乐的目的)LL(例如低延迟,这是特别有用的,当试图保持电影视频和它的配乐和对话之间的嘴唇同步),HD(高清晰度),和自适应层。


在最近探索我的新型便携式蓝牙接收器“玩具”时,我发现了另一种编解码器——LDAC。得益于Wikipedia对LDAC的定义,我了解到了另一个:LHDC(低延迟高清音频编解码器)。LDAC由Sony开发,从Android 8开始就添加到Android开源项目存储库中。编码器(即蓝牙发射器)的编码(和使用)是免费和开源的,尽管解码器是专有的,需要用户获得许可。我的Google Pixel 3a手机包括支持LDAC:

音乐编解码器的更新情况


音乐编解码器的更新情况


音乐编解码器的更新情况


Radsone显然获得了许可,因为当我把智能手机连接到Earstudio ES100 MK2上时,LDAC是首选的编解码器:

音乐编解码器的更新情况


—本文作者布赖恩•迪珀特是the Embedded Vision Alliance的总编,也是BDTI的高级分析师,以及该公司在线时事通讯InsideDSP的总编。


还可输入800
全部评论
作者介绍

LiveVideoStack

音视频技术社区

文章

粉丝

视频

阅读排行
  • 2周
  • 4周
  • 16周