TW201902223A - Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding - Google Patents

Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding Download PDF

Info

Publication number
TW201902223A
TW201902223A TW107110030A TW107110030A TW201902223A TW 201902223 A TW201902223 A TW 201902223A TW 107110030 A TW107110030 A TW 107110030A TW 107110030 A TW107110030 A TW 107110030A TW 201902223 A TW201902223 A TW 201902223A
Authority
TW
Taiwan
Prior art keywords
block
inter
motion
frame coding
motion compensation
Prior art date
Application number
TW107110030A
Other languages
Chinese (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 TW201902223A publication Critical patent/TW201902223A/en

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/583Motion compensation with overlapping blocks
    • 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

Abstract

Method and apparatus of using an Inter coding tool and OBMC (Overlapped Block Motion Compensation) are disclosed. According to one method of the present invention, input data corresponding to a first block and a second block are received, where the first block is coded before the second block. For target pixels of an OBMC area located in the second block and adjacent to a target boundary between the first block and the second block, a first MV (motion vector) associated with the first block is determined and first MC (motion-compensated) pixels are derived by applying the Inter coding tool to the target pixels of the OBMC area according to the first MV and one or more first settings of the Inter coding tool associated with the first block. The first MC (motion-compensated) pixels are used for the OBMC process along with the Inter coding tool.

Description

視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置  Method and apparatus for overlapping bi-directional optical motion compensated bidirectional optical flow in video coding   【優先權聲明】[Priority statement]

本申請要求2017年3月24日提交的第62/475,975號的美國臨時專利申請的優先權。在此合併參考該申請案的申請標的。 The present application claims priority to U.S. Provisional Patent Application Serial No. 62/475,975, filed on Mar. Reference is made herein to the subject matter of the application.

本發明所公開的實施例涉及使用包括雙向光流(Bi-directional Optical flow,BIO)的圖框間編碼工具的運動補償,以精化(refine)雙向預測區塊的運動。特別地,本發明涉及使用BIO處理以及重疊分塊運動補償的編碼系統的帶寬減少。 Embodiments of the present invention relate to motion compensation using an inter-frame coding tool that includes Bi-directional Optical Flow (BIO) to refine the motion of a bi-predictive block. In particular, the present invention relates to bandwidth reduction of an encoding system that uses BIO processing and overlapping block motion compensation.

雙向光流(BIO) Bidirectional optical flow (BIO)

雙向光流(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)中公開的運動估計/補償技術。BIO基於光流和穩定運動的假設導出樣本級運動精化(sample-level motion refinement),如第1圖所示,其中B-切片(bi-prediction slice,雙預測切片)120中的當前像素122由參考圖片0(130)中的一個像素和參考圖片1(110)中的一個像素來預測。如第1圖所示,當前像素122由參考圖片1(110)中的像素B(112)和參考圖片0(130)中的像素A(132)來預測。在第1圖中,v x v y 是x方向和y方向上的像素位移向量,其是使用雙向光流(BIO)模型導出的。它僅適用於真正的雙向預測區塊,其是從對應於前一圖片和後一圖片的兩個參考圖片來預測的。在VCEG-AZ05中,BIO使用5x5窗口來推導每個樣本的運動精化(motion refinement)。因此,對於N×N區塊,需要運動補償結果和(N+4)x(N+4)區塊的對應梯度資訊來導出NxN區塊的基於樣本的運動精化。根據VCEG-AZ05,使用6抽頭梯度濾波器和6抽頭插值濾波器來生成BIO的梯度資訊。因此,BIO的計算複雜度遠高於傳統的雙向預測。為了進一步提高BIO的性能,提出了以下方法。 Bidirectional optical flow (BIO) is in 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) and VCEG-AZ05 (E. Alshina, et al., Known tools performance investigation for next generation video coding , Motion estimation/compensation techniques disclosed in ITU-T SG 16 Question 6, Video Coding Experts Group (VCEG), 52nd Meeting: 19-26 June 2015, Warsaw, Poland, Document: VCEG-AZ05). The BIO derives a sample-level motion refinement based on the assumption of optical flow and stable motion, as shown in FIG. 1, where the current pixel 122 in a bi-prediction slice 120 Predicted by one pixel in reference picture 0 (130) and one pixel in reference picture 1 (110). As shown in FIG. 1, the current pixel 122 is predicted from pixel B (112) in reference picture 1 (110) and pixel A (132) in reference picture 0 (130). In Fig. 1, v x and v y are pixel displacement vectors in the x and y directions, which are derived using a bidirectional optical flow (BIO) model. It applies only to true bi-predictive blocks, which are predicted from two reference pictures corresponding to the previous picture and the next picture. In VCEG-AZ05, BIO uses a 5x5 window to derive motion refinement for each sample. Therefore, for N×N blocks, the motion compensation result and the corresponding gradient information of the (N+4)x(N+4) block are needed to derive the sample-based motion refinement of the NxN block. According to VCEG-AZ05, a 6-tap gradient filter and a 6-tap interpolation filter are used to generate BIO gradient information. Therefore, the computational complexity of BIO is much higher than traditional bidirectional prediction. In order to further improve the performance of BIO, the following methods have been proposed.

在HEVC中的常規雙向預測中,使用等式(1)來生成預測器,其中P (0) P (1) 分別是列表0和列表1預測器。 In conventional bidirectional prediction in HEVC, Equation (1) is used to generate a predictor, where P (0) and P (1) are List 0 and List 1 predictors, respectively.

P Conventional [i,j]=(P (0)[i,j]+P (1)[i,j]+1)>>1 (1) P Conventional [ i , j ]=( P (0) [ i , j ]+ P (1) [ i , j ]+1)>>1 (1)

在JCTVC-C204和VECG-AZ05中,使用等式(2)來生成BIO預測器。 In JCTVC-C204 and VECG-AZ05, equation (2) is used to generate a BIO predictor.

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) 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)中,I x (0) 和Ix(1)分別表示列表0和列表1預測器中的x方向梯度;I y (0) I y (1) 分別代表列表0和列表1預測器中的y方向梯度;v x v y 分別表示x方向和y方向上的偏移或位移。v x v y 的推導處理如下所示。首先,將成本函數定義為diffCost(x,y),以找到最佳值v x v y 。為了找到最佳值v x v y 以最小化成本函數diffCost(x,y),使用一個5x5窗口。v x v y 的解可以通過使用S 1 S 2 S 3 S 5 S 6 來表示。 In equation (2), I x (0) and Ix(1) represent the x-direction gradients in the list 0 and list 1 predictors, respectively; I y (0) and I y (1) represent list 0 and list, respectively. 1 y-direction gradient in the predictor; v x and v y represent offsets or displacements in the x-direction and the y-direction, respectively. The derivation processing of v x and v y is as follows. First, define the cost function as diffCost(x,y) to find the best values v x and v y . To find the best values v x and v y to minimize the cost function diffCost(x,y) , use a 5x5 window. The solutions of v x and v y can be expressed by using S 1 , S 2 , S 3 , S 5 and S 6 .

最小成本函數,min diffCost(x,y),可以根據以下公式導出: The minimum cost function, min diffCost ( x , y ), can be derived from the following formula:

通過求解等式(3)和(4),可以根據等式(5)求解v x v y By solving equations (3) and (4), v x and v y can be solved according to equation (5).

其中, among them,

在上述等式中,對應於列表0圖片中的(x,y) 處的像素的x方向梯度,對應於列表1圖片中的(x,y)處 的像素的x方向梯度。對應於列表0圖片中的(x,y)處的 像素的y方向梯度,並且對應於列表1圖片中的(x,y)處的像素的y方向梯度。 In the above equation, Corresponding to the x-direction gradient of the pixel at (x, y) in the list 0 picture, Corresponds to the x-direction gradient of the pixel at (x, y) in the picture of list 1. Corresponds to the y-direction gradient of the pixel at (x, y) in the list 0 picture, and Corresponds to the y-direction gradient of the pixel at (x, y) in the picture of list 1.

在一些相關技術中,可以忽略S 2 ,並且可以根據以下等式來求解v x v y In some related art, S 2 can be ignored, and v x and v y can be solved according to the following equation

其中, among them,

根據上述等式,在vx和vy的推導中需要除法運算。由於在S1,S2,S3,S5和S6中存在大量的像素值累積和平方,因此所需的位元深度(bit-depth)很大。如果視頻序列中像素值的位元深度是10位元,則需要一個支持32位元/28位元的分頻器以用於vx,以及另一個支持36位元/29位元的分頻器以用於vy。如果通過分數插值濾波器增加位元深度,則對於vx, 分頻器變為40位元/36位元,對於vy,分頻器變為44位元/37位元。當所需的位元深度變得如此之大時,直接使用查找表(LUT)來替換除法是不切實際的。因此,期望開發簡化BIO處理中的除法運算的方法。 According to the above equation, a division operation is required in the derivation of v x and v y . Since there are a large number of pixel value accumulations and squares in S 1 , S 2 , S 3 , S 5 and S 6 , the required bit-depth is large. If the bit depth of the pixel value in the video sequence is 10 bits, then a divider supporting 32 bits/28 bits is needed for v x and the other supports 36 bits / 29 bits for frequency division. Used for v y . If the bit depth is increased by the fractional interpolation filter, the divider becomes 40 bits/36 bits for vx , and the frequency divider becomes 44 bits/37 bits for vy . When the required bit depth becomes so large, it is impractical to directly use a lookup table (LUT) to replace the division. Therefore, it is desirable to develop a method of simplifying the division operation in BIO processing.

在上述等式中,參數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的推導將需要乘法,加法和除法運算。其中,除法運算的實施成本較高。 In the above equation, the parameters S1, S2, S3, S5 and S6 are related to the x-direction gradient and the y-direction gradient. For example, S1 is calculated from the sum of the x-direction gradient of the reference block in list 0 and the x-direction gradient of the reference block in list 1. The square of this sum is used as S1. S5 is calculated from the sum of the y-direction gradient of the reference block in list 0 and the y-direction gradient of the reference block in list 1. The square of this sum is used as S5. For convenience, the parameters S1, S2, S3, S5 and S6 are referred to as gradient parameters in the present disclosure. In fact, the gradient parameters S1, S2, S3, S5 and S6 are typically represented using fixed points with predefined bit depths. The derivation of v x and v y will require multiplication, addition and division. Among them, the implementation cost of the division operation is high.

重疊分塊運動補償(Overlapped Block Motion Compensation,OBMC) Overlapped Block Motion Compensation (OBMC)

重疊分塊運動補償是一種運動補償技術,其基於從像素附近的區塊運動向量(motion vector,MV)導出的運動補償信號來估計像素的強度值。在JCTVC-F299中,OBMC應用於對稱運動分區。如果編碼單元(CU)被劃分為兩個2NxN或Nx2N預測單元(PU),則將OBMC應用於兩個2NxN預測區塊的水平邊界,並且應用於兩個Nx2N預測區塊的垂直邊界。由於那些分區可能具有不同的運動向量,因此分區邊界處的像素可能具有大的不連續性,這可能導致視覺偽影並且還會降低 轉換/編碼效率。在JCTVC-F299中,引入OBMC以平滑運動分區的邊界。 Overlapped block motion compensation is a motion compensation technique that estimates the intensity value of a pixel based on a motion compensated signal derived from a block motion vector (MV) near the pixel. In JCTVC-F299, OBMC is applied to symmetric motion partitioning. If the coding unit (CU) is divided into two 2NxN or Nx2N prediction units (PUs), the OBMC is applied to the horizontal boundaries of the two 2NxN prediction blocks and applied to the vertical boundaries of the two Nx2N prediction blocks. Since those partitions may have different motion vectors, the pixels at the partition boundaries may have large discontinuities, which may result in visual artifacts and may also reduce conversion/encoding efficiency. In JCTVC-F299, OBMC is introduced to smooth the boundaries of motion partitions.

