1. 程式人生 > >幀內/幀間預測要點

幀內/幀間預測要點

問題1:幀內/幀間預測的目的是什麼?

幀內/幀間預測是利用畫素之間的相關性來去除空間冗餘和時間冗餘。手段是為當前編碼塊構造儘可能準確的預測塊,從而得到能量較小的殘差塊。目的是能量較小的殘差塊可以減少傳輸位元。

問題2: 除了預測殘差外,幀內預測還需要傳輸哪些資訊? 預測模式資訊。在解碼端,根據“預測模式資訊”可以構造出預測塊,加碼流中傳輸來的預測殘差即可得到重建影象。 問題3:幀間預測除了預測殘差外,還需要傳輸哪些資訊? 參考影象索引 + 運動向量。 告訴解碼端從哪幅參考影象的哪個位置去找預測塊,找到後加預測殘差即可得到重建影象。 問題4: 編碼端的模式選擇是在做什麼工作? 通過率失真優化選擇最優模式。
比如一個16x16的塊,可以有多種預測模式,產生相應殘差,產生相應的預測資訊。 需要傳輸的資訊(殘差,預測資訊)是要產生位元R, 殘差經過量化反量化會產生失真D, 最後通過J=D+lamada*R 選擇各種預測模式中哪個是最優的。 問題5: FVC在幀內和幀間預測上可做的演算法有哪些? 幀內預測: 65種方向 4插值濾波器 邊緣濾波器應用到了除水平和垂直的別的方向 跨元件線性模型CCLM預測 位置相關的幀內預測結合PDPC 自適應參考樣本平滑處理 幀間預測: Sub-PU水平運動向量預測 本地自適應運動向量解析度AMVR 1/16畫素運動向量的儲存精度 重疊塊運動補償OBMC 本地光照補償LIC
仿射運動預測 模式匹配的運動向量推導 雙向光流BIO 這些演算法的目的就是儘可能的構造準確的預測塊