TW202349958A - 視頻編解碼的方法和裝置 - Google Patents

視頻編解碼的方法和裝置 Download PDF

Info

Publication number
TW202349958A
TW202349958A TW112114597A TW112114597A TW202349958A TW 202349958 A TW202349958 A TW 202349958A TW 112114597 A TW112114597 A TW 112114597A TW 112114597 A TW112114597 A TW 112114597A TW 202349958 A TW202349958 A TW 202349958A
Authority
TW
Taiwan
Prior art keywords
mvd
candidate
prediction
current block
mvp
Prior art date
Application number
TW112114597A
Other languages
English (en)
Inventor
江嫚書
徐志瑋
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202349958A publication Critical patent/TW202349958A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

一種視頻編解碼方法和裝置。根據該方法,確定當前塊的第一MVP和第二MVP中的至少一個。基於匹配成本來確定來自MVD候選的至少一個預定義集合的與第一MVP相關聯的第一MVD和與第二MVP相關聯的第二MVD中的至少一個。每個匹配成本是在當前塊的相鄰樣本和來自與所述至少一組預定義MVD候選中的候選相關聯的每個參考塊的對應相鄰樣本的預測樣本之間確定的。通過使用包括與第一MVP和第一MVD相關聯的第一最終MV以及與第二MVP和第二MVD相關聯的第二最終MV中的至少一個的運動信息來對當前塊進行編碼或解碼。

Description

