原创 H.266/VVC相關技術學習筆記15:視頻編碼中幀間預測技術的基本原理

今天講一下關於視頻編碼中幀間預測技術一些基本原理,然後在後續的博客中更新最新的VTM6.0版本中的現存的幀間預測技術。 首先幀間預測技術就是利用視頻中鄰近幀之間的時域相關性,使用之前已經預測編碼好的重建圖像作爲參考幀,通過運動估計

原创 如何在Windows下跑視頻編碼代碼(詳細流程,入門必看)

關於初學視頻編碼的同學來講,除了瞭解關於視頻編碼的一些理論的知識以及代碼之外,還有一項必備的技能就是能夠在各種操作系統之下,熟練的去跑視頻編解碼的代碼,以及怎麼配置相關的配置文件,如何將編解碼之後的數據統計出來都是要求必須熟練掌握

原创 H.266/VVC代碼學習筆記15:VTM6.0中的xCheckRDCostMergeTriangle2Nx2N()函數

VTM6.0中xCheckRDCostMergeTriangle2Nx2N()函數是幀間預測技術中Merge模式中TPM技術的主函數的入口,想要了解TPM在代碼中的實現,這個函數是啃定了,我只是大概看了一下該函數的大致上的流程以及

原创 H.266/VVC相關技術學習筆記19:幀間預測中的HMVP技術(基於歷史的MV預測)

HMVP技術(基於歷史的MV預測)也是幀間的一個小分支技術,但是貫穿於整個Merge技術中,我們知道在構造Merge候選列表的時候有多種構造方法,以便在列表長度不足的時候用備選的方法填充進新的候選,比如空域相鄰候選,時域相鄰候選,

原创 H.266/VVC代碼學習筆記14:xCheckRDCostMerge2Nx2N()函數

近期學習了一下xCheckRDCostMerge2Nx2N()函數,這是編碼端幀間預測中非常重要的一個函數,該函數類似於幀內的xCheckRDCostIntra()函數,是對三種Merge模式:regular_Merge、CIIP

原创 H.266/VVC相關技術學習筆記16:VTM6.0中的CIIP技術(幀內幀間聯合預測)

今天講一下目前VTM6.0版本中的CIIP技術,CIIP即爲幀內幀間聯合預測技術,這屬於Merge系列的一個分支。 該技術需要先計算當前預測塊的幀內預測值,即用Planar、DC、角度預測等傳統的幀內預測模式去預測當前塊的幀內預測

原创 H.266/VVC相關技術學習筆記12:O0412——Sampling point extension for CCLM

關於O次會議,有一篇關於CCLM點數擴展的天需要注意一下,雖然提案最終被踩下去,不過其中的思路也可以借鑑學習一下。在VTM5.0中的CCLM對所有尺寸的塊都選2/4個點,這種選點非常適合44這樣的小塊,但是對於3232這樣的大塊,

原创 H.266/VVC相關技術學習筆記25:H.264到H.265再到H.266中幀內角度預測模式發展歷程以及各階段技術細節詳解

趁着國慶的時間,詳細總結一下關於視頻編碼中的幀內預測,主要總結一下從H.264到H.265再到H.266中的幀內角度預測模式發展歷程以及各個階段角度模式的技術細節以及預測值計算流程。因爲之前看了角度模式,也忘了記筆記,現在有點淡忘

原创 H.266/VVC相關技術學習筆記24:幀間預測中的TPM技術(Triangle partition Mode)

最近大概學習了一下Merge模式中另一個比較重要的技術:Triangle partition Mode(TPM)。在當前的VTM6.0的版本中,三角預測模式支持三角形的劃分模式進行幀間預測。三角形預測模式只適用於8x8或者更大的編

原创 Linux下跑C++程序的操作筆記(跑視頻編碼程序)

今天記錄一下自己實驗室在“天河”計算機上跑程序的流程,怕以後忘記了。由於天河的操作是基於Linux的操作,所以一些指令比較生疏,如有不準確的地方還請指正。 一、首先需要連接虛擬專用網絡(這個大家應該都懂,要是寫縮略就不能過審) ①

原创 H.266/VVC代碼學習筆記8:VTM5.0中幀內亮度預測函數——estIntraPredLumaQT()函數

今天對VTM5.0中的亮度幀內預測的入口函數estIntraPredLumaQT()進行詳細的學習 estIntraPredLumaQT中完成了亮度分量的幀內預測,其主要流程如下: 一、初始化各種參數。 二、爲了減少最終RDcos

原创 H.266/VVC相關技術學習筆記23:VVC中成對平均候選技術(用於Merge列表的構建)

組合平均法是在Merge列表構建過程中的一種填充候選的方法。 一、 在HEVC中,使用組合候選的方法作爲Merge候選列表構建的一種備選方法,該方法比較複雜,對於一個BSlice中的PU而言,其中需要兩個MV(一個前向、一個後向)

原创 H.266/VVC代碼學習筆記13:VTM6.0中的getInterMergeCandidates()函數

getInterMergeCandidates()函數是幀間預測技術中一個非常重要的函數,它是Merge列表的構造函數,所有的Merge模式都要先構造一個Merge候選列表,然後根據不同的模式在此regularMerge列表的基礎

原创 H.266/VVC相關技術學習筆記13:O0343——Simplification on CCLM process

這次會議還有一篇關於關於簡化CCLM操作的提案也值的大家學習關注。 在WD 5.0中,包括相鄰樣本位置推導,亮度下采樣和線性模型參數推導的CCLM過程具有許多條件分支,這在硬件和軟件實現方面是不期望的。因此所提出的方法對於不可用的

原创 H.266/VVC相關技術學習筆記17:VTM6.0中的DMVR(解碼端運動矢量細化)技術前言:DMVR在JEM中的實現

今天先大致講一下關於DMVR技術在VVC早期版本JEM中的具體實現方式,DMVR(Decoder-side motion vector refinement)技術就是解碼端運動矢量細化,意思就是在解碼端纔對運動矢量進行細化,而且編