• <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>

            牽著老婆滿街逛

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

            一些x264參數(shù)以及其具體效果(掃盲用)

            轉(zhuǎn)載自:http://keyfc.laputachen.com/bbs/showtopic-52101.aspx

            寫這個沒什么目的,就是針對目前各個高清PT站所謂的高碼高參的一次闡明,詳細(xì)解釋每個參數(shù)在x264中對于壓縮率的作用。
            首先x264的參數(shù)主要分成5塊

            幀類型選項
            位元率控制
            分析
            視訊可用性資訊
            輸入/輸出

            按作用而言就是兩塊,絕對的壓縮率和碼率的有效分配。

            絕對的壓縮率部分
            me和merange和subme
            這三個參數(shù)可以說是x264優(yōu)秀于其他編碼器最重要的工具,也是很多PT喜歡做文章的地方。
            但是實際上這個在達(dá)到一定高度之后提升極為不明顯。
            例如很多組宣傳的tesa 64 11 實際相當(dāng)于umh 32 10質(zhì)量提升不超過5%。(以后沒說都是指同體積下,其他參數(shù)相同)但是時間的代價就基本上是多一倍的時間。非常沒有意義的參數(shù)。用了只能說你狠2.


            bframes和b-adapt和b-pyramid
            B幀可以說是x264壓制中壓縮率最高的幀了(具體見附錄1),所以提高B幀的壓縮率對于提高整體壓縮率很有幫助。
            bframes就是最大B幀數(shù),一般真人片再9在往上能囊括的不超過千分之5,動漫到12再往上能囊括的不超過千分之5。如果只要百分之1-2不能被囊括的話,真人片6,動畫8。
            后兩個b-adapt和b-pyramid是用來提升B幀的壓縮率的.
            b-adapt(控制x264如何決定要放置P幀或B幀)2(最佳”算法)比1(“快速”算法)可以優(yōu)秀很多,對于B幀很多的地方,效率同樣的B幀數(shù)量下可以提升至少25%的壓縮率(我使用GOSICK的NCED做測試bframes=8時間上多了25%-30%左右。)
            b-pyramid(允許B幀作為其他幀的參照幀)也是一個有效提高壓縮率的參數(shù),允許B和p參考B幀獲得更大的壓縮率。strict如果你是為了保證那種茶USB的藍(lán)光碟機(jī)能夠播放就選擇1強(qiáng)制支持標(biāo)準(zhǔn)。如果是一般高清播放機(jī)硬解就選normal,速度上影響不大(約5%左右),normal相對于strict提升也3-5%左右,性價比很高的參數(shù)。

            keyint和min-keyint
            keyint(設(shè)定x264輸出的資料流之最大IDR幀(亦稱為關(guān)鍵幀)間隔),越大表明越不會插入非場景變更的IDR幀。對于壓縮率而言就是不會插入低壓縮率的幀。所以這個是越高越安全,但是速度也會因此出現(xiàn)下降(開啟infinite約比默認(rèn)的250下降10%)。一般而言的話480-720左右就夠了,除非你和我一樣的EP。
            min-keyint顧名思義是設(shè)定IDR幀之間的最小長度。這個參數(shù)我的意思是必須設(shè)置為1最好,不是說1可以提高壓縮率什么的,而是很多商業(yè)解碼器(FLASH,TMT,POWERDVD等等)解碼的時候?qū)τ诜?反而會出錯,主要是跳到某個地方的時候會出現(xiàn)某幾幀花屏的BUG。

            ref和weightp和no-mixed-refs
            ref:此值是每個P幀可以使用先前多少幀作為參照幀的數(shù)目,唯一一個影響X264級別的參數(shù),如果要符合DXVA硬解碼標(biāo)準(zhǔn)(lv4.1及以下)1080p不能超過4,720p不能超過9,如果要符合DXVA2硬解碼標(biāo)準(zhǔn)(lv5.1及以下),1080p下隨意,4K下不超過5。這個對速度的影響很大,但是相應(yīng)參數(shù)高在有效范圍內(nèi)效率也很高。
            weightp:這個是優(yōu)化參考方法的,2(分析淡入/淡出和重復(fù)參照幀)相對于1(分析淡入/淡出,但不分析重復(fù)參照幀)在b-pyramid=2的時候很有優(yōu)勢,幀直接的來回參考可以大幅有效的提升壓縮率。
            no-mixed-refs這個如果關(guān)閉會以每個8x8分割為基礎(chǔ)來選取參照,而不是以每個宏區(qū)塊為基礎(chǔ),明顯是降低效率的參數(shù),而且關(guān)閉這個速度也不會提高多少。

            no-chroma-me和no-fast-pskip和no-dct-decimate。
            第一個是提高速度降低質(zhì)量的,性價比很低,基本是提升了3%的速度換到了3%以上的質(zhì)量下降,最好不要用。
            后兩個是提升質(zhì)量降低速度的一般而言是提升1%左右的質(zhì)量降低5%左右的速度。

            碼率分配

            這個的作用和有效性遠(yuǎn)比提高壓縮率重要。比如你有一斤飯,你分給吃飽的人吃8兩,給餓的人吃2兩,最后是吃飽的人吃撐了,餓的人絲毫沒有吃飽。我們這里管這分給吃飽的人吃的8兩叫做垃圾碼率,這餓的人絲毫沒有吃飽叫做局部欠碼。可以看出,如果分配好,就可以讓飽的人吃的盡量少,餓的人吃的盡量多,這樣便是提高了碼率的有效分配,作用是十分明顯的。而且最重要的是這些都沒有之前提高壓縮率的參數(shù)耗時間。

            參數(shù)并不多,但是用好他們你可以靈活有效的分配碼率,甚至可以使自己12GB的看上去一點不比15GB的壓制差

            mbtree
            使用宏區(qū)塊樹位元率控制會改善整體壓縮率,借由追蹤跨幀的時間傳播(temporal propagation)并相應(yīng)地加權(quán)。這個參數(shù)說白了就是把那些人眼認(rèn)為不重要的地方少分配碼率,人眼認(rèn)為重要的地方多分配碼率。不過這參數(shù)在CRF過低的時候(例如低于CRF17)后會看到優(yōu)勢遠(yuǎn)遠(yuǎn)不如副作用。不過一般壓制沒必要到那么低,個人是強(qiáng)烈建議開啟。當(dāng)然這個參數(shù)的副作用如果不做抑制也會很明顯,例如出現(xiàn)那種給餓的人吃2兩這樣嚴(yán)重不足的情況,主要表現(xiàn)就是對于線條會毀的很厲害。

            qcomp
            這個當(dāng)mbtree啟用時,它會影響mbtree的強(qiáng)度(qcomp越大,mbtree越弱)。 預(yù)設(shè)的0.6還是會讓MBTREE的副作用大于正作用,一般設(shè)置到0.75-0.8比較好,這樣mbtree會處于一個分配較好的范圍內(nèi)。
            如果你是no-mbtree,你就直接用默認(rèn)好了。

            psy-rd
            這個是視覺最佳化的優(yōu)化,但是不是意味著這個就表示越高越好。過高只會讓原盤的顏色變得詭異,甚至因為調(diào)色而毀掉不少細(xì)節(jié)。
            第一個數(shù)是Psy-RDO的強(qiáng)度,用于在量化的時候顏色更偏向人的喜好,默認(rèn)1.0偏高,建議設(shè)置為0.6左右最好。第二個數(shù)是Psy-Trellis的強(qiáng)度用于增加平面的碼率分配,是很好的抑制mbtree副作用的參數(shù)。設(shè)定0.15-0.18比較好。

            aq-mode和aq-strength
            沒有AQ時,x264很容易分配不足的碼率到細(xì)節(jié)較少的部分,而AQ的部分就是修正這個

            aq-mode
            1:允許AQ重新分配,最穩(wěn)定但是效率最低的AQ。 
            2:自動變化(Auto-variance)AQ,會嘗試對每幀調(diào)整強(qiáng)度。不穩(wěn)定,很容易出現(xiàn)平面區(qū)域欠碼的問題,適合對于那種沒有噪點,畫面很干凈的片子使用。
            3(tmod專用):2的優(yōu)化版本,修正了平面區(qū)域欠碼的問題,個人認(rèn)為可以替代AQ1。
            4(tmod專用):一個針對真人優(yōu)化的模式,整體上更多是在平面達(dá)到一定量化之后把冗余的碼率分配到高動態(tài)場景上,對于abr較好,對于crf不如3效率高。
            mixaq:(aq+aq2,tmod的8bit mix aq版本專用):用于進(jìn)一步修正平面碼率分配問題,一般設(shè)置--aq2-strength 0.6 --aq2-sensitivity 16這樣。
            oreaq(tmod專用):這個用的好就是神器用不好會出各種問題,對于AQ的分配采用對于不同的亮度分配不同的量化值,對于不同的片子要進(jìn)行不同的預(yù)設(shè)值,需要反復(fù)調(diào)試才能獲得比較好的效果,所以一般不要去用
            aq-strength:設(shè)定AQ偏向低細(xì)節(jié)(平滑)的宏區(qū)塊之強(qiáng)度。對于不同的AQ要用不同的參數(shù)
            幾個簡單例子
            對于動畫(不很干凈的):--aq-mode 3  --aq-strength 0.8
            對于真人不做降噪:--aq-mode 3  --aq-strength 0.6
            對于真人做降噪或者對于動畫干凈的:--aq-mode 2  --aq-strength 1.1

            fade-compensate 
            這個是壓制8bit的時候用的,10bit就不要動這個了,一般設(shè)置為0.24-0.32左右比較好,一定程度上保護(hù)那些漸變場景不會出banding。

            fgo(tmod專用)
            這個是用于壓制的時候保留噪點,用于壓制的時候更多的碼率分配到噪點下的細(xì)節(jié)上,對于8bit輸入壓制沒有什么噪點的片源一般沒什么必要用。對于16bit做了dither的用于保留dither噪點,可以用這個保留dither噪點。


























            附錄1:
            采用的壓縮方法: 分組:把幾幀圖像分為一組(GOP),為防止運(yùn)動變化,幀數(shù)不宜取多。
            1.定義幀:將每組內(nèi)各幀圖像定義為三種類型,即I幀、B幀和P幀;
            2.預(yù)測幀:以I幀做為基礎(chǔ)幀,以I幀預(yù)測P幀,再由I幀和P幀預(yù)測B幀;
            3.數(shù)據(jù)傳輸:最后將I幀數(shù)據(jù)與預(yù)測的差值信息進(jìn)行存儲和傳輸。

            I幀:幀內(nèi)編碼幀
            I幀特點:
            1.它是一個全幀壓縮編碼幀。它將全幀圖像信息進(jìn)行JPEG壓縮編碼及傳輸;
            2.解碼時僅用I幀的數(shù)據(jù)就可重構(gòu)完整圖像;
            3.I幀描述了圖像背景和運(yùn)動主體的詳情;
            4.I幀不需要參考其他畫面而生成;
            5.I幀是P幀和B幀的參考幀(其質(zhì)量直接影響到同組中以后各幀的質(zhì)量);
            6.I幀是幀組GOP的基礎(chǔ)幀(第一幀),在一組中只有一個I幀;
            7.I幀不需要考慮運(yùn)動矢量;
            8.I幀所占數(shù)據(jù)的信息量比較大。

            P幀:前向預(yù)測編碼幀。
            P幀的預(yù)測與重構(gòu):P幀是以I幀為參考幀,在I幀中找出P幀“某點”的預(yù)測值和運(yùn)動矢量,取預(yù)測差值和運(yùn)動矢量一起傳送。在接收端根據(jù)運(yùn)動矢量從I幀中找出P幀“某點”的預(yù)測值并與差值相加以得到P幀“某點”樣值,從而可得到完整的P幀。
            P幀特點:
            1.P幀是I幀后面相隔1~2幀的編碼幀;
            2.P幀采用運(yùn)動補(bǔ)償?shù)姆椒▊魉退c前面的I或P幀的差值及運(yùn)動矢量(預(yù)測誤差);
            3.解碼時必須將I幀中的預(yù)測值與預(yù)測誤差求和后才能重構(gòu)完整的P幀圖像;
            4.P幀屬于前向預(yù)測的幀間編碼。它只參考前面最靠近它的I幀或P幀;
            5.P幀可以是其后面P幀的參考幀,也可以是其前后的B幀的參考幀;
            6.由于P幀是參考幀,它可能造成解碼錯誤的擴(kuò)散;
            7.由于是差值傳送,P幀的壓縮比較高。

            B幀:雙向預(yù)測內(nèi)插編碼幀。
            B幀的預(yù)測與重構(gòu)
            B幀以前面的I或P幀和后面的P幀為參考幀,“找出”B幀“某點”的預(yù)測值和兩個運(yùn)動矢量,并取預(yù)測差值和運(yùn)動矢量傳送。接收端根據(jù)運(yùn)動矢量在兩個參考幀中“找出(算出)”預(yù)測值并與差值求和,得到B幀“某點”樣值,從而可得到完整的B幀。
            B幀特點
            1.B幀是由前面的I或P幀和后面的P幀來進(jìn)行預(yù)測的;
            2.B幀傳送的是它與前面的I或P幀和后面的P幀之間的預(yù)測誤差及運(yùn)動矢量;
            3.B幀是雙向預(yù)測編碼幀;
            4.B幀壓縮比最高,因為它只反映丙參考幀間運(yùn)動主體的變化情況,預(yù)測比較準(zhǔn)確;
            5.B幀不是參考幀,不會造成解碼錯誤的擴(kuò)散。

            posted on 2013-01-30 15:16 楊粼波 閱讀(6268) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲伊人久久大香线蕉苏妲己| 久久精品国产精品青草| 亚洲精品乱码久久久久久蜜桃 | 欧美精品国产综合久久| 久久精品国产第一区二区| 久久久久波多野结衣高潮| 99re这里只有精品热久久| 久久亚洲视频| 久久不射电影网| 亚洲午夜精品久久久久久浪潮| 久久er99热精品一区二区| 久久毛片免费看一区二区三区| 久久亚洲精品国产精品| 久久亚洲国产精品五月天婷| 99久久无码一区人妻a黑| 午夜精品久久久久| 99久久99久久精品国产| 色狠狠久久AV五月综合| 久久婷婷色香五月综合激情| 久久亚洲欧美日本精品| 久久青青草原亚洲av无码app| 中文成人久久久久影院免费观看| 久久国产精品一区二区| 乱亲女H秽乱长久久久| 久久久国产视频| 亚洲欧洲精品成人久久曰影片| 91精品国产91久久久久久| 国产精品天天影视久久综合网| 久久人做人爽一区二区三区 | 久久久久久精品无码人妻| 欧美日韩成人精品久久久免费看 | 久久精品国产亚洲AV无码娇色| 三级三级久久三级久久| 亚洲国产天堂久久综合| 日日狠狠久久偷偷色综合96蜜桃| 久久久久久久综合日本亚洲| 狠狠干狠狠久久| 久久美女人爽女人爽| 一本久久久久久久| 国产精品伊人久久伊人电影| 国产精品久久久久一区二区三区|