HEVC率失真優化量化硬體實現策略

2021-09-17 22:23:59 字數 1682 閱讀 4291

hevc率失真優化量化硬體實現

1.基於硬體實現的率失真優化量化
位元速率控制是實現量化控制的乙個重要模組,它確定乙個模組的量化步長,在特定編碼失真約束下控制編碼輸出位元速率。確定量化引數後,就考慮如何量化。通過hdq給出量化結果,然後考慮係數間的資料依賴,同時考慮編碼位元速率消耗和編碼失真,實現係數級精細量化,從而實現sdq演算法的率失真優化。

對於sdq 的網格搜尋,這裡採用維特比演算法。它主要包含三個功能單元:分支度量單元(bmu),加-比-菜單元(acs),倖存路徑儲存器單元(smu)。bmu計算不同hdq候選值情況下,所有可能分支的率失真編碼代價。acs計算各個路徑度量,即全路徑的編碼代價累計和,然後通過比較將最小度量路徑保留下來。smu管理倖存路徑相關資料。bmu和smu單元中僅包含前向計算,不存在係數間的資料依賴和等待;而acs單元是乙個遞迴結構,它的計算依賴於臨近階的結果。這種資料依賴是實現硬體設計的主要障礙:

(1)在sdq 全網格搜尋中,遍歷所有候選路徑檢查所有候選量化值,需消耗大量計算量,造成巨大吞吐壓力;

(2)cabac固有的資料依賴和高度序列資料處理過程使得編碼位元速率計算非常困難;

(3)cabac上下文選擇和更新帶來嚴重的資料依賴。這些依賴不利於硬體並行處理和流水線處理。

為解決資料依賴和吞吐效率的問題,應該從塊內係數(階)個數m和每個階需檢查的候選量化值個數n考慮。減少n和m,可有效加快acs處理和去除係數間的序列依賴,提高系統吞吐效能。rdoq作為簡化的sdq,它通過搜尋區域性路徑代替完整網格,且每個係數僅檢查三個可能候選量化結果u,u-1,0。

2.相比於全網格搜尋,nmax=3僅產生非常小的rd效能損失,所以可以假設網格搜尋允許的最大階數,即最大非零係數個數nmax=3。

(1)計算所有係數hdq量化值ui,估計失真δd(ui),統計所有非零係數的個數nz_last,標記非零係數索引i和掃瞄位置j。

(2)如果nz_last<=nmax,則不進行預選,直接進入第5步對所有非零係數進行網格搜尋。

(3)對非零係數順序掃瞄,i從nz_last到1降序排列,依次估計非零係數發生變化時對應的率失真代價變化δj(ui),若需要,通過查表計算相應的位元速率,估計δr(ui)。

(4)掃瞄非零係數,根據δj(ui,ui-1),thunchange和thchange做出預判。用s(ui)=0或1來表示當前非零係數預判為「不安全」或「安全」;用c(ui)=0或1來表示當前非零係數hdq結果ui是否改變為ui-1。統計「不安全」係數的個數nunsafe(i),後面僅對「不安全」係數進行搜尋。

若nunsafe(i)>=nmax,跳過下面判斷,讓所有非零係數的s(ui)=0,即都設為不安全。

(5)根據s(ui)和c(ui)建立動態網格(根據「不安全」非零係數hdq輸出幅度和「安全」係數組合來描述動態網格結構),並進行動態網格維特比搜尋。通過對非零係數進行網格搜尋,檢查這些係數的量化幅度,通過判斷δj(ui)是否大於0決定是否需要將u改為u-1或0。若大於0,則u應改為u-1或0。

注:1.(1)~(4)對映為乙個硬體流水線級,即預判階段。預判只針對hdq結果ui不大於2的非零係數,大於2 和等於0的係數不參與預判。

2.閾值thunchange和thchange由正確和錯誤判決的概率確定。例如這裡可設為2.5%。當錯誤判斷概率較小情況下,通過(i,qp)不同組合獲得thunchange和thchange 。對於塊內掃瞄靠前的係數,th=k*qp+b,不同i時具有不同的斜率k和截距b;對於靠後的係數,取固定閾值。

HEVC率失真優化

基於率失真理論的編碼引數優化方法就是率失真優化。其目的是權衡位元速率與失真,為編碼器選擇最優引數。實際應用中,常採用平均誤差 sse 均方誤差 mse 絕對誤差和 sad 以及峰值訊雜比 psnr 等客觀質量評估標準作為失真測度。假設d為失真,r為位元速率,率失真優化可以轉化為乙個拉格朗日優化問題 ...

HEVC原理 率失真優化

二 編碼器的率失真優化的工作主要是按照某種策略選取最優的編碼引數,以實現最優的編碼效能 三 率失真函式rd 是在假定信源在給定的情況下,在使用者可以容忍的失真度內再現資料訊息所必需獲得的最小平均互信資訊,直白一點說,就是在允許的失真內,資料可以壓縮的極限!我們對資料的壓縮不能超過這個極限,否則,資料...

h 264 率失真優化

搜尋時,乙個不可避免的問題就是如何對mv進行比較,從而得到最優 對於同一壓縮演算法來說,位元速率越高表示影象質量越好 失真越小,但是位元速率越高要求更大的儲存空間,也會增加網路傳輸的壓力。因此在位元速率與失真中找出平衡點,使壓縮效果最優,這種方法叫做r d optimization 位元速率失真優化...