0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

常見的碼率控制模式CBR、VBR、CRF和Capped-CRF

LiveVideoStack ? 來源:OTTVerse ? 作者:Jan Ozer ? 2022-06-02 10:09 ? 次閱讀

每次在使用H.264、HEVC、VP9或者AV1等面向分發(fā)的編解碼器對視頻文件進行編碼時,你都要選擇一種碼率控制機制來控制碼率、整體質(zhì)量、瞬態(tài)質(zhì)量和編碼成本。常見的碼率控制模式包括CBR、VBR、CRF和Capped-CRF。本篇文章將向大家介紹這些模式的工作原理,它們各自的優(yōu)點和缺點,如何以及何時實現(xiàn)它們。

我們要討論的前兩個模式,CBR(恒定碼率編碼)和VBR(可變碼率編碼)幾乎可用于每一個分發(fā)出來的編碼器。后兩個模式CRF(恒定碼率系數(shù))和Capped CRF(上限恒定碼率系數(shù))可用于FFmpeg中的x264、x265、libvpx-VP9和libaom-AV1,但本文中只討論x264。

在本文的討論中,我將用到三個文件:

測試文件(Test):這個兩分鐘的短片包括30秒的人物對著鏡頭講話的視頻和30秒的芭蕾舞視頻,分別重復兩次。

足球視頻:這是一個兩分鐘的含有大量動作(高幀率)的足球測試視頻,其中既有高幀率的區(qū)域,又有低幀率的區(qū)域。

人物近距離講話視頻:這是一個兩分鐘的慢動作(低幀率)人物近距離講話視頻。

每當你為了分發(fā)視頻(而非為了存檔或者轉碼上傳文件)而編碼視頻文件時,你都應該考慮到五個因素:兼容性、整體質(zhì)量、瞬態(tài)質(zhì)量、可傳輸性和編碼成本。下面是對這五個因素的簡單描述:

兼容性:當把視頻傳輸給播放器,它能解碼和播放文件嗎?這里我們討論的是H.264,它幾乎可以和任何播放器兼容。而HEVC、 VP9和AV1都可能存在兼容問題。

整體質(zhì)量:是指視頻文件的整體質(zhì)量,在本文中,使用計算調(diào)和平均數(shù)的VMAF測量。

瞬態(tài)質(zhì)量:是指視頻文件顯示時所可能出現(xiàn)的瞬間質(zhì)量問題。在本文中,由低幀VMAF或者文件中任意幀的最低VMAF分值測量。

可傳輸性:向遠在天邊的觀眾傳輸無中斷的視頻是你應具備的能力。通常情況下,擁有高帶寬連接的觀眾無需擔心,但使用3G或類似網(wǎng)絡連接傳輸視頻肯定會出現(xiàn)問題

編碼成本:涉及多次編碼的技術明顯增加編碼時間,如果你需要為編碼farm付費或者使用了很多云廠商的編碼基礎設施(如AWS Elemental Media Convert),那么兩次編碼將顯著提高成本。

最后,在FFmpeg中,大多數(shù)編碼工具都部署了x264和x265編解碼器,其中有三個開關控制碼率,它們分別是:

b:v :設置整體碼率

maxrate:設置最大碼率

bufsize :設置VBV(Video Buffer Verifier,視頻緩存檢驗器)大小。

讓我們先從CBR開始。

CBR:恒定碼率編碼

顧名思義,當你使用CBR(Constant Bitrate Encoding)編碼時,意味著你對全部文件都使用了恒定的碼率(無論視頻文件中場景的復雜度如何)。當使用FFmpeg編碼時,你可以通過對b:v、maxrate和bufsize使用相同的數(shù)據(jù)率實現(xiàn)CBR,如下所示:

-b:v 5000k -maxrate 5000k -bufsize 5000k

在測試文件中,交替播放30秒人物近距離講話和30秒芭蕾舞的視頻內(nèi)容,CBR編碼文件如圖1(在Bitrate Viewer中)。如果你仔細觀察,你會看到跟蹤平均碼率的藍色波浪線在碼率5000kbps左右徘徊。

在右側,你可以看到平均碼率為4938kbps,峰值碼率為6013kbps,高出平均碼率約20%。大多數(shù)編碼器軟件中,CBR的顯示都不是一條直線,但相比于下文的其他控制技術,它的可變性明顯更小。

fcf12fc2-e208-11ec-ba43-dac502259ad0.png

圖1 使用CBR編碼的測試文件

我們稍后將回顧CBR的質(zhì)量影響。