視頻編解碼系統中解碼器側運動推導的方法和裝置
本發明涉及視頻編解碼系統。特別地,本發明涉及通過使用模板匹配來減少與運動矢量預測器(Motion Vector Predictor,MVP)的MV差(MV Difference,MVD)相關的信令開銷。
通用視頻編碼(VVC)是由ITU-T視頻編碼專家組(VCEG)的聯合視頻專家組(JVET)和ISO/IEC運動圖像專家組(MPEG)共同製定的最新國際視頻編解碼標準。該標準已作為 ISO 標準發布:ISO/IEC 23090-3:2021,信息技術-沉浸式媒體的編碼表示 - 第 3 部分:通用視頻編碼,2021 年 2 月發布。VVC 是在其前身 HEVC(High Efficiency Video Coding)基礎上,通過添加更多的編解碼工具來提高編解碼效率,還可以處理各種類型的視頻源,包括 3 維(3D)視頻信號。
第1A圖說明了包含循環處理的示例性自適應幀間/幀內視頻編碼系統。 對於幀內預測,預測資料是根據當前圖片中先前編碼的視頻資料導出的。對於幀間預測112,在編碼器側執行運動估計(ME)並且基於ME的結果執行運動補償(MC)以提供從其他畫面和運動資料導出的預測資料。開關114選擇幀內預測110或幀間預測112並且所選擇的預測資料被提供給加法器116以形成預測誤差,也稱為殘差。預測誤差然後由變換(T) 118和隨後的量化(Q) 120處理。變換和量化的殘差然後由熵編碼器122編碼以包括在對應於壓縮視頻資料的視頻位元流中。與變換係數相關聯的位元流然後與輔助信息(例如與幀內預測和幀間預測相關聯的運動和編碼模式)以及其他信息(例如與應用於底層圖像區域的環路濾波器相關聯的參數)一起打包。與幀內預測110、幀間預測112和環內濾波器130相關聯的輔助信息被提供給熵編碼器122,如第1A圖所示。當使用幀間預測模式時,也必須在編碼器端重建一個或多個參考圖片。因此,經變換和量化的殘差由逆量化(IQ)124和逆變換(IT)126處理以恢復殘差。然後在重建(REC)128處將殘差加回到預測資料136以重建視頻資料。 重建的視頻資料可以存儲在參考圖片緩衝器134中並用於預測其他幀。
如第1A圖所示,輸入的視頻資料在編碼系統中經過一系列處理。由於一系列處理,來自REC128的重建視頻資料可能會受到各種損害。因此,環路濾波器130經常在重構視頻資料被存儲在參考圖片緩衝器134中之前應用於重構視頻資料以提高視頻質量。例如,可以使用去塊濾波器(DF)、樣本自適應偏移(SAO)和自適應環路濾波器(ALF)。可能需要將環路濾波器信息合併到位元流中,以便解碼器可以正確地恢復所需的信息。因此,環路濾波器信息也被提供給熵編碼器122以合併到位元流中。在第1A圖中,環路濾波器130在重構樣本被存儲在參考圖片緩衝器134中之前被應用於重構視頻。第1A圖中的系統旨在說明典型視頻編碼器的示例性結構。它可能對應於高效視頻編碼 (HEVC) 系統、VP8、VP9、H.264 或 VVC。
如第1B圖所示,解碼器可以使用與編碼器相似或相同的功能塊,除了變換118和量化120之外,因為解碼器只需要逆量化124和逆變換126。代替熵編碼器122,解碼器使用熵解碼器140將視頻位元流解碼為量化的變換係數和所需的編碼信息(例如ILPF信息、幀內預測信息和幀間預測信息)。解碼器側的幀內預測150不需要執行模式搜索。相反,解碼器僅需要根據從熵解碼器140接收的幀內預測信息生成幀內預測。此外,對於幀間預測,解碼器僅需要根據從熵解碼器140接收的幀間預測信息執行運動補償(MC 152)而無需運動估計。
根據VVC,類似於HEVC,輸入圖片被劃分為稱為CTU(編碼樹單元)的非重疊方形塊區域。每個CTU都可以劃分為一個或多個較小尺寸的編碼單元(CU)。生成的CU分區可以是正方形或矩形。此外,VVC將CTU劃分為預測單元(PU),作為應用預測過程的單元,例如幀間預測、幀內預測等。
在視頻編碼中,用信號通知最終MV和MVP(MV預測器)之間的MVD(MV差)。系統可以使用更多MVD來提高編碼性能。然而,更多的 MVD 將需要更多的信令開銷。在本發明中,模板匹配用於幫助減少與一個或多個MVP(MV預測器)的MVD相關聯的信令開銷。
公開了一種用於視頻編解碼的方法和裝置。根據該方法,在編碼器側接收與當前塊相關聯的資料或者在解碼器側接收與要解碼的當前塊相關聯的已編碼資料。使用單向預測或雙向預測對當前塊進行編碼。確定當前塊的第一運動矢量預測子(MVP)和第二MVP中的至少一個。基於匹配成本從至少一組預定義的MVD候選集合中確定與第一MVP相關聯的第一MVD(MV差)和與第二MVP相關聯的第二MVD中的至少一個。匹配成本的導出取決於當前塊是使用單向預測還是雙向預測進行編解碼。如果使用單向預測對當前塊進行編碼,則在當前塊的一個或多個相鄰樣本與多個預測樣本之間確定每個匹配成本,其中一個或多個預測成本來自由單向預測候選MV指向的每個參考塊的一個或多個相應相鄰樣本。其中單向預測候選MV是基於所述至少一個預定義MVD候選集合中的候選以及第一MVP和第二MVP之一的預測候選MV。如果使用雙向預測對當前塊進行編解碼,則在當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本。其中一個或多個預測樣本來自由雙向預測候選MV指向的每個參考塊的一個或多個相應相鄰樣本,其中雙向預測候選MV是基於至少第一MVP、第二MVP和所述至少一個預定義MVD候選集合中的候選的預測候選MV。通過使用包括與第一MVP和第一MVD相關聯的第一最終MV以及與第二MVP和第二MVD相關聯的第二最終MV中的至少一個的運動信息來對當前塊進行編碼或解碼。
在一個實施例中,響應於使用單向預測對當前塊進行編解碼,選擇實現最小匹配成本的單向預測候選MV來導出第一最終MV和第二最終MV中的至少一個。
在一個實施例中,響應於使用雙向預測對當前塊進行編解碼,選擇實現最小匹配成本的雙向預測候選MV來導出第一最終MV和第二最終MV中的至少一個。
在一個實施例中,響應於使用單向預測對當前塊進行編解碼,所述至少一組預定義的MVD候選集合僅對應於一組預定義的MVD候選集合,用於導出列表0或列表1中的單向預測候選MV。
在一個實施例中,響應於使用雙向預測對當前塊進行編解碼,所述至少一組預定義MVD候選者僅對應於用於推導雙向預測候選者MV的一組預定義MVD候選者。
在一個實施例中,響應於使用雙向預測對當前塊進行編解碼,所述至少一組預定義MVD候選集合對應於兩個單獨的預定義MVD候選集合,分別用於推導雙向預測MV中的列表0MV和雙向預測候選MV中的列表1MV。
在一個實施例中,響應於使用單向預測或雙向預測對當前塊進行編解碼,從初始MVD導出所述至少一組預定義MVD候選集合中的一個或多個候選。
在一個實施例中,用信號發送或解析列表0或列表1的初始MVD。在另一實施例中,所述至少一組預定義MVD候選包括基於初始MVD的一個或多個符號、初始MVD的一個或多個值或兩者確定的一個或多個候選成員。在一種實施方式中,初始MVD的所述一個或多個符號對應於加號和減號。另一實施例中,初始MVD的所述一個或多個值對應於k*(初始MVD)或0,並且其中k對應於N或1/N,並且N是正整數。在另一實施例中,初始MVD的所述一個或多個值對應於(初始MVD)±b,並且其中b對應於整數或分數。
在一個實施例中,所述至少一組預定義MVD候選包括基於初始MVD的一個或多個符號確定的一個或多個候選成員,並且其中目標MVD候選的符號根據所述至少一個預定義MVD候選集合并且基於匹配成本來定義。在一個實施例中,目標MVD候選值的值是預定義的。在另一實施例中,用信號發送或解析目標MVD候選的值。在又一實施例中,在塊級別、SPS級別、PPS級別、APS級別、PH級別、SH級別或其組合處用信號發送或解析與目標MVD候選的值有關的一個或多個語法。
在一個實施例中,匹配成本對應於當前塊的所述一個或多個相鄰樣本與每個參考塊的一個或多個相應相鄰樣本之間的失真。並且其中使用包括SATD、SAD、MSE或SSE的一個或多個度量來測量失真。
將容易理解的是,如本文附圖中大體描述和圖示的本發明的組件可以以多種不同的配置來佈置和設計。因此,以下對如圖所示的本發明的系統和方法的實施例的更詳細描述並不旨在限制所要求保護的本發明的範圍,而僅代表本發明的選定實施例 . 貫穿本說明書對“一個實施例”、“一個實施例”或類似語言的引用意味著結合該實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。因此,貫穿本說明書各處出現的短語“在一個實施例中”或“在一個實施例中”不一定都指代相同的實施例。
此外,所描述的特徵、結構或特性可以以任何合適的方式組合在一個或多個實施例中。然而,相關領域的技術人員將認識到,本發明可以在沒有一個或多個特定細節的情況下,或使用其他方法、組件等來實踐。在其他情況下,未顯示或未顯示眾所周知的結構或操作 詳細描述以避免模糊本發明的方面。 參考附圖將最好地理解本發明的所示實施例,其中相同的部分自始至終由相同的數字表示。下面的描述僅旨在作為示例,並且簡單地說明與如本文要求保護的本發明一致的設備和方法的某些選定實施例。
VVC標準合併了各種新的編碼工具以進一步提高超過HEVC標準的編碼效率。在各種新的編碼工具中,與本發明相關的一些編碼工具綜述如下。 幀間預測概述
根據 JVET-T2002 第 3.4 節,(Jianle Chen 等人,“通用視頻編碼和測試模型 11 (VTM 11) 的算法描述”,ITU-T SG 16 WP 3 和 ISO/IEC JTC 1/SC 29 的聯合視頻專家組 (JVET) , 第20次會議,電話會議,2020年10月7–16日,檔案: JVET-T2002), 針對每一幀間預測CU,運動參數包含運動向量、參考圖片索引以及參考圖片列表使用標識,以及需要的額外信息 VVC 的新編碼功能用於幀間預測樣本生成。可以以顯式或隱式方式用信號通知運動參數。當CU以跳過(skip)模式編碼時,CU與一個PU相關聯並且沒有顯著的殘差係數,沒有編碼的運動向量增量或參考圖片索引。指定合併模式,當前CU的運動參數是從相鄰CU獲得的,包括空間和時間候選,以及VVC中引入的附加調度。合併模式可以應用於任何幀間預測的CU,而不僅僅是跳過模式。合併模式的替代方案是運動參數的顯式傳輸,其中運動向量、每個參考圖片列表的相應參考圖片索引和參考圖片列表使用標識以及其他所需信息按每個CU顯式發送。 除了HEVC中的幀間編碼功能外,VVC還包括許多新的和改進的幀間預測編碼工具,如下所列: – 擴展合併預測(Extended merge prediction) – 與 MVD (MMVD) 的合併模式(Merge mode with MVD (MMVD)) – 對稱 MVD (SMVD) 信令(Symmetric MVD (SMVD) signalling) – 仿射運動補償預測(Affine motion compensated prediction) – 基於子塊的時間運動向量預測 (SbTMVP)(Subblock-based temporal motion vector prediction (SbTMVP)) – 自適應運動向量分辨率 (AMVR)(Adaptive motion vector resolution (AMVR)) – 運動場存儲:1/16 亮度樣本 MV 存儲和 8x8 運動場壓縮 – CU級權重雙向預測(BCW)(Bi-prediction with CU-level weight (BCW)) – 雙向光流 (BDOF)(Bi-directional optical flow (BDOF)) – 解碼器側運動向量細化 (DMVR)(Decoder side motion vector refinement (DMVR)) – 幾何分區模式 (GPM) Geometric partitioning mode (GPM) – 組合幀間和幀內預測 (CIIP)(Combined inter and intra prediction (CIIP))
下面的描述提供了在 VVC 中指定的那些幀間預測方法的細節。 擴展合併預測
在VVC中,合併候選列表是通過依次包括以下五類候選來構建的: 1) 來自空間相鄰 CU 的空間 MVP 2) 來自並置 CU 的時間 MVP 3) 來自 FIFO 表的基於歷史的 MVP 4) 成對平均 MVP 5)零MV。
合併列表的大小在序列參數集(SPS)報頭中用信號通知並且合併列表的最大允許大小是6。對於在合併模式中編碼的每個CU,使用截斷一元二值化對最佳合併候選的索引進行編碼 (TU)。 合併索引的第一個二進制字符串(以下簡稱為bin)使用上下文編碼,旁路編碼用於其餘 bin。
本環節提供了每個類別的合併候選的推導過程。與在HEVC中所做的一樣,VVC還支持為一定大小的區域內的所有CU並行推導合併候選列表(或稱為合併候選列表)。 空間候選推導
除了交換前兩個合併候選的位置之外,VVC中空間合併候選的導出與HEVC中的相同。在位於第2圖所示位置的候選中選擇當前CU 210的最多四個合併候選(B 0、A 0、B 1和A 1)。導出的順序是B 0、A 0、B 1、A 1和B 2。位置 B 2僅在位置B 0、A 0、B 1、A 1的一個或多個相鄰 CU 不可用(例如,屬於另一個切片或瓦片)或被幀內編碼時才被考慮。添加位置A 1的候選後,對剩餘候選的添加進行冗餘校驗,保證具有相同運動信息的候選被排除在列表之外,從而提高編碼效率。為了降低計算複雜度,在提到的冗餘檢查中並未考慮所有可能的候選對。相反,僅考慮第3圖中用箭頭鏈接的對,並且僅當用於冗餘檢查的相應候選不具有相同運動信息時才將候選添加到列表中。 時間候選推導
在該步驟中,僅將一個候選添加到列表中。具體地,在針對當前CU 410的該時間合併候選的推導中,基於屬於如第4圖所示的並置參考圖片(collocated reference picture)的并置CU420推導縮放運動向量(scaled motion vector)。用於推導并置CU的參考圖片列表(reference picture list)和參考圖片的索引(reference index)在切片標頭中明確以信號發送。如第4圖中的虛線所示,獲得時間合併候選的縮放運動向量430,其使用 POC(圖片順序計數,Picture Order Count)距離tb和td從并置CU的運動向量440 縮放 ,其中tb定義為當前圖片的參考圖片與當前圖片的POC差,td定義為并置(co-located)圖片的參考圖片與并置圖片的POC差。時間合併候選的參考圖片索引設置為等於零。
時間候選的位置在候選C 0和C 1之間選擇,如第5圖所示。如果位置C 0的CU不可用、被幀內編碼或在當前CTU行之外,則使用位置C 1。否則,位置C 0用於推導時間合併候選。 基於歷史的合併候選推導
基於歷史的MVP(HMVP)合併候選被添加到空間MVP和TMVP之後的合併列表。在該方法中,先前編碼塊的運動信息存儲在表中並用作當前CU的MVP。在編碼/解碼過程中維護具有多個HMVP候選的表。當遇到新的 CTU行時,該表將被重置(清空)。每當存在非子塊幀間編碼CU時,相關聯的運動信息將作為新的HMVP候選添加到表的最後一個條目。
HMVP表大小S被設置為6,這指示最多5個基於歷史的MVP(HMVP)候選可以被添加到表中。當向表中插入新的運動候選時,使用受約束的先進先出(FIFO)規則,其中首先應用冗餘檢查以查找表中是否存在相同的HMVP。如果找到,相同的HMVP被從表中移除並且之後的所有HMVP候選被向前移動,並且相同的HMVP被插入到表的最後條目。
HMVP候選可以用於合併候選列表構建過程。依次檢查表中最新的幾個HMVP候選,並在TMVP候選之後插入到候選列表中。冗餘檢查應用於 HMVP 候選至空間或時間合併候選。
為了減少冗餘校驗操作的數量,引入以下簡化: 1.表中的最後兩個條目分別針對A 1和B 1空間候選進行冗餘檢查。 2.一旦可用合併候選的總數達到最大允許合併候選的數量-1,HMVP的合併候選列表構造過程終止。 成對平均合併候選推導
通過使用前兩個合併候選對現有合併候選列表中的預定義候選對進行平均來生成成對平均候選。第一個合併候選定義為p0Cand,第二個合併候選可以分別定義為p1Cand。根據p0Cand和p1Cand的運動向量的可用性分別針對每個參考列表計算平均運動向量。如果兩個運動向量在一個列表中都可用,則即使這兩個運動向量指向不同的參考圖片,也對其進行平均,並將其參考圖片設置為p0Cand之一;如果只有一個運動向量可用,則直接使用一個; 如果沒有可用的運動向量,則保持此列表無效。此外,如果p0Cand和p1Cand的半像素插值濾波器索引不同,則將其設置為0。
當添加成對平均合併候選後合併列表未滿時,將零個MVP插入最後直到遇到最大合併候選數。 合併估計區域
合併估計區域(MER)允許獨立推導同一合併估計區域(MER)中的CU的合併候選列表。在當前CU的合併候選列表的生成中不包括與當前CU在相同MER內的候選塊。此外,僅當(xCb+cbWidth)>>Log2ParMrgLevel大於xCb>>Log2ParMrgLevel和(yCb+cbHeight)>>Log2ParMrgLevel大於(yCb>>Log2ParMrgLevel),其中(xCb,yCb)是圖片中當前CU的左上角亮度樣本位置,(cbWidth,cbHeight)是CU大小。MER大小在編碼器端選擇,並在序列參數集(SPS)中作為log2_parallel_merge_level_minus2發出信號。 具有 MVD 的合併模式 (MMVD)
除了其中隱式導出的運動信息被直接用於當前CU的預測樣本生成的合併模式之外,在VVC中引入了具有運動向量差(MMVD)的合併模式。在發送常規合併標識後立即發出MMVD標識,以指定 MMVD 模式是否用於 CU。
在MMVD中,在選擇了合併候選之後,通過用信號發送的MVD信息對其進行進一步細化。進一步的信息包括合併候選標識、用於指定運動幅度的索引和用於指示運動方向的索引。在MMVD模式下,合併列表中的前兩個候選中的一個被選擇用作MV基礎。發出MMVD 候選標識以指定在第一和第二合併候選之間使用哪一個。
距離索引指定運動幅度信息並且指示從L0參考塊610和L1參考塊620的起點(612和622)的預定義偏移。如第6圖所示,偏移被添加到 起始 MV 的水平分量或垂直分量,其中不同樣式的小圓圈對應於距中心的不同偏移量。 距離索引和預定義偏移量的關係在表 1 中指定。 表 1 – 距離索引與預定義偏移量的關係
距離索引 0 1 2 3 4 5 6 7
偏移(以亮度樣本為單位) 1/4 1/2 1 2 4 8 16 32
方向指數表示MVD相對於起始點的方向。方向索引可以表示如表2所示的四個方向。需要注意的是,MVD符號的含義可以根據起始MV的信息而變化。當起始MV是非預測MV或雙向預測MV,兩個列表都指向當前圖片的同一側(即兩個參考的POC均大於當前圖片的POC,或均小於當前圖片的POC),表2中的符號指定添加到起始MV的MV偏移量的符號。當起始MV是雙向預測MV,兩個MV指向當前圖片的不同側(即一個參考的POC大於當前圖片的POC,另一個參考的POC小於當前圖片的POC),並且列表0(可簡稱為list0或L0)中POC的差異大於列表1(可簡稱為list1或L1)中的POC,表2中的符號指定添加到起始MV的列表0的MV分量的MV偏移量的符號和列表1的MV的符號有相反的值。否則,如果列表1中的POC之差大於列表0,則表2中的符號指定添加到起始MV的列表1MV分量的MV偏移量的符號與列表0MV的符號具有相反的值。
MVD是根據每個方向上的POC的差異來縮放的。如果兩個列表中POC的差異相同,則不需要縮放。否則,如果列表0中的POC差異大於列表1中的差異,則通過將L0的POC差異定義為td並將L1的POC差異定義為tb來縮放列表1的MVD,如第5圖所示。如果L1的POC差異大於L0,則列表0的MVD以相同的方式縮放。如果起始MV是單向預測的,則將MVD添加到可用MV。 表 2 – 方向索引指定的 MV 偏移符號
方向索引 00 01 10 11
X軸 + - N/A N/A
Y軸 N/A N/A + -
仿射運動補償預測
在HEVC中,僅平移運動模型被應用於運動補償預測(MCP)。 而在現實世界中,有很多種運動,例如 放大/縮小、旋轉、透視運動和其他不規則運動。在VVC 中,應用基於塊的仿射變換運動補償預測。如圖所示。 第7A-B圖中,塊710的仿射運動域由第7A圖中的兩個控制點(4參數)的運動信息或第7B圖中的三個控制點運動向量(6參數)描述。
對於4參數仿射運動模型,塊中樣本位置(x,y)處的運動向量被導出為: (1)
對於6參數仿射運動模型,塊中樣本位置(x,y)處的運動向量被導出為: (2)
其中(mv 0x,mv 0y)為左上角控制點的運動向量,(mv 1x,mv 1y)為右上角控制點的運動向量,(mv 2x,mv 2y)為底部-左角控制點的運動向量。
為了簡化運動補償預測,應用基於塊的仿射變換預測。為了導出每個 4×4 亮度子塊的運動向量,每個子塊的中心樣本的運動向量,如第8圖所示,根據上述等式計算,並四捨五入到 1/16 分數精度。然後,應用運動補償插值濾波器以生成具有導出的運動向量的每個子塊的預測。色度分量的子塊大小也設置為4×4。4×4色度子塊的MV計算為並置8x8亮度區域中左上角和右下角亮度子塊的MV的平均值。
對於平移運動幀間預測,也有兩種仿射運動幀間預測模式:仿射合併模式和仿射AMVP模式。 仿射合併預測 (AF_MERGE)
AF_MERGE模式可以應用於寬度和高度都大於或等於8的CU。在該模式下,基於空間相鄰CU的運動信息生成當前CU的CPMV(控制點MV)。最多可以有五個 CPMVP(CPMV 預測)候選,並且用信號發送一個索引以指示要用於當前CU的那個。下面三種類型的CPVM候選被用來構成仿射合併候選列表: – 從相鄰CU的CPMV推斷出的繼承仿射合併候選 – 使用相鄰CU的平移MV派生的構造仿射合併候選CPMVP – 零MV
在VVC中,最多有兩個繼承的仿射候選,它們來自相鄰塊的仿射運動模型,一個來自左相鄰CU,一個來自上方相鄰CU。候選塊與第2圖所示相同。對於左預測子,掃描順序為A 0->A 1,對於上預測子,掃描順序為B0->B1->B2。僅選擇每一方的第一個繼承候選。在兩個繼承的候選之間不執行修剪檢查(pruning check)。識別相鄰的仿射CU時,其控制點運動向量用於導出當前CU的仿射合併列表中的 CPMVP 候選。如第9圖所示,如果當前塊910的左下相鄰塊A以仿射模式編碼,則獲得CU920的左上角、右上角和包含塊 A的左下角的運動向量v 2、v 3和v 4。 當塊A採用4參數仿射模型編碼時,根據v 2、v 3計算當前CU的兩個CPMV(即v 0和v 1)。在塊A採用6參數仿射模型編碼的情況下,根據v 2、v 3、v 4計算當前CU的三個CPMV。
構造仿射候選是指通過結合每個控制點的相鄰平移運動信息來構造候選。如第10圖所示,控制點的運動信息是從當前塊 1010 的指定空間鄰居和時間鄰居導出的。CPMV k(k=1、2、3、4)表示第 k 個控制點。對於 CPMV 1,檢查 B2->B3->A2塊並使用第一個可用塊的MV。對於CPMV 2,檢查 B1->B0 塊,對於CPMV 3,檢查A1->A0塊。如果TMVP 可用,則將其用作 CPMV 4
在獲得四個控制點的 MV 後,基於運動信息構建仿射合併候選。 以下控制點MV的組合用於按順序構建: {CPMV 1, CPMV 2, CPMV 3}, {CPMV 1, CPMV 2, CPMV 4}, {CPMV 1, CPMV 3, CPMV 4}, {CPMV 2, CPMV 3, CPMV 4}, { CPMV 1, CPMV 2}, { CPMV 1, CPMV 3}
3個CPMV的組合構造了6參數仿射合併候選並且2個CPMV的組合構造了4參數仿射合併候選。為了避免運動縮放過程,如果控制點的參考索引不同,則丟棄控制點MV的相關組合。
檢查繼承的仿射合併候选和構造的仿射合併候選後,如果列表仍未滿,則將零個MV插入到列表的末尾。 仿射 AMVP 預測
仿射AMVP模式可以應用於寬度和高度都大於或等於16的CU。CU級的仿射標識在位元流中用信號發送以指示是否使用仿射AMVP模式,然後另一個標識用信號發送以指示是使用4參數仿射還是 6 參數仿射。在這種模式下,當前CU的CPMV與其預測變量CPMVP的差異在位元流中用信號表示。仿射AVMP候選列表大小為2,由以下四種CPVM候選依次生成: – 從相鄰CU的CPMV推斷出的繼承仿射AMVP候選 – 構建的仿射AMVP候選CPMVP使用相鄰CU的平移MV導出 – 來自相鄰CU的平移 MV – 零MV
繼承仿射AMVP候選的檢查順序與繼承仿射合併候選的檢查順序相同。唯一的區別是,對於 AVMP 候選,僅考慮與當前塊具有相同參考圖片的仿射CU。將繼承的仿射運動預測插入候選列表時,不應用裁剪過程。
構造的AMVP候選是從第10圖中所示的指定空間鄰居導出的。使用與仿射合併候選構造中相同的檢查順序。此外,還檢查相鄰塊的參考圖片索引。在檢查順序中,使用幀間編碼並具有與當前 CU 中相同的參考圖片的第一個塊。當當前CU使用4參數仿射模式編碼,並且 都可用時,將它們作為一個候選添加到仿射AMVP列表中。當當前CU使用6 參數仿射模式編碼,並且所有三個CPMV都可用時,它們將作為一個候選添加到仿射AMVP 列表中。 否則,將構建的AMVP候選設置為不可用。
如果插入有效繼承的仿射AMVP候选和構造的AMVP候選後,仿射AMVP候選列表的數量仍然小於2,則會添加 , 作為平移MV以便在可用時預測當前CU的所有控制點MV。最後,如果仿射AMVP列表仍未滿,則使用零 MV 來填充它。 仿射運動信息存儲
在VVC中,仿射CU的CPMV存儲在單獨的緩衝區中。存儲的CPMV僅用於在仿射合併模式和仿射AMVP模式下為最近編碼的CU生成繼承的PMVP。從CPMV導出的子塊MV用於運動補償、平移MV的合併/AMVP列表的MV導出和去塊。
為了避免額外的CPMV的圖片行緩衝區,從上述CTU的CU繼承的仿射運動資料被區別對待,以從正常的相鄰CU繼承。如果用於仿射運動資料繼承的候選CU在上述CTU行中,則行緩衝區中的左下和右下子塊MV而不是CPMV用於仿射MVP推導。這樣,CPMV 僅存儲在本地緩衝區中。如果候選CU是6參數仿射編碼,則仿射模型退化為4數模型。如第11圖所示,沿著頂部CTU邊界,CU的左下和右下子塊運動向量用於底部CTU中CU的仿射繼承。在第11圖中,第1110行和第1112行表示原點(0,0)在左上角的圖片的x和y坐標。圖例1120顯示了各種運動向量的含義,其中箭頭1122表示局部緩衝區中用於仿射繼承的CPMV,箭頭1124表示用於局部緩衝區中的MC/合并/跳過MVP/去塊/TMVP和仿射的子塊向量行緩衝器中的繼承,箭頭1126代表MC/合并/跳過MVP/去塊/TMVP的子塊向量。 自適應運動向量分辨率 (AMVR)
在HEVC中,當切片標頭中的 use_integer_mv_flag等於0時,(CU的運動向量和預測運動向量之間的)運動向量差(MVD)以四分之一亮度樣本為單位用信號發送。在VVC中,引入了CU級自適應運動向量分辨率(AMVR)方案。AMVR允許CU的MVD以不同的精度進行編碼。根據當前CU的模式(普通AMVP模式或仿射AVMP模式),當前CU的MVD可以自適應地選擇如下: – 正常AMVP模式:四分之一亮度樣本、半亮度樣本、整數亮度樣本或四亮度樣本。 – 仿射AMVP模式:四分之一亮度樣本、整數亮度樣本或1/16亮度樣本。
如果當前CU具有至少一個非零MVD分量,則有條件地用信號通知CU級MVD分辨率指示。如果所有MVD分量(即,參考列表L0和參考列表L1的水平和垂直MVD)均為零,則推斷出四分之一亮度樣本MVD分辨率。
對於具有至少一個非零MVD分量的CU,用信號發送第一標識以指示四分之一亮度樣本MVD精度是否用於CU。如果第一個標識為0,則不需要進一步的信號傳輸,並且四分之一亮度樣本MVD精度用於當前CU。否則,發出第二個標識以指示將半亮度樣本或其他MVD精度(整數或四亮度樣本)用於正常的AMVP CU。在半亮度樣本的情況下,半亮度樣本位置使用 6 抽頭插值濾波器而不是默認的 8 抽頭插值濾波器。否則,用信號發送第三個標識以指示是將整數亮度樣本還是四亮度樣本MVD精度用於正常AMVP CU。在仿射 AMVP CU 的情況下,第二個標識用於指示是否使用整數亮度樣本或1/16亮度樣本MVD精度。為了確保重建的MV具有預期的精度(四分之一亮度樣本、半亮度樣本、整數亮度樣本或四亮度樣本),CU的運動向量預測因子將四捨五入為相同的、與 MVD 相加之前的MVD精度。運動向量預測值向零舍入(即,負運動向量預測值向正無窮大捨入,正運動向量預測值向負無窮大捨入)。
編碼器使用RD檢查確定當前CU的運動向量分辨率。為了避免總是對每個MVD分辨率執行四次CU級RD檢查,除四分之一亮度樣本之外的MVD精度的RD檢查僅在VTM11中有條件地調用。對於正常的AVMP模式,首先計算四分之一亮度樣本MVD精度和整數亮度樣本MV精度的RD成本。然後,將整數亮度樣本MVD精度的RD成本與四分之一亮度樣本MVD精度的RD成本進行比較,以決定是否有必要進一步檢查四亮度樣本MVD精度的RD成本。當四分之一亮度樣本MVD精度的RD成本遠小於整數亮度樣本MVD精度的RD成本時,將跳過四亮度樣本MVD精度的RD檢查。然後,如果整數亮度樣本MVD精度的RD成本明顯大於先前測試的MVD精度的最佳RD成本,則跳過半亮度樣本MVD 精度的檢查。對於仿射AMVP模式,如果在檢查仿射合併/跳過模式、合併/跳過模式、四分之一亮度樣本MVD精度正常的AMVP模式和四分之一亮度樣本MVD精度的率失真成本後未選擇仿射幀間模式、仿射AMVP 模式,則不檢查1/16亮度樣本 MV精度和1像素MV精度仿射幀間模式。此外,在四分之一亮度樣本MV精度仿射幀間模式中獲得的仿射參數被用作1/16亮度樣本和四分之一亮度樣本MV精度仿射幀間模式的起始搜索點。 具有 CU 級權重的雙向預測 (BCW)
在HEVC中,雙向預測信號 是通過對從兩個不同參考圖片和/或使用兩個不同運動向量獲得的兩個預測信號 進行平均而生成的。在VVC中,雙向預測模式被擴展到簡單的平均之外,以允許對兩個預測信號進行加權平均。
(3)
加權平均雙向預測允許五個權重,w {-2,3,4,5,10}。對於每個雙向預測的 CU,權重 w 由以下兩種方式之一確定:1)對於非合併 CU,權重索引在運動向量差異之後發出信號;2)對於合併CU,權重索引是根據合併候選索引從相鄰塊中推斷出來的。BCW僅適用於具有 256 個或更多亮度樣本的CU(即,CU寬度乘以CU高度大於或等於256)。對於低延遲圖片,使用所有5個權重。 對於非低延遲圖片,僅使用3個權重(w {3,4,5})。 在編碼器處,應用快速搜索算法來查找權重索引,而不會顯著增加編碼器的複雜性。這些算法總結如下。 詳細信息在VTM軟體和文件 JVET-L0646 中公開(Yu-Chi Su 等人,“CE4 相關:廣義雙向預測改進結合了 JVET-L0197 和 JVET-L0296”,聯合視頻專家組( JVET) of ITU-T SG 16 WP 3 與 ISO/IEC JTC 1/SC 29, 第十二次會議:澳門,2018年10月3-12,檔案: JVET-L0646)。 – 當與AMVR結合時,如果當前圖片是低延遲圖片,則僅針對1像素和4像素運動向量精度有條件地檢查不等權重。 – 當與仿射相結合時,當且僅當選擇仿射模式作為當前最佳模式時,才會對不等權重執行仿射 ME。 – 當雙向預測中的兩個參考圖片相同時,僅有條件地檢查不相等的權重。 – 當滿足某些條件時不搜索不等權重,這取決於當前圖片與其參考圖片之間的 POC 距離、編碼QP和時間級別。
BCW權重索引使用一個上下文編碼的bin和旁路編碼的bin進行編碼。 第一個上下文編碼的bin指示是否使用相等的權重; 如果使用了不等權重,則使用旁路編碼向附加箱(box)信號,以指示使用了哪個不等權重。
權重預測(WP)是一種受 H.264/AVC 和 HEVC 標準支持的編碼工具,可有效地對具有衰落的視頻內容進行編碼。 對 WP 的支持也被添加到 VVC 標準中。WP允許為每個參考圖片列表 L0 和 L1 中的每個參考圖片發送權重參數(權重和偏移)。然後,在運動補償期間,應用相應參考圖片的權重和偏移。WP和 BCW 專為不同類型的視頻內容而設計。為了避免WP和BCW之間的交互,這會使VVC解碼器設計複雜化,如果CU使用WP,則不通知BCW權重索引,並且權重w被推斷為 4(即應用相等的權重)。對於合併CU,權重索引是根據合併候選索引從相鄰塊中推斷出來的。這可以應用於普通合併模式和繼承仿射合併模式。對於構造的仿射合併模式,仿射運動信息是基於最多3個塊的運動信息構造的。使用構造的仿射合併模式的 CU 的 BCW 索引被簡單地設置為等於第一個控制點 MV 的 BCW 索引。
在VVC中,CIIP和BCW不能聯合申請一個CU。當一個CU使用CIIP模式編碼時,當前CU的BCW索引設置為2,即對於相等權重w=4。 相等權重暗示 BCW 指數的默認值。 組合幀間和幀內預測 (CIIP)
在VVC中,當CU以合併模式編碼時,如果CU包含至少64個亮度(luma)樣本(即CU寬度乘以CU高度等於或大於64),並且如果CU寬度和CU高度都小於 128 個亮度樣本,一個額外的標識被發送以指示組合幀間/幀內預測 (CIIP) 模式是否應用於當前 CU。正如其名稱所示,CIIP 預測將幀間預測信號與幀內預測信號組合在一起。CIIP模式 中的幀間預測信號是使用應用於常規合併模式的相同幀間預測過程導出的;並且幀內預測信號 是在具有平面模式的常規幀內預測過程之後導出的。然後,使用權重平均組合幀內和幀間預測信號,其中權重值 wt根據當前CU 1210的頂部和左側相鄰塊(如第12圖所示)的編碼模式計算如下: – 如果頂部鄰居可用且幀內編碼,則將isIntraTop設置為 1,否則將 isIntraTop設置為 0; – 如果左鄰居可用且幀內編碼,則將isIntraLeft設置為1,否則將isIntraLeft設置為0; – 如果(isIntraLeft + isIntraTop)等於2,則 wt設置為3; – 否則,如果(isIntraLeft + isIntraTop)等於1,則 wt設置為 2; – 否則,將 wt設置為1。
CIIP預測形成如下: (4) 幾何分區模式( Geometric Partitioning Mode ,簡稱 GPM
在VVC中,幾何分區模式(Geometric Partitioning Mode,簡稱GPM)可支援幀間預測,如JVET-W2002(Adrian Browne, et al., Algorithm description for Versatile Video Coding and Test Model 14 (VTM 14), ITU-T/ISO/IEC Joint Video Exploration Team (JVET), 23rd Meeting, by teleconference, 7–16 July 2021, document: document JVET-M2002)。幾何分區模式使用CU級標誌作為一種合併模式,其他合併模式包括常規合併模式、MMVD模式、CIIP模式和子塊合併模式。對於每個可能的CU大小,幾何分區模式總共支援64個分區,w×h=2m×2n 其中m,n {3…6},不包括8x64和64x8。GPM模式可應用於跳過或合併CU,該CU大小在上述限制內且具有至少兩種常規合併模式。
當使用這種模式時,CU被一定角度的幾何定位的直線分成兩部分。在VVC中,總共有20個角度和4個偏移距離用於GPM,這已比早期草案中的24個角度有所減少。分區線的位置根據特定分區的角度和偏移參數從數學上得出。在VVC中,共有64個分區,如第13圖所示,其中分區按角度分組,虛線表示冗餘分區。CU中幾何分區的每個部分都使用自己的運動進行幀間預測;每個分區只允許單向預測,即每個部分有一個運動向量和一個參考索引。在第13圖中,每條線對應一個分區的邊界。分區根據其角度分組。例如,分區組1310由三個垂直GPM分區(即90°)組成。分區組1320由四個與垂直方向成小角度的傾斜GPM分區組成。此外,分區組1330由三個垂直GPM分區(即270°)組成,類似於組1310,但方向相反。單向預測運動約束被應用以確保每個CU只需要兩次運動補償預測,與傳統的雙向預測相同。每個分區的單向預測運動使用稍後描述的處理導出。
如果幾何分區模式用於當前CU,則指示幾何分區的所選分區模式(角度和偏移)的幾何分區索引和兩個合併索引(每個分區一個)被進一步發送。最大GPM候選大小的數量在序列參數集合(Sequence Parameter Set,簡稱SPS)中顯式地表示,以及指定GPM合併索引的語法二值化。在預測幾何分區的每個部分之後,沿幾何分區邊緣的樣本值藉由使用稍後描述的處理的具有適應性權重的混合處理來調整。這是整個CU的預測訊號,和其他預測模式一樣,變換和量化處理將應用於整個CU。最後,使用稍後描述的處理,使用幾何分區模式預測的CU的運動場被存儲。 單向預測候選列表構建
單向預測候選列表直接從根據擴展合併預測處理構建的合併候選列表導出。將n表示為單向預測運動在幾何單向預測候選列表中的索引。第n個擴展合併候選的LX運動向量(X=0或1,即LX=L0或L1),其中X等於n的奇偶性,被用作第n個單向預測運動向量幾何分區模式。這些運動向量在第14圖中用“x”標記。如果不存在擴展合併候選的相應LX運動向量,則相同候選的L(1-X)運動向量代替幾何分區模式的單向預測運動向量。 沿幾何分區邊緣混合
在使用其自己的運動來預測幾何分區的每個部分之後,混合被應用於兩個預測訊號以導出幾何分區邊緣周圍的樣本。CU的每個位置的混合權重基於各個位置和分區邊緣之間的距離導出。
兩個整數混合矩陣(W0和W1)用於GPM混合處理。GPM混合矩陣中的權重包含[0, 8]的取值範圍,以及基於從樣本位置到GPM分區邊界1540的位移導出,如第15圖所示。
具體地,權重由具有位移和兩個閾值的離散斜坡函數給出,如第16圖所示,其中斜坡的兩個端點(即,-τ和τ)對應於第15圖中的行1542和1544。
這裡,閾值τ定義GPM混合區域的寬度以及被選擇為VVC中的固定值。也就是說,如JVET-Z0137(Han Gao, et. al., “Non-EE2: Adaptive Blending for GPM”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, 20–29 April 2022, JVET- Z0137)所述,對於所有不同的內容,混合強度或混合區域寬度θ是固定的。
混合遮罩中的權重值可以由梯度函數給出:
在當前ECM(VVC)設計中固定θ=2像素的情況下,此梯度函數可以被量化為: (6)
位置(x,y)到分區邊緣的距離被導出為: (7) (8) (9) (10)
其中 i, j是幾何分區的角度和偏移量的索引,其取決於發送的幾何分區索引。 ρ x,j ρ y,j 的符號取決於角度索引 i
第17圖示出根據ECM 4.0 (Muhammed Coban, et. al., “Algorithm description of Enhanced Compression Model 4 (ECM 4)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, 20–29 April 2022, JVET- Y2025)的GPM混合的示例。在第17圖中,分區邊界每側的混合區域大小用 表示。幾何分區的每個部分的權重推導如下: (11) (12) (13)
partIdx取決於角度索引 i。權重 w 0 的一個示例如第15圖所示,其中角度 1510和偏移量 1520指示GPM索引 i,點1530對應於塊的中心。行1540對應於GPM分區邊界。 幾何分區模式的運動場存儲
來自幾何分區的第一部分的Mv1、來自幾何分區的第二部分的Mv2以及Mv1和Mv2的組合MV被存儲在由幾何分區模式編解碼的CU的運動場中。
運動場中每個單獨位置的存儲運動向量類型被決定為: (14)
其中motionIdx等於d(4x+2,4y+2),其從等式(7)重新計算得到。partIdx 取決於角度索引 i
如果sType等於0或1,則Mv0或Mvl存儲在相應的運動場中,否則如果sType等於2,則來自Mv0和Mv2的組合MV被存儲。組合的Mv使用以下處理被生成: 1)如果Mv1和Mv2來自不同的參考圖片列表(一個來自L0,另一個來自 L1),則Mv1和Mv2被簡單地組合以形成雙向預測運動向量。 2)否則,如果Mv1和Mv2來自同一個列表,則僅單向預測運動Mv2被存儲。 對稱 MVD ( Symmetric MVD SMVD) 編碼
在VVC中,除了正常的單向預測和雙向預測模式MVD信令之外,還應用用於雙向預測MVD信令的對稱MVD模式。在對稱MVD模式中,包括列表0和列表1兩者的參考圖片索引以及列表1的MVD的運動信息不是用信號通知的而是導出的。
對稱MVD模式的解碼過程如下: 1. 在切片級別,變量BiDirPredFlag、RefIdxSymL0和RefIdxSymL1的推導如下: - 如果 mvd_l1_zero_flag為1,則BiDirPredFlag設置為等於0。 - 否則,如果list-0中最近的參考圖片和list-1中最近的參考圖片形成前向和後向參考圖片對或後向和前向參考圖片對,則BiDirPredFlag被設置為1,並且list-0和list-1參考圖片為短期參考圖片。否則BiDirPredFlag設置為0。 2. 在CU級別,如果CU是雙向預測編碼且BiDirPredFlag等於1,則顯式用信號通知指示是否使用對稱模式的對稱模式標誌。
當對稱模式標誌為真時,僅顯式地用信號通知mvp_l0_flag、mvp_l1_flag和MVD0。list-0和list-1的參考索引分別設置為等於參考圖片對。MVD1設置為等於(-MVD0)。最終的運動矢量如下式所示。
在編碼器中,對稱MVD運動估計從初始MV評估開始。一組初始MV候選,包括從單向預測搜索獲得的MV、從雙向預測搜索獲得的MV以及來自AMVP列表的MV。選擇率失真成本最低的一個作為對稱MVD運動搜索的初始MV。
第18圖示出了對稱MVD模式的示例,其中幀1800、1810和1820分別對應於當前圖片、列表0參考圖片和列表1參考圖片。根據初始MV評估,塊1802對應於當前塊,塊1814和1822對應於參考塊。通過搜索初始MV來確定最終MV,並且選擇最低成本位置作為最終參考塊(1812和1819)。MVD的標號為1818和1826。 多假設預測 ( Multi-Hypothesis Prediction MHP)
在多假設幀間預測模式 (JVET-M0425)中,除了傳統的雙向預測信號之外,還發出一個或多個附加運動補償預測信號。最終的整體預測信號是通過樣本權重疊加獲得的。利用雙向預測信號 和第一附加幀間預測信號/假設 ,得到的結果預測信號 如下: (17)
根據以下映射(表3),權重因子α由新語法元素 add_hyp_weight_idx 指定: 表3. 將 α 映射到 add_hyp_weight_idx
add_hyp_weight_idx
0 1/4
1 -1/8
與上文類似,可以使用一個以上的附加預測信號。得到的整體預測信號與每個附加預測信號一起迭代累積。 (18)
作為最後的 (即,具有最大索引n的 )獲得所得的整體預測信號。例如,最多可以使用兩個額外的預測信號(即,n限制為 2)。
每個附加預測假設的運動參數可以通過指定參考索引、運動向量預測值索引和運動向量差來顯式地用信號發送,或者通過指定合併索引來隱式地用信號發送。一個單獨的多假設合併標識區分這兩種信號模式。
對於幀間AMVP模式,只有在雙向預測模式下選擇BCW中的非等權重時才應用MHP。VVC的MHP的詳細信息可以在JVET-W2025中找到(Muhammed Coban 等人,「增強壓縮模型 2(ECM 2)的算法描述」,ITU-T SG 16 WP 3 的聯合視頻專家組(JVET) 和 ISO/IEC JTC 1/SC 29,第 23 次會議,電話會議,2021 年 7 月 7-16 日,文件:JVET-W2025)。 GPM 擴展
GPM模式的幾種變化(JVET-W0097 (Zhipin Deng, et. al., “AEE2-related: Combination of EE2-3.3, EE2-3.4 and EE2-3.5”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, 7–16 July 2021, Document: JVET- W0097)和JVET-Y0065 (Yoshitaka Kidani, et. al., “EE2-3.1: GPM with inter and intra prediction (JVET-X0166)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by teleconference, 12–21 January 2022, Document: JVET- Y0065))已經提出提高VVC中GPM模式的編解碼效率。這些方法被納入探索實驗(exploration experiment,簡稱EE2)進行進一步評估,主要技術方面描述如下:
EE2-3.3 關於具有 MMVD GPM GPM-MMVD :1)額外的MVD被添加到現有的GPM合併候選;2)MVD的信號發送方式與VVC中的MMVD相同,即一個距離索引加一個方向索引;3)發出兩個標誌以分別控制MMVD是否應用於每個GPM分區。
EE2-3.4-3.5 關於具有模板匹配的 GPM GPM-TM :1)藉由基於當前CU的左上相鄰樣本細化GPM MV,將模板匹配擴展到GPM模式;2)根據GPM拆分方向選擇模板樣本;3)發出一個標誌以共同控制是否將模板匹配應用於兩個GPM分區的MV。
JVET-W0097提出EE2-3.3、EE2-3.4和EE2-3.5的組合以進一步提高GPM模式的編解碼效率。具體而言,在提議的組合中,EE2-3.3、EE2-3.4和EE2-3.5中的現有設計保持不變,同時進一步進行以下修改以協調兩種編解碼工具: 1) GPM-MMVD和GPM-TM專用於一個GPM CU。這是藉由首先用發送GPM-MMVD語法來完成。當兩個GPM-MMVD控制標誌都等於假(即,GPM-MMVD對兩個GPM分區禁用)時,GPM-TM標誌被發送以指示模板匹配是否應用於兩個GPM分區。否則(至少一個GPM-MMVD標誌等於真),GPM-TM標誌的值被推斷為假。 2) EE2-3.3和EE2-3.4-3.5中的GPM合併候選列表生成方法直接結合EE2-3.4-3.5中的MV修剪方案(其中MV修剪閾值根據當前CU大小進行調整)用於替換EE2-3.3中應用的默認MV修剪方案;此外,與EE2-3.4-3.5一樣,多個零MV被添加,直到GPM候選列表被完全填滿。
在JVET-Y0065中,在具有幀間和幀內預測的GPM(或命名為GPM幀内)中,最終預測樣本藉由對每個GPM分隔區域的幀間預測樣本和幀內預測樣本進行加權來生成。幀間預測樣本藉由與當前ECM中的GPM相同的方案導出,而幀內預測樣本藉由幀內預測模式(intra prediction mode,簡稱IPM)候選列表和從編碼器發出的索引訊號導出。IPM候選列表大小被預先定義為3。如第19A-C圖所示,可用的IPM候選是相對GPM塊邊界的平行角模式(平行模式),相對GPM塊邊界的垂直角模式(垂直模式),以及平面模式(Planar mode)。此外,如第19D圖所示,具有幀內和幀內預測的GPM在所提出的方法中受到限制,以減少IPM的信令開銷並避免硬體解碼器上幀內預測電路的大小增加。此外,直接運動向量和IPM存儲在GPM混合區域引入,以進一步提高編解碼性能。 空間 GPM
類似於幀間GPM,空間GPM(Spatial GPM,簡稱SGPM)由一個分區模式和兩個關聯的幀內預測模式組成。如果這些模式直接在位元流中發送,如第20A圖所示,它將產生大量的開銷位元。為了在位元流中更有效地表達必要的分區和預測資訊,候選列表被應用以及在位元流中僅發送候選索引。如第20B圖所示,列表中的每個候選都可以導出一種分區模式和兩種幀內預測模式的組合。
模板被用來生成該候選列表。模板的形狀如第21圖所示。對於一種分區模式和兩種幀內預測模式的每種可能組合,對模板生成預測,以及將分區權重擴展到模板,如第26圖所示。這些組合基於模板的預測和重構按其SATD的昇冪排列。候選列表的長度被設置為16,這些候選被認為是當前塊最可能的SGPM組合。編碼器和解碼器都基於模板構建相同的候選列表。
為了降低構建候選列表的複雜性,可能的分區模式的數量和可能的幀內預測模式的數量都被刪減。在下面的測試中,64種分區模式中的26種被使用,以及僅67種幀內預測模式中的MPM被使用。 用於 MV 細化的模板匹配
模板匹配(TM)是一種解碼器側MV導出方法,用於通過找到模板(即,當前CU2212的頂部2214和/或左側2216相鄰塊)之間最接近的匹配來細化當前CU的運動信息。如第22圖所示,當前圖片2210和參考圖片2220中的塊(即,模板中相同大小的塊2224和2226)。在第22圖中,在當前圖片的初始MV2230周圍搜索更好的MV。當前圖片2210的CU2212在由初始MV2230所指向的參考圖片2220中的位置2228周圍的[–8,+8]像素搜索範圍2222內。JVET-J0021中的模板匹配方法與以下一起使用修改:搜索步長根據AMVR模式確定,TM可以與合併模式下的雙向匹配過程級聯(cascaded)。
在AMVP模式中,根據模板匹配誤差來確定MVP候選,以選擇當前塊模板與參考塊模板之間的差異最小的MVP候選。然後僅針對該特定MVP候選執行TM以進行MV細化。TM通過使用從[–8, +8]像素搜索範圍內的全像素MVD精度(或針對4像素AMVR模式的4像素)開始的迭代菱形搜索來細化此MVP候選。AMVP候選可以通過使用具有全像素MVD精度(或針對4像素AMVR模式的4像素)的交叉搜索來進一步細化,然後根據表4中指定的AMVR模式依次使用半像素和四分之一像素的搜索,此搜索過程確保MVP候選者在TM過程後仍保持與AMVR模式指示的相同MV精度。在搜索過程中,如果迭代中前一次最小成本與當前最小成本之差小於等於塊面積的閾值,則搜索過程終止。 表 4. AMVR的搜索模型以及與AMVR的混合模式
搜索模型 AMVR模式 混合模式
4- 像素 - 像素 - 像素 1 /4 - 像素 AltIF=0 AltIF=1
4-像素對角綫 v
4-像素交叉 v
全像素對角綫 v v v v v
全像素交叉 v v v v v
半像素交叉 v v v v
1/4像素交叉 v v
1/8像素交叉 v
在合併模式中,類似的搜索方法被應用於由混合索引指示的混合候選。如表4所示,TM可以一直執行到1/8像素MVD精度,或者跳過超過半像素MVD精度的精度,具體取決於是否根據合併的運動信息來使用替代插值濾波器(用於 AMVR為半像素模式)。此外,當啟用TM模式時,模板匹配可以作為基於塊和基於子塊的雙邊匹配(bilateral matching,BM)方法之間的獨立過程或額外的MV細化過程,具體取決於BM是否可以根據其啟用而啟用狀況檢查。
在VVC中,提出了一些幀間工具作為快捷模式來減少運動候選的語法開銷。最初,對於每個方向(列表0或列表1),雙向預測運動候選者需要以下語法來獲取其運動信息,如VVC標準的表5所示: - 參考索引 - MVD - MVP索引 表5.運動信息之語法表
              if( inter_pred_idc[ x0 ][ y0 ]  !=  PRED_L1 ) {
                   if( NumRefIdxActive[ 0 ] > 1  &&  !sym_mvd_flag[ x0 ][ y0 ] )
                        ref_idx_l0[ x0 ][ y0 ] ae(v)
                   mvd_coding( x0, y0, 0, 0 )
                   if( MotionModelIdc[ x0 ][ y0 ] > 0 )
                        mvd_coding( x0, y0, 0, 1 )
                   if(MotionModelIdc[ x0 ][ y0 ] > 1 )
                        mvd_coding( x0, y0, 0, 2 )
                   mvp_l0_flag[ x0 ][ y0 ] ae(v)
              } else {
                   MvdL0[ x0 ][ y0 ][ 0 ] = 0
                   MvdL0[ x0 ][ y0 ][ 1 ] = 0
              }
              if( inter_pred_idc[ x0 ][ y0 ]  !=  PRED_L0 ) {
                   if( NumRefIdxActive[ 1 ] > 1  &&  !sym_mvd_flag[ x0 ][ y0 ] )
                        ref_idx_l1[ x0 ][ y0 ] ae(v)
                   if( ph_mvd_l1_zero_flag  &&  inter_pred_idc[ x0 ][ y0 ]  = =  PRED_BI ) {
                        MvdL1[ x0 ][ y0 ][ 0 ] = 0
                        MvdL1[ x0 ][ y0 ][ 1 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 0 ][ 0 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 0 ][ 1 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 1 ][ 0 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 1 ][ 1 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 2 ][ 0 ] = 0
                        MvdCpL1[ x0 ][ y0 ][ 2 ][ 1 ] = 0
                   } else {
                        if( sym_mvd_flag[ x0 ][ y0 ] ) {
                             MvdL1[ x0 ][ y0 ][ 0 ] = -MvdL0[ x0 ][ y0 ][ 0 ]
                             MvdL1[ x0 ][ y0 ][ 1 ] = -MvdL0[ x0 ][ y0 ][ 1 ]
                        } else
                             mvd_coding( x0, y0, 1, 0 )
                        if( MotionModelIdc[ x0 ][ y0 ] > 0 )
                             mvd_coding( x0, y0, 1, 1 )
                        if(MotionModelIdc[ x0 ][ y0 ] > 1 )
                             mvd_coding( x0, y0, 1, 2 )
                   }
                    mvp_l1_flag[ x0 ][ y0 ] ae(v)
              } else {
                   MvdL1[ x0 ][ y0 ][ 0 ] = 0
                   MvdL1[ x0 ][ y0 ][ 1 ] = 0
              }