第2A圖示出了用於2NxN分區的OBMC的示例,第2B圖示出了用於Nx2N分區的OBMC的示例。點填充的像素表示屬於分區0的像素,空白像素表示屬於分區1的像素。亮度分量中的重疊區域分別被定義為水平或垂直邊界的每一側上的兩列或兩行像素。對於與分區邊界(210或220)相鄰的像素列或行(即,在第2A圖和第2B圖中標記為A的像素),OBMC加權因子是(3/4,1/4)。換句話說,對於分區1的列212中的像素A,基於分區1的MV1生成MC(運動補償)像素A1,並且基於分區0的MV0生成MC像素A0。根據(3/4 A1+1/4 A0)推導生成OBMC處理的像素A。類似的推導適用於行222中的OBMC像素。對於距分區邊界兩列或兩行的像素(即,第2A圖和第2B圖中標記為B的像素),OBMC加權因子為(7/8,1/8)。對於色度分量,重疊區域分別被定義為水平或垂直邊界的每一側上的一列或一行像素,並且加權因子是(3/4,1/4)。 FIG. 2A shows an example of an OBMC for a 2NxN partition, and FIG. 2B shows an example of an OBMC for an Nx2N partition. The dot-filled pixels represent pixels belonging to partition 0, and the blank pixels represent pixels belonging to partition 1. The overlapping regions in the luminance component are respectively defined as two or two rows of pixels on each side of the horizontal or vertical boundary. For pixel columns or rows adjacent to the partition boundary (210 or 220) (i.e., pixels labeled A in Figures 2A and 2B), the OBMC weighting factor is (3/4, 1/4). In other words, for pixel A in column 212 of partition 1, MC (motion compensated) pixel A 1 is generated based on MV1 of partition 1 , and MC pixel A 0 is generated based on MV0 of partition 0 . The OBMC processed pixel A is derived from (3/4 A 1 + 1/4 A 0 ). A similar derivation applies to the OBMC pixels in row 222. For pixels that are two or two rows away from the partition boundary (ie, pixels labeled B in 2A and 2B), the OBMC weighting factor is (7/8, 1/8). For chrominance components, the overlap regions are each defined as a column or row of pixels on each side of the horizontal or vertical boundary, and the weighting factor is (3/4, 1/4).

當前,在針對當前CU或PU的正常MC處理之後,通過另一MC處理生成兩個CU或PU之間的重疊區域的MC結果。因此,在這兩個MC處理中應用BIO兩次以分別精化這兩個MC結果。當兩個相鄰的運動向量相同時,上述處理順序可以幫助跳過冗餘OBMC和BIO處理。但是,與集成OBMC處理和常規MC處理相比,重疊區域所需的帶寬和MC操作會增加。例如,當前PU大小是16x8,重疊區域是16x2,並且 MC中的插值濾波器是8抽頭。如果在正常MC之後執行OBMC,則將需要針對當前PU的每個參考列表的(16+7)x(8+7)+(16+7)x(2+7)=552個參考像素,並且將需要相關的OBMC。如果OBMC操作與正常MC集成在一起,則當前PU和相關OBMC僅需要每個參考列表的(16+7)x(8+2+7)=391個參考像素。因此,當同時啟用BIO和OBMC時,希望降低BIO的計算複雜度或記憶體帶寬。 Currently, after normal MC processing for the current CU or PU, the MC result of the overlap region between the two CUs or PUs is generated by another MC process. Therefore, BIO is applied twice in these two MC processes to refine the two MC results separately. The above processing sequence can help skip redundant OBMC and BIO processing when two adjacent motion vectors are the same. However, the bandwidth and MC operations required for overlapping regions are increased compared to integrated OBMC processing and conventional MC processing. For example, the current PU size is 16x8, the overlap area is 16x2, and the interpolation filter in the MC is 8 taps. If OBMC is executed after normal MC, then (16+7)x(8+7)+(16+7)x(2+7)=552 reference pixels for each reference list of the current PU will be needed, and The relevant OBMC will be required. If the OBMC operation is integrated with the normal MC, the current PU and the associated OBMC need only (16 + 7) x (8 + 2 + 7) = 391 reference pixels per reference list. Therefore, when BIO and OBMC are enabled at the same time, it is desirable to reduce the computational complexity or memory bandwidth of the BIO.

除了BIO編碼工具之外,還公開了用於下一代視頻編碼的幾種其他圖框間編碼工具,例如基於圖形的運動向量推導(Pattern-based MV Derivation,PMVD),相鄰導出的預測偏移(Neighbouring-derived Prediction Offset,NPO),局部照明補償(Local Illumination Compensation,LIC)和仿射模式運動估計/補償(Affine mode motion estimation/compensation)。圖框間編碼工具簡要回顧如下。 In addition to the BIO encoding tools, several other inter-frame coding tools for next-generation video coding, such as pattern-based MV Derivation (PMVD), adjacent derived prediction offsets, are also disclosed. (Neighbouring-derived Prediction Offset, NPO), Local Illumination Compensation (LIC) and Affine mode motion estimation/compensation. A brief review of the inter-frame coding tools is provided below.

基於圖形的運動向量推導(PMVD) Graphics-based motion vector derivation (PMVD)

第3圖示出了FRUC雙邊匹配模式的示例,其中基於兩個參考圖片導出當前區塊310的運動資訊。通過在兩個不同的參考圖片(即,Ref0和Ref1)中沿著當前區塊的運動軌跡340找到兩個區塊(320和330)之間的最佳匹配來導出當前區塊的運動資訊。在連續運動軌跡的假設下,指向兩個參考區塊的與Ref0相關聯的運動向量MV0和與Ref1相關聯的運動向量MV1,應當與當前圖片(即,Cur pic)和兩個參考圖片Ref0和Ref1之間的時間距離(即,TD0和TD1)成比例。 FIG. 3 shows an example of a FRUC bilateral matching mode in which motion information of the current block 310 is derived based on two reference pictures. The motion information of the current block is derived by finding the best match between the two blocks (320 and 330) along the motion trajectory 340 of the current block in two different reference pictures (ie, Ref0 and Ref1). Under the assumption of continuous motion trajectory, the motion vector MV0 associated with Ref0 and the motion vector MV1 associated with Ref1 pointing to the two reference blocks should be with the current picture (ie, Cur pic) and the two reference pictures Ref0 and The time distance between Ref1 (ie, TD0 and TD1) is proportional.

第4圖示出了模板匹配圖框速率上轉換(Frame Rate Up Conversion,FRUC)模式的示例。當前圖片(即,Cur pic)中的當前區塊410的相鄰區域(420a和420b)被用作模板以與參考圖片(即,第4圖中的Ref0)中的對應模板(430a和430b)匹配。模板420a/420b與模板430a/430b之間的最佳匹配將確定解碼器導出的運動向量440。雖然第4圖中僅以Ref0為示例,但Ref1也可用作參考圖片。 Figure 4 shows an example of a template matching frame rate up conversion (FRUC) mode. The adjacent regions (420a and 420b) of the current block 410 in the current picture (ie, Cur pic) are used as templates to correspond to the corresponding templates (430a and 430b) in the reference picture (ie, Ref0 in FIG. 4). match. The best match between template 420a/420b and template 430a/430b will determine the motion vector 440 derived by the decoder. Although Ref0 is only taken as an example in FIG. 4, Ref1 can also be used as a reference picture.

根據VCEG-AZ07,當merge_flag或skip_flag為真時,發信FRUC_mrg_flag。如果FRUC_mrg_flag為1,則發信FRUC_merge_mode以指示是否選擇了雙邊匹配合併模式(bilateral matching merge mode)或模板匹配合併模式(template matching merge mode)。如果FRUC_mrg_flag為0,則意味著使用常規合併模式(regular merge mode)並且在這種情況下發信合併索引。在視頻編碼中,為了提高編碼效率,可以使用運動向量預測(motion vector prediction,MVP)來預測區塊的運動向量,其中生成候選列表。合併候選列表可以用於在合併模式對區塊進行編碼。當合併模式用於對區塊進行編碼時,區塊的運動資訊(例如,運動向量)可以由合併運動向量列表中的候選運動向量之一來表示。因此,代替直接發送區塊的運動資訊,而將合併索引發送到解碼器側。解碼器維護相同的合併列表並使用合併索引來檢索由合併索引發信的合併候選。通常,合併候選列表由少量候選組成,並且發送合併索引比發送運動資訊更有效率。當以合併模式對區塊進行編碼時,通過發信合併索引而不是顯式發送,將運動資訊與相鄰區塊“合併”。但是,仍然傳輸預測殘差。在預測殘差為零或非常 小的情況下,預測殘差被“跳過”(即,跳過模式),並且通過具有合併索引的跳過模式對區塊進行編碼以識別合併列表中的合併運動向量。 According to VCEG-AZ07, when merge_flag or skip_flag is true, FRUC_mrg_flag is sent. If FRUC_mrg_flag is 1, the FRUC_merge_mode is signaled to indicate whether a bilateral matching merge mode or a template matching merge mode is selected. If FRUC_mrg_flag is 0, it means that the regular merge mode is used and in this case the merge index is sent. In video coding, in order to improve coding efficiency, motion vector prediction (MVP) may be used to predict a motion vector of a block in which a candidate list is generated. The merge candidate list can be used to encode the block in merge mode. When the merge mode is used to encode a block, the motion information (eg, motion vector) of the block may be represented by one of the candidate motion vectors in the merged motion vector list. Therefore, instead of directly transmitting the motion information of the block, the merge index is transmitted to the decoder side. The decoder maintains the same merge list and uses the merge index to retrieve merge candidates sent by the merge index. In general, a merge candidate list consists of a small number of candidates, and sending a merge index is more efficient than sending motion information. When the block is encoded in the merge mode, the motion information is "merged" with the adjacent block by signaling the merge index instead of explicitly transmitting. However, the prediction residual is still transmitted. In the case where the prediction residual is zero or very small, the prediction residual is "skipped" (ie, skipped mode), and the block is encoded by the skip mode with the merge index to identify the merge in the merge list Motion vector.

雖然術語FRUC指的是用於圖框速率上轉換的運動向量推導,但是基礎技術旨在用於解碼器導出一個或多個合併運動向量候選而無需明確地發送運動資訊。因此,FRUC在本公開中也稱為解碼器導出運動資訊(decoder derived motion information)。由於模板匹配方法是基於圖形的運動向量推導技術,因此FRUC的模板匹配方法在本公開中也稱為基於圖形的運動向量推導(PMVD)。 Although the term FRUC refers to motion vector derivation for frame rate up-conversion, the underlying technique is intended for a decoder to derive one or more combined motion vector candidates without explicitly transmitting motion information. Therefore, FRUC is also referred to in the present disclosure as decoder derived motion information. Since the template matching method is a graphics-based motion vector derivation technique, the template matching method of FRUC is also referred to as graphics-based motion vector derivation (PMVD) in the present disclosure.

