TWI738292B - 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置 - Google Patents

用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置 Download PDF

Info

Publication number
TWI738292B
TWI738292B TW109112213A TW109112213A TWI738292B TW I738292 B TWI738292 B TW I738292B TW 109112213 A TW109112213 A TW 109112213A TW 109112213 A TW109112213 A TW 109112213A TW I738292 B TWI738292 B TW I738292B
Authority
TW
Taiwan
Prior art keywords
block
sub
current block
affine
affine mode
Prior art date
Application number
TW109112213A
Other languages
English (en)
Other versions
TW202046728A (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 TW202046728A publication Critical patent/TW202046728A/zh
Application granted granted Critical
Publication of TWI738292B publication Critical patent/TWI738292B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

公開了使用基於子塊的仿射模式進行視頻編解碼的方法和裝置。在一種方法中,如果使用仿射回退或控制點運動向量相同,則禁用所述基於子塊的仿射模式,以降低計算複雜度。根據使用屬於編解碼工具組的編解碼工具進行視頻編解碼的另一方法,針對所述當前塊的目標子塊的像素,推導預測項增強,所述編碼工具組包括光流預測增強(PROF)和雙向光流(BDOF),其中,推導所述預測項增強的步驟包括:推導所述當前塊的所述目標子塊的所述像素的梯度,並且將所述梯度右移公共移位。

Description

用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置
本發明涉及使用運動估計和運動補償的視頻編解碼。尤其是,本發明涉及降低允許仿射模式和基於子塊的仿射模式的系統的複雜度。
在過去的二十年裡已經開發了各種視頻編解碼標準。在較新的編碼標準中,使用更強大的編碼工具來提高編解碼效率。高效視頻編碼(HEVC)是近年來開發的新編碼標準。在高效視頻編碼(HEVC)系統中,用被稱為編碼單元(CU)的靈活塊替換H.264/AVC的固定大小的宏塊。CU中的像素共用相同的編碼參數以提高編碼效率。CU可以以最大CU(LCU)開始,在HEVC中,該LCU也被稱為編碼樹單元(CTU)。除了編碼單元的概念之外,HEVC中還引入了預測單元(PU)的概念。一旦完成了CU分層樹的分割,則根據預測類型和PU劃分,將各個葉CU進一步分割成一個或更多個預測單元(PU)。
在大多數編解碼標準中,基於塊使用自我調整幀間/幀內預測。在幀間預測模式下,針對各個塊確定一個或兩個運動向量,以選擇一個參考塊(即,單預測)或兩個參考塊(即,雙預測)。確定一個或多個運動向量並且針對各個單獨塊進行編碼。在HEVC中,以如下兩種不同方式支援幀間運動補償:顯式信令或隱式信令。在顯式信令中,使用預測編碼方法來用信號通知塊(即,PU)的運動向量。運動向量預測項(motion vector predictor)對應於與當前塊的 空間和時間鄰居相關聯的運動向量。在確定MV預測項之後,對運動向量差(MVD)進行編碼和發送。該模式也被稱為AMVP(高級運動向量預測)模式。在隱式信令中,從候選預測項集中選擇一個預測項作為當前塊(即,PU)的運動向量。由於編碼器和解碼器都將以相同的方式推導候選集並選擇最終運動向量,因此無需在隱式模式下用信號通知MV或MVD。該模式也被稱為合併模式(Merge mode)。在合併模式下形成預測項集也被稱為合併候選者列表構造。用信號通知被稱為合併索引的索引,以指示被選擇為當前塊的MV的預測項。
沿著時間軸跨圖片發生的運動可以由許多不同模型來描述。假定A(x,y)是考慮中的位置(x,y)處的原始像素,A’(x’,y’)是當前像素A(x,y)在參考圖片中的位置(x’,y’)處的對應像素,仿射運動模型描述如下。
仿射模型能夠描述二維塊旋轉以及二維變形以將方形(或矩形)變換成平行四邊形。該模型可以描述如下:x’=a0+a1*x+a2*y,並且y’=b0+b1*x+b2*y. (1)
在提交到ITU-VCEG(Lin等人的“Affine transfotm prediction for next generation video coding”,ITU-U,Study Group 16,Question Q6/16,Contribution C1016,September 2015,Geneva,CH)的投稿ITU-T13-SG16-C1016中公開了一種包括仿射合併模式的四參數仿射預測。當仿射運動塊移動時,可以通過兩個控制點運動向量或以下四個參數來描述該塊的運動向量場(motion vector field),其中(vx,vy)表示運動向量:
Figure 109112213-A0305-02-0004-1
第1A圖示出了四參數仿射模型的示例,其中,根據具有兩個控 制點運動向量(即v0和v1)的仿射模型來定位當前塊110的對應參考塊120。變換塊是矩形塊。該移動塊中各個點的運動向量場可以用下式描述:
Figure 109112213-A0305-02-0005-2
或者
Figure 109112213-A0305-02-0005-3
在上式中,(v0x,v0y)是塊左上角處的控制點運動向量(即,v0),並且(v1x,v1y)是塊右上角處的另一控制點運動向量(即,v1)。當對兩個控制點的MV進行解碼時,可以根據上式確定該塊的各個4×4塊的MV。換句話說,可以通過兩個控制點處的兩個運動向量來指定該塊的仿射運動模型。此外,雖然將塊的左上角和右上角用作兩個控制點,但是也可以使用其它兩個控制點。如第1B圖所示,根據式(3),可以基於兩個控制點的MV來針對各個4×4子塊確定當前塊的運動向量的示例。
另外,可以如下定義四個變數:dHorX=(v1x-v0x)/w→△Vx,當沿X方向移位元1個樣本時,dVerX=(v1y-v0y)/w→△Vy,當沿X方向移位元1個樣本時,dHorY=(v2x-v0x)/h→△Vx,當沿Y方向移位元1個樣本時,dVerY=(v2y-v0y)/h→△Vy,當沿Y方向移位元1個樣本時,在投稿ITU-T13-SG16-C1016中,針對幀間模式編碼CU,當CU大小等於或大於16×16時,用信號通知仿射標誌,以指示是否應用仿射幀間模式。如果當前塊(例如,當前CU)以仿射幀間模式被編碼,則使用鄰居有效重構塊來構建候選MVP對列表。第2圖例示了用於推導角推導仿射候選的相鄰塊集。如第2圖所示,
Figure 109112213-A0305-02-0005-7
與當前塊210左上角處的塊的運動向量V0相對應,該
Figure 109112213-A0305-02-0005-6
選自相鄰塊a0(被稱為左上塊)、a1(被稱為左上內塊)和a2(被稱為左上下方塊)的運動向量,並且
Figure 109112213-A0305-02-0006-4
與當前塊210右上角處的塊V1的運動向量相對應,該
Figure 109112213-A0305-02-0006-5
選自相鄰塊b0(被稱為上方塊)和b1(被稱為右上塊)的運動向量。
在投稿ITU-T13-SG16-C1016中,還提出了仿射合併模式。如果當前塊是合併編碼PU,則檢查相鄰的五個塊(第3圖中的A0、A1、B0、B1和B2塊)以確定這些塊中的任何一個塊是否以仿射幀間模式或仿射合併模式編碼。如果是,則用信號通知affine_flag以指示當前PU是否處於仿射模式。當該當前PU以仿射合併模式應用時,該當前PU從有效鄰居重構塊中獲得以仿射模式編碼的第一塊。候選塊的選擇順序是從左塊(A1)、上方塊(B1)、右上塊(B0)、左下塊(A0)到左上塊(B2)。換句話說,如第3圖所示,搜索順序是A1 B1 B0 A0 B2。仿射編碼塊的仿射參數用於推導當前PU的v0和v1。在第3圖的示例中,用於構造仿射運動模型的控制點MV的相鄰塊(A0、A1、B0、B1和B2)在本公開中被稱為相鄰塊集。
在仿射運動補償(MC)中,當前塊被劃分成多個4×4子塊。針對各個子塊,通過對該子塊使用式(3)來將中心點(2,2)用於推導MV。針對該當前塊的MC,各個子塊執行4×4子塊平移MC。
在HEVC中,各個PU的解碼MV以16:1的比率下採樣並且被存儲在時間MV緩衝器中以用於後續幀的MVP推導。針對16×16塊,僅左上4×4 MV被存儲在時間MV緩衝器中,並且所存儲的MV表示整個16×16塊的MV。
仿射光流
當以仿射模式對編碼單元(CU)進行編碼時,將編碼單元劃分成4×4子塊,並且如第1B圖所示,針對各個子塊,基於仿射模型推導一個運動向量,並執行運動補償以生成對應預測項。使用4×4塊作為一個子塊而不是使 用其它較小的大小的原因是為了在運動補償的計算複雜度與編碼效率之間取得良好的權衡。為了提高編碼效率,JVET-N0236(J.Luo等人的“CE2-related:Prediction refinement with optical flow for affine mode”,Joint Video Experts Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Geneva,CH,19-27 March 2019,Document:JVET-N0236)、JVET-N0261(K.Zhang等人的“CE2-1.1:Interweaved Prediction for Affine Motion Compensation”,Joint Video Experts Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Geneva,CH,19-27 March 2019,Document:JVET-N0261)、和JVET-N0262(H.Huang等人的“CE9-related:Disabling DMVR for non equal weight BPWA”,Joint Video Experts Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Geneva,CH,19-27 March 2019,Document:JVET-N0262)中公開了多種方法。
在JVET-N0236中,為了獲得更精細的運動補償細微性,該投稿提出了一種利用光流來增強(refine)基於子塊的仿射運動補償預測的方法。在執行基於子塊的仿射運動補償之後,通過添加通過光流方程推導出的差來增強亮度預測樣本。所提出的光流預測增強(PROF)描述為以下四個步驟。步驟1),執行基於子塊的仿射運動補償,以生成子塊預測I(i,j)。步驟2),使用3抽頭濾波器[-1,0,1]在各個樣本位置處計算子塊預測的空間梯度gx(i,j)和gy(i,j)。
g x (i,j)=I(i+1,j)-I(i-1,j),并且g y (i,j)=I(i,j+1)-I(i,j-1).
子塊預測在各個側上被擴展一個像素,以進行梯度計算。為了降低記憶體頻寬和複雜度,從參考圖片中最近的整數像素位置複製擴展邊界上的像素。因此,避免了填充區域的附加插值。步驟3),通過光流方程計算亮度預測增強。
I(i,j)=g x (i,j)*△v x (i,j)+g y (i,j)*△v y (i,j)
其中,如第4圖所示,△v(i,j)是針對樣本位置(i,j)計算的像素MV(由v(i,j)表示)與像素(i,j)所屬於的塊410的子塊420的子塊MV(表示為vSB(412))之差。在第4圖中,子塊422與子塊420的由運動向量vSB(412)指向的參考子塊相對應。參考子塊422表示由塊420的平移運動產生的參考子塊。參考子塊424與利用PROF的參考子塊相對應。各個像素的運動向量通過△v(i,j)來增強。例如,基於通過△v(i,j)416修改的子塊MV vSB(412),推導出子塊420的左上像素的經增強的運動向量v(i,j)414。
由於仿射模型參數和相對於子塊中心的像素位置在子塊之間沒有變化,因此可以針對第一子塊計算△v(i,j),並將該△v(i,j)重複用於同一CU中的其它子塊。令x和y是從像素位置到子塊中心的水準偏移量(offset)和垂直偏移量,可以通過下式推導出△v(x,y):
Figure 109112213-A0305-02-0008-8
針對4參數仿射模型,參數c和e可以推導為:
Figure 109112213-A0305-02-0008-9
針對6參數仿射模型,參數c、d、e和f可以推導為:
Figure 109112213-A0305-02-0008-10
其中,(v0x,v0y)、(v1x,v1y)、(v2x,v2y)是左上、右上和左下控制點運動向量,w和h是CU的寬度和高度。步驟4),最後,將亮度預測增強添加到子塊預測I(i,j)。最終如下式生成預測I’: I'(i,j)=I(i,j)+△I(i,j)。
在JVET-N0261中,在第5圖中提出了另一種基於子塊的仿射模式(交織預測)。利用交織預測,將編碼塊510劃分成具有兩個不同劃分模式(520和522)的子塊。然後,通過具有兩個劃分模式的仿射運動補償來生成兩個輔助預測(P0 530和P1 532)。最終預測540被計算為兩個輔助預測(530和532)的加權和。為了避免2×H或W×2塊大小的運動補償,如第6圖所示,交織預測僅適用於如下區域,在該區域中,針對兩個劃分模式,子塊大小均是4×4。
根據JVET-N0261中公開的方法,基於2×2子塊的仿射運動補償僅應用於亮度樣本的單預測,並且2×2子塊運動場僅用於運動補償。用於運動預測等的運動向量場的存儲仍基於4×4子塊。如果應用頻寬約束,則當仿射運動參數不滿足特定準則時,禁用基於2×2子塊的仿射運動補償。
在JVET-N0273(H.Huang等人的“CE9-related:Disabling DMVR for non equal weight BPWA”,Joint Video Experts Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Geneva,CH,19-27 March 2019,Document:JVET-N0262)中,基於2×2子塊的仿射運動補償僅適用於亮度樣本的單預測,並且2×2子塊運動場僅用於運動補償。如果應用頻寬約束,則當仿射運動參數不滿足特定準則時,禁用基於2×2子塊的仿射運動補償。
雙向光流(BIO)
雙向光流(BIO)是JCTVC-C204(E.Alshina等人的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等人的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)中公開的運動估計/補償技術。如第7圖所示,BIO基於光流和穩定運動的假定來推導樣本級運動增強,其中,通過參考圖片0(730)中的一個像素以及參考圖片1(710)中的一個像素來預測B切片(雙預測切片)720中的當前像素722。如第7圖所示,通過參考圖片1(710)中的像素B(712)的像素位移向量714和參考圖片0(730)中的像素A(732)的像素位移向量734來預測當前像素722。在第7圖中,vx和vy是使用雙向光流(BIO)模型推導出的沿x方向和y方向的像素位移向量。這僅適用於從與前一圖片和後一圖片相對應的兩個參考圖片預測的真正雙向預測塊。在VCEG-AZ05中,BIO利用5×5視窗來推導各個樣本的運動增強。因此,針對N×N塊,需要(N+4)×(N+4)塊的運動補償結果和對應梯度資訊,以推導N×N塊的基於樣本的運動增強。根據VCEG-AZ05,使用6抽頭梯度濾波器和6抽頭插值濾波器來生成用於BIO的梯度資訊。因此,BIO的計算複雜度遠高於傳統的雙向預測的計算複雜度。為了進一步提高BIO的性能,提出了以下方法。
在HEVC中的常規雙預測中,使用下式生成預測項,其中,P(0)和P(1)分別是list0和list1預測項:P Conventional [i,j]=(P (0)[i,j]+P (1)[i,j]+1)>>1。
在JCTVC-C204和VECG-AZ05中,使用下式生成BIO預測項:P OptiealFlow =(P (0)[i,j]+P (1)[i,j]+v x [i,j](I x (0)-I x (1)[i,j])+ vy [i,j](I y (0)-I y (1)[i,j])+1)>>1
在上式中,Ix (0)和Ix (1)分別表示list0和list1預測項中的x方向梯度;Iy (0)和Iy (1)分別表示list0和list1預測項中的y方向梯度;vx和vy分別表示沿x方向和y方向的偏移量或位移。vx和vy的推導處理如下所示。首先,成本函式定義為diffCost(x,y)以找到最佳值vx和vy。為了找到使成本函數diffCost(x,y)最小化的最佳值vx和Vy,使用一個5×5視窗。vx和vy的解可以使用S1、S2、S3、 S5和S6來表示。
Figure 109112213-A0305-02-0011-11
最小成本函數mindiffCost(x,y)可以根據下式推導:
Figure 109112213-A0305-02-0011-16
通過求解方程(3)和(4),可以根據下式求解vx和vy
Figure 109112213-A0305-02-0011-17
其中,
Figure 109112213-A0305-02-0011-18
在上式中,
Figure 109112213-A0305-02-0011-19
與list 0圖片中的(x,y)處的像素的x方向梯度 相對應,
Figure 109112213-A0305-02-0011-20
與list 1圖片中的(x,y)處的像素的x方向梯度相對應,
Figure 109112213-A0305-02-0011-21
與list 0圖片中的(x,y)處的像素的y方向梯度相對應,並且
Figure 109112213-A0305-02-0011-22
與list 1圖片中的(x,y)處的像素的y方向梯度相對應。
在一些相關技術中,可以忽略S2,並且可以根據下式求解vx和vy
Figure 109112213-A0305-02-0011-23
其中,
Figure 109112213-A0305-02-0011-24
我們可以發現,BIO處理中所需的比特深度較大,尤其是計算S1、S2、S3、S5和S6。例如,如果視頻序列中像素值的比特深度為10比特,並且通過分數插值濾波器或梯度濾波器增加梯度的比特深度,則需要16個比特來表示一個x方向梯度或一個y方向梯度。這16個比特可以通過等於4的梯度移位來進一步減少,因此一個梯度需要12個比特來表示該值。即使可以通過梯度移位將梯度的大小減小到12個比特,但是BIO操作所需的比特深度仍然很大。需要一個13比特乘13比特的乘法器來計算S1、S2和S5。為了獲得S3和S6,需要13比特乘17比特的另一乘法器。當視窗大小很大時,需要超過32個比特來表示S1、S2、S3、S5和S6
公開了由視頻編碼器或視頻解碼器執行的視頻編解碼的方法和裝置,所述視頻編碼器或視頻解碼器利用包括仿射模式和基於子塊的仿射模式的編解碼工具集。根據該方法,在視頻編碼器側接收與當前塊相關的輸入資料,或者在視頻解碼器側接收與包括所述當前塊的壓縮資料相對應的視頻位元流,其中,針對所述當前塊,允許所述仿射模式和基於子塊的仿射模式。針對所述當前塊,確定是否滿足一個或更多個條件。如果針對所述當前塊滿足所述一個或更多個條件,則針對所述當前塊,禁用所述基於子塊的仿射模式,並且使用不具有所述基於子塊的仿射模式的經修改的編解碼工具集對所述當前塊進行編碼或解碼。
在一個實施方式中,所述條件包括與針對所述當前塊選擇的仿射回退模式相對應的目標條件。在另一實施方式中,當所述當前塊使用4參數仿射模型時,所述條件包括與所述當前塊的左上位置處的第一控制點運動向量等於所述當前塊的右上位置處的第二控制點運動向量相對應的目標條件。在又一 實施方式中,當所述當前塊使用6參數仿射模型時,所述條件包括與所述當前塊的左上位置處的第一控制點運動向量等於所述當前塊的右上位置處的第二控制點運動向量並且所述當前塊的所述左上位置處的所述第一控制點運動向量等於所述當前塊的左下位置處的第三控制點運動向量相對應的目標條件。
在一個實施方式中,所述基於子塊的仿射模式與光流預測增強(PROF)模式相對應。
在一個實施方式中,如果針對所述當前塊滿足所述條件,則使用所述仿射模式對所述當前塊進行編碼或解碼。
根據使用屬於編碼工具組的編碼工具進行視頻編碼的另一方法,所述編碼工具組包括光流預測增強(PROF)和雙向光流(BDOF),針對所述當前塊的目標子塊的像素,推導預測項(predictor)增強。所述預測項增強的推導包括:推導所述當前塊的所述目標子塊的所述像素的梯度,並且將所述梯度右移公共移位。然後,根據所述預測項增強和通過子塊運動向量生成的子塊預測項,生成經增強的子塊預測項。基於所述經增強的子塊預測項對所述目標子塊進行編碼或解碼。在一個實施方式中,移位元數等於6。
110、210、310、410、510:當前塊
120:參考塊
420:子塊
424、422:參考子塊
412、414、416:運動向量
520、522:劃分模式
530、532:輔助預測
540:最終預測
710:參考圖片1
730:參考圖片0
720:B切片(雙預測切片)
722:當前像素
712、732:像素
714、734:像素位移向量
810-840,910-964:步驟
第1A圖例示了四參數仿射模型的示例,其中,變換塊仍是矩形塊。
第1B圖例示了當前塊的基於兩個控制點的MV針對各個4×4子塊確定的運動向量的示例。
第2圖例示了用於推導角推導仿射候選的相鄰塊集。
第3圖例示了用於推導繼承的仿射候選(inherited affine candidate)的相鄰塊集。
第4圖例示了基於子塊的仿射運動補償的示例,其中,根據運動向量增強來推 導子塊的單個像素的運動向量。
第5圖例示了交織預測的示例,其中,利用兩種不同劃分模式將編碼塊劃分成子塊,然後通過具有兩個劃分模式的仿射運動補償來生成兩個輔助預測。
第6圖例示了針對交織預測避免2×H或W×2塊大小的運動補償的示例,其中,交織預測僅應用於針對兩個劃分模式子塊大小是4×4的區域。
第7圖例示了根據雙向光流的運動增強的示例。
第8圖例示了根據本發明實施方式的視頻編碼系統利用包括仿射模式和基於子塊的仿射模式的編碼工具集的示例性流程圖,其中,當針對當前塊滿足一個或更多個條件時,禁用基於子塊的仿射模式。
第9圖例示了視頻編碼系統利用屬於包括光流預測增強(PROF)和雙向光流(BDOF)的編碼工具組的編碼工具的示例性流程圖,其中,PROF和BDOF共用相同的梯度移位。
以下描述是執行本發明的最佳構想模式。進行該描述是出於例示本發明的一般原理的目的,並且不應被認為是限制性意義。本發明的範圍最好通過參考所附權利要求書來確定。
在本發明中,公開了簡化基於子塊的仿射運動補償的各種方法。
相變仿射MC
在仿射MC處理期間,當前塊被劃分成多個N×N(例如,4×4)子塊。針對各個子塊執行基於塊的平移MC,這意味著在4×4塊下不使用仿射模型。在本發明中,提出了另一種基於子塊的仿射模式(相變仿射MC),以將仿射模型用於子塊的MC而不是使用平移MC。
在針對仿射子塊執行MC之前,首先推導塊MV。推導一個或更 多個仿射MV推導參數。例如,推導DMvHorX、DMvHorY、DMvVerX和DMvVerY的值,其中,DMvHorX和DMvHorY與兩個控制點MV沿水準方向的差的相應x分量和y分量相對應,並且DMvVerX和DMvVerY與兩個控制點MV沿垂直方向的差的相應x分量和y分量相對應。類似於式(3),可以將DMvHorX設置成等於(top_right_CPMVx-top_left_CPMVx)<<(K-log2BlockWidth)或(top_right_CPMVx-top_left_CPMVx)/寬度,可以將DMvHorY設置成等於(top_right_CPMVy-top_left_CPMVy)<<(K-log2BlockWidth)或(top_right_CPMVy-top_left_CPMVy)/寬度。上面和隨後的說明書中的許多變數是不需加以說明的。例如,top_right_CPMVx與左上控制點MV的x分量相對應。在使用4參數仿射模型時,可以將DMvVerX設置成DmvHorY,可以將DMvVerY設置成DMvHorX。當使用6參數仿射模型時,可以將DMvVerX設置成(bottom_left_CPMVx-top_left_CPMVx)<<(K-log2BlockHeight)或(botyom_left_CPMVx-top_left_CPMVx)/高度,可以將DMvVerY設置成(bottom_left_CPMVy-top_left_CPMVy)<<(K-log2BlockHeight)或(bottom_left_CPMVy-top_left_CPMVy)/高度。K可以是7或者大於或等於log2BlockWidth和log2BlockHeight的最大值的整數。為了推導該塊內的點(x,y)的MV(其中,x和y是與左上控制點MV(top_left_CPMV)相關的點位置),推導出的MVx可以等於Round((top_left_CPMVx<<L)+DMvHorX*x+DMvVerX*y+偏移量X,M);推導出的MVy可以等於Round((top_left_CPMVy<<L)+DMvHorY*x+DMvVerY*y+偏移量Y,M)。L可以是整數(例如,7)或等於K,M可以是整數(例如,7)或等於K。在以上描述中,“Round()”與舍入運算相對應。
在常規仿射模式MC中,當推導出子塊MV時,執行基於N×N(例如,4×4)塊的平移MC。在本發明中,該N×N子塊中的像素MV可以不 同。例如,提出了將不同MVx用於該N×N塊中的不同行,和/或將不同MVy用於該N×N塊中的不同列。在一個實施方式中,各行的MVx是通過使用該行中的一個樣本(例如,該行中的中心樣本或中心點)來推導的。各列的MVy是通過使用該列中的一個樣本(例如,該列中的中心樣本或中心點)來推導的。在另一示例中,在插值處理期間,在水準濾波階段,提出了將不同MVx用於該N×N塊中的不同行。針對各行,可以將不同MVx用於不同樣本。在垂直濾波階段中,在該N×N塊中針對不同列使用不同MVy。針對各列,可以針對不同樣本使用不同MVy。
在另一實施方式中,可以通過在原始推導出的子塊MV上添加一個或更多個偏移量來推導出各行中的MVx和MVy。在一個示例中,各行的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+偏移量,M),其中,A可以與行索引相關。各行的MVy可以是Round(subblock_MVy+B*DMvHorY+偏移量,M),其中,B可以與列索引相關。Q可以是128。在水準濾波階段和垂直濾波階段中,各行和各列/各樣本的濾波相位是從各行/各列/各樣本的MVx和MVy推導出的。
在一個實施方式中,不是每一水平行或每一垂直列都需要推導其相位。只有部分行或部分列需要推導其相位。針對其它行或列,濾波器相位可以與推導出的相位中的一個相位相同。例如,針對索引小於第一閾值的行,不推導MVx。該行可以使用相鄰行的MVx。例如,該行可以使用索引等於第一閾值的行的MVx。在另一示例中,或者行索引大於第二閾值,不推導MVx。該行可以使用相鄰行的MVx。例如,使用索引等於第二閾值的行的MVx。類似方法可以應用於列MVy推導。
在另一實施方式中,M×N子塊MC可以劃分成兩部分。第一部分使用水準濾波器來生成M×O塊,其中,M可以是子塊寬度,O可以是(子塊 高度+插值濾波器長度-1)。第二部分使用垂直濾波器來對該M×O塊進行濾波,以生成仿射預測項的M×N塊。針對第一部分,執行O行水準濾波器。各行生成M個經濾波的樣本。針對各行,MVy相同,或者MVy的整數部分相同。各行的MVy可以被設置成等於子塊MVy。各行的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+偏移量,M),其中,A可以與行索引相關。
各行的濾波器相位可以從各行的MVx推導,例如,通過MVx的分數部分選擇濾波器。在一個示例中,各行的MVx可以被限制/截取(clip)在例如subblock_MVx±1-pel範圍內,或[subblock_MVx的整數部分,subblock_MVx的整數部分+1-pel]範圍內,或[subblock_MVx的整數部分,(subblock_MVx的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。當M×O經水準濾波的樣本準備就緒時,可以應用垂直濾波器。針對各列,MVy可以不同。各行的MVy可以是Round(subblock_MVy*Q+B*DMvHorY+偏移量,M),其中,B可以與列索引相關。各列的濾波器相位可以從各列的MVy推導,例如,通過MVy的分數部分選擇濾波器。在一個示例中,各列的MVy可以被限制/截取在例如subblock_MVy±1-pel範圍內,或[subblock_MVy的整數部分,(subblock_MVy的整數部分+1-pel)]範圍內,或[subblock_MVy的整數部分,(subblock_MVy的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。在另一示例中,針對垂直濾波列,輸入的經濾波的樣本應位於經濾波的M×O塊的同一列中。在另一示例中,不應用MV截取。取而代之的是,應用樣本填充來填充(子塊高度+差值濾波器長度-1)個經濾波的樣本之外的參考樣本。在另一示例中,各行的MVy可以與subblock_MVy相同。
舍入可以舍入至零(例如,舍入偏移量等於(1<<(M-1))-1)或舍入遠離零(例如,舍入偏移量等於(1<<(M-1)))。在另一示例中,舍入可以直接右移而無需添加舍入偏移量。在所提出的方法中,使用的插值濾波器的數量與基於塊的平移MC相同。在一個實施方式中,不是每一水平行或每一垂直列都需要推導其相位。只有部分行或部分列需要推導其相位。針對其它行或列,濾波器相位可以與推導出的相位中的一個相位相同。例如,針對索引小於第一閾值的行,不推導MVx。該行可以使用相鄰行的MVx。例如,該行可以使用索引等於第一閾值的行的MVx。在另一示例中,如果行索引大於第二閾值,則不推導MVx。該行可以使用相鄰行的MVx。例如,該行可以使用索引等於第二閾值的行的MVx。類似方法可以應用於列MVy推導。
在另一實施方式中,M×N子塊MC可以被劃分成兩部分。第一部分使用水準濾波器來生成M×O塊,其中,M可以是子塊寬度,O可以是(子塊高度+插值濾波器長度-1)。第二部分使用垂直濾波器來對該M×O塊進行濾波,以生成仿射預測項的M×N塊。針對第一部分,執行O行水準濾波器。各行生成M個經濾波的樣本。針對各行,MVy相同,或者MVy的整數部分相同。各行的MVy可以被設置成等於子塊MVy。各樣本的MVx可以是Round(subblock_MVx*Q+A*DMvVerX+C*DMvHorX+偏移量,M),其中,A可以與行索引相關,並且C可以與N×N子塊中的列索引相關。各樣本的濾波器相位可以從各樣本的MVx推導,例如,通過MVx的分數部分選擇濾波器。在一個示例中,各樣本的MVx可以被限制/截取在例如row_base_MVx±1-pel範圍內,或[row_base_MVx的整數部分,(row_base_MVx的整數部分+1-pel)]範圍內,或[row_base_MVx的整數部分,(row_base_MVx的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。
row_base_MVx可以通過Round(subblock_MVx*Q+A*DMvVerX+偏移量,M)或使用行中的一個位置(例如,行的中心位置)通過仿射模型而推導出的Mvx來推導。針對濾波器行的所需樣本,需要最多(子塊寬度+插值濾波器長度-1)個參考樣本。在一個實施方式中,用於各個樣本的各個濾波器的第一參考樣本是連續樣本(例如,連續樣本的子塊寬度)。針對水準濾波行,(子塊寬度+插值濾波器長度-1)個參考樣本用於生成濾波器樣本的子塊寬度。在另一示例中,針對水準濾波行,參考樣本應在參考圖片的同一行中。在一個示例中,各行的MVx可以被限制/截取在例如subblock_MVx±1-pel範圍內,或[subblock_MVx的整數部分,(subblock_MVx的整數部分+1-pel)]範圍內,或[subblock_MVx的整數部分,(subblock_MVx的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。在另一示例中,不應用MV截取。取而代之的是,應用樣本填充來填充(子塊寬度+差值濾波器長度-1)個參考樣本之外的參考樣本。當M×O經水準濾波的樣本準備就緒時,可以應用垂直濾波器。
針對各樣本/各列,MVy可以不同。各樣本的MVy可以是Round(subblock_MVy*Q+B*DMvHorY+D*DMvVerY+偏移量,M),其中,B可以與列索引相關,並且D可以與N×N子塊中的行索引相關。各樣本的濾波器相位可以從各樣本的MVy推導,例如,通過MVy的分數部分選擇濾波器。在一個示例中,各樣本的MVy可以被限制/截取在例如subblock_MVy±1-pel範圍內,或[subblock_MVy的整數部分,(subblock_MVy的整數部分+1-pel)]範圍內,或[subblock_MVy的整數部分,(subblock_MVy的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。在另一示例中,各樣本的MVy可以被限制/截取在例如row_base_MVy±1-pel範圍內,或[row_base_MVy的整數部分,(row_base_MVy的整數部分+1-pel)] 範圍內,或[row_base_MVy的整數部分,(row_base_MVy的整數部分+1-pel-1*K)]範圍內,其中,K是1/4-pel、1/8-pel、1/16-pel或1/32-pel;針對不同顏色分量,K可以不同。row_base_MVy可以通過Round(subblock_MVy*Q+B*DMvHorY+偏移量,M)、Round(subblock_MVy*Q+D*DMvVerY+偏移量,M)、或使用列中的一個位置(例如,列的中心位置)通過仿射模型而推導出的Mvy來推導。
針對濾波器列的所需樣本,需要最多(子塊高度+插值濾波器長度-1)個經濾波的樣本(來自水準濾波階段)。在一個實施方式中,用於各個樣本的各個濾波器的第一參考樣本是連續樣本(例如,連續樣本的子塊高度)。針對垂直濾波列,(子塊高度+插值濾波器長度-1)個經濾波的樣本用於生成濾波器樣本的子塊高度。在另一示例中,針對垂直濾波列,輸入的經濾波的樣本應在經濾波的M×O塊的同一列中。
在另一示例中,不應用MV截取。取而代之的是,應用樣本填充來填充子塊高度+差值濾波器長度-1個經濾波的樣本之外的參考樣本。在另一示例中,各行的MVy可以與subblock_MVy相同。舍入可以舍入至零(例如,舍入偏移量等於(1<<(M-1))-1)或舍入遠離零(例如,舍入偏移量等於(1<<(M-1)))。在另一示例中,舍入可以直接右移而無需添加舍入偏移量。
在所提出的方法中,使用的插值濾波器的數量與基於塊的平移MC相同。在一個實施方式中,不是每一水平行或每一垂直列都需要推導其相位。只有部分行或部分列需要推導其相位。針對其它行或列,濾波器相位可以與推導出的相位中的一個相位相同。例如,針對索引小於第一閾值的行,不推導MVx。各樣本的濾波器相位可以使用相鄰行的濾波器相位的MVx。例如,使用索引等於第一閾值的行的MVx。在另一示例中,如果行索引大於第二閾值,則不推導MVx。該行可以使用相鄰行的各樣本的MVx。例如,該行可以使用索引等於第二閾值的行的MVx。類似方法可以應用於列MVy推導。
仿射頻寬約束
為了降低複雜度,根據本發明的一個實施方式,如果DMvHorX、DMvHorY、DMvVerX和/或DMvVerY太小,則仿射子塊MC可以回退以使用基於塊的平移MC。在一個實施方式中,如果DMvVerX太小(例如,abs(DMvVerX)小於(或者小於等於)32、64、128、256、512或1024),則應用基於塊的水準濾波器(例如,MVx(與子塊MVx)相同)。在另一實施方式中,如果DMvHorY太小(例如,abs(DMvHorY)小於(或者小於等於)32、64、128、256、512或1024),則應用基於塊的垂直濾波器(例如,MVy(與子塊MVy)相同)。在另一示例中,如果G*DMvVerX+H*DMvHorX太小(例如,abs(G*DMvVerX+H*DMvHorX)小於(或者小於等於)32、64、128、256、512或1024),則應用基於塊的水準濾波器(例如,MVx(與子塊MVx)相同)。在另一示例中,如果I*DMvHorY+J*DMvVerY太小(例如,abs(I*DMvHorY+J*DMvVerY)小於(或者小於等於)32、64、128、256、512或1024),則應用基於塊的垂直濾波器(例如,MVy(與子塊MVy)相同)。
在一個實施方式中,DMvVerX可以通過一數位歸一化。該數位可以與DMvVerY相關。例如,DMvVerX=(DMvVerX)/(1+DMvVerY)或DMvVerX=(DMvVerX<<K)/((1<<K)+DMvVerY))。DMvHorY可以通過一數位歸一化。該數位可以與DMvHorX相關。例如,DMvHorY=(DMvHorY)/(1+DMvHorX)或DMvHorY=(DMvHorY<<K)/((1<<K)+DMvHorX))。
當一個CU中的子塊的MV非常不同時,各個子塊的所需參考塊的重疊區域很小,並且需要大量的記憶體頻寬。因此,可以根據本發明的實施方式來應用仿射模型約束。例如,當滿足或不滿足一個或更多個條件時,可以將回退模式應用於仿射模型。當應用回退模式時,所有子塊MV被設置成相同值。因此,仿射編碼CU可以被視為平移移動CU。可以應用整個CU MC,並 且可以降低頻寬。如下推導變數bxWX4、bxHX4、bxWXh、bxHXh、bxWXv和bxHXv:maxW4=Max(0,Max(4*(2048+dHorX),Max(4*dHorY,4*(2048+dHorX)+4*dHorY))) minW4=Min(0,Min(4*(2048+dHorX),Min(4*dHorY,4*(2048+dHorX)+4*dHorY))) maxH4=Max(0,Max(4*dVerX,Max(4*(2048+dVerY),4*dVerX+4*(2048+dVerY)))) minH4=Min(0,Min(4*dVerX,Min(4*(2048+dVerY),4*dVerX+4*(2048+dVerY)))) bxWX4=((maxW4-minW4)>>11)+9 bxHX4=((maxH4-minH4)>>11)+9 bxWXh=((Max(0,4*(2048+dHorX))-Min(0,4*(2048+dHorX)))>>11)+9 bxHXh=((Max(0,4*dVerX)-Min(0,4*dVerX))>>11)+9 bxWXv=((Max(0,4*dVerY)-Min(0,4*dVerY))>>11)+9 bxHXv=((Max(0,4*(2048+dHorY))-Min(0,4*(2048+dHorY)))>>11)+9
在上式中,變數dHorX、dHorY、dVerX和dVerY是先前定義的。針對各個參考列表,如下推導fallbackMode:如果雙預測用於當前CU/PU(inter_pred_idc等於PRED_BI):如果bxWX4*bxHX4小於或等於225,則fallbackModeTriggered被設置成等於0。
否則,fallbackModeTriggered被設置成等於1。
如果單預測用於當前CU/PU(inter_pred_idc不等於PRED_BI):如果bxWXh*bxHXh小於或等於165並且bxWXv*bxHXv小於或等於165,則fallbackModeTriggered被設置成等於0。
否則,fallbackModeTriggered被設置成等於1。
如上所述的基於仿射的運動增強方法(或可以視為基於子塊的仿射模式)(例如,仿射光流、交織仿射MC和/或相變仿射MC)可以增強預測項,然而,所需的計算複雜度巨大。上述基於仿射的運動增強方法可以實現更好的性能,特別是當一個CU中的具有相同仿射模型的子塊的運動向量不是非常相似時。當子塊的運動向量非常相似時,上述方法的性能將惡化,但是所需的計算 複雜度仍然巨大。另一方面,當一個CU中的子塊的MV非常不同時,各個子塊的所需參考塊的重疊區域很小,需要大量的記憶體頻寬。因此,可以應用仿射模型約束。例如,當滿足或不滿足一個或更多個條件時,可以應用回退模式。
為了降低計算複雜度或降低仿射模式所需的頻寬,提出了一種早期終止演算法。概念是,當允許基於仿射的MV增強方法並且一個CU中的具有相同仿射模型的子塊的運動向量非常接近或非常不同時,隱式地禁用上述基於仿射的MV增強方法。在這種情況下,應用基於塊的平移MC或4×4/8×8/4×8/8×4塊MC。
禁用上述基於仿射的MV增強方法的條件可以取決於以下項中的一項或其組合:CU寬度(cuWidth)、CU高度(cuHeight)、控制點MV和/或仿射模型的位置(topLeftMVx、topLeftMVy、topRightMVx、topRightMVy、botLeftMVx、botLeftMVy、botRightMVx、botRightMVy)、預測模式(單預測、雙預測、合併模式、AMVP模式、跳過模式、繼承的仿射候選、經構造的仿射候選)、殘差(cbf、非零殘差)、dHorX、dHorY、dVerX、dverY或以上的任何組合、或從一個或更多個上述值推導的一個或更多個推導的變數。例如,當abs(topLeftMVx-topRightMVx)<cuWidth*比率、abs(topLeftMVy-topRightMVy)<cuWidth*比率、abs(topLeftMVx-botLeftMVx)<cuHeight*比率、abs(topLeftMVy-botLeftMVy)<cuHeight*比率、|dHorX|<閾值1、|dHorY|<閾值2、|dVerX|<閾值3、和/或|dVerY|<閾值4或以上任何組合時,則禁用上述基於仿射的MV增強方法。注意,上式還涵蓋兩個或更多個控制點運動向量相同的情況。例如,如果左上控制點運動向量與右上控制點運動向量相同(即,topLeftMVx=topRightMVx並且topLeftMVy=topRightMVy),則abs(topLeftMVx-topRightMVx)<(cuWidth*比率)以及abs(topLeftMVy-topRightMVy)<(cuWidth*比率)均被滿足。類似地,如果左上控制點運動向量與左下控制點運動向量相同 (即,topLeftMVx=botLeftMVx並且topLeftMVy=botLeftMVy),則abs(topLeftMVx-botLeftMVx)<(cuHeight*比率)以及abs(topLeftMVy-botLeftMVy)<(cuHeight*比率)均被滿足。
可以在序列級、圖片級、圖塊組級、圖塊級、CTU級或塊級處顯式地用信號通知上文提到的比率。或者,根據視頻解析度、cuWidth、cuHeight、cuWidth×cuHeight或預測方向、仿射MV解析度隱式地決定比率。在另一示例中,當abs(botLeftMVx-topRightMVx)<(cuWidth*比率)並且abs(botLeftMVy-topRightMVy)<(cuHeight*比率)時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(topLeftMVx-topRightMVx)<(cuWidth*比率)並且abs(topLeftMVy-topRightMVy)<(cuHeight*比率)時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(topLeftMVx-topRightMVx)+abs(topLeftMVy-topRightMVy)<((cuWidth+cuHeight)*比率)時,禁用上述方法。在另一示例中,當abs(botLeftMVx-topRightMVx)+abs(botLeftMVy-topRightMVy)<((cuWidth+cuHeight)*比率)時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(topLeftMVx-topRightMVx)<tha、abs(topLeftMVy-topRightMVy)<thb、abs(topLeftMVx-botLeftMVx)<thc並且abs(topLeftMVy-botLeftMVy)<thd時,則禁用上述基於仿射的MV增強方法。可以在序列級、圖片級、圖塊組級、圖塊級、CTU級或塊級處顯式地用信號通知tha、thb、thc、thd、閾值1、閾值2、閾值3、閾值4的值。或者根據視頻解析度、cuWidth、cuHeight、cuWidth×cuHeight或預測方向、仿射MV解析度隱式地決定tha、thb、thc、thd、閾值1、閾值2、閾值3、閾值4的值。
在另一示例中,當abs(botLeftMVx-topRightMVx)<tha並且abs(botLeftMVy-topRightMVy)<thb時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(topLeftMVx-topRightMVx)<thc並且abs(topLeftMVy- topRightMVy)<thd時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(topLeftMVx-topRightMVx)+abs(topLeftMVy-topRightMVy)<tha時,禁用上述基於仿射的MV增強方法。在另一示例中,當abs(botLeftMVx-topRightMVx)+abs(botLeftMVy-topRightMVy)<thb時,禁用上述方法。可以在序列級、圖片級、圖塊組級、圖塊級、CTU級或塊級處顯式地用信號通知tha和thb的值。或者根據視頻解析度、cuWidth、cuHeight、cuWidth×cuHeight或預測方向、仿射MV解析度隱式地決定tha和thb的值。或者僅用信號通知tha的值,基於tha和cuWidth或cuHeight推導thb的值。在所有上述情況下,“較小”條件或“<”可以用“較大”或“>”代替。
在另一實施方式中,如果一個子塊內的最大MVD(即,(LMVDx,LMVDy))的絕對值小於閾值,則禁用上述基於仿射的MV增強方法。在這種情況下,可以計算子塊的多個位置(即,子塊的左上、右上、左下、右下位置)中的MVD(即,像素MV與子塊MV之間的MV差)。或僅計算左上位置和右下位置。或者僅計算右上位置和左下位置。例如,如果|LMVDx|+|LMVDy|<th1,則禁用上述方法。例如,如果|LMVDx+LMVDy|<th1,則禁用上述基於仿射的MV增強方法。例如,如果(LMVDx^2+LMVDy^2)<th1,則禁用上述方法。在另一實施方式中,如果仿射模型的左上位置中的MVD的絕對值小於閾值,則禁用上述基於仿射的MV增強方法。例如,如果|topLeftMVDx|+|topLeftMVDy|<th2,則禁用上述方法。例如,如果|topLeftMVDx+topLeftMVDy|<th2,則禁用上述基於仿射的MV增強方法。例如,如果(topLeftMVDx^2+topLeftMVDy^2)<th2,則禁用上述基於仿射的MV增強方法。可以在序列級、圖片級、圖塊組級、圖塊級、CTU級或塊級處顯式地用信號通知th1和th2的值。或者根據視頻解析度、cuWidth、cuHeight、cuWidth×cuHeight或預測方向、仿射MV解析度隱式地決定th的值。在另一實施方式中,仿射模型中的右上/左下/右下或任何預定位置中 的MVD的絕對值也可以用於禁用上述方法。在所有上述情況下,“較小”條件或“<”可以用“較大”或“>”代替。
在針對仿射子塊執行MC之前,首先推導塊MV。推導一個或更多個仿射MV推導參數。例如,推導DMvHorX、DMvHorY、DMvVerX和DMvVerY的值。類似於式(3),可以將DMvHorX設置成等於(top_right_CPMVx-top_left_CPMVx)<<(K-log2BlockWidth)或(top_right_CPMVx-top_left_CPMVx)/寬度,可以將DMvHorY設置成等於(top_right_CPMVy-top_left_CPMVy)<<(K-log2BlockWidth)或(top_right_CPMVy-top_left_CPMVy)/寬度。在使用4參數仿射模型時,可以將DMvVerX設置成-DMvHorY,可以將DMvVerY設置成DMvHorX。當使用6參數仿射模型時,可以將DMvVerX設置成(bottom_left_CPMVx-top_left_CPMVx)<<(K-log2BlockHeight)或(bottom_left_CPMVx-top_left_CPMVx)/高度,可以將DMvVerY設置成(bottom_left_CPMVy-top_left_CPMVy)<<(K-log2BlockHeight)或(bottom_left_CPMVy-top_left_CPMVy)/高度。K可以是7或者大於或等於log2BlockWidth和log2BlockHeight的最大值的整數。早期終止還可以取決於中間參數(即,DMvHorX、DMvHorY、DMvVerX和/或DMvVerY)。如果DMvHorX、DMvHorY、DMvVerX和/或DMvVerY太小,則將禁用上述方法。在一個實施方式中,如果DMvHorX/DMvHorY/DMvVerX/DMvVerY小於(或者小於等於)32、64、128、256、512或1024。在另一實施方式中,如果(DMvHorX-DMvVerX)和/或(DMvHorY-DMvVerY)太小(例如,abs(DMvHorX-DMvVerX)小於(或者小於等於)32、64、128、256、512或1024),則將禁用以上方法。在另一示例中,如果(G*DMvVerX+H*DMvHorX)和/或(I*DMvVerY+J*DMvHorY)太小(例如,abs(G*DMvVerX+H*DMvHorX)小於(或者小於等於)32、64、128、256、512或1024),則將禁用上述基於仿射的MV增強方法。可以在序列級、圖片級、圖 塊組級、圖塊級、CTU級或塊級處顯式地用信號通知G、H、I、J的值。或者根據視頻解析度、cuWidth、cuHeight、cuWidth×cuHeight或預測方向、仿射MV解析度隱式地決定G、H、I、J的值。在所有上述情況下,“較小”條件或“<”可以用“較大”或“>”代替。
在一個實施方式中,當|dHorY|<閾值2以及|dVerX|<閾值3時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在一個實施方式中,當|dHorX|<閾值1、|dHorY|<閾值2、|dVerX|<閾值3以及|dVerY|<閾值4時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在另一實施方式中,當|dHorX|<閾值1時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在另一實施方式中,當|dHorY|<閾值2時,禁用仿射光流、交織仿射MC、相變仿射MC的水準濾波部分和/或相變仿射MC。在另一實施方式中,當|dVerX|<閾值3時,禁用仿射光流、交織仿射MC、相變仿射MC的垂直濾波部分和/或相變仿射MC。在另一實施方式中,當|dVerY|<閾值4時,禁用仿射光流、交織仿射MC和/或相變仿射MC。
在一個實施方式中,當|dHorY|>閾值2或者|dVerX|>閾值3時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在一個實施方式中,當|dHorX|>閾值1、|dHorY|>閾值2、|dVerX|>閾值3或者|dVerY|>閾值4時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在另一實施方式中,當|dHorX|>閾值1時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在另一實施方式中,當|dHorY|>閾值2時,禁用仿射光流、交織仿射MC、相變仿射MC的水準濾波部分和/或相變仿射MC。在另一實施方式中,當|dVerX|>閾值3時,禁用仿射光流、交織仿射MC、相變仿射MC的垂直濾波部分和/或相變仿射MC。在另一實施方式中,當|dVerY|>閾值4時,禁用仿射光流、交織仿射MC和/或相變仿射MC。
在所有上述情況下,“較小”條件或“<”可以用“較大”或“>”代替。
在一個實施方式中,當使用回退模式時,禁用仿射光流、交織仿射MC和/或相變仿射MC。在不增強仿射光流、交織仿射MC和/或相變仿射MC的情況下,應用基於平移塊的MC。
在另一實施方式中,可以取決於仿射MV解析度來應用上述基於仿射的MV增強方法。例如,條件可以取決於IMV索引,其中,IMV表示運動向量的解析度(例如,整數、1/2-pel、1/4-pel等)。僅在IMV索引等於零或不等於零時才可以應用上述基於仿射的MV增強方法。或僅在IMV索引不等於2或等於2時才可以應用上述方法。
在另一示例中,上述方法也可以用於確定子塊大小。例如,如果水準位移太小,則可以使用M×N子塊(其中,M大於或等於N,例如,8×4或4×2)。如果垂直位移太小,則可以使用N×M子塊(其中,M大於或等於N,例如,4×8或2×4)。
在另一示例中,當子塊的運動向量不相似時,可能需要太多的記憶體頻寬來載入仿射MC的參考樣本,並且(隱式地)禁用上述方法。上述確定方法可以從“>”更改為“<”或從“<”更改為“>”。
在另一實施方式中,當使用回退模式時,將N抽頭濾波器用於插值。當不使用回退模式時,將M抽頭濾波器用於插值。在一個示例中,針對亮度分量,N可以是8並且M可以是6。針對色度分量,M和N可以是4。
如上所述,提出了PROF以利用光流來增強基於子塊的仿射運動補償預測。在執行了基於子塊的仿射運動補償之後,通過添加通過光流方程推導出的差來增強亮度預測樣本(或稱為預測項)。BIO利用光流和穩定運動的假定來實現樣本級運動增強。這僅適用於真正的雙向預測塊,所述真正的雙向預測塊從兩個參考幀預測,並且一個參考幀是前一幀,另一參考幀是後一幀。上述兩種方法具有非常相似的用於生成經增強的子塊預測項的預測項增強處理。 首先,使用3抽頭濾波器[-1,0,1]在各樣本位置處計算子塊預測的空間梯度gx(i,j)和gy(i,j)。基於光流方程,分別推導出由vx和vy表示的x方向和y方向的偏移量。最後,通過如下光流方程來計算亮度預測增強:△I(i,j)=g x (i,j)*△v x (i,j)+g y (i,j)*△v y (i,j)。
針對硬體友好實現,如果PROF與BDOF之間的比特深度控制相似,則PROF和BDOF中的亮度預測項增強計算電路可以統一。
針對梯度計算,JVET-N0236中提出的PROF使用1/16-強度精度(例如,如果將強度比特深度設置成10比特,則是14比特),並且BDOF使用4-強度精度(例如,8比特)進行計算。在VTM-5.0採用JVET-N0325之後,BDOF的推導偏移量vx和vy的比特深度將被截取成6比特。然而,根據JVET-N0236,PROF中的推導偏移量被設計成以1/32像素精度截取成16比特。在PROF中,最終亮度預測增強將被截取成14比特。
下面是為修改PROF比特深度控制以簡化計算複雜度而提出的一些方法。
方法1. 限制PROF中的梯度範圍
在一個實施方式中,提出了將梯度範圍限制在預定比特深度內。如果梯度大於允許的最大值或小於允許的最小值,則將該梯度截取成允許值。例如,我們可以將梯度範圍限制成10比特。在另一實施方式中,可以將梯度範圍限制成8比特。取決於輸入比特深度,該範圍可以是隱式預定義值,或者在序列級、圖片級或切片級顯式地用信號通知給解碼器。在另一實施方式中,預定義值與BDOF匹配,或基於BDOF以添加偏移量。在另一實施方式中,當梯度大於允許的最大值或小於允許的最小值時,跳過PROF處理。在另一實施方式中,在PROF處理中不使用梯度大於允許的最大值或小於允許的最小值的那些資料來推導偏移量vx和vy,並且那些像素不通過PROF增強。
在另一實施方式中,在強度梯度計算之後,PROF的梯度將右移6。右移值可以與BDOF梯度計算匹配,或者通過向BDOF梯度計算的右移值添加偏移量而推導出,或者右移值取決於輸入比特深度。在另一實施方式中,可以首先將梯度右移,然後將該梯度截取到預定義範圍。例如,如果預定義範圍是9比特,則可以先將梯度右移3,然後再將該梯度截取成9比特。在另一實施方式中,可以將梯度限制在基於MSB(最高有效位)的範圍內,以避免較大的梯度資訊丟失。例如,將梯度限制成8比特。在這種情況下,將僅保留第一MSB之後的8比特。
方法2. 限制PROF中的偏移量vx和vy(位移)的範圍
我們提出了將PROF位移範圍限制在一些預定義比特深度中。在一個實施方式中,如果位移大於允許的最大值或小於允許的最小值,則將該位移截取成允許值。例如,我們可以將位移範圍限制成6比特。例如,我們可以將位移範圍限制成8比特。取決於輸入比特深度,該範圍可以是隱式預定義值,或者在序列級、圖片級或切片級顯式地用信號通知給解碼器。另選地,以與BDOF位移計算相同的方式設計預定義比特深度,或者可以通過向BDOF位移計算的比特深度添加偏移量來推導預定義比特深度。在另一實施方式中,可以首先將位移右移,然後將該位移截取到預定範圍。例如,如果預定義範圍是6比特,則可以先將位移右移3,然後再將該位移截取成6比特。在另一實施方式中,可以將位移限制在基於MSB的範圍內,以避免較大的位移資訊丟失。例如,將通過PROF推導出的位移限制成6比特。在這種情況下,將僅保留第一MSB之後的6比特。在另一實施方式中,可以首先右移位移,然後將該位移截取到預定義範圍。在通過下式進行最終亮度增強推導之後,增強值將被左移:△I(i,j)=g x (i,j)*△v x (i,j)+g y (i,j)*△v y (i,j)。
例如,推導出的位移將首先右移1以變成較低的精度值,然後該 位移被截取成6比特。之後,將該位移與強度梯度相乘以推導出亮度增強,並將其左移1比特。取決於輸入比特深度,截取之前的右移比特數可以是預定義值,或者在序列級、圖片級或切片級顯式地用信號通知給解碼器。截取之前的右移比特數可以取決於BDOF位移計算的比特深度,或者可以通過向BDOF位移計算的比特深度添加偏移量而推導出。
方法3. 消除PROF中最終亮度增強的限制
為將BDOF電路重複用於PROF,可以移除通過PROF推導出的最終亮度增強。在一個實施方式中,可以在梯度計算處理或位移推導中將一些比特深度約束添加到PROF。
方法4. 有條件地啟用PROF
為避免用於PROF的附加電路,可以有條件地啟用PROF。在一個實施方式中,僅當BDOF和仿射都被啟用時才可以啟用PROF。
可以在編碼器和/或解碼器中實現上文提出的方法中的任何方法。例如,可以在編碼器和/或解碼器的仿射幀間預測模組中實現上文提出的方法中的任何方法。另選地,上文提出的方法中的任何方法可以被實現為耦接至編碼器和/或解碼器的仿射幀間預測模組的電路。
第8圖例示了根據本發明的實施方式的視頻編碼系統利用包括仿射模式和基於子塊的仿射模式的編碼工具集的示例性流程圖,其中,當針對當前塊滿足一個或更多個條件時,禁用基於子塊的仿射模式。流程圖中所示的步驟可以被實現為能夠在編碼器側的一個或更多個處理器(例如,一個或更多個CPU)上執行的程式碼。流程圖中所示的步驟也可以基於硬體(諸如,被佈置成執行流程圖中的步驟的一個或更多個電子裝置或處理器)來實現。根據該方法,在步驟810中,在視頻編碼器側接收與當前塊相關的輸入資料,或者在視頻解碼器側接收與包括當前塊的壓縮資料相對應的視頻位元流,其中,針對 當前塊,允許仿射模式和基於子塊的仿射模式。在步驟820中,針對當前塊,確定是否滿足一個或更多個條件。如果針對當前塊滿足所述一個或更多個條件(即,從步驟820的“是”路徑),則執行步驟830和步驟840。否則(即,從步驟820的“否”路徑),跳過步驟830和步驟840。在步驟830中,針對當前塊,禁用基於子塊的仿射模式。在步驟840中,使用不具有基於子塊的仿射模式的經修改的編解碼工具集對當前塊進行編碼或解碼。
第9圖例示了視頻編碼系統利用屬於包括光流預測增強(PROF)和雙向光流(BDOF)的編解碼工具組的編解碼工具的示例性流程圖,其中,PROF和BDOF共用相同的梯度移位。根據該方法,在步驟910中,接收與當前圖片中的當前塊相關的輸入資料,其中,輸入資料與當前塊在視頻編碼器側的變換塊相對應,並且輸入資料與當前塊在視頻解碼器側的經解碼經量化的變換塊相對應。在步驟920中,確定用於當前塊的當前編解碼工具。在步驟930中,確定當前編解碼工具是否與PROF和BDOF中的一者相對應。如果當前編碼工具與PROF和BDOF中的一者相對應(即,從步驟930的“是”路徑),則在步驟940中,進一步測試當前編碼工具是否與PROF和BDOF相對應。如果當前編碼工具與PROF相對應,則處理進行至步驟950。如果當前編碼工具與BDOF相對應,則處理進行至步驟960。如果當前編碼工具不與PROF和BDOF中的一者相對應(即,從步驟930的“否”路徑),則處理進行至“結束”。在步驟950中,根據PROF,針對當前塊的目標子塊的像素,推導第一預測項增強,所述推導第一預測項增強包括:推導當前塊的目標子塊的像素的第一梯度,並且將該第一梯度右移公共移位。在步驟952中,根據第一預測項增強和通過子塊運動向量生成的子塊預測項,生成經增強的子塊預測項。在步驟954中,基於經增強的子塊預測項對目標子塊進行編碼或解碼。在步驟960中,根據BDOF,針對當前塊的目標子塊的像素,推導第二預測項增強,其中,所述推導第二預測項增強 包括:推導當前塊的目標子塊的像素的第二梯度,並且將該第二梯度右移公共移位。在步驟962中,根據第二預測項增強和通過子塊運動向量生成的子塊預測項,生成經增強的子塊預測項。在步驟964中,基於經增強的子塊預測項對目標子塊進行編碼或解碼。
所示的流程圖旨在例示根據本發明的視頻的示例。本領域技術人員可以在不脫離本發明的精神的情況下修改各個步驟、重新佈置步驟、分割步驟或組合步驟以實踐本發明。在本公開中,已經使用特定的語法和語義來例示實現本發明的實施方式的示例。技術人員可以在不脫離本發明的精神的情況下通過利用等效的語法和語義替換所述語法和語義來實踐本發明。
呈現以上描述是為了使得本領域普通技術人員能夠如在特定應用及其要求的背景下所提供的來實踐本發明。對所描述的實施方式的多種修改針對本領域技術人員將是顯而易見的,並且本文中定義的一般原理可以應用於其它實施方式。因此,本發明並不旨在限於所示出和所描述的特定實施方式,而是被賦予與本文所公開的原理和新穎特徵相一致的最廣範圍。在以上詳細描述中,例示了各種具體細節以便提供對本發明的透徹理解。然而,本領域技術人員將理解本發明是可以實踐的。
如上所述的本發明的實施方式可以以各種硬體、軟體代碼或兩者的組合來實現。例如,本發明的實施方式可以是集成到視頻壓縮晶片中的電路或集成到視頻壓縮軟體中以執行本文描述的處理的程式碼。本發明的實施方式還可以是要在數位訊號處理器(DSP)上執行以執行本文描述的處理的程式碼。本發明還可以涉及由電腦處理器、數位訊號處理器、微處理器或現場可程式設計閘陣列(FPGA)執行的許多功能。這些處理器可以被配置成通過執行定義本發明所體現的特定方法的機器可讀軟體代碼或固件代碼來執行根據本發明的具體任務。可以以不同的程式設計語言和不同的格式或樣式來開發軟體代碼或固 件代碼。也可以針對不同的目標平臺編譯軟體代碼。然而,不同的代碼格式、軟體代碼的樣式和語言以及配置代碼以執行根據本發明的任務的其它手段將不脫離本發明的精神和範圍。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其它特定形式實施。所描述的示例在所有方面僅應被認為是例示性的而非限制性的。因此,本發明的範圍由所附權利要求而不是前述描述來指示。落入權利要求等同含義和範圍內的所有改變均應包含在其範圍內。
810-840:步驟

Claims (6)

  1. 一種用於由視頻編碼器或視頻解碼器執行的視頻編解碼的預測的方法,所述視頻編碼器或視頻解碼器利用包括仿射模式和基於子塊的仿射模式的編解碼工具集,所述方法包括:在視頻編碼器側接收與當前塊相關的輸入資料,或者在視頻解碼器側接收與包括所述當前塊的壓縮資料相對應的視頻位元流,其中,針對所述當前塊,允許所述仿射模式和所述基於子塊的仿射模式;針對所述當前塊,確定是否滿足一個或更多個條件;如果針對所述當前塊滿足所述一個或更多個條件,則:針對所述當前塊,禁用所述基於子塊的仿射模式;並且使用不具有所述基於子塊的仿射模式的經修改的編碼工具集對所述當前塊進行編碼或解碼;其中所述基於子塊的仿射模式與光流預測增強(PROF)模式相對應。
  2. 如請求項1之方法,其中,所述一個或更多個條件包括目標條件,該目標條件與針對所述當前塊選擇的仿射回退模式相對應。
  3. 如請求項1之方法,其中,當所述當前塊使用4參數仿射模型時,所述一個或更多個條件包括與所述當前塊的左上位置處的第一控制點運動向量等於所述當前塊的右上位置處的第二控制點運動向量相對應的目標條件。
  4. 如請求項1之方法,其中,當所述當前塊使用6參數仿射模型時,所述一個或更多個條件包括與所述當前塊的左上位置處的第一控制點運動向量等於所述當前塊的右上位置處的第二控制點運動向量並且所述當前塊的所述左上位置處的所述第一控制點運動向量等於所述當前塊的左下位置處的第三控制點運動向量相對應的目標條件。
  5. 如請求項1之方法,其中,如果針對所述當前塊滿足所述一個或更多個條件,則使用所述仿射模式對所述當前塊進行編碼或解碼。
  6. 一種用於由視頻編碼器或視頻解碼器執行的視頻編解碼的幀間預測的裝置,所述視頻編碼器或視頻解碼器利用包括仿射模式和基於子塊的仿射模式的編碼工具集,所述裝置包括一個或更多個電子電路或處理器,所述一個或更多個電子電路或處理器被佈置成:在視頻編碼器側接收與當前塊相關的輸入資料,或者在視頻解碼器側接收與包括所述當前塊的壓縮資料相對應的視頻位元流,其中,針對所述當前塊,允許所述仿射模式和所述基於子塊的仿射模式;針對所述當前塊,確定是否滿足一個或更多個條件;如果針對所述當前塊滿足所述一個或更多個條件,則:針對所述當前塊,禁用所述基於子塊的仿射模式;並且使用不具有所述基於子塊的仿射模式的經修改的編碼工具集對所述當前塊進行編碼或解碼;其中所述基於子塊的仿射模式與光流預測增強(PROF)模式相對應。
TW109112213A 2019-04-12 2020-04-10 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置 TWI738292B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201962832941P 2019-04-12 2019-04-12
US62/832,941 2019-04-12
US201962844194P 2019-05-07 2019-05-07
US62/844,194 2019-05-07
US201962855003P 2019-05-31 2019-05-31
US62/855,003 2019-05-31
PCT/CN2020/084223 WO2020207475A1 (en) 2019-04-12 2020-04-10 Method and apparatus of simplified affine subblock process for video coding system
WOPCT/CN2020/084223 2020-04-10

Publications (2)

Publication Number Publication Date
TW202046728A TW202046728A (zh) 2020-12-16
TWI738292B true TWI738292B (zh) 2021-09-01

Family

ID=72750813

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109112213A TWI738292B (zh) 2019-04-12 2020-04-10 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置

Country Status (6)

Country Link
US (1) US11985330B2 (zh)
EP (1) EP3949419A4 (zh)
KR (1) KR20210145816A (zh)
CN (2) CN117750033A (zh)
TW (1) TWI738292B (zh)
WO (1) WO2020207475A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof
JP7431253B2 (ja) * 2019-05-16 2024-02-14 北京字節跳動網絡技術有限公司 動き情報精緻化のサブ領域に基づいた決定
CN113994692A (zh) * 2019-06-19 2022-01-28 北京达佳互联信息技术有限公司 用于利用光流的预测细化的方法和装置
MX2022000395A (es) * 2019-07-10 2022-04-06 Beijing Dajia Internet Information Tech Co Ltd Métodos y aparatos en refinamiento de predicción con flujo óptico.
WO2021040426A1 (ko) * 2019-08-31 2021-03-04 엘지전자 주식회사 Prof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019010156A1 (en) * 2017-07-03 2019-01-10 Vid Scale, Inc. MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2609760C2 (ru) 2010-09-16 2017-02-02 Конинклейке Филипс Электроникс Н.В. Устройства и способы усовершенствованного кодирования изображений
WO2016034058A1 (en) * 2014-09-01 2016-03-10 Mediatek Inc. Method of intra picture block copy for screen content and video coding
GB2561507B (en) 2016-01-07 2021-12-22 Mediatek Inc Method and apparatus for affine merge mode prediction for video coding system
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10638152B2 (en) * 2016-03-15 2020-04-28 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
DE112017006638B4 (de) * 2016-12-28 2023-05-11 Arris Enterprises Llc Verbesserte Videobitstromkodierung
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
US10609384B2 (en) 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US11877001B2 (en) * 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
TWI700922B (zh) * 2018-04-02 2020-08-01 聯發科技股份有限公司 用於視訊編解碼系統中的子塊運動補償的視訊處理方法和裝置
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019010156A1 (en) * 2017-07-03 2019-01-10 Vid Scale, Inc. MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Qualcomm,"CE2-related: Affine motion compensation using 2x2 subblock", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JVET-N0273, 14th Meeting, 19–27 March 2019 *

Also Published As

Publication number Publication date
US11985330B2 (en) 2024-05-14
US20220210439A1 (en) 2022-06-30
TW202046728A (zh) 2020-12-16
KR20210145816A (ko) 2021-12-02
EP3949419A4 (en) 2023-01-04
CN117750033A (zh) 2024-03-22
WO2020207475A1 (en) 2020-10-15
CN113785586A (zh) 2021-12-10
CN113785586B (zh) 2023-12-22
EP3949419A1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
CN113170181B (zh) 块内拷贝模式中的仿射继承方法
TWI735172B (zh) 用於多個工具的互相排斥設定
JP7146086B2 (ja) インター予測のためのバンド幅制御方法
JP7182000B2 (ja) インター-イントラ複合予測モードにおける重み
TWI738292B (zh) 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置
TWI720551B (zh) 一種視訊編解碼的幀間預測方法及裝置
TWI792152B (zh) 視訊編解碼系統中的視訊處理方法和裝置
CN113796077B (zh) 视频编解码之亮度mpm列表导出的方法及装置
KR102635518B1 (ko) 변환된 단예측 후보의 사용
TWI729483B (zh) 視訊編解碼系統的運動向量湊整統一的方法以及裝置
TW202329694A (zh) 視訊編解碼方法及裝置
TWI752488B (zh) 視訊編解碼之方法和裝置
JP7192145B2 (ja) サイズに依存したインターコーディング
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement
TW202408234A (zh) 視訊編解碼系統中具有混合的跨分量預測的方法和裝置
TW202341738A (zh) 視訊編碼解碼方法和裝置