AAC音频编码格式介绍

2023-05-16

一、概述及分类

AAC“Advanced Audio Coding”的缩写,中文称为“高级音频编码”,被手机界称为“21世纪数据压缩方式”,AAC所采用的运算方式是与MP3的运算有所不同,AAC同时可以支持多达48个音轨,15个低频音轨,更多种取样率和比特率与及有多种言语的兼容能力,更高的译码效率,总括来说,AAC可以在对比MP3文件缩小30%的前题下提供更好的音质。

AAC帧与帧之间编码完全独立,所以其广泛运用于流媒体。

AAC音频编码技术早在1997年就制定成型,当时在MPEG-2中作为了MPEG2-AAC音频编码规格之一,后来,在2000年被用在MPEG-4中 (ISO 14496-3 Audio),所以现在变更为MPEG-4 AAC标准,也就是说,AAC已经成为MPEG4家族的主要成员之一,它是MPEG4第三部分中的音频编码系统。

由于对AAC有重要贡献的公司比较多,如Fraunhofer,Dolby, Sony和AT&T,导致AAC子格式多,很容易搞混。他们是共分为9种规格,以适应不同场合的需要:

a) MPEG-2 AAC LC 低复杂度规格 (Low Complexity)

b) MPEG-2 AAC Main 主规格

c) MPEG-2 AAC SSR 可变取样率规格 (Scaleable Sample Rate)

d) MPEG-4 AAC LC 低复杂度规格(Low Complexity),现在的手机比较常见的MP4文件中的音频部份就包括了该规格音频文件

e) MPEG-4 AAC Main 主规格

f) MPEG-4 AAC SSR 可变取样率规格 (Scaleable Sample Rate)

g) MPEG-4 AAC LTP 长时期预测规格(Long Term Predicition)

h) MPEG-4 AAC LD 低延迟规格(Low Delay)

i) MPEG-4 AAC HE 高效率规格(High Efficiency)(即AAC+,含SBR)

上述的规格中,主规格“Main”包含了除增益控制之外的全部功能,其音质是最好,而低复杂度规格则是比较简单,没有了增益控制,但提高了编码效率,至“SSR”对“LC”规格大体是相同,但是多了增益的控制功能,另外,MPEG-  4/AAC/LTP/LD/HE,都是用在低码率下编码,特别是“HE”是有Nero ACC编码器支持,是近来多用的一种编码率种,不过通常来说,Main规格和LC规格的音质相差是不大。

MPEG-4 AAC LC (Low Complexity) 是最常用的规格,我们叫“低复杂度规格”,我们简称“LC-AAC”,这种规格在中等码率的编码效率以及音质方面,都能找到平衡点。所谓中等码率,就是 指:96kbps-192kbps之间的码率。因此,如果要使用LC-AAC规格,请尽可能把码率控制在之前说的那个区间内。在这个区间内,LC-AAC 可以完全打败同码率的用LAME最高质量慢速编码模式的MP3。我认为,不论是随身听,还是互联网音乐传播,都建议采用128kbps-192kbps规 格的LC-AAC编码规格。

MPEG-4 AAC HE (High Efficiency) AACPlusV1/V2(3GPP),我们叫“高效性规格”,我们简称为“HE-AAC”或者“AACPlus”,这种规格适合用于低码率编码,因为这 种规格也融入了Mp3Pro中的那种SBR技术。当您需要编码32kbps-96kbps之间的音频文件时,建议首选“HE-AAC”编码规格。使用这种 规格,在相同码率下,在这个区间内,您可以轻易把WMA9以及WMAPro等微软的格式给干掉。如果您是有声小说爱好者,或者广播剧爱好者,不妨考虑 He-AAC规格,即使很低的码率,也能提供非常清晰的人声对白效果。

以上规格的划分是比较官方的分发,wiki上也是如此划分。事实上MPEG-4与MPEG-2 AAC流除了在文件头(header)上并没有什么区别。只是一些应用软件象QuickTime并不承认MPEG-2 AAC。Real的解码程序中,并未对这2种进行区分。所以从编解码来看,按如下划分更清晰