在解碼器側運動向量推導方法中,通過掃描所有參考圖片中的所有運動向量來導出稱為時間導出運動向量預測的新時間運動向量預測。為了導出LIST_0時間導出運動向量預測,對於LIST_0參考圖片中的每一個LIST_0運動向量,縮放運動向量以指向當前圖框。當前圖框中由此縮放的運動向量指向的4x4區塊是目標當前區塊。進一步縮放運動向量以指向參考圖片,其中refIdx在LIST_0中對於目標當前區塊等於0。進一步縮放的運動向量存儲在目標當前區塊的LIST_0運動向量資料欄中。第5A圖和第5B圖示出了分別導出LIST_0和LIST_1的時間導出運動向量預測的示例。在第5A圖和第5B圖中,每個小方區塊對應於4×4區塊。時間導出運動向量預測處理掃描所有參考圖片中的所有4×4區塊中的所有運動向量,以生成當前圖框的時間導出的LIST_0和LIST_1運動向量預測。例如,在第5A圖中,區塊510,區塊512和區塊514分別對 應於當前圖片(即,Cur.pic)的4×4區塊,索引等於0的LIST_0參考圖片(即,refidx=0)的4×4區塊,以及索引等於1的LIST_0參考圖片(即refidx=1)的4×4區塊。用於索引等於1的LIST_0參考圖片中的兩個區塊的運動向量520和530是已知的。然後,可以通過分別縮放運動向量520和530來導出時間導出運動向量預測522和532。然後將縮放的運動向量預測分配給相應的區塊。類似地,在第5B圖中,區塊540,區塊542和區塊544分別對應於當前圖片(即,Cur.pic)的4×4區塊,索引等於0的LIST_1參考圖片(即,refidx=0)的4×4區塊,以及索引等於1的LIST_1參考圖片(即refidx=1)的4×4區塊。用於索引等於1的LIST_1參考圖片中的兩個區塊的運動向量550和560是已知的。然後,可以通過分別縮放運動向量550和560來導出時間導出運動向量預測552和552。 In the decoder side motion vector derivation method, a new time motion vector prediction called time derived motion vector prediction is derived by scanning all motion vectors in all reference pictures. To derive the LIST_0 time derived motion vector prediction, for each LIST_0 motion vector in the LIST_0 reference picture, the motion vector is scaled to point to the current frame. The 4x4 block pointed to by the thus scaled motion vector in the current frame is the target current block. The motion vector is further scaled to point to a reference picture, where refldx is equal to 0 in the LIST_0 for the target current block. The further scaled motion vector is stored in the LIST_0 motion vector data column of the target current block. FIGS. 5A and 5B illustrate examples of time-derived motion vector predictions that derive LIST_0 and LIST_1, respectively. In the 5A and 5B diagrams, each of the small square blocks corresponds to a 4 × 4 block. The time derived motion vector prediction process scans all motion vectors in all 4x4 blocks in all reference pictures to generate time derived LIST_0 and LIST_1 motion vector predictions for the current frame. For example, in FIG. 5A, block 510, block 512 and block 514 correspond to a 4x4 block of the current picture (ie, Cur.pic), respectively, and a LIST_0 reference picture with an index equal to 0 (ie, refidx= A 4x4 block of 0), and a 4x4 block of the LIST_0 reference picture (ie, refidx=1) with an index equal to one. Motion vectors 520 and 530 for the two blocks in the LIST_0 reference picture with index equal to 1 are known. Time derived motion vector predictions 522 and 532 can then be derived by scaling motion vectors 520 and 530, respectively. The scaled motion vector prediction is then assigned to the corresponding block. Similarly, in FIG. 5B, block 540, block 542 and block 544 correspond to a 4x4 block of the current picture (ie, Cur.pic), respectively, and a LIST_1 reference picture with an index equal to 0 (ie, refidx) A 4x4 block of =0), and a 4x4 block of the LIST_1 reference picture (ie, refidx=1) with an index equal to one. Motion vectors 550 and 560 for the two blocks in the LIST_1 reference picture with index equal to 1 are known. Time derived motion vector predictions 552 and 552 can then be derived by scaling motion vectors 550 and 560, respectively.

在該解碼器運動向量推導方法中,模板匹配還用於生成用於圖框間模式編碼的運動向量預測。當選擇參考圖片時,執行模板匹配以在所選參考圖片上找到最佳模板。其對應的運動向量是推導的運動向量預測。該運動向量預測被插入AMVP的第一個位置。AMVP表示高級運動向量預測,其中使用候選列表預測性地編碼當前運動向量。當前運動向量與候選列表中的所選運動向量候選之間的運動向量差異被編碼。 In the decoder motion vector derivation method, template matching is also used to generate motion vector prediction for inter-frame mode coding. When a reference picture is selected, template matching is performed to find the best template on the selected reference picture. Its corresponding motion vector is the derived motion vector prediction. The motion vector prediction is inserted into the first position of the AMVP. AMVP represents advanced motion vector prediction in which a current motion vector is predictively encoded using a candidate list. The motion vector difference between the current motion vector and the selected motion vector candidate in the candidate list is encoded.

相鄰導出的預測偏移(Neighbouring-derived Prediction Offset,NPO) Neighbouring-derived Prediction Offset (NPO)

相鄰導出的預測偏移(NPO)是最近開發的新編碼 工具,用以改進添加預測偏移的運動補償預測器。通過該偏移,可以考慮圖框之間的不同照明條件。使用相鄰重建像素(neighbouring reconstructed pixel,NRP)和擴展運動補償預測器(extended motion compensated predictor,EMCP)導出偏移。 The adjacent derived prediction offset (NPO) is a recently developed new coding tool to improve the motion compensated predictor with added prediction offset. With this offset, different lighting conditions between the frames can be considered. The offset is derived using a neighboring reconstructed pixel (NRP) and an extended motion compensated predictor (EMCP).

第6圖示出了導出偏移的示例性實施例。為NRP和EMCP選擇的圖形分別位於當前PU 610和參考區塊620左邊的N行(612和622)以及上方的M列(614和624),其中N和M是預定值。雖然在示例中示出了矩形NRP和EMCP,但是圖形可以具有任何尺寸和形狀,並且可以根據任何編碼參數來確定,例如PU或CU尺寸,只要NRP和EMCP使用相同的尺寸和形狀。偏移量被計算為NRP的平均像素值減去EMCP的平均像素值。該導出的偏移將應用於整個PU以及運動補償預測器。 Figure 6 shows an exemplary embodiment of the derived offset. The graphics selected for NRP and EMCP are located at the N rows (612 and 622) to the left of the current PU 610 and reference block 620, respectively, and the M columns (614 and 624) above, where N and M are predetermined values. Although rectangular NRP and EMCP are shown in the examples, the graphics can have any size and shape and can be determined from any encoding parameter, such as PU or CU size, as long as NRP and EMCP use the same size and shape. The offset is calculated as the average pixel value of the NRP minus the average pixel value of the EMCP. This derived offset will be applied to the entire PU as well as the motion compensated predictor.

第7圖示出了導出偏移的另一示例性實施例。首先,對於每個相鄰位置(即,當前區塊730的左側邊界和上方邊界的左側像素710和上方像素720),單個偏移被計算為NRP中的對應像素減去EMCP中的像素。對於上方相鄰位置720的示例性偏移值6,4,2和-2和左側相鄰位置710的示例性偏移值6,6,6和6,如第7圖中所示。 Figure 7 shows another exemplary embodiment of the derived offset. First, for each adjacent location (ie, the left side pixel 710 and the upper pixel 720 of the left and upper boundaries of the current block 730), a single offset is calculated as the corresponding pixel in the NRP minus the pixels in the EMCP. Exemplary offset values 6, 4, 2, and -2 for the upper adjacent position 720 and exemplary offset values 6, 6, 6, and 6 for the left adjacent position 710 are as shown in FIG.

在獲得相鄰位置的偏移值之後,將導出當前PU 730中的每個位置的導出偏移,作為來自左側和上方位置的偏移的平均值,如圖解740所示。例如,在當前PU的左上角731處的第一位置,將通過平均來自左側和上方的偏移(即,(6+ 6)/2=6)來生成6的偏移。對於右側的下一個位置832,偏移量被推導為5(即,(6+4)/2=5)。可以以光柵掃描順序相應地處理和生成剩餘位置的偏移值。由於相鄰像素與邊界像素的相關性更高,因此偏移也是如此。根據NPO,偏移可以適應於像素位置。導出的偏移將在PU上進行調整,並且與運動補償預測器一起單獨地應用於每個PU位置。 After obtaining the offset values for the adjacent locations, the derived offset for each location in the current PU 730 will be derived as an average of the offsets from the left and upper locations, as illustrated in solution 740. For example, at the first position at the upper left corner 731 of the current PU, an offset of 6 will be generated by averaging the offsets from the left and above (ie, (6+6)/2=6). For the next position 832 on the right side, the offset is derived to 5 (ie, (6+4)/2=5). The offset values of the remaining positions can be processed and generated accordingly in raster scan order. Since the correlation between adjacent pixels and the boundary pixels is higher, the offset is also the same. According to the NPO, the offset can be adapted to the pixel location. The derived offset will be adjusted on the PU and applied separately to each PU location along with the motion compensated predictor.

局部照明補償(Local Illumination Compensation,LIC) Local Illumination Compensation (LIC)

局部照明補償(LIC)是使用當前區塊和參考區塊的相鄰樣本來執行圖框間預測的方法。它基於使用縮放因子a和偏移b的線性模型。該方法通過參考當前區塊和參考區塊的相鄰樣本來導出縮放因子a和偏移b。當前區塊和參考區塊的相鄰樣本對應於L形,其包括當前區塊和參考區塊上方的相鄰像素和左側的相鄰像素。在導出縮放因子a和偏移b之後,根據l(x,y)=a*r(x,y)+b導出LIC處理的像素l(x,y),其中r(x,y)對應於運動補償的參考資料。此外,可以針對每個CU自適應地啟用或禁用LIC處理。 Local illumination compensation (LIC) is a method of performing inter-frame prediction using adjacent samples of the current block and the reference block. It is based on a linear model using scaling factor a and offset b. The method derives a scaling factor a and an offset b by referring to neighboring samples of the current block and the reference block. The adjacent samples of the current block and the reference block correspond to an L-shape, which includes adjacent pixels above the current block and the reference block and adjacent pixels on the left side. After the scaling factor a and the offset b are derived, the LIC processed pixel l(x, y) is derived from l(x, y)=a*r(x, y)+b, where r(x, y) corresponds to Reference material for motion compensation. In addition, LIC processing can be enabled or disabled adaptively for each CU.

