• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            簡述x264幾種碼率控制方式的實現

            轉載自:http://blog.yikuyiku.com/?p=1901

            x264的碼率控制是基于libavcodec和經驗的。這篇文章將嘗試說明復雜的碼率控制算法背后的理論基礎。

            幾點理論:

            1、固定質量并不等價于PSNR或QP完全恒定。復雜場景或者高速場景中難以辨別的細節會被選擇性省略,以節省碼率;
            2、如果運動預測生效,將獲得更好的質量:低速場景中,1個錯誤可能擴散到好幾秒鐘中。此時如果運動預測啟用,只需要更改一個幀,就能增進整個場景的質量;
            3、如果有一個幀的一個QP的編碼結果,就可以預測這個幀其它QP編碼將消耗的空間。QP差距越大,預測越不準確;
            4、幀的重要性取決于參照它的幀的數量。因此I幀將根據最近的可被參考幀的復雜程度來調正自己的QP。用作參考幀的B幀(自由B幀)的QP高于P幀,參考的B幀的QP則介于P幀和用作參考幀的B幀之間。

            幾種碼率控制模式:

            2pass:指定目標碼率,2趟編碼
            在第1趟編碼(比如下面提到的ABR)時為每一幀生成一些統計信息,以助在第2趟編碼中時為每一幀找到最好的量化參數。第2趟編碼包含以下三部分:
            1、第2趟編碼開始之前,拿出一些空間用于在幀間靈活分配。空間大小的計算與目標碼率無關,只是一個使用恒定QP編碼的碼率的比值,一般是0.6;
            2、用(1)得出來的值和目標碼率計算每一幀要使用的QP。使用VBV是方法之一,VBV是一個迭代的過程,因為使用VBV和QP會互相影響;
            3、現在開始編碼。每編完一幀,按照還剩下的空間重新計算后面將要使用的QP,如果編碼過程中第2趟編碼的實際碼率偏離了目標碼率(因為第二趟編碼用了更慢的參數)(譯者按:也就是使用了快速第一趟編碼,所以通常是低于目標碼率),會在隨后的幀里做出變化(譯者按:通常是增大碼率)以糾正錯誤趨勢。另外,還會有個小處理,會保證我們不在視頻的開始或結束的階段遠遠偏離目標碼率。

            ABR:1趟編碼,平均碼率
            目標是達到和2趟編碼同樣的效果,但沒有第1趟編碼的幫助,所以只能一邊編碼一邊控制碼率:
            1、和2趟編碼的(1)過程一樣,但因為沒有第1趟編碼的幀信息,所以把幀縮小為一半分辨率后用一個快速預測算法和SATD(譯者按:sum of absolute transform differences絕對變換差值和)(此計算也用于P幀B幀決策)做一個預測來代替。而且也不知道后面的GOP(譯者按:圖像組)的大小和復雜度,所以I幀的決策基于之前的幀;
            2、因為不知道后面幀的復雜度,所以只根據前面的幀來測算QP。測算的因數將定為如果應用于目前所有幀則可以滿足目標比特率的數;
            3、和2趟編碼一樣有溢出補償,調節補償力度可以得到很接近2趟編碼的質量(但大小將在接近正負10%的范圍內浮動),通過這種方式可以在一定程度上控制住文件大小而又不太犧牲視頻質量。

            CBR:1趟編碼,恒定碼率(用VBV限制)
            1、同ABR;
            2、測算因子基于一個范圍內(由VBV buffer大小決定)的均值,而不是之前所有幀;
            3、溢出補償更加嚴格,而且在VBV接近0時將會強制限制QP。但在VBV沒用完時并不會強制限制QP,所以CBR的結果多少會比目標碼率低一點。還要注意的是,如果在所有機制過后,一個幀還是超出了VBV的限制,那它是不會被重新編碼的。

            CRF:1趟編碼,恒定碼率因子(譯者注:就是crf參數,crf = constant rate factor)
            1、同ABR;
            2、換算因子恒定為 –crf參數的值;
            3、沒有溢出補償。

            CQP:恒定量化參數
            QP只簡單地和幀類型相關。

            以上所有類型:
            H.264規范允許每個宏塊使用不同的QP。x264目前沒有實現這一特性,碼率控制算法只會為每一幀生成一個QP。

            翻譯自:http://git.videolan.org/?p=x264.git;a=blob_plain;f=doc/ratecontrol.txt;hb=HEAD

            posted on 2013-08-14 22:02 楊粼波 閱讀(391) 評論(0)  編輯 收藏 引用

            亚洲精品无码久久久久sm| 久久国产精品99久久久久久老狼| 久久久久国产精品三级网| 欧美久久亚洲精品| 久久久亚洲欧洲日产国码是AV| 亚洲精品无码久久千人斩| 久久精品国产清高在天天线| 久久久久国产精品| 伊人久久大香线蕉AV一区二区| 久久久国产乱子伦精品作者| 久久国产香蕉视频| 久久综合亚洲色HEZYO社区| 国产精品久久久久久久久免费| 久久久久18| 久久香蕉综合色一综合色88| 中文成人无码精品久久久不卡| 久久亚洲日韩看片无码| 国产午夜福利精品久久2021| 亚洲人成无码www久久久| 久久成人精品视频| 久久精品国产亚洲AV忘忧草18| 欧美777精品久久久久网| 99精品久久精品一区二区| 久久996热精品xxxx| 青青青青久久精品国产| 久久天堂AV综合合色蜜桃网| 久久久精品人妻一区二区三区蜜桃| 国产福利电影一区二区三区,免费久久久久久久精 | 久久综合久久伊人| 亚洲国产成人久久精品影视| 久久久久亚洲av无码专区喷水| 天堂无码久久综合东京热| 激情综合色综合久久综合| 亚洲天堂久久精品| 亚洲国产精品一区二区久久| 88久久精品无码一区二区毛片| 一本色道久久综合亚洲精品| 97精品国产97久久久久久免费 | 久久久精品日本一区二区三区 | 99久久99这里只有免费的精品| 精品久久久久久无码中文字幕一区 |