當啟用SMVD時,如SMVD編碼部分中所述,列表0和列表1的參考索引分別設置為等於參考圖片對,並且MVD1設置為等於(-MVD0),而無需附加信令。為了提高這類快捷工具的性能,本發明提出在編碼器和解碼器側都執行使用模板的推導過程。本發明背後的關鍵思想是擴展可能的MVD的選擇並使用模板匹配來幫助在MVD候選集合中選擇最終MVD候選,從而避免或減少信令開銷。具體地,基於當前塊的模板和參考塊的相應模板的匹配成本可以被評估並用於對MVD候選進行排序。可以選擇實現最小成本的MVD作為最終的MVD。 第22圖所示的模板包括頂部模板和左側模板。然而,模板通常覆蓋當前塊的一些已經編碼的相鄰樣本。類似地,參考塊的對應模板覆蓋參考塊的相鄰樣本。
對於每個MVD候選,計算當前塊的模板與根據MVD候选和MVP確定的參考塊之間的匹配成本。換句話說,根據MV候选和當前塊位置來定位參考塊,其中MV候選是基於MVD候选和MVP來確定的。類似地,MV候選也用於定位參考塊的對應模板。
下面我們以快捷工具SMVD為例。然而,SMVD的使用不應被解釋為對本發明的限制。本發明可以應用於單向預測或雙向預測。例如,本發明可以用於標準中提到的任何單向預測或雙向預測幀間工具或上述幀間工具。當應用於MHP、CIIP和/或GPM時,針對預定義方向(列表0或列表1)的至少一種運動和/或針對一種或多種預定義預測假設的至少一種運動被細化。當應用於仿射或子塊幀間預測模式時,利用本發明細化預定義方向(列表0或列表1)的至少一種運動和/或一個或多個預定義子塊的至少一種運動。當應用於BCW時,利用本發明細化針對預定義方向(列表0或列表1)的至少一種運動。當應用於MMVD時,利用本發明細化預定義方向(列表0或列表1)的至少一個運動(指MVD距離(或偏移)和/或MVD方向)。當利用本發明細化列表0和列表1的運動時,預先定義使用或不使用細化列表0來先細化列表0然後細化列表1,或使用或不使用細化列表1來先細化列表1然後細化列表0的細化順序。
在一個實施例中,根據分別在編碼器或解碼器處顯式用信號通知或解析的MVD0,預先定義候選集合。然後,根據推導過程,從候選集中選擇一個候選作為當前塊的MVD1。
在一個子實施例中,推導過程是指模板匹配。從候選集合中選擇具有最小模板匹配誤差的候選作為當前塊的MVD1。
在另一子實施例中,候選集合取決於來自列表0的用信號發送/解析的信息。例如,候選集取決於MVD0,其中MVD0在此也被稱為初始MVD。
在另一子實施例中,候選集合包括-2MVD0、-(1/2)*MVD0、0、(1/2)*MVD0、2*MVD0、或所提到的候選的任何子集。
在另一個子實施例中,候選集合包括-2MVD0、-MVD0、-(1/2)*MVD0、0、(1/2)*MVD0、MVD0、2*MVD0、或所提到的候選的任何子集。
在另一個子實施例中,候選集合包括-4MVD0、-2MVD0、-MVD0、-(1/2)*MVD0、-(1/4)*MVD0、0、(1/4)*MVD0、(1 / 2)*MVD0、MVD0、2MVD0、4MVD0或上述候選的任何子集。
在另一個子實施例中,候選集合包括-kMVD0、-(k/2)*MVD0、-(k/4)*MVD0、…、-MVD0、…、-(1/k)*MVD0、0、 ( 1/k)*MVD0、...MVD0、2MVD0、4MVD0、...、kMVD0或上述候選的任何子集。k是正整數。例如,k=16,候選集包括-16MVD0、-8MVD0、-4MVD0、-2MVD0、-MVD0、-(1/2)*MVD0、-(1/4)*MVD0、-(1/8) *MVD0、-(1/16)*MVD0、0、(1/16)*MVD0、(1/8)*MVD0、(1/4)*MVD0、(1/2)*MVD0、MVD0、2MVD0、4MVD0、8MVD0、16MVD0或上述候選的任何子集。
在另一個子實施例中,候選集合包括-MVD0+b和-MVD0-b,其中b可以是預定義搜索範圍內的任何值,或者是所提候選的任何子集。舉例來説,如表6所示,b可以依賴於中的候選索引 表6. b依賴於候選索引
候選索引 0 1 2 3 4 5 6 7
b(以亮度樣本為單位) 1/4 1/2 1 2 4 8 16 32
在另一實施例中,候選集合(包括符號信息)是預先定義的。 後,根據推導過程,從候選集中選擇一個候選來決定MVD1推導中使用的符號。
在一個子實施例中,候選集合包括正號和負號。如果選擇正號,則MVD1設置為k*MVD0;否則,MVD1設置為–k*MVD0。例如,k被預定義為1。又例如,k通過塊級、SPS級、PPS級、APS級、PH級和/或SH級語法的顯式信令來決定。又例如,k是通過隱式推導過程決定的。
在另一個子實施例中,推導過程是指模板匹配。選擇模板匹配誤差最小的候選者(來自候選集合)。
在另一個實施例中,候選集合是預先定義的。然後,根據推導過程,從候選集合中選擇一個候選來決定當前塊的MVD0和MVD1。
在另一個子實施例中,候選集合包括-k*delta、-(k/2)*delta、-(k/)4*delta、…、-delta、…、-(1/k)*delta、 0 、(1/k)* delta、… delta、2 * delta、4* delta、…、k* delta或上述候選的任何子集。k是正整數。例如,k=16:候選集合包括-16*delta、-8*delta、-4*delta、-2*delta、-delta、-(1/2)*delta、-(1/4)* delta,- (1/8)* delta,- (1/16)* delta,0,(1/16)* delta,(1/8)* delta,(1/4)* delta, (1/2) )* delta、delta、2*delta、4*delta、8*delta、16*delta或上述候選的任何子集。增量delta可以是預定義搜索範圍內的任何值。
在另一個子實施例中,候選集合包括a和-a(或上述候選的任何子集)可以取決於表7中指定的候選索引。 表7. a依賴於候選索引
候選索引 0 1 2 3 4 5 6 7
a (以亮度樣本為單位) 1/4 1/2 1 2 4 8 16 32
在另一子實施例中,候選集合根據當前塊的AMVR而變化。
在另一子實施例中,當前塊的MVD0和MVD1被設置為(MVD0+所選擇的候選者)和(-MVD0-所選擇的候選者)。
在另一個子實施例中,推導過程是指模板匹配。選擇模板匹配誤差最小的候選者(來自候選者集合)。
模板匹配誤差可以是通過SATD(絕對變換差值之和)、SAD(絕對差值之和)、MSE(均方誤差)、SSE(平方誤差之和)或任何失真測量方程/度量計算的失真。例如,本發明中的模板匹配如下所示。 - 步驟1:使用模板(或當前塊的相鄰區域,在當前塊之前編碼或解碼)來測量每個候選的成本。 - 步驟2:對於每個候選,通過模板的“預測”和重建之間的失真來計算模板成本(模板匹配誤差)。 ■  通過將帶有運動的快捷模式(例如SMVD)或MVD(使用候選)應用於模板來生成“預測”。
本發明中提出的方法可以根據隱式規則(例如塊寬度、高度或面積)或根據顯式規則(例如關於塊、片(tile)、切片(slice)、圖片、SPS或PPS級別的語法)來啟用和/或禁用。例如,當塊面積大於閾值時,應用所提出的方法。又例如,當較長塊邊大於或等於閾值(例如2)乘以較短塊邊時,應用所提出的方法。
本發明中的術語“塊”可以指TU/TB、CU/CB、PU/PB、預定義區域或CTU/CTB。
本發明中的AMVP類似於JVET-T2002中的“AMVP”(Jianle Chen等人,“通用視頻編碼和測試模型11的算法描述和測試模型11(VTM 11)”,ITU的聯合視頻專家組(JVET ) T SG 16 WP 3 和 ISO/IEC JTC 1/SC 29,第 20 次會議,通過電話會議,2020 年 10 月 7 日至 16 日,文件:JVET-T2002)。AMVP運動來自語法“混合標誌”等於假(false)的運動候選,例如,VVC中的general_merge_flag等於false。
可以應用本發明中所提出的方法的任何組合。例如,雖然分別描述了候選集合依賴於MVD0的實施例和從候選集合中選擇具有最小模板匹配誤差的候選作為當前塊的MVD1的實施例,但這兩個實施例的組合顯然落入了誤區。在本發明的範圍內。例如,一個實施例是預定義候選集合並且根據推導過程,從候選集合中選擇一個候選來推導當前塊的列表0和/或列表1的MVD,而另一實施例是應用於MMVD。兩個實施例的組合將是通過測試更多候選細化位置和細化方向來細化MMVD偏移和/或方向(用於導出當前MMVD編碼塊的列表0和/或列表1的MVD)不是由MMVD信令直接指示的,而是在候選集合中預定義的。當定義候選集合時,可以考慮或不考慮與MMVD偏移和/或方向相關的MMVD信令來導出候選集合中的候選。
任何前述提出的用於使用混合預測器的編碼工具的自適應預測器混合方法可以在編碼器和/或解碼器中實現。例如,混合預測器對應於兩個幀內預測器或者幀內和幀間預測器的混合,其可以在編碼器的幀間/幀內/預測模塊和/或解碼器的幀間/幀內/預測模塊中實現。例如,在編碼器側,所需的處理可以作為如第1A圖所示的幀間預測單元112和/或幀内預測單元110一部分來實現。然而,編碼器還可以使用額外的處理單元來實現所需的處理。對於解碼器側,所需的處理可以被實現為如第1B圖所示的MC單元152和/或幀內預測150的一部分。然而,解碼器還可以使用額外的處理單元來實現所需的處理。或者,任何所提出的方法可以被實現為耦合到編碼器的幀間/幀內/預測模塊和/或解碼器的幀間/幀內/預測模塊的電路,以便提供幀間/幀內/預測模塊所需的信息。幀內/預測模塊。幀間預測112和幀内預測110在編碼器側以及解碼器側的MC152和幀内預測150被示出為單獨的處理單元,它們可以對應於存儲在介質(例如硬盤或閃存)上的可執行軟體或軔體代碼,用於CPU(中央處理單元)或可編程設備(例如DSP(數字數字處理器)信號處理器)或FPGA(現場可編程門陣列)。
第23圖示出了根據本發明實施例的利用模板匹配在一組MVD候選中選擇MVD的示例性視頻編碼系統的流程圖。流程圖中所示的步驟可以被實現為在編碼器側的一個或多個處理器(例如,一個或多個CPU)上可執行的程序代碼。流程圖中所示的步驟還可以基於硬體來實現,例如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器。根據該方法,在步驟2310中接收與編碼器側的當前塊相關聯的資料或與要在解碼器側解碼的當前塊相關聯的已編碼資料,其中使用單向預測或雙向預測對當前塊進行編解碼。在步驟2320中確定當前塊的第一MVP(運動矢量預測,Motion Vector Predictor)和第二MVP中的至少一個。在步驟2330中,基於匹配成本來確定來自至少一個預定義MVD候選集合的,與第一MVP相關聯的第一MVD(MV差)和與第二MVP相關聯的第二MVD中的至少一個。步驟2330包括分別用於單向預測和雙向預測的兩條路徑2332和2334。在步驟2332中,在當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中一個或多個預測樣本來自由單向預測候選MV指向的每個參考塊的一個或多個相應相鄰樣本,其中單向預測候選MV是基於所述至少一個預定義的MVD候選集合中的一個MVD候選以及第一MVP和第二MVP之一來確定。在步驟2334中,在當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中一個或多個預測樣本來自雙向預測候選MV指向的每個參考塊的一個或多個對應相鄰樣本,其中雙向預測候選MV是基於:第一MVP、第二MVP、以及所述至少一個預定義的MVD候選集合中的候選來確定。在步驟2340中,通過使用包括與第一MVP和第一MVD相關聯的第一最終MV以及與第二MVP和第二MVD相關聯的第二最終MV中的至少一個的運動信息來對當前塊進行編碼或解碼。
所示流程圖旨在說明根據本發明的視頻編碼的示例。在不脫離本發明的精神的情況下,本領域的技術人員可以修改每個步驟、重新安排步驟、拆分步驟或組合步驟來實施本發明。在本公開中,已經使用特定語法和語義來說明示例以實現本發明的實施例。在不脫離本發明的精神的情況下,技術人員可以通過用等同的句法和語義替換句法和語義來實施本發明。
提供以上描述是為了使本領域普通技術人員能夠實踐在特定應用及其要求的上下文中提供的本發明。對所描述的實施例的各種修改對於本領域技術人員而言將是顯而易見的,並且本文定義的一般原理可以應用於其他實施例。因此,本發明並不旨在限於所示出和描述的特定實施例,而是符合與本文公開的原理和新穎特徵一致的最寬範圍。在以上詳細描述中,舉例說明了各種具體細節以提供對本發明的透徹理解。然而,本領域的技術人員將理解可以實施本發明。
如上所述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實現。例如,本發明的一個實施例可以是集成到視頻壓縮芯片中的一個或多個電路電路或者集成到視頻壓縮軟體中的程序代碼以執行這裡描述的處理。本發明的實施例還可以是要在數字信號處理器(DSP)上執行以執行這裡描述的處理的程序代碼。本發明還可以涉及由計算機處理器、數字信號處理器、微處理器或現場可編程門陣列(FPGA)執行的許多功能。 這些處理器可以被配置為通過執行定義由本發明體現的特定方法的機器可讀軟體代碼或軔體代碼來執行根據本發明的特定任務。軟體代碼或軔體代碼可以以不同的編程語言和不同的格式或風格來開發。也可以為不同的目標平台編譯軟體代碼。 然而,軟體代碼的不同代碼格式、風格和語言以及配置代碼以執行根據本發明的任務的其他方式都不會脫離本發明的精神和範圍。
在不脫離其精神或基本特徵的情況下,本發明可以以其他特定形式體現。 所描述的示例在所有方面都應被視為說明性而非限制性的。因此,本發明的範圍由所附權利要求而不是由前述描述來指示。落入權利要求等同物的含義和範圍內的所有變化都應包含在其範圍內。
110:幀內預測 112:幀間預測 114:開關 116:加法器 118:變換(T) 120:量化(Q) 122:熵編碼器 130:環路濾波器 124:反量化(IQ) 126:反變換(IT) 128:重建(REC) 136:預測資料 134:參考圖片緩衝器 140:熵解碼器 150:幀內預測 152:運動補償 210、410:當前CU 420:并置CU 430、440:運動向量 610:L0參考塊 620:L1參考塊 612、622:起點 710:塊 910、1010:當前塊 1110、1112:行 1122、1124、1126:箭頭 1120:圖例 1210:當前CU 1310:組 1320:分區組 1330:分區組 1510:角度 1520:偏移量 1530:點 1540:行 1542:行 1544:行 1800、1810、1820:幀 1802、1814、1822:塊 1812、1819:最終參考塊 1818、1826:MVD 2212:當前CU 2214:頂部 2216:左側 2210:當前圖片 2220:參考圖片 2224、2226:塊 2230:MV 2228:位置 2222:搜索範圍 2310-2340:步驟
第1A圖示出了結合循環處理的示例性自適應幀間/幀內視頻編碼系統。 第1B圖示出了第1A圖中的編碼器的相應解碼器。 第2圖示出了用於導出VVC的空間合併候選者的相鄰塊。 第3圖說明了VVC中冗餘校驗所考慮的可能候選對。 第4圖示出了時間候選導出的示例,其中根據POC(圖片順序計數)距離導出縮放的運動矢量。 第5圖示出了在候選C0和C1之間選擇的時間候選的位置。 第6圖示出了根據MVD合併模式(MMVD)在水平和垂直方向上距起始MV的距離偏移。 第7A圖示出了由兩個控制點的運動信息(4參數)描述的塊的仿射運動場的示例。 第7B圖示出了由三個控制點運動矢量(6參數)的運動信息描述的塊的仿射運動場的示例。 第8圖示出了基於塊的仿射變換預測的示例,其中每個4×4亮度子塊的運動矢量是從控制點MV導出的。 第9圖示出了基於相鄰塊的控制點MV導出繼承仿射候選的示例。 第10圖示出了構造仿射合併模式的候選者的位置的示例。 第11圖示出了通過組合來自空間鄰居和時間的每個控制點的平移運動信息來構建仿射候選者的示例。 第12圖示出了根據頂部和左側相鄰塊的編碼模式的組合幀間和幀內預測(CIIP)的權重值推導的示例。 第13圖示出了VVC標準中使用的64個分區的示例,其中分區根據它們的角度進行分組,並且虛線表示冗餘分區。 第14圖示出了幾何分區模式的單向預測MV選擇的示例。 第15圖示出了使用幾何劃分模式的彎曲權重 的示例。 第16圖示出了根據邊界周圍混合區域的離散斜坡函數的GPM混合過程的示例。 第17圖示出了用於ECM 4.0中的GPM混合的GPM混合過程的示例。 第18圖示出了對稱MVD模式的示例。 第19A-19C圖示出了可用IPM候選的示例:相對於GPM塊邊界的平行角模式(平行模式,第19A圖)、相對於GPM塊邊界的垂直角模式(垂直模式,第19B圖)以及平面模式(第19C圖)。 第19D圖示出了具有幀內和幀內預測的GPM的示例,其中幀內預測被限制以減少IPM的信令開銷和硬體解碼器成本。 第20A圖示出了在使用簡化方法之前用於空間GPM(SGPM)的語法編碼。 第20B圖示出了空間GPM(SGPM)的簡化語法編碼的示例。 第21圖示出了用於生成該候選列表的模板的形狀的示例。 第22圖示出了用於通過搜索初始MV周圍的區域來細化初始MV的模板匹配的示例。 第23圖示出了根據本發明實施例的利用模板匹配在一組MVD候選中選擇MVD的示例性視頻編碼系統的流程圖。
2310-2340:步驟

