TW202344057A - 視訊編解碼方法及相關裝置 - Google Patents
視訊編解碼方法及相關裝置 Download PDFInfo
- Publication number
- TW202344057A TW202344057A TW112116017A TW112116017A TW202344057A TW 202344057 A TW202344057 A TW 202344057A TW 112116017 A TW112116017 A TW 112116017A TW 112116017 A TW112116017 A TW 112116017A TW 202344057 A TW202344057 A TW 202344057A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- sub
- current
- current block
- motion vector
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 238000005192 partition Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 238000009795 derivation Methods 0.000 description 6
- 238000002156 mixing Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種視訊編解碼方法及相關裝置。視訊編解碼方法包括接收與當前塊/子塊相關聯的輸入資料;確定當前塊/子塊的當前MV;確定鄰近塊/子塊的鄰近MV;根據當前塊/子塊和鄰近塊/子塊之間的一個或多個邊界匹配成本、當前MV與鄰近MV之間的MVD或與當前塊/子塊相關聯的預測的亮度資料來確定要應用於OBMC的行數,與行數的OBMC關聯的一個或多個權重,或兩者;以及根據包括行數、一個或多個權重或兩者的OBMC參數將OBMC應用於當前塊/子塊和鄰近塊/子塊中的至少一個。本發明的視訊編解碼方法及相關裝置可以提高編解碼效率。
Description
本發明涉及視訊編解碼。 更具體地,本發明涉及視訊編解碼系統中的重疊塊運動補償(Overlapped Block Motion Compensation,簡寫為OBMC)處理相關的行數量(number of lines)以及行權重(weightings for the lines)的自適應設計。
通用視訊編解碼(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 之外的新編解碼標準的開發中考慮。 在各種新的編解碼工具中,與本發明相關的一些編解碼工具的簡要說明如下。
重疊塊運動補償
(
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圖以及第4B圖所示。
當OBMC被應用到當前子塊時,除了當前運動矢量之外,四個相連的鄰近子塊的運動矢量(如果可用且與當前運動矢量不相同),也被用於導出當前子塊的預測塊。 這些基於多個運動矢量的多個預測塊被組合以生成當前子塊的最終預測信號。 基於相鄰子塊的運動矢量的預測塊記為PN,N表示鄰近上、下、左、右子塊的索引,基於當前子塊的運動矢量的預測塊表示為PC。 第4A圖示出了當前CU 410的子塊的OBMC的示例,其使用鄰近的上方子塊(即,當前子塊為P
N1時)、左側鄰近子塊(即,當前子塊為P
N2時)、左側和上方子塊(即,當前子塊為P
N3時 )。 第4B圖圖示了用於ATMVP模式的當前CU 420的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的額外帶寬需求。
基於模板匹配的
OBMC
(
Template Matching based OBMC
)
最近,針對新興的國際編解碼標準提出了一種基於模板匹配的 OBMC 方案(JVET-Y0076)。 如第7圖所示,對於頂部CU邊界處大小為4×4的每個頂部塊,上述模板大小等於4×1。 在第7圖中,框710對應於CU。 如果N個相鄰塊具有相同的運動資訊,則上述模板大小被擴大到4N×1,因為可以一次處理MC操作,這與ECM-OBMC中的方式相同。 對於左 CU 邊界處大小為 4×4 的每個左塊,左模板大小等於 1×4 或 1×4N。
對於每一個4×4的頂部塊(top block)(或N個4×4 塊組),邊界樣本的預測值按照以下步驟推導:
– 以塊A為當前塊及其上方相鄰塊AboveNeighbour_A為例。 左塊的操作以相同的方式進行。
– 首先,根據以下三類運動資訊,通過SAD在模板的重建樣本及由MC過程導出的與其對應的參考樣本之間測量三個模板匹配成本(Cost1,Cost2,Cost3):
i. Cost1是根據A的運動資訊計算出來的。
ii. Cost2是根據AboveNeighbour_A的運動資訊計算出來的。
iii. Cost3是根據A和AboveNeighbour_A的運動資訊的加權的預測計算得到的,加權因子分別為3/4和1/4。
– 其次,從三種方法中選擇一種,通過比較Cost1、Cost2和Cost 3來計算邊界樣本的最終預測結果。
使用當前塊的運動資訊的原始 MC 結果表示為 Pixel1,使用相鄰塊的運動資訊的 MC 結果表示為 Pixel2。 最終預測結果表示為 NewPixel。
․如果 Cost1 最小,則
。
․如果 Cost2 最小,則使用混合模式 1(blending mode 1)。
對於亮度塊,混合像素(blending pixel)列(row)數為4。
–
–
–
–
對於色度塊,混合像素列數為 1。
–
․如果Cost3 最小,則使用混合模式2。
對於亮度塊,混合像素列數為 2。
–
–
對於色度塊,混合像素列/欄(column)數為 1。
–
在本申請中,公開了自適應OBMC方法以提高編解碼效率。
本發明提供一種視訊編解碼方法及相關裝置。
本發明提供一種視訊編解碼方法,包括接收與當前塊/子塊相關聯的輸入資料,其中,輸入資料包括編碼器側待編碼的當前塊/子塊的像素資料或解碼器側與待解碼的當前塊/子塊相關聯的編碼資料;確定當前塊/子塊的當前運動矢量;確定與當前塊/子塊相關聯的鄰近塊/子塊的鄰近運動矢量;根據當前塊/子塊和鄰近塊/子塊之間的一個或多個邊界匹配成本、當前運動矢量與鄰近運動矢量之間的運動矢量差或與當前塊/子塊相關聯的預測的亮度資料來確定要應用於重疊塊運動補償的行數,與行數的重疊塊運動補償關聯的一個或多個權重,或兩者;以及根據包括行數、一個或多個權重或兩者的重疊塊運動補償參數將重疊塊運動補償應用於當前塊/子塊和鄰近塊/子塊中的至少一個。
本發明還提供一種用於視訊編解碼的裝置,裝置包括一個或多個電子設備或處理器,用於:接收與當前塊/子塊相關聯的輸入資料,其中,輸入資料包括編碼器側待編碼的當前塊/子塊的像素資料或解碼器側與待解碼的當前塊/子塊相關聯的編碼資料;確定當前塊/子塊的當前運動矢量;確定與當前塊/子塊相關聯的鄰近塊/子塊的鄰近運動矢量;根據當前塊/子塊和鄰近塊/子塊之間的一個或多個邊界匹配成本、當前運動矢量與鄰近運動矢量之間的運動矢量差或與當前塊/子塊相關聯的預測的亮度資料來確定要應用於重疊塊運動補償的行數,與行數的重疊塊運動補償關聯的一個或多個權重,或兩者;以及根據包括行數、一個或多個權重或兩者的重疊塊運動補償參數將重疊塊運動補償應用於當前塊/子塊和鄰近塊/子塊中的至少一個。
本發明的視訊編解碼方法及相關裝置可以提高編解碼效率。
在閱讀了在各種圖表和圖形中所圖示的優選實施例的下述詳細說明書之後,本發明的這些和其他目的對所屬領域具有通常知識者來說無疑將變得明顯。
將容易理解的是,如本文附圖中大體描述和圖示的本發明的組件可以以多種不同的配置來佈置和設計。 因此,以下對如圖所示的本發明的系統和方法的實施例的更詳細描述並不旨在限制所要求保護的本發明的範圍,而僅代表本發明的選定實施例 . 貫穿本說明書對“一個實施例”、“一實施例”或類似語言的引用意味著結合該實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。 因此,貫穿本說明書各處出現的短語“在一個實施例中”或“在一實施例中”不一定都指代相同的實施例。
此外,所描述的特徵、結構或特性可以以任何合適的方式組合在一個或多個實施例中。 然而,相關領域的技術人員將認識到,本發明可以在沒有一個或多個特定細節的情況下實踐,或使用其他方法、組件等來實踐。在其他情況下,未顯示或未顯示眾所周知的結構或操作 詳細描述以避免模糊本發明的方面。 參考附圖將最好地理解本發明的所示實施例,其中相同的部分自始至終由相同的數字表示。 下面的描述僅旨在作為示例,並且簡單地說明與如本文要求保護的本發明一致的設備和方法的某些選定實施例。
公開了一種新的OBMC混合自適應加權方法。 在該方法中,當OBMC應用於當前塊時,OBMC中的行數或行的權重可以自適應地改變,例如根據其塊的寬度或高度、縱橫比、塊形狀、當前塊/子塊的MV、鄰近塊/子塊的 MV、當前子塊和鄰近塊之間的加權或未加權的MV差異、邊界相似性、預測子亮度信號(predictor luminance signal)、邊界處的 MV 梯度、成本度量或其組合。 OBMC 中的行數或行的權重可以根據 CU 中的某些特定特徵進行更改,或者無論 CU 特徵如何,它都可以始終保持不變。
在一個實施例中,當當前塊面積(即塊寬度×塊高度)小於或大於閾值時,OBMC中的行數或行的權重將相應地減少或增加。
在另一個實施例中,當當前塊的縱橫比小於或大於閾值時,OBMC中的行數或行的權重將相應地減少或增加。 例如,如果MV差異小於閾值則可以使用第一加權,而如果MV差異大於閾值則可以使用第二權重。 在一個示例中第一權重大於第二權重並且在另一示例中第二權重大於第一權重。
在另一個實施例中,將當前子塊的MV與相鄰塊的MV進行比較以獲得MV差值。 如果MV差值小於或大於閾值,則OBMC中的行數或行的權重將相應地減少或增加。 在另一示例中,在得到MV差值之後,通過將MV差值乘以另一個值來加權得到加權的MV差值,然後將加權的MV差值與閾值進行比較。
在另一個實施例中,為了度量邊界相似度,當確定對當前子塊進行OBMC時,首先通過比較當前樣本和鄰近樣本來計算邊界匹配成本。 當前樣本可以是預測的樣本或重建的樣本。 類似地,鄰近樣本可以是鄰近預測的樣本或鄰近重建的樣本。 為了確定 OBMC 中的行數或行的權重,可以使用邊界匹配成本,如下所示:
Cost 1 = BoundaryMatchingCost(鄰近重建,當前預測子或當前重建(Neighboring Reconstruction, Current Predictor or Current Reconstruction))
Cost 2 = BoundaryMatchingCost(鄰近重建,鄰近預測子(Neighboring Reconstruction, Neighboring Predictor) )
對於鄰近預測子:Weighting = Cost 1 / (Cost 1 + Cost 2)
對於當前預測子:Weighting = Cost 2 / (Cost 1 + Cost 2)
在上文中,當前塊或子塊的預測的或重建的樣本是基於當前塊或子塊的MV導出的。 鄰近預測子是指基於鄰近塊或子塊的MV生成的預測子。 可以看出,鄰近預測子的權重與當前預測子的權重之比對應於邊界匹配成本(boundary matching cost) 1 與邊界匹配成本 2 的比率。
在另一示例中,取代總是根據成本1和成本2使用加權,而是可以從成本1和成本2中選擇一個成本並將其與閾值進行比較。 如果所選成本小於或大於閾值,則OBMC中的行數或行的權重將相應減少或增加。 在另一個實施例中,計算邊界匹配成本或模板匹配成本。 可以對成本和閾值應用不同的比較。 例如,比較可對應於“小於或等於”、“小於”、“大於或等於”或“大於”。 根據比較結果,可以減少或增加混合行數(blending line number)或混合權重(blending weighting)。 閾值可以取決於塊寬度或高度、縱橫比、塊形狀、當前塊/子塊的 MV、鄰近塊/子塊的 MV、當前子塊和鄰近塊之間的加權或未加權的 MV 差異、邊界相似性、預測子亮度信號、邊界處的 MV 梯度、成本度量或其組合。
在另一個實施例中,當確定對當前子塊執行OBMC時,首先計算當前預測子的亮度信號(luminance signal)。 如果亮度值(或當前塊/子塊的平均值)小於或大於閾值,則OBMC中的行數或行的權重將相應地減少或增加。
在另一個實施例中,當確定對當前子塊進行OBMC時,首先使用空間梯度(spatial gradient)計算樣本級別偏移以獲得 MV 梯度。 如果MV梯度小於或大於閾值,則OBMC中的行數或行的權重將相應地減少或增加。 在另一示例中,當執行與閾值的比較時,將基於MV梯度應用光流推導。
任何前述提出的OBMC方法都可以在編碼器和/或解碼器中實現。 例如,在編碼器端,可以在預測子推導模塊(例如如第1A圖所示的幀間預測單元的一部分)中實現所需的處理。然而,編碼器也可以使用額外的處理單元來實現所需的處理。 對於解碼器端,所需的處理可以在預測子推導模塊中實現,例如第1B圖中所示的MC單元152的一部分。 然而,解碼器也可以使用額外的處理單元來實現所需的處理。 幀間預測 112 和 MC 152 顯示為單獨的處理單元,它們可能對應於存儲在媒體(例如硬盤或閃存)上的可執行軟體或韌體代碼,用於 CPU(中央處理單元)或可程式化設備(例如 DSP(數位信號) 處理器)或 FPGA(現場可程式化門陣列))。 備選地,所提出的任何方法都可以實現為耦合到編碼器的預測子推導模塊和/或解碼器的預測子推導模塊的電路,以便提供預測子推導模塊所需的資訊。
第8圖示出了根據本發明實施例的視訊編解碼系統中的示例性重疊塊運動補償(OBMC)過程的流程圖。 流程圖中所示的步驟可以實現為可在編碼器側的一個或多個處理器(例如,一個或多個CPU)上執行的程式代碼。 流程圖中所示的步驟也可以基於硬體來實現,諸如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器。 根據該方法,在步驟810中接收與當前塊相關聯的輸入資料,其中輸入資料包括在編碼器側待編碼的當前塊的像素資料或在解碼器側待解碼的與當前塊相關聯的編碼資料。在步驟820中,當前塊/子塊的當前MV(運動矢量)被確定。在步驟830中,與當前塊/子塊相關聯的鄰近塊/子塊的鄰近MV被確定。在步驟840中,根據當前塊/子塊和鄰近塊/子塊之間的一個或多個邊界匹配成本、當前MV與鄰近MV之間的MV差、或與當前塊/子塊相關聯的預測的亮度資料來確定要應用於 OBMC(重疊塊運動補償)的行數,與行數的 OMBC 關聯的一個或多個權重,或兩者。在步驟 850 中,根據包括行數、所述一個或多個權重或兩者的OBMC參數將OBMC應用於當前塊/子塊和鄰近塊/子塊中的至少一個。
所示的流程圖旨在說明根據本發明的視訊編解碼的示例。 在不脫離本發明的精神的情況下,所屬領域具有通常知識者可以修改每個步驟、重新安排步驟、拆分步驟或組合步驟來實施本發明。 在本公開中,已經使用特定語法和語義來說明示例以實現本發明的實施例。 在不脫離本發明的精神的情況下,所屬領域具有通常知識者可以通過用等同的句法和語義替換句法和語義來實施本發明。
提供以上描述是為了使所屬領域具有通常知識者能夠實踐在特定應用及其要求的上下文中提供的本發明。 對所描述的實施例的各種修改對於所屬領域具有通常知識者而言將是顯而易見的,並且本文定義的一般原理可以應用於其他實施例。 因此,本發明並不旨在限於所示出和描述的特定實施例,而是符合與本文公開的原理和新穎特徵一致的最寬範圍。 在以上詳細描述中,舉例說明了各種具體細節以提供對本發明的透徹理解。 然而,所屬領域具有通常知識者將理解可以實施本發明。
如上所述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實現。 例如,本發明的一個實施例可以是集成到視訊壓縮晶片中的一個或多個電路電路或者集成到視訊壓縮軟體中的程式代碼以執行這裡描述的處理。 本發明的實施例還可以是要在數位信號處理器(DSP)上執行以執行這裡描述的處理的程式代碼。 本發明還可以涉及由計算機處理器、數位信號處理器、微處理器或現場可程式化門陣列(FPGA)執行的許多功能。 這些處理器可以被配置為通過執行定義由本發明體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。 軟體代碼或韌體代碼可以以不同的程式化語言和不同的格式或風格來開發。 也可以為不同的目標平台編譯軟體代碼。 然而,軟體代碼的不同代碼格式、風格和語言以及配置代碼以執行根據本發明的任務的其他方式都不會脫離本發明的精神和範圍。
本發明可以在不脫離其精神或基本特徵的情況下以其他特定形式體現。 所描述的示例在所有方面都應被視為說明性而非限制性的。 因此,本發明的範圍由所附申請專利範圍而不是由前述描述來指示。 落入申請專利範圍等同物的含義和範圍內的所有變化都應包含在其範圍內。
110:幀內預測
112:幀間預測
114:開關
116:加法器
118:變換
120:量化
122:熵編碼器
130:環路濾波器
124:逆量化
126:逆變換
128:重建
134:參考圖片緩衝器
136:預測資料
140:熵解碼器
150:幀內預測
152:MC
410、420、710:CU
510:當前塊
810~850:步驟
第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圖示出了基於模板匹配的OBMC的示例,其中對於在頂部CU邊界處具有4×4大小的每個頂部塊,上述模板大小等於4×1。
第8圖示出了根據本發明的實施例的視訊編解碼系統中的示例性重疊塊運動補償(OBMC)處理的流程圖。
810~850:步驟
Claims (14)
- 一種視訊編解碼方法,該方法包括: 接收與當前塊/子塊相關聯的輸入資料,其中,該輸入資料包括編碼器側待編碼的該當前塊/子塊的像素資料或解碼器側與待解碼的該當前塊/子塊相關聯的編碼資料; 確定該當前塊/子塊的當前運動矢量; 確定與該當前塊/子塊相關聯的鄰近塊/子塊的鄰近運動矢量; 根據該當前塊/子塊和該鄰近塊/子塊之間的一個或多個邊界匹配成本、該當前運動矢量與該鄰近運動矢量之間的運動矢量差或與該當前塊/子塊相關聯的預測的亮度資料來確定要應用於重疊塊運動補償的行數,與該行數的該重疊塊運動補償關聯的一個或多個權重,或兩者;以及 根據包括該行數、該一個或多個權重或兩者的重疊塊運動補償參數將該重疊塊運動補償應用於該當前塊/子塊和該鄰近塊/子塊中的至少一個。
- 如請求項1所述之視訊編解碼方法,其中通過將該運動矢量差異與閾值進行比較來確定該行數、該一個或多個權重或兩者。
- 如請求項2所述之視訊編解碼方法,其中如果該運動矢量差小於該閾值,則使用第一權重,如果該運動矢量差大於該閾值,則使用第二權重。
- 如請求項3所述之視訊編解碼方法,其中該第一權重大於該第二權重。
- 如請求項3所述之視訊編解碼方法,其中該第二權重大於該第一權重。
- 如請求項1所述之視訊編解碼方法,其中根據包括第一邊界匹配成本和第二邊界匹配成本的該一個或多個邊界匹配成本來確定該行數、該一個或多個權重或兩者,其中在該當前塊/子塊的一個或多個第一預測的或重建的樣本與該鄰近塊/子塊的一個或多個重建的樣本之間計算該第一邊界匹配成本,在該當前塊/子塊的一個或多個第二預測的或重建的樣本與該鄰近塊/子塊的一個或多個重建的樣本之間計算該第二邊界匹配成本,並且其中使用該當前運動矢量來確定該當前塊/子塊的該一個或多個第一預測的或重建的樣本,使用該鄰近運動矢量來確定該當前塊/子塊的該一個或多個第二預測的或重建的樣本。
- 如請求項6所述之視訊編解碼方法,其中该一個或多個權重包括分别用於该當前塊/子塊的该一個或多個第一預測的或重建的樣本和该當前塊/子塊的该一個或多個第二預測的或重建的樣本,以形成該當前塊/子塊的一個或多個最終預測的或重建的樣本的第一權重和第二權重,其中該第一權重與該第二權重的比率對應於該第二邊界匹配成本與該第一邊界匹配成本的比率。
- 如請求項6所述之視訊編解碼方法,其中響應於將該第一邊界匹配成本和該第二邊界匹配成本之一與閾值進行比較來確定該行數、該一個或多個權重或兩者。
- 如請求項8所述之視訊編解碼方法,其中,如果該第一邊界匹配成本和該第二邊界匹配成本之一小於該閾值,則相應地減少或增加該行數、該一個或多個權重或兩者。
- 如請求項8所述之視訊編解碼方法,其中如果該第一邊界匹配成本和該第二邊界匹配成本之一大於該閾值,則相應地減少或增加該行數、該一個或多個權重或兩者。
- 如請求項8所述之視訊編解碼方法,其中該閾值取決於該當前塊/子塊的塊寬度或高度、縱橫比或塊形狀、該當前運動矢量、該鄰近運動矢量、加權或未加權的運動矢量差異、邊界相似性、預測子亮度信號強度、該當前塊/子塊和該鄰近塊/子塊之間的一個或多個邊界處的運動矢量梯度、成本度量或其組合。
- 如請求項1所述之視訊編解碼方法,其中根據與該當前塊/子塊相關聯的該預測的亮度資料來確定該行數、該一個或多個權重或兩者。
- 如請求項12所述之視訊編解碼方法,其中該預測的亮度資料對應於該當前塊/子塊的平均值。
- 一種用於視訊編解碼的裝置,該裝置包括一個或多個電子設備或處理器,其被佈置成: 接收與當前塊/子塊相關聯的輸入資料,其中,該輸入資料包括編碼器側待編碼的該當前塊/子塊的像素資料或解碼器側與待解碼的該當前塊/子塊相關聯的編碼資料; 確定該當前塊/子塊的當前運動矢量; 確定與該當前塊/子塊相關聯的鄰近塊/子塊的鄰近運動矢量; 根據該當前塊/子塊和該鄰近塊/子塊之間的一個或多個邊界匹配成本、該當前運動矢量與該鄰近運動矢量之間的運動矢量差或與該當前塊/子塊相關聯的預測的亮度資料來確定要應用於重疊塊運動補償的行數,與該行數的該重疊塊運動補償關聯的一個或多個權重,或兩者;以及 根據包括該行數、該一個或多個權重或兩者的重疊塊運動補償參數將該重疊塊運動補償應用於該當前塊/子塊和該鄰近塊/子塊中的至少一個。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263336395P | 2022-04-29 | 2022-04-29 | |
US63/336,395 | 2022-04-29 | ||
WOPCT/CN2023/085422 | 2023-03-31 | ||
PCT/CN2023/085422 WO2023207511A1 (en) | 2022-04-29 | 2023-03-31 | Method and apparatus of adaptive weighting for overlapped block motion compensation in video coding system |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202344057A true TW202344057A (zh) | 2023-11-01 |
Family
ID=88517370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112116017A TW202344057A (zh) | 2022-04-29 | 2023-04-28 | 視訊編解碼方法及相關裝置 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202344057A (zh) |
WO (1) | WO2023207511A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3759919A1 (en) * | 2018-02-26 | 2021-01-06 | InterDigital VC Holdings, Inc. | Method and apparatus for generalized obmc |
CN111989927B (zh) * | 2018-04-16 | 2023-05-09 | 联发科技股份有限公司 | 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置 |
US20190387251A1 (en) * | 2018-06-19 | 2019-12-19 | Mediatek Inc. | Methods and Apparatuses of Video Processing with Overlapped Block Motion Compensation in Video Coding Systems |
CN110858901B (zh) * | 2018-08-24 | 2023-01-20 | 北京字节跳动网络技术有限公司 | 使用时域邻居的重叠块运动补偿 |
-
2023
- 2023-03-31 WO PCT/CN2023/085422 patent/WO2023207511A1/en unknown
- 2023-04-28 TW TW112116017A patent/TW202344057A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023207511A1 (en) | 2023-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI735172B (zh) | 用於多個工具的互相排斥設定 | |
US11115653B2 (en) | Intra block copy merge list simplification | |
US11297348B2 (en) | Implicit transform settings for coding a block of pixels | |
TW202139702A (zh) | 視訊編解碼系統中的視訊處理方法和裝置 | |
CN109076237A (zh) | 在视频和图像压缩中使用帧内预测滤波器的帧内预测模式的方法和装置 | |
JP2008259174A (ja) | コンピュータにより実施される動きベクトルのマッピング方法、動きベクトルをマッピングするトランスコーダ及び動きベクトルをマッピングするデコーダ | |
CN113366831B (zh) | 重叠块运动补偿和其他工具之间的协调 | |
TWI821103B (zh) | 在視訊編解碼系統中使用邊界匹配進行重疊塊運動補償的方法和裝置 | |
TW202344057A (zh) | 視訊編解碼方法及相關裝置 | |
KR20160106348A (ko) | 비디오 부호화 방법 및 그 장치 | |
TW202341741A (zh) | 視訊編解碼方法及相關裝置 | |
WO2024146374A1 (en) | Method and apparatus of parameters inheritance for overlapped blocks motion compensation in video coding system | |
TWI830334B (zh) | 視頻編解碼系統中低延遲模板匹配的方法和裝置 | |
WO2024017224A1 (en) | Affine candidate refinement | |
US12015760B2 (en) | Video coding for handling different picture sizes | |
WO2023198187A1 (en) | Template-based intra mode derivation and prediction | |
TWI847227B (zh) | 視頻編解碼系統中低延遲模板匹配的方法和裝置 | |
TWI796979B (zh) | 視訊編碼方法及相關裝置 | |
WO2024016955A1 (en) | Out-of-boundary check in video coding | |
TW202349961A (zh) | 視訊編解碼系統中基於回歸的仿射合併模式運動向量推導的方法和裝置 | |
TW202416713A (zh) | 仿射候選細化 | |
TW202402054A (zh) | 用於候選清單的相似性閾值 | |
TW202420810A (zh) | 視訊編碼系統中使用模板匹配進行畫面間預測的方法和裝置 | |
TW202402059A (zh) | 視訊編解碼方法和裝置 | |
TW202404354A (zh) | 利用卷積模型的預測改進 |