TWI663872B - 用於視訊編解碼的基於雙向光流的運動細化的方法及裝置 - Google Patents

用於視訊編解碼的基於雙向光流的運動細化的方法及裝置 Download PDF

Info

Publication number
TWI663872B
TWI663872B TW107108842A TW107108842A TWI663872B TW I663872 B TWI663872 B TW I663872B TW 107108842 A TW107108842 A TW 107108842A TW 107108842 A TW107108842 A TW 107108842A TW I663872 B TWI663872 B TW I663872B
Authority
TW
Taiwan
Prior art keywords
block
optical flow
reference block
gradients
boundary
Prior art date
Application number
TW107108842A
Other languages
English (en)
Other versions
TW201840190A (zh
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 TW201840190A publication Critical patent/TW201840190A/zh
Application granted granted Critical
Publication of TWI663872B publication Critical patent/TWI663872B/zh

Links

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/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/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

本發明公開了一種使用雙向光流(Bi-directional optical flow,BIO)的方法及裝置,其用於真實雙向預測塊。根據本發明的一方法,公開了免除法的雙向光流流程,其中使用包括右移而無任何除法操作的操作推導出x運動偏移和y運動偏移。根據另一方法,透過將雙向光流流程應用到參考塊,生成用於當前塊的細化預測子,其中應用雙向光流流程包括將分界線條件依存雙向光流流程有條件地應用到與參考塊相關的分界線像素。

Description

用於視訊編解碼的基於雙向光流的運動細化的方法及裝置 【優先權聲明】
本發明要求在2017年03月16日提出的申請號為62/472,002的美國臨時專利申請、在2017年03月22日提出的申請號為62/474,702的美國臨時專利申請和在2017年04月01日提出的申請號為62/480,359的美國臨時專利申請的優先權。上述美國臨時專利申請整體以引用方式併入本文中。
本發明涉及使用雙向光流(bi-directional optical flow,BIO)的運動補償,以細化用於雙向預測塊的運動。具體地,本發明涉及與雙向光流相關的降低頻寬和降低複雜度。
雙向光流
雙向光流是JCTVC-C204(E.Alshina,et al.,Bi-directional optical flow,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,3rd Meeting:Guangzhou,CN,7-15 October,2010,Document:JCTVC-C204)和VCEG-AZ05(E.Alshina,et al., Known tools performance investigation for next generation video coding,ITU-T SG 16 Question 6,Video Coding Experts Group(VCEG),52nd Meeting:19-26 June 2015,Warsaw,Poland,Document:VCEG-AZ05)中公開的運動估計/運動補償技術。如第1圖所示,雙向光流基於光流和穩定運動的假設推導出樣本層運動細化(refinement),其中B片段(slice)(即雙向預測(bi-prediction)片段)120中的當前像素122由參考圖像0(即130)中的一個像素和參考圖像1(即110)中的一個像素預測。如第1圖所示,當前像素122由參考圖像1(即110)中的像素B(即112)和參考圖像0(即130)中的像素A(即132)預測。在第1圖中,vx和vy是x方向和y方向的像素位移向量,其是使用雙向光流模型推導出的。雙向光流僅被使用以用於真實雙向預測塊,其可以自對應於之前圖像和之後圖像的兩個參考圖像預測。在VCEG-AZ05中,雙向光流採用5x5視窗以推導出每個樣本的運動細化。因此,對於NxN塊,(N+4)x(N+4)塊的運動補償結果和相應的梯度資訊被需要,以推導出用於NxN塊的基於樣本的運動細化。根據VCEG-AZ05,6抽頭(Tap)梯度濾波器和6抽頭插值濾波器用於生成雙向光流的梯度資訊。因此,雙向光流的計算複雜度比傳統的雙向預測的計算複雜度高得多。為了進一步提高雙向光流的性能,提出了如下方法。
在HEVC中的傳統的雙向預測中,使用方程式(1),生成預測子,其中P(0)和P(1)分別是列表0預測子和列表1預測子。
P Conventional [i,j]=(P (0)[i,j]+P (1)[i,j]+1)>>1 (1)
在JCTVC-C204和VECG-AZ05中,使用方程式(2),生成雙向光流預測子。
P OpticalFlow =(P (0)[i,j]+P (1)[i,j]+v x [i,j](I x (0)-I x (1)[i,j])+v y [i,j](I y (0)-I y (1)[i,j])+1)>>1 (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),一個5x5視窗被使用。vx和vy的解法可以透過使用S1,S2,S3,S5和S6來表示。
最小成本函數mindiffCost(x,y)可以根據如下推導出:
透過求解方程式(3)和方程式(4),根據方程式(5)可以解得vx和vy
其中,
在上述方程式中,對應於列表0圖像中位於 (x,y)處的像素的x方向梯度,對應於列表1圖像中位於 (x,y)處的像素的x方向梯度,對應於列表0圖像中位於 (x,y)處的像素的y方向梯度,對應於列表1圖像中位於 (x,y)處的像素的y方向梯度。
在一些相關技術中,S 2 可以被忽略,並且根據如下可以解得v x v y
其中,
根據上述方程式,在vx和vy的推導中,除法操作被需要。由於S1,S2,S3,S5和S6中存在很多像素值的累加和平方,所需要的位元深度較大。如果視訊序列中的像素值的位元深度是10位元,支持vx的32位元/28位元的一個除法器和支持vy的36位元/29位元的另一除法器將被需要。如果位元深度由分數插值濾波器進行增加,則這些除法器將變成vx的40位元/36位元和vy的44位元/37位元。當所需要的 位元深度變得如此之大時,直接使用查找表(look-up-table,LUT)以替換除法是不實用的。因此,需要開發方法以在雙向光流流程中簡化除法操作。
在上述方程式中,參數S1,S2,S3,S5和S6與x方向梯度和y方向梯度相關。例如,S1自列表0中的參考塊的x方向梯度與列表1中的參考塊的x方向梯度的總和計算出。總和的平方用作S1。S5自列表0中的參考塊的y方向梯度與列表1中的參考塊的y方向梯度的總和計算出。總和的平方用作S5。為了簡便,在本發明中,參數S1,S2,S3,S5和S6稱為梯度參數。實際上,梯度參數S1,S2,S3,S5和S6經常使用具有預定義位元深度的固定點表示。vx和vy的推導將需要乘法操作、加法操作和除法操作。在這些操作中,除法操作在實施方面更耗成本。
在VCEG-AZ05中,雙向光流在HEVC參考軟體的頂部實施,並且其總是應用於以真實雙向而被預測的這些塊(即,真實雙向預測塊)。在HEVC中,用於亮度分量的一個8抽頭插值濾波器和用於色度分量的一個4抽頭插值濾波器用於執行分數運動補償。在雙向光流中,考慮到一個5x5視窗以用於雙向光流中的一個8x8編碼單元(coding unit,CU)中的一個待處理像素,最差情況中所需頻寬自每當前像素(8+7)x(8+7)x 2/(8x8)=7.03個參考像素增加到每當前像素(8+7+4)x(8+7+4)x 2/(8x8)=11.28個參考像素。在JVET D0042(A.Alshin,et al.,“AHG6:On BIO memory bandwidth”,Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,4th Meeting:Chengdu,CN,15-21 October 2016,Document:JVET-D0042)中,為了降低所需頻寬,如果這些像素是位於當前塊之外,則包括運動補償像素和x方向梯度和y方向梯度的所需資料將被設置成0。如第2圖所示,中心方形是用於當前塊的原始運動補償塊(MC block)(即210),雙向光流流程需要區域A(即220)和區域B(即230)中的預測子和相應的梯度來分別推導出位移,以為了透過使用所推導出的位移和梯度來進一步細化預測子。在JVET D0042中,來自於區域A(即220)和區域B(即230)的資料將被設置成0,以為了節省所需頻寬。由於梯度自額外的6抽頭濾波器生成,透過使用與原始HEVC中相同的區域,梯度和運動補償像素可以被生成。因此,透過使用JVET D0042中的方法,雙向光流流程中不存在額外的頻寬需求。
在D0042中,如果子塊運動補償被使用,則區域A(即220)和區域B(即230)中的資料設置成0將被應用於每個子塊。然而,如果兩個相鄰子塊具有相同的運動向量(motion vector,MV),則這兩個子塊不能被合併成更大塊以用於雙向光流流程,是因為兩個獨立的子塊的最終結果和一個合併塊的結果因係數跳過而不相同。例如,係數跳過可以被應用於獨立子塊流程中的這兩個子塊之間的內部分界線,而係數跳過不被應用於合併塊流程中的內部分界線。
然而,相對於原始運動補償設計,使用額外的6抽頭濾波器來生成x方向梯度和y方向梯度是複雜的。兩個額外的6抽頭濾波器將被需要:一個用於生成梯度,另一個用於 當運動向量是分數時執行插值。此外,VCEG-AZ05中也提出了基於塊的流程,以降低所需計算複雜度。因此,下面將說明較低複雜度的雙向光流。在較低複雜度雙向光流中,基於塊的推導流程被使用,而非基於像素的推導流程,其中每個塊被分割成4x4塊(在本發明中稱為雙向光流塊)以用於基於塊的雙向光流流程。在原始雙向光流中,5x5視窗用於推導出用於每個像素的運動。在基於塊的雙向光流中,6x6視窗用於每個4x4塊,以推導出用於此塊的運動。根據較低複雜度的雙向光流,透過將具有等於[-1,0,1]的係數的3抽頭濾波器應用到運動補償像素,梯度的計算也被簡化。在第2圖中,更小塊250對應於用於基於塊的雙向光流的4x4塊。虛線塊260對應於6x6視窗,以用於推導出與4x4塊相關的運動資訊。對於此視窗內的每個像素,預測子和梯度得被計算出。對於{-1,0,1}梯度濾波器,用於位於視窗260的左上角處的像素240的x方向梯度和y方向梯度需要如第2圖中的黑色點所示的周圍像素。因此,所需頻寬與原始雙向光流中的所需頻寬相同,但是不需要額外的6抽頭濾波器,並且透過使用基於塊的推導流程,降低了計算複雜度。需要開發方法以降低所需記憶體頻寬,且進一步提高較低複雜度的雙向光流的編解碼性能。
在使用運動補償圖框間預測的典型的視訊編解碼系統中,運動資訊通常自編碼器側發送到解碼器,使得解碼器可以正確地執行運動補償圖框間預測。在此系統中,運動資訊將消耗一些已編解碼位元。為了提高編解碼效率,VCEG-AZ07(Jianle Chen,et al.,Further improvements to HMKTA-1.0,ITU- Telecommunications Standardization Sector,Study Group 16 Question 6,Video Coding Experts Group(VCEG),52nd Meeting:19-26 June 2015,Warsaw,Poland)中公開了解碼器側的運動向量推導方法。根據VCEG-AZ07,解碼器側運動向量推導方法使用兩個幀率上轉換(Frame Rate Up-Conversion,FRUC)模式。幀率上轉換模式中的一個稱為雙邊匹配,以用於B片段,幀率上轉換模式中的另一個稱為範本匹配,以用於P片段或者B片段。
重疊塊運動補償(Overlapped Block Motion Compensation,OBMC)
根據線性最小均方誤差(Linear Minimum Mean Squared Error,LMMSE)標準,重疊塊運動補償是一種運動補償技術,其基於自其附近塊運動向量推導出的運動補償標示,估計像素的強度值。從估計理論角度來看,這些運動向量被視為不同的合理假設以用於其真實運動,並最大化編解碼效率。這些運動向量的權重應最小化受單元增益約束的均方預測誤差。
當發展了高效視訊編碼(High Efficient Video Coding,HEVC)時,為了提供編解碼增益,提出了幾種編解碼技術。下面描述其中一些。
在JCTVC-C251中,重疊塊運動補償被應用到幾何分割。在幾何分割中,非常有可能的是變換塊包括屬於不同分割的像素。在幾何分割中,由於兩個不同運動向量用於運動補償,位於分割分界線處的像素可以具有較大的非連續性,其可 能產生類似於塊效應(blockiness)的視覺偽影。這將降低變換編解碼效率,假設存在由幾何分割創建的兩個區域,其用區域1和區域2來表示。如果其四個相連相鄰像素(左、頂、右和底)中的一個屬於區域2(區域1),來自於區域1(區域2)的像素被定義成分界線像素。第3圖示出了區域分割的示例,其中塊310被分割成跨過區域分界線320的區域1和區域2。像素330表示區域1分界線像素,像素340表示區域2分界線像素。如果像素是分界線像素,則使用來自於兩個運動向量的運動預測的加權和來執行運動補償。加權是3/4,以用於使用包括分界線像素的區域的運動向量的預測,以及1/4,以用於使用另一區域的運動向量的預測。重疊分界線提高重構視訊的視覺品質,也提高編解碼效率。
在JCTVC-F299中,重疊塊運動補償被應用到對稱運動分割。如果編碼單元被分割成兩個2NxN或Nx2N預測單元(prediction unit,PU),則重疊塊運動補償被應用到這兩個2NxN預測塊的水平分界線,以及應用到這兩個Nx2N預測塊的垂直分界線。由於這些分割可能具有不同的運動向量,位於分割分界線處的像素可能具有較大的非連續性,其可能會引起視覺偽影,並且也會降低變換/編解碼效率。在JCTVC-F299中,重疊塊運動補償被引進以平滑運動分割的分界線。
第4A圖示出了用於2NxN分割的重疊塊運動補償的示例,第4B圖示出了用於Nx2N分割的重疊塊運動補償的示例。線填充型像素表示屬於分割0的像素,空白型像素表示屬於分割1的像素。亮度分量中的重疊區域被定義成分別在水 平分割線或垂直分割線的每側處的像素的兩列或兩行。對於與分割分界線相鄰的像素列或像素行(即被標記為第4A圖和第4B圖中的A的像素),重疊塊運動補償加權因數為(3/4,1/4)。對於遠離分割分界線的兩列或者兩行的像素(即第4A圖和第4B圖中被標記為B的像素),重疊塊運動補償加權因數是(7/8,1/8)。對於色度分量,重疊區域被定義成分別在水平分割線或垂直分割線的每側處的像素的一列或一行,並且加權因數是(3/4,1/4)。
當前,用於兩個編碼單元或者預測單元之間的重疊區域的運動補償結果由位於用於當前編碼單元或者預測單元的正常運動補償流程之後的另一運動補償流程產生。因此,在這兩個運動補償流程中,雙向光流被應用兩次,以分別細化這兩個運動補償結果。當兩個相鄰運動向量相同時,上述流程順序可以有助於跳過冗餘重疊塊運動補償流程和雙向光流流程。然而,相對於整合重疊塊運動補償流程和正常運動補償流程,用於重疊區域的所需頻寬和運動補償操作被增加。例如,當前預測單元尺寸是16x8,重疊區域是16x2,運動補償中的插值濾波器是8抽頭(tap)。如果重疊塊運動補償在正常運動補償之後執行,將需要用於當前預測單元和相關重疊塊運動補償的每個參考列表(16+7)x(8+7)+(16+7)x(2+7)=552個參考像素。如果重疊塊運動補償操作與正常運動補償整合,將僅需要用於當前預測單元和相關重疊塊運動補償的每個參考列表(16+7)x(8+2+7)=391個參考像素。因此,當雙向光流和重疊 塊運動補償被同時使用時,需要降低雙向光流的計算複雜度或者記憶體頻寬。
本發明公開了一種使用雙向光流的方法及裝置,其用於真實雙向預測塊。根據本發明的一方法,接收與當前圖像中的當前塊相關的輸入資料,其中使用雙向預測編解碼當前塊。確定來自於參考圖像列表0的第一參考圖像中與當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與當前塊相關的第二參考塊,其中第一參考塊和第二參考塊由真實雙向運動向量所指向。基於第一參考塊推導出複數個第一x梯度和複數個第一y梯度,並基於第二參考塊推導出複數個第二x梯度和複數個第二y梯度。基於複數個第一x梯度、複數個第一y梯度、複數個第二x梯度、複數個第二y梯度、第一參考塊的複數個第一像素值、第二參考塊的複數個第二像素值或者其組合,推導出一梯度參數集,其中所有梯度參數使用固定點表示。使用包括右移而無任何除法操作的複數個操作推導出x運動偏移和y運動偏移,其中x運動偏移對應於由第一分母所除以的第一分子,y運動偏移對應於第二分母所除以的第二分子,並且第一分子、第一分母、第二分子和第二分母自兩個梯度參數的乘積的線性組合或者複數個梯度參數的線性組合生成。根據第一參考塊、第二參考塊、複數個第一x梯度與複數個第一y梯度、複數個第二x梯度與複數個第二y梯度、x運動偏移、y運動偏移或者其組合,生成用於當前塊的細化預測子。基於細化預測子,編碼或解碼當前塊。
本方法還可以包括:確定第一分母的第一MSB位置Nx和第二分母的第二MSB位置Ny,其中使用包括右移第一分子和第一分母Nx位元,以及右移第二分子和第二分母Ny位元的複數個操作,推導出x運動偏移。(2Px/2(K-1))的複數個值可以被存儲在第一查找表中,並且(2Py/2(K-1))的複數個值可以被存儲在第二查找表中,其中2(K-1)對應於第一分母和第二分母的複數個可能值,並且x運動偏移是使用包括乘法和右移Px位元的複數個操作推導出,y運動偏移是使用包括乘法和右移Py位元的複數個操作推導出。在一個實施例中,第一查找表與第二查找表相同。在另一實施例中,第一查找表與第二查找表不相同。在一個實施例中,K對應於1。右移第一分子和第一分母Nx位元,或者右移第二分子和第二分母Ny位元可以使用舍入偏移(rounding offset)。
本發明也公開了一種非暫時性電腦可讀介質,存儲有複數個程式指令,使得一裝置的處理電路執行上述視訊編解碼方法。如上所述,本方法包括:接收輸入資料;確定第一參考塊和第二參考塊;基於第一參考塊,推導出複數個第一x梯度和複數個第一y梯度,並基於第二參考塊,推導出複數個第二x梯度和複數個第二y梯度;推導出梯度參數集;推導出x運動偏移和y運動偏移;生成細化預測子;以及基於細化預測子,編碼或解碼當前塊。
根據另一方法,在確定第一參考塊和第二參考塊之後,透過將雙向光流流程應用到第一參考塊和第二參考塊,生成用於當前塊的細化預測子,其中應用雙向光流流程包括: 基於塊分界線條件或者子塊分界線條件,將分界線條件依存雙向光流流程有條件地應用到與第一參考塊和第二參考塊相關的複數個分界線像素,其中分界線條件依存雙向光流流程包括:填充常規雙向光流流程所需要的不可用資料,或者透過修改常規雙向光流流程跳過不可用資料。不可用資料對應於常規雙向光流流程所需要的目標資料,但自第一參考塊和第二參考塊不可用。基於細化預測子,編碼或解碼當前塊。
目標資料可以對應於來自於第一參考塊和第二參考塊的目標參考資料、目標參考資料的複數個梯度、運動補償目標參考資料或者其組合。在一個實施例中,若複數個分界線像素對應於當前塊的複數個塊分界線,則將分界線條件依存雙向光流流程應用到複數個分界線像素,以及若複數個分界線像素對應於當前塊的複數個運動補償塊分界線,則不將分界線條件依存雙向光流流程應用到複數個分界線像素。在另一實施例中,若複數個分界線像素對應於具有兩個不同的運動矢量向量的兩個相鄰子塊之間的子塊分界線,兩個垂直相鄰子塊之間的水平子塊分界線,或者兩個水平相鄰子塊之間的垂直子塊分界線,則將分界線條件依存雙向光流流程應用到複數個分界線像素。在又一實施例中,若複數個分界線像素對應於具有相同的運動矢量向量的兩個相鄰子塊之間的子塊分界線,具有相同的運動矢量向量的兩個水平相鄰子塊之間的垂直子塊分界線,或者具有相同的運動矢量向量的兩個垂直相鄰子塊之間的水平子塊分界線,則不將分界線條件依存雙向光流流程應用到複數個分界線像素。
本發明也公開了一種非暫時性電腦可讀介質,存儲有複數個程式指令,使得一裝置的處理電路執行上述視訊編解碼方法。如上所述,本方法包括:接收輸入資料;確定第一參考塊和第二參考塊;透過應用雙向光流流程,生成用於當前塊的細化預測子,其中應用雙向光流流程包括將分界線條件依存雙向光流流程有條件地應用到分界線像素;以及基於細化預測子,編碼或解碼當前塊。
110‧‧‧參考圖像1
112‧‧‧像素B
120‧‧‧B片段
122‧‧‧當前像素
130‧‧‧參考圖像0
132‧‧‧像素A
210‧‧‧運動補償塊
220‧‧‧區域A
230‧‧‧區域B
240、330、340‧‧‧像素
250‧‧‧更小塊
260‧‧‧6x6視窗
310‧‧‧塊
320‧‧‧區域分界線
510、520‧‧‧當前編碼單元
512、522、524、532、534、536、538‧‧‧相鄰塊
530‧‧‧當前塊
610~670、710~740‧‧‧步驟
第1圖是雙向光流以推導出用於運動細化的偏移運動向量的示例。
第2圖是用於推導出與雙向光流相關的梯度和位移的運動補償塊及其相鄰像素。
第3圖是區域分割的示例,其中塊被分割成跨過區域分界線的區域1和區域2。
第4A圖是用於2NxN分割的重疊塊運動補償的示例。
第4B圖是用於Nx2N分割的重疊塊運動補償的示例。
第5A圖是位移繼承的示例,其中當前編碼單元的位移自相鄰編碼塊複製。
第5B圖是位移繼承的示例,其中當前編碼單元的位移自相鄰子塊複製。
第6圖是根據本發明實施例的使用雙向光流以細化用於雙向預測塊的運動的視訊編解碼系統的示例性流程圖,其中使用右移而無需除法操作推導出偏移。
第7圖是根據本發明實施例的使用雙向光流以細化用於雙向預測塊的運動的視訊編解碼系統的示例性流程圖,其中基於塊分界線條件或者子塊分界線條件,分界線條件依存雙向光流流程被有條件地應用到與參考塊相關的分界線像素。
以下描述為本發明的較佳實施例。以下實施例僅用來舉例闡釋本發明的技術特徵,並非用以限定本發明。本發明的保護範圍當視權利要求書所界定為准。
如上所述,雙向光流和雙向光流結合重疊塊運動補償需要訪問額外的參考資料,其會引起增加的系統頻寬。這些流程也增加了計算複雜度。在本發明中,公開了與雙向光流和雙向光流與重疊塊運動補償相關的降低系統頻寬和/或計算複雜度的技術。
免除法的雙向光流流程
如前面所述,如方程式(5)和方程式(6)所示,雙向光流流程需要推導出偏移vx和偏移vy。所需計算相當地廣泛。具體地,基於梯度參數,除法操作被需要以推導出偏移vx和偏移vy。習知技術中已知的是,涉及除法操作的計算複雜度比加法操作和乘法操作的計算複雜度高很多。因此,需要避免除法操作。
相應地,公開了一種方法,以使用動態右移來降低在除法流程中的所需位元深度,或者減少除法流程。所提出的方法首先確定分母的最高有效位(Most Significant Bit,MSB)位置,並使用右移N位元操作,僅保留分母的前K個 MSB位元。同時,分子也右移N位元。分母的可能值變成2(K-1),並且(2P/2(K-1))的值可以被預先計算和存儲在查找表中。因此,如下方程式所示,透過使用乘法和右移P位元,除法操作可以被替代:v x =((S 3 >>Nx)x LUT[(S 1 >>Nx)])>>Px,以及v y =((S 6 -vx S 2 )>>Ny)x LUT[(S 5 >>Ny)])>>Py
在上述方程式,Nx和Ny分別表示與右移分母S1和分母S5相關的位元數量。Px和Py分別表示與右移用於vx和vy的查找表相關的位元數量。用於vx和vy的查找表可以相同或者不同。在一個實施例中,當執行右移操作時,舍入(rounding)偏移可以被添加。在另一實施例中,僅分母的第一MSB位元被保留。在這種情況中,K對應於1,僅動態右移被需要以替代雙向光流流程中的除法。
重疊塊運動補償區域中的偏移v x 和偏移v y 重新使用
在雙向光流流程中,較小位移(在本發明中也稱為偏移),即vx和vy基於x方向和y方向中的像素值的梯度而被推導出,並用於細化運動補償預測子。此推導可以是基於塊的操作或者基於像素的操作。為了降低相關重疊塊運動補償流程與雙向光流的計算複雜度,根據本方法,正常運動補償流程中的較小位移用於重疊塊運動補償區域中的這些塊或者像素。換言之,在相關重疊塊運動補償流程與雙向光流中,較小位移可以自正常運動補償流程中複製或者繼承。例如,正常運 動補償區域中的分界線像素或者塊的較小位移可以直接用於相關重疊塊運動補償區域中的這些像素或者塊。第5A圖示出了位移繼承的示例,其中當前編碼單元的位移可以用於相鄰編碼單元。例如,當前編碼單元510的位移可以用於相鄰塊512;當前編碼單元520的位移可以直接用於相鄰塊522或者相鄰塊524。第5B圖示出了位移繼承的示例,其中當前塊530的位移可以用於相鄰子塊。例如,當前塊530的位移可以用於相鄰子塊532、相鄰子塊534、相鄰子塊536或者相鄰子塊538。
重疊塊運動補償和雙向光流的處理順序
當前,重疊塊運動補償和雙向光流的處理順序是先使用雙向光流細化運動補償預測子,然後使用重疊塊運動補償混合兩個已細化運動補償預測子。根據本方法,處理順序被改變以降低計算複雜度。根據本方法,重疊塊運動補償混合先被執行,以生成新的運動補償預測子,隨後雙向光流流程被使用。因此,雙向光流流程可以自兩次減少到一次。
雙向光流的頻寬降低
在較低複雜度的雙向光流流程中,係數等於[-1,0,1]的3抽頭濾波器已對運動補償像素使用。在較低複雜度的雙向光流中,來自於第2圖中的區域A(即220)和區域B(即230)的運動補償像素用於計算梯度,並且這些梯度用於推導出位移並細化最終預測子。如第2圖所示,來自於區域A(即220)和區域B(即230)的運動補償像素位於運動補償塊210的分界線之外。為了降低頻寬,用於位於編碼單元分界線處的像素的梯度計算被修改,以避免來自於區域A(即220)和區 域B(即230)的資料的需要。例如,濾波器係數等於[-1,1]的2抽頭濾波器用於生成用於位於編碼單元分界線處的這些像素的梯度。由於梯度計算不相同,基於濾波器抽頭距離,一些歸一化可以被需要。在另一實施例中,雙向光流細化被跳過以用於位於編碼單元分界線處的這些像素。
用於雙向光流流程的塊尺寸選擇
在較低複雜度的雙向光流中,基於塊的推導流程被使用,而非基於像素的推導流程,其可以很大程度上降低計算複雜度。然而,使用一個預定義的塊尺寸不會實現具有不同解析度和不同內容的視訊的最佳編解碼增益。根據本方法,塊尺寸可以基於視訊解析度或者視訊內容的特徵。例如,對於一些光滑區域,塊尺寸應足夠大以包括更多紋理以用於推導出準確的位移。然而,對於一些複雜的紋理或者運動區域,塊尺寸應較小以適應局部化(localization)。因此,在一個實施例中,塊尺寸基於視訊解析度。在另一實施例中,塊尺寸基於編碼單元尺寸。例如,當編碼單元尺寸較小時,較小的塊尺寸被使用。在另一實施例中,塊尺寸基於子塊運動分割的使用。如果使用子塊運動分割編解碼當前編碼單元,則更小的塊尺寸用於雙向光流。在另一實施例中,塊尺寸基於運動補償像素。例如,如果運動補償像素的變化較大,或者運動補償(motion-compensated,MC)區域中存在一些強邊緣,則更小的塊尺寸用於雙向光流。上述方法可以被結合,以在雙向光流流程中隱性地確定塊尺寸,或者在位於序列層、圖像層、片段 層、編碼樹單元(Coding Tree Unit,CTU)層或者編碼單元層處的位元流中顯性地標示所選擇的塊尺寸。
分界線條件依存雙向光流流程(Boundary Condition Dependent BIO Process)
為了解決聯合或者單獨處理子塊的不同結果的問題,公開了分界線條件依存雙向光流流程。本雙向光流分界線流程依存於塊分界線條件/子塊分界線條件。本雙向光流分界線流程指的是使用分界線區域的雙向光流流程。如前面所述,如第2圖所示,雙向光流流程需要來自於位於當前塊之外的像素。對於運動補償,位於當前塊之外的參考資料將被需要,以支援分數運動向量。如第2圖所示,運動補償塊210被需要以支援分數運動向量。為了執行濾波並推導出梯度,雙向光流流程可能需要位於運動補償區域之外的額外的參考資料。基於雙向光流子塊處理是否被聯合或單獨執行,所需的資料區域可能會不同。為了解決不同的資料需求,本發明公開了分界線條件依存雙向光流流程。當所需資料(稱為所需區域)不可用時,分界線條件依存雙向光流流程可以填充(pad)或跳過不可用資料。資料可以對應於參考像素、梯度、運動補償結果或者其組合。當所需資料不可用時,不可用資料可以被填充。資料填充在視訊和影像處理的技術中是已知的。例如,透過重複分界線像素、鏡像重複分界線像素或者使用預定義像素值,不可用資料可以被填充。透過跳過不可用資料,不可用資料也可以不被使用。例如,位於分界線處的雙向光流流程可以被修改,而不是透過在雙向光流流程中所需資料不在“可用區域中”時填 充來改變資料來源。因此,所需資料“被跳過”,以避免不可用資料的需要。例如,如果在雙向光流的插值流程中位於可用區域之外的參考像素被需要,則本方法的一個實施例可以改變插值流程(例如,縮小濾波器抽頭、跳過一個插值濾波器係數等),以避免使用這些參考像素。又例如,如果在雙向光流的梯度計算中位於可用區域之外的運動補償像素被需要,本方法的一個實施例可以改變梯度流程(例如,修改梯度的計算、設置梯度等於0等),以避免生成這些運動補償像素的需要。再例如,如果位於可用區域之外的梯度在雙向光流的推導流程中被需要,則本方法的一個實施例可以改變推導流程(例如,縮小視窗尺寸、跳過梯度等),以避免生成這些梯度的需要。
在一個實施例中,如果分界線是編碼單元分界線/預測單元分界線,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。如果分界線是子塊分界線且相鄰運動向量相同,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果不被使用。如果分界線是子塊分界線且相鄰運動向量不相同,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。因此,聯合或單獨處理子塊的結果將是相同的。
在另一實施例中,如果分界線是編碼單元分界線/預測單元分界線,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用,以節省記憶體頻寬。如果分界線是垂直子塊分界線(即兩個水平相鄰的子塊之間的分界線)且相鄰運動向量相同,則填充參考像素、梯度或 補償結果、或者跳過係數、參考像素、梯度或補償結果不被使用。如果分界線是子塊分界線且相鄰運動向量不相同,或是水平子塊分界線,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。因此,聯合或單獨處理子塊的結果在水平方向上將是相同的。
在另一實施例中,如果分界線是編碼單元分界線/預測單元分界線,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用,以節省記憶體頻寬。如果分界線是水平子塊分界線(即兩個垂直相鄰的子塊之間的分界線)且相鄰運動向量相同,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果不被使用。如果分界線是子塊分界線且相鄰運動向量不相同,或是垂直子塊分界線,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。因此,聯合或單獨處理子塊的結果在垂直方向上將是相同的。
在又一實施例中,對於每個塊分界線,而不考慮預測單元分界線/編碼單元分界線或者子塊分界線,如果兩側的相鄰運動向量相同,則填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果不被使用。否則,填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。
在又一實施例中,對於除了編碼樹單元或者編碼樹單元列分界線之外的每個塊分界線,如果兩側的相鄰運動向量相同,則填充參考像素、梯度或補償結果、或者跳過係數、 參考像素、梯度或補償結果不被使用。否則,填充參考像素、梯度或補償結果、或者跳過係數、參考像素、梯度或補償結果被使用。
重疊塊運動補償和雙向光流
重疊塊運動補償在視訊編解碼中通常用於降低塊偽影。在JEM中,對於預測單元/編碼單元,上層列和左側行是使用上層塊的運動向量和左側塊的運動向量而加權補償的。換言之,當前塊的運動補償將被進一步拓展到右側和下層,以補償右相鄰塊和下相鄰塊。
由於重疊塊運動補償可以被結合在正常運動補償流程中,根據本方法,雙向光流操作與正常運動補償流程中的那些操作整合。因此,雙向光流流程所需要的一些資料可以重複使用正常運動補償流程中所使用的資料,其包括運動補償預測子、像素梯度和運動補償插值的中間結果,以避免大量計算並降低所需記憶體頻寬。例如,預測單元尺寸可以是MxN,且相關重疊塊運動補償尺寸可以是Mx4。如果用於當前預測單元的具有雙向光流的運動補償和相關重疊塊運動補償單獨被執行,則每參考列表(M+4+7)x(N+4+7)個參考像素和(M+4+7)x(4+4+7)個參考像素將分別被需要。如果整合正常運動補償流程的重疊塊運動補償流程被使用,則每參考列表僅(M+4+7)x(N+4+4+7)個參考像素將被需要。如果預測單元尺寸是16x8,則記憶體頻寬可以自每參考列表918個參考像素降低到每參考列表621個參考像素。如果重疊塊運動補償流程被應用到複數個分界線,則記憶體頻寬降低得更多。具有雙向光 流的正常運動補償流程中生成的一些中間資料可以在相關重疊塊運動補償流程中被重複使用。例如,中間結果可以是插值流程中的部分結果,或者雙向光流中使用的梯度值。因此,重複使用這些中間資料不僅降低記憶體頻寬,而且降低相關重疊塊運動補償流程所需計算複雜度。
在另一實施例中,當重疊塊運動補償可以結合在正常運動補償流程中時,雙向光流被使用。重疊塊運動補償區域可以包括右區域和底區域,或者如果子塊運動補償被使用,甚至包括頂區域和左區域。由於重疊塊運動補償將載入額外的參考像素以用於右區域和底區域,當前塊的雙向光流無需執行填充以用於參考像素、梯度或補償的結果,或者無需執行跳過以用於係數、參考像素、梯度或補償的結果,是因為資料已由重疊塊運動補償載入。根據一個實施例,填充以用於參考像素、梯度或補償的結果,或者跳過以用於係數、參考像素、梯度或補償的結果,或者降低關於重疊塊運動補償區域分界線的頻寬的任何分界線依存流程被使用。這些技術將不被應用到當前塊與重疊塊運動補償區域之間的分界線。
在另一實施例中,雙向光流在重疊塊運動補償區域上被進一步禁能。也就是說,如果所需資料將由重疊塊運動補償區域載入,則雙向光流僅被應用到當前塊,且降低記憶體頻寬的分界線依存流程不被使用。
“分界線條件依存雙向光流流程”和“整合重疊塊運動補償和雙向光流”可以被組合。例如,對於執行雙向光流,當前塊和重疊塊運動補償塊之間的分界線無需使用填充以用 於參考像素、梯度或補償,或者跳過以用於係數、參考像素、梯度或補償,或者為了降低頻寬的任何分界線依存流程。
第6圖示出了根據本發明實施例的使用雙向光流以細化用於雙向預測塊的運動的視訊編解碼系統的示例性流程圖,其中使用右移而無需除法操作推導出偏移。本流程圖以及本發明中的其他流程圖中所示的步驟可以被實現為編碼器側和/或解碼器側的一個或複數個處理器(例如一個或複數個CPU)上可執行的程式碼。本流程圖中所示的步驟也可以基於硬體被實現,例如用於執行該流程圖中步驟的一個或者複數個電子設備或者處理器。根據本方法,在步驟610中,接收與當前圖像中的當前塊相關的輸入資料,其中當前塊使用雙向預測編解碼。在步驟620中,推導出來自於參考圖像列表0的第一參考圖像中與當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與當前塊相關的第二參考塊,其中第一參考塊和第二參考塊由真實雙向運動向量所指向。在步驟630中,基於第一參考塊推導出第一x梯度和第一y梯度,並基於第二參考塊推導出第二x梯度和第二y梯度。x梯度(即x方向梯度)和y梯度(即y方向梯度)的定義在本發明中前面已公開。在步驟640中,基於第一x梯度、第一y梯度、第二x梯度、第二y梯度、第一參考塊的第一像素值、第二參考塊的第二像素值或者其組合,推導出梯度參數集,其中所有梯度參數使用固定點表示(fixed-point representation)。如上所述,如方程式(5)和方程式(6)所示,梯度參數集可以對應於梯度參數S1,S2,S3,S5和S6。在步驟650中,使用包括右移而無 任何除法操作的操作推導出x運動偏移和y運動偏移,其中x運動偏移對應於由第一分母所除以的第一分子,y運動偏移對應於第二分母所除以的第二分子,並且第一分子、第一分母、第二分子和第二分母自兩個梯度參數的乘積的線性組合或者梯度參數的線性組合生成。如方程式(5)和方程式(6)所示,偏移可以自梯度參數S1,S2,S3,S5和S6推導出。然而,本發明使用右移操作來推導出來自於梯度參數的偏移,以避免除法操作的需要。在步驟660中,根據第一參考塊、第二參考塊、第一x梯度與第一y梯度、第二x梯度與第二y梯度、x運動偏移、y運動偏移或者其組合,生成用於當前塊的細化預測子。方程式(2)示出了使用偏移的細化預測子推導的示例。在步驟670中,基於細化預測子,編碼或解碼當前塊。
第7圖示出了根據本發明實施例的使用雙向光流以細化用於雙向預測塊的運動的視訊編解碼系統的示例性流程圖,其中基於塊分界線條件或者子塊分界線條件,分界線條件依存雙向光流流程被有條件地應用到與參考塊相關的分界線像素。根據本方法,在步驟710中,接收與當前圖像中的當前塊相關的輸入資料,其中當前塊使用雙向預測編解碼。在步驟720中,推導出來自於參考圖像列表0的第一參考圖像中與當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與當前塊相關的第二參考塊,其中第一參考塊和第二參考塊由真實雙向運動向量所指向。在步驟730中,透過將雙向光流流程應用到第一參考塊和第二參考塊,生成用於當前塊的細化預測子,其中應用雙向光流流程包括:基於塊分界線條 件或者子塊分界線條件,將分界線條件依存雙向光流流程有條件地應用到與第一參考塊和第二參考塊相關的分界線像素,其中分界線條件依存雙向光流流程包括:填充常規雙向光流流程所需要的不可用資料,或者透過修改常規雙向光流流程跳過不可用資料,並且不可用資料對應於常規雙向光流流程所需要的目標資料,但自第一參考塊和第二參考塊不可用。在步驟740中,基於細化預測子,編碼或解碼當前塊。
所示的流程圖用於示出根據本發明的視訊編解碼的示例。在不脫離本發明的精神的情況下,所屬領域中具有習知技術者可以修改每個步驟、重組這些步驟、將一個步驟進行分離或者組合這些步驟而實施本發明。在本發明中,具體的語法和語義已被使用以示出實現本發明實施例的示例。在不脫離本發明的精神的情況下,透過用等同的語法和語義來替換該語法和語義,具有習知技術者可以實施本發明。
上述說明,使得所屬領域中具有習知技術者能夠在特定應用程式的內容及其需求中實施本發明。對所屬領域中具有習知技術者來說,所描述的實施例的各種變形將是顯而易見的,並且本文定義的一般原則可以應用於其他實施例中。因此,本發明不限於所示和描述的特定實施例,而是將被賦予與本文所公開的原理和新穎特徵相一致的最大範圍。在上述詳細說明中,說明了各種具體細節,以便透徹理解本發明。儘管如此,將被本領域的具有習知技術者理解的是,本發明能夠被實踐。
如上所述的本發明的實施例可以在各種硬體、軟體代碼或兩者的結合中實現。例如,本發明的實施例可以是整合在視訊壓縮晶片內的電路,或者是整合到視訊壓縮軟體中的程式碼,以執行本文所述的處理。本發明的一個實施例也可以是在數位訊號處理器(Digital Signal Processor,DSP)上執行的程式碼,以執行本文所描述的處理。本發明還可以包括由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(field programmable gate array,FPGA)所執行的若干函數。根據本發明,透過執行定義了本發明所實施的特定方法的機器可讀軟體代碼或者固件代碼,這些處理器可以被配置為執行特定任務。軟體代碼或固件代碼可以由不同的程式設計語言和不同的格式或樣式開發。軟體代碼也可以編譯為不同的目標平臺。然而,執行本發明的任務的不同的代碼格式、軟體代碼的樣式和語言以及其他形式的配置代碼,不會背離本發明的精神和範圍。
本發明可以以不脫離其精神或本質特徵的其他具體形式來實施。所描述的例子在所有方面僅是說明性的,而非限制性的。因此,本發明的範圍由附加的權利要求來表示,而不是前述的描述來表示。權利要求的含義以及相同範圍內的所有變化都應納入其範圍內。

