ac3多少个sample编码一帧? 1536

平时我们了解的是 aac的话,1024个采样点编码一帧(按照单声道分析),那么ac3呢?

Ac3比特流由一系列的synchronization frame组成,每个synchronization frame包含6个audio block。

而一个audio block是256个采样点,也就是说ac3:

256*6=1536 

1536个sample编码一帧。

举个例子和aac进行对比一下:
以采样率44100为例,

如果是aac, 那么一帧的时间长度为: 1000*1024/44100=23.219ms
如果是ac3,那么一帧的时间长度为: 1000*1536/44100=34.829ms

EAC3的话,情况要更复杂一些。

EAC3,全称Enhanced AC-3 bit streams,与AC3类似,但不能后向兼容。AC3的decoder不能解EAC3的bitstream,EAC3的decoder即能解AC3,也能解EAC3。
bsi()域中的numblkscod标明每个syncframe包含多少个block,
与AC3不同(AC3每个syncframe一定包含6个audio block,解码出来共1536个sample),
EAC3每个syncframe不一定包含6个block,即如果每个syncframe只有一个有效block,那么该frame只包含256个sample

可以更方便的指定,多个sample来编码一帧。比如256个sample也可以编码一帧。

References:

https://blog.csdn.net/charleslei/article/details/53100569

你可能感兴趣的:(ac3多少个sample编码一帧? 1536)