openh264碼控筆記一(整體框架)

2021-08-31 09:30:03 字數 1322 閱讀 1773

計算碼控時會用到如下的一些引數:

sad (sum of absolute difference)=sae(sum of absolute error)絕對誤差和

satd(sum of absolute transformed difference)即hadamard變換後再絕對值求和

ssd (sum of squared  difference)=sse(sum of squared error) 差值的平方和

mad (mean absolute   difference)=mae(mean absolute error)  平均絕對差值

msd (mean squared    difference)=mse(mean squared error)   平均平方誤差

sad絕對誤差和,僅反映殘差時域差異,影響psnr值,不能有效反映碼流的大小。satd將殘差經哈德曼變換的4×4塊的**殘差絕對值總和,可以將其看作簡單的時頻變換,其值在一定程度上可以反映生成碼流的大小。因此,不用率失真最優化時,可將其作為模式選擇的依據。一般幀內要對所有的模式進行檢測,幀內**選用satd的原因同上。

在做運動估計時,一般而言,離最優匹配點越遠,匹配誤差值sad越大,這就是有名的單一平面假設,現有的運動估計快速演算法大都利用該特性。但是,轉換後satd值並不滿足該條件,如果在整象素中運用satd搜尋,容易陷入區域性最優點。而在亞象素中,待搜尋點不多,各點處的sad差異相對不大,可以用satd選擇碼流較少的匹配位置。

rdo(rate–distortion optimization)率失真優化,用來確定編碼模式,保證位元速率位元數和影象失真的最佳權衡點。

welsrcinitfuncpointers函式初始化各種碼控模式下的鉤子函式。

openH264引數總結

在基於webrtc專案中用到了openh264編碼器,在實際應用中對編碼器的關鍵引數優化給出一些總結和建議 1.ircmode 位元速率控制模式 建議該引數設定為1 ircmode 1 2.itemporallayernum 時域svc 的層數openh264原始碼中在filldefault sen...

openh264碼控筆記二(幀級QP的計算)

以下都是rc bitrate mode模式的處理流程。openh264用的碼控用的是r q模型,使用歷史幀的平均qp sad 幀長,來 當前幀的qp。計算公式如下 qstep intracomplexity cmplxratio targetbits 100 intracomplexity引數根據上...

H 264碼流結構

a 對照 h.263 的碼流結構 h.263 定義的碼流結構是分級結構,共四層。自上而下分別為 影象層 picture layer 塊組層 gob layer 巨集塊層 macroblock layer 和塊層 block layer psctr ptype pquant cpmpsbi trbdb...