a)LC profile:最简单的profile,苹果iTune使用这种格式(iTune也使用Apple LosslessAAC ,不过似乎没有划分到AAC家族中,一个文件通常上20M)。

b) MAIN profile: LC profile + 后向预测(backwards prediction)

c) SRS: sample-rate scalability,submitted by Sony and reportedly

d) LTP:long term prediction, main profile + forward prediction

e)HE-AAC: high efficiency AAC,又叫aacPlus,使用SBR,可能使用PS.AAC + SBR(Spectral Band Replication)aacPlusv1, AAC + SBR + PS(Parametric Stereo)aacPlus v2.  如图所示:

https://img-my.csdn.net/uploads/201010/17/0_1287288548Ub5B.gif
其中,aacPlus v1已被运动图像专家组MPEG指定为其标准MPEG-4 HE AAC.

二、AAC的编码器

a) FhG Fraunhofer IIS研发的权威编码器,拥有很好的音质,不对外开放

b) Nero AAC可能是目前最完美的AAC编码器了,同时支持"LC AAC/HE AAC"规格,Nero AAC编码器提供了品质最好的"VBR LC AAC"格式,同时亦对面"HE AAC"规格保证了在低码率下也有良好的表现,千千静听 + Nero插件,就可以编码AAC文件了,我当初就这么做测试向量的,哈哈。

c) QuickTime/iTune Apple公司的两款Media软件都提供了AAC编码功能,其编码技术来自“DolbyLaboratories”,是目前音质最好的中码编率编码器,它编码的48kbps立体声音质比其它AAC编码器好20 - 25%,甚至64 kbps的Dolby AAC音效可媲美128 kbps的MP3。

d) FAAC:免费,开源,郑重推荐。

三、文件后缀名

用aac编码的文件可能使用这三种后缀名:aac、m4a、mp4.

AAC:以aac为后缀的文件无文件头,由一些列的帧组成文件,帧头分ADIF和ADTS两种。

M4A:用MP4作为container,这种MP4文件里面只有音频帧,无视频帧。由MP4文件头+一系列的帧组成,帧头比AAC为后缀的文件要短。所以在保持压缩数据不变的情况下,将AAC转为M4A,文件会小一些,因为每帧省几个字节,合起来省下的字节数通常比MP4文件头还大。

MP4:可以同时有视频帧和音频帧,也可以只有音频或视频帧。

aac扩展名不属于MPEG4-AAC规格,而是MPEG2-AAC,现在应该很少用了。官方定义的扩展名为 .mp4,mp4容器可以装载形如H.264视频以及AAC音频,也可只装载没有声音的视频(单独H.264等),或者装载没有图像的音频(单独AAC)。不过, 苹果把只包含音频的AAC扩展名定义为*.m4a,当然,用*.mp4作为AAC扩展名也是可以的,说明是没有视频部分的MP4音频文件。如果只有音频部分,那么mp4和m4a二者可以互相安全改名。

四、AAC格式应用

那么,如果您需要编码相对较高码率的AAC(192kbps-384kbps,或更高),应该如何选择?如果您的码率不超过256kbps(如: 192kbps-256kbps),“LC-AAC”同样可以适用。如果实在需要更高的码率,请选择Main(主规格)编码。在高码率下,AAC同样可以 轻易战胜那个炒得很火热的Lame MP3,即使320kbps CBR的MP3,也根本不是Mian-AAC的对手。甚至不少人认为,中码率的LC-AAC,192kbps CBR已经达到了320 CBR Lame MP3的音质。当然,能和高码率AAC抗衡的,也只有MPC格式,不过MPC格式通用性太差了。话说回来,其实没必要用高码率的AAC,而且Main- AAC在某些通用的播放器或解码器会存在问题,因为之前说的LC-AAC音质已经足够好了,并且通用性好,如果您是发烧友,干脆直接用无损,比如FLAC 等。

