音频帧概念详解
2015-07-18 23:03
274 查看
http://blog.chinaunix.net/uid-26000296-id-3446714.html
正常人听觉的频率范围大约在20Hz~20kHz之间。
采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。
根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。
常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,
如果采用更高的采样频率,还可以达到DVD的音质。
对采样率为44.1kHz的AAC音频进行解码时,一帧的解码时间须控制在23.22毫秒内。
通常是按1024个采样点一帧
分析:
1. AAC
一个AAC原始帧包含某段时间内1024个采样点相关数据。
用1024主要是因为AAC是用的1024点的mdct。
音频帧的播放时间 = 一个AAC帧对应的采样样本的个数 / 采样频率(单位为s)。
采样率(samplerate)为 44100Hz,表示每秒 44100个采样点,
所以,根据公式,
音频帧的播放时长 = 一个AAC帧对应的采样点个数 / 采样频率
则,当前一帧的播放时间 = 1024 * 1000000/44100= 22.32ms(单位为ms)
48kHz采样率,
则,当前一帧的播放时间 = 1024 * 1000000/48000= 21.32ms(单位为ms)
22.05kHz采样率,
则,当前一帧的播放时间 = 1024 * 1000000/22050= 46.43ms(单位为ms)
2.MP3
mp3 每帧均为1152个字节,
则:
每帧播放时长 = 1152 * 1000000 / sample_rate
例如:sample_rate = 44100HZ时,
计算出的时长为26.122ms,
这就是经常听到的mp3每帧播放时间固定为26ms的由来。
正常人听觉的频率范围大约在20Hz~20kHz之间。
采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。
根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。
常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,
如果采用更高的采样频率,还可以达到DVD的音质。
对采样率为44.1kHz的AAC音频进行解码时,一帧的解码时间须控制在23.22毫秒内。
通常是按1024个采样点一帧
分析:
1. AAC
一个AAC原始帧包含某段时间内1024个采样点相关数据。
用1024主要是因为AAC是用的1024点的mdct。
音频帧的播放时间 = 一个AAC帧对应的采样样本的个数 / 采样频率(单位为s)。
采样率(samplerate)为 44100Hz,表示每秒 44100个采样点,
所以,根据公式,
音频帧的播放时长 = 一个AAC帧对应的采样点个数 / 采样频率
则,当前一帧的播放时间 = 1024 * 1000000/44100= 22.32ms(单位为ms)
48kHz采样率,
则,当前一帧的播放时间 = 1024 * 1000000/48000= 21.32ms(单位为ms)
22.05kHz采样率,
则,当前一帧的播放时间 = 1024 * 1000000/22050= 46.43ms(单位为ms)
2.MP3
mp3 每帧均为1152个字节,
则:
每帧播放时长 = 1152 * 1000000 / sample_rate
例如:sample_rate = 44100HZ时,
计算出的时长为26.122ms,
这就是经常听到的mp3每帧播放时间固定为26ms的由来。
相关文章推荐
- C# char 和string之间转换
- java中的异常
- Leetcode #69 Sqrt(x)
- [BZOJ1588][HNOI2002]营业额统计
- [LeetCode]Palindrome Linked List
- JAXB的用法及介绍
- 在Mac下安装XAMPP(Apache, PHP, MySQL)
- [BZOJ1503][NOI2004]郁闷的出纳员
- 时间处理
- [LeetCode]Lowest Common Ancestor of a Binary Search Tree
- POJ 题目3169 Layout(差分约束)
- cinder的手工搭建
- 树的非递归遍历(中序遍历)
- android 文件存储 Internal storage External storage
- Java高质量代码之 — 泛型与反射
- 树的非递归遍历(中序遍历)
- android http post
- iOS常用正则表达式
- ubuntu下编译neovim
- [LeetCode]Power of Two