關於LIC的更多細節可以在JVET-C1001(Xu Chen,et al.,“Algorithm Description of Joint Exploration Test Model 3”,Joint Video Exploration Team(JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,3rd Meeting:Geneva,CH,26 May-1 June 2016,Document:JVET-C1001)中找到。 More details on LIC can be found in JVET-C1001 (Xu Chen, et al., "Algorithm Description of Joint Exploration Test Model 3", Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 3rd Meeting: Geneva, CH, 26 May-1 June 2016, Document: JVET-C1001).

仿射模式運動估計和補償 Affine mode motion estimation and compensation

仿射模型是比各種編碼標準中廣泛使用的平移運 動模型更通用的運動模型。仿射模式圖框間編碼工具能夠描述二維區塊旋轉以及二維變形以將正方形(或矩形)轉換為平行四邊形。這個模型可以描述如下:x’=a0+a1*x+a2*y,and y’=b0+b1*x+b2*y. (7) An affine model is a more general motion model than the translational motion model widely used in various coding standards. The affine mode inter-frame coding tool can describe two-dimensional block rotation and two-dimensional deformation to convert a square (or rectangle) into a parallelogram. This model can be described as follows: x'=a0+a1*x+a2*y, and y’=b0+b1*x+b2*y. (7)

在該模型中,總共使用六個參數。對於感興趣區域中的每個像素A(x,y),該像素和與其對應的參考像素A’(x’,y’)之間的運動向量是(a0+(a1-1)*x+a2*y,b0+b1*x+(b2-1)*y)。因此,每個像素的運動向量也取決於位置。可以基於三個不同位置的三個已知運動向量導出仿射模型的六個參數。仿射模型的參數推導在本領域中是已知的,因此這裡省略了細節。雖然在等式(7)中僅示出了6-參數仿射模型,但在實踐中也使用4-參數仿射模型。 In this model, a total of six parameters are used. For each pixel A(x, y) in the region of interest, the motion vector between the pixel and its corresponding reference pixel A'(x', y') is (a0+(a1-1)*x+a2 *y, b0+b1*x+(b2-1)*y). Therefore, the motion vector of each pixel also depends on the position. The six parameters of the affine model can be derived based on three known motion vectors at three different locations. The parameter derivation of the affine model is known in the art, so details are omitted here. Although only the 6-parameter affine model is shown in equation (7), a 4-parameter affine model is also used in practice.

針對在ITU-VCEG(視頻編碼專家組)和ITU ISO/IEC JTC1/SC29/WG11下的未來視頻編碼技術的標準化而開發的下一代視頻編碼已經提出了仿射運動補償。可以發信仿射標誌(即,use_affine_flag)以指示仿射模式是否用於區塊。 Affinity motion compensation has been proposed for next generation video coding developed for standardization of future video coding techniques under ITU-VCEG (Video Coding Experts Group) and ITU ISO/IEC JTC1/SC29/WG11. An affine flag (ie, use_affine_flag) may be sent to indicate whether the affine mode is used for the block.

還已經向下一代視頻編碼提出了4-參數仿射預測。仿射運動區塊的運動向量場可以由兩個控制點運動向量或四個參數來描述。更多細節可以在提交給ITU-VCEG的文獻C1016(Lin,et al.,“Affine transform prediction for next generation video coding”,ITU-U,Study Group 16,Question Q6/16,Contribution C1016,September 2015,Geneva,CH)中找到。 4-parameter affine prediction has also been proposed for next generation video coding. The motion vector field of an affine motion block can be described by two control point motion vectors or four parameters. Further details can be found in the document C1016 submitted to ITU-VCEG (Lin, et al., "Affine transform prediction for next generation video coding", ITU-U, Study Group 16, Question Q6/16, Contribution C1016, September 2015, Found in Geneva, CH).

根據具有BIO的OBMC的當前實踐,運動補償處理被執行兩次(在原始MC處理和OBMC階段期間)。該處理不僅需要更多計算,而且還需要更多參考資料的記憶體訪問。因此,期望開發用於具有BIO的OBMC或類似類型的編碼工具的減少的所需計算或系統帶寬的技術。 According to the current practice of OBMC with BIO, motion compensation processing is performed twice (during the original MC processing and OBMC phases). This process requires not only more calculations, but also more memory access to the reference material. Therefore, it is desirable to develop techniques for reduced required computation or system bandwidth for OBMCs with BIO or similar types of coding tools.

本發明公開了使用圖框間編碼工具和重疊分塊運動補償(OBMC)的方法和裝置。根據本發明的一種方法,接收對應於第一區塊和第二區塊的輸入資料,其中第一區塊在第二區塊之前被編碼。對於位於第二區塊中並且與第一區塊和第二區塊之間的目標邊界相鄰的OBMC區域的目標像素,執行以下步驟:確定與第一區塊相關聯的第一運動向量;根據第一運動向量和與第一區塊相關聯的圖框間編碼工具的一個或多個第一設置,通過將圖框間編碼工具應用於OBMC區域的目標像素來導出第一運動補償像素;確定與第二區塊相關聯的第二運動向量;根據第二運動向量和與第二區塊相關聯的圖框間編碼工具的一個或多個第二設置,通過將圖框間編碼工具應用於OBMC區域的目標像素或或第二區塊的所有像素,來生成第二運動補償像素;或者檢索第二運動補償像素;基於第一運動補償像素和第二運動補償像素的加權和,生成與OBMC區域的目標像素對應的最終運動補償像素。 Methods and apparatus for using inter-frame coding tools and overlapping block motion compensation (OBMC) are disclosed. In accordance with a method of the present invention, input data corresponding to a first block and a second block are received, wherein the first block is encoded prior to the second block. For a target pixel of the OBMC region located in the second block and adjacent to the target boundary between the first block and the second block, performing the following steps: determining a first motion vector associated with the first block; Deriving the first motion compensation pixel by applying an inter-frame coding tool to a target pixel of the OBMC region according to the first motion vector and one or more first settings of the inter-frame coding tool associated with the first block; Determining a second motion vector associated with the second block; applying the inter-frame coding tool according to the second motion vector and one or more second settings of the inter-frame coding tool associated with the second block Generating a second motion compensation pixel in the target pixel of the OBMC region or all pixels of the second block; or retrieving the second motion compensation pixel; generating and synchronizing based on the weighted sum of the first motion compensation pixel and the second motion compensation pixel The final motion compensated pixel corresponding to the target pixel of the OBMC region.

在一個實施例中,可以根據第一區塊的一個或多個第一標誌或模式來確定與第一區塊相關聯的圖框間編碼工 具的該一個或多個第一設置。可以根據第二區塊的一個或多個第二標誌或模式來確定與第二區塊相關聯的圖框間編碼工具的該一個或多個第二設置。 In one embodiment, the one or more first settings of the inter-frame encoding tool associated with the first block may be determined based on one or more first flags or patterns of the first block. The one or more second settings of the inter-frame encoding tool associated with the second block may be determined based on one or more second flags or patterns of the second block.

第一區塊和第二區塊可以對應於一個預測單元或一個編碼單元。在這種情況下,OBMC區域的目標像素可以對應於第二最小預測單元,並且第一運動向量對應於第一最小預測單元的運動向量,第二運動向量對應於第二最小預測單元的運動向量,並且其中第一最小預測單元位於第一區塊中並且與第二最小預測單元相鄰。當第一區塊位於第二區塊的上方時,OBMC區域可以對應於第二區塊的上方的一個區域;當第一區塊位於第二區塊的左側時,OBMC區域可以對應於第二區塊的左側的一個區域。 The first block and the second block may correspond to one prediction unit or one coding unit. In this case, the target pixel of the OBMC region may correspond to the second minimum prediction unit, and the first motion vector corresponds to the motion vector of the first minimum prediction unit, and the second motion vector corresponds to the motion vector of the second smallest prediction unit. And wherein the first smallest prediction unit is located in the first block and adjacent to the second smallest prediction unit. When the first block is located above the second block, the OBMC area may correspond to an area above the second block; when the first block is located to the left of the second block, the OBMC area may correspond to the second An area on the left side of the block.

在一個實施例中,圖框間編碼工具對應於BIO(雙向光流)處理。在這種情況下,圖框間編碼工具的該一個或多個第一設置和圖框間編碼工具的該一個或多個第二設置對應於BIO開/關設置。該圖框間編碼工具的該一個或多個第一設置可以基於第一區塊的LIC(局部照明補償)/NPO(鄰域導出的預測偏移)標誌,或PMVD(基於圖形的運動向量推導)標誌,或第一PMVD模式來確定。該圖框間編碼工具的一個或多個第二設置可以基於第二區塊的LIC/NPO標誌,或PMVD標誌,或PMVD模式來確定。 In one embodiment, the inter-frame coding tool corresponds to BIO (bidirectional optical flow) processing. In this case, the one or more first settings of the inter-frame coding tool and the one or more second settings of the inter-frame coding tool correspond to BIO on/off settings. The one or more first settings of the inter-frame coding tool may be based on an LIC (local illumination compensation) / NPO (neighbor derived derived prediction offset) flag of the first block, or a PMVD (graphic based motion vector derivation) ) The logo, or the first PMVD mode to determine. The one or more second settings of the inter-frame coding tool may be determined based on the LIC/NPO flag of the second block, or the PMVD flag, or the PMVD mode.

在另一實施例中,圖框間編碼工具對應於LIC(局部照明補償)。在這種情況下,圖框間編碼工具的該一個或多個第一設置和該一個或多個第二設置包括縮放因子a和偏移b 的值。 In another embodiment, the inter-frame coding tool corresponds to LIC (Local Illumination Compensation). In this case, the one or more first settings and the one or more second settings of the inter-frame coding tool include values of the scaling factor a and the offset b.

在又一個實施例中,圖框間編碼工具對應於仿射模式運動估計/補償。在這種情況下,該圖框間編碼工具的該一個或多個第一設置和該一個或多個第二設置包括四-參數仿射模型或六-參數仿射模型的參數值。 In yet another embodiment, the inter-frame coding tool corresponds to affine mode motion estimation/compensation. In this case, the one or more first settings of the inter-frame coding tool and the one or more second settings comprise parameter values of a four-parameter affine model or a six-parameter affine model.

110‧‧‧參考圖片1 110‧‧‧Reference picture 1

120‧‧‧B-切片 120‧‧‧B-Slice

130‧‧‧參考圖片0 130‧‧‧Reference picture0

112‧‧‧像素B 112‧‧‧pixel B

114、134‧‧‧像素位移向量 114, 134‧‧‧ pixel displacement vector

122‧‧‧當前像素 122‧‧‧ current pixel

132‧‧‧像素A 132‧‧‧pixel A

210、220‧‧‧分區邊界 210, 220‧‧‧ partition boundaries

212‧‧‧列 212‧‧‧

222‧‧‧行 222‧‧‧

310、410‧‧‧當前區塊 310, 410‧‧‧ current block

320、330‧‧‧區塊 320, 330‧‧‧ blocks

340‧‧‧運動軌跡 340‧‧‧ trajectory

420a、420b‧‧‧相鄰區域 420a, 420b‧‧‧ adjacent areas

430a、430b‧‧‧模板 430a, 430b‧‧‧ template

440、520、530、550、560‧‧‧運動向量 440, 520, 530, 550, 560 ‧ ‧ motion vectors

510、512、514、540、542、544‧‧‧區塊 Blocks 510, 512, 514, 540, 542, 544‧‧

522、532、552、562‧‧‧運動向量預測 522, 532, 552, 562‧‧‧ motion vector prediction

610‧‧‧當前預測單元 610‧‧‧ Current forecasting unit

620‧‧‧參考區塊 620‧‧‧Reference block

612、622‧‧‧N行 612, 622‧‧‧N lines

614、624‧‧‧M列 614, 624‧‧‧M column

710‧‧‧左側像素 710‧‧‧left pixel

720‧‧‧上方像素 720‧‧‧top pixels

730‧‧‧當前區塊 730‧‧‧ current block

731‧‧‧左上角 731‧‧‧Top left corner

732‧‧‧下一個位置 732‧‧‧Next location

740‧‧‧圖解 740‧‧‧Illustration

810‧‧‧點填充區域 810‧‧‧ point fill area

812‧‧‧上方的第一區塊 The first block above 812‧‧

814‧‧‧下方的第二區塊 Second block below 814‧‧

822‧‧‧左側的第一區塊 822‧‧‧The first block on the left

824‧‧‧右側的第二區塊 824‧‧‧ second block on the right

880‧‧‧相鄰像素 880‧‧‧ adjacent pixels

910‧‧‧區塊 910‧‧‧ Block

912、914、1032、1060‧‧‧OBMC區域 912, 914, 1032, 1060‧‧‧ OBMC area

1010、1040‧‧‧第一區塊 1010, 1040‧‧‧ first block

1020‧‧‧區塊 1020‧‧‧ Block

1030‧‧‧擴展區域 1030‧‧‧Extended area

1050、1100‧‧‧第二區塊 1050, 1100‧‧‧ second block

1112、1114‧‧‧OBMC區域 1112, 1114‧‧‧OBMC area

1210-1270‧‧‧步驟 1210-1270‧‧ steps

第1圖示出了用於導出用於運動精化的偏移運動向量的雙向光流(BIO)的示例。 Figure 1 shows an example of a bidirectional optical flow (BIO) for deriving an offset motion vector for motion refinement.

第2A圖示出了用於2NxN分區的OBMC的示例。 Figure 2A shows an example of an OBMC for a 2NxN partition.

第2B圖示出了用於Nx2N分區的OBMC的示例。 Figure 2B shows an example of an OBMC for Nx2N partitioning.

第3圖示出了FRUC雙邊匹配模式的示例,其中基於兩個參考圖片導出當前區塊的運動資訊。 Figure 3 shows an example of a FRUC bilateral matching mode in which motion information for the current block is derived based on two reference pictures.