Claims (18)

  1. 一種視頻編解碼方法,該方法包括: 接收與當前塊相關聯的輸入資料,其中輸入資料包括在編碼器側要編碼的當前塊的像素資料或在解碼器側與要解碼的所述當前塊相關聯的已編碼資料,並且其中對所述當前塊使用單向預測或雙向預測進行編解碼; 確定所述當前塊的第一運動矢量預測子(MVP)和第二MVP中的至少一個; 基於匹配成本從至少一個MV差(MVD)候選預定義集合中確定與所述第一MVP相關聯的第一MVD和與第二MVP相關聯的第二MVD中的至少一個,包括以下至少之一: 響應於使用所述單向預測對所述當前塊進行編解碼,在所述當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中所述一個或多個預測樣本來自由單向預測候選MV所指向的每個參考塊的一個或多個相應相鄰樣本的一個或多個預測樣本,其中所述單向預測候選MV是基於所述至少一個預定義MVD候選集合中的一候選以及所述第一MVP和所述第二MVP之一; 響應於使用所述雙向預測對所述當前塊進行編解碼,在所述當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中所述一個或多個預測樣本來自由雙向預測候選MV所指向的每個參考塊的一個或多個相應相鄰樣本,其中所述雙向預測候選MV是基於至少第一MVP、第二MVP和所述至少一個預定義MVD候選集合中的候選的;以及 通過使用包括與所述第一MVP和第一MVD相關聯的第一最終MV以及與第二MVP和第二MVD相關聯的第二最終MV中的至少一個的運動信息來對所述當前塊進行編碼或解碼。
  2. 如請求項1所述的方法,其中響應於使用單向預測對所述當前塊進行編解碼,選擇實現最小匹配成本的單向預測候選MV來導出所述第一最終MV和所述第二最終MV中的至少一個。
  3. 如請求項1所述的方法,其中響應於使用雙向預測對所述當前塊進行編解碼,選擇實現最小匹配成本的雙向預測候選MV來導出第一最終MV和第二最終MV中的至少一個。
  4. 如請求項1所述的方法,其中響應於使用所述單向預測對所述當前塊進行編解碼,所述至少一個預定義的MVD候選集合僅對應於一個預定義的MVD候選集合,用於推導列表0或列表1中的單向預測候選MV。
  5. 如請求項1所述的方法,其中響應於使用所述雙向預測對所述當前塊進行編解碼,所述至少一個預定義MVD候選集合僅對應於用於推導所述雙向預測候選MV的一個預定義MVD候選集合。
  6. 如請求項1所述的方法,其中響應於使用所述雙向預測對所述當前塊進行編解碼,所述至少一個預定義MVD候選集合對應於分別用於導出雙向預測候選MV中的列表0MV和導出雙向預測候選MV中的列表1MV的兩個單獨的預定義MVD候選集合。
  7. 如請求項1所述的方法,其中響應於使用所述單向預測或所述雙向預測對所述當前塊進行編解碼,從初始MVD導出所述至少一個預定義MVD候選集合中的一個或多個候選。
  8. 如請求項7所述的方法,其中用信號通知或解析列表0或列表1的初始MVD。
  9. 如請求項7所述的方法,其中所述至少一個預定義MVD候選集合包括基於所述初始MVD的一個或多個符號、所述初始MVD的一個或多個值或兩者確定的一個或多個候選者。
  10. 如請求項9所述的方法,其中所述初始MVD的所述一個或多個符號對應於加號和減號。
  11. 如請求項9所述的方法,其中所述初始MVD的一個或多個值對應於k*(初始MVD)或0,並且其中k對應於N或1/N,並且N是正整數。
  12. 如請求項9所述的方法,其中所述初始MVD的一個或多個值對應於(初始MVD)±b,並且其中b對應於整數或分數。
  13. 如請求項7所述的方法,其中所述至少一組預定義MVD候選包括基於初始MVD的一個或多個符號確定的一個或多個候選者,並且其中目標MVD候選的符號基於匹配成本,根據所述至少一個預定義的MVD候選集合確定。
  14. 如請求項13所述的方法,其中所述目標MVD候選的值是預定義的。
  15. 如請求項13所述的方法,其中用信號發送或解析所述目標MVD候選的值。
  16. 如請求項15所述的方法,其中在塊級、SPS級、PPS級、APS級、PH水平、SH水平或其組合發送或者解析與所述目標MVD候選的值相關的一個或者多個語法元素。
  17. 如請求項1所述的方法,其中所述匹配成本對應於所述當前塊的所述一個或多個相鄰樣本與每一參考塊的一個或多個對應相鄰樣本之間的失真,並且其中使用包括以下的一個或多個度量來測量所述失真:SATD、SAD、MSE 或 SSE。
  18. 一種用於視頻編解碼的設備,該設備包括一個或多個電子器件或處理器,被佈置為: 接收與當前塊相關聯的輸入資料,其中,所述輸入資料包括在編碼器側要編碼的所述當前塊的像素資料或在解碼器側與要解碼的所述當前塊相關聯的已編碼資料,並且其中對所述當前塊進行編解碼使用單向預測或雙向預測; 確定所述當前塊的第一MVP和第二MVP中的至少一個; 基於匹配成本從至少一個預定義MVD候選集合中確定與第一MVP相關聯的第一MVD和與第二MVP相關聯的第二MVD中的至少一個,包括以下至少之一: 響應於使用單向預測對所述當前塊進行編解碼,在所述當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中所述一個或多個預測樣本來自由單向預測候選MV所指向的每個參考塊的一個或多個相應相鄰樣本,其中所述單向預測候選MV是基於所述至少一個預定義MVD候選集合中的候選以及第一MVP和第二MVP之一; 響應於使用雙向預測對所述當前塊進行編碼,在所述當前塊的一個或多個相鄰樣本與一個或多個預測樣本之間確定每個匹配成本,其中所述一個或多個預測樣本來自由雙向預測候選MV所指向的每個參考塊的一個或多個相應相鄰樣本,其中所述雙向預測候選MV是至少基於第一MVP、第二MVP和所述至少一個預定義MVD候選集合中的候選的;以及 通過使用包括與所述第一MVP和所述第一MVD相關聯的第一最終MV以及與所述第二MVP和所述第二MVD相關聯的第二最終MV中的至少一個的運動信息來對所述當前塊進行編碼或解碼。