從可傳輸性的角度來說,CBR的優(yōu)勢非常明顯。

如果你將直播視頻通過固定碼率連接上傳到云,或者通過受限連接將視頻發(fā)送給遙遠的觀看者,那么視頻流缺乏可變性將確保其不會中斷。CBR也是單Pass(Single-Pass)技術,這意味著它的成本要比接下來討論的VBR低。

VBR:可變碼率編碼

VBR(Variable Bitrate Encoding)編碼的目的是達到碼率目標,但是在播放期間能夠根據(jù)視頻內(nèi)容的復雜度來調(diào)整碼率。VBR通常要求2 pass:第一遍掃描視頻,識別不同區(qū)域的復雜度;第二遍進行實際的編碼。

VBR通常通過描述最大碼率在目標碼率上的變化來進一步明確。你可以稱下文中第一個示例為200%受限VBR,因為最大碼率為目標碼率的兩倍;第二個示例為150%受限VBR,因為最大碼率為目標碼率的150%;第三個示例為110%受限VBR。

-b:v 5000k -maxrate 10000k -bufsize 10000k-b:v 5000k -maxrate 7500k -bufsize 7500k-b:v 5000k -maxrate 5500k -bufsize 5500k

fd1de3f0-e208-11ec-ba43-dac502259ad0.png

圖2 使用200%受限VBR編碼的測試文件

圖2顯示了使用200%受限VBR編碼的測試文件的碼率配置。在交替的慢動作近距離講話視頻與高速動作的芭蕾舞之間,數(shù)據(jù)波動明顯。即使平均碼率與CBR相似(分別為5041kbps和4938kbps),但最大碼率顯著提高(分別為11137kbps和6013kbps)。150%受限VBR視頻擁有相似的平均碼率(5036kbps)和降低了20%的峰值碼率(9090kbps)。

從可傳輸性角度來說,VBR明顯更具挑戰(zhàn),但這只有在受限連接與視頻流碼率接近時才會出現(xiàn)。如果你正在向美國、歐洲、斯堪的納維亞地區(qū)的觀眾通過50 mbps或者更高的網(wǎng)速傳輸5000kbps、1080p的視頻,你很可能不會出現(xiàn)任何傳輸問題。但是如果是向相同地區(qū)的觀眾以40mbps網(wǎng)速傳輸8K視頻,那么使用200%受限VBR就有點嚇人了。當然,如果是3G連接上的500kbps 200%受限VBR,那么使用CBR(或110%受限VBR)聽起來就好多了。

這一切所帶來的質(zhì)量影響都有哪些?

表1顯示了真實世界中足球視頻片段所使用的四種模式的得分。平均碼率非常相似,峰值碼率差異明顯。整體VMAF得分非常接近。CBR與最高VBR值之間的分值差小于0.7。

編碼模式 平均碼率 峰值碼率 VMAF 低幀VMAF
CBR 4938 6013 95.17 79.76
200% CVBR 5041 11137 95.69 85.39
150% CVBR 5036 9090 95.80 84.47
110% CVBR 4944 6662 95.57 82.59

表1 碼率控制技術的質(zhì)量影響

最大的不同在低幀分值(審校者注:指以幀的粒度看VMAF分數(shù),其最低單幀VMAF分),即瞬態(tài)質(zhì)量問題的指標,其中CBR比200%受限VBR低了約5.5分。這表示一些觀眾有可能注意到瞬間出現(xiàn)的問題。有趣的是,在200%受限VBR和150%受限VBR的低幀VMAF之間只有1分之差,150%受限VBR和110%受限VBR之間有兩分之差。

為了進一步探索,我對比了莫斯科國立大學視頻質(zhì)量衡量工具中的CBR和200%受限VBR文件(圖3)。

上圖是整個視頻文件播放期間,CBR和200%受限VBR文件的VMAF分值,其中CBR為紅色,200%受限VBR為綠色。

下圖是上圖中突出顯示區(qū)域的放大圖(大致為2100幀到3400幀),紅色鐘乳石狀所表示的幀中的CBR質(zhì)量明顯低于VBR。

fd4f0d9a-e208-11ec-ba43-dac502259ad0.png

圖3 使用200%受限VBR編碼的測試文件

在圖中,你可以在右下角看到Show frame按鈕。在這段視頻中,使用了相當保守的編碼參數(shù),CBR幀和VBR幀之間的區(qū)別幾乎忽略不計,因為其中最明顯的差異只有1~2幀。

