導航:首頁 > 源碼編譯 > 失真比怎麼演算法

失真比怎麼演算法

發布時間:2024-10-15 08:03:29

A. HEVC基礎知識講解(1)-LCU 模式選擇過程分析(CTU的深度選擇及CU的分割)

1.率失真代價計算模型
HEVC 的最大編碼單元為 LCU,即 64×64 的 CU(認為是數據單元,也就是編碼單元);
下面就需要對LCU進行CU的劃分;步驟如下:
1、對一個 LCU 選擇最佳 CU編碼深度,需要遍歷所有 64×64 到 8×8 的分割,一共 85 個 CU,通過計算率失真代價選擇此 LCU 的最佳分割方式。
PS:首先先看這一步,一個LCU = 1個64CU+4個32CU+16個16CU+64個8CU = 1+4+16+64 = 85;
然後有一個問題,我們為什麼在cu劃分的時候,最小是8x8,而不是4x4?
因為我們劃分LCU也只是第一步,因為後面還要去看PU的劃分以及TU的劃分;因為PU和TU得到劃分都是要基於CU來進行;後面會分析到PU和TU的劃分;這里我們要明白的是,因為PU和TU的劃分,所以CU只能最小到8x8(!!!!CU最小的劃分單元就是8x8,切記!!!!);

2、對於每一個 CU,遍歷幀內和幀間所有可選的預測模式,根據率失真代價選擇最佳 PU(預測單元,做像素值的預測) 預測模式。
PS:PU有8種模式;它是針對於CU來進行劃分的,而且針對於不同的預測模式(skip,幀間,幀內),劃分的方式是不一樣的;如下:

3、對於每一種 PU 預測模式,TU的分割方式由當前 CU 的大小、PU 的預測模式以及最大 TU 分割深度等因素決定,選擇過程也需要計算率失真代價。
PS:TU的分割是與PU無關的,可以跨越多個PU的界限,也可以不跨越;還是依賴於的是CU的劃分

可以看出,在 HEVC 編碼過程中,任何一個劃分方式或預測模式的選擇,都需要計算率失真代價, HM 的編碼器中,率失真代價的計算模型有以下兩種:
1、非 RDO 模型
非 RDO 模型可用於幀內預測、運動估計、最佳 MVP 的選擇 及 merge 模式中最佳運動參數集的選擇等。
2、RDO 模型

所有有關分割方式的選擇都採用 RDO 模型計算率失真代價。

當 LCU 的大小為 64×64,最大編碼深度為 3,則 LCU 編碼深度的選擇過程可如下圖表示。

第一步,如圖 a),對大小為 64×64 深度為 0 的編碼單元 a 遍歷所有幀間和幀內預測模式,得到深度為 0 時的最優預測模式和率失真代價 Ra。

第二步,如圖 b),對 a 進行一次 CU 劃分,得到四個子 CU:b0,b1,b2,b3,此時編碼深度為 1,並對編碼單元 b0 遍歷所有幀間和幀內預測模式,得到 b0的最優預測方式和率失真代價 Rb0。

第三步,如圖 c),對 b0 進行進一步的 CU 劃分,得到四個子 CU:c0,c1,c2 和 c3,此時編碼深度為 2,並對編碼單元 c0 遍歷所有可能的預測模式,得到 c0的最優預測模式和率失真代價 Rc0。

第四步,如圖 d),對 c0 做進一步 CU 劃分,得到四個子 CU:d0,d1,d2和 d3,此時編碼深度為 3,已達到最大編碼深度,不能再進行 CU 劃分。依次對d0、d1、d2 和 d3 進行預測模式選擇,得到各自對應的最優預測方式和率失真代價Rd0、Rd1、Rd2以及 Rd3,計算四個 CU 的率失真代價之和,並與 Rc0進行比較,選擇較小的值作為 c0 的最優率失真代價(記為 Min-Rc0),其對應的預測方式以及分割方式即為 c0 的最優預測方式和分割方式。

第五步,仿照第四步,依次對 c1、c2 和 c3 進行劃分與預測模式選擇,分別得到各自對應的最優預測方式和率失真代價 Min-Rc1、Min-Rc2、Min-Rc3,並計算當前編碼深度的四個 CU 的率失真代價之和,與 Rb0比較,得到較小的率失真代價(記為 Min-Rb0),其所對應的預測模式以及分割方式即為 b0 的最優預測模式和分割方式。