TW112114597A 2022-04-29 2023-04-19 視頻編解碼的方法和裝置 TW202349958A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263336378P 2022-04-29 2022-04-29
US63/336,378 2022-04-29
WOPCT/CN2023/088610 2023-04-17
PCT/CN2023/088610 WO2023207649A1 (en) 2022-04-29 2023-04-17 Method and apparatus for decoder-side motion derivation in video coding system

Publications (1)

Publication Number Publication Date
TW202349958A true TW202349958A (zh) 2023-12-16

Family

ID=88517496

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112114597A TW202349958A (zh) 2022-04-29 2023-04-19 視頻編解碼的方法和裝置

Country Status (2)

Country Link
TW (1) TW202349958A (zh)
WO (1) WO2023207649A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI655864B (zh) * 2016-11-22 2019-04-01 聯發科技股份有限公司 視訊編碼中用於運動向量符號預測的方法及裝置
JP2019201254A (ja) * 2018-05-14 2019-11-21 シャープ株式会社 画像復号装置、および画像符号化装置
US10897617B2 (en) * 2018-07-24 2021-01-19 Qualcomm Incorporated Rounding of motion vectors for adaptive motion vector difference resolution and increased motion vector storage precision in video coding
TWI815967B (zh) * 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
WO2020184964A1 (ko) * 2019-03-11 2020-09-17 엘지전자 주식회사 인터 예측을 위한 비디오 신호의 처리 방법 및 장치

