TWI852465B - 視訊編解碼方法及相關裝置 - Google Patents
視訊編解碼方法及相關裝置 Download PDFInfo
- Publication number
- TWI852465B TWI852465B TW112113465A TW112113465A TWI852465B TW I852465 B TWI852465 B TW I852465B TW 112113465 A TW112113465 A TW 112113465A TW 112113465 A TW112113465 A TW 112113465A TW I852465 B TWI852465 B TW I852465B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- sub
- inter
- current block
- frame prediction
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種視訊編解碼方法及相關裝置。視訊編解碼方法包括接收與當前塊相關聯的輸入資料,其中,輸入資料包括編碼器側待編碼的當前塊的像素資料或解碼器側與待解碼的當前塊相關聯的編碼資料;從當前塊的一組幀間預測編解碼工具中確定一幀間預測工具;基於與為當前塊選擇的幀間預測工具或鄰近塊的幀間預測工具相關的資訊來確定當前塊的OBMC子塊大小;以及根據OBMC子塊大小,將子塊OBMC應用於當前塊的鄰近子塊和當前子塊之間的子塊邊界。本發明的視訊編解碼方法及相關裝置可以節省位元率或降低解碼器複雜度。
Description
本發明涉及視訊編解碼系統。 更具體地,本發明涉及視訊編解碼系統中的重疊塊運動補償(Overlapped Block Motion Compensation,簡寫為OBMC),其使用具有子塊處理的各種幀間預測編解碼工具。
通用視訊編解碼(versatile video coding,簡寫為VVC)是由ITU-T視訊編解碼專家組(VCEG)和ISO/IEC運動圖像專家組(MPEG)的聯合視訊專家組(JVET)共同製定的最新國際視訊編解碼標準。 該標準已作為 ISO 標準發布:ISO/IEC 23090-3:2021,Information technology - Coded representation of immersive media - Part 3: Versatile Video Coding,2021 年 2 月發布。VVC 是在其前身 HEVC(High Efficiency Video Coding)的基礎上通過添加更多的編解碼工具來提高編解碼效率,也可以處理各種類型的視訊源,包括3維(3-dimensional,簡寫為3D)視訊信號。
第1A圖說明了包含環路處理(loop processing)的示例性自適應幀間/幀內(adaptive Inter/Intra)視訊編碼系統。 對於幀內預測,預測資料是根據當前圖片中先前編解碼的視訊資料導出的。 對於幀間預測112,在編碼器側執行運動估計(Motion Estimation,簡寫為ME)並且基於ME的結果執行運動補償(Motion Compensation,簡寫為MC)以提供從其他圖片和運動資料導出的預測資料。 開關114選擇幀內預測110或幀間預測112並且所選擇的預測資料被提供給加法器116以形成預測誤差,也稱為殘差。 預測誤差然後由變換(T) 118和隨後的量化(Q) 120處理。變換和量化的殘差然後由熵編碼器122編碼以包括在對應於壓縮的視訊資料的視訊位元流中。 與變換係數相關聯的位元流然後與輔助資訊(side information)(例如與幀內預測和幀間預測相關聯的運動和編解碼模式)以及其他資訊(例如與應用於底層圖像區域(underlying image area)的環路濾波器相關聯的參數)一起打包。 與幀內預測110、幀間預測112和環內濾波器130相關聯的輔助資訊被提供給熵編碼器122,如第1A圖所示。 當使用幀間預測模式時,也必須在編碼器端重建一個或多個參考圖片。 因此,經變換和量化的殘差由逆量化(IQ)124和逆變換(IT)126處理以恢復殘差。 然後在重建(REC)128處將殘差加回到預測資料136以重建視訊資料。 重建的視訊資料可以存儲在參考圖片緩衝器134中並用於預測其他幀。
如第1A圖所示,輸入的視訊資料在編碼系統中經過一系列處理。 由於一系列處理,來自 REC 128 的重建的視訊資料可能會受到各種損害。 因此,環路濾波器130經常在重建的視訊資料被存儲在參考圖片緩衝器134中之前應用於重建的視訊資料以提高視訊品質。 例如,可以使用去塊濾波器(deblocking filter,簡寫為DF)、樣本自適應偏移(Sample Adaptive Offset,簡寫為SAO)和自適應環路濾波器(Adaptive Loop Filter,簡寫為ALF)。 可能需要將環路濾波器資訊合併到位元流中,以便解碼器可以正確地恢復所需的資訊。 因此,環路濾波器資訊也被提供給熵編碼器122以合併到位元流中。 在第1A圖中,在重建的樣本被存儲在參考圖片緩衝器134中之前環路濾波器130被應用於重建的視訊。第1A圖中的系統旨在說明典型的視訊編碼器的示例性結構。 它可以對應於高效視訊編解碼(HEVC)系統、VP8、VP9、H.264或VVC。
如第1B圖所示,解碼器可以使用與編碼器相似或相同的功能塊,除了變換 118 和量化 120 之外,因為解碼器只需要逆量化 124 和逆變換 126。取代熵編碼器122,解碼器使用熵解碼器140將視訊位元流解碼為量化的變換係數和所需的編解碼資訊(例如ILPF資訊、幀內預測資訊和幀間預測資訊)。 解碼器側的幀內預測150不需要執行模式搜索。 相反,解碼器僅需要根據從熵解碼器140接收的幀內預測資訊生成幀內預測。此外,對於幀間預測,解碼器僅需要根據從熵解碼器接收的幀間預測資訊執行運動補償(MC 152) 140 而無需運動估計。
根據 VVC,類似於 HEVC,輸入圖片被分區(partition)為稱為 CTU (編解碼樹單元)的非重疊方形塊區域(non-overlapped square block region)。 每個 CTU 都可以劃分為一個或多個較小尺寸的編解碼單元 (CU)。 生成的 CU 分區可以是正方形或長方形。 此外,VVC 將 CTU 劃分為預測單元 (PU),作為應用預測處理(例如幀間預測、幀內預測等)的單元。
VVC標準合併了各種新的編解碼工具以進一步提高超過HEVC標準的編解碼效率。 此外,已經提出了各種新的編解碼工具,以供在 VVC 之外的新編解碼標準的開發中考慮。 在各種新的編解碼工具中,本發明提供了一些建議的方法來改進這些編解碼工具中的一些。
本發明提供一種視訊編解碼方法及相關裝置。
本發明提供一種視訊編解碼方法,包括接收與當前塊相關聯的輸入資料,其中,輸入資料包括編碼器側待編碼的當前塊的像素資料或解碼器側與待解碼的當前塊相關聯的編碼資料;從當前塊的一組幀間預測編解碼工具中確定一幀間預測工具;基於與為當前塊選擇的幀間預測工具或鄰近塊的幀間預測工具相關的資訊來確定當前塊的OBMC子塊大小;以及根據OBMC子塊大小,將子塊OBMC應用於當前塊的鄰近子塊和當前子塊之間的子塊邊界。
本發明還提供一種用於視訊編解碼的裝置,裝置包括一個或多個電子設備或處理器,用於:接收與當前塊相關聯的輸入資料,其中,輸入資料包括編碼器側待編碼的當前塊的像素資料或解碼器側與待解碼的當前塊相關聯的編碼資料;從當前塊的一組幀間預測編解碼工具中確定一幀間預測工具;基於與為當前塊選擇的幀間預測工具或鄰近塊的幀間預測工具相關的資訊來確定當前塊的OBMC子塊大小;以及根據OBMC子塊大小,將子塊OBMC應用於當前塊的鄰近子塊和當前子塊之間的子塊邊界。
本發明的視訊編解碼方法及相關裝置可以節省位元率或降低解碼器複雜度。
在閱讀了在各種圖表和圖形中所圖示的優選實施例的下述詳細說明書之後,本發明的這些和其他目的對所屬領域具有通常知識者來說無疑將變得明顯。
將容易理解的是,如本文附圖中大體描述和圖示的本發明的組件可以以多種不同的配置來佈置和設計。 因此,以下對如圖所示的本發明的系統和方法的實施例的更詳細描述並不旨在限制所要求保護的本發明的範圍,而僅代表本發明的選定實施例 . 貫穿本說明書對“一個實施例”、“一實施例”或類似語言的引用意味著結合該實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。 因此,貫穿本說明書各處出現的短語“在一個實施例中”或“在一實施例中”不一定都指代相同的實施例。
此外,所描述的特徵、結構或特性可以以任何合適的方式組合在一個或多個實施例中。 然而,相關領域的技術人員將認識到,本發明可以在沒有一個或多個特定細節的情況下實踐,或使用其他方法、組件等來實踐。在其他情況下,未顯示或未顯示眾所周知的結構或操作 詳細描述以避免模糊本發明的方面。 參考附圖將最好地理解本發明的所示實施例,其中相同的部分自始至終由相同的數字表示。 下面的描述僅旨在作為示例,並且簡單地說明與如本文要求保護的本發明一致的設備和方法的某些選定實施例。
重疊塊運動補償
(
Overlapped Block Motion Compensation
,簡寫為
OBMC
)
重疊塊運動補償(OBMC)基於從其附近的塊運動矢量(MV)導出的運動補償的(motion-compensated)信號來找到像素強度值的線性最小均方誤差(Linear Minimum Mean Squared Error,簡寫為LMMSE)估計。 從理論估計(estimation-theoretic)的角度來看,這些 MV 被視為其真實運動的不同合理假設(plausible hypotheses),並且為了最大化編解碼效率,它們的權重應該最小化受單位增益約束的均方預測誤差。
當開發出高效視訊編解碼(HEVC)時,提出了使用 OBMC 來提供編解碼增益的若干提議。 其中一些描述如下。
在 JCTVC-C251(Peisong Chen 等人,“Overlapped block motion compensation in TMuC”,ITU-T SG16 WP3 和 ISO/IEC JTC1/SC29/WG11 的視訊編解碼聯合協作組(JCT-VC), 第3次會議: 中國,廣州, 2010年10月7-15日, 文件: JCTVC-C251), OBMC 應用於幾何分區。 在幾何分區中,一個變換塊很可能包含屬於不同分區的像素。 在幾何分區中,由於使用兩個不同的運動矢量進行運動補償,因此分區邊界處的像素可能具有較大的不連續性,從而產生類似於塊效應的視覺偽影。 這反過來又降低了變換效率。幾何分區創建的兩個區域用區域 1 和區域 2 表示。來自區域 1 (2) 的像素被定義為邊界像素(boundary pixel),如果它的四個相鄰鄰近(connected neighbor)(左、上、右和下)中的任何一個屬於區域 2 (1)。 第2圖顯示了一個示例,其中灰色點像素屬於區域 1(灰色區域)的邊界,白色點像素屬於區域 2(白色區域)的邊界。 如果像素是邊界像素,則使用來自兩個運動矢量的運動預測的加權和來執行運動補償。 對於使用包含邊界像素的區域的運動矢量的預測,權重是 3/4,對於使用其他區域的運動矢量的預測,權重是 1/4。 重疊邊界改善了重建視訊的視覺品質,同時還提供了 BD 速率增益。
在 JCTVC-F299(Liwei Guo 等人,“CE2:Overlapped Block Motion Compensation for 2NxN and Nx2N Motion Partitions”, ITU-T SG16 WP3 和 ISO/IEC JTC1/SC29/WG11 視訊編解碼聯合協作組(JCT-VC),第 6 次會議:都靈,2011 年 7 月 14-22 日,文件:JCTVC-F299),OBMC 應用於對稱的運動分區(symmetrical motion partition)。 如果編解碼單元(CU)被劃分為2個2NxN或Nx2N預測單元(PU),則OBMC應用於兩個2NxN預測塊的水平邊界和兩個Nx2N預測塊的垂直邊界。 由於這些分區可能具有不同的運動矢量,因此分區邊界處的像素可能具有較大的不連續性,這可能會產生視覺偽影並且還會降低變換/編解碼效率。 在 JCTVC-F299 中,引入了 OBMC 來平滑運動分區的邊界。
第3A-B圖圖示了用於2NxN(第3A圖)和Nx2N塊(第3B圖)的OBMC的示例。 灰色像素是屬於分區 0 的像素,白色像素是屬於分區 1 的像素。亮度分量中的重疊區域定義為水平(垂直)邊界兩側的 2 列(row)(欄(column))像素。 對於距離分區邊界1列(欄)的像素,即第3A-B圖中標記為A的像素,OBMC 加權因子為(3/4,1/4)。 對於距分區邊界2列(欄)的像素,即第3A-B圖中標記為B的像素,OBMC 加權因子為(7/8,1/8)。 對於色度分量,重疊區域定義為水平(垂直)邊界每一側的1列(欄)像素,權重因子為(3/4,1/4)。
目前,OBMC是在一般MC之後進行的,BIO也分別應用在這兩個MC過程中。 也就是說,兩個CU或PU之間的重疊區域的MC結果是由另一個進程,而不是在一般的MC進程中生成的。 然後應用雙向光流(Bi-Directional Optical Flow,簡寫為BIO)來改進這兩個 MC 結果。 當兩個相鄰的 MV 相同時,這有助於跳過冗餘的 OBMC 和 BIO 過程。 但是,與將 OBMC 過程集成到一般 MC 過程中相比,重疊區域所需的帶寬和 MC 操作增加了。 例如,當前PU大小為16x8,重疊區域為16x2,MC中的插值濾波器(interpolation filter)為8抽頭(8-tap)。 如果 OBMC 在一般 MC 之後執行,那麼對於當前 PU 和相關 OBMC ,每個參考列表我們需要 (16+7)x(8+7) + (16+7)x(2+7) = 552 個參考像素。如果 OBMC 操作與普通 MC 合併為一個階段,則當前 PU 和相關 OBMC 的每個參考列表只有 (16+7)x(8+2+7) = 391 個參考像素。 因此,在下文中,為了降低BIO的計算複雜度或記憶體帶寬,當BIO和OBMC同時啟用時,提出了幾種方法。
在JEM(聯合探索模型)中,OBMC也被應用。 在 JEM 中,與 H.263 不同,OBMC 可以使用 CU 級別的句法打開和關閉。 當在JEM中使用OBMC時,OBMC對除CU的右邊界和下邊界之外的所有運動補償(MC)塊邊界執行。 此外,它適用於亮度和色度分量。 在 JEM 中,一個 MC 塊對應一個編解碼塊。 當CU採用子CU模式(包括子CU合併、仿射和FRUC模式)編解碼時,CU的每個子塊都是一個MC塊。 為了以統一的方式處理 CU 邊界,OBMC 在子塊級別對所有 MC 塊邊界執行,其中子塊大小設置為 4×4,如第4A-B圖所示。
當OBMC被應用到當前子塊時,除了當前運動矢量之外,四個相連的鄰近子塊的運動矢量(如果可用且與當前運動矢量不相同),也被用於導出當前子塊的預測塊。 這些基於多個運動矢量的多個預測塊被組合以生成當前子塊的最終預測信號。 基於相鄰子塊的運動矢量的預測塊記為PN,N表示鄰近上、下、左、右子塊的索引,基於當前子塊的運動矢量的預測塊表示為PC。 第4A圖示出了當前CU 410的子塊的OBMC的示例,其使用鄰近的上方子塊(即,當前子塊為P
N1時)、左側鄰近子塊(即,當前子塊為P
N2時)、左側和上方子塊(即,當前子塊為P
N3時 )。 第4B圖圖示了用於ATMVP模式的OBMC的示例,其中塊PN使用來自四個鄰近子塊的MV用於OBMC。 當PN基於包含與當前子塊相同的運動資訊的鄰近子塊的運動資訊時,不從PN執行OBMC。否則,將 PN 的每個樣本添加到 PC 中的相同樣本,即 PN 的四列/欄添加到 PC。 權重因子{1/4、1/8、1/16、1/32}用於PN,權重因子{3/4、7/8、15/16、31/32}用於PC。 小 MC 塊(即,當編解碼塊的高度或寬度等於 4 或 CU 以子 CU 模式編解碼時)是例外情況,PN只有兩列/欄被添加到 PC。 在這種情況下,權重因子 {1/4, 1/8} 用於 PN,權重因子 {3/4, 7/8} 用於 PC。 對於基於垂直(水平)鄰近子塊的運動矢量生成的PN,將PN同一列(欄)的樣本以相同的權重因子添加到PC。
在 JEM 中,對於大小小於或等於 256 個亮度樣本的 CU,發送 CU 級別標誌(CU level flag)以指示是否將 OBMC 應用於當前 CU。 對於大小大於 256 個亮度樣本或未使用 AMVP 模式編解碼的 CU,默認應用 OBMC。 在編碼器,當 OBMC 應用於 CU 時,其影響在運動估計階段被考慮在內。 OBMC利用頂部鄰近塊和左側鄰近塊的運動資訊形成的預測信號用於補償當前CU的原始信號的頂部和左側邊界,然後應用一般運動估計過程。
在用於VVC開發的聯合探索模型 (Joint Exploration Model for VVC development,簡寫為JEM)中,應用了OBMC。 例如,如第5圖所示,對於當前塊510,如果上方的塊和左側的塊採用幀間模式編解碼,則取上方塊的MV生成OBMC塊A,取左側塊的MV 左塊生成 OBMC 塊 L。OBMC 塊 A 和 OBMC 塊 L 的預測子與當前預測子混合(blend)。 為了減少OBMC的記憶體帶寬,建議執行上方的4列(row)MC,左側4欄(column)的MC以及鄰近的塊。 比如在執行上方的塊MC的時候,額外取出4列生成一個 (上方塊 + OBMC 塊 A) (above block + OBMC block A)的塊。 OBMC 塊 A 的預測子存儲在緩衝器中,用於對當前塊進行編解碼。 在執行左側塊 MC的時候,額外取出4欄,生成一個(左側塊+OBMC塊L)(left block + OBMC block L)的塊。 OBMC 塊 L 的預測子存儲在緩衝器中,用於對當前塊進行編解碼。 因此,在對當前塊進行MC時,額外取出四列和四欄參考像素,生成當前塊的預測子、OBMC塊B和OBMC塊R,如第6A圖所示(可能還生成如第6B圖所示的OBMC 塊 BR)。 OBMC塊B和OBMC塊R存儲在緩衝器中,用於底部鄰近塊和右鄰近塊的OBMC處理。
對於MxN塊,如果MV不是整數並且應用了8抽頭插值濾波器,則使用大小為(M+7)x(N+7)的參考塊來進行運動補償。 但是,如果應用 BIO 和 OBMC,則需要額外的參考像素,這會增加最壞情況下的記憶體帶寬。
有兩種不同的方案來實現OBMC。
在第一種方案中,OBMC塊是在對每個塊進行運動補償時預先生成的。 這些 OBMC 塊將存儲在本地緩衝器中用於鄰近塊。 在第二種方案中,在進行OBMC時,OBMC塊是在每個塊的混合處理之前生成的。
在這兩種方案中,提出了幾種方法來降低計算複雜度,特別是對於插值濾波,以及OBMC的額外帶寬需求。
VVC
中解碼器側運動矢量細化
(
Decoder Side Motion Vector Refinement
,簡寫為
DMVR
)
為了增加合併模式的MV的準確性,在VVC中應用基於雙邊匹配(bilateral-matching,簡寫為BM)的解碼器側運動矢量細化。 在雙預測操作中,針對當前塊720和當前圖片710在參考圖片列表L0 712和參考圖片列表L1 714中的初始MV(732和734)周圍搜索細化的MV。 L0和L1中並置的(collocated)塊722和724是根據初始MV 732和734)和當前塊720在當前圖片中的位置確定的,如第7圖所示。BM方法計算參考圖片列表 L0 和列表 L1中兩個候選塊(742和744)之間的失真。 通過將兩個相反的偏移量(762和764)添加到兩個初始MV(732和734)來導出兩個候選MV(752和754)來確定兩個候選塊(742和744)的位置。 如第7圖所示,計算基於初始MV(732或734)周圍的每個MV候選的候選塊(742和744)之間的SAD。 具有最低 SAD 的 MV 候選(752 或 754)成為細化的 MV 並用於生成雙向預測的信號。
在VVC中,DMVR的應用受到限制,僅適用於以以下模式和特徵編解碼的CU:
– 具有雙向預測 MV 的 CU 級合併模式
– 相對於當前圖片的一張參考圖片是過去的,另一張參考圖片是未來的
– 兩張參考圖片到當前圖片的距離(即POC差(POC difference))相同
– 兩個參考圖片都是短期(short-term)參考圖片
– CU 有超過 64 個亮度樣本
– CU 高度和 CU 寬度均大於或等於 8 個亮度樣本
– BCW權重指數指示相等權重
– 當前塊未啟用 WP
– 當前塊不使用CIIP模式
通過 DMVR 過程導出的細化 的MV 用於生成幀間預測樣本,並且還用於未來圖片編解碼的時間運動矢量預測。 而原始 MV 用於去塊過程,也用於未來 CU 編解碼的空間運動矢量預測。
DMVR 的附加特徵在以下子條款中提及。
DMVR搜索方案(
DMVR Searching Scheme)
在DMVR中,搜索點(search point)圍繞初始MV並且MV偏移服從MV差異鏡像規則(MV difference mirroring rule)。 換句話說,任意搜索點由DMVR程序所檢查過,表示為候選MV對(MV0, MV1),遵循以下兩個等式:
, (1)
. (2)
其中 MV_offset 表示參考圖片之一中初始 MV 和細化的MV 之間的細化偏移量(refinement offset)。 細化搜索範圍(refinement search range)是來自初始 MV 的兩個整數亮度樣本。 搜索包括整數樣本偏移搜索階段和分數樣本細化階段。
二十五 (25) 點全搜索(full search)應用於整數樣本偏移(integer sample offset)搜索。 首先計算初始 MV 對的 SAD。 如果初始 MV 對的 SAD 小於閾值,則 DMVR 的整數樣本階段終止。 否則,按照光柵掃描順序計算並檢查剩餘24個點的SAD。 選擇具有最小SAD的點作為整數樣本偏移搜索階段的輸出。 為了減少 DMVR 細化的不確定性的代價,建議在 DMVR 過程中有利(favour)於原始 MV。 初始 MV 候選引用的參考塊之間的 SAD 減少了 1/4 SAD 值。
整數樣本搜索之後是分數樣本細化(fractional sample refinement)。 為了節省計算複雜性,分數樣本細化是通過使用參數誤差曲面方程(parametric error surface equation)推導的,而不是使用 SAD 比較進行額外搜索。 根據整數樣本搜索階段的輸出,有條件地調用分數樣本細化。 當整數樣本搜索階段在第一次迭代或第二次迭代搜索中以具有最小 SAD 的中心終止時,進一步應用分數樣本細化。
在基於參數誤差曲面(parametric error surface based)的子像素偏移估計(sub-pixel offsets estimation)中,中心位置成本和距中心的四個鄰近位置處的成本用於擬合以下形式的二維拋物線誤差曲面形式方程(2-D parabolic error surface equation)
, (3)
其中 (
對應於成本最低的分數位置,C 對應於最小成本值。 通過使用五個搜索點的成本值求解上述等式, the (
計算如下:
(4)
. (5)
和
的值自動限制在 − 8 和 8 之間,因為所有成本值都是正的並且最小值是 E(0,0)。這對應於 VVC 中具有 1/16 像素 MV 精度的半峰值偏移。 將計算出的分數 (
添加到整數距離細化 MV 以獲得子像素精確細化增量 MV。
雙線性插值和样本填充
在 VVC 中,MV 的分辨率是 1/16 亮度樣本。 使用 8 抽頭插值濾波器對分數位置的樣本進行插值。 在 DMVR 中,搜索點圍繞具有整數樣本偏移的初始分數像素 MV,因此需要對這些分數位置的樣本進行插值以進行 DMVR 搜索過程。 為了降低計算複雜度,雙線性插值濾波器用於生成分數樣本,用於 DMVR 中的搜索過程。 另一個重要的影響是通過使用具有 2 個樣本搜索範圍的雙線性濾波器,與一般的運動補償過程相比,DVMR 不會訪問更多的參考樣本。 在通過 DMVR 搜索過程獲得細化的 MV 後,應用一般的 8 抽頭插值濾波器生成最終預測。 為了不訪問比一般 MC 過程更多的參考樣本,基於原始 MV 的插值過程不需要但基於細化的 MV 的插值過程需要的樣本將從這些可用樣本中填充。
當 CU 的寬度和/或高度大於 16 個亮度樣本時,它將進一步拆分為寬度和/或高度等於 16 個亮度樣本的子塊。 DMVR 搜索過程的最大單元大小限制為 16x16。
VVC
中的仿射運動補償
的
預測
(
Affine Motion Compensated Prediction
)
在HEVC中,僅平移運動模型(translation motion model)被應用於運動補償預測(MCP)。 而在現實世界中,有很多種運動,例如放大/縮小、旋轉、透視運動和其他不規則運動。 在 VVC 中,應用基於塊的仿射變換運動補償預測。 如第8A-B圖所示,塊的仿射運動場域(affine motion field)由第8A圖中當前塊810的兩個控制點(4參數)的運動資訊或第8B圖中當前塊820的三個控制點運動矢量(6參數)描述。
對於4參數仿射運動模型,塊中樣本位置(x,y)處的運動矢量被導出為:
. (6)
對於6參數仿射運動模型,塊中樣本位置(x,y)處的運動矢量被導出為:
. (7)
其中(
mv
0x ,
mv
0y ) 左上角控制點的運動矢量,(
mv
1x ,
mv
1y ) 為右上角控制點的運動矢量,而(
mv
2x ,
mv
2y ) 為左下角控制點的運動矢量。
為了簡化運動補償預測,應用基於塊的仿射變換預測。 為了導出每個 4×4 亮度子塊的運動矢量,根據上述等式計算每個子塊的中心樣本的運動矢量,如第9圖所示,並四捨五入到 1/16 分數精度。 然後應用運動補償插值濾波器以生成具有導出的運動矢量的每個子塊的預測。 色度分量的子塊大小也設置為 4×4。 4×4 色度子塊的 MV 計算為並置的 8x8 亮度區域中左上角和右下角亮度子塊的 MV 的平均值。
如對平移運動幀間預測所做的那樣,還有兩種仿射運動幀間預測模式:仿射合併模式和仿射AMVP模式。
仿射合併預測
(
Affine merge prediction
)
AF_MERGE(即,仿射合併)模式可以應用於寬度和高度都大於或等於8的CU。在該模式中,當前CU的CPMV是基於空間鄰近CU的運動資訊生成的。 最多可以有五個 CPMVP 候選,並且發信索引來指示要用於當前 CU 的那個。 使用以下三種CPMV候選構成仿射合併候選列表:
– 從鄰近 CU 的 CPMV 推斷出的繼承的仿射合併候選
– 使用鄰近 CU 的平移 MV 導出的構造的仿射合併候選 CPMVP
– 零MV
在VVC中,最多有兩個繼承的仿射候選,它們自鄰近塊的仿射運動模型導出,一個來自左鄰近CU,一個來自上方鄰近CU。 候選塊如第10圖所示。對於當前塊1010的左預測子,掃描順序為A0->A1,對於上方預測子,掃描順序為B0->B1->B2。 僅選擇每一方的第一個繼承的候選。 在兩個繼承的候選之間不執行修剪檢查(pruning check)。 當識別出鄰近的仿射 CU 時,其控制點運動矢量用於導出當前 CU 的仿射合併列表中的 CPMVP 候選。 如第11圖所示,如果當前CU(圖中示為當前塊) 1110的鄰近左下角塊A以仿射模式編解碼,則得到包含塊A的CU 1120的左上角、右上角和左下角的運動矢量
、
和
。 當塊A採用4參數仿射模型編解碼時,根據
、
計算當前CU的兩個CPMV。 在塊A採用6參數仿射模型編解碼的情況下,根據
、
和
4計算當前CU的三個CPMV。
構造的仿射候選是指通過結合每個控制點的鄰近平移運動資訊(neighbor translational motion information)來構造候選。 如第12圖所示,控制點的運動資訊是從當前塊1210的指定空間相鄰和時間相鄰導出的。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}
三個 CPMV 的組合構建了一個 6 參數仿射合併候選,並且兩個 CPMV 的組合構建了一個 4 參數仿射合併候選。 為了避免運動縮放過程,如果控制點的參考索引不同,則丟棄控制點MV的相關組合。
在檢查了繼承的仿射合併候选和構造的仿射合併候選之後,如果列表仍未滿,則將零MV(zero MVs)插入到列表的末尾。
仿射
AMVP
預測
仿射 AMVP 模式可以應用於寬度和高度都大於或等於 16 的 CU。在位元流中發送 CU 級的仿射標誌以指示是否使用仿射 AMVP 模式,然後發送另一個標誌以指示是 4 參數仿射還是 6 參數仿射。 在這種模式下,在位元流中發信當前 CU 的 CPMV 與其預測子 CPMVP 的差異。 仿射AVMP候選列表大小為2,由以下四種CPMV候選依次生成:
– 從鄰近 CU 的 CPMV 推斷出的繼承的仿射 AMVP 候選
– 使用鄰近 CU 的平移 MV 導出的構建的仿射 AMVP 候選 CPMVP
– 來自鄰近 CU 的平移 MV
– 零MV(Zero MVs)
繼承的仿射 AMVP 候選的檢查順序與繼承的仿射合併候選的檢查順序相同。 唯一的區別是,對於 AVMP 候選,僅考慮具有與當前塊中相同參考圖片的仿射 CU。 將繼承的仿射運動預測子插入候選列表時,不應用修剪過程。
構造的 AMVP 候選是從第12圖中所示的指定空間鄰近導出的。使用與仿射合併候選構建中相同的檢查順序。 此外,還檢查鄰近塊的參考圖片索引。 使用檢查順序中的第一個塊,該塊被幀間編解碼並且具有與當前 CU 中相同的參考圖片。 當當前CU採用4參數仿射模式編解碼,並且
和
都可用時,將它們作為一個候選添加到仿射AMVP列表中。 當當前 CU 使用 6 參數仿射模式編解碼,並且所有三個 CPMV 都可用時,它們將作為一個候選添加到仿射 AMVP 列表中。 否則,將構造的 AMVP 候選設置為不可用。
如果插入有效的繼承的仿射AMVP候选和構造的AMVP候選後,仿射AMVP列表候選仍然小於2,將依次添加
、
和
,作為平移MV,用於預測當前 CU 的所有控制點 MV(如果可用)。 最後,如果仿射 AMVP 列表仍未滿,則使用零 MV 來填充它。
仿射運動資訊存儲
在 VVC 中,仿射 CU 的 CPMV 存儲在單獨的緩衝器中。 存儲的 CPMV 僅用於在仿射合併模式和仿射 AMVP 模式下生成繼承的 CPMVP用於最近編解碼的 CU。 從 CPMV 導出的子塊 MV 用於運動補償、平移MV中的合併列表或是AMVP列表以及去方塊濾波器。
為了避免圖片行緩衝器用於額外的 CPMV,相對於一般的鄰近CU繼承的仿射運動資料,從上方CTU的CU繼承的仿射運動資料會被差異化對待。 如果用於仿射運動資料繼承的候選 CU 在上方 CTU 行中,則行緩衝器(line buffer)中的左下和右下子塊 MV(而不是 CPMV )用於仿射 MVP 推導。 這樣,CPMV 僅存儲在本地緩衝器中。 如果候選 CU 是 6 參數仿射編解碼的,則仿射模型退化(degraded)為 4 參數模型。 如第13圖所示,沿頂部 CTU 邊界,CU 的左下和右下子塊運動矢量用於底部 CTU 中 CU 的仿射繼承。 在第13圖中,行(line)1310和行1312表示左上角為原點(0,0)的圖片的x和y坐標。 圖例1320顯示了各種運動矢量的含義,其中箭頭1322表示局部緩衝器(local buff)中用於仿射繼承的CPMV,箭頭1324表示用於局部緩衝器中的MC/合併/跳過(skip)/AMVP/去塊(deblocking)/TMVP和行緩衝器中的仿射繼承的子塊矢量,箭頭1326代表用於MC/合併/跳過/AMVP/去塊/TMVP的子塊矢量。
仿射模式的光流預測細化
(
Prediction refinement with optical flow
)
與基於像素的運動補償相比,基於子塊的仿射運動補償可以節省記憶體訪問帶寬並降低計算複雜度,但代價是預測精度下降。 為了實現更精細的運動補償粒度,使用光流預測細化(prediction refinement with optical flow,簡寫為PROF)來細化基於子塊的仿射運動補償預測,而不增加用於運動補償的記憶體訪問帶寬。 在 VVC 中,在執行基於子塊的仿射運動補償後,通過添加由光流方程導出的差值來細化亮度預測樣本。 PROF描述為以下四個步驟:
步驟 1) 執行基於子塊的仿射運動補償以生成子塊預測 I(i,j)。
步驟2)在每個樣本位置使用 3抽頭濾波器 [−1, 0, 1]計算子塊預測的空間梯度
和
。 梯度計算與 BDOF 中的梯度計算完全相同。
(8)
(9)
在上方的等式中,shift1 用於控制梯度的精度。 子塊(即 4x4)預測在每一側擴展一個樣本以進行梯度計算。 為了避免額外的記憶體帶寬和額外的插值計算,擴展的邊界上的那些擴展的樣本是從參考圖片中最近的整數像素位置複製的。
步驟 3) 亮度預測細化由以下光流方程計算。
(10)
其中 Δv(i,j) 是為樣本位置 (i,j) 計算的樣本 MV(表示為 v(i,j)) 與樣本 (i,j) 所屬子塊的子塊 MV 之間的差異,如第14圖所示。Δv(i,j)以1/32亮度樣本精度為單位進行量化。 在第14圖中,CU 1410的子塊1422對應於由運動矢量V
SB(1412)指向的子塊1420的參考子塊。 參考子塊1422表示由塊1420的平移運動產生的參考子塊。參考子塊1424對應於具有PROF的參考子塊。 每個像素的運動矢量由 Δv(i,j) 細化。 例如,子塊1420的左上像素的細化的運動矢量v(i,j) 1414是基於由Δv(i,j) 1416修改的子塊MV V
SB(1412)導出的。
由於仿射模型參數和样本相對於子塊中心的位置在子塊與子塊之間沒有改變,因此可以為第一個子塊計算 Δv(i,j),並將其重新用於同一 CU 中的其他子塊。 設dx(i,j)和dy(i,j)為樣本位置(i,j)到子塊中心
的水平和垂直偏移量,可通過以下等式推導出Δv(x,y),
(11)
(12)
為了保持精度,子塊
的中心計算為( ( W
SB− 1 )/2, ( H
SB− 1 ) / 2 ),其中W
SB和H
SB分別是子塊的寬度和高度。
對於4參數仿射模型,
(13)
對於6參數仿射模型,
(14)
其中
、
、
是左上、右上和左下控制點運動矢量,w 和 h 是 CU 的寬度和高度。
PROF的第四步如下:
步驟 4) 最後,將亮度預測細化 ΔI(i,j) 添加到子塊預測 I(i,j)。 最終預測 I' 的生成如下式:
(15)
在兩種情況下PROF不應用仿射編解碼的CU:1)所有控制點MV相同,這表明CU僅具有平移運動; 2) 仿射運動參數大於指定的限制,因為基於子塊的仿射 MC 降級為基於 CU 的 MC 以避免大的記憶體訪問帶寬需求。
應用快速編碼方法來降低具有PROF的仿射運動估計的編碼複雜度。 在以下兩種情況下,PROF 不應用於仿射運動估計階段:a)如果該 CU 不是根塊並且其父塊未選擇仿射模式作為其最佳模式,則不應用 PROF,因為當前 CU選擇仿射模式為最佳模式的可能性較低; b) 如果四個仿射參數(C、D、E、F)的大小(magnitude)都小於預定義的閾值並且當前圖片不是低延遲圖片,則不應用 PROF,因為對於這種情況, PROF 引入的改進較小。 以此方式,可以加速具有PROF的仿射運動估計。
VVC
中基於子塊的時間運動矢量預測
(Subblock-based Temporal Motion Vector Prediction
,簡寫為
SbTMVP)
VVC支持基於子塊的時間運動矢量預測(SbTMVP)方法。 類似於 HEVC 中的時間運動矢量預測 (temporal motion vector prediction,簡寫為TMVP),SbTMVP 使用並置圖片中的運動場域來改進當前圖片中 CU 的運動矢量預測和合併模式。 TMVP 使用的相同並置圖片用於 SbTMVP。 SbTMVP與TMVP的區別主要有以下兩個方面:
– TMVP 預測 CU 級別的運動,但 SbTMVP 預測子 CU 級別的運動;
– TMVP 從並置圖片中的並置塊獲取時間運動矢量(並置塊是相對於當前 CU 的右下或中心塊),SbTMVP 在從並置圖片獲取時間運動資訊之前應用運動偏移 ,其中運動偏移是從當前 CU 的空間鄰近塊之一的運動矢量獲得的。
第15A-B圖示出了SbTMVP過程。 SbTMVP 分兩步預測當前 CU 內子 CU 的運動矢量。 在第一步中,檢查第15A圖中的空間鄰近 A1。 如果 A1 具有使用並置圖片作為其參考圖片的運動矢量,則選擇該運動矢量作為要應用的運動偏移。 如果未識別出此類運動,則將運動偏移設置為 (0, 0)。
在第二步中,應用在步驟1中識別的運動偏移(即,添加到當前塊的坐標)以從並置圖片獲得子CU級運動資訊(運動矢量和參考索引),如第15B圖所示。第15B圖中的示例假設運動偏移設置為塊 A1 的運動,其中幀 1520 對應於當前圖片,幀 1530 對應於參考圖片(即並置圖片)。 然後,對於每個子CU,其在並置圖片中的對應塊(覆蓋中心樣本的最小運動網格)的運動資訊用於導出子CU的運動資訊。 在確定並置子CU的運動資訊後,將其轉換為當前子CU的運動矢量和參考索引,其方式與HEVC的TMVP過程類似,其中時間運動縮放被應用來將時間運動矢量的參考圖片對齊到當前 CU 的圖片。 在第15B圖中,並置圖片1530的每個子塊中的箭頭對應於並置子塊的運動矢量(L0 MV的粗線箭頭和L1 MV的細線箭頭)。對於當前圖片1520,每個子塊中的箭頭對應於當前子塊的縮放的運動矢量(L0 MV的粗線箭頭和L1 MV的細線箭頭)。
在VVC中,包含SbTMVP候選和仿射合併候選的組合的基於子塊的合併列表用於基於子塊的合併模式的發信。 SbTMVP 模式由序列參數集 (SPS) 標誌啟用/禁用。 如果啟用 SbTMVP 模式,則將 SbTMVP 預測子添加為基於子塊的合併候選列表的第一個條目,然後是仿射合併候選。 在 VVC 中基於子塊的合併列表的大小在 SPS 中發信,並且基於子塊的合併列表的最大允許大小為 5。
SbTMVP中使用的子CU大小固定為8x8,和仿射合併模式一樣,SbTMVP模式只適用於寬高都大於等於8的CU。
額外的SbTMVP合併候選的編碼處理流程與其他合併候選相同,即對於P或B切片中的每個CU,執行額外的RD檢查以決定是否使用SbTMVP候選。
不同編解碼工具中的運動單元不同。 例如,在仿射中是 4x4 子塊,在多通道 DMVR 中是 8x8 子塊。 子塊邊界 OBMC 使用不同的運動來進行 MC 以細化每個子塊預測子,以減少子塊邊界中的不連續性/塊偽影。 然而,在VVC基礎上開發的國際視訊編解碼標准的當前增強壓縮模型(Enhanced Compression Model,簡寫為ECM)中,子塊邊界 OBMC 在仿射模式和多通道 DMVR 模式下將所有運動單元視為 4x4 子塊大小。 因此,子塊邊界 OBMC 可能無法正確處理子塊邊界。 這個問題也可能存在於其他支持子塊處理的預測編解碼工具中。
提出了一種新的自適應OBMC子塊大小方法。 在該方法中,當OBMC應用於當前塊時,OBMC子塊大小可以根據當前塊選擇的幀間預測工具的相關資訊(例如,其當前塊預測資訊、當前塊模式資訊、當前塊大小、當前塊形狀或與為當前塊選擇的幀間預測工具相關的任何其他資訊)、與鄰近塊的幀間預測工具相關的資訊(例如,鄰近塊資訊、鄰近塊大小、鄰近塊形狀或與鄰近塊的幀間預測工具相關的任何其他資訊)、成本度量或它們的任意組合。 OBMC子塊大小可以與不同預測模式下的最小(或最佳)運動改變單元(motion changing unit)相匹配,或者無論預測模式如何,它都可以始終是相同的OBMC子塊大小。 運動改變單元也稱為運動處理單元(motion processing unit)。
在一個實施例中,當當前塊在DMVR模式下編解碼時,對於亮度(luma),OBMC子塊大小被設置為M1xN1(M1和N1為非負整數),取決於DMVR模式下的最小運動改變單元(smallest motion changing unit)。例如,對於亮度,DMVR 模式的 OBMC 子塊大小可以設置為 8x8,而其他編解碼模式的 OBMC 子塊大小始終設置為 M2xN2(M2 和 N2 為非負整數)。 例如,對於其他模式,OBMC 子塊大小可以是 4x4。
在另一個實施例中,當當前塊以仿射模式編解碼時,對於亮度,OBMC子塊大小被設置為M1xN1(M1和N1為非負整數),取決於仿射模式中的最小運動改變單元。 例如,對於亮度,仿射模式的 OBMC 子塊大小可以設置為 4x4,而其他模式的 OBMC 子塊大小始終設置為 M2xN2(M2 和 N2 為非負整數)。 例如,對於其他編解碼模式,OBMC 子塊大小可以是 4x4 或 8x8。
在另一個實施例中,對於亮度,當當前塊以SbTMVP模式編解碼時,OBMC子塊大小設置為M1xN1(M1和N1為非負整數),取決於SbTMVP模式中的最小運動改變單元。 例如,SbTMVP 模式的 OBMC 子塊大小可以設置為 4x4,而其他模式的 OBMC 子塊大小始終設置為 M2xN2(M2 和 N2 為非負整數)用於亮度。 例如,對於其他編解碼模式,OBMC 子塊大小可以是 4x4 或 8x8。
在另一個實施例中,當當前塊在將細化子塊級別的運動的預測模式中編解碼時,OBMC子塊大小被設置為運動改變子塊大小用於亮度,取決於每個預測模式中的最小運動改變單元。例如,8x8的OBMC子塊大小可以用於DMVR模式編解碼的當前塊,4x4的OBMC子塊大小可以用於仿射模式或SbTMVP模式編解碼的當前塊。
在另一個實施例中,當當前塊以幾何預測模式(GPM)編解碼或以幾何形狀分區時,OBMC子塊大小被設置為運動改變子塊大小用於亮度,這取決於在其預測模式形狀或其分區形狀中的最小運動改變單元。
在另一個實施例中,當鄰近塊以將細化子塊級別中的運動的預測模式編解碼時,對於要應用OBMC的當前塊,當前塊的OBMC子塊大小被設置為運動改變子塊大小用於亮度,取決於來自鄰近塊或來自當前塊的每個預測模式中的最小運動改變單元。 例如,8x8 OBMC 子塊大小用於在 DMVR 模式下編解碼的塊,4x4 OBMC 子塊大小用於在仿射模式或 SbTMVP 模式下編解碼的塊。
在另一個實施例中,當鄰近塊以幾何預測模式(GPM)編解碼或以(其運動可以在幾何區域中)幾何形狀分區時,對於亮度,當前塊的OBMC子塊大小被設置為運動改變子塊大小,取決於來自鄰近塊或來自當前塊的每個預測模式中的最小運動改變單元。 例如,8x8 OBMC子塊大小用於DMVR模式編解碼的塊,4x4 OBMC子塊大小用於仿射模式或SbTMVP模式編解碼的塊。
在另一個實施例中,當OBMC應用於當前塊時,它可以使用鄰近重建樣本來計算成本來決定OBMC子塊大小。 例如,可以採用模板匹配法或雙邊匹配法計算代價,並據此確定最小運動改變單元。
在另一個實施例中,當OBMC應用於當前塊時,對每個子塊進行模板匹配以計算當前子塊上方或左側的子塊的重建樣本和參考樣本之間的成本。 如果成本小於閾值,則由於運動相似性高,所以 OBMC 子塊大小被放大。 否則(即成本大於閾值),OBMC 子塊大小保持不變,因為鄰近運動和當前運動不相似。
任何前述提出的方法都可以在編碼器和/或解碼器中實現。 例如,在編碼器端,可以在預測子推導模塊(例如如第1A圖所示的幀間預測單元的一部分)中實現所需的OBMC和相關處理。然而,編碼器也可以使用額外的處理單元來實現所需的處理。 對於解碼器端,所需的OBMC和相關處理可以在預測子推導模塊中實現,例如第1B圖中所示的MC單元152的一部分。 然而,解碼器也可以使用額外的處理單元來實現所需的處理。 幀間預測 112 和 MC 152 顯示為單獨的處理單元,它們可能對應於存儲在媒體(例如硬盤或閃存)上的可執行軟體或韌體代碼,用於 CPU(中央處理單元)或可程式化設備(例如 DSP(數位信號) 處理器)或 FPGA(現場可程式化門陣列))。 備選地,所提出的任何方法都可以實現為耦合到編碼器的預測子推導模塊和/或解碼器的預測子推導模塊的電路,以便提供預測子推導模塊所需的資訊。
第16圖示出了根據本發明實施例的視訊編解碼系統中的示例性重疊塊運動補償(OBMC)過程的流程圖。 流程圖中所示的步驟可以實現為可在編碼器側的一個或多個處理器(例如,一個或多個CPU)上執行的程式代碼。 流程圖中所示的步驟也可以基於硬體來實現,諸如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器。 根據該方法,在步驟1610中接收與當前塊相關聯的輸入資料,其中輸入資料包括在編碼器側待編碼的當前塊的像素資料或在解碼器側待解碼的與當前塊相關聯的編碼資料。 在步驟 1620 中,從一組幀間預測編解碼工具中確定用於當前塊的幀間預測工具。在步驟1630中,基於與為當前塊選擇的幀間預測工具或相鄰塊的幀間預測工具相關的資訊來確定當前塊的OBMC(重疊邊界運動補償)子塊大小。在步驟1640中,根據OBMC子塊大小將子塊OBMC(重疊邊界運動補償)應用於當前塊的相鄰子塊和當前子塊之間的子塊邊界。
所示的流程圖旨在說明根據本發明的視訊編解碼的示例。 在不脫離本發明的精神的情況下,所屬領域具有通常知識者可以修改每個步驟、重新安排步驟、拆分步驟或組合步驟來實施本發明。 在本公開中,已經使用特定語法和語義來說明示例以實現本發明的實施例。 在不脫離本發明的精神的情況下,所屬領域具有通常知識者可以通過用等同的句法和語義替換句法和語義來實施本發明。
提供以上描述是為了使所屬領域具有通常知識者能夠實踐在特定應用及其要求的上下文中提供的本發明。 對所描述的實施例的各種修改對於所屬領域具有通常知識者而言將是顯而易見的,並且本文定義的一般原理可以應用於其他實施例。 因此,本發明並不旨在限於所示出和描述的特定實施例,而是符合與本文公開的原理和新穎特徵一致的最寬範圍。 在以上詳細描述中,舉例說明了各種具體細節以提供對本發明的透徹理解。 然而,所屬領域具有通常知識者將理解可以實施本發明。
如上所述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實現。 例如,本發明的一個實施例可以是集成到視訊壓縮晶片中的一個或多個電路電路或者集成到視訊壓縮軟體中的程式代碼以執行這裡描述的處理。 本發明的實施例還可以是要在數位信號處理器(DSP)上執行以執行這裡描述的處理的程式代碼。 本發明還可以涉及由計算機處理器、數位信號處理器、微處理器或現場可程式化門陣列(FPGA)執行的許多功能。 這些處理器可以被配置為通過執行定義由本發明體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。 軟體代碼或韌體代碼可以以不同的程式化語言和不同的格式或風格來開發。 也可以為不同的目標平台編譯軟體代碼。 然而,軟體代碼的不同代碼格式、風格和語言以及配置代碼以執行根據本發明的任務的其他方式都不會脫離本發明的精神和範圍。
本發明可以在不脫離其精神或基本特徵的情況下以其他特定形式體現。 所描述的示例在所有方面都應被視為說明性而非限制性的。 因此,本發明的範圍由所附申請專利範圍而不是由前述描述來指示。 落入申請專利範圍等同物的含義和範圍內的所有變化都應包含在其範圍內。
110:幀內預測
112:幀間預測
114:開關
116:加法器
118:變換
120:量化
122:熵編碼器
130:環路濾波器
124:逆量化
126:逆變換
128:重建
134:參考圖片緩衝器
136:預測資料
140:熵解碼器
150:幀內預測
152:MC
P
N1、P
N2、P
N3、1420、1422、1424:子塊
410:當前CU
510、720、810、820、1010、1110、1210、1510:當前塊
710、1520:當前圖片
712、714:參考圖片列表
732、734、752、754:MV
722、724、742、744:塊
762、764:偏移量
1120、1410:CU
1310、1312:行
1320:圖例
1322、1324、1326:箭頭
1412、1414:運動矢量
1416:Δv(i,j)
1520、1530:幀
1610~1640:步驟
第1A圖說明了包含環路處理(loop processing)的示例性自適應幀間/幀內(adaptive Inter/Intra)視訊編碼系統。
第1B圖示出了第1A圖中的編碼器的相應解碼器。
第2圖圖示了幾何分區的重疊運動補償的示例。
第3A-B圖示了用於2NxN(第3A圖)和Nx2N塊(第3B圖)的OBMC的示例。
第4A圖圖示了應用OBMC的子塊的示例,其中該示例包括在CU/PU邊界處的子塊。
第4B圖示出了應用OBMC的子塊的示例,該示例包括以AMVP模式編解碼的子塊。
第5圖示出了針對當前塊使用上方和左側相鄰塊的OBMC處理的示例。
第6A圖示出了使用來自右側和底部的相鄰塊對當前塊的右側和底部部分進行OBMC處理的示例。
第6B圖示出了使用來自右、下和右下的相鄰塊對當前塊的右側和下方部分進行OBMC處理的示例。
第7圖圖示了解碼側運動矢量細化的示例。
第8A圖示出了基於4參數仿射運動的控制點的示例。
第8B圖示出了基於6參數仿射運動的控制點的示例。
第9圖示出了基於仿射運動模型為當前塊的4x4子塊推導運動矢量的示例。
第10圖示出了用於繼承仿射模型的運動資訊的相鄰塊的示例。
第11圖圖示了從當前塊的左側子塊繼承用於仿射模型的運動資訊的示例。
第12圖示出了通過組合每個控制點的鄰近平移運動資訊構造的仿射候選的示例。
第13圖示出了通過組合每個控制點的相鄰平移運動資訊來構造的仿射候選的運動矢量使用的示例。
第14圖示出了仿射模式的利用光流的預測細化的示例。
第15A圖圖示了VVC中基於子塊的時間運動矢量預測(SbTMVP)的示例,其中檢查空間相鄰塊以獲得運動資訊的可用性。
第15B圖圖示了用於通過應用來自空間鄰近的運動偏移並且縮放來自對應並置的子CU的運動資訊來導出子CU運動場域的SbTMVP的示例。
第16圖示出了根據本發明的實施例的視頻編解碼系統中的示例性重疊塊運動補償(OBMC)處理的流程圖。
1610~1640:步驟
Claims (11)
- 一種視訊編解碼方法,該方法包括: 接收與當前塊相關聯的輸入資料,其中,該輸入資料包括編碼器側待編碼的該當前塊的像素資料或解碼器側與待解碼的該當前塊相關聯的編碼資料; 從該當前塊的一組幀間預測編解碼工具中確定一幀間預測工具; 基於與為該當前塊選擇的幀間預測工具或鄰近塊的該幀間預測工具相關的資訊來確定該當前塊的重疊邊界運動補償子塊大小;以及 根據該重疊邊界運動補償子塊大小,將子塊重疊邊界運動補償應用於該當前塊的鄰近子塊和當前子塊之間的子塊邊界。
- 如請求項1所述之視訊編解碼方法,其中該重疊邊界運動補償子塊大小取決於與為該當前塊選擇的該幀間預測工具相關聯的最小處理單元。
- 如請求項2所述之視訊編解碼方法,其中,為該當前塊選擇的該幀間預測工具對應於解碼器側運動矢量細化模式。
- 如請求項2所述之視訊編解碼方法,其中,如果為該當前塊選擇的該幀間預測工具對應於解碼器側運動矢量細化模式,則該重疊邊界運動補償子塊大小被設置為8x8,如果為該當前塊選擇的該幀間預測工具對應於該解碼器側運動矢量細化模式之外的幀間預測工具,則該重疊邊界運動補償子塊大小被設置為4x4。
- 如請求項2所述之視訊編解碼方法,其中為該當前塊選擇的該幀間預測工具對應於仿射模式。
- 如請求項2所述之視訊編解碼方法,其中,如果為當前塊選擇的該幀間預測工具對應於仿射模式,則該重疊邊界運動補償子塊大小被設置為4x4,並且如果該幀間預測工具被選擇對應於該仿射模式以外的幀間預測工具,則該重疊邊界運動補償子塊大小被設置為包括8x8大小。
- 如請求項2所述之視訊編解碼方法,其中為該當前塊選擇的該幀間預測工具對應於基於子塊的時間運動矢量預測模式。
- 如請求項2所述之視訊編解碼方法,其中,如果為該當前塊選擇的該幀間預測工具對應於基於子塊的時間運動矢量預測模式,則該重疊邊界運動補償子塊大小被設置為4x4, 如果為該當前塊選擇的該幀間預測工具對應於該基於子塊的時間運動矢量預測 以外的幀間預測工具,則該重疊邊界運動補償子塊大小被設置為包括8x8大小。
- 如請求項2所述之視訊編解碼方法,其中,如果為該當前塊選擇的該幀間預測工具對應於解碼器側運動矢量細化模式,則該重疊邊界運動補償子塊大小被設置為8x8,如果為該當前塊選擇的該幀間預測工具對應仿射模式或基於子塊的時間運動矢量預測模式,則該重疊邊界運動補償子塊大小被設置為4x4。
- 如請求項2所述之視訊編解碼方法,其中,為該當前塊選擇的該幀間預測工具對應於幾何分區模式。
- 一種用於視訊編解碼的裝置,該裝置包括一個或多個電子設備或處理器,用於: 接收與當前塊相關聯的輸入資料,其中,該輸入資料包括編碼器側待編碼的該當前塊的像素資料或解碼器側與待解碼的該當前塊相關聯的編碼資料; 從該當前塊的一組幀間預測編解碼工具中確定一幀間預測工具; 基於與為該當前塊選擇的幀間預測工具或鄰近塊的該幀間預測工具相關的資訊來確定該當前塊的重疊邊界運動補償子塊大小;以及 根據該重疊邊界運動補償子塊大小,將子塊重疊邊界運動補償應用於該當前塊的鄰近子塊和當前子塊之間的子塊邊界。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202263329509P | 2022-04-11 | 2022-04-11 | |
| US63/329,509 | 2022-04-11 | ||
| US18/181,858 US20230328278A1 (en) | 2022-04-11 | 2023-03-10 | Method and Apparatus of Overlapped Block Motion Compensation in Video Coding System |
| US18/181,858 | 2023-03-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202341741A TW202341741A (zh) | 2023-10-16 |
| TWI852465B true TWI852465B (zh) | 2024-08-11 |
Family
ID=88239035
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112113465A TWI852465B (zh) | 2022-04-11 | 2023-04-11 | 視訊編解碼方法及相關裝置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230328278A1 (zh) |
| CN (1) | CN116896640A (zh) |
| TW (1) | TWI852465B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025123197A1 (zh) * | 2023-12-11 | 2025-06-19 | Oppo广东移动通信有限公司 | 编解码方法、编解码器、码流以及存储介质 |
| WO2025214120A1 (en) * | 2024-04-11 | 2025-10-16 | Mediatek Inc. | Methods and apparatus of neighbouring skip mode and regression derived weighting in overlapped blocks motion compensation for video coding |
| WO2026007990A1 (en) * | 2024-07-02 | 2026-01-08 | Douyin Vision Co., Ltd. | On subblock-transform for intra video and image coding and subblock-transform information inferring |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW202007167A (zh) * | 2018-07-14 | 2020-02-01 | 聯發科技股份有限公司 | 視訊編解碼中受約束的重疊塊運動補償的方法及裝置 |
| TW202123702A (zh) * | 2019-09-22 | 2021-06-16 | 聯發科技股份有限公司 | 視訊資料預測方法和裝置 |
-
2023
- 2023-03-10 US US18/181,858 patent/US20230328278A1/en active Pending
- 2023-04-11 CN CN202310379836.6A patent/CN116896640A/zh active Pending
- 2023-04-11 TW TW112113465A patent/TWI852465B/zh active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW202007167A (zh) * | 2018-07-14 | 2020-02-01 | 聯發科技股份有限公司 | 視訊編解碼中受約束的重疊塊運動補償的方法及裝置 |
| TW202123702A (zh) * | 2019-09-22 | 2021-06-16 | 聯發科技股份有限公司 | 視訊資料預測方法和裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116896640A (zh) | 2023-10-17 |
| US20230328278A1 (en) | 2023-10-12 |
| TW202341741A (zh) | 2023-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI792152B (zh) | 視訊編解碼系統中的視訊處理方法和裝置 | |
| TWI870823B (zh) | 視訊編碼解碼方法和裝置 | |
| TWI852465B (zh) | 視訊編解碼方法及相關裝置 | |
| TWI853413B (zh) | 視訊編解碼方法及裝置 | |
| WO2023221993A1 (en) | Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding | |
| CN117941355A (zh) | 视频编解码系统中低延迟模板匹配的方法和装置 | |
| TWI853412B (zh) | 用於視頻編解碼的仿射編碼塊導出合併候選的方法和裝置 | |
| TWI870841B (zh) | 視訊編解碼方法及相關裝置 | |
| WO2026017030A1 (en) | Method and apparatus of temporal and gpm-derived affine candidates in video coding systems | |
| WO2024027784A1 (en) | Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding | |
| WO2024146374A9 (en) | Method and apparatus of parameters inheritance for overlapped blocks motion compensation in video coding system | |
| WO2025026397A1 (en) | Methods and apparatus for video coding using multiple hypothesis cross-component prediction for chroma coding | |
| WO2025007952A1 (en) | Methods and apparatus for video coding improvement by model derivation | |
| WO2024149035A1 (en) | Methods and apparatus of affine motion compensation for block boundaries and motion refinement in video coding | |
| WO2025077512A1 (en) | Methods and apparatus of geometry partition mode with subblock modes | |
| WO2026017074A1 (en) | Method and apparatus of subblock candidates for auto-relocated block vector prediction or chained motion vector prediction in video coding systems | |
| WO2024017224A1 (en) | Affine candidate refinement | |
| TW202539236A (zh) | 基於級聯向量的繼承交叉分量模型用於幀間色度視訊編解碼改進的方法和裝置 | |
| CN121488475A (zh) | 使用多个模型改进影片编解码的方法与装置 | |
| TW202520711A (zh) | 從縮放參考圖片繼承交叉分量模型的影片編解碼方法與裝置 | |
| TW202602116A (zh) | 具有導出模式的幀內合併模式的影像編解碼方法及裝置 | |
| TW202444096A (zh) | 彩色圖片編解碼方法及其裝置 | |
| TW202439820A (zh) | 視訊編解碼方法與裝置 | |
| TW202516932A (zh) | 視訊編解碼方法和裝置 | |
| TW202516924A (zh) | 用於改進交叉分量預測模型傳播的視頻編解碼方法和裝置 |