音频帧、采样率、Hz和比特率下的概念不是公式。 不过,我的理解是1.采样率:表示每秒收集多少次语音数据,大部分是以秒为单位,将其转换为ms (毫秒)进行计算。
eg.44100Hz (秒) )。
2.位深度:表示每次采集的声音数据的大小,单位为比特(bit )。
eg.Android中的AudioFormat.ENCODING_PCM_16BIT表示一次采集16bit。
3.通道数:音频的通道数量
一个采样点只能用于一个通道,实际上可能有一个或多个通道。
总结1 :
可以从1、2、3的概念中得到:
一次采集数据大小*一秒的采集次数*通道数=采样率*位深度*通道数=一秒的采集数据总数(bit ) )。
4 .比特率(编码率)每秒传输的比特数。 单位为bps(bitpersecond ),比特率越高,所传输的数据量越大,音质越好。
公式:
比特率=采样率x采用比特数x通道数。
1kbps=1000bit/s=1000/8(b/s )。
1Mbps=1024Kbps=1024*1024bit/s
注意----大写K----1024,小写k----1000
例题1 :
已知音频编码率是m (单位kbps )、视频编码率是以v )为单位B/s )、传输时间是以t )为单位s ),根据上述公式计算输出文件大小(单位m )吗?
统一音频视频码率的单位:
m2=m*1000/8(b/s ) ) )
文件大小=音频大小视频大小=(音频代码视频代码(t=) m2v ) t )单位b )=(m*1000/8 v ) *t/1024/1024 )单位m )
5 .帧:对声音来说,播放的单位对视频来说是一帧。 在当前的声卡驱动程序中,内部缓冲区也是以Frame为单位进行分配和管理的。
1单位Frame=1采样点的字节数通道数
公式:
音频帧再现时间=一帧的收集时间=对应于一个AAC帧的采样数/采样频率
大前提:采样率44100Hz,位深8bit,通道数1个。
例题1 :
构建一个ACC帧需要1024个采样数据,要计算该帧的播放时间吗?
一个sample=次采集
1024/44100=0.02322s=23.22ms (四舍五入)
例题2:
mp3每帧1152字节,采样率44100Hz,计算该帧的播放时间吗?
已知:
从最大假设可以看出,一次采样大小=比特深度*通道数=8bit=1byte (字节) )。
所以
播放时间*采样率*1次采样大小=1152
==)播放时间=1152/采样率*1=1152/44100=0.02608s (四舍五入)=26.08ms
从前五个概念到帧速率(f )和码率(m )之间的关系
RGB24的每帧大小: size=widthheigth3 Byte
RGB32的每帧的大小为size=widthheigth4 Byte
YUV420的每帧的大小是size=widthheigth1.5 Byte
m=f*size*8 bps
参考文档:
33559 www.cn blogs.com/renhui/p/7463287.html
3359 www.cn blogs.com/Cai 1432452416/p/11828008.html (视频转换(压缩)时比特率和分辨率对照表) )。