第六步,仿照第二步到第五步,依次對 b1、b2 和 b3 進行劃分與預測模式選擇,分別得到各自對應的最優預測方式和率失真代價 Min-Rb1、Min-Rb2、Min-Rb3,計並計算當前編碼深度的四個 CU 的率失真代價之和,並與 Ra 比較,得到較小的率失真代價(記為 Min-Ra),找出該 LCU 的最佳劃分方式以及最優預測模式。

在 LCU 的最佳劃分方式的選擇過程中,對於每一個編碼深度的 CU,做 PU 預測模式選擇,一個大小為 2N×2N 的 CU,PU 幀間預測模式有 skip、2N×2N、2N×N、N×2N、N×N、2N×nU、2N×nD、nL×2N 以及 nR×2N。
1)其中 skip 模式對應的 CU劃分方式為 2N×2N;
2)幀內模式 PU 的大小可以為 2N×2N 或 N×N,N×N 只能適用於深度為最大編碼深度(8x8)的 CU。
3)幀間預測模式有八種,後四種模式統稱為 AMP 模式,AMP 模式可以根據需要在參數配置中直接關閉。在 AMP 模式打開的情況下,這四種模式的選擇與前面的選擇結果相關。對於每一個 PU,共有 35 種幀內預測模式。

PU 的模式選擇過程如圖 3.3 所示:
第一步,計算 skip 模式的率失真代價,skip 模式運用到了 HEVC 中的新引入的運動合並技術。運用運動參數候選列表中的每個運動參數集找到預測塊,與原始塊做差值並進行變換,量化和熵編碼。最後用編碼的比特數和重構塊以及原始塊的失真計算出率失真代價,找到最佳的 merge-index。

第二步,計算 2N×2N 模式的率失真代價,首先運用 AMVP 技術得到 MVP 列表;然後運用非 RDO 方法計算率失真代價得到最佳 MVP;最後做運動搜索,找到預測塊,與原始塊做差值並進行變換、量化和熵編碼,運用編碼比特數以及重構塊和原始塊的 SSD 計算出率失真代價。與 skip 模式的率失真代價進行比較,在skip 和 2N×2N 中找出最佳 PU 模式。

第三步,計算 2N×N 和 N×2N 模式的率失真代價,首先運用 AMVP 技術,找到最佳 MVP 並作運動搜索找到預測塊;然後運用運動合並技術技術,得到最佳merge-index 對應的率失真代價,根據率失真代價確定最佳預測模式;最後對最佳模式得到的殘差做變換量化和熵編碼運用RDO計算出當前PU模式的率失真代價,並與第二步得到的最佳 PU 模式的率失真代價做比較,得到最佳 PU 模式。

第四步,計算 AMP 模式的率失真代價,AMP 模式包括四種分割方式,但是為了減我碼復雜度,編碼過程中並沒有遍歷所有的模式,而是根據前三步選出的最佳PU模式以及上一層的CU的最佳分割模式以及預測模式選擇部分做模式判決。具體選擇如下表:

第五步,幀內預測模式選擇,對於 I_SLICE 或非 I_SLICE 中需要編碼的量化系數不全為 0 的 CU,需要做幀內預測的分割方式和幀內預測模式選擇,選擇過程如下:
1、預測單元 PU 大小與 CU 大小一致為 2N×2N,用非 RDO 模型計算率失真代價,從 35 種幀內預測模式中找到率失真代價較小的 n 中預測模式作為候選模式,n 的大小與 PU 的大小相關,如表 3-2 所示。
2、將當前 PU 上側和左側相鄰 PU 採用的幀內預測模式,即當前 PU 最有可能的預測模式(MPM)加入到該步驟的候選模式中,此時候選模式 k 最多為(n+2)。
3、運用 RDO 模型計算率失真代價在 k 種最佳候選模式中選出最佳亮度的幀內預測模式。
4、根據亮度的幀內預測模式選擇結果,做色度的幀內預測模式選擇。
5、如果當前編碼單元的編碼深度為最大編碼深度,將當前編碼單元分為 4 個N×N 的 PU,對於每一個 PU 重復 1~4 步,找到每一個 PU 的最佳幀內預測模式以及最佳預測模式對應的率失真代價。
6、根據前幾步得到率失真代價的值,決定當前 CU 的最佳劃分方式及幀內預測模式。