其他視頻片段中,如果使用較低的碼率編碼,那么瞬態(tài)問題就會更加明顯。所以大部分VOD生產(chǎn)商為了避免這些問題選擇使用VBR(而非CBR),尤其是在向高帶寬觀眾分發(fā)1080p視頻時。

有趣的是,Apple在HLS Authoring Specifications中支持了200%受限VBR,其說明如下:“1.30. 對于VOD內(nèi)容來說,峰值碼率不應該超過平均碼率的200%。”但是200%受限VBR是否適用于高幀率8K內(nèi)容(可能需要40mbps才能達到可接受的質(zhì)量)還有待觀察。

現(xiàn)在讓我們來總結一下,CBR在成本和可傳輸性上勝出一籌,而VBR在整體質(zhì)量上扳回一局。然而,CBR所帶來的瞬態(tài)質(zhì)量問題風險卻是實實在在的。

CRF:恒定碼率系數(shù)

使用CBR和VBR時,你需要選擇一個目標碼率,編碼器會調(diào)整視頻質(zhì)量以達到該目標。這種方法的問題是,如果你對所有視頻片段使用了相同的碼率階梯,那么就會在容易編碼的視頻(如近距離講話視頻)上浪費很多不必要的帶寬。

圖4顯示了使用200%受限VBR編碼、目標碼率為5mbps(與足球視頻相同)的近距離人物講話視頻。平均碼率和峰值碼率與上面的足球視頻一致,但是VMAF分值為97.61。

研究顯示,VMAF值一旦超過93分,觀眾便無法感知。這也是我推薦生產(chǎn)商把VMAF目標值設置為95作為上限的原因。如下圖所示,使用該視頻,你可以減少至少60%的碼率,但仍然能夠達到VMAF 95的目標。

fd746e78-e208-11ec-ba43-dac502259ad0.png

圖4 VBR編碼的問題在于,即使對于該視頻來說數(shù)據(jù)率和質(zhì)量水平過高,它也會達到目標碼率

所以,當使用CBR和VBR編碼時,編碼器會調(diào)整所需的視頻質(zhì)量進而達到目標碼率。相比之下,使用CRF編碼(Constant Rate Factor Encoding,一種單pass編碼模式),你選擇一種目標質(zhì)量,編碼器會通過調(diào)整碼率達到該質(zhì)量水平。CRF值分布為從0到51,數(shù)值越低,質(zhì)量越高。使用CRF和FFmpeg編碼如下所示:

ffmpeg -i input_file -crf 23 output_file

CRF適用于存檔或者生成需上傳和轉碼的mezzanine文件。然而,從可傳輸性的角度來說,它并不是最理想的方法:因為你并不知道將產(chǎn)生的數(shù)據(jù)率,直到你編碼了文件。

在人物近距離講話視頻中,CRF值22生成了平均碼率為1878kbps和VMAF分值為96.29的文件,比VBR編碼的碼率降低了60%以上,且質(zhì)量沒有明顯影響。

然而,在足球視頻中,CRF值22產(chǎn)生了10650的平均碼率,這對于1080p編碼階梯來說太高了。

如何才能在確保合理碼率限制的同時節(jié)省可用帶寬?將CRF和碼率上限組合使用就可以,也就是Capped CRF。

Capped CRF :上限恒定碼率系數(shù)

顧名思義,Capped CRF就是將CRF值與碼率上限組合使用。相關的命令如下所示:

-crf 22 -maxrate 5000k -bufsize 10000k

圖5顯示了在人物近距離講話和芭蕾舞交替出現(xiàn)的視頻中,該命令所生成的結果。同樣,雖然最大碼率不是一條水平直線,但芭蕾舞GOP與5000kbps線非常接近,碼率峰值為6302kbps。在操作中,編碼器使用CRF值對人物近距離講話區(qū)域進行編碼,并在芭蕾舞區(qū)域應用Capped CRF。

這與200%受限VBR相比效果如何?

200%受限VBR編碼產(chǎn)生了一個平均的VMAF分值:97.30(以及碼率5041 kbps)。所以Capped CRF編碼節(jié)省了約30%帶寬,并產(chǎn)生一個96.55的平均VMAF值,與200%受限VBR編碼相比,它們之間的差異肉眼無法察覺。然而,如你所見,碼率變化顯著,所以在使用受限網(wǎng)絡連接時,很可能會影響傳輸能力。

fda3a490-e208-11ec-ba43-dac502259ad0.png

圖5 Capped CRF與人物近距離講話和芭蕾舞交替出現(xiàn)的視頻

