定義
恆定比特率(英語:Constant bitrate,簡稱CBR),就是靜態(固定)比特率的意思,CBR是一種固定採樣率的壓縮方式。對於視頻編碼來說,CBR編碼指的是編碼器每秒鐘的輸出碼數據量(或者解碼器的輸入碼率)應該是固定制(常數)。編碼器檢測每一幀圖像的複雜程度,然後計算出碼率。如果碼率過小,就填充無用數據,使之與指定碼率保持一致;如果碼率過大,就適當降低碼率,也使之與指定碼率保持一致。因此,固定碼率模式的編碼效率比較低。在快速運動畫面部分,畫面細節較多,一般需要更多的比特來描述,但由於強行降低碼率,因此會丟失部分畫面的細節信息,而出現畫面模糊、不清晰現象。對於音頻壓縮來說,比如MP3,比特率是最重要的因素,它用來表示每秒鐘的音頻數據占用了多少個比特,這個值越高,音質就越好。CBR使用固定比特率編碼音頻,一首MP3從頭至尾為某固定值,如128 kbps進行編碼。
固定碼率是一個用來形容通信服務質量(QoS,Quality of Service)的術語。和該詞相對應的詞是可變碼率或可變比特率(英文variable bit rate,縮寫VBR)。
當形容編解碼器的時候,CBR編碼指的是編碼器的輸出碼率(或者解碼器的輸入碼率)應該是固定制(常數)。當在一個頻寬受限的信道中進行多媒體通訊的時候CBR是非常有用的,因為這時候受限的是最高碼率,CBR可以更好的易用這樣的信道。但是CBR不適合進行存儲,因為CBR將導致沒有足夠的碼率對複雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些碼率。
大部分編碼方案的輸出都是可變長的碼字,例如霍夫曼編碼或者遊程編碼(run-length coding),這使得編碼器很難做到完美的CBR。編碼器可以通過調整量化(進而調整編碼質量)來部分的解決這個問題,如果同時使用填充碼來完美的達到CBR。(有時候,CBR也指一種非常簡單的編碼方案,比如將一個16位精度的音頻數據流通過抽樣得到一個8位精度的數據流)。
恆定比特率的套用
可變比特率(Variable Bit Rate)簡稱VBR。
CBR和VBR廣泛套用於多媒體數據壓縮編碼領域。
CBR是指對視音頻數據進行編碼時,不論視音頻數據大小和複雜程度,編碼速率始終保持恆定;CBR可以確保編碼後的音頻檔案具有固定的大小,但不保證編碼後的音頻檔案具有固定的音質 ;VBR是指在編碼時根據視音頻數據大小和複雜程度,動態調整編碼速率,即對複雜數據進行高比特率編碼,對簡單數據進行低比特率編碼,以質量為前提兼顧數據大小,從而保持質量和數據大小之間的平衡。
隨著視音頻編碼技術的迅猛發展和廣泛套用,VBR數據流越來越常見,這主要是由視音頻壓縮算法和視音頻內容兩個因素所造成的。VBR既可節省傳輸頻寬,又可用於控制顯示質量,其套用正愈來愈廣泛。
在數字電影領域,CBR和VBR用於圖像編碼,由數字電影編碼器來實現。
對於CBR編碼,不論輸入圖像的複雜程度如何,數字電影編碼器的輸出碼率均為固定值。這使得簡單和複雜圖像經壓縮後的碼率相同,從而導致沒有足夠碼率對複雜圖像進行編碼,因而其解碼重建的圖像質量就較低,而對於簡單圖像則會出現碼率浪費,且圖像越複雜,重建質量就越低,圖像越簡單,碼率浪費就越嚴重。
對於VBR編碼,在保證一定重建圖像質量的前提下,數字電影編碼器根據輸入圖像的簡單或複雜程度自適應地調整輸出碼率。因而,圖像越複雜,壓縮碼率就越高,圖像越簡單,壓縮碼率就越低,從而對於複雜圖像,解碼重建質量不會降低,而對於簡單圖像也不會浪費碼率。
數字電影編碼器經歷了從只支持CBR編碼方式到同時支持CBR/VBR兩種編碼方式的發展歷程,實現了對電影複雜畫面和簡單畫面動態分配碼率,因而在保證數字電影圖像質量的前提之下,有效降低了數字電影數據包(DCP)的大小,從而可有效利用存儲空間和節省傳輸頻寬。
恆定比特率的優點
固定碼率無論對於音頻編碼還是視頻編碼,CBR 方式編碼的優點是壓縮快,能被大多數軟體和設備支持;而且當在一個頻寬受限的信道中進行多媒體通訊的時候 CBR 是非常有用的,因為這時候受限的是最高碼率,CBR可以更好的易用這樣的信道。但是 CBR 不適合進行存儲,因為 CBR 將導致沒有足夠的碼率對複雜的內容部分進行編碼(從而導致質量下降),同時在簡單的內容部分會浪費一些碼率。使用CBR 編碼時,編碼流的比特率以及大小在編碼之前就是已知的。例如,如果以每秒 32,000 位的速度對三分鐘的歌曲進行編碼,那么就可以知道檔案的大小約為 704 千位元組(32,000 bps x 180秒/ 8位/位元組/ 1,024) 。
大部分編碼方案的輸出都是可變長的碼字,例如霍夫曼編碼或者遊程編碼(run-length coding),這使得編碼器很難做到完美的CBR。編碼器可以通過調整量化(進而調整編碼質量)來部分的解決這個問題,如果同時使用填充碼來完美的達到CBR。(有時候,CBR也指一種非常簡單的編碼方案,比如將一個16位精度的音頻數據流通過抽樣得到一個8位精度的數據流)