Claims (19)

  1. 一種視訊編解碼方法,使用雙向光流以用於真實雙向預測塊,該方法包括:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;基於該第一參考塊推導出複數個第一x梯度和複數個第一y梯度,並基於該第二參考塊推導出複數個第二x梯度和複數個第二y梯度;基於該等第一x梯度、該等第一y梯度、該等第二x梯度、該等第二y梯度、該第一參考塊的複數個第一像素值、該第二參考塊的複數個第二像素值或者其組合,推導出一梯度參數集,其中所有梯度參數使用固定點表示;使用包括右移而無任何除法操作的複數個操作推導出x運動偏移和y運動偏移,其中該x運動偏移對應於由第一分母所除以的第一分子,該y運動偏移對應於第二分母所除以的第二分子,並且該第一分子、該第一分母、該第二分子和該第二分母自兩個梯度參數的乘積的線性組合或者該等梯度參數的線性組合生成;根據該第一參考塊、該第二參考塊、該等第一x梯度與該等第一y梯度、該等第二x梯度與該等第二y梯度、該x運動偏移、該y運動偏移或者其組合,生成用於該當前塊的細化預測子;以及基於該細化預測子,編碼或解碼該當前塊。
  2. 如申請專利範圍第1項所述之視訊編解碼方法,其中,還包括:確定該第一分母的第一最高有效位位置Nx和該第二分母的第二最高有效位位置Ny,其中該x運動偏移是使用包括右移該第一分子和該第一分母Nx位元,以及右移該第二分子和該第二分母Ny位元的複數個操作推導出。
  3. 如申請專利範圍第2項所述之視訊編解碼方法,其中,(2Px/2(K-1))的複數個值被存儲在第一查找表中,並且(2Py/2(K-1))的複數個值被存儲在第二查找表中,其中2(K-1)對應於該第一分母和該第二分母的複數個可能值,並且該y運動偏移是使用包括乘法和右移Px位元的複數個操作推導出該x運動偏移,使用包括乘法和右移Py位元的複數個操作推導出。
  4. 如申請專利範圍第3項所述之視訊編解碼方法,其中,該第一查找表與該第二查找表相同。
  5. 如申請專利範圍第3項所述之視訊編解碼方法,其中,該第一查找表與該第二查找表不相同。
  6. 如申請專利範圍第3項所述之視訊編解碼方法,其中,K對應於1。
  7. 如申請專利範圍第2項所述之視訊編解碼方法,其中,該右移該第一分子和該第一分母Nx位元,或者該右移該第二分子和該第二分母Ny位元使用舍入偏移。
  8. 一種視訊編解碼裝置,使用雙向光流以用於真實雙向預測塊,該視訊編解碼裝置包括一個或複數個電子電路或處理器,用於:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;基於該第一參考塊推導出複數個第一x梯度和複數個第一y梯度,並基於該第二參考塊推導出複數個第二x梯度和複數個第二y梯度;基於該等第一x梯度、該等第一y梯度、該等第二x梯度、該等第二y梯度、該第一參考塊的複數個第一像素值、該第二參考塊的複數個第二像素值或者其組合,推導出一梯度參數集,其中所有梯度參數使用固定點表示;使用包括右移而無任何除法操作的複數個操作推導出x運動偏移和y運動偏移,其中該x運動偏移對應於由第一分母所除以的第一分子,該y運動偏移對應於第二分母所除以的第二分子,並且該第一分子、該第一分母、該第二分子和該第二分母自兩個梯度參數的乘積的線性組合或者該等梯度參數的線性組合生成;根據該第一參考塊、該第二參考塊、該等第一x梯度與該等第一y梯度、該等第二x梯度與該等第二y梯度、該x運動偏移、該y運動偏移或者其組合,生成用於該當前塊的細化預測子;以及基於該細化預測子,編碼或解碼該當前塊。
  9. 一種非暫時性電腦可讀介質,存儲有複數個程式指令,使得一裝置的處理電路執行一視訊編解碼方法,且該方法包括:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;基於該第一參考塊推導出複數個第一x梯度和複數個第一y梯度,並基於該第二參考塊推導出複數個第二x梯度和複數個第二y梯度;基於該等第一x梯度、該等第一y梯度、該等第二x梯度、該等第二y梯度、該第一參考塊的複數個第一像素值、該第二參考塊的複數個第二像素值或者其組合,推導出一梯度參數集,其中所有梯度參數使用固定點表示;使用包括右移而無任何除法操作的複數個操作推導出x運動偏移和y運動偏移,其中該x運動偏移對應於由第一分母所除以的第一分子,該y運動偏移對應於第二分母所除以的第二分子,並且該第一分子、該第一分母、該第二分子和該第二分母自兩個梯度參數的乘積的線性組合或者該等梯度參數的線性組合生成;根據該第一參考塊、該第二參考塊、該等第一x梯度與該等第一y梯度、該等第二x梯度與該等第二y梯度、該x運動偏移、該y運動偏移或者其組合,生成用於該當前塊的細化預測子;以及基於該細化預測子,編碼或解碼該當前塊。
  10. 一種視訊編解碼方法,使用雙向光流以用於真實雙向預測塊,該方法包括:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;透過將雙向光流流程應用到該第一參考塊和該第二參考塊,生成用於該當前塊的細化預測子,其中應用該雙向光流流程包括:基於塊分界線條件或者子塊分界線條件,將分界線條件依存雙向光流流程有條件地應用到與該第一參考塊和該第二參考塊相關的複數個分界線像素,其中該分界線條件依存雙向光流流程包括:填充該常規雙向光流流程所需要的不可用資料,或者透過修改常規雙向光流流程跳過該不可用資料,並且該不可用資料對應於該常規雙向光流流程所需要的目標資料,但自該第一參考塊和該第二參考塊不可用;以及基於該細化預測子,編碼或解碼該當前塊。
  11. 如申請專利範圍第10項所述之視訊編解碼方法,其中,該目標資料對應於來自於該第一參考塊和該第二參考塊的目標參考資料、該目標參考資料的複數個梯度、運動補償目標參考資料或者其組合。
  12. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於該當前塊的複數個塊分界線,則將該分界線條件依存雙向光流流程應用到該等分界線像素,以及若該等分界線像素對應於該當前塊的複數個運動補償塊分界線,則不將該分界線條件依存雙向光流流程應用到該等分界線像素。
  13. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於具有兩個不同的運動向量的兩個相鄰子塊之間的子塊分界線,或者對應於兩個垂直相鄰子塊之間的水平子塊分界線,則將該分界線條件依存雙向光流流程應用到該等分界線像素。
  14. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於具有兩個不同的運動向量的兩個相鄰子塊之間的子塊分界線,或者對應於兩個水平相鄰子塊之間的垂直子塊分界線,則將該分界線條件依存雙向光流流程應用到該等分界線像素。
  15. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於具有相同的運動向量的兩個相鄰子塊之間的子塊分界線,則不將該分界線條件依存雙向光流流程應用到該等分界線像素。
  16. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於具有相同的運動向量的兩個水平相鄰子塊之間的垂直子塊分界線,則不將該分界線條件依存雙向光流流程應用到該等分界線像素。
  17. 如申請專利範圍第10項所述之視訊編解碼方法,其中,若該等分界線像素對應於具有相同的運動向量的兩個垂直相鄰子塊之間的水平子塊分界線,則不將該分界線條件依存雙向光流流程應用到該等分界線像素。
  18. 一種視訊編解碼裝置,使用雙向光流以用於真實雙向預測塊,該視訊編解碼裝置包括一個或複數個電子電路或處理器,用於:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;透過將雙向光流流程應用到該第一參考塊和該第二參考塊,生成用於該當前塊的細化預測子,其中應用該雙向光流流程包括:基於塊分界線條件或者子塊分界線條件,將分界線條件依存雙向光流流程有條件地應用到與該第一參考塊和該第二參考塊相關的複數個分界線像素,其中該分界線條件依存雙向光流流程包括:填充該常規雙向光流流程所需要的不可用資料,或者透過修改常規雙向光流流程跳過該不可用資料,並且該不可用資料對應於該常規雙向光流流程所需要的目標資料,但自該第一參考塊和該第二參考塊不可用;以及基於該細化預測子,編碼或解碼該當前塊。
  19. 一種非暫時性電腦可讀介質,存儲有複數個程式指令,使得一裝置的處理電路執行一視訊編解碼方法,且該方法包括:接收與當前圖像中的當前塊相關的輸入資料,其中該當前塊使用雙向預測編解碼;確定來自於參考圖像列表0的第一參考圖像中與該當前塊相關的第一參考塊以及來自於參考圖像列表1的第二參考圖像中與該當前塊相關的第二參考塊,其中該第一參考塊和該第二參考塊由真實雙向運動向量所指向;透過將雙向光流流程應用到該第一參考塊和該第二參考塊,生成用於該當前塊的細化預測子,其中應用該雙向光流流程包括:基於塊分界線條件或者子塊分界線條件,將分界線條件依存雙向光流流程有條件地應用到與該第一參考塊和該第二參考塊相關的複數個分界線像素,其中該分界線條件依存雙向光流流程包括:填充該常規雙向光流流程所需要的不可用資料,或者透過修改常規雙向光流流程跳過該不可用資料,並且該不可用資料對應於該常規雙向光流流程所需要的目標資料,但自該第一參考塊和該第二參考塊不可用;以及基於該細化預測子,編碼或解碼該當前塊。