第4圖示出了模板匹配FRUC模式的示例。 Figure 4 shows an example of a template matching FRUC mode.

第5A圖和第5B圖示出了分別導出LIST_0和LIST_1的時間導出運動向量預測的示例。 FIGS. 5A and 5B illustrate examples of time-derived motion vector predictions that derive LIST_0 and LIST_1, respectively.

第6圖示出了用於導出相鄰導出的預測偏移(NPO)的偏移的一個示例性實施例。 Figure 6 shows an exemplary embodiment for deriving an offset of a neighboring derived prediction offset (NPO).

第7圖示出了導出偏移的另一示例性實施例,其中上方像素和左側像素被平均以形成當前像素的預測器。 Figure 7 illustrates another exemplary embodiment of deriving an offset in which the upper and left pixels are averaged to form a predictor for the current pixel.

第8A圖和第8B圖示出了分別對應於垂直方向上的兩個相鄰區塊之間的OBMC重疊區域的擴展區域和水平方向上的兩個相鄰區塊之間的OBMC重疊區域的擴展區域的示例。 8A and 8B illustrate an extended region corresponding to an OBMC overlap region between two adjacent blocks in the vertical direction and an OBMC overlap region between two adjacent blocks in the horizontal direction, respectively. An example of an extended area.

第9A圖和第9B圖示出了基於位於第一區塊下方的第二 區塊中的OBMC區域的預測單元來執行OBMC處理的示例。 FIGS. 9A and 9B illustrate an example of performing OBMC processing based on a prediction unit of an OBMC area located in a second block below the first block.

第10A圖示出了根據本發明實施例的OBMC處理的示例,其中點區域(dotted area)對應於與第一區塊相關聯的OBMC和BIO範圍。 FIG. 10A illustrates an example of OBMC processing in accordance with an embodiment of the present invention, wherein a dotted area corresponds to an OBMC and BIO range associated with a first block.

第10B圖示出了根據本發明實施例的OBMC處理的示例,其中基於位於OBMC混合上方的第一區塊確定用於第二區塊的OBMC區域的BIO編碼工具設置。 FIG. 10B illustrates an example of OBMC processing in accordance with an embodiment of the present invention in which BIO encoding tool settings for an OBMC region of a second block are determined based on a first block located above the OBMC mix.

第10C圖示出了根據本發明實施例的OBMC處理的示例,其中基於位於OBMC混合左側的第一區塊確定用於第二區塊的OBMC區域的BIO編碼工具設置。 FIG. 10C illustrates an example of OBMC processing according to an embodiment of the present invention in which BIO encoding tool settings for an OBMC region of a second block are determined based on a first block located to the left of the OBMC hybrid.

第11A圖示出了根據基於位於第一區塊下方的第二區塊中的OBMC區域的預測單元來執行的本發明的實施例的OBMC處理的示例,其中基於位於OBMC混合上方的第一區塊確定用於第二區塊的OBMC區域的BIO編碼工具設置。 Figure 11A shows an example of OBMC processing of an embodiment of the present invention performed according to a prediction unit based on an OBMC region located in a second block below the first block, based on the first region located above the OBMC mix The block determines the BIO encoding tool settings for the OBMC area of the second block.

第11B圖示出了根據基於位於第一區塊下方的第二區塊中的OBMC區域的預測單元來執行的本發明的實施例的OBMC處理的示例,其中基於位於OBMC混合左側的第一區塊確定用於第二區塊的OBMC區域的BIO編碼工具設置。 FIG. 11B illustrates an example of OBMC processing of an embodiment of the present invention performed according to a prediction unit based on an OBMC region located in a second block below the first block, based on the first region located on the left side of the OBMC hybrid The block determines the BIO encoding tool settings for the OBMC area of the second block.

第12圖示出了根據本發明實施例的使用圖框間編碼工具和OBMC的視頻編碼系統的示例性流程圖。 Fig. 12 is a diagram showing an exemplary flowchart of a video encoding system using an inter-frame coding tool and an OBMC according to an embodiment of the present invention.

以下描述是實現本發明的最佳方案。進行該描述是為了說明本發明的一般原理,而不應被視為具有限制意義。可以參考所附申請專利範圍來最好地確定本發明的範圍。 The following description is the best mode for carrying out the invention. This description is made to illustrate the general principles of the invention and should not be considered as limiting. The scope of the invention is best determined by reference to the appended claims.

如前所述,雙向光流(BIO)和BIO與重疊分塊運動補償(OBMC)相結合需要訪問附加的參考資料,這會導致增加系統帶寬。這些處理也增加了計算複雜性。在本發明中,公開了用於降低與BIO和BIO與OBMC相關聯的系統帶寬和/或計算複雜度的技術。 As mentioned earlier, the combination of bidirectional optical flow (BIO) and BIO with overlapping block motion compensation (OBMC) requires access to additional reference material, which leads to increased system bandwidth. These processes also add computational complexity. In the present invention, techniques for reducing system bandwidth and/or computational complexity associated with BIO and BIO and OBMC are disclosed.

可以通過擴展與兩個相鄰區塊(稱為第一區塊和第二區塊)之間的重疊區域相對應的區域來實施例OBMC,如第8A圖和第8B圖所示。在第8A圖中,示出了兩個相鄰區塊,上方的第一區塊812和下方的第二區塊814。點填充區域810對應於第一區塊812的擴展區域。在第8B圖中,示出了兩個相鄰區塊,左側的第一區塊822和右側的第二區塊824。點填充區域820對應於第一區塊822的擴展區域。 The OBMC can be implemented by extending an area corresponding to an overlapping area between two adjacent blocks (referred to as a first block and a second block) as shown in FIGS. 8A and 8B. In Figure 8A, two adjacent blocks are shown, a first block 812 above and a second block 814 below. The dot fill area 810 corresponds to the extended area of the first block 812. In Figure 8B, two adjacent blocks are shown, a first block 822 on the left and a second block 824 on the right. The dot fill area 820 corresponds to the extended area of the first block 822.

還可以基於如第9A圖和第9B圖所示的預測單元(PU)來執行OBMC,其中區塊910對應於將被編碼或解碼的當前PU。OBMC區域912對應於受OBMC處理影響的當前區塊的上方區域。另一方面,區域914對應於受OBMC處理影響的當前區塊的左側OBMC區域。為最小的PU(即,4×4區塊)存儲運動向量。為了執行OBMC區域912的OBMC,來自上方相鄰最小PU的運動向量(即,h0,h1,...,hj)用於當前上方區塊(即,t0,t1,...,tj)的OBMC處理。例如,對於OBMC處理,h1的運動向量將用於相鄰區塊t1以執行OBMC。此外,根據傳統方法,BIO圖框間編碼工具設置(例如,BIO開啟或關閉)取決於t1或覆蓋t1的PU(即,PU 910,“第二區塊”)。但是,t1的OBMC需要等待第二區塊的BIO設置資訊。因此, 直到第二區塊(即PU 910)的BIO設置之後,才能執行t1的OBMC。這將導致資料緩衝並導致額外的系統帶寬。類似地,來自左側相鄰最小PU的運動向量(即,v0,v1,...,vi)用於第二區塊(即PU 910)左側的OBMC區塊914(即,10,11,...,1i)的OBMC處理。然而,當啟用BIO圖框間編碼工具時,BIO設置(即,BIO開啟或關閉)是基於第9B圖中的當前小區塊(10,11,...,1i)。同樣,11的OBMC需要等待第二區塊的BIO設置資訊。因此,直到第二區塊(即PU 910)的BIO設置之後,才能執行11的OBMC。這將導致資料緩衝並導致額外的系統帶寬。 The OBMC may also be performed based on prediction units (PUs) as shown in Figures 9A and 9B, where block 910 corresponds to the current PU to be encoded or decoded. The OBMC area 912 corresponds to the upper area of the current block affected by the OBMC processing. On the other hand, the area 914 corresponds to the left OBMC area of the current block affected by the OBMC processing. The motion vector is stored for the smallest PU (ie, 4x4 block). In order to perform the OBMC of the OBMC area 912, motion vectors (i.e., h0, h1, ..., hj) from the upper adjacent smallest PU are used for the current upper block (i.e., t0, t1, ..., tj). OBMC processing. For example, for OBMC processing, the motion vector of h1 will be used for neighboring block t1 to perform OBMC. Furthermore, according to conventional methods, the BIO inter-frame coding tool settings (eg, BIO on or off) depend on t1 or the PU covering t1 (ie, PU 910, "Second Block"). However, the OBMC of t1 needs to wait for the BIO setting information of the second block. Therefore, the OBMC of t1 cannot be executed until the BIO of the second block (ie, PU 910) is set. This will result in data buffering and additional system bandwidth. Similarly, motion vectors (i.e., v0, v1, ..., vi) from the left neighboring smallest PU are used for the OBMC block 914 on the left side of the second block (i.e., PU 910) (i.e., 10, 11, .., 1i) OBMC processing. However, when the BIO inter-frame coding tool is enabled, the BIO settings (ie, BIO on or off) are based on the current cell block (10, 11, ..., 1i) in Figure 9B. Similarly, the 11 OBMC needs to wait for the BIO setup information for the second block. Therefore, the OBMC of 11 can not be executed until the BIO setting of the second block (ie, PU 910). This will result in data buffering and additional system bandwidth.

為了提高處理效率,公開了一種使用OBMC模式和BIO圖框間編碼工具的編碼系統的設置BIO模式開-關的新方法。根據本發明的實施例,BIO開關參數由第一區塊來確定,而不是由在OBMC區域中執行BIO處理的第二區塊來確定。對於水平方向上的兩個相鄰區塊,由於邊界左側的區塊經常在邊界右側的區塊之前處理,因此第一區塊指的是邊界左側的區塊的BIO開-關參數,第二區塊指的是邊界右側的區塊的BIO開-關參數。對於垂直方向上的兩個相鄰區塊,第一區塊指的是邊界上側的區塊的BIO開-關參數,第二區塊指的是邊界下側的區塊的BIO開-關參數。 In order to improve processing efficiency, a new method of setting BIO mode on-off of an encoding system using an OBMC mode and a BIO inter-frame coding tool is disclosed. According to an embodiment of the invention, the BIO switch parameters are determined by the first block, rather than by the second block performing BIO processing in the OBMC area. For two adjacent blocks in the horizontal direction, since the block on the left side of the boundary is often processed before the block on the right side of the boundary, the first block refers to the BIO on-off parameter of the block on the left side of the boundary, and the second A block refers to the BIO on-off parameter of the block to the right of the boundary. For two adjacent blocks in the vertical direction, the first block refers to the BIO on-off parameter of the block on the upper side of the boundary, and the second block refers to the BIO on-off parameter of the block on the lower side of the boundary. .