Also Published As

Publication number Publication date
WO2023207649A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
TWI700922B (zh) 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
JP7446339B2 (ja) 幾何学的分割モードコーディングを用いた動き候補リスト
TW202007155A (zh) 一種視訊編解碼的幀間預測方法及裝置
US20220094927A1 (en) Sub-block based intra block copy
TW201944781A (zh) 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
TWI734254B (zh) 視訊編碼之多重假設方法和裝置
WO2021008511A1 (en) Geometric partition mode candidate list construction in video coding
TWI737142B (zh) 視訊編碼中結合畫面間和畫面內預測之方法和裝置
TWI738081B (zh) 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置
US20230059008A1 (en) Motion Candidate List Construction For Video Coding
TW202029773A (zh) 簡化的三角形合併模式候選列表導出的方法以及裝置
US11671616B2 (en) Motion candidate derivation
CN115086675A (zh) 运动候选推导
CN115086677A (zh) 运动候选推导
TW202349958A (zh) 視頻編解碼的方法和裝置
TWI830558B (zh) 視頻編解碼系統中多重假設預測的方法和裝置
WO2023207646A1 (en) Method and apparatus for blending prediction in video coding system
TW202327351A (zh) 視頻編解碼系統中編解碼模式選擇的方法和裝置
WO2024083115A1 (en) Method and apparatus for blending intra and inter prediction in video coding system
WO2024017188A1 (en) Method and apparatus for blending prediction in video coding system
WO2023241637A1 (en) Method and apparatus for cross component prediction with blending in video coding systems
WO2021000883A1 (en) Storage of motion information in history-based motion vector prediction table
TW202341738A (zh) 視訊編碼解碼方法和裝置
TW202412525A (zh) 視訊編解碼系統中混合預測的方法和裝置
TW202341741A (zh) 視訊編解碼方法及相關裝置