在含有大量動作的視頻中,如足球測試視頻中,CRF值在視頻中許多區(qū)域所產(chǎn)生的碼率要高于上限。在這些區(qū)域,碼率由上限控制,而非CRF值。這種情況下,Capped CRF不會節(jié)省太多帶寬,因為編碼器在不超過上限的情況下生成特定質(zhì)量的視頻區(qū)域很少。

表2顯示了分別使用200%受限VBR編碼和Capped CRF(CRF 22/5 上限)的足球視頻的碼率數(shù)據(jù)和VMAF分值??梢钥吹剿鼈兊钠骄a率相近,但使用了Capped CRF的視頻的峰值碼率卻低很多。平均VMAF分值也非常相似。

fddaafc6-e208-11ec-ba43-dac502259ad0.png

表2 足球視頻;200%受限VBR vs. Capped CRF

而使用CBR,最主要的差異就是瞬態(tài)質(zhì)量問題的指標——低幀VMAF。圖6顯示了來自VQMT的對比結果。同樣,我在觀察主要的鐘乳石狀所代表的幀的位置時,沒有發(fā)現(xiàn)明顯的差異。

然而,其中CBR只是提高了可傳輸性,Capped CRF被應用于容易編碼的文件中,可以提升可傳輸性且節(jié)省帶寬。本質(zhì)上,這使得Capped CRF成為一種Per-Title編碼技術,你可以通過幾乎所有基于FFmpeg的編碼工具(直播和點播)來實現(xiàn)它。

fe273de6-e208-11ec-ba43-dac502259ad0.png

圖6 200%受限VBR與Capped CRF之間的對比

