視頻編碼中CBR編碼和VBR編碼的區別 VBR就是可變位元速率,它與恒定位元速率CBR有一些區別,關於CBR或VBR編碼的區別如下:
通過使用Windows Media編碼器,可以用恒定位元速率(CBR)或可變位元速率(VBR)對音頻和視頻內容進行編碼。
CBR編碼
在流式播放方案中使用CBR編碼最為有效。使用CBR編碼時,位元速率在流的進行過程中基本保持恒定並且接近目標位元速率,始終處於由緩衝區大小確定的時間窗內。CBR編碼的缺點在於編碼內容的品質不穩定。因為內容的某些片段要比其他片段更難壓縮,所以CBR流的某些部分品質就比其他部分差。此外,CBR編碼會導致相鄰流的品質不同。通常在較低位元速率下,品質的變化會更加明顯。
VBR編碼
當計劃提供內容供使用者下載、 將內容在本地播放或者在讀取速度有限的裝置(如CD或DVD播放機)上播放時,請使用VBR編碼。(計劃流式播放內容時也可以採用峰值VBR編碼模式)當 編碼內容中混有簡單資料和複雜資料(例如,在快動作和慢動作間切換的視頻)時,VBR 編碼是很有優勢的。使用VBR編碼時,系統將自動為內容的簡單部分分配較少的位元,從而留出足量的位元用於產生高品質的複雜部分。這意味著複雜性恒定的內 容(例如新聞播音)不會受益於VBR編碼。對混合內容使用 VBR 編碼時,在檔案大小相同的條件下,VBR編碼的輸出結果要比CBR編碼的輸出結果品質好得多。在某些情況下,與CBR編碼檔案品質相同的VBR編碼檔案, 其大小可能只有前者的一半。
一般情況下,合成相同品質的節目時,採用CBR編碼方式時節目合成時間會短一些,但檔案的長度會大一些(即相同時間長度的節目會佔用更多的空間或者相同的空間只能容納更短的節目)。
1、VBR 適合的應用情境是媒體儲存,而不是網路傳輸,因此不要讓武狀元去當文官;
2、其實實際網路傳輸中所謂的 CBR 一般都是 ABR(平均位元速率),即只要是單位時間內把碼率控制在額定碼率就可以了,因為編碼輸出本來就有緩衝可以起到平滑波動的作用;
3、你所謂的嚴格意義上的 CBR 是每一幀都分配同樣的碼字,試想一下,如果某一幀所需要的碼字本來就很少,而你卻一定要給它分配很多碼字,那不是浪費麼。另一方面,如果某一幀所需要的碼字本來就多,而你卻給得很少,那這幀的效果會很差。這樣編下來,整體序列品質會忽好忽壞地不停發生跳變,反而對視覺衝擊很大;因此 ABR 才是最適合網路傳輸的方案;
4、無論是 CBR、ABR 還是 VBR 都是屬於碼率控制,而碼率控制是視頻編碼的開放部分,它不會改變碼流結構的合法性,因此無論在 MPEG2、MPEG4 還是 H.263、H.264 當中都沒有做規定;
5、由於目前的視頻編碼通訊協定都是基於塊編碼的混合編碼架構,因此一個碼率控制演算法可以用到任何協議上(當然有時候需要做點小的改動),只不過是控制效果好不好的問題,沒有哪個 RC 是專屬哪個協議的。