TW107108842A 2017-03-16 2018-03-15 用於視訊編解碼的基於雙向光流的運動細化的方法及裝置 TWI663872B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762472002P 2017-03-16 2017-03-16
US62/472,002 2017-03-16
US201762474702P 2017-03-22 2017-03-22
US62/474,702 2017-03-22
US201762480359P 2017-04-01 2017-04-01
US62/480,359 2017-04-01

Publications (2)

Publication Number Publication Date
TW201840190A TW201840190A (zh) 2018-11-01
TWI663872B true TWI663872B (zh) 2019-06-21

Family

ID=63522790

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107108842A TWI663872B (zh) 2017-03-16 2018-03-15 用於視訊編解碼的基於雙向光流的運動細化的方法及裝置

Country Status (6)

Country Link
US (1) US11109062B2 (zh)
EP (1) EP3586513A4 (zh)
CN (1) CN110476424B (zh)
BR (1) BR112019018922A8 (zh)
TW (1) TWI663872B (zh)
WO (1) WO2018166357A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11343541B2 (en) * 2018-04-30 2022-05-24 Hfi Innovation Inc. Signaling for illumination compensation
EP3804324A4 (en) * 2018-06-11 2022-08-03 HFI Innovation Inc. BIDIRECTIONAL OPTICAL FLOW METHOD AND APPARATUS FOR VIDEO CODING
US11470348B2 (en) 2018-08-17 2022-10-11 Hfi Innovation Inc. Methods and apparatuses of video processing with bi-direction prediction in video coding systems
KR20210071958A (ko) * 2018-09-21 2021-06-16 브이아이디 스케일, 인크. 양방향 옵티컬 플로우를 위한 복잡도 감소 및 비트 폭 제어
CN111083484A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 基于子块的预测
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
MX2021004715A (es) 2018-11-05 2021-06-04 Beijing Bytedance Network Tech Co Ltd Interpolacion para interprediccion con refinamiento.
US20220038681A1 (en) * 2018-11-05 2022-02-03 Interdigital Vc Holdings, Inc. Video encoding or decoding using block extension for overlapped block motion compensation
CN111418207B (zh) 2018-11-06 2024-04-19 北京字节跳动网络技术有限公司 依赖块尺寸的对运动信息的存储
CN111436227B (zh) 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
WO2020125628A1 (en) * 2018-12-17 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Shape dependent interpolation filter
CN116668717B (zh) 2019-01-06 2024-03-15 北京达佳互联信息技术有限公司 视频编码方法、计算设备和介质
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
US11889099B2 (en) 2019-03-05 2024-01-30 Hfi Innovation Inc. Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
BR112021016896A2 (pt) * 2019-03-08 2021-11-03 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes para predição inter
TWI738248B (zh) 2019-03-14 2021-09-01 聯發科技股份有限公司 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
CA3133984A1 (en) * 2019-03-19 2020-09-24 Huawei Technologies Co., Ltd. Optical flow based video inter prediction
CN113615197B (zh) * 2019-03-26 2023-03-07 北京达佳互联信息技术有限公司 用于双向光流的比特深度控制的方法和设备
CN113632480A (zh) * 2019-03-29 2021-11-09 北京字节跳动网络技术有限公司 自适应环路滤波与其他编解码工具之间的交互
CN113728651B (zh) 2019-04-02 2022-10-25 北京字节跳动网络技术有限公司 视频处理中的自适应环路滤波
CN113647099B (zh) * 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
CN113711609B (zh) 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
CN113711608B (zh) 2019-04-19 2023-09-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程的适用性
EP3922015A4 (en) 2019-04-19 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. GRADIENT CALCULATION IN VARIOUS MOTION VECTOR REFINEMENTS
CN113728646A (zh) * 2019-04-25 2021-11-30 北京达佳互联信息技术有限公司 用于利用光流的预测细化的方法和装置
CN113767634B (zh) * 2019-05-07 2023-06-09 北京字节跳动网络技术有限公司 利用细化的帧间预测的统一计算方法
CN110225339A (zh) * 2019-05-10 2019-09-10 上海德衡数据科技有限公司 一种hevc视频序列编解码加速方法
WO2020228763A1 (en) * 2019-05-14 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Methods on scaling in video coding
US11089328B2 (en) * 2019-05-22 2021-08-10 Qualcomm Incorporated Bi-directional optical flow in video coding
JP7425808B2 (ja) * 2019-06-04 2024-01-31 北京字節跳動網絡技術有限公司 動き候補リスト構築プロセスの条件付き実行
KR20220036966A (ko) * 2019-09-10 2022-03-23 엘지전자 주식회사 Bdof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2021054886A1 (en) * 2019-09-20 2021-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video encoding and/or decoding with bidirectional optical flow simplification on shift operations and related apparatus
JP2021052225A (ja) * 2019-09-20 2021-04-01 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
EP4029250A4 (en) * 2019-09-30 2023-01-04 Huawei Technologies Co., Ltd. INTERPOLATION FILTER FOR INTER PREDICTION DEVICE AND VIDEO CODING METHOD
CN110798630B (zh) * 2019-10-30 2020-12-29 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN111131837B (zh) * 2019-12-30 2022-10-04 浙江大华技术股份有限公司 运动补偿修正方法、编码方法、编码器及存储介质
CN115211116A (zh) * 2020-03-02 2022-10-18 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
CN111612697B (zh) * 2020-05-22 2023-07-04 天津维创微智能科技有限公司 一种插值方法、装置、设备及存储介质
CN115918080A (zh) 2020-06-08 2023-04-04 抖音视界有限公司 视频编解码的仿射预测改进
CN111970517B (zh) * 2020-07-29 2023-07-28 浙江大华技术股份有限公司 基于双向光流的帧间预测方法、编码方法及相关装置
WO2023141177A1 (en) * 2022-01-18 2023-07-27 Beijing Dajia Internet Information Technology Co., Ltd. Motion compensation considering out-of-boundary conditions in video coding
US20230308677A1 (en) * 2022-03-25 2023-09-28 Tencent America LLC Method and apparatus adaptive constraint on bi-prediction for out-of-boundary conditions
WO2023186752A1 (en) * 2022-03-30 2023-10-05 Interdigital Ce Patent Holdings, Sas Methods and apparatuses for encoding/decoding a video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934444A (zh) * 2010-04-06 2013-02-13 三星电子株式会社 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN103618904A (zh) * 2013-11-20 2014-03-05 华为技术有限公司 基于像素的运动估计方法及装置
WO2017036399A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934444A (zh) * 2010-04-06 2013-02-13 三星电子株式会社 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
CN103618904A (zh) * 2013-11-20 2014-03-05 华为技术有限公司 基于像素的运动估计方法及装置
WO2017036399A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques

