TW202408243A - 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置 - Google Patents

用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置 Download PDF

Info

Publication number
TW202408243A
TW202408243A TW112118144A TW112118144A TW202408243A TW 202408243 A TW202408243 A TW 202408243A TW 112118144 A TW112118144 A TW 112118144A TW 112118144 A TW112118144 A TW 112118144A TW 202408243 A TW202408243 A TW 202408243A
Authority
TW
Taiwan
Prior art keywords
optimization
block
sample
sub
picture
Prior art date
Application number
TW112118144A
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 TW202408243A publication Critical patent/TW202408243A/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公開了使用雙向預測來優化MV的方法和裝置。根據一種方法,確定當前塊的基於樣本的優化和基於子塊的優化。根據基於樣本的優化和基於子塊的優化來確定當前塊的最終優化。根據另一種方法,用信號通知或解析一個或更多個高階語法,其中,所述高階語法指示是否允許非等距離參考圖片用於雙向運動優化。回應於高階語法指示非等距離參考圖片被允許,基於清單0中的參考圖片和清單1中的參考圖片確定當前圖片中的至少一個塊的優化的MV,其中,第一參考圖片與當前圖片之間的圖片距離和第二參考圖片與當前圖片之間的圖片距離不同。

Description

用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置
本發明涉及基於解碼器側運動向量優化(Decoder-Side Motion Vector Refinement,DMVR)或雙向光流(Bi-Directional Optical Flow,BDOF)的MV優化的雙向預測。
通用視頻編解碼(Versatile video coding,VVC)是由ITU-T視頻編碼專家組(Video Coding Experts Group,VCEG)和ISO/IEC運動圖像專家組(Moving Picture Experts Group,MPEG)的聯合視頻專家組(Joint Video Experts Team,JVET)開發的最新國際視頻編解碼標準。該標準已被公佈為ISO標準:ISO/IEC 23090-3:2021,資訊技術-沉浸式媒體的編解碼表示(Coded representation of immersive media)-第3部分:通用視頻編解碼,2021年2月公佈。VVC是基於其前身高效率視頻編碼(High Efficiency Video Coding,HEVC),通過添加更多的編碼工具以提高編碼效率並且還處理包括3維(3-dimensional,3D)視訊訊號的各種類型的視頻源來開發的。
圖1A例示了併入環路處理(loop processing)的示例性自我調整幀間(Inter)/幀內(Intra)視頻編碼系統。對於幀內預測,預測資料是基於當前圖片中的先前已編碼的視頻資料來得到。對於幀間預測112,在編碼器側執行運動估計(Motion Estimation,ME),並且基於ME的結果執行運動補償(Motion Compensation,MC),以提供根據其他圖片和運動資料(motion data)得到的預測資料。開關114選擇幀內預測110或幀間預測112,並且所選擇的預測資料被提供給加法器116以形成預測誤差(prediction errors),也稱為殘差(residues)。然後通過變換(Transform,T)118、隨後是量化(Quantization,Q)120來處理預測誤差。經變換和經量化的殘差然後由熵編碼器(Entropy Encoder) 122進行編碼,以被包括在與經壓縮的視頻資料相對應的視頻位元流中。然後,將與變換係數相關聯的位元流與輔助資訊(side information)(諸如與幀內預測和幀間預測相關聯的運動和編碼模式)以及其他資訊(諸如與應用於基礎圖像區域的環路濾波器相關聯的參數)打包在一起。如圖1A所示,與幀內預測110、幀間預測112和環路內濾波器(in loop filter)130相關聯的輔助資訊被提供給熵編碼器122。當使用幀間預測模式時,還必須在編碼器端重構一個參考圖片或多個參考圖片。因此,經變換和經量化的殘差由逆量化(Inverse Quantization,IQ)124和逆變換(Inverse Transformation,IT)126處理以恢復殘差。然後,在重構(Reconstruction,REC)128處將殘差添加回預測資料136以重構視頻資料。經重構的視頻資料可以被存儲在參考圖片緩衝器134中並且用於其他幀的預測。
如圖1A所示,傳入的視頻資料在編碼系統中經歷一系列處理。來自REC 128的經重構的視頻資料可能由於一系列處理而受到各種損傷。因此,在經重構的視頻資料被存儲在參考圖像緩衝器134中之前,通常將環路內濾波器130應用於經重構的視頻資料,以便改善視頻品質。例如,可以使用去塊濾波器(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,解碼器使用熵解碼器(Entropy Decoder) 140將視頻位元流解碼為經量化的變換係數和所需的編碼資訊(例如,ILPF資訊、幀內預測資訊和幀間預測資訊)。解碼器側的幀內預測150不需要執行模式搜索。相反,解碼器僅需要根據從熵解碼器140接收的幀內預測資訊來生成幀內預測。此外,對於幀間預測,解碼器僅需要根據從熵解碼器140接收的幀間預測資訊來執行運動補償(MC 152),而不需要運動估計。
根據VVC,類似於HEVC,輸入圖片被分區成非交疊正方形塊區域(稱為編碼樹單元(Coding Tree Unit,CTU))。每個CTU可以被分區成一個或多個更小大小的編碼單元(coding unit,CU)。所得CU分區可以呈正方形或矩形形狀。此外,VVC將CTU劃分為預測單元(prediction unit,PU)作為用於應用預測過程(諸如,幀間預測、幀內預測等)的單元。
VVC標準併入了各種新的編解碼工具,以進一步提高HEVC標準的編解碼效率。此外,在開發VVC之外的新編碼標準時,已經提出了各種新的編解碼工具(例如,解碼器側運動向量優化(DMVR)、雙向光流(BDOF)和一些其他編解碼工具)以供考慮。
在本發明中,公開了提高與DMVR和BDOF相關的編解碼效率的方法。
公開了使用雙向預測的運動向量優化的方法和裝置。根據本發明的一種方法,接收與當前圖片中的當前塊相關聯的輸入資料,其中,使用雙向預測對所述當前塊進行編解碼(coded)。確定當前塊的基於樣本的優化,其中,基於清單0中的第一參考圖片中的第一樣本和清單1中的第二參考圖片中的第二樣本得到基於樣本的優化的每個樣本。確定當前塊的基於子塊的優化,其中,基於子塊的優化的每個子塊是基於清單0中的第一參考圖片中的第一子塊和清單1中的第二參考圖片中的第二子塊得到的。根據基於樣本的優化和基於子塊的優化確定當前塊的最終優化。通過使用包括最終優化的預測資訊對當前塊進行編碼或解碼。
在一個實施方式中,最終優化對應於基於樣本的優化和基於子塊的優化的加權和。在一個實施方式中,用於基於樣本的優化和基於子塊的優化的加權和的一個或更多個權重是預先確定的。在另一實施方式中,用於基於樣本的優化和基於子塊的優化的加權和的一個或更多個權重是在編碼器側用信號通知或在解碼器側解析的。例如,可以在編碼單元(CU)級別或編碼樹單元(CTU)級別用信號通知或解析與所述一個或更多個權重相關的一個或更多個語法。
在一個實施方式中,在基於樣本的優化與基於子塊的優化之間選擇最終優化。在一個實施方式中,如果不能得到基於子塊的優化,則選擇基於樣本的優化作為最終優化。在另一實施方式中,如果不能得到基於樣本的優化,則選擇基於子塊的優化作為最終優化。在一個實施方式中,如果與基於樣本的優化相關聯的運動優化的量值小於與基於子塊的優化相關聯的運動優化的量值,則選擇基於子塊的優化作為最終優化。在另一實施方式中,如果與基於子塊的優化相關聯的運動優化的量值小於與基於樣本的優化相關聯的運動優化的量值,則選擇基於樣本的優化作為最終優化。
在一個實施方式中,高階語法是在編碼器側用信號通知或在解碼器側解析的,其中,高階語法指示是否允許根據基於樣本的優化和基於子塊的優化得到最終優化。在一個實施方式中,高階語法是在切片級別、圖片級別或序列級別在編碼器側用信號通知或在解碼器側解析的。在一個實施方式中,如果高階語法等於第一值,則選擇基於子塊的優化或基於樣本的優化作為最終優化。在另一實施方式中,如果高階語法等於第二值,則使用基於子塊的優化或  基於樣本的優化二者來得到最終優化。在一個實施方式中,與基於子塊的優化相關聯的第一運動優化是從與基於樣本的優化的多個樣本相關聯的第二運動優化得到的。
根據另一方法,一個或更多個高階語法用信號通知或解析的,其中,所述一個或更多個高階語法指示是否允許非等距離參考圖片用於雙向運動優化。響應於所述一個或更多個高階語法指示非等距離參考圖片被允許,基於清單0中的第一參考圖片和清單1中的第二參考圖片得到當前圖片中的至少一個塊的優化的運動向量(Motion Vector,MV),並且其中,第一參考圖片與當前圖片之間的第一圖片距離和第二參考圖片與當前圖片之間的第二圖片距離不同。通過使用包括優化的MV的預測資訊對所述至少一個塊進行編碼或解碼。
在一個實施方式中,所述一個或更多個高階語法包括第一高階語法和第二高階語法,所述第一高階語法指示是否允許所述非等距離參考圖片用於基於解碼器側運動向量優化(DMVR)的雙向運動優化,所述第二高階語法指示是否允許所述非等距離參考圖片用於基於雙向光流(BDOF)的雙向運動優化。在一個實施方式中,在序列參數集(Sequence Parameter Set,SPS)中用信號通知所述一個或更多個高階語法或從所述SPS解析所述一個或更多個高階語法。在另一實施方式中,用信號通知或解析一個或更多個低階語法以指示是否允許非等距離參考圖片用於較低階的雙向運動優化。例如,可以在圖片級別或切片級別用信號通知或解析所述一個或更多個低階語法。在另一實施方式中,僅響應於所述一個或更多個高階語法指示非等距離參考圖片被允許而用信號通知或解析所述一個或更多個低階語法。
將容易理解的是,如在本文的附圖中總體描述和示出的本發明的部件可以以多種不同的構造來佈置和設計。因此,如附圖中所表示的本發明的系統和方法的實施方式的以下更詳細描述並非旨在限制所要求保護的本發明的範圍,而是僅代表本發明的所選實施方式。貫穿本說明書對“一個實施方式”、“實施方式”或類似語言的引用意味著結合實施方式描述的特定特徵、結構或特性可以包括在本發明的至少一個實施方式中。因此,貫穿本說明書各處出現的短語“在一個實施方式中”或“在實施方式中”不一定全部是指同一實施方式。
此外,在一個或更多個實施方式中,所描述的特徵、結構或特性可以以任何合適的方式組合。然而,相關領域的技術人員將認識到,本發明可以在沒有一個或更多個具體細節的情況下或者利用其他方法、部件等來實踐。在其他情況下,沒有詳細示出或描述公知的結構或操作,以避免模糊本發明的各方面。通過參考附圖將最好地理解本發明的所示實施方式,其中,相同的部分始終由相同的數位表示。以下描述僅作為示例,並且簡單地例示了與如本文所要求保護的本發明一致的裝置和方法的某些所選實施方式。
解碼器側運動向量優化( Decoder-Side Motion Vector Refinement DMVR
在JVET-D0029(Xu Chen等人的“Decoder-Side Motion Vector Refinement Based on Bidirectional Template Matching”,在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視頻探索小組(JVET)中,第四次會議:成都,中國,2016年10月15-21日,文件:JVET-D0029)中,公開了基於雙邊範本匹配的解碼器側運動向量優化(DMVR)。如圖2所示,通過分別使用根據MV0 224和MV1 234的參考塊(塊222和塊232)的雙向預測(bi-prediction)來生成範本(template),其中,塊212對應於當前塊,參考塊222位於參考圖片0(220)中,並且參考塊232位於參考圖片1(230)中。將範本用作新的當前塊,並且執行運動估計(motion estimation)以找到參考圖片0和參考圖片1中的更好匹配(better matching)塊,如圖3所示。優化的MV是MV0’(324)和MV1’(334)。然後,優化的MV(MV0’和MV1’)用於生成當前塊的最終雙向預測的預測塊。在圖3中,參考塊322和332分別根據優化的MV0’(324)和MV1’(334)來定位。
多遍解碼器側運動向量優化( Multi-Pass Decoder-Side Motion Vector Refinement MP-DMVR
為了提高合併模式(merge mode)的MV的準確性,在VVC中應用基於雙邊匹配(bilateral-matching,BM)的解碼器側運動向量優化。在雙向預測操作中,在針對當前圖片410的當前塊420的參考圖片清單L0 412和參考圖片清單L1 414中的初始MV(432和434)周圍搜索優化的MV。L0和L1中的並置的塊(collocated blocks) 422和424是根據初始MV 430和432以及當前塊420在當前圖片中的位置確定的,如圖4所示。BM方法計算參考圖片清單L0和清單L1中的兩個候選塊(442和444)之間的變形(distortion)。通過將兩個相反偏移(opposite offset)(462和464)添加到兩個初始MV(432和434)以得到兩個候選MV(452和454)來確定兩個候選塊(442和444)的位置。如圖4所示,計算基於初始MV(432或434)周圍的每個MV候選的候選塊(442和444)之間的SAD。具有最低SAD的MV候選(452或454)變成優化的MV,並用於生成雙向預測信號。
在ECM-2.0中,如果所選擇的合併候選滿足DMVR條件,則以常規合併模式(regular merge mode)應用多遍(Multi-Pass,MP)DMVR方法。在第一遍中,將雙邊匹配(bilateral matching,BM)應用於編解碼塊。在第二遍中,將BM應用於編碼塊內的每個16×16子塊(subblock)。在第三遍中,通過應用雙向光流(bi-directional optical flow,BDOF)來優化每個8×8子塊中的MV。
類似於VVC中的DMVR,BM在MVD0(MV0’-MV0)僅是MVD1(MV1’-MV1)的相反符號的約束下優化一對運動向量MV0和MV1,如圖4所示。
雙向光流 BIO
雙向光流(BIO或BDOF)是JCTVC-C204(E.Alshina等人,雙向光流,ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的視頻編解碼聯合協作小組(JCT-VC),第三次會議:廣州,中國,2010年10月7-15日,文檔:JCTVC-C204)和VCEG-AZ05(E.Alshina等人,用於下一代視頻編解碼的已知工具性能調查,ITU-T SG 16問題6,視頻編碼專家組(VCEG)、第52次會議:2015年6月19-26日,華沙,波蘭,文檔:VCEG-AZ05)中公開的運動估計/補償(motion estication/compensation)技術。BIO基於如圖5中所示的光流和穩定運動的假設得到樣本級別(sample level)運動優化,其中,B切片(雙向預測切片)520中的當前像素522是通過參考圖片0(530)中的一個像素(532)和參考圖片1(510)中的一個像素(512)來預測的。如圖5所示,當前像素522是通過參考圖片1(510)中的像素B 512和參考圖片0(530)中的像素A 532來預測的。在圖5中,vx和vy是使用雙向光流(BIO)模型得到的x方向和y方向上的像素位移向量。它僅應用於真正的雙向預測塊,其是根據與前一圖片和後一圖片相對應的兩個參考圖片來預測的。在VCEG-AZ05中,BIO利用5×5視窗來得到每個樣本的運動優化。因此,對於N×N塊,需要(N+4)×(N+4)塊的運動補償結果和對應梯度資訊來得到N×N塊的基於樣本的運動優化。根據VCEG-AZ05,將6抽頭梯度濾波器(6-Tap gradient filter)和6抽頭插值濾波器(6-Tap interpolation filter)用於生成BIO的梯度資訊。因此,BIO的計算複雜度遠高於傳統雙向預測的計算複雜度。為了進一步提高BIO的性能,提出後方所述方法。
在HEVC中的常規雙向預測中,使用式(1)生成預測子(predictor),其中,P (0)和P (1)分別是列表0和列表1預測子。 (1)
在JCTVC-C204和VECG-AZ05中,使用式(2)生成BIO預測子。 (2)
在式(2)中,Ix (0)和Ix (1)分別表示列表0和列表1預測子中的x方向梯度;Iy (0)和Iy (1)分別表示列表0和列表1預測子中的y方向梯度;vx和vy分別表示x方向和y方向上的偏移或位移。vx和vy的推導過程如下所示。首先,成本函數被定義為diffCost(x, y)以找到最佳值vx和vy。為了找到最佳值vx和vy以使成本函數diffCost(x, y)最小化,使用一個5×5視窗。vx和vy的解可以通過使用S1、S2、S3、S5和S6來表示。 (3)
最小成本函數 可以根據下式得到: (4)
通過求解式(3)和式(4),vx和vy可以根據式(5)來求解: (5) 其中,
在上式中, 對應於清單0圖片中的(x,y)處的像素的x方向梯度, 對應於清單1圖片中的(x,y)處的像素的x方向梯度, 對應於清單0圖片中的(x,y)處的像素的y方向梯度,並且 對應於清單1圖片中的(x,y)處的像素的y方向梯度。
在一些相關技術中,可以忽略S2,並且可以根據下式來求解vx和vy: (6) 其中,
在JVET-M1001(Benjamin Bross等人,“通用視頻編解碼(草案4)”中,在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視頻探索小組(JVET)中,第13次會議:馬拉喀什,摩洛哥,2019年1月9-18日,文檔:JVET-M1001),執行基於塊的BIO過程,並且塊大小為4×4。此外,為了降低BIO的計算複雜度,利用了兩個早期終止機制。對於一個CU,首先計算兩個預測子(一個來自L0並且一個來自L1)之間的絕對差之和(sum of absolute difference,SAD)。如果SAD小於一個閾值,則跳過BIO過程。否則,將BIO過程應用於當前CU。如果將BIO應用於當前CU,則計算一個4×4塊中的兩個預測子(一個來自L0並且一個來自L1)之間的絕對差之和(SAD),並且是否將BIO應用於當前4×4塊取決於一個4×4塊的SAD。
在JVET-Z2025(Muhammed Coban等人,“增強壓縮模型5(ECM5)的演算法描述”)中,在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視頻探索小組(JVET)中,通過電話的第26次會議,2022年4月20-29日,文檔:JVET-Z2025)中,利用基於樣本的BDOF。在基於樣本的BDOF中,其被每樣本地執行,而不是在塊基礎上得到運動優化(Vx,Vy)。編解碼塊被劃分成8×8子塊。對於每個子塊,通過檢查兩個參考子塊相對於閾值之間的SAD來確定是否應用BDOF。如果決定將BDOF應用於子塊,則對於子塊中的每一個樣本,使用滑動5×5視窗(sliding 5x5 window),並且針對每一個滑動視窗應用現有BDOF過程以得到Vx和Vy。應用所得到的運動優化(Vx,Vy)以調整視窗的中心樣本的雙向預測樣本值。
為了增加DMVR和BDOF的靈活性和/或編解碼效率,提出用信號通知高階標誌(high level flag)來指示是否可以利用DMVR和BDOF來優化具有非等距離參考圖片的雙向預測運動。
在一個實施方式中,可以在序列參數集(sequence parameter set,SPS)中用信號通知標誌,並且該標誌用於指示是否允許通過DMVR和BDOF來優化非等距離雙向預測。在另一個實施方式中,用兩個標誌信號通知。一個標誌用於指示是否允許通過DMVR來優化非等距離雙向預測。另一個標誌用於指示是否允許通過BDOF來優化非等距離雙向預測。在另一實施方式中,可在圖片頭或切片頭(slice header)中用信號通知標誌。在另一實施方式中,可以用信號通知兩個標誌。一個標誌用於DMVR,諸如,圖片頭或切片頭中的ph_dmvr_non_equal_refine或sh_dmvr_non_equal_refine。另一個標誌用於BDOF,諸如,圖片頭或切片頭中的ph_bdof_non_equal_refine或sh_bdof_non_equal_refine。
在另一實施方式中,用信號通知更高階語法,諸如sps_non_equal_refine_enable。只有當高階語法為真時,才可以用信號通知較低階相關語法,諸如,ph_non_equal_refine_enable、ph_dmvr_non_equal_refine、sh_dmvr_non_equal_refine、ph_bdof_non_equal_refine或sh_bdof_non_equal_refine。在另一實施方式中,用信號通知更高階語法,諸如sps_non_equal_refine_enable。只有當高階語法為真時,才可以用信號通知較低階相關語法,諸如ph_non_equal_refine_enable、ph_dmvr_non_equal_refine、sh_dmvr_non_equal_refine、ph_bdof_non_equal_refine或sh_bdof_non_equal_refine。另外,如果在圖片頭中用信號通知相關語法,諸如,ph_dmvr_non_equal_refine或ph_bdof_non_equal_refine,則將不用信號通知切片頭中用信號通知的相關語法(例如,sh_dmvr_non_equal_refine或sh_bdof_non_equal_refine)。換句話說,只有當圖片頭中不存在相關語法(例如,ph_dmvr_non_equal_refine或ph_bdof_non_equal_refine)時,才可以用信號通知切片頭中的相關語法(例如,sh_dmvr_non_equal_refine或sh_bdof_non_equal_refine)。
在相關技術中,利用基於樣本的BDOF或基於塊的BDOF的其中一個。為了進一步提高BDOF的性能,我們提出在下面將基於樣本的BDOF和基於塊的BDOF一起使用。根據基於樣本的BDOF的輸出和基於塊的BDOF的輸出得到最終輸出。此外,由於一個待處理樣本的梯度在基於樣本的BDOF和基於塊的BDOF中相同,所以我們可以直接組合基於樣本的運動優化和基於塊的運動優化,而不是組合基於樣本的BDOF的輸出和基於塊的BDOF的輸出。最終輸出的推導過程可以是線性運算或非線性運算。
在一個實施方式中,最終輸出是基於樣本的BDOF的輸出和基於塊的BDOF的輸出的加權和。權重可以在某一特定級別(諸如,編解碼單元(coding unit,CU)級別、編解碼樹單元(coding tree unit,CTU)級別、切片級別、圖片級別或序列級別)預先確定或用信號通知。權重可以根據QP、視頻解析度、CU大小、時間(temporal) ID、參考圖片選擇、參考圖片與當前圖片之間的時間距離等來預先確定。由於一個待處理樣本的梯度在基於樣本的BDOF和基於塊的BDOF中是相同的,所以我們可以直接組合基於樣本的運動優化和基於塊的運動優化,而不是組合基於樣本的BDOF的輸出和基於塊的BDOF的輸出。
在一個實施方式中,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者中選擇最終輸出。例如,在一個實施方式中,如果不能在基於樣本的BDOF中確定運動優化(例如,除以零),則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。在另一實施方式中,如果在基於塊的BDOF中不能確定運動優化(例如,除以零),則選擇基於樣本的BDOF的輸出。否則,選擇基於塊的BDOF的輸出。
在一個實施方式中,根據基於樣本的運動優化和基於塊的運動優化,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者中選擇最終輸出。例如,如果基於樣本的運動優化的量值小於基於塊的運動優化的量值,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。在另一示例中,如果基於樣本的運動優化的量值(magnitude)大於基於塊的運動優化的量值,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。運動優化的量值可以是x維度和y維度上的運動優化的絕對值的總和、x維度和y維度上的運動優化的乘積的絕對值、或x維度和y維度上的運動優化的平方和。在另一實施方式中,根據基於樣本的運動優化的運動方向和基於塊的運動優化的運動方向,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者中選擇最終輸出。如果基於樣本的運動優化的運動方向與基於塊的運動優化的運動方向不同,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。在另一示例中,如果基於樣本的運動優化的運動方向與基於塊的運動優化的運動方向相同,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。對於運動方向是否相同的判斷可以通過兩個運動優化的乘積小於零來確定。如果基於樣本的運動優化和基於塊的基於樣本的運動優化的在x維度和y維度上的兩個乘積都大於或等於零,則將其視為相同的運動方向。否則,將其視為不同的運動方向。在另一實施方式中,在x維度和y維度上獨立地做出運動方向是否相同的決定。
在一個實施方式中,根據所收集的在基於樣本的BDOF和基於塊的BDOF中使用的統計資料,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者中選擇最終輸出。例如,如果基於樣本的BDOF的分母(denominator)小於基於塊的BDOF的分母,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。在另一示例中,如果基於樣本的BDOF的分母大於基於塊的運動優化的分母,則選擇基於塊的BDOF的輸出。否則,選擇基於樣本的BDOF的輸出。由於在基於樣本的BDOF和基於塊的BDOF中使用的視窗大小不同,所以在比較中可能需要具有一個縮放因數(scaling factor)。分母可以被改變為在BDOF過程中使用的統計資料中的一者,例如,像素差、梯度等。
在另一實施方式中,上述方法可以組合在一起。例如,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者有條件地選擇最終輸出。如果無法確定基於樣本的BDOF的運動優化或基於塊的BDOF中的運動優化中的一者(例如,除以零),我們則將另一者作為最終輸出。否則(即,基於樣本的BDOF和基於塊的BDOF中的運動優化都能夠被確定),最終輸出是基於樣本的BDOF的輸出和基於塊的BDOF的輸出的加權和。在另一示例中,根據運動優化,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者有條件地選擇最終輸出。如果基於樣本的BDOF的運動優化的乘積或基於塊的BDOF中的運動優化的乘積中的一者為零,我們則將另一者作為最終輸出。否則(即,基於樣本的BDOF和基於塊的BDOF中的運動優化的兩個乘積均為非零),最終輸出是基於樣本的BDOF的輸出和基於塊的BDOF的輸出的加權和。在另一示例中,根據運動優化的運動方向,從基於樣本的BDOF的輸出和基於塊的BDOF的輸出中的一者有條件地選擇最終輸出。如果基於樣本的BDOF和基於塊的BDOF中的運動優化的運動方向相同,則基於樣本的BDOF的輸出被用作最終輸出。否則(即,基於樣本的BDOF和基於塊的BDOF中的運動優化的方向不同),最終輸出是基於樣本的BDOF的輸出和基於塊的BDOF的輸出的加權和。
由於一個待處理樣本的梯度在基於樣本的BDOF和基於塊的BDOF中是相同的,所以當在上面提出的方法中應用基於樣本的BDOF和基於塊的BDOF的兩個輸出的加權和時,我們可以直接組合基於樣本的運動優化和基於塊的運動優化,而不是組合基於樣本的BDOF的輸出和基於塊的BDOF的輸出。
在另一實施方式中,在切片級別、圖片級別或序列級別中添加一個高階語法以指示是否使用所提出的方法。如果標誌等於第一值,則使用基於樣本的BDOF或基於塊的BDOF。如果標誌等於第二值,則兩者一起使用。
在另一實施方式中,可以通過對基於樣本的BDOF的多個運動優化求平均來替換上述方法中的基於塊的BDOF的運動優化。例如,可以通過對一個2×2塊中的基於樣本的BDOF的4個運動優化求平均來得到基於塊的BDOF的運動優化。在另一示例中,可以通過對一個4×4塊中的基於樣本的BDOF的16個運動優化求平均來得到基於塊的BDOF的運動優化。
可以在編碼器的幀間/幀內/預測模組和/或解碼器的幀間/幀內/預測模組中實現使用雙向預測的任何前述提出的MV優化方法。例如,在編碼器側,使用基於解碼器側運動向量優化(DMVR)或雙向光流(BDOF)的雙向預測的所需MV優化處理可以被實現為圖1A的幀間預測(Inter-Pred)單元112的一部分。然而,編碼器還可以使用附加的處理單元來實現所需的處理。對於解碼器側,使用基於解碼器側運動向量優化(DMVR)或雙向光流(BDOF)的雙向預測的所需MV優化處理可以被實現為如圖1B所示的MC單元152的一部分。然而,解碼器還可以使用附加的處理單元來實現所需的處理。另選地,所提出的方法中的任一個可以被實現為聯接到編碼器的幀間/幀內/預測模組和/或解碼器的幀間/幀內/預測模組的電路,以便提供幀間/幀內/預測模組所需的資訊。儘管編碼器側的幀間預測(Inter-Pred.)單元112和解碼器側的MC 152被示為單獨的處理單元,但是它們可以對應于存儲在諸如硬碟或快閃記憶體之類的介質上的用於中央處理單元(Central Processing Unit,CPU)或可程式設計設備(例如,數位訊號處理器(Digital Signal Processor,DSP)或現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))的可執行軟體或固件代碼。
圖6例示了根據本發明的實施方式的使用雙向光流(BIO)來優化雙向預測塊的運動的視頻編解碼(例如,編碼和/或解碼)系統的示例性流程圖。該流程圖以及本公開中的其他流程圖中所示的步驟可以被實現為可在編碼器側和/或解碼器側的一個或更多個處理器(例如,一個或更多個CPU)上執行的程式碼。流程圖中所示的步驟還可以基於硬體(諸如,被佈置為執行流程圖中的步驟的一個或更多個電子設備或處理器)來實現。根據該方法,在步驟610中,接收與當前圖片中的當前塊相關聯的輸入資料,其中,使用雙向預測對當前塊進行編解碼(code)(例如,編碼(encode)和/或解碼(decode))。在步驟620中,確定當前塊的基於樣本的優化,其中,基於清單0中的第一參考圖片中的第一樣本和清單1中的第二參考圖片中的第二樣本得到基於樣本的優化的每個樣本。在步驟630中,確定當前塊的基於子塊的優化,其中,基於清單0中的第一參考圖片中的第一子塊和清單1中的第二參考圖片中的第二子塊得到基於子塊的優化的每個子塊。在步驟640中,根據基於樣本的優化和基於子塊的優化來確定當前塊的最終優化。在步驟650中,通過使用包括最終優化的預測資訊對當前塊進行編碼或解碼。
圖7例示了根據本發明的實施方式的使用雙向預測來優化雙向預測塊的預測子的視頻編解碼(例如,編碼和/或解碼)系統的示例性流程圖。根據該方法,在步驟710中接收與當前圖片中的當前塊相關聯的輸入資料,其中,使用雙向預測對當前塊進行編解碼(例如,編碼和/或解碼)。在步驟720中用信號通知或解析一個或更多個高階語法,其中,所述一個或更多個高階語法指示是否允許非等距離參考圖片用於雙向運動優化。響應於所述一個或更多個高階語法指示非等距離參考圖片被允許,在步驟730中基於清單0中的第一參考圖片和清單1中的第二參考圖片確定當前圖片中的至少一個塊的優化的MV,並且其中,第一參考圖片與當前圖片之間的第一圖片距離和第二參考圖片與當前圖片之間的第二圖片距離不同。在步驟740中,通過使用包括優化的MV的預測資訊對所述至少一個塊進行編碼或解碼。
以上示出的流程圖旨在例示根據本發明的視頻編解碼的示例。在不脫離本發明的精神的情況下,本領域技術人員可以修改每個步驟、重新排列步驟、拆分步驟或組合步驟以實踐本發明。在本公開中,已經使用特定的語法和語義來例示實現本發明的實施方式的示例。技術人員可以通過用等同語法和語義替代語法和語義來實踐本發明,而不脫離本發明的精神。
呈現以上描述以使本領域的普通技術人員能夠實踐如在特定應用及其要求的上下文中提供的本發明。對所描述的實施方式的各種修改對於本領域的技術人員而言將是顯而易見的,並且本文中定義的一般原理可以應用於其他實施方式。因此,本發明不旨在限於所示出和描述的特定實施方式,而是被賦予與本文公開的原理和新穎特徵一致的最寬範圍。在以上詳細描述中,示出了各種具體細節以便提供對本發明的透徹理解。然而,本領域技術人員將理解,可以實踐本發明。
如上所述的本發明的實施方式可以用各種硬體、軟體代碼或兩者的組合來實現。例如,本發明的實施方式可以是被集成到視訊壓縮晶片中的一個或更多個電路或被集成到視訊壓縮軟體中以執行本文描述的處理的程式碼。本發明的實施方式還可以是將在數位訊號處理器(Digital Signal Processor,DSP)上執行以執行本文描述的處理的程式碼。本發明還可涉及由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(field programmable gate array,FPGA)執行的許多功能。這些處理器可以被配置為通過執行機器可讀軟體代碼或固件代碼來執行根據本發明的特定任務,所述機器可讀軟體代碼或固件代碼定義了由本發明體現的特定方法。軟體代碼或固件代碼可以以不同的程式設計語言和不同的格式或樣式來開發。還可以針對不同的目標平臺編碼軟體代碼。然而,軟體代碼的不同代碼格式、樣式和語言以及配置代碼以執行根據本發明的任務的其他手段將不脫離本發明的精神和範圍。
在不脫離本發明的精神或基本特性的情況下,本發明可以以其他特定形式實施。所描述的示例在所有方面僅被認為是說明性的而非限制性的。因此,本發明的範圍由所附權利要求而不是由前述描述來指示。落入權利要求的等同物的含義和範圍內的所有變化都將包含在其範圍內。
110:幀內預測 112:幀間預測 114:開關 116:加法器 118:變換 120:量化 122:熵編碼器 124:逆量化 126:逆變換 128:重構 130:環路內濾波器 134:參考圖片緩衝器 136:預測資料 140:熵解碼器 150:幀內預測 152:運動補償 212:當前塊 220:參考圖片0 222:塊 224:MV0 230:參考圖片1 232:塊 234:MV1 322:參考塊 324:MV0’ 332:參考塊 334:MV1’ 410:當前圖片 412:參考圖片清單L0 414:參考圖片清單L1 420:當前塊 432:初始MV 434:初始MV 442:候選塊 444:候選塊 452:候選MV 454:候選MV 462:偏移 464:偏移 510:參考圖片1 512:像素 514:MV 520:B切片 522:當前像素 530:參考圖片0 532:像素 534:MV 610-650:步驟 710-740:步驟
610-650:步驟

Claims (23)

  1. 一種視訊編解碼方法,包括: 接收與當前塊相關聯的輸入資料,其中,所述輸入資料包括要在編碼器側編碼的所述當前塊的像素資料或與要在解碼器側解碼的所述當前塊相關聯的經編解碼資料,並且其中,使用雙向預測對所述當前塊進行編解碼; 確定所述當前塊的基於樣本的優化,其中,所述基於樣本的優化的每個樣本是基於清單0中的第一參考圖片中的第一樣本和清單1中的第二參考圖片中的第二樣本得到的; 確定所述當前塊的基於子塊的優化,其中,所述基於子塊的優化的每個子塊是基於所述清單0中的所述第一參考圖片中的第一子塊和所述清單1中的所述第二參考圖片中的第二子塊得到的; 根據所述基於樣本的優化和所述基於子塊的優化來確定所述當前塊的最終優化;以及 通過使用包括所述最終優化的預測資訊對所述當前塊進行編碼或解碼。
  2. 如請求項1所述之方法,其中,所述最終優化對應於所述基於樣本的優化和所述基於子塊的優化的加權和。
  3. 如請求項2所述之方法,用於所述基於樣本的優化和所述基於子塊的優化的所述加權和的一個或多個權重是預先確定的。
  4. 如請求項2所述之方法,用於所述基於樣本的優化和所述基於子塊的優化的所述加權和的一個或多個權重是在所述編碼器側用信號通知或在所述解碼器側解析的。
  5. 如請求項4所述之方法,與所述一個或多個權重相關的一個或多個語法是在編解碼單元(Coding Unit,CU)級別或編碼樹單元(Coding Tree Unit,CTU)級別用信號通知或解析的。
  6. 如請求項1所述之方法,其中,所述最終優化是自所述基於樣本的優化與所述基於子塊的優化之間選擇。
  7. 如請求項6所述之方法,其中,如果不能得到所述基於子塊的優化,則選擇所述基於樣本的優化作為所述最終優化。
  8. 如請求項6所述之方法, 其中,如果不能得到所述基於樣本的優化,則選擇所述基於子塊的優化作為所述最終優化。
  9. 如請求項6所述之方法, 其中,如果與所述基於樣本的優化相關聯的優化的量值小於與所述基於子塊的優化相關聯的優化的量值,則選擇所述基於子塊的優化作為所述最終優化。
  10. 如請求項6所述之方法,其中,如果與所述基於子塊的優化相關聯的優化的量值小於與所述基於樣本的優化相關聯的優化的量值,則選擇所述基於樣本的優化作為所述最終優化。
  11. 如請求項1所述之方法,其中,高階語法是在所述編碼器側用信號通知或在所述解碼器側解析的,其中,所述高階語法指示是否允許根據所述基於樣本的優化和所述基於子塊的優化得到所述最終優化。
  12. 如請求項11所述之方法,其中,所述高階語法是在切片(slice)級別、圖片級別或序列(sequence)級別在所述編碼器側用信號通知或在所述解碼器側解析的。
  13. 如請求項11所述之方法,其中,如果所述高階語法等於第一值,則選擇所述基於子塊的優化或所述基於樣本的優化作為所述最終優化。
  14. 如請求項11所述之方法,其中,如果所述高階語法等於第二值,則使用所述基於子塊的優化或所述基於樣本的優化二者來得到所述最終優化。
  15. 如請求項11所述之方法,其中,與所述基於子塊的優化相關聯的第一運動優化是從與所述基於樣本的優化的多個樣本相關聯的第二運動優化得到的。
  16. 一種用於視頻編解碼的裝置,所述裝置包括一個或更多個電子設備或處理器,所述一個或更多個電子設備或處理器被佈置成: 接收與當前塊相關聯的輸入資料,其中,所述輸入資料包括要在編碼器側編碼的所述當前塊的像素資料或與要在解碼器側解碼的所述當前塊相關聯的經編解碼資料,並且其中,使用雙向預測對所述當前塊進行編解碼; 確定所述當前塊的基於樣本的優化,其中,所述基於樣本的優化的每個樣本是基於清單0中的第一參考圖片中的第一樣本和清單1中的第二參考圖片中的第二樣本得到的; 確定所述當前塊的基於子塊的優化,其中,所述基於子塊的優化的每個子塊是基於清單0中的第一參考圖片中的第一子塊和清單1中的第二參考圖片中的第二子塊得到的; 根據所述基於樣本的優化和所述基於子塊的優化來確定所述當前塊的最終優化;以及 通過使用包括所述最終優化的預測資訊對所述當前塊進行編碼或解碼。
  17. 一種視訊編解碼方法,包括: 接收與當前圖片相關聯的輸入資料,其中,所述輸入資料包括要在編碼器側編碼的所述當前塊的像素資料或與要在解碼器側解碼的所述當前塊相關聯的經編解碼資料; 用信號通知或解析一個或更多個高階語法,其中,所述一個或更多個高階語法指示是否允許非等距離參考圖片用於雙向運動優化; 響應於所述一個或更多個高階語法指示所述非等距離參考圖片被允許,基於清單0中的第一參考圖片和清單1中的第二參考圖片得到所述當前圖片中的至少一個塊的優化的運動向量(Motion Vector,MV),並且其中,所述第一參考圖片與所述當前圖片之間的第一圖片距離和所述第二參考圖片與所述當前圖片之間的第二圖片距離不同;以及 使用包括所述優化的MV的預測資訊對所述至少一個塊進行編碼或解碼。
  18. 如請求項17所述之方法,其中,所述一個或更多個高階語法包括第一高階語法和第二高階語法,所述第一高階語法指示是否允許所述非等距離參考圖片用於基於解碼器側運動向量優化(Decoder-Side Motion Vector Refinement,DMVR)的雙向運動優化,所述第二高階語法指示是否允許所述非等距離參考圖片用於基於雙向光流(Bi-Directional Optical Flow,BDOF)的雙向運動優化。
  19. 如請求項17所述之方法,其中,所述一個或更多個高階語法是在序列參數集(Sequence Parameter Set,SPS)中用信號通知或從所述SPS解析的。
  20. 如請求項19所述之方法,其中,用信號通知或解析一個或更多個低階語法以指示是否允許所述非等距離參考圖片用於較低階的雙向運動優化。
  21. 如請求項20所述之方法,其中,所述一個或更多個低階語法是在圖片級別或切片級別用信號通知或解析的。
  22. 如請求項20所述之方法,其中,僅回應於所述一個或更多個高階語法指示所述非等距離參考圖片被允許而用信號通知或解析所述一個或更多個低階語法。
  23. 一種用於視頻編解碼的裝置,所述裝置包括一個或更多個電子設備或處理器,所述一個或更多個電子設備或處理器被佈置成: 接收與當前圖片相關聯的輸入資料,其中,所述輸入資料包括要在編碼器側編碼的所述當前塊的像素資料或與要在解碼器側解碼的所述當前塊相關聯的經編解碼資料; 用信號通知或解析一個或更多個高階語法,其中,所述一個或更多個高階語法指示是否允許非等距離參考圖片用於雙向運動優化; 響應於所述一個或更多個高階語法指示所述非等距離參考圖片被允許,基於清單0中的第一參考圖片和清單1中的第二參考圖片得到所述當前圖片中的至少一個塊的優化的運動向量MV,並且其中,所述第一參考圖片與所述當前圖片之間的第一圖片距離和所述第二參考圖片與所述當前圖片之間的第二圖片距離不同;並且 使用包括所述優化的MV的預測資訊對所述至少一個塊進行編碼或解碼。
TW112118144A 2022-05-16 2023-05-16 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置 TW202408243A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202263342180P 2022-05-16 2022-05-16
US63/342,180 2022-05-16
US202263367821P 2022-07-07 2022-07-07
US63/367,821 2022-07-07
WOPCT/CN2023/094597 2023-05-16
PCT/CN2023/094597 WO2023221993A1 (en) 2022-05-16 2023-05-16 Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding

Publications (1)

Publication Number Publication Date
TW202408243A true TW202408243A (zh) 2024-02-16

Family

ID=88834647

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112118144A TW202408243A (zh) 2022-05-16 2023-05-16 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置

Country Status (2)

Country Link
TW (1) TW202408243A (zh)
WO (1) WO2023221993A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3918804A4 (en) * 2019-03-14 2023-02-08 HFI Innovation Inc. METHODS AND APPARATUS FOR VIDEO PROCESSING USING MOTION DECOMPOSITION AND SUB-PARTITION BASE FILLING
US11089328B2 (en) * 2019-05-22 2021-08-10 Qualcomm Incorporated Bi-directional optical flow in video coding
US11438623B2 (en) * 2019-07-08 2022-09-06 Hyundai Motor Company Method and device for encoding and decoding video using inter-prediction
CN114342379A (zh) * 2019-08-23 2022-04-12 北京达佳互联信息技术有限公司 光流预测细化的方法和装置
US11936904B2 (en) * 2019-09-20 2024-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video encoding and/or decoding with bidirectional optical flow simplification on shift operations and related apparatus

Also Published As

Publication number Publication date
WO2023221993A1 (en) 2023-11-23

Similar Documents

Publication Publication Date Title
JP7368554B2 (ja) Dmvrのためのブロックサイズ制限
TWI735172B (zh) 用於多個工具的互相排斥設定
US11575926B2 (en) Enhanced decoder side motion vector refinement
JP5368482B2 (ja) ビデオ符号化および復号におけるインプリシットなブロック分割のための方法および装置
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
WO2011121894A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR20080064355A (ko) 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
TWI729483B (zh) 視訊編解碼系統的運動向量湊整統一的方法以及裝置
CN114845102A (zh) 光流修正的提前终止
US10652549B2 (en) Video coding device, video coding method, video decoding device, and video decoding method
TW201328362A (zh) 影像編碼方法、裝置、影像解碼方法、裝置及該等之程式
TW202329694A (zh) 視訊編解碼方法及裝置
TW202408243A (zh) 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置
US20180249155A1 (en) Method and apparatus of prediction offset derived based on neighbouring area in video coding
WO2024088048A1 (en) Method and apparatus of sign prediction for block vector difference in intra block copy
TWI830334B (zh) 視頻編解碼系統中低延遲模板匹配的方法和裝置
WO2023134564A1 (en) Method and apparatus deriving merge candidate from affine coded blocks for video coding
TWI836563B (zh) 視訊編解碼方法和裝置
TWI768475B (zh) 視訊資料預測方法和裝置
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
JP7387806B2 (ja) 画像復号装置、画像復号方法及びプログラム
TW202423120A (zh) 採用合併模式進行視頻編解碼的amvp方法和裝置
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement
JP2013077865A (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
TW202402059A (zh) 視訊編解碼方法和裝置