视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
再看RXW源碼的時候在視頻編碼結構體里有一個RC結構體,RC(rate control)到底是啥?
碼率控制技術 RC (Rate Control) 是實際視頻編碼器中一個非常重要的技術模塊。
根據實際中各種具體應用場景的不同,比如:實時 (real-time or online) 還是離線 (offline) 編碼,傳統的廣播電視 (TV broadcasting) 業務,還是互聯網上的流媒體傳輸 (streaming) 業務等。
對視頻編碼器的輸出碼率也就有了多種不同的具體要求和限制,比如:平均還是最大目標碼率,緩沖器大小,初始延時等。碼率控制就是針對各種不同應用業務場景,通過控制每幀,乃至每個編碼單元 CU (Coding Unit),編碼的量化參數 QP (Quantization Parameter),使得輸出的編碼后視頻碼率滿足各項具體限制要求,同時編碼性能,包括編碼效率和主觀質量,也盡可能地最優化。
比如我們常見的CBR (Constant Bit Rate)、VBR (Variable Bit Rate)就是碼率控制方式的其中兩種
x264中ratecontrol主要過程是;
1.根據前面已經編好的幀計算SATD值來預測當前幀的復雜度(第一幀I幀除外);
2.計算好復雜度之后,根據復雜度和線性量化控制參數(qcomp)來計算qpscale。qpscale會影響最終編碼是所用到qp。
3.根據目標碼率和之前編碼幀所用的比特數可以確定一個rate_factor,若之前編碼的比特數多與目標實際產生,則rate_factor小。
這個rate_factor是調整qpscale用的,還有overflow來對qpscale來做溢出補償處理來控制文件的大小。
4.最后根據計算公式得到qp
參考文章1:rate control
參考文章2:視頻編碼技術之碼率控制
總結
以上是生活随笔為你收集整理的视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git 重置reset,检出checko
- 下一篇: MJPEG和H.264的区别