平時我們了解的是 aac的話,1024個采樣點編碼一幀(按照單聲道分析),那么ac3呢?
Ac3比特流由一系列的synchronization frame組成,每個synchronization frame包含6個audio block。
而一個audio block是256個采樣點,也就是說ac3:
256*6=1536
1536個sample編碼一幀。
舉個例子和aac進(jìn)行對比一下:
以采樣率44100為例,
如果是aac, 那么一幀的時間長度為: 1000*1024/44100=23.219ms
如果是ac3,那么一幀的時間長度為: 1000*1536/44100=34.829ms
EAC3的話,情況要更復(fù)雜一些。
EAC3,全稱Enhanced AC-3 bit streams,與AC3類似,但不能后向兼容。AC3的decoder不能解EAC3的bitstream,EAC3的decoder即能解AC3,也能解EAC3。
bsi()域中的numblkscod標(biāo)明每個syncframe包含多少個block,
與AC3不同(AC3每個syncframe一定包含6個audio block,解碼出來共1536個sample),
EAC3每個syncframe不一定包含6個block,即如果每個syncframe只有一個有效block,那么該frame只包含256個sample。
可以更方便的指定,多個sample來編碼一幀。比如256個sample也可以編碼一幀。