原创 H.266/VVC代碼學習:MIP技術相關代碼

MIP技術原理介紹:https://blog.csdn.net/BigDream123/article/details/104939645 MIP的相關函數代碼在estIntraPredLumaQT函數中首次被調用,如下代碼所示,其中 i

原创 H.266/VVC代碼學習:MIP技術相關代碼之initIntraMip函數

initIntraMip函數主要是對參考像素進行下采樣併爲MIP矩陣乘法準備輸入數據,函數結構如下: MIP根據塊尺寸可以分爲以下三種情況:   塊尺寸 下采樣後的邊界長度 m_reducedBdrySize 矩陣乘法輸出邊界長度

原创 H.266/VVC代碼學習:MIP技術相關代碼之predIntraMip函數

predIntraMip函數是進行MIP預測的入口函數,主要功能是進行矩陣乘法運算,再通過上採樣獲得整個塊的預測像素,實現步驟如下圖所示: predIntraMip代碼及註釋如下 #if JVET_R0350_MIP_CHROMA_4

原创 H.266/VVC代碼學習:MPM列表建立

VVC具有67種角度模式,如果分別對每個PU的預測模式進行編碼,則對於67種模式需要7比特來編碼,因此VVC中也採用了構建最可能模式列表(most probable mode ,MPM)的方法。在圖像和視頻編碼中,相鄰塊通常具有較強的相關

原创 PTA 7-4 是否同一棵二叉搜索樹 (25分)

給定一個插入序列就可以唯一確定一棵二叉搜索樹。然而,一棵給定的二叉搜索樹卻可以由多種不同的插入序列得到。例如分別按照序列{2, 1, 3}和{2, 3, 1}插入初始爲空的二叉搜索樹,都得到一樣的結果。於是對於輸入的各種插入序列,你需要判

原创 PTA 7-10 公路村村通 (30分)

現有村落間道路的統計數據表中,列出了有可能建設成標準公路的若干條道路的成本,求使每個村落都有公路連通所需要的最低成本。 輸入格式: 輸入數據包括城鎮數目正整數N(≤1000)和候選道路數目M(≤3N);隨後的M行對應M條道路,每行給出3個

原创 PTA 7-3 樹的同構 (25分)

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因爲我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。     圖1

原创 H.266/VVC代碼學習:estIntraPredLumaQT函數

更新:最近又看了VTM9.0中estIntraPredLumaQT函數,相對VTM7.0還是更新了許多內容,加入了ACT變換等等 最近研究了VTM7.0中estIntraPredLumaQT函數的大體功能,之前大概看過一點,但是被這繁亂的

原创 H.266/VVC技術學習:幀內預測之ISP技術

Intra Sub-Partitions (ISP) ISP技術就是根據塊形狀將亮度預測塊垂直或者水平劃分爲2個或者4個子分區。ISP技術應用的最小塊尺寸爲8x4和4x8,最大尺寸爲64x64。由於VVC限制分區內至少有16個樣點,對於8

原创 視頻編碼失真測度:SAD、SATD、SSD、MSE、PSNR

一、定義 SSD:平方誤差和 —— Sum of Squared Difference MSE:均方誤差 —— Mean Squared Error SAD:絕對誤差和 (時域)—— Sum of Absolute Difference

原创 H.266/VVC代碼學習:幀內預測之初始化幀內預測參數(initPredIntraParams)

VTM7.0中,在進行幀內預測之前,需要對幀內預測參數進行初始化,初始化函數是initPredIntraParams,該函數主要包含以下幾個功能: 判斷當前模式是垂直類模式還是水平類模式 根據當前模式計算角度偏移值 根據當前模式判斷PDP

原创 H.266/VVC代碼學習:幀內預測之角度預測函數(predIntraAng、xPredIntraAng)

VTM7.0中,幀內預測的角度預測的入口函數爲predIntraAng函數,該函數主要是用於進行傳統的幀內預測(Planar、DC、角度預測),然後對Planar和DC模式使用PDPC(其餘角度模式的PDPC在xPredIntraAng函

原创 H.266/VVC代碼學習:幀內預測之參考像素獲取及濾波

幀內預測首先需要獲取參考像素並對參考像素進行濾波。 VTM7.0中,initIntraPatternChType函數是獲取參考像素和對參考像素濾波的入口函數,主要包含三步: 獲取參考像素長度 獲取參考像素 對參考像素進行濾波 代碼如下:

原创 離散餘弦變換(DCT)的C++實現

DCT變換具體概念性質參考博客https://blog.csdn.net/BigDream123/article/details/101426393 這裏僅僅描述DCT-2變換的C++實現。 DCT-2正變換的公式如下: DCT-2反變

原创 H.266/VVC代碼學習:estIntraPredChromaQT函數

VVC中色度預測一共有八種模式,分別爲PLANAR,VER, HOR,DC,LM_CHROMA,MDLM_L,MDLM_T,DM_CHROMA,其中LM_CHROMA,MDLM_L和MDLM_T分別表示CCLM模式,DM_CHROMA爲從