原创 VVC學習之五:幀內預測——幀內參考像素濾波xFilterReferenceSamples()

幀內預測過程,獲取預測參考樣點之後,需要判斷當前單元是否滿足參考樣本濾波條件。如滿足,則需要對參考樣本進行 [1,2,1]的平滑濾波。 不需要進行平滑濾波的情況: sps中規定關閉幀內參考樣本平滑 幀內色度信號預測不需要濾波 幀

原创 VVC學習之五:VTM幀內預測之亮度預測——estIntraPredLumaQT()詳解

前一章講解了VTM幀內預測的主要大致框架,接下來主要學習VTM中相關技術的代碼實現。首先,是亮度分量進行幀內預測的入口函數estIntraPredLumaQT(),這個函數描述了亮度幀內預測的主要流程,包括參考樣本生成,多行預測,

原创 VVC學習之五:幀內預測——67個模式預測信號生成 predIntraAng()

文章目錄簡介predIntraAng()xPredIntraDc()xPredIntraPlanar()xPredIntraAng() 簡介 幀內共有67種預測模式,包括 65種角度+DC+Planar 模式,VTM中調用pred

原创 VVC學習之五:VTM幀內預測之色度預測——estIntraPredChromaQT()

文章目錄色度預測過程回顧estIntraPredChromaQT()代碼學習 色度預測過程回顧 VTM中色度預測一共測試8種模式,其順序爲爲PLANAR,VER, HOR,DC,LM_CHROMA,MDLM_L,MDLM_T,DM

原创 VTM中的編碼單元信息擴展:CU信息的可視化分析和統計分析

文章目錄編碼單元統計信息擴展使用方法塊統計信息文件格式可視化 編碼單元統計信息擴展 VTM中的塊統計擴展支持對編碼比特流中的編碼工具使用情況進行直觀的可視化和統計分析。該擴展使得參考軟件的編碼器和解碼器能夠以可配置的方式將統計信息

原创 VVC學習之二:VTM中CU劃分結構QTMTT(2)

上次說了VTM中QTMTT劃分的理論部分,這次準備結合代碼理解,VTM完全就是C++的代碼風格,由於水平有限,應該會有很多理解不到位的地方,還請大佬批評指正,歡迎交流。不同於HEVC,VTM中將CU劃分方式也當做編碼模式進行處理。

原创 VVC幀內預測補充:矩陣加權幀內預測(Matrix Weighted Intra Prediction, MIP)

文章目錄1.矩陣加權幀內預測(MIP)1.1 參考像素預處理:平均1.2 矩陣加權預測:仿射變換1.3 上採樣1.4 MIP模式和預測模式傳輸2. 預測過程示例 本博客追蹤VTM-5.0中對幀內預測的改進。在VTM-5.0中,主要

原创 VVC學習之五:幀內預測——參考像素獲取 initIntraPatternChType() xFillReferenceSamples()

幀內預測之前,首先要獲取幀內預測參考像素,VTM獲取幀內參考像素的函數initIntraPatternChType(),分成兩個步驟,首先獲取參考像素,然後對參考像素進行濾波(可選,由參數 bFilterRefSamples 決定

原创 VVC學習之五:VTM幀內預測工具詳解

文章目錄簡介1. 擴展角度幀內模式1.1 MPM構建和模式編碼1.2 幀內廣角預測(WAIP)1.3 基於模式的參考樣本平滑(MDIS)2. 跨分量線性模型預測(CCLM)3. 位置自適應幀內聯合預測(PDPC)4. 多行預測模式

原创 VVC學習之五:幀內預測之色度預測——CCLM及代碼學習

文章目錄1. CCLM跨分量線性預測簡介2. CCLM預測步驟3. 亮度重建參考像素獲取4. CCLM信號預測 關於VVC的幀內預測,也寫了好久了,這應該是色度預測的最後一個部分,第一次寫博客,感覺沒有想象中輕鬆。 1. CCLM

原创 VTM碼率控制——代碼學習二

文章目錄碼率控制的各級初始化函數碼率控制模塊初始化GOP碼率控制初始化幀級碼率控制初始化 碼率控制的各級初始化函數 碼率控制模塊初始化 void RateCtrl::init(int totalFrames, int target

原创 VVC學習之一:VVC/H.266的簡介及VTM的使用方法

前言 跟JVET以及VVC標準已經有一段時間了,準備寫一些VVC的一些學習心得,主要也是鍛鍊一下自己,如果有理解不對的地方,希望各位大佬不吝賜教。 VVC的發展歷程 VVC是從HEVC發展而來,其目標是將HEVC/H.265的編碼

原创 VTM碼率控制——代碼學習四

文章目錄碼率分配參數更新幀之後的更新LCU後的更新 碼率分配參數更新 αnew=αold+δα×(ln⁡αreal−ln⁡αcomp)×αold \alpha_{new} = \alpha_{old} + \delta_{ \a

原创 VVC學習之環內濾波器(一): Luma Mapping with Chroma Scaling(LMCS)

文章目錄簡介1. LMCS(Luma Mapping with Chroma Scaling)理論1.1 基於分段線性模型的亮度映射1.2 色度殘差的亮度依賴性尺度變換1.3 編碼端LMCS參數預測 簡介 環路濾波是混合編碼框架中

原创 VTM碼率控制——代碼學習三

文章目錄碼率分配GOP碼率分配幀級碼率分配LCU碼率分配 碼率分配 GOP碼率分配 TGOP=RpicAvg⋅(Ncoded+SW)−RcodedSW×NGOPT_{GOP} = \frac{R_{picAvg}\cdot (N