第10A圖示出了根據本發明實施例的處理的示例,其中點區域1030對應於與第一區塊1010相關聯的OBMC和BIO範圍。根據本發明,用於第一區塊1010的擴展區域1030的BIO編碼工具設置(例如,開/關判定)是基於第一區塊1010 的。位於第10B圖中的第二區塊的左側邊界的顯示為點填充區域1032的OBMC區域,使用第一區塊的運動向量,並且還使用來自第一區塊(即區塊1010)的BIO圖框間編碼工具設置以用於OBMC區域1032的OBMC混合。因此,利用BIO編碼工具的OBMC處理可以應用於第二區塊(即,區塊1020)的邊界處的OBMC區域1032,而不需要等待第二區塊的BIO設置。類似地,如第10C圖所示,與第一區塊1040和第二區塊1050之間的邊界相鄰的第二區塊1050的OBMC區域1060,可以執行具有BIO的OBMC處理,而無需等待第二區塊1050的BIO設置,因為BIO圖框間編碼工具設置是基於第一區塊的。如果P對應於OBMC區域中的像素(即,P位於第二區塊中),則使用第一區塊的運動向量和如上所述的第一區塊的BIO圖框間編碼工具設置的像素P的MC結果可以被稱為P0。為了執行OBMC,使用如上所述的第二區塊的運動向量和第二區塊的BIO圖框間編碼工具設置的像素P的MC結果可以被稱為P1。根據本發明的實施例的OBMC區域中像素P的與BIO編碼工具混合的OBMC可以根據等式(8)導出:P=C 0 P 0 +C 1 P 1 (8) FIG. 10A illustrates an example of a process in accordance with an embodiment of the present invention in which a dot region 1030 corresponds to an OBMC and BIO range associated with the first tile 1010. In accordance with the present invention, the BIO encoding tool settings (e.g., on/off determination) for the extended region 1030 of the first block 1010 are based on the first block 1010. The left side boundary of the second block located in FIG. 10B is shown as the OBMC area of the point fill area 1032, using the motion vector of the first block, and also using the BIO map from the first block (ie, block 1010). The inter-frame coding tool is set for OBMC mixing of the OBMC area 1032. Therefore, the OBMC processing using the BIO encoding tool can be applied to the OBMC region 1032 at the boundary of the second block (ie, the block 1020) without waiting for the BIO setting of the second block. Similarly, as shown in FIG. 10C, the OBMC area 1060 of the second block 1050 adjacent to the boundary between the first block 1040 and the second block 1050 can perform OBMC processing with BIO without waiting The BIO setting of the second block 1050 is because the BIO inter-frame coding tool settings are based on the first block. If P corresponds to a pixel in the OBMC area (ie, P is located in the second block), the motion vector of the first block and the pixel P set by the BIO inter-frame coding tool of the first block as described above are used. The MC result can be referred to as P0. In order to execute the OBMC, the MC result of the pixel P set using the motion vector of the second block as described above and the BIO inter-frame coding tool of the second block may be referred to as P1. The OBMC of the pixel P mixed with the BIO encoding tool in the OBMC region according to an embodiment of the present invention can be derived according to the equation (8): P = C 0 P 0 + C 1 P 1 (8)

在上面的等式中,C0和C1是加權因子。例如,如果P是來自邊界的第一個像素,則根據下一代視頻編碼中使用的示例,(C0,C1)=(1/4,3/4)。如果P是來自邊界的第二個像素,則(C0,C1)=(1/8,7/8)。 In the above equation, C0 and C1 are weighting factors. For example, if P is the first pixel from the boundary, (C 0 , C 1 )=(1/4, 3/4) according to an example used in next-generation video coding. If P is the second pixel from the boundary, then (C 0 , C 1 ) = (1/8, 7/8).

因為BIO圖框間編碼工具根據區塊的一些標誌或模式設置而被打開或關閉。區塊的標誌或模式設置可以包括 LIC標誌,NPO標誌或FRUC(PMVD)標誌,或FRUC(PMVD)模式。例如,在用於下一代視頻編碼(JEM 5.0)的現有軟件中,如果運動向量是真雙向的並且BIO被啟用,則如果LIC標誌為假,則BIO將不應用於區塊。根據本發明的實施例,來自第一區塊而不是第二區塊的標誌或模式設置(例如,LIC/NPO標誌,或FRUC(PMVD)標誌或FRUC(PMVD))用於確定BIO圖框間編碼工具設置,以產生用於第二區塊的OBMC混合的OBMC區塊1032或1060,分別如第10B圖和第10C圖所示。根據本發明,位於第二區塊中的OBMC區域1032或1060不僅使用第一區塊的運動向量,而且還使用來自第一區塊的標誌或模式設置(例如,LIC/NPO標誌,或FRUC(PMVD)標誌,或者FRUC(PMVD)模式)。換句話說,先前區塊的資訊(例如,標誌,運動向量,模式)用於確定是否打開或關閉與前一區塊相鄰的OBMC區塊的BIO編碼工具設置,而不是使用當前區塊的資訊來確定。 Because the BIO inter-frame coding tool is turned on or off according to some flags or mode settings of the block. The flag or mode setting of the block may include the LIC flag, the NPO flag or the FRUC (PMVD) flag, or the FRUC (PMVD) mode. For example, in existing software for Next Generation Video Coding (JEM 5.0), if the motion vector is true bidirectional and BIO is enabled, then if the LIC flag is false, the BIO will not be applied to the block. In accordance with an embodiment of the invention, a flag or mode setting (eg, LIC/NPO flag, or FRUC (PMVD) flag or FRUC (PMVD)) from the first block instead of the second block is used to determine the BIO frame. The encoding tool is arranged to generate OBMC blocks 1032 or 1060 for OBMC mixing of the second block, as shown in Figures 10B and 10C, respectively. In accordance with the present invention, the OBMC region 1032 or 1060 located in the second block uses not only the motion vector of the first block but also the flag or mode setting from the first block (eg, LIC/NPO flag, or FRUC ( PMVD) mark, or FRUC (PMVD) mode). In other words, the information of the previous block (eg, flag, motion vector, mode) is used to determine whether to turn on or off the BIO encoding tool settings of the OBMC block adjacent to the previous block, instead of using the current block. Information to determine.

請注意,根據本發明的第10A-10C圖中的實施例旨在示出基於第一區塊的資訊(例如,運動向量,標誌,模式)來確定第二區塊中的OBMC區塊的BIO圖框間編碼工具設置的示例。本發明不限於特定參數或配置。例如,儘管第10A-10C圖的第一區塊和第二區塊大小相同,第一區塊和第二區塊的大小也可以不同。 Please note that the embodiment in the 10A-10C diagram according to the present invention is intended to show that the BIO of the OBMC block in the second block is determined based on the information of the first block (eg, motion vector, flag, mode). An example of an inter-frame coding tool setup. The invention is not limited to a particular parameter or configuration. For example, although the first block and the second block of the 10A-10C map are the same size, the sizes of the first block and the second block may be different.

還可以基於預測單元執行OBMC。當應用本發明時,第二區塊1100中的OBMC區域(即,1112或1114)將重用第一區塊(即,(.,h0,h1,...,hj)或(v0,v1,...,vi))的資訊(例 如,運動向量,標誌,模式),如第11A圖和第11B圖中的曲線箭頭所示。 The OBMC can also be executed based on the prediction unit. When applying the present invention, the OBMC region (i.e., 1112 or 1114) in the second block 1100 will reuse the first block (i.e., (., h0, h1, ..., hj) or (v0, v1, ..., vi)) information (for example, motion vectors, flags, patterns), as indicated by the curved arrows in Figures 11A and 11B.

雖然OBMC處理啟用了BIO編碼工具,但是也可以啟用其他圖框間編碼工具。本發明還可以應用於其他圖框間編碼工具,例如LIC和仿射運動補償。 Although the OBMC process enables the BIO encoding tool, other inter-frame coding tools can be enabled. The invention can also be applied to other inter-frame coding tools such as LIC and affine motion compensation.

例如,如果對於使用OBMC的編碼系統啟用LIC模式,則第二區塊中的OBMC區域(即,第11A圖中的1112或第11B圖中的1114)將重用第一區塊(即,(h0,h1,...,hj)或(v0,v1,...,vi))的該資訊(例如,LIC模式和模型參數{a,b}),如第11A圖和第11B圖中的曲線箭頭所示,以確定LIC編碼工具設置。 For example, if the LIC mode is enabled for an encoding system using OBMC, the OBMC region in the second block (ie, 1112 in Figure 11A or 1114 in Figure 11B) will reuse the first block (ie, (h0) , h1,...,hj) or (v0,v1,...,vi)) (for example, LIC mode and model parameters {a,b}), as in Figures 11A and 11B The curve arrows are shown to determine the LIC encoding tool settings.

在另一示例中,如果對於使用OBMC的編碼系統啟用仿射模式,則第二區塊中的OBMC區域(即,1112或1114)將重用第一區塊(即,(h0,h1,...,hj)或(v0,v1,...,vi))的該資訊(例如,控制點(4-參數或6-參數),CU寬度和高度,以及子區塊位置),如第11A圖和第11B圖中的曲線箭頭所示,以確定仿射編碼工具設置。 In another example, if the affine mode is enabled for an encoding system using OBMC, the OBMC region (ie, 1112 or 1114) in the second block will reuse the first block (ie, (h0, h1, .. .hj) or (v0, v1,...,vi)) (for example, control points (4-parameters or 6-parameters), CU width and height, and sub-block positions), eg 11A The graph and the curved arrows in Figure 11B are shown to determine the affine encoding tool settings.

第12圖示出了根據本發明實施例的使用圖框間編碼工具和OBMC(重疊分塊運動補償)的視頻編碼系統的示例性流程圖。流程圖中示出的步驟以及本公開中的其他流程圖,可以實現為在編碼器側和/或解碼器側的一個或多個處理器(例如,一個或多個CPU)上可執行的程式代碼。流程圖中示出的步驟還可以基於諸如被佈置為執行流程圖中的步驟的一個或多個電子設備或處理器的硬件來實現。根據該方法,在步 驟1210中接收與對應於第一區塊和第二區塊的兩個相鄰區塊相關聯的輸入資料,其中第一區塊在第二區塊之前被編碼。輸入資料可以包括參考資料,第一區塊和第二區塊的編碼參數。在步驟1220中,選擇位於第二區塊中並且與第一區塊和第二區塊之間的目標邊界相鄰的OBMC區域的目標像素,以通過圖框間編碼工具和OBMC處理進行處理。如第10B-10C圖所示,目標OBMC區域可以分別對應於第10B圖和第10C圖中的區域1032或區域1060。目標OBMC區域也可以分別對應於第11A圖和第11B圖中的區域1112或區域1114。在步驟1230中,確定與第一區塊相關聯的第一運動向量。例如,第一運動向量可以對應於第11A圖中的h1的運動向量或第11B圖中的v1的運動向量。在步驟1240中,根據第一運動向量和與第一區塊相關聯的圖框間編碼工具的一個或多個第一設置,通過將圖框間編碼工具應用於OBMC區域的目標像素,來推導第一運動補償像素。第一運動補償像素可以對應於與上述等式(8)相關聯的P0。在步驟1250中,確定與第二區塊相關聯的第二運動向量。例如,第二運動向量可以對應於第11A圖中的t1的運動向量或第11B圖中的11的運動向量。在步驟1260中,根據第二運動向量以及與第二區塊相關聯的圖框間編碼工具的一個或多個第二設置,通過將圖框間編碼工具應用於OBMC區域的目標像素或第二區塊的所有像素,來推導第二運動補償像素;或者檢索第二運動補償像素。第二運動補償像素可以對應於與上述等式(8)相關聯的P1。如步驟1270所示,基於第一運動補償像素和第二運動補償像素的加權和來生成對應於OBMC 區域的目標像素的最終運動補償像素。例如,可以根據等式(8)計算加權和。 Figure 12 shows an exemplary flow chart of a video encoding system using an inter-frame coding tool and OBMC (Overlapped Block Motion Compensation) in accordance with an embodiment of the present invention. The steps shown in the flowcharts, as well as other flowcharts in the present disclosure, may be implemented as a program executable on one or more processors (eg, one or more CPUs) on the encoder side and/or the decoder side. Code. The steps shown in the flowcharts can also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowcharts. According to the method, input data associated with two adjacent blocks corresponding to the first block and the second block are received in step 1210, wherein the first block is encoded before the second block. The input data may include reference data, encoding parameters of the first block and the second block. In step 1220, a target pixel of the OBMC region located in the second block and adjacent to the target boundary between the first block and the second block is selected for processing by the inter-frame coding tool and the OBMC process. As shown in FIGS. 10B-10C, the target OBMC regions may correspond to regions 1032 or regions 1060 in FIGS. 10B and 10C, respectively. The target OBMC area may also correspond to the area 1112 or the area 1114 in the 11A and 11B, respectively. In step 1230, a first motion vector associated with the first block is determined. For example, the first motion vector may correspond to the motion vector of h1 in FIG. 11A or the motion vector of v1 in FIG. 11B. In step 1240, a first motion vector and one or more first settings of an inter-frame coding tool associated with the first block are derived by applying an inter-frame coding tool to the target pixel of the OBMC region. The first motion compensated pixel. The first motion compensation pixel may correspond to P 0 associated with equation (8) above. In step 1250, a second motion vector associated with the second block is determined. For example, the second motion vector may correspond to the motion vector of t1 in FIG. 11A or the motion vector of 11 in FIG. 11B. In step 1260, the inter-frame coding tool is applied to the target pixel or the second of the OBMC region according to the second motion vector and one or more second settings of the inter-frame coding tool associated with the second block. All pixels of the block to derive the second motion compensated pixel; or retrieve the second motion compensated pixel. The second motion compensation pixel may correspond to P 1 associated with equation (8) above. As shown in step 1270, a final motion compensated pixel corresponding to the target pixel of the OBMC region is generated based on the weighted sum of the first motion compensated pixel and the second motion compensated pixel. For example, the weighted sum can be calculated according to equation (8).