第六步,計算 PCM 模式的率失真代價。

由上述描述可知,對於一個 LCU 想要得到最佳 CU 劃分方式,需要遍歷其所有的 CU,對每個 CU 還需要遍歷各種預測模式,得到其最小的率失真代價。為加快編碼速度,模式選擇過程的優化可從 CU 編碼深度的選擇,PU 模式選擇和 TU分割方式的選擇三個方面進行研究和分析。因為 PU 模式選擇和 TU 分割方式選擇都是為了計算當前深度下,編碼 CU 的率失真代價,減少 CU 遍歷的次數,同時也減少了 PU 模式選擇的次數和 TU 分割方式選擇的次數。因此,基於 CU 編碼深度選擇過程做演算法優化是最有效的。

B. 我配了副框架眼鏡看東西失真

1、由於隱形眼鏡緊貼眼球而框架眼鏡遠離眼球,所以成像情況有所區別。同時鏡片度數也要改變。具體的演算法你可以網路一下。我在回答別人的問題時提到過怎麼換算。在此就不羅嗦了。
2、一般情況下,戴隱形眼鏡看東西,東西會比戴框架眼鏡看到的東西略大。同時,隱形眼鏡的失真更小,也就是說,隱形眼鏡看東西更真實。
3、由於隱形眼鏡鏡片和角膜之間有淚液存在,淚液形成的膜可以有效地填補眼球不規則帶來的部分散光,所以通常情況下,戴隱形眼鏡看東西會比較清楚些。
4、現在樹脂鏡片通常是1.499,1.56,1.6,1.67,1.74這幾種折射率,沒有1.27這種折射率的。多半是你看錯了。
5、鏡片材料有一個光學參數叫阿貝數(也有叫色散系數的),描述的是白光經過三棱鏡分成各色光的分散角度。阿貝數越大,這個角度越小,看東西越清楚,也越看不出邊緣的各色光分散效果。一般情況下,折射率越高,阿貝數越小。如果阿貝數在32左右(如PC)眼鏡超過-5.50D,大多數人就會看見物體邊緣有彩色的紋。尤其是夜晚看街上的大屏幕廣告或者紅綠燈時,尤其明顯。當然,這種情況和個人的實際情況有關。有的人可能敏感,有的人可能沒那麼敏感。

所以,你剛換,是有一段適應時間的。
如果較長時間還是不能適應,那麼你要考慮是不是度數不太合適,或者換一種阿貝數大一點的鏡片。

C. 什麼是圖片失真

圖片失真,簡單來說,是指在圖片轉存過程中,由於圖像信息的丟失導致的視覺質量下降現象。當我們將圖像如GIF格式(一種以8位顏色或256色存儲單個光柵圖像的格式)進行壓縮時,比如使用LZW壓縮演算法,可能會犧牲部分圖像細節,壓縮比大約為3:1。GIF格式僅支持256色調色板,這就意味著高解析度的圖片或寫實攝影作品在轉換過程中可能會丟失豐富的顏色信息,使得圖片看起來像是經過了色彩簡化或失真處理。這種色彩損失是圖片失真現象的一個典型表現。

閱讀全文

與失真比怎麼演算法相關的資料

熱點內容
java編程的三個步驟 瀏覽:772
s點b點主圖源碼 瀏覽:434
電腦可以刪除的臨時文件夾 瀏覽:7
小杜app上怎麼啟用 瀏覽:305
為什麼伺服器喇叭喊了一次就不行 瀏覽:480
phpdbo驅動 瀏覽:255
程序員尋找轉行建議 瀏覽:632
psgrepjava 瀏覽:415
夢幻誅仙12職業變態源碼 瀏覽:370
汽車的控制是怎麼編程的 瀏覽:686
穩定的ip地址伺服器 瀏覽:641
python多線程編程教程 瀏覽:252
筆記本編程電腦排行榜 瀏覽:32
微信好友緩存文件在哪個文件夾 瀏覽:614
javafloat小數點後兩位小數 瀏覽:166
澳門pdf 瀏覽:409
es解壓文件默認路徑 瀏覽:833
jar命令war包 瀏覽:121
福州交警app預約在哪裡簽字確認 瀏覽:623
android各版本sdk異同 瀏覽:726