轉自桓澤range coding

CELT和SILK以及Opus的位分配方法

三者的位分配編碼都主要是使用Range Coding(Opus是CELT和SILK拼出來的)。

那麼有如下問題:

1.有什麼區別。還是一樣?

2.把AAC的Huffman Coding換成Range Coding怎麼樣

 

首先分析,SILK,

SILK裏面的Range Coding比較簡單,SILK裏面有2個全部

1. SILK 全部參數使用RC。

2. SILK 全部參數都有自己的積累概率函數CDF。

SILK 裏面 RC統一調用SKP_Silk_range_encoder進行編碼,3個參數,第一個是數據結構指針,第二個CDF,第三個是CDF的定點長度。

SILK能全部使用RC編碼的原因是,SILK是語音編碼,參數的動態幅值比較固定且小,統計CDF時容易收斂。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章