Also Published As

Publication number Publication date
TW201840190A (zh) 2018-11-01
CN110476424A (zh) 2019-11-19
US11109062B2 (en) 2021-08-31
EP3586513A1 (en) 2020-01-01
US20210127133A1 (en) 2021-04-29
EP3586513A4 (en) 2020-12-09
BR112019018922A2 (pt) 2020-04-14
WO2018166357A1 (en) 2018-09-20
CN110476424B (zh) 2022-03-04
BR112019018922A8 (pt) 2023-02-07

Similar Documents

Publication Publication Date Title
TWI663872B (zh) 用於視訊編解碼的基於雙向光流的運動細化的方法及裝置
TWI674794B (zh) 用於視訊編解碼的運動細化的方法以及裝置
Yang et al. Subblock-based motion derivation and inter prediction refinement in the versatile video coding standard
US11985330B2 (en) Method and apparatus of simplified affine subblock process for video coding system
CN116320473A (zh) 光流预测细化的方法和装置
CN116233466A (zh) 光流预测细化(prof)的方法和装置
CN113709488B (zh) 一种编解码方法、装置及其设备
CN116389765B (zh) 对视频数据编码的利用光流的预测细化方法、设备和介质
CN114342378A (zh) 关于利用光流的预测细化的方法和装置
CN113728639A (zh) 光流预测细化的方法和装置
CN113994692A (zh) 用于利用光流的预测细化的方法和装置
CN114979631A (zh) 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置
US20230232012A1 (en) Method and Apparatus Using Affine Non-Adjacent Candidates for Video Coding
CN113491127A (zh) 用于屏幕内容编码的运动矢量编码
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement
WO2024077569A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
TW202416713A (zh) 仿射候選細化
TW202341741A (zh) 視訊編解碼方法及相關裝置
TW202335496A (zh) 用於視頻編解碼系統幀間預測的方法和装置
CN117596393A (zh) 视频解码或编码方法、电子设备、存储介质及程序产品
CN116456110A (zh) 视频编解码方法及装置