以上所示的流程圖旨在示出根據本發明的視頻編碼的示例。在不脫離本發明的精神的情況下,所屬領域中具有習知技術者可以修改每個步驟,重新安排步驟,分割步驟,或組合步驟以實施本發明。在本公開中,已經使用特定語法和語義來說明用於實現本發明的實施例的示例。所屬領域中具有習知技術者可以通過用等同的語法和語義替換語法和語義來實踐本發明而不脫離本發明的精神。 The flowchart shown above is intended to show an example of video encoding according to the present invention. Those skilled in the art can modify each step, rearrange the steps, divide the steps, or combine the steps to practice the invention without departing from the spirit of the invention. In the present disclosure, specific syntax and semantics have been used to illustrate examples for implementing embodiments of the present invention. Those skilled in the art can practice the invention by replacing the grammar and semantics with equivalent grammar and semantics without departing from the spirit of the invention.

本發明還公開了一種存儲程式指令的非暫時性計算機可讀介質,該程式指令使得裝置的處理電路執行上述視頻編碼方法。 The present invention also discloses a non-transitory computer readable medium storing program instructions that cause processing circuitry of a device to perform the video encoding method described above.

以上的描述是使所屬領域中具有習知技術者在本文提供的特定應用和需求下能夠實踐本發明。所屬領域中具有習知技術者將容易地觀察到,在不脫離本發明的精神和範圍內,可以進行多種修改和變動。因此,本發明並非限定在所示和描述的特定的實施例上,而本發明公開是為了符合原則和新穎性的最廣泛的範圍。在上述詳細的描述中,各種具體的細節,用以提供對本發明的透徹的瞭解。儘管如此,將被所屬領域中具有習知技術者理解的是,本發明能夠被實踐。 The above description is presented to enable a person of ordinary skill in the art to practice the invention. A person skilled in the art will readily appreciate that various modifications and changes can be made without departing from the spirit and scope of the invention. Therefore, the present invention is not intended to be limited to the specific embodiments shown and described. In the above detailed description, various specific details are set forth to provide a thorough understanding of the invention. Nevertheless, it will be understood by those skilled in the art that the present invention can be practiced.

如上述所述的本發明的實施例,可以使用硬體、軟體或其組合來實現。例如,本發明的一實施例可以是集成到視訊壓縮芯片中的電路或集成到視訊壓縮軟體中的程式代碼,以執行所描述的處理。本發明的實施例也可以是將在數字信號 處理器上執行的程式代碼來執行所描述的處理。本發明還涉及一系列的由計算機處理器、數字信號處理器、微處理器和現場可編程門陣列(FPGA)執行的功能。根據本發明,這些處理器可以被配置為執行特定任務,通過執行定義特定方法的計算機可讀軟體代碼或韌體代碼來實現。軟體代碼或韌體代碼可以用不同的編程語言和不同的格式或樣式來開發。軟體代碼也可以為不同的目標平臺所編譯。然而,軟體代碼的不同的代碼格式、風格和語言,以及配置代碼的其他方式以執行任務,均不脫離本發明之精神和範圍。 Embodiments of the invention as described above may be implemented using hardware, software, or a combination thereof. For example, an embodiment of the invention may be a circuit integrated into a video compression chip or program code integrated into a video compression software to perform the described process. Embodiments of the invention may also be programmed to execute the described processing on a digital signal processor. The invention also relates to a range of functions performed by computer processors, digital signal processors, microprocessors, and field programmable gate arrays (FPGAs). In accordance with the present invention, these processors can be configured to perform specific tasks by executing computer readable software code or firmware code that defines a particular method. Software code or firmware code can be developed in different programming languages and in different formats or styles. Software code can also be compiled for different target platforms. However, the different code formats, styles, and languages of the software code, as well as other ways of configuring the code to perform the tasks, do not depart from the spirit and scope of the present invention.

本發明可以以其它具體形式實施而不背離其精神或本質特徵。所描述的實施例在所有方面都僅是說明性的而不是限制性。本發明的範圍因此由所附權利要求為准而不是由前面的描述所界定。因此,各種修改、改編以及所描述的實施例的各種特徵的組合可以在不脫離本發明的範圍如權利要求書中闡述的情況下實施。 The invention may be embodied in other specific forms without departing from the spirit or essential characteristics. The described embodiments are to be considered in all respects illustrative illustrative The scope of the invention is therefore intended to be limited by the appended claims Various modifications, adaptations, and combinations of various features of the described embodiments can be implemented without departing from the scope of the invention as set forth in the appended claims.

Claims (20)

