原创 環路濾波(三):VVC去方塊濾波改進

H.266/VVC中去方塊濾波改進 VVC中,去方塊濾波和HEVC過程類似,主要有以下幾個方面改進: 濾波強度依賴於重建像素的平均亮度級。 tc表有了擴展。 亮度強濾波有了改進。 增加了色度強濾波。 依賴重建像素平均亮度級

原创 VVC幀間預測(六)BCW

CU級加權雙向預測 Bi-prediction with CU-level weight(BCW)是VVC中的新雙向預測技術,在HEVC中進行雙向預測時預測值等於前向預測值和後向預測值的均值。BCW不是簡單的求均值而是對兩個預測值進行加權

原创 VVC幀間預測(二)Merge mode with MVD (MMVD)

在上一篇文章擴展的merge模式中,當前CU在生成的merge list中選擇一個率失真代價最小的候選項的運動信息直接作爲自己的運動信息。而MMVD是將候選項的運動信息作爲自己MV的預測值,需要編碼傳輸MVD(自己最優MV與預測MV的差值

原创 VVC幀內預測(六)MIP

矩陣加權幀內預測(Matrix weighted intra prediction,MIP)是VTM5.0中新加的幀內預測技術。該技術的核心就是訓練矩陣,當前的亮度預測塊的相鄰採樣點首先進行平均操作減少採樣點數目,構成一個向量,然後該向量

原创 VVC幀內預測(五)ISP

幀內子塊劃分( Intra Sub-Partitions,ISP)會根據尺寸將亮度幀內預測塊在水平或垂直方向上分爲2個或4個子塊。允許ISP劃分的最小塊尺寸是4x8或8x4。如果塊等於4x8或8x4則劃分爲2個子塊(VVC規定每個塊至少要

原创 VVC幀間預測(十)幀間幀內聯合預測CIIP

幀間幀內聯合預測(Combined inter and intra prediction ,CIIP),在HEVC中一個CU在預測時要麼使用幀內預測要麼使用幀間預測,二者只能取其一。而VVC中提出的CIIP技術,如其名所言可以同時使用幀內

原创 VVC幀間預測(九)幀間預測三角劃分模式TPM

VTM5中支持對於大於等於8x8的CU在進行幀間預測時進行三角劃分( triangle partition mode) 。三角劃分模式如下,將CU沿對角線或反對角線方向劃分。 當CU使用三角劃分模式時,CU被均勻的劃分爲兩個部分,每個部

原创 VVC塊劃分

VVC和HEVC與AVC一樣,都是基於塊的混合編碼框架,其編碼流程也都類似。下圖是VVC的編碼架構。   VVC和HEVC的塊劃分有很多類似的地方,同時劃分方式、形狀、尺寸等又有很多不同。 1、slices,tiles和bricks劃分

原创 VVC幀間預測(七)BDOF

雙向光流bi-directional optical flow (BDOF) BDOF是由JEM中的BIO發展而來,相較於BIO,BDOF計算複雜度更低,尤其是乘法運算數量和乘數大小更低。 BDOF是用來修正CU的4x4子塊的雙向預測信號

原创 VVC變換編碼(一)MTS

新的一年,好好科研!!!!!! 變換編碼用於預測後的殘差塊上,變換後得到的變換系數中低頻分量集中在塊的左上角高頻分量在右下角。 大尺寸變換塊高頻係數置零 在VTM5中,變換編碼的塊最大尺寸可達64x64,這對於高分辨率的視頻(例如1080

原创 VVC幀間預測(一)擴展的merge模式

VVC在HEVC的基礎上增加了很多新的幀間預測工具,在VTM5裏新增的幀間預測工具如下: Extended merge prediction Merge mode with MVD (MMVD) AMVP mode with s

原创 VVC幀間預測(五)SbTMVP和AMVR

基於子塊的TMVP (SbTMVP) VTM中提出的基於子塊的TMVP(subblock-based temporal motion vector prediction ,SbTMVP)和HEVC中的TMVP類似。TMVP計算方法可以參考

原创 VVC幀內預測(二)CCLM

跨分支線性模型(Cross-component linear model,CCLM)預測中假設同一個編碼塊的色度像素值和對應的亮度像素值有線性關係,所以CCLM使用一個線性模型從亮度像素的重建值生成對應色度像素的預測值。   CCLM的

原创 VVC幀間預測(八)DMVR

解碼端運動向量修正(Decoder side motion vector refinement ,DMVR)是爲了提高merge模式下雙向預測MV的準確性而提出的技術。雙向預測是在list0和list1中分別找一個運動向量MV0和MV1,

原创 VVC變換編碼(三)子塊變換( sub-block transform,SBT)

在VTM中允許對使用幀間預測的CU進行子塊變換( sub-block transform,SBT)。在SBT模式下,只需要對殘差塊的一個子部分進行變換處理。當這個幀間預測塊的cu_cbf=1時,需要傳輸一個標誌位cu_sbt_flag表示