Capped CRF也不是銀彈。你應該運行自己的測試文件,然后確定視頻中的瞬態(tài)問題是否比我在足球視頻中看到的更明顯。如果瞬態(tài)問題很少,而你在考慮使用Capped CRF,這個時候你應該嘗試不同的CRF級別(參見:

https://streaminglearningcenter.com/learning/choosing-the-optimal-crf-value-for-capped-crf-encoding.html)。

同樣,并不是所有編碼器和Codec都能夠使用CRF和Capped CRF;如果你正在使用第三方的編碼器(該編碼器并不是基于FFmpeg,且沒有使用x264、x265、libvpx-VP9或者libaom-AV1 Codec),那么CRF和Capped CRF就可能不可用。

表3總結了上文討論的四種編碼方法的優(yōu)點和缺點。

fe67dd06-e208-11ec-ba43-dac502259ad0.png

表3 四種碼率控制模式對比

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編解碼器
    +關注

    關注

    0

    文章

    258

    瀏覽量

    24236
  • CBR
    CBR
    +關注

    關注

    0

    文章

    13

    瀏覽量

    11511

原文標題:了解速率控制模式:什么是 CBR、VBR、CRF和Capped-CRF?

文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    碼率測試儀的技術原理和應用場景

    碼率測試儀是一種用于測量數(shù)字信號中誤碼率的測試儀器,其技術原理和應用場景如下:技術原理誤碼率測試儀的技術原理基于比特錯誤率(BER),即在數(shù)字信號中每一個比特位發(fā)生錯誤的概率。誤碼率
    發(fā)表于 10-25 14:05

    內(nèi)置誤碼率測試儀(BERT)和采樣示波器一體化測試儀器安立MP2110A

    BERTWave MP2110A是一款內(nèi)置誤碼率測試儀(BERT)和采用示波器的一體化測量儀器,支持光模塊的誤碼率(BERT)測量、眼圖模式測試、眼圖分析等評估操作
    的頭像 發(fā)表于 09-23 14:34 ?353次閱讀
    內(nèi)置誤<b class='flag-5'>碼率</b>測試儀(BERT)和采樣示波器一體化測試儀器安立MP2110A

    控制模式快速參考指南

    電子發(fā)燒友網(wǎng)站提供《控制模式快速參考指南.pdf》資料免費下載
    發(fā)表于 08-26 14:57 ?0次下載
    <b class='flag-5'>控制</b><b class='flag-5'>模式</b>快速參考指南

    數(shù)字信號的通信指標誤碼率體現(xiàn)了什么

    數(shù)字信號的通信指標誤碼率(BER,Bit Error Rate)是衡量數(shù)字通信系統(tǒng)性能的一個重要參數(shù)。它反映了在數(shù)字信號傳輸過程中,接收到的錯誤比特與發(fā)送的總比特數(shù)之間的比例。誤碼率是評價通信系統(tǒng)
    的頭像 發(fā)表于 08-11 10:35 ?1659次閱讀

    伺服驅(qū)動器控制模式有哪幾種?

    伺服驅(qū)動器是現(xiàn)代工業(yè)自動化領域中不可或缺的關鍵部件之一,它通過精確控制電機的轉速、位置和力矩,實現(xiàn)對機械系統(tǒng)的精確控制。伺服驅(qū)動器的控制模式多種多樣,不同的
    的頭像 發(fā)表于 06-14 14:41 ?1710次閱讀

    伺服電機常用的三種控制模式有哪些

    伺服電機是一種高精度、高響應速度的電機,廣泛應用于自動化設備、機器人、數(shù)控機床等領域。伺服電機的控制模式對于整個系統(tǒng)的穩(wěn)定性、精度和性能至關重要。本文將詳細介紹伺服電機常用的三種控制模式
    的頭像 發(fā)表于 06-05 15:51 ?5579次閱讀

    伺服電機位置模式和速度模式的區(qū)別

    伺服電機作為現(xiàn)代工業(yè)自動化領域中的核心動力裝置,其控制模式的選擇對于整個系統(tǒng)的性能有著至關重要的影響。在伺服電機的控制模式中,位置模式和速度
    的頭像 發(fā)表于 06-05 15:02 ?3458次閱讀

    淺談伺服電機的控制模式

    伺服電機作為現(xiàn)代工業(yè)自動化領域中不可或缺的重要組成部分,其控制模式的精確性和多樣性對于實現(xiàn)高效、穩(wěn)定、準確的運動控制至關重要。本文將詳細介紹伺服電機的三種主要控制
    的頭像 發(fā)表于 06-05 14:59 ?1453次閱讀

    模式 PFC + 電流模式 LLC 組合控制

    1. 簡介 [HR1211]是一款集成了多模式 PFC 和電流模式 HB LLC 的組合控制器,它性能卓越,具體參數(shù)請參閱 HR1211 數(shù)據(jù)手冊。 *附件:多模式 PFC + 電流
    的頭像 發(fā)表于 06-04 16:46 ?7880次閱讀
    多<b class='flag-5'>模式</b> PFC + 電流<b class='flag-5'>模式</b> LLC 組合<b class='flag-5'>控制</b>器

    快速搞懂GPIO控制器的六種模式

    器的六種常見模式,我們特地整理了這篇文章。。快速搞懂GPIO控制器的六種模式我們拿STM32芯片舉例,下圖是GPIO控制器的簡單框圖:通過框
    的頭像 發(fā)表于 05-18 08:04 ?1504次閱讀
    快速搞懂GPIO<b class='flag-5'>控制</b>器的六種<b class='flag-5'>模式</b>

    數(shù)字信號處理實驗操作教程:3-3 mp3音頻編碼實驗(AD7606采集)

    聲道數(shù)一樣。 第五個是設置比特率控制模式,默認是CBR,但是通常我們都會設置VBR 第六個是設置CBR的比特率,只有在
    發(fā)表于 04-03 16:41

    柏恩Bourns推出全新CRF CRF系列大電流金屬條Jumper

    美國柏恩 Bourns 全球知名電源、保護和傳感解決方案電子組件領導制造供貨商,推出全新 CRF CRF 系列大電流金屬條 Jumper。
    的頭像 發(fā)表于 03-21 14:07 ?403次閱讀

    TVS二極管長時間加載Vbr電壓會不會燒毀?

    TVS二極管長時間加載Vbr電壓會不會燒毀? 當一個TVS二極管長時間加載其Vbr(反向擊穿電壓)時,不會導致燒毀。事實上,這正是TVS二極管的設計目的之一。在下面的文章中,我將詳盡闡述TVS二極管
    的頭像 發(fā)表于 02-05 18:14 ?3033次閱讀

    淺析電子負載常見的的四種工作模式

    淺析電子負載常見的的四種工作模式 電子負載是電子設備的一種,用于模擬負載并測試電源的性能。它在電子行業(yè)和電力領域有廣泛的應用。電子負載常見的四種工作模式是恒阻
    的頭像 發(fā)表于 01-22 13:43 ?2764次閱讀

    為什么監(jiān)控設備會有主碼率和子碼率之分呢?

    為什么監(jiān)控設備會有主碼率和子碼率之分呢? 監(jiān)控設備主碼率和子碼率的區(qū)分是為了滿足不同監(jiān)控場景下的需求和性能要求。主碼率和子
    的頭像 發(fā)表于 01-09 11:35 ?1133次閱讀