一種視頻編碼的方法,其使用圖框間編碼工具和重疊分塊運動補償,該方法包括:接收與對應於第一區塊和第二區塊的兩個相鄰區塊相關聯的輸入資料,其中該第一區塊在該第二區塊之前被編碼;對於位於該第二區塊中並且與該第一區塊和該第二區塊之間的目標邊界相鄰的重疊分塊運動補償區域的目標像素:確定與該第一區塊相關聯的第一運動向量;根據該第一運動向量和與該第一區塊相關聯的該圖框間編碼工具的一個或多個第一設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素,導出第一運動補償像素;確定與該第二區塊相關聯的第二運動向量;根據該第二運動向量和與該第二區塊相關聯的該圖框間編碼工具的一個或多個第二設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素或者該第二區塊的所有像素,來導出第二運動補償像素;或者檢索該第二個運動補償像素;以及基於該第一運動補償像素和該第二運動補償像素的加權和,生成對應於該重疊分塊運動補償區域的該目標像素的最終運動補償像素。  A method of video encoding, using an inter-frame coding tool and overlapping block motion compensation, the method comprising: receiving input data associated with two adjacent blocks corresponding to the first block and the second block, Wherein the first block is encoded before the second block; and for overlapping block motion compensation located in the second block and adjacent to a target boundary between the first block and the second block a target pixel of the region: determining a first motion vector associated with the first block; and according to the first motion vector and one or more first settings of the inter-frame coding tool associated with the first block Deriving a first motion compensation pixel by applying the inter-frame coding tool to the target pixel of the overlapping block motion compensation region; determining a second motion vector associated with the second block; according to the second motion a vector and one or more second settings of the inter-frame coding tool associated with the second block, by applying the inter-frame coding tool to the target pixel of the overlapping block motion compensation region or the Second block All pixels to derive a second motion compensated pixel; or to retrieve the second motion compensated pixel; and generate a weighted sum based on the first motion compensated pixel and the second motion compensated pixel to generate a motion compensation region corresponding to the overlapped block The final motion compensated pixel of the target pixel.   如申請專利範圍第1項所述之方法,其中,根據該第一區塊的一個或多個第一標誌或模式,確定與該第一區塊相關 聯的該圖框間編碼工具的該一個或多個第一設置;以及根據該第二區塊的一個或多個第二標誌或模式,確定與該第二區塊相關聯的該圖框間編碼工具的一個或多個第二設置。  The method of claim 1, wherein the one of the inter-frame coding tools associated with the first block is determined based on one or more first flags or patterns of the first block Or a plurality of first settings; and determining one or more second settings of the inter-frame coding tool associated with the second block based on the one or more second flags or patterns of the second block.   如申請專利範圍第1項所述之方法,其中,該第一區塊和該第二區塊對應於一個預測單元或一個編碼單元。  The method of claim 1, wherein the first block and the second block correspond to one prediction unit or one coding unit.   如申請專利範圍第3項所述之方法,其中,該重疊分塊運動補償區域的該目標像素對應於第二最小預測單元,並且該第一運動向量對應於第一最小預測單元的運動向量,該第二運動向量對應於該第二最小預測單元的運動向量,並且其中該第一最小預測單元位於該第一區塊中並且與該第二最小預測單元相鄰。  The method of claim 3, wherein the target pixel of the overlapping block motion compensation region corresponds to a second minimum prediction unit, and the first motion vector corresponds to a motion vector of the first minimum prediction unit, The second motion vector corresponds to a motion vector of the second minimum prediction unit, and wherein the first minimum prediction unit is located in the first block and adjacent to the second minimum prediction unit.   如申請專利範圍第1項所述之方法,其中,當該第一區塊位於該第二區塊的上方時,該重疊分塊運動補償區域對應於該第二區塊的上方的一個區域;以及當該第一區塊位於該第二區塊的左側時,該重疊分塊運動補償區域對應於該第二區塊左側的一個區域。  The method of claim 1, wherein the overlapping block motion compensation region corresponds to an area above the second block when the first block is located above the second block; And when the first block is located on the left side of the second block, the overlapping block motion compensation area corresponds to an area on the left side of the second block.   如申請專利範圍第1項所述之方法,其中,該圖框間編碼工具對應於雙向光流處理。  The method of claim 1, wherein the inter-frame coding tool corresponds to bidirectional optical flow processing.   如申請專利範圍第6項所述之方法,其中,該圖框間編碼工具的該一個或多個第一設置和該圖框間編碼工具的該一個或多個第二設置對應於雙向光流開/關設置。  The method of claim 6, wherein the one or more first settings of the inter-frame coding tool and the one or more second settings of the inter-frame coding tool correspond to bidirectional optical flow On/Off setting.   如申請專利範圍第6項所述之方法,其中,基於該第一區塊的局部照明補償/相鄰導出預測偏移標誌,或基於圖形的 運動向量推導標誌,或基於圖形的運動向量推導模式,來確定該圖框間編碼工具的該一個或多個第一設置;以及基於第二區塊的局部照明補償/相鄰導出預測偏移標誌,或基於圖形的運動向量推導標誌,或基於圖形的運動向量推導模式,來確定該圖框間編碼工具的該一個或多個第二設置。  The method of claim 6, wherein the local illumination compensation/adjacent derived prediction offset flag based on the first block, or the motion vector derivation flag based on the graphics, or the motion vector derivation mode based on the graphics Determining the one or more first settings of the inter-frame coding tool; and local illumination compensation/neighbor derived prediction offset flag based on the second block, or graphics-based motion vector derivation flag, or graphics based The motion vector derivation mode to determine the one or more second settings of the inter-frame coding tool.   如申請專利範圍第1項所述之方法,其中,該圖框間編碼工具對應於局部照明補償。  The method of claim 1, wherein the inter-frame coding tool corresponds to local illumination compensation.   如申請專利範圍第9項所述之方法,其中,該圖框間編碼工具的該一個或多個第一設置和該一個或多個第二設置包括縮放因子a和偏移b的值。  The method of claim 9, wherein the one or more first settings of the inter-frame coding tool and the one or more second settings comprise values of a scaling factor a and an offset b.   如申請專利範圍第1項所述之方法,其中,該圖框間編碼工具對應於仿射模式運動估計/補償。  The method of claim 1, wherein the inter-frame coding tool corresponds to affine mode motion estimation/compensation.   如申請專利範圍第11項所述之方法,其中,該圖框間編碼工具的該一個或多個第一設置和該一個或多個第二設置包括四-參數仿射模型或六-參數仿射模型的參數值。  The method of claim 11, wherein the one or more first settings and the one or more second settings of the inter-frame coding tool comprise a four-parameter affine model or a six-parameter imitation The parameter value of the shot model.   一種視頻編碼設備,其使用圖框間編碼工具和重疊分塊運動補償,該視頻編碼設備包括一個或多個電子電路或處理器,用於執行以下步驟:接收與對應於第一區塊和第二區塊的兩個相鄰區塊相關聯的輸入資料,其中該第一區塊在該第二區塊之前被編碼;對於位於該第二區塊中並且與該第一區塊和該第二區塊之間的目標邊界相鄰的重疊分塊運動補償區域的目標像素:確定與該第一區塊相關聯的第一運動向量; 根據該第一運動向量和與該第一區塊相關聯的該圖框間編碼工具的一個或多個第一設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素,導出第一運動補償像素;確定與該第二區塊相關聯的第二運動向量;根據該第二運動向量和與該第二區塊相關聯的該圖框間編碼工具的一個或多個第二設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素或者該第二區塊的所有像素,來導出第二運動補償像素;或者檢索該第二個運動補償像素;以及基於該第一運動補償像素和該第二運動補償像素的加權和,生成對應於該重疊分塊運動補償區域的該目標像素的最終運動補償像素。  A video encoding apparatus that uses inter-frame coding tools and overlapping block motion compensation, the video encoding apparatus including one or more electronic circuits or processors for performing the steps of: receiving and corresponding to the first block and Input data associated with two adjacent blocks of the second block, wherein the first block is encoded before the second block; for being located in the second block and associated with the first block and the first block a target pixel of the overlapping block motion compensation region adjacent to the target boundary between the two blocks: determining a first motion vector associated with the first block; and correlating with the first block according to the first motion vector One or more first settings of the inter-frame coding tool, by applying the inter-frame coding tool to the target pixel of the overlapping block motion compensation region, deriving a first motion compensation pixel; determining a second motion vector associated with the second block; according to the second motion vector and one or more second settings of the inter-frame coding tool associated with the second block, by inter-frame coding tool application Deriving a second motion compensation pixel for the target pixel of the overlapping block motion compensation region or all pixels of the second block; or retrieving the second motion compensation pixel; and based on the first motion compensation pixel and the A weighted sum of the second motion compensated pixels, generating a final motion compensated pixel of the target pixel corresponding to the overlapped block motion compensation region.   如申請專利範圍第13項所述之裝置,其中,根據該第一區塊的一個或多個第一標誌或模式,確定與該第一區塊相關聯的該圖框間編碼工具的該一個或多個第一設置;以及根據該第二區塊的一個或多個第二標誌或模式,確定與該第二區塊相關聯的該圖框間編碼工具的一個或多個第二設置。  The apparatus of claim 13, wherein the one of the inter-frame coding tools associated with the first block is determined based on one or more first flags or patterns of the first block Or a plurality of first settings; and determining one or more second settings of the inter-frame coding tool associated with the second block based on the one or more second flags or patterns of the second block.   如申請專利範圍第13項所述之裝置,其中,該第一區塊和該第二區塊對應於一個預測單元或一個編碼單元。  The apparatus of claim 13, wherein the first block and the second block correspond to one prediction unit or one coding unit.   如申請專利範圍第15項所述之裝置,其中,該重疊分塊運動補償區域的該目標像素對應於第二最小預測單元,並且該第一運動向量對應於第一最小預測單元的運動向量,該 第二運動向量對應於該第二最小預測單元的運動向量,並且其中該第一最小預測單元位於該第一區塊中並且與該第二最小預測單元相鄰。  The device of claim 15, wherein the target pixel of the overlapping block motion compensation region corresponds to a second minimum prediction unit, and the first motion vector corresponds to a motion vector of the first minimum prediction unit, The second motion vector corresponds to a motion vector of the second minimum prediction unit, and wherein the first minimum prediction unit is located in the first block and adjacent to the second minimum prediction unit.   如申請專利範圍第13項所述之裝置,其中,當該第一區塊位於該第二區塊的上方時,該重疊分塊運動補償區域對應於該第二區塊的上方的一個區域;以及當該第一區塊位於該第二區塊的左側時,該重疊分塊運動補償區域對應於該第二區塊左側的一個區域。  The device of claim 13, wherein the overlapping block motion compensation region corresponds to an area above the second block when the first block is located above the second block; And when the first block is located on the left side of the second block, the overlapping block motion compensation area corresponds to an area on the left side of the second block.   如申請專利範圍第13項所述之裝置,其中,該圖框間編碼工具對應於雙向光流處理。  The apparatus of claim 13, wherein the inter-frame coding tool corresponds to bidirectional optical flow processing.   如申請專利範圍第18項所述之裝置,其中,該圖框間編碼工具的該一個或多個第一設置和該圖框間編碼工具的該一個或多個第二設置對應於雙向光流開/關設置。  The apparatus of claim 18, wherein the one or more first settings of the inter-frame coding tool and the one or more second settings of the inter-frame coding tool correspond to bidirectional optical flow On/Off setting.   一種存儲程式指令的非暫時性計算機可讀介質,該程式指令使得裝置的處理電路執行結合圖框間編碼工具和重疊分塊運動補償的視頻編碼方法,並且該方法包括:接收與對應於第一區塊和第二區塊的兩個相鄰區塊相關聯的輸入資料,其中該第一區塊在該第二區塊之前被編碼;對於位於該第二區塊中並且與該第一區塊和該第二區塊之間的目標邊界相鄰的重疊分塊運動補償區域的目標像素:確定與該第一區塊相關聯的第一運動向量;根據該第一運動向量和與該第一區塊相關聯的該圖框間編碼工具的一個或多個第一設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素,導出第一 運動補償像素;確定與該第二區塊相關聯的第二運動向量;根據該第二運動向量和與該第二區塊相關聯的該圖框間編碼工具的一個或多個第二設置,通過將該圖框間編碼工具應用於該重疊分塊運動補償區域的該目標像素或者該第二區塊的所有像素,來導出第二運動補償像素;或者檢索該第二個運動補償像素;以及基於該第一運動補償像素和該第二運動補償像素的加權和,生成對應於該重疊分塊運動補償區域的該目標像素的最終運動補償像素。  A non-transitory computer readable medium storing program instructions, the program instructions causing a processing circuit of a device to perform a video encoding method in conjunction with an inter-frame coding tool and overlapping block motion compensation, and the method includes: receiving and corresponding to the first An input data associated with two adjacent blocks of the block and the second block, wherein the first block is encoded before the second block; for being located in the second block and associated with the first block a target pixel of the overlapping block motion compensation region adjacent to the target boundary between the block and the second block: determining a first motion vector associated with the first block; and according to the first motion vector One or more first settings of the inter-frame coding tool associated with a block, the first motion compensation pixel being derived by applying the inter-frame coding tool to the target pixel of the overlapping block motion compensation region; Determining a second motion vector associated with the second block; according to the second motion vector and one or more second settings of the inter-frame coding tool associated with the second block, The inter-frame coding tool is applied to the target pixel of the overlapping block motion compensation region or all pixels of the second block to derive a second motion compensation pixel; or to retrieve the second motion compensation pixel; A weighted sum of the first motion compensation pixel and the second motion compensation pixel generates a final motion compensation pixel of the target pixel corresponding to the overlapped block motion compensation region.  
TW107110030A 2017-03-24 2018-03-23 Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding TW201902223A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762475975P 2017-03-24 2017-03-24
US62/475,975 2017-03-24

Publications (1)

Publication Number Publication Date
TW201902223A true TW201902223A (en) 2019-01-01

Family

ID=63586246

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107110030A TW201902223A (en) 2017-03-24 2018-03-23 Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding

Country Status (2)

Country Link
TW (1) TW201902223A (en)
WO (1) WO2018171796A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738236B (en) * 2019-03-05 2021-09-01 聯發科技股份有限公司 Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
TWI739466B (en) * 2020-04-24 2021-09-11 瑞昱半導體股份有限公司 Image processing method and associated encoder

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020084473A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Multi- iteration motion vector refinement
CN112913240A (en) * 2018-10-22 2021-06-04 北京字节跳动网络技术有限公司 Collocation between decoder-side motion vector derivation and other codec tools
CN111083484A (en) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 Sub-block based prediction
JP7146086B2 (en) 2018-11-12 2022-10-03 北京字節跳動網絡技術有限公司 Bandwidth control method for inter-prediction
CN113170097B (en) 2018-11-20 2024-04-09 北京字节跳动网络技术有限公司 Encoding and decoding of video encoding and decoding modes
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
JP2022509962A (en) * 2018-11-21 2022-01-25 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド Methods and devices for picture encoding and decoding
EP3915259A4 (en) 2019-03-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
CN111698515B (en) * 2019-03-14 2023-02-14 华为技术有限公司 Method and related device for inter-frame prediction
SG11202109031TA (en) * 2019-03-18 2021-09-29 Tencent America LLC Method and apparatus for video coding
EP3922014A4 (en) 2019-04-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. Decoder side motion vector derivation
CN113875253A (en) * 2019-04-18 2021-12-31 交互数字Vc控股公司 Method and apparatus for video encoding and decoding using optical flow boundary-smoothing-based motion compensation
CN113596463A (en) * 2019-09-23 2021-11-02 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8018998B2 (en) * 2005-05-20 2011-09-13 Microsoft Corporation Low complexity motion compensated frame interpolation method
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738236B (en) * 2019-03-05 2021-09-01 聯發科技股份有限公司 Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
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
TWI739466B (en) * 2020-04-24 2021-09-11 瑞昱半導體股份有限公司 Image processing method and associated encoder

Also Published As

Publication number Publication date
WO2018171796A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
TW201902223A (en) Method and apparatus of bi-directional optical flow for overlapped block motion compensation in video coding
TWI674794B (en) Method and apparatus of motion refinement for video coding
CN113170181B (en) Affine inheritance method in intra-block copy mode
TWI670970B (en) Method and apparatus of candidate skipping for predictor refinement in video coding
US20240098295A1 (en) Efficient affine merge motion vector derivation
TWI670966B (en) Method and apparatus of adaptive bi-prediction for video coding
TWI677237B (en) Method and apparatus of bilateral template mv refinement for video coding
CN113612993B (en) Motion compensation method and device for video data
US20200021845A1 (en) Method and Apparatus of Constrained Overlapped Block Motion Compensation in Video Coding
CN112913247A (en) Video processing using local illumination compensation
CN113302918A (en) Weighted prediction in video coding and decoding
CN112868239A (en) Collocated local illumination compensation and intra block copy codec
CN110677674B (en) Method, apparatus and non-transitory computer-readable medium for video processing
CN113316935A (en) Motion candidate list using local illumination compensation
TWI720753B (en) Method and apparatus of simplified triangle merge mode candidate list derivation
WO2020207475A1 (en) Method and apparatus of simplified affine subblock process for video coding system
CN114175636A (en) Indication of adaptive loop filtering in an adaptive parameter set
CN112292861B (en) Sub-pixel accurate correction method based on error surface for decoding end motion vector correction
WO2019242686A1 (en) Method and apparatus of motion vector buffer management for video coding system
KR102463478B1 (en) Affine inter prediction method and apparatus for video coding system
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement
CN117915083A (en) Interaction between intra copy mode and inter prediction tools