MPEG4-AAC音频编码家族如此优秀,因此比较有前景,而且很多“大腕”商家都极力支持。

比如如今比较火热的H.264(包含X.264)视频编码的最佳搭档就是MPEG4-AAC音频编码。同时,高端的主流移动音乐平台,比如:苹果的 iPod、iPhone;索尼的PSP游戏机;以及诺基亚、索爱等等多媒体手机;大部分山寨多媒体手机也开始支持了;甚至不少高端的MP4视频播放器都提供AAC音频格式支持。

还有,高清视频(720P/1080P等)播放器以及蓝光设备,同样会大量使用AAC音频编码去配合H.264的高清视频编码方案。一些高清视频播放机器和游戏机(PS3等),也提供支持。您在互联网下载的一些高清电影(X.264),有相当多的使用AAC音频编码的。即 X.264+AAC 封装于MKV容器或者MP4容器之中。

当然,我们在这里,主要是谈在家用PC中去欣赏AAC音频格式的音乐,以及使用了AAC音轨的电影,于是,只要考虑如何在电脑去播放和编码就行了。

很幸运的是,目前非常主流的音频播放软件都非常轻易的支持AAC音频文件的解码,比如:国产的“千千静听”和国外的“Foobar2000”。

我估计您的机器一定有它们的存在吧?因此,播放AAC音频绝对不是问题。
如果您需观看H.264+AAC的电影,也不必担心,目前的“完美解码”和“终极解码”两种主流的高清视频解码包都提供完美的支持。因此,只要下载这两种 工具的其中之一,就行了。据说“暴风影音”也是可以支持的。
说完了如何放AAC,就简单说说AAC编码器。

因为AAC的优秀,因此关于AAC的编码器也是相当多(Fraunhofer IIS FHG AAC、NERO AAC、QuickTime/iTune AAC、Psytel、Coding Technologies、Dolby AAC、FAAC等等..),其中有商业性质的编码器,也有公用性质的,同时还有开源免费的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AAC音频编码格式介绍 的相关文章

  • CF 997B Roman Digits

    传送门题目大意思路参考代码总结 传送门 题目大意 现在规定罗马数字只有 4 4 个字符 I V X L 分别代表 1 1 5 5 10 10 50 50

随机推荐

  • CF 997C Sky Full of Stars

    传送门题目大意思路参考代码总结 传送门 题目大意 有一个 n n n 10 6 n n n 10
  • CF 997D Cycles in product

    传送门题目大意思路参考代码总结Remarks参考代码 传送门 题目大意 给你大小分别为 n 1 n 1 和 n 2 n 2
  • NOI 2018 游记

    Day 2Day 1Day 0Day 1Day 2Day 3Day 4Day inftyDay 5 Day 2 昨天打完了最后一个一场模拟赛 xff0c 又垫底啦 xff01 本来之前我很少垫底的 xff0c 不知道为什么最后四场模拟赛一直
  • MySQL集群架构

    第1节 集群架构设计 在集群架构设计时 xff0c 主要遵从下面三个维度 xff1a 可用性 扩展性 一致性 1 1 可用性设计 站点高可用 xff0c 冗余站点 xff1b 服务高可用 xff0c 冗余服务 xff1b 数据高可用 xff
  • CF 1008D Pave the Parallelepiped

    传送门题目大意 样例输入样例输出样例解释 思路参考代码总结 传送门 题目大意 给你一个 A B C A B C 的长方体 xff0c 你要把它切成很多块大小都是 a b c
  • Direct2D 学习笔记

    文章目录 Direct2DD2D 是什么D2D 适合谁开发环境发布平台入门我能找到例子吗一 第一个 D2D 程序 Hello Direct2D1 工厂2 呈现器3 渲染4 运行结果 二 Direct2D 画图实践 Random Graphi
  • Python 学习笔记——入门

    文章目录 Python 是什么一 推荐的教程二 这篇学习笔记适合什么人三 环境1 操作系统对于 Windows对于 Ubuntu对于其他操作系统 2 Python对于 Windows安装步骤1 下载2 安装 测试是否成功安装退出 Pytho
  • CF 1166A Silent Classroom

    文章目录 传送门题目大意思路别人的思路参考代码Python 学习笔记 传送门 题目大意 有 n n 100
  • SHGetKnownFolderPath function

    原文 SHGetKnownFolderPath 通过一个 KNOWNFOLDERID 标志获取对应已知文件夹的完整路径 Retrieves the full path of a known folder identified by the
  • WM_DPICHANGED message

    原文 WM DPICHANGED message 当窗口的 DPI 改变时将收到此消息 DPI 是窗口的缩放比例 有多种情况会导致 DPI 改变 xff0c 如下表列出 xff1a 窗口被移动到有不同 DPI 的显示器 窗口所在显示器的 D
  • WSL运行python程序关于路径的坑

    安装了wsl xff08 Windows下的Linux子系统 xff09 xff0c 跑python代码时 xff0c 发现路径有问题 总结来说 xff0c 如果是跑linux里的代码 xff0c 那么其中的绝对路径就按linux的地址解析
  • 【基础编程题】Java基础====键盘输入学生成绩,计算后按总分高低顺序存入磁盘文件txt

    要求 xff1a 有五个学生 xff0c 每个学生有3门课程的成绩从键盘输入以上数据 xff08 包括姓名 xff0c 三门课成绩 xff09 输入的格式 xff1a 如 xff1a zhangsan 30 40 60计算出总成绩 xff0
  • MySQL 配置文件位置及命名。

    MySQL 配置文件位置及命名 使用 mysqladmin 或 mysql xff0c 会提示 MySQL 加载配置文件的顺序及文件命名规范 span class token keyword Default span options are
  • Codeforces 1419B. Stairs 递归

    Codeforces 1419B Stairs 递归 原题链接https codeforces com problemset problem 1419 B 样例 输入 5 2 1 49 5 20 50 6 20 50 5 3 8 9 13
  • dos中定义变量与引用变量以及四则运算

    在dos中使用set定义变量 xff1a set a 61 8 注意等号两边没有空格 引用变量如 xff1a echo a 将打印a的值 dos中要使用算术运算 xff0c 需要使用 set 命令 xff1a set a val 61 3
  • Python将计算结果拷贝至粘贴板

    前言 xff1a 我们知道在使用ctrl 43 c复制文字时 xff0c 实际是将文字复制到了粘贴板中 xff08 内存 xff09 xff0c 而在实际应用中 xff0c 除了将Python的计算结果打印外 xff0c 有时还想进行自动复
  • Java反射——通过Java反射机制设置属性值

    本示例使用Java反射机制分别设置当前类的private public属性以及其父类的private属性来说明如何通过Java反射机制设置属性值 xff08 注 xff1a 设置继承的父类属性时 xff0c 无法通过当前类的Class对象直
  • 7-9 选择法排序之过程 (15 分)

    7 9 选择法排序之过程 15 分 本题要求使用选择法排序 xff0c 将给定的n个整数从小到大排序后输出 xff0c 并输出排序过程中每一步的中间结果 选择排序的算法步骤如下 xff1a 第0步 xff1a 在未排序的n个数 xff08
  • Debian配置清华源

    确定debian的系统版本 plc 64 debian cat etc os release PRETTY NAME 61 34 Debian GNU Linux 9 stretch 34 NAME 61 34 Debian GNU Lin
  • AAC音频编码格式介绍

    一 概述及分类 AAC Advanced Audio Coding 的缩写 xff0c 中文称为 高级音频编码 xff0c 被手机界称为 21世纪数据压缩方式 xff0c AAC所采用的运算方式是与MP3的运算有所不同 xff0c AAC同