TWI617185B - Method and apparatus of video coding with affine motion compensation - Google Patents

Method and apparatus of video coding with affine motion compensation Download PDF

Info

Publication number
TWI617185B
TWI617185B TW106108289A TW106108289A TWI617185B TW I617185 B TWI617185 B TW I617185B TW 106108289 A TW106108289 A TW 106108289A TW 106108289 A TW106108289 A TW 106108289A TW I617185 B TWI617185 B TW I617185B
Authority
TW
Taiwan
Prior art keywords
block
affine
motion
motion vector
current block
Prior art date
Application number
TW106108289A
Other languages
Chinese (zh)
Other versions
TW201739252A (en
Inventor
莊子德
陳慶曄
黄晗
許曉中
杉 劉
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/CN2017/076420 external-priority patent/WO2017157259A1/en
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW201739252A publication Critical patent/TW201739252A/en
Application granted granted Critical
Publication of TWI617185B publication Critical patent/TWI617185B/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/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/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

Landscapes

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

Abstract

揭露一種用於具有仿射運動補償的視訊編碼以及解碼的方法以及裝置。此方法的實施例接收一個與編碼於或將編碼於仿射模式的當前塊相關聯的輸入資料。相鄰塊的兩個或者更多運動矢量從緩衝器中獲取,其中,至少一個獲取的運動矢量不對應於第一相鄰塊列或第一相鄰塊行中的子塊。此方法使用獲取的兩個或者更多運動矢量導出包括多個仿射運動矢量的仿射候選,且使用由已導出的仿射候選導出的一個或多個運動補償塊通過預測當前塊來編碼或解碼當前塊。用於仿射候選導出的緩衝器儲存少於當前圖片中已編碼塊的所有運動矢量的已選擇運動矢量。 A method and device for video encoding and decoding with affine motion compensation are disclosed. An embodiment of this method receives an input data associated with a current block encoded in or to be encoded in an affine mode. Two or more motion vectors of neighboring blocks are obtained from the buffer, wherein at least one of the acquired motion vectors does not correspond to a sub-block in a first neighboring block column or a first neighboring block row. This method uses the obtained two or more motion vectors to derive an affine candidate including multiple affine motion vectors, and uses one or more motion-compensated blocks derived from the derived affine candidate to encode or predict the current block or Decode the current block. The buffer used for affine candidate derivation stores selected motion vectors that are less than all motion vectors of the coded block in the current picture.

Description

具有仿射運動補償的視訊編碼的方法以及裝置 Video coding method and device with affine motion compensation 【相關申請的交叉引用】[Cross-reference to related applications]

本發明主張申請於2016年3月15日,序號為PCT/CN2016/076360,標題為“Affine Prediction for Video Coding”的PCT專利申請,以及申請於2016年12月22日,序列號為US62/437,757,標題為“Affine Prediction Buffer Management for Video Coding”的美國臨時專利申請的優先權。將此PCT專利申請以及此美國臨時專利申請以參考的方式併入本文中。 The present invention claims that the PCT patent application with serial number PCT / CN2016 / 076360 and titled "Affine Prediction for Video Coding" was filed on March 15, 2016, and was filed on December 22, 2016 with serial number US62 / 437,757 , Priority to a US provisional patent application entitled "Affine Prediction Buffer Management for Video Coding". This PCT patent application and this US provisional patent application are incorporated herein by reference.

本發明涉及具有仿射運動補償(affine motion cormpensation)的視訊編碼。特別地,本發明涉及用於實現仿射運動補償的視訊編碼系統的緩衝器管理以及啟用用於仿射運動補償的自適應運動矢量分辨率的技術。 The present invention relates to affine motion compensation. cormpensation). In particular, the present invention relates to a buffer management of a video encoding system for implementing affine motion compensation and a technique for enabling an adaptive motion vector resolution for affine motion compensation.

在編碼以及解碼過程中,視訊資料需要大量的存儲空間來緩衝中間資料。隨著增長的高分辨率以及更高的幀率,且更強大的編碼技術被開發以獲取更好的編碼性能,視訊編碼器以及解碼器的存儲要求顯著地增加。新開發的編碼技術中的一種是仿射運動預測以及補償,其能有效地跟踪更多複雜 的運動,例如:轉動、縮放、以及移動物體的形變(deformation)。應用於最近開發的編碼標準,例如:高效率視訊編碼(HEVC)的幀間運動預測方法僅考慮二維(two-dimensional,2D)平移運動,其中,兴趣(interest)區域的所有像素都遵循相同的運動方向以及幅度。仿射運動預測可根據四參數仿射模型(four-parameter affine model)描述2D塊轉動以及縮放。仿射運動預測也可以根據將正方形或矩形變換為平行四邊形的六參數仿射模型來捕獲2D形變。文獻中提出的仿射運動預測有兩種主要模式,包括仿射合併模式以及仿射幀間模式。仿射合併模式允許從空間相鄰塊繼承仿射運動資訊,然而仿射幀間模式通過組合空間相鄰塊的運動資訊來構造若干最可能的候選。仿射幀間模式也被稱作仿射提前運動矢量預測(advance motion vector prediction,AMVP)模式。 During the encoding and decoding process, video data needs a lot of storage space to buffer intermediate data. With increasing high resolution and higher frame rates, and more powerful encoding technologies being developed to obtain better encoding performance, the storage requirements of video encoders and decoders have increased significantly. One of the newly developed coding technologies is affine motion prediction and compensation, which can effectively track more complex Motion, such as: rotation, scaling, and deformation of a moving object. Applied to recently developed coding standards, such as the High-Efficiency Video Coding (HEVC) inter-motion prediction method that only considers two-dimensional (2D) translational motion, where all pixels in the interest area follow the same Direction of movement and amplitude. Affine motion prediction can describe 2D block rotation and scaling according to a four-parameter affine model. Affine motion prediction can also capture 2D deformations based on a six-parameter affine model that transforms squares or rectangles into parallelograms. There are two main modes of affine motion prediction proposed in the literature, including affine merge mode and affine inter mode. The affine merging mode allows affine motion information to be inherited from spatially neighboring blocks, whereas the affine inter-frame mode constructs several of the most likely candidates by combining the motion information of spatially neighboring blocks. The affine inter mode is also called an affine advance motion vector prediction (AMVP) mode.

沿著時間軸橫過圖片的運動可由如式子(1)所示的四參數仿射運動模型來描述。假設A(x,y)是所考慮的位於位置(x,y)的原始像素,且A’(x’,y’)是用於原始像素A(x,y)的參考圖片的位置(x’,y’)的對應參考像素。 The motion across the picture along the time axis can be described by a four-parameter affine motion model as shown in equation (1). Suppose A (x, y) is the original pixel considered at position (x, y), and A '(x', y ') is the position (x of the reference picture for the original pixel A (x, y)) ', Y') corresponding reference pixels.

x’=a0*x+a1*y+a2,以及y’=-a1*x+a0*y+a3。 (1)其中,a0、a1、a2以及a3為四參數仿射運動模型中的四個參數。 x '= a0 * x + a1 * y + a2, and y' =-a1 * x + a0 * y + a3. (1) Among them, a0, a1, a2, and a3 are four parameters in the four-parameter affine motion model.

編碼於仿射模式的塊中的此原始像素A(x,y)以及其對應參考像素A’(x’,y’)之間的運動矢量(vx,vy)可被描述為: vx=(1-a0)* x-a1* y-a2,以及 vy=(1-a0)* y+a1* x-a3。 (2) The motion vector (v x , v y ) between this original pixel A (x, y) and its corresponding reference pixel A '(x', y ') in a block of the affine mode can be described as: v x = (1-a0) * x-a1 * y-a2, and v y = (1-a0) * y + a1 * x-a3. (2)

第1A圖所示為示範性四參數仿射運動模型。兩個角像素110以及112位於當前塊102的左上以及右上角,且於四參數仿射運動模型中,這兩個角像素也被稱為當前塊102的控制點。兩個控制點110以及112的運動矢量Mv0以及Mv1將當前塊102映射到參考圖片中的參考塊104。根據式子(3),基於控制點110以及112的運動矢量Mv0以及Mv1,可以導出當前塊102中的每個像素A(x,y)的運動矢量場。 Figure 1A shows an exemplary four-parameter affine motion model. The two corner pixels 110 and 112 are located at the upper left and upper right corners of the current block 102. In the four-parameter affine motion model, these two corner pixels are also referred to as control points of the current block 102. The motion vectors Mv0 and Mv1 of the two control points 110 and 112 map the current block 102 to the reference block 104 in the reference picture. According to formula (3), based on the motion vectors Mv0 and Mv1 of the control points 110 and 112, the motion vector field of each pixel A (x, y) in the current block 102 can be derived.

其中,(v0x,v0y)表示左上角110的運動矢量Mv0,(v1x,v1y)表示右上角112的運動矢量Mv1,且w表示當前塊的寬度。對於基於塊的仿射運動補償,當兩個控制點的運動矢量Mv0以及Mv1被解碼時,當前塊102的每個4x4塊的運動矢量可根據式子(3)來確定。換句話說,用於當前塊102的四參數仿射運動模型可由兩個控制點的兩個運動矢量Mv0以及Mv1來指定。此外,當塊的左上角以及右上角被用作兩個控制點時,其它兩個控制點也可被使用。 Among them, (v 0x , v 0y ) represents the motion vector Mv0 of the upper left corner 110, (v 1x , v 1y ) represents the motion vector Mv1 of the upper right corner 112, and w represents the width of the current block. For block-based affine motion compensation, when the motion vectors Mv0 and Mv1 of the two control points are decoded, the motion vector of each 4x4 block of the current block 102 can be determined according to equation (3). In other words, the four-parameter affine motion model for the current block 102 can be specified by two motion vectors Mv0 and Mv1 of two control points. In addition, when the upper left corner and upper right corner of the block are used as two control points, the other two control points can also be used.

六參數仿射運動模型可由式子(4)來描述。於此模型中,總共六個參數a0、a1、a2、b0、b1以及b2以及三個控制點被使用。對於每個像素A(x,y),此像素A(x,y)以及其對應參考像素A’(x’,y’)之間的運動矢量(vx,vy)如式子(5)所示。 The six-parameter affine motion model can be described by equation (4). In this model, a total of six parameters a0, a1, a2, b0, b1, and b2 and three control points are used. For each pixel A (x, y), the motion vector (v x , v y ) between this pixel A (x, y) and its corresponding reference pixel A '(x', y ') is as follows: (5 ).

x’=a0+a1* x+a2* y,以及y’=b0+b1* x+b2* y。 (4) x '= a0 + a1 * x + a2 * y, and y' = b0 + b1 * x + b2 * y. (4)

vx=(a1-1)* x+a2* y+a0,以及vy=(b2-1)* y+b1* x+b0。 (5) v x = (a1-1) * x + a2 * y + a0, and v y = (b2-1) * y + b1 * x + b0. (5)

由六參數仿射運動模型預測的每個像素的運動矢量也是位置相關的。第1B圖所示為根據六參數仿射運動模型的仿射運動補償的示例,其中,當前塊122被映射到參考圖片中的參考塊124。當前塊122的三個角像素130、132、以及134以及參考塊124的三個角像素之間的對應關係可由如第1B圖所示的三個箭頭來確定。用於仿射運動模型的六個參數可基於當前塊122的左上、右上、以及左下控制點的三個已知運動矢量Mv0、Mv1、Mv2來導出。用於仿射運動模型的參數導出在本領域中是公知的,且在此省略其細節。 The motion vector of each pixel predicted by the six-parameter affine motion model is also position-dependent. FIG. 1B shows an example of affine motion compensation according to a six-parameter affine motion model, in which a current block 122 is mapped to a reference block 124 in a reference picture. The corresponding relationship between the three corner pixels 130, 132, and 134 of the current block 122 and the three corner pixels of the reference block 124 can be determined by the three arrows shown in FIG. 1B. The six parameters for the affine motion model may be derived based on three known motion vectors Mv0, Mv1, Mv2 of the upper left, upper right, and lower left control points of the current block 122. Parameter derivation for affine motion models is well known in the art, and details thereof are omitted here.

仿射幀間模式以及仿射合併模式的各種實現已經被討論,例如,仿射旗標被用於指示是否應用仿射幀間模式,且當CU等於或大於16x16時,此仿射旗標被標識以用於每個幀間編碼的編碼單元(coding unit,CU)。如果當前CU被編碼或將被編碼於仿射幀間模式,則使用有效的相鄰已編碼塊來為當前CU構造候選運動矢量預測子(motion vector predictor,MVP)對列表。第2圖所示為於仿射幀間模式或仿射合併模式編碼的當前塊20的候選MVP對導出的示例。如第2圖所示,用於當前塊20的左上控制點的運動矢量Mv0的MVP是從左上相鄰已編碼塊A0、A1、或A2的運動矢量中選擇;以及用於當前塊20的右上控制點的運動矢量Mv1的MVP是從 右上相鄰已編碼塊B0以及B1的運動矢量中選擇。用於候選MVP對清單的MVP索引被標識於視訊位元串流,且兩個控制點的運動矢量差(motion vector difference,MVD)被編碼於視訊位元串流。 Various implementations of the affine inter mode and the affine merge mode have been discussed. For example, the affine flag is used to indicate whether to apply the affine inter mode, and when the CU is equal to or greater than 16x16, this affine flag is Identifies a coding unit (coding unit, CU) used for each inter-frame coding. If the current CU is coded or will be coded in affine inter mode, a list of candidate motion vector predictor (MVP) pairs is constructed for the current CU using valid neighboring coded blocks. FIG. 2 shows an example of deriving the candidate MVP pair of the current block 20 encoded in the affine inter mode or the affine merge mode. As shown in FIG. 2, the MVP of the motion vector Mv0 for the upper-left control point of the current block 20 is selected from the motion vectors of the upper-left neighboring coded block A0, A1, or A2; The MVP of the control point's motion vector Mv1 is from Select from the motion vectors of the upper right adjacent coded blocks B0 and B1. The MVP index for the candidate MVP pair list is identified in the video bitstream, and the motion vector difference (MVD) of the two control points is encoded in the video bitstream.

對於在合併模式中編碼的當前塊20,第2圖中的5個相鄰已編碼子塊C0(被稱為左底部塊)、B0(被稱為右上塊)、B1(被稱為右上角塊)、C1(被稱為左下角塊)、以及A0(被稱為左上角塊)被依次地檢查以確定相鄰已編碼子塊中的任何一個是否編碼於仿射幀間模式或仿射合併模式。在此示例中,當前塊20為預測單元(prediction unit,PU)。只有在相鄰已編碼子塊中的任何一個被編碼於仿射幀間模式或仿射合併模式時,仿射旗標被標識以指示當前塊20是否編碼於仿射合併模式。當根據仿射合併模式編碼或解碼當前塊20時,第一可用的仿射編碼相鄰塊(affine-coded neighboring block)是從5個相鄰已編碼子塊中選擇。包括已選擇的相鄰編碼子塊的第一可用的仿射編碼相鄰塊被用於導出仿射合併後選。仿射合併後選被用於導出當前塊的參考圖片的預測子。如第2圖所示,用於選擇相鄰已編碼子塊中的一個的選擇順序是從左底部塊、右上塊、右上角塊、左下角塊、到左上角塊(C0→B0→B1→C1→A0)。用於當前塊20的仿射合併後選是從第一可用的仿射編碼相鄰塊的控制點的MV導出,例如,如果應用四參數仿射運動模型,則第一可用的仿射編碼相鄰塊的左上NxN子塊以及右上NxN子塊的MV被用於導出仿射合併後選。當對於六參數仿射運動模型包括第三控制點時,第一可用的仿射編碼 相鄰塊的左底部NxN子塊的MV也被用於導出仿射合併後選。 For the current block 20 encoded in the merge mode, the five adjacent coded sub-blocks C0 (called the bottom left block), B0 (called the top right block), and B1 (called the top right corner) in Figure 2 Block), C1 (referred to as the lower left corner block), and A0 (referred to as the upper left corner block) are sequentially checked to determine whether any of the adjacent encoded sub-blocks is encoded in the affine inter-mode or affine Merge mode. In this example, the current block 20 is a prediction unit (PU). Only when any one of the adjacent coded sub-blocks is encoded in the affine inter mode or the affine merge mode, the affine flag is identified to indicate whether the current block 20 is encoded in the affine merge mode. When encoding or decoding the current block 20 according to the affine merge mode, the first available affine-coded neighboring block is selected from 5 neighboring coded sub-blocks. The first available affine-coded neighboring block including the selected neighboring coded sub-blocks is used to derive the affine-combined selection. The affine merge is used to select the predictor used to derive the reference picture of the current block. As shown in Figure 2, the selection order for selecting one of the adjacent coded sub-blocks is from the bottom-left block, top-right block, top-right block, bottom-left block, and top-left block (C0 → B0 → B1 → C1 → A0). The affine merge selection for the current block 20 is derived from the MV of the control point of the first available affine coding neighboring block. For example, if a four-parameter affine motion model is applied, the first available affine coding phase is The MVs of the upper left NxN sub-blocks and the upper right NxN sub-blocks of the neighboring blocks are used to derive the affine merge selection. When a third control point is included for a six-parameter affine motion model, the first available affine coding The MVs of the NxN sub-blocks at the bottom left of neighboring blocks are also used to derive the affine merged selection.

一種視訊編碼系統中用於具有仿射運動補償的視訊編碼以及解碼的方法以及裝置被揭露。根據本發明的視訊編碼器的實施例接收與當前圖片中當前塊相關聯的輸入資料,且根據本發明的視訊解碼器的實施例接收對應於包括當前圖片中當前塊的壓縮資料的視訊位元串流。根據仿射運動模型,當前塊被編碼或將被編碼於仿射模式。本發明的各實施例減少了用於仿射候選導出的時間緩衝器的緩衝器要求。時間緩衝器儲存少於當前圖片中先前編碼塊(previous coded block)的所有運動矢量的已選擇運動矢量。此方法的實施例從時間緩衝器中獲取相鄰塊的兩個或者更多運動矢量,其中,至少一個獲取的運動矢量不對應於最接近(closest)當前塊的上邊界的第一相鄰NxN塊列(row)或最接近當前塊的左邊界的第一相鄰NxN塊行(column)的子塊,且NxN為時間緩衝器中用於儲存一個運動矢量的塊大小。此方法進一步使用相鄰塊的已獲取的兩個或者更多運動矢量來導出包括多個仿射運動矢量的仿射候選,且通過使用由已導出的仿射候選導出的一個或多個運動補償塊來預測當前塊來編碼或解碼當前塊。每個仿射運動矢量預測當前塊的點以及一個或多個運動補償塊的對應點之間的運動。 A method and device for video encoding and decoding with affine motion compensation in a video encoding system are disclosed. An embodiment of the video encoder according to the present invention receives input data associated with the current block in the current picture, and an embodiment of the video decoder according to the present invention receives video bits corresponding to the compressed data including the current block in the current picture Streaming. According to the affine motion model, the current block is encoded or will be encoded in affine mode. Embodiments of the present invention reduce the buffer requirements for the time buffer used for affine candidate derivation. The time buffer stores selected motion vectors that are less than all motion vectors of the previous coded block in the current picture. An embodiment of this method obtains two or more motion vectors of neighboring blocks from the time buffer, wherein at least one of the acquired motion vectors does not correspond to the first neighboring NxN closest to the upper boundary of the current block A block row or a sub-block of the first adjacent NxN block column closest to the left boundary of the current block, and NxN is the block size in the time buffer used to store one motion vector. This method further uses two or more acquired motion vectors of neighboring blocks to derive an affine candidate including multiple affine motion vectors, and by using one or more motion compensations derived from the derived affine candidate Block to predict the current block to encode or decode the current block. Each affine motion vector predicts motion between points of the current block and corresponding points of one or more motion-compensated blocks.

在一些實施例中,時間緩衝器儲存最接近當前塊的上邊界的第一相鄰NxN塊列以及第二相鄰NxN塊列的MV,且時間緩衝器儲存最接近當前塊的左邊界的第一相鄰 NxN塊行以及第二相鄰NxN塊行的MV。 In some embodiments, the time buffer stores the MVs of the first adjacent NxN block column and the second adjacent NxN block column that are closest to the upper boundary of the current block, and the time buffer stores the first Adjacent The MV of the NxN block row and the second adjacent NxN block row.

在一個實施例中,獲取的MV包括用於四參數仿射運動模型的第一以及第二MV,例如,如果相鄰塊鄰近或位於當前塊的左上角上方,則第一以及第二MV是分別替代相鄰塊的左上角以及右上角的原始MV的替代MV(replacing MV)。如果相鄰塊位於當前塊的左側,則第一MV為替代相鄰塊的左上角的原始MV的替代MV,且第二MV為相鄰塊的右上角的原始MV。在一實施例中,第一以及第二MV對應於相鄰塊中的第一以及第二子塊,且仿射MV中的第一仿射MV使用第一以及第二MV被導出,當前塊的像素位置與當前圖片相關,第一子塊的像素位置與當前圖片以及相鄰塊的寬度相關。仿射MV的第二仿射MV是使用第一以及第二MV、相鄰塊的寬度、以及當前塊的寬度被導出。 In one embodiment, the acquired MV includes the first and second MVs for the four-parameter affine motion model. For example, if an adjacent block is adjacent or located above the upper left corner of the current block, the first and second MVs are The replacement MV (replacing MV) of the original MV in the upper left corner and the upper right corner of the neighboring blocks, respectively. If the neighboring block is located on the left side of the current block, the first MV is a substitute MV replacing the original MV in the upper left corner of the neighboring block, and the second MV is the original MV in the upper right corner of the neighboring block. In an embodiment, the first and second MVs correspond to the first and second sub-blocks in adjacent blocks, and the first affine MV in the affine MV is derived using the first and second MVs, and the current block The pixel position of is related to the current picture, and the pixel position of the first sub-block is related to the width of the current picture and neighboring blocks. The second affine MV of the affine MV is derived using the first and second MVs, the width of adjacent blocks, and the width of the current block.

在另一實施例中,獲取的MV包括用於六參數仿射運動模型的第一、第二以及第三MV,例如,三個MV是用於相鄰塊中的第一、第二以及第三子塊,且第一仿射MV是使用三個MV中的至少兩個來導出,當前塊的像素位置與當前圖片相關,第一子塊的像素位置與當前圖片以及相鄰塊的寬度相關。第二仿射MV是使用第一以及第二運動矢量、相鄰塊的寬度、以及當前塊的寬度來導出,且第三仿射MV是使用第一以及第三運動矢量以及相鄰塊的高度和當前塊的高度中的至少一個來導出。在本實施例中,如果相鄰塊位於當前塊的上方,則第一、第二MV為替代相鄰塊的左上角以及右上角的原始MV的替代MV,且第三MV為相鄰塊的左下(lower-left)角 的原始MV。第一、第二、以及第三MV為替代相鄰塊的左上角、右上角、以及左下角的原始MV的替代MV,如果相鄰塊鄰近當前塊的左上角。如果相鄰塊位於當前塊的左側,則第一以及第三MV為替代相鄰塊的左上角以及左下角的原始MV的替代MV,且第二MV為相鄰塊的右上角的原始MV。 In another embodiment, the acquired MV includes the first, second, and third MVs for the six-parameter affine motion model. For example, the three MVs are the first, second, and third MVs in adjacent blocks. Three sub-blocks, and the first affine MV is derived using at least two of the three MVs. The pixel position of the current block is related to the current picture, and the pixel position of the first sub-block is related to the width of the current picture and neighboring blocks. . The second affine MV is derived using the first and second motion vectors, the width of the neighboring block, and the width of the current block, and the third affine MV is derived using the first and third motion vectors and the height of the neighboring block. And at least one of the height of the current block. In this embodiment, if the neighboring block is located above the current block, the first and second MVs are substitute MVs that replace the upper-left corner of the neighboring block and the original MV at the upper-right corner, and the third MV is the neighboring MV Lower-left corner Original MV. The first, second, and third MVs are replacement MVs that replace the upper-left corner, upper-right corner, and lower-left corner of the original MV if the neighboring block is adjacent to the upper-left corner of the current block. If the neighboring block is located on the left side of the current block, the first and third MVs are substitute MVs that replace the upper left corner and the lower left corner of the original MV, and the second MV is the upper right corner original MV of the neighboring block.

根據具有兩個控制點的四參數仿射運動模型或根據具有三個控制點的六參數仿射運動模型,當前塊是由運動補償塊通過仿射候選的仿射運動矢量來預測。時間緩衝器儲存選擇的運動矢量,例如,時間緩衝器儲存當前塊上方的M個NxN塊列的MV,且M小於最大編碼單元高度除以N(CTU_height/N)。在另一實施例中,時間緩衝器儲存當前塊左側的K個NxN塊行的MV,且K小於最大編碼單元寬度除以N(CTU_width/N)。 According to a four-parameter affine motion model with two control points or a six-parameter affine motion model with three control points, the current block is predicted by the motion compensation block through the affine motion vector of the affine candidate. The time buffer stores the selected motion vector. For example, the time buffer stores the MVs of M NxN block columns above the current block, and M is less than the maximum coding unit height divided by N (CTU_height / N). In another embodiment, the time buffer stores the MVs of K NxN block rows to the left of the current block, and K is less than the maximum coding unit width divided by N (CTU_width / N).

在本方法的一些實施例中,獲取的MV是相鄰塊的兩個或者更多控制點的原始MV。控制點包括相鄰塊的左上角、右上角、右下角、以及左下角中的至少兩個。在一實施例中,時間緩衝器儲存2個NxN塊列以及2個NxN塊行的MV,包括:第一相鄰NxN塊列、第一相鄰NxN塊行、頂NxN塊列集合(top NxN block row set)以及最左NxN塊行集合(left-most NxN block column set)的原始MV。第一相鄰NxN塊列是最接近當前塊的上邊界的上方相鄰塊(upper neighboring block)的最後一列,第一相鄰NxN塊行是最接近當前塊的左邊界的左側相鄰塊的最後一行,頂NxN塊列集合為上方相鄰塊中的第一列,且最左NxN塊行集合為左側相鄰塊中的第一行。 In some embodiments of the method, the acquired MV is an original MV of two or more control points of a neighboring block. The control point includes at least two of the upper left corner, the upper right corner, the lower right corner, and the lower left corner of the adjacent block. In an embodiment, the time buffer stores two NxN block columns and two NxN block rows of MVs, including: first adjacent NxN block columns, first adjacent NxN block rows, and top NxN block column set (top NxN block row set) and the original MV of the left-most NxN block column set. The first adjacent NxN block column is the last column of the upper neighboring block closest to the upper boundary of the current block, and the first adjacent NxN block row is the left adjacent block closest to the left boundary of the current block. In the last row, the top NxN block column set is the first column in the upper neighboring block, and the leftmost NxN block row set is the first row in the left neighboring block.

在又一實施例中,此方法包括接收與編碼或將編碼於仿射模式的當前塊相關聯的輸入資料,計算以及儲存用於當前圖片中多個已編碼塊的仿射參數,從時間緩衝器獲取對應於當前塊的相鄰塊的一個或多個已編碼塊的仿射參數以導出包括多個仿射MV的仿射候選。通過使用由已導出的仿射候選導出的一個或多個運動補償塊預測當前塊來編碼或解碼當前塊。每個仿射運動矢量預測當前塊的點以及一個或多個運動補償塊的對應點之間的運動。 In yet another embodiment, the method includes receiving input data associated with a current block encoded or to be encoded in an affine mode, calculating and storing affine parameters for a plurality of encoded blocks in the current picture, buffered from time The encoder obtains affine parameters of one or more encoded blocks corresponding to neighboring blocks of the current block to derive an affine candidate including a plurality of affine MVs. The current block is encoded or decoded by predicting the current block using one or more motion-compensated blocks derived from the derived affine candidate. Each affine motion vector predicts motion between points of the current block and corresponding points of one or more motion-compensated blocks.

在一實施例中,當仿射運動模型是使用左上角、右上角、左下角、以及右下角中的兩個作為控制點的四參數仿射運動模型時,仿射參數包括相鄰塊的水平方向運動矢量偏置以及一個運動矢量,或當仿射運動模型是使用左上角、右上角、左下角、以及右下角中的兩個作為控制點的四參數仿射運動模型時,仿射參數包括相鄰塊的垂直方向運動矢量偏置以及一個運動矢量。在另一實施例中,當仿射運動模型為六參數仿射運動模型時,仿射參數包括相鄰塊中的水平方向MV偏置、垂直方向MV偏置、以及運動矢量。相鄰塊中運動矢量的示例為相鄰塊的左上角、右上角、右下角、或左下角的運動矢量。 在另一實施例中,仿射參數包括用於所述已編碼塊的已縮放MV偏置。在又一實施例中,仿射參數包括表示兩個或三個控制點的運動矢量的兩個或三個仿射運動矢量,且時間緩衝器儲存用於所述已編碼塊的兩個或三個仿射運動矢量。 In an embodiment, when the affine motion model is a four-parameter affine motion model using two of the upper left corner, the upper right corner, the lower left corner, and the lower right corner as control points, the affine parameters include the levels of adjacent blocks. Directional motion vector offset and one motion vector, or when the affine motion model is a four-parameter affine motion model using two of the upper left, upper right, lower left, and lower right corners as control points, the affine parameters include Adjacent blocks have vertical motion vector offsets and one motion vector. In another embodiment, when the affine motion model is a six-parameter affine motion model, the affine parameters include a horizontal MV offset, a vertical MV offset, and a motion vector in neighboring blocks. Examples of motion vectors in adjacent blocks are the motion vectors of the upper left, upper right, lower right, or lower left corners of neighboring blocks. In another embodiment, the affine parameter includes a scaled MV offset for the coded block. In yet another embodiment, the affine parameter includes two or three affine motion vectors representing motion vectors of two or three control points, and a time buffer stores two or three for the encoded block. Affine motion vectors.

此方法的另一實施例包括接收與編碼或將被編碼於仿射模式的當前塊相關聯的輸入資料,從時間緩衝器獲取有 效相鄰塊(valid neighboring block)的兩個或者更多MV以用於當前塊,使用獲取的有效相鄰塊的兩個或者更多MV導出包括仿射MV的仿射候選,且通過使用由已導出的仿射候選導出的一個或多個補償塊預測當前塊來編碼或解碼當前塊。有效相鄰塊不包括鄰近當前塊的左上角的相鄰塊。時間緩衝器儲存當前塊的一個相鄰NxN塊列以及一個相鄰NxN塊行的MV,其中,NxN為時間緩衝器中用於儲存一個MV的塊大小。仿射MV預測當前塊的點以及一個或多個運動補償塊的對應點之間的運動。 Another embodiment of this method includes receiving input data associated with a current block encoded or to be encoded in affine mode, and obtaining from the time buffer Two or more MVs of a valid neighboring block are used for the current block, and two or more MVs of the acquired valid neighboring block are used to derive an affine candidate including an affine MV, and by using One or more compensation blocks derived by the derived affine candidate predict the current block to encode or decode the current block. A valid neighboring block does not include neighboring blocks that are adjacent to the upper left corner of the current block. The time buffer stores the MV of an adjacent NxN block column and an adjacent NxN block row of the current block, where NxN is the block size used to store one MV in the time buffer. The affine MV predicts motion between points of the current block and corresponding points of one or more motion-compensated blocks.

本公開的方面進一步提供一種包括一個或多個被配置以執行具有仿射運動補償的視訊編碼方法的電子電路。通過對具體實施例的以下描述進行回顧,本發明的其他方面和特徵對於本領域普通技術人員將變得明顯。 Aspects of the present disclosure further provide an electronic circuit including one or more video coding methods configured to perform affine motion compensation. Other aspects and features of the invention will become apparent to those skilled in the art from a review of the following description of specific embodiments.

110、112、130、132、134‧‧‧角像素 110, 112, 130, 132, 134‧‧‧ corner pixels

102、122、20、30、40、44、60、80‧‧‧當前塊 102, 122, 20, 30, 40, 44, 60, 80‧‧‧ current block

104、124‧‧‧參考塊 104, 124‧‧‧ reference blocks

32、34‧‧‧相鄰塊 32, 34‧‧‧adjacent blocks

322‧‧‧左上NxN塊 322‧‧‧ Upper left NxN block

324‧‧‧右上NxN塊 324‧‧‧ Upper right NxN block

326‧‧‧左底部NxN塊 326‧‧‧Left bottom NxN block

342、344、346‧‧‧子塊 342, 344, 346 ‧‧‧ subblocks

41、42、43‧‧‧相鄰已編碼塊 41, 42, 43‧‧‧ Neighboring coded blocks

45、46、47‧‧‧相鄰仿射已編碼塊 45, 46, 47‧‧‧‧adjacent affine coded blocks

422、424、423、425、432、433、434、435、437、436、412、413、414、415、416、462、464、465、466、467、452、453、454、455、456、457、472、473、474、475、477‧‧‧子塊 422, 424, 423, 425, 432, 433, 434, 435, 437, 436, 412, 413, 414, 415, 416, 462, 464, 465, 466, 467, 452, 453, 454, 455, 456, 457, 472, 473, 474, 475, 477‧‧‧ subblocks

S50、S52、S54、S56、S58‧‧‧步驟 S50, S52, S54, S56, S58‧‧‧ steps

61、62、63‧‧‧相鄰塊 61, 62, 63‧‧‧adjacent blocks

616、612、636、632、634、622、624、615、613、637、633、635、623、625、614、626‧‧‧子塊 616, 612, 636, 632, 634, 622, 624, 615, 613, 637, 633, 635, 623, 625, 614, 626‧‧‧ subblocks

S70、S72、S74、S76‧‧‧步驟 S70, S72, S74, S76 ‧‧‧ steps

81、82、83‧‧‧相鄰塊 81, 82, 83‧‧‧ neighbouring blocks

812、814、816、818、824、822、826、828、832、834、836‧‧‧子塊 812, 814, 816, 818, 824, 822, 826, 828, 832, 834, 836‧‧‧ subblocks

900‧‧‧視訊編碼器 900‧‧‧ Video Encoder

910、1012‧‧‧幀內預測 910, 1012‧‧‧ Intra prediction

912、1014‧‧‧仿射預測 912, 1014 ‧ ‧ affine prediction

9122、10142‧‧‧仿射幀間預測 9122, 10142‧Affine inter prediction

9124、10144‧‧‧仿射合並預測 9124, 10144 ‧ ‧ affine combined prediction

914、1016‧‧‧開關 914, 1016‧‧‧ Switch

916‧‧‧加法器 916‧‧‧Adder

918‧‧‧變換 918‧‧‧ transformation

920‧‧‧量化 920‧‧‧Quantitative

922、1020‧‧‧逆量化 922, 1020‧‧‧ inverse quantization

924、1022‧‧‧逆變換 924, 1022‧‧‧ inverse transform

926、1018‧‧‧重建 926, 1018 ‧ ‧ ‧ Reconstruction

928、1024‧‧‧解塊濾波 928, 1024‧‧‧ Deblocking filtering

930、1026‧‧‧樣本自適應偏置 930, 1026‧‧‧sample adaptive bias

932、1028‧‧‧參考圖片緩衝器 932, 1028‧‧‧ reference picture buffer

934‧‧‧熵編碼器 934‧‧‧entropy encoder

1000‧‧‧視訊解碼器 1000‧‧‧Video decoder

1010‧‧‧熵解碼器 1010‧‧‧ Entropy Decoder

第1A圖所示為根據兩個控制點將當前塊映射到一個或多個補償塊的四參數仿射預測。 Figure 1A shows a four-parameter affine prediction that maps the current block to one or more compensation blocks based on two control points.

第1B圖所示為根據三個控制點將當前塊映射到一個或多個補償塊的六參數仿射預測。 Figure 1B shows a six-parameter affine prediction that maps the current block to one or more compensation blocks based on three control points.

第2圖所示為用於仿射幀間模式或仿射合併模式的基於相鄰已編碼塊的仿射候選導出的示例。 Figure 2 shows an example of affine candidate derivation based on neighboring coded blocks for affine inter-mode or affine merge mode.

第3圖所示為根據仿射合併模式的使用來自相鄰塊的資訊來編碼或解碼當前塊的示例。 Figure 3 shows an example of encoding or decoding the current block using information from neighboring blocks according to the affine merge mode.

第4A圖以及第4B圖所示為根據本發明實施例的儲存用 於仿射候選導出的兩個相鄰塊列以及兩個相鄰塊行的MV的兩個示例。 4A and 4B are diagrams showing a storage device according to an embodiment of the present invention. Examples of two adjacent block columns and two adjacent block rows derived from affine candidates.

第5圖所示為結合本發明實施例的具有仿射運動補償的視訊編碼系統的示範性流程圖。 FIG. 5 is an exemplary flowchart of a video coding system with affine motion compensation combined with an embodiment of the present invention.

第6圖所示為根據本發明實施例的儲存用於仿射候選導出的相鄰塊的控制點的原始MV的示例。 FIG. 6 shows an example of storing an original MV of control points of neighboring blocks used for affine candidate derivation according to an embodiment of the present invention.

第7圖所示為結合本發明實施例的具有仿射運動補償的視訊編碼系統的示範性流程圖。 FIG. 7 is an exemplary flowchart of a video coding system with affine motion compensation combined with an embodiment of the present invention.

第8圖所示為根據本發明實施例的儲存用於仿射候選導出的最接近相鄰塊列以及最接近相鄰塊行的MV的示例。 FIG. 8 shows an example of storing the MVs of the nearest neighboring block column and the nearest neighboring block row for affine candidate derivation according to an embodiment of the present invention.

第9圖所示為根據本發明各實施例的用於實現仿射運動預測以及補償的視訊編碼器的示範性系統框圖。 FIG. 9 shows an exemplary system block diagram of a video encoder for implementing affine motion prediction and compensation according to various embodiments of the present invention.

第10圖所示為根據本發明各實施例的用於實現仿射運動補償的視訊解碼器的示範性系統框圖。 FIG. 10 shows an exemplary system block diagram of a video decoder for implementing affine motion compensation according to various embodiments of the present invention.

可以容易地理解,如本文附圖中所示以及所描述的本發明的組件可以以各種各樣的不同配置來佈置和設計。 因此,如附圖所示的本發明的系統以及方法的實施例的以下更詳細的描述並不旨在限制如所要求保護的本發明的範圍,而是僅代表本發明的可選擇的實施例。 It can be easily understood that the components of the present invention as shown in the drawings and described herein can be arranged and designed in a variety of different configurations. Therefore, the following more detailed description of embodiments of the system and method of the present invention as shown in the accompanying drawings is not intended to limit the scope of the present invention as claimed, but merely to represent alternative embodiments of the present invention .

參考遍及本說明書的“一實施例”、“一些實施例”、或類似語言意味著結合實施例描述的特定特徵、結構、或特性可被包括於本發明的至少一個實施例中。因此,遍及本說明書中各處的短語“在一實施例中”或“在一些實施例中”的出現不 一定全指代相同的實施例,這些實施例可以單獨地或結合一個或多個其它實施例來實現。此外,所描述的特徵、結構、或特性可以任何合適的方式組合於一個或多個實施例中。然而,相關領域的技術人員將認識到,本發明可在沒有一個或多個具體細節、或具有其它方法、組件等情況下被實現。於其它情況下,已知的結構或操作未被示出或作詳細的描述以避免模糊本發明的各方面。 Reference throughout the specification to "one embodiment", "some embodiments", or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the invention. Thus, the appearance of the phrases "in one embodiment" or "in some embodiments" throughout this specification does not They must all refer to the same embodiment, which can be implemented individually or in combination with one or more other embodiments. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Those skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, and the like. In other instances, well-known structures or operations have not been shown or described in detail to avoid obscuring aspects of the present invention.

符合HEVC標準的解碼器降採樣(down-sample)由包括採用16:1的比率的AMVP模式以及合併模式的幀間預測編碼的每個PU的已解碼運動矢量,且解碼器將降採樣的運動矢量儲存於緩衝器中以用於當前圖片中後續塊(following block)以及以及後續圖片的MVP導出。每16x16塊中左上(top-left)4x4塊的運動矢量被儲存於緩衝器中,且已儲存的運動矢量代表整個16x16塊的運動矢量。運動矢量精度可為1/64像素精度且通過應用高精度離散余弦變換內插濾波器(Discrete Cosine Transform Interpolation Filter,DCTIF)來產生預測子。接著,在儲存到緩衝器之前,高精度運動矢量場被剪切至1/8像素精度。 The HEVC-compliant decoder down-sample consists of the decoded motion vector of each PU including inter prediction encoding using AMVP mode and merge mode with a 16: 1 ratio, and the decoder will downsample the motion The vector is stored in the buffer for subsequent blocks in the current picture and for MVP export of subsequent pictures. The top-left 4x4 motion vectors of each 16x16 block are stored in the buffer, and the stored motion vectors represent the motion vectors of the entire 16x16 block. The motion vector accuracy can be 1/64 pixel accuracy and the predictor is generated by applying a high-precision Discrete Cosine Transform Interpolation Filter (DCTIF). Then, the high-precision motion vector field is clipped to 1/8 pixel accuracy before being stored in the buffer.

為了處理於仿射合併模式中編碼的塊,根據如第3圖所示的相鄰已編碼子塊A、B、C、D以及E的選擇順序,確定第一可用的仿射編碼相鄰塊。第3圖所示為根據仿射合併模式的使用相鄰塊的資訊來編碼或解碼當前塊30的示例。在此示例中,當前塊30的兩個相鄰已編碼子塊B以及E被編碼於仿射模式。包括相鄰已編碼子塊B的相鄰塊32可以是仿射幀 間已編碼塊或仿射合併已編碼塊,類似地,包括相鄰已編碼子塊E的相鄰塊34可以是仿射幀間已編碼塊或仿射合併已編碼塊。在此示例中,第一可用的仿射編碼相鄰塊為相鄰塊32。如果仿射模式中使用兩個控制點,則用於預測當前塊30的仿射合併後選可由第一可用的仿射編碼相鄰塊32的左上NxN塊322的運動矢量VB0以及右上NxN塊324的運動矢量VB1導出。如果仿射模式中使用三個控制點,則仿射合併後選進一步由第一可用的仿射編碼相鄰塊32的左底部NxN塊326的運動矢量VB2導出。NxN為時間MV緩衝器中用於儲存MV的最小塊大小,例如,N等於4。於HEVC系統中,只有當前編碼單元(coding unit,CU)或編碼樹單元(coding tree unit,CTU)的相鄰4x4塊列以及相鄰4x4塊行的運動矢量以及當前CTU的運動矢量被儲存。CTU也是定義視訊編碼系統中允許的最大編碼單元(largest coding unit,LCU)的術語。所有其它運動矢量以16:1的比率被丟棄或降採樣,並儲存於緩衝器中。具有仿射運動補償的視訊編碼系統需要附加的MV緩衝器來儲存用於仿射候選導出的相鄰已編碼塊的運動矢量。 In order to process the blocks coded in the affine merge mode, the first available affine-coded neighboring block is determined according to the selection order of the adjacent coded sub-blocks A, B, C, D, and E shown in FIG. 3 . FIG. 3 shows an example of encoding or decoding the current block 30 using the information of neighboring blocks according to the affine merge mode. In this example, two adjacent encoded sub-blocks B and E of the current block 30 are encoded in an affine mode. The neighboring block 32 including the neighboring coded sub-block B may be an affine inter-coded block or the affine merged coded block. Similarly, the neighboring block 34 including the neighboring coded sub-block E may be affine. Inter-coded blocks or affine merged coded blocks. In this example, the first available affine-coded neighboring block is the neighboring block 32. If two control points are used in the affine mode, the motion vector V B0 and the upper right NxN block of the upper left NxN block 322 and the upper right NxN block of the first available affine encoding neighboring block 32 can be selected after affine merge for predicting the current block 30 The motion vector V B1 of 324 is derived. If three control points are used in the affine mode, the affine merge selection is further derived from the motion vector V B2 of the left bottom NxN block 326 of the first available affine-coded neighboring block 32. NxN is the minimum block size for storing MVs in the time MV buffer. For example, N is equal to 4. In the HEVC system, only motion vectors of adjacent 4x4 block columns and adjacent 4x4 block rows of the current coding unit (coding unit, CU) or coding tree unit (CTU), and motion vectors of the current CTU are stored. CTU is also a term that defines the largest coding unit (LCU) allowed in a video coding system. All other motion vectors are discarded or down-sampled at a 16: 1 ratio and stored in the buffer. Video coding systems with affine motion compensation require additional MV buffers to store motion vectors of neighboring coded blocks for affine candidate derivation.

以下描述了用於視訊編碼系統的緩衝器管理的實施例,其在減少緩衝器要求的情況下實現仿射運動補償。 The following describes an embodiment of buffer management for a video coding system that implements affine motion compensation while reducing buffer requirements.

第一實施例。於第一實施例中,當前圖片的當前塊根據包括仿射運動矢量的仿射候選由仿射運動補償來編碼或解碼。每個仿射運動矢量預測當前塊的控制點的運動矢量來作為被用於預測當前塊的點以及仿射運動補償塊的對應點之間的運動的仿射運動矢量。第一實施例中的時間MV緩衝器儲 存當前塊的單個相鄰NxN塊列以及單個相鄰NxN塊行的運動矢量。NxN表示時間MV緩衝器中用於儲存運動矢量的最小塊大小,例如,N等於4。在本實施例中,儲存於時間MV緩衝器中的MV的數量與用於MVP導出的傳統的HEVC時間MV緩衝器的數量相同。當用於當前塊的仿射候選的導出需要仿射編碼相鄰塊的控制點的運動矢量,且控制點並不在當前CTU內也不在當前塊的相鄰NxN塊列或相鄰NxN塊行內時,從緩衝器獲取替代運動矢量以導出替代仿射編碼相鄰塊的控制點的原始運動矢量的對應仿射運動矢量。替代運動矢量是儲存於緩衝器的降採樣的運動矢量,且此替代運動矢量表示整個16x16塊的運動。替代運動矢量可以是僅由控制點附近的子塊使用的運動矢量。例如,替代運動矢量對應於屬於與控制點相同的16x16塊的子塊。根據第一實施例導出的仿射候選中的仿射運動矢量通常不是精確的運動矢量預測子,因為降採樣的運動矢量有時不反映相鄰塊的控制點的真實運動。 First embodiment. In the first embodiment, the current block of the current picture is encoded or decoded by affine motion compensation according to the affine candidate including the affine motion vector. Each affine motion vector predicts a motion vector of a control point of the current block as an affine motion vector used to predict motion between a point of the current block and a corresponding point of the affine motion compensation block. The temporal MV buffer in the first embodiment stores a single adjacent NxN block column of a current block and a motion vector of a single adjacent NxN block row. NxN represents the minimum block size in the temporal MV buffer for storing motion vectors, for example, N is equal to 4. In this embodiment, the number of MVs stored in the temporal MV buffer is the same as the number of conventional HEVC temporal MV buffers used for MVP derivation. When derivation of affine candidates for the current block requires affine-coding motion vectors of control points of adjacent blocks, and the control points are not in the current CTU nor in the adjacent NxN block column or adjacent NxN block row of the current block , The substitute motion vector is obtained from the buffer to derive the corresponding affine motion vector instead of the original motion vector of the control point of the affine-coded neighboring block. The substitute motion vector is a down-sampled motion vector stored in the buffer, and this substitute motion vector represents the motion of the entire 16x16 block. The alternative motion vector may be a motion vector used only by a sub-block near the control point. For example, the substitute motion vector corresponds to a subblock belonging to the same 16x16 block as the control point. The affine motion vector in the affine candidate derived according to the first embodiment is usually not an accurate motion vector predictor, because the down-sampled motion vector sometimes does not reflect the true motion of the control points of adjacent blocks.

第二實施例。第二實施例通過於時間MV緩衝器中儲存M個相鄰NxN塊列的MV以及K個相鄰NxN塊行的MV來儲存更多運動矢量。在本實施例中,M以及K為大於或等於2的整數,且N為大於1的整數。作為於時間MV緩衝器中儲存當前圖片中已編碼塊的所有運動矢量的替代,儲存少於當前圖片中已編碼塊的所有運動矢量的選擇運動矢量。選擇運動矢量為M個塊列以及K個塊行的MV,其中,塊列的數量M小於最大編碼樹單元的高度除以N(1<M<CTU_height/N)。NxN塊是指於時間MV緩衝器中儲存MV的最小塊大小。 於第二實施例的示例中,如第4A圖以及第4B圖所示,M以及K均等於2。在此示例中,時間緩衝器儲存最接近當前塊的上邊界的第一以及第二相鄰NxN塊列的運動矢量以及時間緩衝器也儲存最接近當前塊的左邊界的第一以及第二相鄰NxN塊行的運動矢量。第4A圖以及第4B圖所示為使用兩個相鄰塊列以及兩個相鄰塊行的用於編碼於仿射模式的當前塊的仿射候選導出的兩個示例。如果因為對應子塊不在兩個相鄰塊列中也不在兩個相鄰塊行中,相鄰塊的控制點的運動矢量不儲存於時間MV緩衝器中,則某些替代運動矢量被獲取以導出仿射候選中的仿射運動矢量。 The second embodiment. The second embodiment stores more motion vectors by storing MVs of M adjacent NxN block columns and MVs of K adjacent NxN block rows in the time MV buffer. In this embodiment, M and K are integers greater than or equal to 2, and N is an integer greater than 1. Instead of storing all the motion vectors of the coded blocks in the current picture in the temporal MV buffer, a selected motion vector that is less than all the motion vectors of the coded blocks in the current picture is stored. The motion vector is selected as the MV of M block columns and K block rows, where the number M of block columns is less than the height of the largest coding tree unit divided by N (1 <M <CTU_height / N). The NxN block is the minimum block size for storing MVs in the temporal MV buffer. In the example of the second embodiment, as shown in FIGS. 4A and 4B, M and K are both equal to two. In this example, the time buffer stores the motion vectors of the first and second adjacent NxN block columns closest to the upper boundary of the current block, and the time buffer also stores the first and second phases closest to the left boundary of the current block. Motion vectors for adjacent NxN block rows. 4A and 4B show two examples of affine candidate derivation for the current block encoded in the affine mode using two adjacent block columns and two adjacent block rows. If the motion vectors of the control points of adjacent blocks are not stored in the time MV buffer because the corresponding subblocks are not in two adjacent block columns or in two adjacent block rows, some alternative motion vectors are obtained to Derive affine motion vectors from affine candidates.

在第4A圖示出的示例中,當前塊40的相鄰已編碼塊41、42以及43均編碼於仿射模式。當前塊40上方的第二相鄰塊列的子塊423以及425的替代運動矢量VB0以及VB1被用於導出仿射候選中的仿射運動矢量以替代相鄰已編碼塊42的第一列中的子塊422以及424的原始運動矢量VB0以及VB1。位於當前塊40上方的第二相鄰塊列或當前塊40左側的第二相鄰塊行中的子塊433、435、437的替代運動矢量VE0’、VE1’、以及VE2’被用於導出仿射運動矢量以替代子塊432、434以及436的原始運動矢量VE0、VE1以及VE2。當前塊40左側的第二相鄰塊行中的子塊413以及415的替代運動矢量VA0’以及VA2被用於導出仿射運動矢量以替代相鄰已編碼塊41的第一行中的子塊412以及416的原始運動矢量VA0以及VA2。 子塊426以及414的原始運動矢量VB2以及VA1被用於導出當前塊40的仿射運動矢量,因為這兩個子塊426以及414位於 當前塊40的第一以及第二相鄰塊列或第一以及第二相鄰塊行中。使用仿射運動模型,仿射候選中已導出的仿射運動矢量被用於預測當前塊40的點以及一個或多個補償塊的對應點之間的運動。 In the example shown in FIG. 4A, the adjacent coded blocks 41, 42, and 43 of the current block 40 are all encoded in the affine mode. The alternative motion vectors V B0 and V B1 of the sub-blocks 423 and 425 of the second neighboring block column above the current block 40 are used to derive the affine motion vectors in the affine candidate to replace the first of the neighboring coded block 42. The original motion vectors V B0 and V B1 of the sub-blocks 422 and 424 in the column. The alternative motion vectors V E0 ′ , V E1 ′ , and V E2 ′ of the sub-blocks 433, 435, and 437 in the second neighboring block column above the current block 40 or the second neighboring block row to the left of the current block 40 are Used to derive affine motion vectors to replace the original motion vectors V E0 , V E1, and V E2 of sub-blocks 432, 434, and 436. The alternative motion vectors V A0 ′ and V A2 of the sub-blocks 413 and 415 in the second neighboring block row on the left side of the current block 40 are used to derive an affine motion vector to replace the first row in the neighboring encoded block 41 The original motion vectors V A0 and V A2 of the sub-blocks 412 and 416. The original motion vectors V B2 and V A1 of the sub-blocks 426 and 414 are used to derive the affine motion vector of the current block 40 because these two sub-blocks 426 and 414 are located in the first and second neighboring block columns of the current block 40. Or in the first and second adjacent block rows. Using the affine motion model, the derived affine motion vector in the affine candidate is used to predict the motion between the points of the current block 40 and the corresponding points of the one or more compensation blocks.

第4B圖為第4A圖所示的仿射候選導出方法的備選解決方案。於第4B圖中,當導出用於編碼或解碼當前塊44的仿射候選時,相鄰仿射已編碼塊的控制點的所有原始運動矢量是由當前塊44的第一以及第二相鄰塊列以及第一以及第二相鄰塊行的其它子塊的運動矢量來替代。由六參數仿射運動模型預測的仿射已編碼塊的控制點包括仿射已編碼塊的左上角、右上角、以及左下角。相鄰仿射已編碼塊46的子塊463、465以及467中的替代運動矢量VB0’、VB1’以及VB2’被用於導出仿射運動矢量以替代子塊462、464以及466的原始運動矢量VB0,VB1以及VB2。相鄰仿射已編碼塊47中的子塊473、475以及477中的替代運動矢量VE0’、VE1’以及VE2’被用於導出仿射運動矢量以替代子塊472、474以及476的原始運動矢量VE0,VE1以及VE2。相鄰仿射已編碼塊45中的子塊453、455以及457的替代運動矢量VA0’、VA1’以及VA2’被用於導出仿射運動矢量以替代子塊452、454以及456的原始運動矢量VA0,VA0以及VA2。一般而言,在本實施例中,M個相鄰塊列以及K個塊行的其他位置可被用於仿射候選導出。 Figure 4B is an alternative solution to the affine candidate derivation method shown in Figure 4A. In FIG. 4B, when affine candidates for encoding or decoding the current block 44 are derived, all original motion vectors of the control points of adjacent affine coded blocks are determined by the first and second neighbors of the current block 44. The motion vectors of the block columns and other sub-blocks of the first and second neighboring block rows are replaced. The control points of the affine coded block predicted by the six-parameter affine motion model include the upper left corner, the upper right corner, and the lower left corner of the affine coded block. Substitute motion vectors V B0 ′ , V B1 ′, and V B2 ′ in sub-blocks 463, 465, and 467 of neighboring affine coded block 46 are used to derive affine motion vectors to replace sub-blocks 462, 464, and 466. The original motion vectors V B0 , V B1 and V B2 . Substitute motion vectors V E0 ′ , V E1 ′, and V E2 ′ in sub-blocks 473, 475, and 477 in neighboring affine coded block 47 are used to derive affine motion vectors to replace sub-blocks 472, 474, and 476 The original motion vectors V E0 , V E1 and V E2 . Substitute motion vectors V A0 ′ , V A1 ′, and V A2 ′ of subblocks 453, 455, and 457 in neighboring affine coded block 45 are used to derive affine motion vectors to replace subblocks 452, 454, and 456. The original motion vectors V A0 , V A0 and V A2 . Generally speaking, in this embodiment, M adjacent block columns and other positions of K block rows can be used for affine candidate derivation.

在不失一般性的情況下,僅有第4A圖所示的仿射候選導出方法進一步被描述如下。於第一示例中,包括三個仿射運動矢量Mv0、Mv1以及Mv2的仿射候選被導出以使用六 參數仿射運動模型預測當前塊40。於第一示例中,仿射候選的仿射運動矢量是從相鄰仿射已編碼塊42導出。for a用於左上角的第一控制點的仿射運動矢量Mv0=(V0_x,V0_y)由式子(6)來導出。 Without loss of generality, only the affine candidate derivation method shown in FIG. 4A is further described as follows. In the first example, an affine candidate including three affine motion vectors Mv0, Mv1, and Mv2 is derived to use six The parametric affine motion model predicts the current block 40. In the first example, the affine motion vector of the affine candidate is derived from the adjacent affine coded block 42. For a, the affine motion vector Mv0 = (V0_x, V0_y) for the first control point in the upper left corner is derived from equation (6).

V0_x=VB0’_x+(VB2_x-VB0’_x)*(posCurPU_Y-posB0’_Y)/(2*N)+(VB1’_x-VB0’_x)*(posCurPU_X-posB0’_X)/RefPU_width,V0_y=VB0’_y+(VB2_y-VB0’_y)*(posCurPU_Y-posB0’_Y)/(2*N)+(VB1’_y-VB0’_y)*(posCurPU_X-posB0’_X)/RefPU_width; (6)其中,運動矢量VB0’=(VB0’_x,VB0’_y),VB1’=(VB1’_x,VB1’_y),以及VB2=(VB2_x,VB2_y)為獲取自M個相鄰NxN塊列以及K個相鄰NxN塊行的三個運動矢量。還應理解,這些運動矢量可由當前塊的M個相鄰NxN塊列以及K個相鄰NxN塊行中的任何其它已選擇子塊的對應運動矢量來替代。坐標(posCurPU_X,posCurPU_Y)表示與當前圖片的左上角樣本相關的當前塊40的左上角樣本的像素位置。坐標(posB0’_X,posB0’_Y)表示與當前圖片的左上角樣本相關的子塊422的左上角樣本的像素位置。RefPU_width表示相鄰塊42的寬度。位於右上以及左下角的第二以及第三控制點的仿射運動矢量Mv1=(V1_x,V1_y)以及Mv2=(V2_x,V2_y)分別由式子(7)導出。 V 0_x = V B0'_x + (V B2_x -V B0'_x ) * (posCurPU_Y-posB0'_Y) / (2 * N) + (V B1'_x -V B0'_x ) * (posCurPU_X-posB0'_X ) / RefPU_width, V 0_y = V B0'_y + (V B2_y -V B0'_y ) * (posCurPU_Y-posB0'_Y) / (2 * N) + (V B1'_y -V B0'_y ) * (posCurPU_X -posB0'_X) / RefPU_width; (6) where the motion vector V B0 ' = (V B0'_x , V B0'_y ), V B1' = (V B1'_x , V B1'_y ), and V B2 = (V B2_x , V B2_y ) are three motion vectors obtained from M adjacent NxN block columns and K adjacent NxN block rows. It should also be understood that these motion vectors may be replaced by corresponding motion vectors of the M neighboring NxN block columns of the current block and any other selected sub-blocks in the K neighboring NxN block rows. The coordinates (posCurPU_X, posCurPU_Y) represent the pixel position of the upper-left sample of the current block 40 related to the upper-left sample of the current picture. The coordinates (posB0'_X, posB0'_Y) represent the pixel positions of the upper-left samples of the sub-block 422 related to the upper-left samples of the current picture. RefPU_width indicates the width of the adjacent block 42. The affine motion vectors Mv1 = (V 1_x , V 1_y ) and Mv2 = (V 2_x , V 2_y ) at the second and third control points located at the upper right and lower left corners are derived from equation (7), respectively.

V1_x=V0_x+(VB1’_x-VB0’_x)* PU_width/RefPU_width,V1_y=V0_y+(VB1’_y-VB0’_y)* PU_width/RefPU_width;V2_x=V0_x+(VB2_x-VB0’_x)* PU_height/(2*N), V2_y=V0_y+(VB2_y-VB0’_y)* PU_height/(2*N); (7)其中,PU_width以及PU_height表示當前塊40的寬度以及高度。 V 1_x = V 0_x + (V B1'_x -V B0'_x ) * PU_width / RefPU_width, V 1_y = V 0_y + (V B1'_y -V B0'_y ) * PU_width / RefPU_width; V 2_x = V 0_x + (V B2_x -V B0'_x ) * PU_height / (2 * N), V 2_y = V 0_y + (V B2_y -V B0'_y ) * PU_height / (2 * N); (7) Among them, PU_width and PU_height Represents the width and height of the current block 40.

於第二示例中,包括兩個仿射運動矢量Mv0以及Mv1的仿射候選被導出以使用四參數仿射運動模型預測當前塊40。第二示例也使用來自相鄰仿射已編碼塊42的運動矢量以導出仿射候選。用於位於左上以及右上角的第一以及第二控制點的仿射運動矢量Mv0=(V0_x,V0_y)以及Mv1=(V1_x,V1_y)分別由式子(8)導出。 In the second example, an affine candidate including two affine motion vectors Mv0 and Mv1 is derived to predict a current block 40 using a four-parameter affine motion model. The second example also uses motion vectors from neighboring affine coded blocks 42 to derive affine candidates. The affine motion vectors Mv0 = (V0_x, V0_y) and Mv1 = (V1_x, V1_y) for the first and second control points located in the upper left and upper right corners are respectively derived from equation (8).

V0_x=VB0’_x-(VB1’_y-VB0’_y)*(posCurPU_Y-posB0’_Y)/RefPU_width+(VB1’_x-VB0’_x)*(posCurPU_X-posB0’_X)/RefPU_width,V0_y=VB0’_y+(VB1’_x-VB0’_x)*(posCurPU_Y-posB0’_Y)/RefPU_width+(VB1’_y-VB0’_y)*(posCurPU_X-posB0’_X)/RefPU_width;V1_x=V0_x+(VB1’_x-VB0’_x)* PU_width/RefPU_width,V1_y=V0_y+(VB1’_y-VB0’_y)* PU_width/RefPU_width。 (8) V 0_x = V B0'_x- (V B1'_y -V B0'_y ) * (posCurPU_Y-posB0'_Y) / RefPU_width + (V B1'_x -V B0'_x ) * (posCurPU_X-posB0'_X) / RefPU_width , V 0_y = V B0'_y + (V B1'_x -V B0'_x ) * (posCurPU_Y-posB0'_Y) / RefPU_width + (V B1'_y -V B0'_y ) * (posCurPU_X-posB0'_X) / RefPU_width; V 1_x = V 0_x + (V B1'_x -V B0'_x ) * PU_width / RefPU_width, V 1_y = V 0_y + (V B1'_y -V B0'_y ) * PU_width / RefPU_width. (8)

考慮到儲存頂部CTU的運動矢量的線緩衝器比儲存左側CTU的運動矢量的行緩衝器大很多,在一個示例中,於此第二實施例中不需要限定K的值,通過將K設置為等於最大編碼單元的寬度除以N(K=CTU_width/N),左側CTU的所有運動矢量被儲存。 Considering that the line buffer storing the motion vector of the top CTU is much larger than the line buffer storing the motion vector of the left CTU, in one example, there is no need to limit the value of K in this second embodiment. By setting K to Equal to the width of the largest coding unit divided by N (K = CTU_width / N), all motion vectors of the left CTU are stored.

第三實施例。於第三實施例中,用於每個固定大小塊或每個CU的仿射參數或控制點被有意儲存。於式子(3)中,左上NxN子塊的運動矢量Mv0=(V0x,V0y)以及右上NxN子塊的運動矢量Mv1=(V1x,V1y)被用於導出當前塊中所有NxN子塊的運動矢量。當前塊為CU或預測單元(prediction unit,PU)。已導出的運動矢量可由運動矢量Mv0加上位置相關MV偏置來表示。從式子(3)中,為了導出位於位置(x,y)的NxN子塊的運動矢量,水平方向MV偏置H_MV_offset以及垂直方向MV偏置V_MV_offset如式子(9)所示。 The third embodiment. In the third embodiment, the affine parameters or control points for each fixed-size block or each CU are intentionally stored. In equation (3), the motion vector Mv0 = (V 0x , V 0y ) of the upper left NxN sub-block and the motion vector Mv1 = (V 1x , V 1y ) of the upper right NxN sub-block are used to derive all NxN in the current block. Subblock motion vector. The current block is a CU or a prediction unit (PU). The derived motion vector can be represented by the motion vector Mv0 plus the position-dependent MV offset. From Equation (3), in order to derive the motion vector of the NxN sub-block located at position (x, y), the horizontal MV offset H_MV_offset and the vertical MV offset V_MV_offset are shown in Equation (9).

H_MV_offset=(V1x-V0x)* N/w,(V1y-V0y)* N/w; H_MV_offset = (V 1x -V 0x ) * N / w, (V 1y -V 0y ) * N / w;

V_MV_offset=-(V1y-V0y)* N/w,(V1x-V0x)* N/w。 (9) V_MV_offset =-(V 1y -V 0y ) * N / w, (V 1x -V 0x ) * N / w. (9)

對於六參數仿射運動模型,左上NxN子塊的運動矢量Mv0=(V0x,V0y)、右上NxN子塊的運動矢量Mv1=(V1x,V1y)、以及左底部NxN子塊的運動矢量Mv2=(V2x,V2y)被用於導出當前塊中所有NxN子塊的運動矢量。當前塊中每個像素A(x,y)的運動矢量場可根據式子(10)基於三個運動矢量Mv0、Mv1以及Mv2被導出。 For the six-parameter affine motion model, the motion vector Mv0 of the upper left NxN sub-block Mv0 = (V 0x , V 0y ), the motion vector of the upper right NxN sub-block Mv1 = (V 1x , V 1y ), and the motion of the bottom left NxN sub-block The vector Mv2 = (V 2x , V 2y ) is used to derive the motion vectors of all NxN sub-blocks in the current block. The motion vector field of each pixel A (x, y) in the current block can be derived based on three motion vectors Mv0, Mv1, and Mv2 according to equation (10).

類似地,為了根據六參數仿射運動模型導出位於位置(x,y)的NxN子塊的運動矢量(Vx,Vy),水平方向MV偏置H_MV_偏置以及垂直方向MV偏置H_MV_偏置如式 子(11)所示。 Similarly, in order to derive the motion vector (V x , V y ) of the NxN sub-block located at the position (x, y) according to the six-parameter affine motion model, the horizontal MV offset H_MV_ offset and the vertical MV offset H_MV _ Bias is shown in equation (11).

H_MV_offset=(v1x-v0x)* N/w,(v1y-v0y)* N/w;V_MV_offset=(v2x-v0x)* N/h,(v2y-v0y)* N/h; (11)其中,式子(9)以及(11)中的w以及h為編碼於仿射模式中的當前塊的寬度以及高度。 H_MV_offset = (v 1x -v 0x ) * N / w, (v 1y -v 0y ) * N / w; V_MV_offset = (v 2x -v 0x ) * N / h, (v 2y -v 0y ) * N / h; (11), where w and h in the expressions (9) and (11) are the width and height of the current block encoded in the affine mode.

在將NxN子塊的中心像素的運動矢量分配為控制點的運動矢量的情況下,式子(6)以及(8)中的分母減少N。例如,式子(6)可被重寫如下。 When the motion vector of the center pixel of the NxN sub-block is assigned as the motion vector of the control point, the denominators in equations (6) and (8) are reduced by N. For example, equation (6) can be rewritten as follows.

V0_x=VB0’_x+(VB2_x-VB0’_x)*(posCurPU_Y-posB0’_Y)/(N)+(VB1’_x-VB0’_x)*(posCurPU_X-posB0’_X)/(RefPU_width-N) V 0_x = V B0'_x + (V B2_x -V B0'_x ) * (posCurPU_Y-posB0'_Y) / (N) + (V B1'_x -V B0'_x ) * (posCurPU_X-posB0'_X) / (RefPU_width-N)

V0_y=VB0’_y+(VB2_y-VB0’_y)*(posCurPU_Y-posB0’_Y)/(N)+(VB1’_y-VB0’_y)*(posCurPU_X-posB0’_X)/(RefPU_width-N) (12) V 0_y = VB 0'_y + (V B2_y -V B0'_y ) * (posCurPU_Y-posB0'_Y) / (N) + (V B1'_y -V B0'_y ) * (posCurPU_X-posB0'_X) / (RefPU_width-N) (12)

第三實施例儲存仿射參數,例如:用於所述已編碼塊的水平以及垂直方向的MV偏置。已編碼塊可以是固定大小MxM塊或CU。固定大小MxM塊的大小可取決於允許應用仿射運動預測的最小大小。於一示例中,如果最小仿射幀間模式或仿射合併模式的塊大小為8x8,則M等於8。對於每個MxM塊或對於每個CU,包括水平方向MV偏置(V1x-V0x)* N/w,(V1y-V0y)* N/w以及NxN子塊的一個運動矢量例如Mv0(V0x,V0y)的仿射參數被儲存以用於使用左上以及右上控制點的四參數仿射運動模型。包括垂直方向MV偏置 (V2x-V0x)* N/h,(V2y-V0y)* N/h以及NxN子塊的一 個運動矢量例如Mv0(V0x,V0y)的仿射參數被儲存以用於使用左上以及左下控制點的四參數仿射運動模型。如果使用左上、右上、以及左下控制點的六參數仿射運動模型被應用,則包括水平方向MV偏置(V1x-V0x)* N/w,(V1y-V0y)* N/w以及垂直方向MV偏置(V2x-V0x)* N/h,(V2y-V0y)* N/h,以及NxN子塊的一個運動矢量例如Mv0(V0x,V0y)的仿射參數被儲存。仿射候選中的仿射運動矢量可由已儲存的對應於相鄰塊的一個或多個MxM塊或CU的仿射參數來導出。 The third embodiment stores affine parameters, for example, MV offsets for the horizontal and vertical directions of the encoded block. The coded block can be a fixed-size MxM block or a CU. The size of the fixed-size MxM block may depend on the minimum size that allows affine motion prediction to be applied. In one example, if the minimum affine inter mode or affine merge mode has a block size of 8 × 8, then M is equal to 8. For each MxM block or for each CU, include a horizontal direction MV offset (V 1x -V 0x ) * N / w, (V 1y -V 0y ) * N / w and a motion vector of NxN sub-blocks such as Mv0 The affine parameters of (V 0x , V 0y ) are stored for a four-parameter affine motion model using upper left and upper right control points. Affine parameters including a vertical MV offset (V 2x -V 0x ) * N / h, (V 2y -V 0y ) * N / h and a motion vector of the NxN sub-block such as Mv0 (V 0x , V 0y ) It is stored for a four-parameter affine motion model using the upper left and lower left control points. If a six-parameter affine motion model using upper left, upper right, and lower left control points is applied, it includes horizontal MV offset (V 1x -V 0x ) * N / w, (V 1y -V 0y ) * N / w And the vertical MV offset (V 2x -V 0x ) * N / h, (V 2y -V 0y ) * N / h, and an affine of a motion vector of the NxN sub-block such as Mv0 (V 0x , V 0y ) The parameters are stored. The affine motion vector in the affine candidate may be derived from stored affine parameters of one or more MxM blocks or CUs corresponding to neighboring blocks.

為了保持精度,水平或垂直MV偏置乘以一縮放數(scale number),其中,縮放數可以是預定義的數或縮放數可被設置為等於最大編碼單元或CTU大小。例如,已縮放水平方向MV偏置((V1x-V0x)* S/w,(V1y-V0y)* S/w)以及已縮放垂直方向MV偏置((V2x-V0x)* S/h,(V2y-V0y)* S/h)被儲存。縮放數S的某些示例被設置為等於CTU大小或CTU大小的四分之一。 To maintain accuracy, the horizontal or vertical MV offset is multiplied by a scale number, where the scale number can be a predefined number or the scale number can be set equal to the maximum coding unit or CTU size. For example, the scaled horizontal MV offset ((V 1x -V 0x ) * S / w, (V 1y -V 0y ) * S / w) and the scaled vertical MV offset ((V 2x -V 0x ) * S / h, (V 2y -V 0y ) * S / h) are stored. Some examples of the scaling number S are set equal to the CTU size or a quarter of the CTU size.

於另一示例中,每個MxM塊或每個CU的兩個或三個控制點的運動矢量被儲存。運動矢量可被儲存於線緩衝器中。用於預測當前塊的仿射候選中的仿射運動矢量由對應於相鄰塊的控制點的已儲存運動矢量導出。 In another example, the motion vectors of two or three control points per MxM block or each CU are stored. Motion vectors can be stored in a line buffer. The affine motion vector in the affine candidate for predicting the current block is derived from a stored motion vector corresponding to a control point of an adjacent block.

第5圖所示為結合本發明的第三實施例的具有仿射運動補償的視訊編碼系統的示範性流程圖。於步驟S50中,視訊編碼系統接收與編碼或將編碼於仿射模式的當前塊相關聯的輸入資料。於步驟S52中,視訊編碼系統計算以及儲存用 於相鄰塊的仿射參數,以及於步驟S54中,獲取對應於當前塊的相鄰塊的仿射參數。於步驟S56中,根據所獲取的仿射參數,導出包括仿射運動矢量的仿射候選。接著,於步驟S58中,視訊編碼系統使用仿射候選於仿射模式中編碼或解碼當前塊。 FIG. 5 shows an exemplary flowchart of a video coding system with affine motion compensation combined with a third embodiment of the present invention. In step S50, the video encoding system receives input data associated with the current block encoded or to be encoded in the affine mode. In step S52, the video encoding system calculates and stores On the affine parameters of the neighboring block, and in step S54, obtain the affine parameters of the neighboring block corresponding to the current block. In step S56, an affine candidate including an affine motion vector is derived according to the obtained affine parameters. Next, in step S58, the video encoding system uses the affine candidate to encode or decode the current block in the affine mode.

第四實施例。於第四實施例中,相較於用於HEVC的現有時間MV緩衝器,另一NxN塊列以及另一NxN塊行中的運動矢量被儲存於用於仿射運動補償的時間MV緩衝器中。 第四實施例的概念類似於第二實施例,但是位於一個或多個相鄰已編碼塊的頂部列以及最左行的子塊的原始運動矢量被儲存以替代位於接近當前塊的子塊的替代運動矢量。在本實施例中,時間緩衝器儲存第一相鄰NxN塊列、第一相鄰NxN塊行、頂部NxN塊列集合、以及最左NxN塊行集合的原始運動矢量。 第一相鄰NxN塊列是最接近當前塊的上邊界的一個或多個上相鄰塊中的最後一列,且第一相鄰NxN塊行是最接近當前塊的左邊界的一個或多個左相鄰塊的的最後一行。頂NxN塊列集合包括一個或多個上相鄰塊的第一列,以及最左NxN塊行集合包括一個或多個左相鄰塊的第一行。 Fourth embodiment. In the fourth embodiment, compared with the existing temporal MV buffer used for HEVC, motion vectors in another NxN block column and another NxN block row are stored in the temporal MV buffer used for affine motion compensation. . The concept of the fourth embodiment is similar to that of the second embodiment, but the original motion vectors of the sub-blocks located at the top column and the leftmost row of one or more adjacent coded blocks are stored instead of the Alternative motion vector. In this embodiment, the time buffer stores the original motion vectors of the first adjacent NxN block column, the first adjacent NxN block row, the top NxN block column set, and the leftmost NxN block row set. The first neighboring NxN block column is the last column in one or more upper neighboring blocks that is closest to the upper boundary of the current block, and the first neighboring NxN block row is one or more that is closest to the left boundary of the current block. The last row of the left adjacent block. The top NxN block column set includes the first column of one or more upper neighboring blocks, and the leftmost NxN block row set includes the first rows of one or more left neighboring blocks.

第6圖所示為通過儲存2個NxN塊列以及2個NxN塊行的運動矢量的仿射候選導出的示例。如圖6所示,鄰近當前塊60的左塊邊界的第一NxN塊行以及當前塊60上方的第一NxN塊列的子塊614以及626的原始運動矢量VA1以及VB2被儲存於緩衝器中。相鄰塊61、62以及63中的第一NxN塊行以及第一NxN塊列為最接近當前塊60的行以及列。相鄰塊61以及62的最左NxN塊行或相鄰塊62以及63的頂NxN塊 列中的子塊616、612、636、632、634、622以及624的原始運動矢量VA2、VA0、VE2、VE0、VE1、VB0、以及VB1也被儲存於緩衝器。例如,相鄰塊的最左NxN塊行或頂NxN塊列的這些原始運動矢量VA2、VA0、VE2、VE0、VE1、VB0、以及VB1覆蓋了用於儲存第二NxN塊列以及第二NxN塊行中子塊615、613、637、633、635、623以及625的運動矢量的緩衝器空間。 在本實施例中,相鄰塊的控制點的原始運動矢量被儲存於僅有一個附加的MV列以及一個附加的MV行的開銷的時間MV緩衝器中。 FIG. 6 shows an example of affine candidate derivation by storing motion vectors of two NxN block columns and two NxN block rows. As shown in FIG. 6, the original motion vectors V A1 and V B2 of the first NxN block row adjacent to the left block boundary of the current block 60 and the sub-blocks 614 and 626 of the first NxN block column above the current block 60 are stored in the buffer. Device. The first NxN block row and the first NxN block column in the adjacent blocks 61, 62, and 63 are the rows and columns closest to the current block 60. Original motion vectors V A2 , V A0 of the leftmost NxN block rows of neighboring blocks 61 and 62 or the sub-blocks in top NxN block columns of neighboring blocks 62 and 63 616, 612, 636, 632, 634, 622, and 624 , V E2 , V E0 , V E1 , V B0 , and V B1 are also stored in the buffer. For example, these original motion vectors V A2 , V A0 , V E2 , V E0 , V E1 , V B0 , and V B1 of the leftmost NxN block row or top NxN block column of the neighboring block cover the second NxN for storing Buffer space for motion vectors of the block columns and subblocks 615, 613, 637, 633, 635, 623, and 625 in the second NxN block row. In this embodiment, the original motion vectors of the control points of the neighboring blocks are stored in a time MV buffer with the overhead of only one additional MV column and one additional MV row.

第7圖所示為結合本發明的第二或第四實施例的用於具有仿射運動補償的視訊編碼系統的示範性流程圖。於步驟S70中,於視訊編碼器側接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器側接收對應於包括當前塊的壓縮資料的視訊位元串流。步驟S72從時間緩衝器中獲取相鄰塊的兩個或者更多運動矢量,其中,至少一個獲取的運動矢量不對應於當前塊的第一相鄰NxN塊列或第一相鄰NxN塊行的子塊。於步驟S74中,視訊編碼系統使用獲取的運動矢量導出仿射候選,且於步驟S76中,使用由已導出的仿射候選導出的一個或多個運動補償塊通過預測當前塊來編碼或解碼當前塊。仿射運動矢量預測當前塊的點以及一個或多個運動補償塊的對應點之間的運動。時間緩衝器儲存少於當前圖片中已編碼塊的所有運動矢量的選擇運動矢量。根據第二實施例,獲取的運動矢量的至少一個為替代運動矢量,且根據第四實施例,所有獲取的運動矢量為相鄰塊的控制點的原始運動矢量。 FIG. 7 shows an exemplary flowchart for a video encoding system with affine motion compensation in combination with the second or fourth embodiment of the present invention. In step S70, input data associated with the current block in the current picture is received on the video encoder side or a video bit stream corresponding to the compressed data including the current block is received on the video decoder side. Step S72: Obtain two or more motion vectors of neighboring blocks from the time buffer, wherein at least one of the acquired motion vectors does not correspond to the first neighboring NxN block column or the first neighboring NxN block row of the current block. Subblock. In step S74, the video encoding system uses the obtained motion vectors to derive affine candidates, and in step S76, one or more motion compensation blocks derived from the derived affine candidates are used to encode or decode the current block by predicting the current block. Piece. The affine motion vector predicts motion between points of the current block and corresponding points of one or more motion-compensated blocks. The time buffer stores selected motion vectors that are less than all motion vectors of the coded block in the current picture. According to the second embodiment, at least one of the acquired motion vectors is a substitute motion vector, and according to the fourth embodiment, all the acquired motion vectors are original motion vectors of control points of neighboring blocks.

第五實施例。於第五實施例中,具有仿射運動補償的視訊編碼系統重用HEVC標準所需要的現有的時間MV緩衝器,因此,不需要附加的緩衝器。換句話說,在本實施例中,仿射運動預測僅需要一個相鄰NxN塊列以及一個相鄰NxN塊行的運動矢量。第8圖所示為使用一個相鄰NxN塊列以及一個相鄰NxN塊行的運動矢量的仿射候選導出的示例。如圖8所示,當前塊80的相鄰塊中最接近的NxN塊列或最接近的NxN塊行中的兩個運動矢量被用於導出用於當前塊的仿射候選。例如,當位於當前塊80上方的相鄰塊82被選擇用於導出仿射候選時,則子塊826以及828中的運動矢量VB2以及VB3被獲取以根據四參數仿射運動模型導出仿射候選中的仿射運動矢量;當位於當前塊80的左側的相鄰塊81被選擇用於導出仿射候選,則子塊814以及818中的運動矢量VA1以及VA3被獲取以根據四參數仿射運動模型導出仿射候選中的仿射運動矢量。在本實施例中,鄰近當前塊80的左上角的相鄰塊83不是用於仿射候選導出的有效相鄰塊。 Fifth embodiment. In the fifth embodiment, the video coding system with affine motion compensation reuses the existing temporal MV buffers required by the HEVC standard, so no additional buffers are needed. In other words, in this embodiment, the affine motion prediction only requires a motion vector of one adjacent NxN block column and one adjacent NxN block row. FIG. 8 shows an example of affine candidate derivation using motion vectors of one adjacent NxN block column and one adjacent NxN block row. As shown in FIG. 8, two motion vectors in the closest NxN block column or the closest NxN block row among the neighboring blocks of the current block 80 are used to derive an affine candidate for the current block. For example, when the neighboring block 82 located above the current block 80 is selected to derive the affine candidate, the motion vectors V B2 and V B3 in the sub-blocks 826 and 828 are obtained to derive the affine according to the four-parameter affine motion model Affine motion vectors among the candidates; when the neighboring block 81 on the left side of the current block 80 is selected to derive the affine candidate, the motion vectors V A1 and V A3 in the sub-blocks 814 and 818 are obtained to simulate according to the four parameters The affine motion model derives the affine motion vector among the affine candidates. In this embodiment, the neighboring block 83 adjacent to the upper left corner of the current block 80 is not a valid neighboring block for affine candidate derivation.

式子(13)演示了根據四參數仿射運動模型修改式子(8)的示例,用於導出來自相鄰塊82的運動矢量VB2以及VB3的仿射候選中的仿射運動矢量Mv0以及Mv1。 Equation (13) demonstrates an example of modifying equation (8) according to the four-parameter affine motion model, which is used to derive the affine motion vector Mv0 among the affine candidates of motion vectors V B2 and V B3 from neighboring blocks 82 And Mv1.

V0_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_Y-posB2_Y)/RefPUB_width+(VB3_x-VB2_x)*(posCurPU_X-posB2_X)/RefPUB_width, V 0_x = V B2_x- (V B3_y -V B2_y ) * (posCurPU_Y-posB2_Y) / RefPU B _width + (V B3_x -V B2_x ) * (posCurPU_X-posB2_X) / RefPU B _width,

V0_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_Y-posB2_Y)/RefPUB_width+(VB3_y-VB2_y)*(posCurPU_X- posB2_X)/RefPUB_width;V1_x=V0_x+(VB3_x-VB2_x)* PU_width/RefPUB_width,V1_y=V0_y+(VB3_y-VB2_y)* PU_width/RefPUB_width; (13)其中,(V0_x,V0_y)表示當前塊80的左上角的運動矢量Mv0,且(V1_x,V1_y)表示當前塊80的右上角的運動矢量Mv1。坐標(posCurPU_X,posCurPU_Y)表示與當前圖片的左上角樣本相關的當前塊80的左上角樣本的像素位置。坐標(posB2_X,posB2_Y)表示與當前圖片的左上角樣本相關的子塊826的左上樣本的像素位置。RefPUB_width表示相鄰塊82的寬度以及PU_width表示當前塊80的寬度。 V 0_y = V B2_y + (V B3_x -V B2_x) * (posCurPU_Y-posB2_Y) / RefPU B _width + (V B3_y -V B2_y) * (posCurPU_X- posB2_X) / RefPU B _width; V 1_x = V 0_x + (V B3_x -V B2_x ) * PU_width / RefPU B _width, V 1_y = V 0_y + (V B3_y -V B2_y ) * PU_width / RefPU B _width; (13) where (V 0_x , V 0_y ) represents the upper left corner of the current block 80 , And (V 1_x , V 1_y ) represents the motion vector Mv1 in the upper right corner of the current block 80. The coordinates (posCurPU_X, posCurPU_Y) represent the pixel position of the upper-left sample of the current block 80 related to the upper-left sample of the current picture. The coordinates (posB2_X, posB2_Y) represent the pixel position of the upper-left sample of the sub-block 826 related to the upper-left sample of the current picture. RefPU B _width denotes the width of the adjacent blocks 82 and the width of the current PU_width block 80 indicates.

以下描述的第六到第九實施例是關於實現具有仿射運動補償的自適應運動矢量分辨率(Adaptive Motion Vector Resolution,AMVR)。AMVR提供一種靈活的方案,通過自適應地將MVD限制到整數像素分辨率來減少運動矢量差(motion vector difference,MVD)傳送開銷。對於CU或PU,AMVR旗標被標識以指示是否使用像素分辨率或使用分數像素分辨率。文獻中揭露的仿射運動補償的實現建議不標識用於編碼於仿射模式中的CU或PU的AMVR旗標,因此,AMVR總是被禁用於仿射編碼塊。默認情況下,用於仿射已編碼塊中所有控制點的仿射運動矢量均為分數像素分辨率。 The sixth to ninth embodiments described below are related to implementing an adaptive motion vector resolution (AMVR) with affine motion compensation. AMVR provides a flexible solution to reduce motion vector difference (MVD) transmission overhead by adaptively limiting MVD to integer pixel resolution. For CU or PU, the AMVR flag is identified to indicate whether to use pixel resolution or use fractional pixel resolution. The implementation suggestion of affine motion compensation disclosed in the literature does not identify the AMVR flags used for CU or PU encoding in affine mode, so AMVR is always disabled on affine coding blocks. By default, the affine motion vectors used for affine all control points in an encoded block are fractional pixel resolution.

第六實施例。於第六實施例中,使用仿射運動補償來啟用自適應運動矢量分辨率,且AMVR旗標被標識以用 於每個仿射已編碼塊。在一個示例中,AMVR旗標僅控制用於仿射已編碼塊的MVD的分辨率為整數像素分辨率或分數像素分辨率。於另一示例中,AMVR旗標控制MVD的分辨率以及用於仿射已編碼塊的運動矢量預測子(motion vector predictor,MVP)的分辨率,因此,如果AMVR旗標指示整數像素分辨率被使用,則最終運動矢量為整數分辨率。對於編碼於仿射模式(例如仿射幀間模式)的當前塊,存在從M個對應MVP中計算的M個MVD,其中,M表示用於當前塊的控制點的數量。在此示例中,M是從0、1、2、3、以及4中選擇。M個對應MVP為仿射候選中的仿射運動矢量,且每個仿射運動矢量為用於仿射已編碼塊的一個控制點的運動矢量的預測子。如果當前塊被編碼於仿射幀間模式且AMVR旗標為真,則指示整數像素分辨率被用於當前塊,控制點的MVD為整數像素分辨率。於AMVR旗標也被用於調節MVP的分辨率的情況下,如果AMVR旗標為真,則所有與控制點的MVD相關聯的MVP也被舍入到整數像素分辨率。於AMVR旗標僅被用於調節MVD的分辨率的情況下,當AMVR旗標為真時,與控制點的MVD相關聯的MVP可為分數像素分辨率。對於那些不與MVD相關聯的控制點,當MVD被推定為零時,用於控制點的MVP仍然為分數像素分辨率。 The sixth embodiment. In a sixth embodiment, affine motion compensation is used to enable adaptive motion vector resolution, and the AMVR flag is identified for each affine coded block. In one example, the AMVR flag only controls whether the resolution of the MVD used to affine the encoded block is an integer pixel resolution or a fractional pixel resolution. In another example, the AMVR flag controls the resolution of the MVD and the resolution of the motion vector predictor (MVP) used to affine the encoded block. Therefore, if the AMVR flag indicates that the integer pixel resolution is When used, the final motion vector is of integer resolution. For the current block encoded in the affine mode (for example, affine inter mode), there are M MVDs calculated from M corresponding MVPs, where M represents the number of control points for the current block. In this example, M is selected from 0, 1, 2, 3, and 4. The M corresponding MVPs are affine motion vectors among the affine candidates, and each affine motion vector is a predictor for affine a motion vector of a control point of a coded block. If the current block is encoded in the affine inter mode and the AMVR flag is true, it indicates that an integer pixel resolution is used for the current block, and the MVD of the control point is an integer pixel resolution. In the case where the AMVR flag is also used to adjust the resolution of the MVP, if the AMVR flag is true, all MVPs associated with the MVD of the control point are also rounded to the integer pixel resolution. In the case where the AMVR flag is only used to adjust the resolution of the MVD, when the AMVR flag is true, the MVP associated with the MVD of the control point may be a fractional pixel resolution. For those control points that are not associated with MVD, when the MVD is presumed to be zero, the MVP for control points is still fractional pixel resolution.

第七實施例。於第七實施例中,於句法設計中,MVD於對應AMVR旗標之前被標識,且用於仿射已編碼塊,如果存在仿射已編碼塊的控制點的至少一個非零MVD,則至少一個非零MVD或至少一個已解碼運動矢量的像素分辨率是 根據AMVR旗標來確定。已解碼運動矢量是通過選擇用於仿射已編碼塊的仿射候選中的MVD以及對應MVP來導出。如果用於仿射已編碼塊的所有控制點的MVD為零,則控制點的MVP可保持為分數像素分辨率,且AMVR旗標不需要在視訊位元串流中被標識。 The seventh embodiment. In the seventh embodiment, in the syntax design, the MVD is identified before the corresponding AMVR flag and is used to affine the coded block. If there is at least one non-zero MVD of the control point of the affine coded block, The pixel resolution of a non-zero MVD or at least one decoded motion vector is determined according to the AMVR flag. The decoded motion vector is derived by selecting the MVD and the corresponding MVP in the affine candidate for affine the encoded block. If the MVDs of all control points used to affine the encoded block are zero, the MVP of the control points can be maintained at a fractional pixel resolution, and the AMVR flag need not be identified in the video bitstream.

第八實施例。在本實施例中,通過禁用雙向預測來將於仿射幀間模式中編碼的塊限制為單向預測以減少系統複雜性以及MVD開銷。例如,如果仿射旗標指示當前塊被編碼或將被編碼於仿射幀間模式,則用於當前塊的幀間預測方向interDir被設置為0或1,其中,0指示列表0單向預測,且1指示列表1單向預測。在第八實施例的一個示例中,只有在仿射幀間已編碼塊的MVD為整數像素分辨率時,雙向預測被允許用於仿射幀間已編碼塊。換句話說,用於仿射幀間已編碼塊的雙向預測的啟用或禁用取決於用於仿射幀間已編碼塊的AMVR旗標的值。當AMVR旗標指示仿射幀間已編碼塊的MVD為整數像素分辨率時,MVD開銷相對小,因此,雙向預測被允許用於仿射幀間已編碼塊。 Eighth embodiment. In this embodiment, the bidirectional prediction is disabled to limit the blocks encoded in the affine inter mode to one-way prediction to reduce system complexity and MVD overhead. For example, if the affine flag indicates that the current block is encoded or will be encoded in affine inter mode, the inter prediction direction interDir for the current block is set to 0 or 1, where 0 indicates the list 0 unidirectional prediction And 1 indicates a unidirectional prediction of list 1. In an example of the eighth embodiment, bidirectional prediction is allowed for affine inter-coded blocks only when the MVD of the affine inter-coded blocks is an integer pixel resolution. In other words, enabling or disabling bidirectional prediction for affine inter-coded blocks depends on the value of the AMVR flag for affine inter-coded blocks. When the AMVR flag indicates that the MVD of the affine inter-encoded block is an integer pixel resolution, the MVD overhead is relatively small, so bidirectional prediction is allowed for affine inter-encoded blocks.

第九實施例。實現第九實施例的視訊編碼方法或視訊編碼系統根據當前塊的幀間預測方向interDir以及當前塊是否編碼於仿射幀間模式來確定用於當前塊的運動矢量分辨率。在本實施例中,於CU句法結構中,用於當前塊的幀間預測方向interDir以及仿射旗標在用於當前塊的AMVR旗標之前被標識,因此,當interDir等於2時,指示雙向預測被應用於當前塊,且仿射旗標為真,指示仿射幀間模式被使用,AMVR 旗標被推定為真且不需要被標識於當前塊。 The ninth embodiment. The video encoding method or video encoding system implementing the ninth embodiment determines the motion vector resolution for the current block according to the inter prediction direction interDir of the current block and whether the current block is encoded in the affine inter mode. In this embodiment, in the CU syntax structure, the inter prediction direction interDir and the affine flag for the current block are identified before the AMVR flag for the current block. Therefore, when interDir is equal to 2, it indicates bidirectional The prediction is applied to the current block, and the affine flag is true, indicating that the affine inter mode is used, the AMVR flag is presumed to be true and does not need to be identified in the current block.

第9圖所示為根據本發明實施例的基於具有仿射運動補償的HEVC的視訊編碼器900的示範性系統框圖。幀內預測910基於當前圖片的重建視訊資料提供幀內預測子,然而,仿射預測912根據仿射運動模型執行運動估計(motion estimation,ME)以及運動補償(motion compensation,MC)以基於來自其它圖片的視訊資料提供預測子。由仿射預測912處理的當前圖片的每個塊選擇將由仿射幀間預測9122編碼於仿射幀間模式或將由仿射合並預測9124編碼於仿射合併模式。對於編碼於仿射幀間模式或仿射合併模式的塊,最終仿射候選是使用由最終仿射候選導出的仿射運動模型從一個或多個仿射候選中選擇以導出一個或多個補償塊,且一個或多個補償塊被用於預測塊。仿射候選可使用具有時間MV緩衝器的一個實施例來導出,其儲存少於當前圖片中已編碼塊的所有運動矢量的選擇運動矢量。仿射合並預測9124根據一個或多個相鄰已編碼塊的運動矢量構造一個或多個仿射合併後選且將一個或多個仿射合併後選插入合併候選列表。仿射合併模式允許位於相鄰已編碼塊的控制點的仿射運動矢量的繼承;因此,運動資訊僅由合併索引來標識。接著,用於選擇最終仿射候選的合併索引被標識於已編碼視訊位元串流。仿射合併後選可使用本發明的一個實施例來導出。對於編碼於仿射幀間模式的塊,最終仿射候選中的仿射運動矢量以及位於塊的控制點的運動矢量之間的運動資訊(例如,MVD)被編碼於已編碼視訊位元串流。根據本發明的實施例,於仿射幀間模式編碼的塊的MVD 的分辨率為整數像素分辨率或分數像素分辨率。開關914從幀內預測910以及仿射預測912的輸出中選擇一個,且將已選擇的預測子應用到加法器916以形成預測誤差,也被稱為殘差信號。 FIG. 9 shows an exemplary system block diagram of a video encoder 900 based on HEVC with affine motion compensation according to an embodiment of the present invention. Intra prediction 910 provides intra predictors based on the reconstructed video data of the current picture. However, affine prediction 912 performs motion estimation (ME) and motion compensation (MC) based on the affine motion model. Video data for images provides predictors. Each block selection of the current picture processed by affine prediction 912 will be coded by affine inter prediction 9122 in affine inter mode or will be coded by affine merge prediction 9124 in affine merge mode. For blocks encoded in affine inter mode or affine merge mode, the final affine candidate is selected from one or more affine candidates using an affine motion model derived from the final affine candidate to derive one or more compensations Block, and one or more compensation blocks are used to predict the block. Affine candidates can be derived using one embodiment with a temporal MV buffer, which stores selected motion vectors that are less than all motion vectors of the coded block in the current picture. The affine merge prediction 9124 constructs one or more affine merged candidate and inserts one or more affine merged candidate into the merge candidate list according to the motion vectors of one or more neighboring encoded blocks. The affine merge mode allows inheritance of affine motion vectors located at the control points of neighboring coded blocks; therefore, motion information is identified only by the merge index. The merge index used to select the final affine candidate is then identified in the encoded video bitstream. The affine merge selection can be derived using an embodiment of the present invention. For blocks encoded in affine inter-mode, motion information (e.g., MVD) between the affine motion vector in the final affine candidate and the motion vector at the control point of the block is encoded in the encoded video bitstream . According to an embodiment of the present invention, the MVD of the block encoded in the affine inter-mode The resolution is integer pixel resolution or fractional pixel resolution. The switch 914 selects one of the outputs of the intra prediction 910 and the affine prediction 912, and applies the selected predictor to the adder 916 to form a prediction error, which is also referred to as a residual signal.

預測殘差信號進一步通過變換(Transformation,T)918處理,接著進行量化(Quantization,Q)920。變換以及量化的殘差信號接著由熵編碼器934來編碼以形成已編碼視訊位元串流。已編碼視訊位元串流與輔助資訊(例如,合併索引以及MVD)被封裝。與輔助資訊相關聯的資料也被提供到熵編碼器934。當運動補償預測模式被使用時,參考圖片或圖片也必須於編碼器側被重建。變換以及量化的殘差信號通過逆量化(Inverse Quantization,IQ)922以及逆變換(Inverse Transformation,IT)924來處理以恢復參考圖片或圖片的預測殘差信號。如圖9所示,通過於重建(Reconstruction,REC)926加回已選擇的預測子來恢復預測殘差信號,以產生重建視訊資料。重建視訊資料可被儲存於參考圖片緩衝器(Ref.Pict.Buffer)932中且被用於其它圖片的預測。由於編碼處理,來自REC 926的重建視訊資料可能受到各種損害,因此,在儲存於參考圖片緩衝器932之前,環路處理解塊濾波(Deblocking Filter,DF)928以及樣本自適應偏置(Sample Adaptive Offset,SAO)930被應用到重建視訊資料,以進一步增強圖片品質。來自DF 928的DF資訊以及來自SAO 930的SAO資訊也被提供到熵編碼器934用於合併到已編碼視訊位元串流。用於仿射候選導出的儲存運動矢量的時間MV緩衝器可由參考圖 片緩衝器932或耦合於仿射預測912的任何其它記憶體來實現。 The prediction residual signal is further processed by Transformation (T) 918, and then Quantization (Q) 920 is performed. The transformed and quantized residual signal is then encoded by an entropy encoder 934 to form an encoded video bit stream. The encoded video bitstream and auxiliary information (eg, merge index and MVD) are encapsulated. The data associated with the auxiliary information is also provided to the entropy encoder 934. When motion-compensated prediction mode is used, the reference picture or picture must also be reconstructed on the encoder side. The transformed and quantized residual signals are processed by Inverse Quantization (IQ) 922 and Inverse Transformation (IT) 924 to recover the reference picture or the predicted residual signal of the picture. As shown in FIG. 9, the prediction residual signal is restored by adding back the selected predictor to Reconstruction (REC) 926 to generate reconstructed video data. The reconstructed video data may be stored in a reference picture buffer (Ref. Pict. Buffer) 932 and used for prediction of other pictures. Due to the encoding process, the reconstructed video data from REC 926 may be damaged in various ways. Therefore, before being stored in the reference picture buffer 932, the loop processing deblocking filter (DF) 928 and the sample adaptive offset (Sample Adaptive Offset (SAO) 930 is applied to reconstruct video data to further enhance picture quality. DF information from DF 928 and SAO information from SAO 930 are also provided to the entropy encoder 934 for merging into the encoded video bitstream. The temporal MV buffer used to store the motion vector derived from the affine candidate can be obtained from the reference picture The chip buffer 932 or any other memory coupled to the affine prediction 912 is implemented.

第10圖所示為第9圖的視訊編碼器900的對應視訊解碼器1000。已編碼視訊位元串流被輸入到視訊解碼器1000,且由熵解碼器1010解碼以恢復變換以及量化的殘差信號,DF以及SAO資訊,以及其它系統資訊。解碼器1000的解碼處理類似于編碼器900的重建環路,除了解碼器1000於仿射預測1014中僅需要運動補償(MC)1014。仿射預測1014包括仿射幀間預測10142以及仿射合並預測10144。編碼於仿射幀間模式的塊通過仿射幀間預測10142來解碼,以且編碼於仿射合併模式的塊通過仿射合並預測10144來解碼。最終仿射候選被選擇以用於編碼於仿射幀間模式或仿射合併模式的塊,且一個或多個補償塊根據最終仿射候選被導出。最終仿射候選可根據具有時間MV緩衝器的本發明實施例中的一個被導出,時間MV緩衝器儲存少於當前圖片的已編碼塊的所有MV的選擇MV。開關1016根據解碼模式資訊選擇來自幀內預測10512的幀內預測子或來自仿射預測1014的仿射預測子。變換以及量化的殘差信號通過IQ 1020以及IT 1022來恢復。已恢復的變換以及量化的殘差信號通過將預測子加回到REC 1018來被重建,以產生重建視訊。重建視訊進一步由DF 1024以及SAO 1026來處理以產生最終解碼的視訊。如果當前已解碼圖片為參考圖片,則當前已解碼圖片的重建視訊也被儲存於參考圖片緩衝器1028。用於儲存仿射候選導出的運動矢量的時間MV緩衝器可由參考圖片緩衝器1028或耦接於仿射預測1014 的任何其它記憶體來實現。 FIG. 10 shows a corresponding video decoder 1000 of the video encoder 900 of FIG. 9. The encoded video bit stream is input to video decoder 1000 and decoded by entropy decoder 1010 to recover transformed and quantized residual signals, DF and SAO information, and other system information. The decoding process of the decoder 1000 is similar to the reconstruction loop of the encoder 900, except that the decoder 1000 only needs motion compensation (MC) 1014 in the affine prediction 1014. Affine prediction 1014 includes affine inter prediction 10142 and affine merge prediction 10144. The block encoded in the affine inter mode is decoded by the affine inter prediction 10142, and the block encoded in the affine merge mode is decoded by the affine merge prediction 10144. The final affine candidate is selected for a block encoded in the affine inter mode or the affine merge mode, and one or more compensation blocks are derived from the final affine candidate. The final affine candidate may be derived according to one of the embodiments of the present invention with a temporal MV buffer that stores the selected MVs of all MVs that are less than the encoded block of the current picture. The switch 1016 selects an intra predictor from the intra prediction 10512 or an affine predictor from the affine prediction 1014 according to the decoding mode information. The transformed and quantized residual signals are recovered through IQ 1020 and IT 1022. The restored transform and the quantized residual signal are reconstructed by adding the predictors back to REC 1018 to produce a reconstructed video. The reconstructed video is further processed by DF 1024 and SAO 1026 to produce the final decoded video. If the currently decoded picture is a reference picture, the reconstructed video of the currently decoded picture is also stored in the reference picture buffer 1028. A temporal MV buffer for storing motion vectors derived from affine candidates may be reference picture buffer 1028 or coupled to affine prediction 1014 Any other memory.

第9圖以及第10圖中視訊編碼器900以及視訊解碼器1000的各種組件,且所描述的實施例中描述的各種視訊編碼處理可通過硬體組件、配置於執行儲存於記憶體的程式指令的一個或多個處理器、或硬體以及處理器的組合來實現。例如,處理器執行程式指令以控制與當前塊相關聯的輸入資料的接收。處理器配備單個或多個處理核心。在一些示例中,處理器執行程式指令以執行編碼器900以及解碼器1000中某些組件的功能,且電耦接於處理器的記憶體被用於儲存程式指令、對應於仿射模式的資訊、塊的重建圖像、和/或編碼或解碼過程中的中間資料。於某些實施例中,記憶體包括非暫時性電腦可讀介質,例如:半導體或固態記憶體、隨機存取記憶體、唯讀記憶體、硬碟、光碟、或其它合適的存儲介質。記憶體還可是以上列出的非暫時性電腦可讀介質的兩個或者更多的組合。如第9圖以及第10圖所示,編碼器900以及解碼器1000可由相同的電子裝置來實現,因此,如果實現於相同的電子裝置,則編碼器900以及解碼器1000的各種功能的組件可被共用或重用。例如,第9圖中的重建926、變換918、量化920、解塊濾波928、樣本自適應偏置930、以及參考圖片緩衝器932中的一個或多個也可分別被用於第10圖中的重建1018、變換1022、量化1020、解塊濾波1024、樣本自適應偏置1026、以及參考圖片緩衝器1028的功能。於某些示例中,第9圖中幀內預測910以及仿射預測912的一部份可共用或重用第10圖中幀內預測1012以及仿射預測1014的一部份。 Various components of the video encoder 900 and the video decoder 1000 in FIG. 9 and FIG. 10, and the various video encoding processes described in the described embodiments can be configured by hardware components to execute program instructions stored in the memory. One or more processors, or a combination of hardware and processors. For example, the processor executes program instructions to control the reception of input data associated with the current block. The processor is equipped with a single or multiple processing cores. In some examples, the processor executes program instructions to perform functions of certain components in the encoder 900 and the decoder 1000, and the memory electrically coupled to the processor is used to store program instructions and information corresponding to the affine mode , Reconstructed images of blocks, and / or intermediate data during encoding or decoding. In some embodiments, the memory includes non-transitory computer-readable media, such as: semiconductor or solid-state memory, random access memory, read-only memory, hard disk, optical disk, or other suitable storage medium. The memory may also be a combination of two or more of the non-transitory computer-readable media listed above. As shown in FIG. 9 and FIG. 10, the encoder 900 and the decoder 1000 can be implemented by the same electronic device. Therefore, if implemented in the same electronic device, components of various functions of the encoder 900 and the decoder 1000 can be implemented. Be shared or reused. For example, one or more of the reconstruction 926, transform 918, quantization 920, deblocking filtering 928, sample adaptive offset 930, and reference picture buffer 932 in FIG. 9 may be used in FIG. 10, respectively. Functions of reconstruction 1018, transform 1022, quantization 1020, deblocking filtering 1024, sample adaptive offset 1026, and reference picture buffer 1028. In some examples, a portion of intra prediction 910 and affine prediction 912 in FIG. 9 may share or reuse a portion of intra prediction 1012 and affine prediction 1014 in FIG. 10.

雖然描述了具有仿射運動補償的視訊編碼方法的第一實施例到第九實施例,但本發明不限於這些實施例。於每個實施例中,具有仿射運動補償的視訊編碼方法的選擇是示出各實施例的示例,且不應被理解為對本發明的任何實施例的限制或要求。呈現上述描述是為了使本領域普通技術人員能夠在特定應用及其要求的上下文中實施本發明。對所描述的實施例的各種修改對本領域技術人員來說是明顯的,且本公開定義的原理可被應用到其它實施例。因此,本發明不限於所示以及所描述的特定實施例,而是旨在符合與本公開的原理和新穎特徵一致的最廣範圍。在以上詳細描述中,各種具體細節被示出以提供本發明的透徹理解。然而,本領域技術人員將理解本發明可被實現。 Although the first to ninth embodiments of the video encoding method with affine motion compensation are described, the present invention is not limited to these embodiments. In each embodiment, the selection of the video coding method with affine motion compensation is an example showing each embodiment and should not be construed as a limitation or requirement for any embodiment of the present invention. The above description is presented to enable one of ordinary skill in the art to implement the invention in the context of a particular application and its requirements. Various modifications to the described embodiments will be apparent to those skilled in the art, and the principles defined by this disclosure may be applied to other embodiments. Therefore, the present invention is not limited to the specific embodiments shown and described, but is intended to conform to the widest scope consistent with the principles and novel features of the present disclosure. In the above detailed description, various specific details are shown to provide a thorough understanding of the present invention. However, those skilled in the art will understand that the present invention can be implemented.

在不脫離本發明的精神或基本特徵的情況下,本發明可以由其它具體形式實施。所描述的示例在所有方面僅被認為是說明性的而不是限制性的。因此,本發明的範圍由所附請求項而不是以上的描述來指示。在權利要求的等同物的含義和範圍內的所有變化都被包括在其範圍內。 The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The described examples are to be considered in all respects only as illustrative and not restrictive. Therefore, the scope of the invention is indicated by the appended claims rather than the above description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.

60‧‧‧當前塊 60‧‧‧current block

61、62、63‧‧‧相鄰塊 61, 62, 63‧‧‧adjacent blocks

616、612、636、632、634、622、624、615、613、637、633、635、623、625、614、626‧‧‧子塊 616, 612, 636, 632, 634, 622, 624, 615, 613, 637, 633, 635, 623, 625, 614, 626‧‧‧ subblocks

Claims (23)

一種視訊編碼系統中具有仿射運動補償的視訊編碼的方法,包括:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型,所述當前塊被編碼或將被編碼於仿射模式;從時間緩衝器中獲取相鄰塊的兩個或者更多運動矢量以用於所述當前塊,其中,至少一個所述獲取的運動矢量不對應於最接近所述當前塊的上邊界的第一相鄰NxN塊列或最接近所述當前塊的左邊界的第一相鄰NxN塊行的子塊,其中,所述時間緩衝器儲存少於所述當前圖片中先前編碼塊的所有運動矢量的已選擇運動矢量,且NxN為所述時間緩衝器中用於儲存一個運動矢量的塊大小;使用所述相鄰塊的所述獲取的兩個或者更多運動矢量導出包括多個仿射運動矢量的仿射候選;以及通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A method for video coding with affine motion compensation in a video coding system includes: receiving input data associated with a current block in a current picture at a video encoder or receiving corresponding information including the current picture at a video decoder. A video bit stream of compressed data of the current block, wherein, according to the affine motion model, the current block is encoded or will be encoded in the affine mode; two or more adjacent blocks are obtained from the time buffer A motion vector for the current block, wherein at least one of the acquired motion vectors does not correspond to a first adjacent NxN block column closest to an upper boundary of the current block or a left boundary closest to the current block Sub-blocks of the first adjacent NxN block row, wherein the time buffer stores selected motion vectors that are less than all motion vectors of previously coded blocks in the current picture, and NxN is used in the time buffer A block size for storing one motion vector; using the acquired two or more motion vectors of the neighboring block to derive an affine candidate including a plurality of affine motion vectors; and Predicting the current block using one or more motion-compensated blocks derived from the derived affine candidate to encode or decode the current block, wherein the affine motion vector predicts the points of the current block and the The motion between corresponding points of one or more motion compensation blocks is described. 如申請專利範圍第1項所述之方法,其中,所述時間緩衝器儲存2個NxN塊列以及2個NxN塊行的運動矢量,且所述2個NxN塊列包括最接近所述當前塊的所述上邊界的所述第一相鄰NxN塊列以及第二相鄰NxN塊列,且所述2個NxN 塊行包括最接近所述當前塊的所述左邊界的所述第一相鄰NxN塊行以及第二相鄰NxN塊行。 The method according to item 1 of the patent application scope, wherein the time buffer stores motion vectors of 2 NxN block columns and 2 NxN block rows, and the 2 NxN block columns include the closest to the current block The first adjacent NxN block column and the second adjacent NxN block column of the upper boundary, and the 2 NxN The block line includes the first adjacent NxN block line and the second adjacent NxN block line that are closest to the left boundary of the current block. 如申請專利範圍第1項所述之方法,其中,如果所述相鄰塊位於所述當前塊上方或鄰近所述當前塊的左上角,所述獲取的兩個或者更多運動矢量包括第一以及第二運動矢量,所述第一運動矢量是替代所述相鄰塊的左上角的原始運動矢量的替代運動矢量以及所述第二運動矢量是替代所述相鄰塊的右上角的原始運動矢量的替代運動矢量;其中,如果所述相鄰塊位於所述當前塊的所述左側,則所述第一運動矢量為替代所述相鄰塊的左上角的原始運動矢量的替代運動矢量,以及所述第二運動矢量為所述相鄰塊的右上角的原始運動矢量。 The method according to item 1 of the scope of patent application, wherein if the adjacent block is located above or adjacent to the upper left corner of the current block, the two or more obtained motion vectors include the first And a second motion vector, the first motion vector is a replacement motion vector replacing the original motion vector of the upper left corner of the adjacent block, and the second motion vector is the original motion replacing the upper right corner of the adjacent block A replacement motion vector of a vector; wherein, if the adjacent block is located on the left side of the current block, the first motion vector is a replacement motion vector that replaces the original motion vector of the upper left corner of the adjacent block, And the second motion vector is an original motion vector in an upper right corner of the neighboring block. 如申請專利範圍第1項所述之方法,其中,所述獲取的兩個或者更多運動矢量包括所述相鄰塊中的第一以及第二子塊的第一以及第二運動矢量,所述導出仿射候選還包括:使用所述第一以及第二運動矢量,所述當前塊的像素位置與所述當前圖片相關,所述第一子塊的像素位置與所述當前圖片以及所述相鄰塊的寬度相關來導出所述仿射運動矢量的第一仿射運動矢量;以及使用所述第一以及第二運動矢量、所述相鄰塊的所述寬度、以及所述當前塊的寬度來導出第二仿射運動矢量。 The method according to item 1 of the scope of patent application, wherein the obtained two or more motion vectors include first and second motion vectors of first and second sub-blocks in the adjacent block, so The deriving the affine candidate further includes: using the first and second motion vectors, a pixel position of the current block is related to the current picture, and a pixel position of the first sub-block is related to the current picture and the A first affine motion vector of the affine motion vector is derived by correlating the widths of neighboring blocks; and using the first and second motion vectors, the width of the neighboring block, and the current block Width to derive the second affine motion vector. 如申請專利範圍第1項所述之方法,其中,所述獲取的兩個或者更多運動矢量包括所述相鄰塊中的第一、第二、以及第三子塊的第一、第二、以及第三運動矢量,其中,導 出所述仿射候選還包括:使用所述第一、第二以及第三運動矢量中的至少兩個運動矢量,所述當前塊的像素位置與所述當前圖片相關,所述第一子塊的像素位置與所述當前圖片以及所述相鄰塊的寬度相關來導出所述仿射運動矢量的第一仿射運動矢量;使用所述第一以及第二運動矢量、所述相鄰塊的所述寬度、以及所述當前塊的寬度來導出第二仿射運動矢量;以及使用所述第一以及第三運動矢量以及所述相鄰塊的高度和所述當前塊的高度中的至少一個來導出第三仿射運動矢量。 The method according to item 1 of the patent application scope, wherein the two or more obtained motion vectors include first, second, and first and second sub-blocks of the neighboring block And a third motion vector, where the guide The affine candidate further includes: using at least two motion vectors of the first, second and third motion vectors, the pixel position of the current block is related to the current picture, and the first sub-block The pixel position of is related to the width of the current picture and the neighboring block to derive a first affine motion vector of the affine motion vector; using the first and second motion vectors, the neighboring block's Deriving a second affine motion vector using the width and the width of the current block; and using the first and third motion vectors and at least one of the height of the neighboring block and the height of the current block To derive a third affine motion vector. 如申請專利範圍第1項所述之方法,其中,所述獲取的兩個或者更多運動矢量包括第一、第二以及第三運動矢量,如果所述相鄰塊位於所述當前塊上方,則所述第一運動矢量為替代所述相鄰塊的左上角的原始運動矢量的替代運動矢量,所述第二運動矢量為替代所述相鄰塊的右上角的原始運動矢量的替代運動矢量,且所述第三運動矢量為所述相鄰塊的左下角的原始運動矢量;其中,如果所述相鄰塊鄰近所述當前塊的左上角,所述第一運動矢量為替代所述相鄰塊的左上角的原始運動矢量的替代運動矢量,所述第二運動矢量為替代所述相鄰塊的右上角的原始運動矢量的替代運動矢量,且所述第三運動矢量為替代所述相鄰塊的左下角的原始運動矢量的替代運動矢量;以及其中,如果所述相鄰塊位於所述當前塊的所述左側,則所述第一運動 矢量為替代所述相鄰塊的左上角的原始運動矢量的替代運動矢量,所述第二運動矢量為所述相鄰塊的右上角的原始運動矢量,以及所述第三運動矢量為替代所述相鄰塊的左下角的原始運動矢量的替代運動矢量。 The method according to item 1 of the patent application scope, wherein the two or more obtained motion vectors include first, second, and third motion vectors, and if the adjacent block is located above the current block, Then the first motion vector is a replacement motion vector replacing the original motion vector of the upper left corner of the adjacent block, and the second motion vector is a replacement motion vector replacing the original motion vector of the upper right corner of the adjacent block And the third motion vector is an original motion vector of a lower left corner of the neighboring block; wherein if the neighboring block is adjacent to an upper left corner of the current block, the first motion vector is used instead of the phase An alternative motion vector of the original motion vector of the upper left corner of the neighboring block, the second motion vector is an alternative motion vector of the original motion vector of the upper right corner of the adjacent block, and the third motion vector is an alternative to the A replacement motion vector of the original motion vector of the lower left corner of the neighboring block; and wherein if the neighboring block is located on the left side of the current block, the first motion The vector is a replacement motion vector replacing the original motion vector of the upper left corner of the adjacent block, the second motion vector is the original motion vector of the upper right corner of the adjacent block, and the third motion vector is the replacement The replacement motion vector of the original motion vector of the lower left corner of the neighboring block is described. 如申請專利範圍第1項所述之方法,其中,根據具有兩個控制點的四參數仿射運動模型或根據具有三個控制點的六參數仿射運動模型,所述當前塊是由所述一個或多個運動補償塊通過所述仿射候選的所述仿射運動矢量來預測。 The method according to item 1 of the scope of patent application, wherein, according to a four-parameter affine motion model having two control points or a six-parameter affine motion model having three control points, the current block is determined by the One or more motion compensation blocks are predicted by the affine motion vector of the affine candidate. 如申請專利範圍第1項所述之方法,其中,所述時間緩衝器儲存位於所述當前塊上方的M個NxN塊列,且M小於最大編碼單元高度除以N。 The method according to item 1 of the scope of patent application, wherein the time buffer stores M NxN block columns above the current block, and M is less than the maximum coding unit height divided by N. 如申請專利範圍第1項所述之方法,其中,所述時間緩衝器儲存所述當前塊的左側的K個NxN塊行,且K小於最大編碼單元寬度除以N。 The method according to item 1 of the scope of patent application, wherein the time buffer stores K NxN block rows to the left of the current block, and K is less than the maximum coding unit width divided by N. 如申請專利範圍第1項所述之方法,其中,所述獲取的兩個或者更多運動矢量為所述相鄰塊的兩個或者更多控制點的原始運動矢量。 The method according to item 1 of the scope of patent application, wherein the obtained two or more motion vectors are original motion vectors of two or more control points of the adjacent block. 如申請專利範圍第10項所述之方法,其中,所述相鄰塊的所述控制點包括所述相鄰塊的左上角、右上角、右下角、左下角中的至少兩個。 The method of claim 10, wherein the control points of the adjacent blocks include at least two of an upper left corner, an upper right corner, a lower right corner, and a lower left corner of the adjacent block. 如申請專利範圍第10項所述之方法,其中,所述時間緩衝器儲存第一相鄰NxN塊列、第一相鄰NxN塊行、頂NxN塊列集合、以及最左NxN塊行集合的原始運動矢量,其中,所述第一相鄰NxN塊列是最接近所述當前塊的所述上邊界的至 少一個上方相鄰塊的最後一列,所述第一相鄰NxN塊行是最接近所述當前塊的所述左邊界的至少一個左側相鄰塊的最後一行,所述頂NxN塊列集合包括所述至少一個上方相鄰塊中的第一列,且所述最左NxN塊行集合包括所述至少一個左側相鄰塊的第一行。 The method of claim 10, wherein the time buffer stores the first adjacent NxN block column, the first adjacent NxN block row, the top NxN block column set, and the leftmost NxN block row set. The original motion vector, wherein the first adjacent NxN block column is the closest to the upper boundary of the current block The last column of at least one upper adjacent block, the first adjacent NxN block row is the last row of at least one left adjacent block closest to the left boundary of the current block, and the top NxN block column set includes A first column in the at least one upper adjacent block, and the leftmost NxN block row set includes a first row of the at least one left adjacent block. 一種視訊編碼系統中具有仿射運動補償的視訊編碼的方法,包括:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型所述當前塊被編碼或將被編碼於仿射模式;計算以及儲存用於所述當前圖片中多個已編碼塊的仿射參數;從所述時間緩衝器中獲取對應於所述當前塊的相鄰塊的一個或多個已編碼塊的所述仿射參數;使用所述相鄰塊的所述獲取的仿射參數導出包括多個仿射運動矢量的仿射候選;以及通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A method for video coding with affine motion compensation in a video coding system includes: receiving input data associated with a current block in a current picture at a video encoder or receiving corresponding information including the current picture at a video decoder. A video bit stream of compressed data of the current block, wherein the current block is encoded or will be encoded in an affine mode according to an affine motion model; calculation and storage of multiple encoded blocks in the current picture are performed and stored Affine parameters; acquiring the affine parameters of one or more coded blocks corresponding to neighboring blocks of the current block from the time buffer; using the acquired affine of the neighboring blocks The parameter derivation includes an affine candidate including a plurality of affine motion vectors; and encoding or decoding the current block by predicting the current block using one or more motion-compensated blocks derived from the derived affine candidate, wherein , The affine motion vector predicts motion between points of the current block and corresponding points of the one or more motion compensation blocks. 如申請專利範圍第13項所述之方法,其中,所述仿射參數包括所述相鄰塊的水平方向運動矢量偏置、垂直方向運動矢量偏置、以及一個運動矢量中的兩個或者更多。 The method according to item 13 of the application, wherein the affine parameters include horizontal motion vector offsets, vertical motion vector offsets, and two or more of a motion vector of the neighboring blocks. many. 如申請專利範圍第14項所述之方法,其中,所述相鄰塊中的所述運動矢量為所述相鄰塊的所述左上角、所述右上角、所述左底部、或所述右底部的運動矢量。 The method according to item 14 of the scope of patent application, wherein the motion vector in the adjacent block is the upper left corner, the upper right corner, the left bottom, or the neighboring block Motion vector at bottom right. 如申請專利範圍第13項所述之方法,其中,儲存於所述時間緩衝器的所述仿射參數包括用於所述已編碼塊的已縮放運動矢量偏置。 The method of claim 13, wherein the affine parameter stored in the time buffer includes a scaled motion vector offset for the coded block. 如申請專利範圍第13項所述之方法,其中,所述仿射參數包括表示兩個或三個控制點的運動矢量的兩個或三個仿射運動矢量,以及所述時間緩衝器儲存用於所述已編碼塊的所述兩個或三個仿射運動矢量。 The method according to item 13 of the application, wherein the affine parameters include two or three affine motion vectors representing motion vectors of two or three control points, and the time buffer storage The two or three affine motion vectors for the coded block. 視訊編碼系統中具有仿射運動補償的視訊編碼的方法,包括:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型所述當前塊被編碼或將被編碼於仿射模式;從時間緩衝器接收有效相鄰塊的兩個或者更多運動矢量以用於所述當前塊,其中,所述有效相鄰塊不包括鄰近所述當前塊的左上角的相鄰塊,其中,所述時間緩衝器儲存所述當前塊的一個相鄰NxN塊列以及一個相鄰NxN塊行的運動矢量,且NxN為所述時間緩衝器中用於儲存一個運動矢量的塊大小;使用所述有效相鄰塊的所述獲取的兩個或者更多運動矢量來導出包括多個仿射運動矢量的仿射候選;以及 通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A method for video coding with affine motion compensation in a video coding system includes: receiving input data associated with a current block in a current picture at a video encoder or receiving a video decoder corresponding to the current picture included in the current picture. A video bitstream of compressed data of a block, wherein the current block is encoded or will be encoded in affine mode according to the affine motion model; two or more motion vectors of valid neighboring blocks are received from the time buffer For the current block, wherein the effective neighboring block does not include a neighboring block adjacent to the upper left corner of the current block, and wherein the time buffer stores a column of neighboring NxN blocks of the current block And a motion vector of a row of adjacent NxN blocks, where NxN is a block size used to store a motion vector in the time buffer; using the acquired two or more motion vectors of the effective neighboring block to Deriving affine candidates including multiple affine motion vectors; and Encoding or decoding the current block by predicting the current block using one or more motion compensated blocks derived from the derived affine candidate, wherein the affine motion vector predicts a point of the current block and Motion between corresponding points of the one or more motion compensation blocks. 如申請專利範圍第18項所述之方法,其中,所述獲取的兩個或者更多運動矢量對應於兩個運動矢量,如果所述有效相鄰塊位於所述當前塊的上方,則所述兩個運動矢量中的一個是位於所述有效相鄰塊的左下角的原始運動矢量,以及所述兩個運動矢量的另一個是位於所述有效相鄰塊的右下角的原始運動矢量;其中,如果所述有效相鄰塊位於所述當前塊的所述左側,則所述兩個運動矢量的一個是所述有效相鄰塊的右上角的原始運動矢量,以及所述兩個運動矢量的另一個是所述有效相鄰塊的右下角的原始運動矢量。 The method according to item 18 of the scope of patent application, wherein the obtained two or more motion vectors correspond to two motion vectors, and if the effective neighboring block is located above the current block, the One of the two motion vectors is an original motion vector located at a lower left corner of the effective neighboring block, and the other of the two motion vectors is an original motion vector located at a lower right corner of the valid neighboring block; wherein If the effective neighboring block is located on the left side of the current block, one of the two motion vectors is the original motion vector in the upper right corner of the effective neighboring block, and the The other is the original motion vector in the lower right corner of the effective neighboring block. 如申請專利範圍第18項所述之方法,其中,根據具有兩個控制點的四參數仿射運動模型,所述當前塊通過所述仿射候選中的所述仿射運動矢量由所述一個或多個運動補償塊來預測。 The method as described in claim 18, wherein according to a four-parameter affine motion model having two control points, the current block is determined by the one through the affine motion vector in the affine candidate. Or multiple motion-compensated blocks to predict. 一種視訊編碼系統中具有仿射運動補償的視訊編碼的裝置,所述裝置包括一個或多個被配置如下的電子電路:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型所述當前塊被編碼或將被編碼於仿射模式; 從時間緩衝器中獲取相鄰塊的兩個或者更多運動矢量以用於所述當前塊,其中,至少一個所述獲取的運動矢量不對應於最接近所述當前塊的上邊界的第一相鄰NxN塊列或最接近所述當前塊的左邊界的第一相鄰NxN塊行的子塊,其中,所述時間緩衝器儲存少於所述當前圖片中先前編碼塊的所有運動矢量的已選擇運動矢量,且NxN為所述時間緩衝器中用於儲存一個運動矢量的塊大小;使用所述相鄰塊的所述獲取的兩個或者更多運動矢量導出包括多個仿射運動矢量的仿射候選;以及通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A video encoding device with affine motion compensation in a video encoding system, the device includes one or more electronic circuits configured to receive input data associated with a current block in a current picture at a video encoder or at a video. The decoder receives a video bit stream corresponding to the compressed data including the current block in the current picture, wherein the current block is encoded or to be encoded in an affine mode according to an affine motion model; Obtain two or more motion vectors of neighboring blocks from the time buffer for the current block, wherein at least one of the acquired motion vectors does not correspond to the first closest to the upper boundary of the current block A neighboring NxN block column or a sub-block of a first neighboring NxN block row closest to the left boundary of the current block, wherein the time buffer stores less than A motion vector has been selected, and NxN is the block size used to store one motion vector in the time buffer; using the acquired two or more motion vectors of the neighboring block to derive a plurality of affine motion vectors An affine candidate; and encoding or decoding the current block by predicting the current block using one or more motion-compensated blocks derived from the derived affine candidate, wherein the affine motion vector predicts Describe the motion between points of the current block and corresponding points of the one or more motion compensation blocks. 一種視訊編碼系統中具有仿射運動補償的視訊編碼的裝置,所述裝置包括一個或多個被配置如下的電子電路:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型所述當前塊被編碼或將被編碼於仿射模式;計算以及儲存用於所述當前圖片中多個已編碼塊的仿射參數;從所述時間緩衝器中獲取對應於所述當前塊的相鄰塊的一個或多個已編碼塊的所述仿射參數;使用所述相鄰塊的所述獲取的仿射參數導出包括多個仿射 運動矢量的仿射候選;以及通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A video encoding device with affine motion compensation in a video encoding system, the device includes one or more electronic circuits configured to receive input data associated with a current block in a current picture at a video encoder or at a video. The decoder receives a video bit stream corresponding to the compressed data including the current block in the current picture, wherein the current block is encoded or will be encoded in an affine mode according to an affine motion model; calculation and storage Affine parameters for a plurality of coded blocks in the current picture; obtaining the affine parameters of one or more coded blocks corresponding to neighboring blocks of the current block from the time buffer; Using the obtained affine parameters of the neighboring block to derive a plurality of affine An affine candidate for a motion vector; and encoding or decoding the current block by predicting the current block using one or more motion-compensated blocks derived from the derived affine candidate, wherein the affine motion vector Predicting motion between points of the current block and corresponding points of the one or more motion-compensated blocks. 一種視訊編碼系統中具有仿射運動補償的視訊編碼的裝置,所述裝置包括一個或多個被配置如下的電子電路:於視訊編碼器接收與當前圖片中當前塊相關聯的輸入資料或於視訊解碼器接收對應於包括所述當前圖片中所述當前塊的壓縮資料的視訊位元串流,其中,根據仿射運動模型所述當前塊被編碼或將被編碼於仿射模式;從時間緩衝器接收有效相鄰塊的兩個或者更多運動矢量以用於所述當前塊,其中,所述有效相鄰塊不包括鄰近所述當前塊的左上角的相鄰塊,其中,所述時間緩衝器儲存所述當前塊的一個相鄰NxN塊列以及一個相鄰NxN塊行的運動矢量,且NxN為所述時間緩衝器中用於儲存一個運動矢量的塊大小;使用所述有效相鄰塊的所述獲取的兩個或者更多運動矢量來導出包括多個仿射運動矢量的仿射候選;以及通過使用由所述已導出的仿射候選導出的一個或多個運動補償塊預測所述當前塊來編碼或解碼所述當前塊,其中,所述仿射運動矢量預測所述當前塊的點以及所述一個或多個運動補償塊的對應點之間的運動。 A video encoding device with affine motion compensation in a video encoding system, the device includes one or more electronic circuits configured to receive input data associated with a current block in a current picture at a video encoder or at a video. The decoder receives a video bit stream corresponding to the compressed data including the current block in the current picture, wherein the current block is encoded or to be encoded in an affine mode according to an affine motion model; from time buffering The processor receives two or more motion vectors of a valid neighboring block for the current block, wherein the valid neighboring block does not include a neighboring block adjacent to an upper left corner of the current block, wherein the time The buffer stores a motion vector of an adjacent NxN block column and an adjacent NxN block row of the current block, and NxN is a block size for storing a motion vector in the time buffer; using the effective adjacent Deriving an affine candidate including a plurality of affine motion vectors by said acquired two or more motion vectors of a block; and by using said derived affine candidate One or more motion-compensated blocks predict the current block to encode or decode the current block, wherein the affine motion vector predicts one of the points of the current block and the corresponding points of the one or more motion-compensated blocks. Between sports.
TW106108289A 2016-03-15 2017-03-14 Method and apparatus of video coding with affine motion compensation TWI617185B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
??PCT/CN2016/076360 2016-03-15
PCT/CN2016/076360 WO2017156705A1 (en) 2016-03-15 2016-03-15 Affine prediction for video coding
PCT/CN2017/076420 WO2017157259A1 (en) 2016-03-15 2017-03-13 Method and apparatus of video coding with affine motion compensation
??PCT/CN2017/076420 2017-03-13

Publications (2)

Publication Number Publication Date
TW201739252A TW201739252A (en) 2017-11-01
TWI617185B true TWI617185B (en) 2018-03-01

Family

ID=59851897

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106108289A TWI617185B (en) 2016-03-15 2017-03-14 Method and apparatus of video coding with affine motion compensation

Country Status (2)

Country Link
TW (1) TWI617185B (en)
WO (1) WO2017156705A1 (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190116376A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
CN109729352B (en) 2017-10-27 2020-07-21 华为技术有限公司 Method and device for determining motion vector of affine coding block
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
CN118381901A (en) * 2018-03-21 2024-07-23 Lx 半导体科技有限公司 Image encoding/decoding apparatus and apparatus for transmitting image data
WO2019194506A1 (en) * 2018-04-01 2019-10-10 엘지전자 주식회사 Image coding method based on affine inter prediction and device therefor
WO2019203504A1 (en) * 2018-04-15 2019-10-24 엘지전자 주식회사 Method and apparatus for reducing storage space for motion information in video processing system
WO2019225994A1 (en) * 2018-05-24 2019-11-28 주식회사 케이티 Method and apparatus for processing video signal
CN118233651A (en) * 2018-06-07 2024-06-21 韦勒斯标准与技术协会公司 Video signal processing method and apparatus using adaptive motion vector resolution
KR102568712B1 (en) * 2018-06-18 2023-08-22 엘지전자 주식회사 Method and apparatus for processing video signals using affine motion prediction
TW202025776A (en) 2018-06-19 2020-07-01 北京字節跳動網絡技術有限公司 Selected mvd precision without mvp truncation
EP3808080A4 (en) * 2018-06-20 2022-05-25 HFI Innovation Inc. Method and apparatus of motion vector buffer management for video coding system
US11394960B2 (en) 2018-06-29 2022-07-19 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
CN110662072B (en) * 2018-06-29 2022-04-26 杭州海康威视数字技术股份有限公司 Motion information candidate list construction method and device and readable storage medium
CN112335247A (en) * 2018-06-29 2021-02-05 Vid拓展公司 Adaptive control point selection for affine motion model based video coding
CN115733974A (en) 2018-07-02 2023-03-03 华为技术有限公司 Video image encoding method and apparatus for encoding video data
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding
US11032563B2 (en) * 2018-07-17 2021-06-08 Tencent America LLC Method and apparatus for affine model prediction
TWI734158B (en) * 2018-07-31 2021-07-21 聯發科技股份有限公司 Method and apparatus of merge with motion vector difference for video coding
WO2020032609A1 (en) * 2018-08-09 2020-02-13 엘지전자 주식회사 Affine motion prediction-based image decoding method and device using affine merge candidate list in image coding system
US20210266566A1 (en) * 2018-08-17 2021-08-26 Mediatek Inc. Method and Apparatus of Simplified Merge Candidate List for Video Coding
CN117956139A (en) 2018-08-17 2024-04-30 寰发股份有限公司 Inter-frame prediction method and device for video encoding and decoding
CN118540472A (en) * 2018-08-29 2024-08-23 Vid拓展公司 Method and apparatus for video encoding and decoding
TWI729483B (en) 2018-09-04 2021-06-01 聯發科技股份有限公司 Method and apparatus of motion-vector rounding unification for video coding system
CN116647693A (en) 2018-09-06 2023-08-25 Lg电子株式会社 Encoding/decoding apparatus, storage medium, and data transmission apparatus
CN110891175B (en) 2018-09-08 2023-04-07 北京字节跳动网络技术有限公司 Affine mode in video encoding and decoding
CN110891176B (en) 2018-09-10 2023-01-13 华为技术有限公司 Motion vector prediction method and device based on affine motion model
BR122021009784A2 (en) 2018-09-10 2021-07-13 Lg Electronics Inc. IMAGE DECODING METHOD AND APPARATUS BASED ON AFIM MOVEMENT PREDICTION USING AFIM MVP CANDIDATES LIST IN THE IMAGE CODING SYSTEM
US11057636B2 (en) * 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
KR102635047B1 (en) * 2018-09-19 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Syntax reuse for affine modes with adaptive motion vector resolution
US10834417B2 (en) * 2018-09-21 2020-11-10 Tencent America LLC Method and apparatus for video coding
WO2020060354A1 (en) * 2018-09-21 2020-03-26 엘지전자 주식회사 Process and apparatus for controlling compressed motion vectors
US11039157B2 (en) * 2018-09-21 2021-06-15 Tencent America LLC Techniques for simplified affine motion model coding with prediction offsets
US11212550B2 (en) * 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
CN110944206B (en) * 2018-09-23 2023-05-26 北京字节跳动网络技术有限公司 General application involving affine motion
KR20230161543A (en) 2018-09-23 2023-11-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Modification of motion vector with adaptive motion vector resolution
CN110958457B (en) * 2018-09-26 2023-05-12 北京字节跳动网络技术有限公司 Affine inheritance of pattern dependencies
CN111010571B (en) * 2018-10-08 2023-05-16 北京字节跳动网络技术有限公司 Generation and use of combined affine Merge candidates
WO2020084470A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
CN111107354A (en) 2018-10-29 2020-05-05 华为技术有限公司 Video image prediction method and device
WO2020098790A1 (en) 2018-11-16 2020-05-22 Mediatek Inc. Method and apparatus of improved merge with motion vector difference for video coding
CN113039802B (en) 2018-11-16 2024-05-14 北京字节跳动网络技术有限公司 Use of history-based affine parameters
CN113170111B (en) * 2018-12-08 2024-03-08 北京字节跳动网络技术有限公司 Video processing method, apparatus and computer readable storage medium
CN111355961B (en) 2018-12-24 2023-11-03 华为技术有限公司 Inter-frame prediction method and device
BR112021012479A2 (en) * 2018-12-28 2021-09-08 Jvckenwood Corporation MOTION PICTURE ENCODING DEVICE, MOTION PICTURE ENCODING METHOD, MOTION PICTURE ENCODING PROGRAM, MOTION PICTURE DECODING DEVICE, MOTION PICTURE DECODING METHOD AND MOTION PICTURE DECODING PROGRAM
US11758125B2 (en) 2019-01-02 2023-09-12 Lg Electronics Inc. Device and method for processing video signal by using inter prediction
US11627310B2 (en) 2019-01-02 2023-04-11 Lg Electronics Inc. Affine motion prediction-based video decoding method and device using subblock-based temporal merge candidate in video coding system
US11356699B2 (en) * 2019-01-11 2022-06-07 Hfi Innovation Inc. Method and apparatus of sub-block deblocking in video coding
CN113302938B (en) * 2019-01-11 2024-08-16 北京字节跳动网络技术有限公司 Integer MV motion compensation
US10904550B2 (en) * 2019-01-12 2021-01-26 Tencent America LLC Method and apparatus for video coding
CN113287303A (en) * 2019-01-12 2021-08-20 北京字节跳动网络技术有限公司 Bi-directional prediction constraints
WO2020156516A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution
JP7358497B2 (en) * 2019-03-12 2023-10-10 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Encoders, decoders, methods, and video bitstreams and computer programs for hybrid video coding
CN113796070A (en) * 2019-06-10 2021-12-14 Oppo广东移动通信有限公司 Method for determining predicted value, encoder, and computer storage medium
CN114128263A (en) * 2019-08-12 2022-03-01 北京达佳互联信息技术有限公司 Method and apparatus for adaptive motion vector resolution in video coding and decoding
JP7462740B2 (en) 2019-09-19 2024-04-05 エルジー エレクトロニクス インコーポレイティド Image encoding/decoding method and device performing PROF, and method for transmitting bitstream
CN111050182B (en) 2019-12-27 2022-02-18 浙江大华技术股份有限公司 Motion vector prediction method, video coding method, related equipment and device
TWI830363B (en) * 2022-05-19 2024-01-21 鈺立微電子股份有限公司 Sensing device for providing three dimensional information

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350920A (en) * 2007-07-17 2009-01-21 北京华辰广正科技发展有限公司 Method for estimating global motion facing to panorama video
WO2011046607A2 (en) * 2009-10-14 2011-04-21 Thomson Licensing Filtering and edge encoding
US20140341290A1 (en) * 2011-11-11 2014-11-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Effective wedgelet partition coding using spatial prediction
JP2015056043A (en) * 2013-09-12 2015-03-23 キヤノン株式会社 Image processor, control method thereof, and control program
CN105163116A (en) * 2015-08-29 2015-12-16 华为技术有限公司 Method and device for image prediction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665958B2 (en) * 2008-01-29 2014-03-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation
US8363721B2 (en) * 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
US20100246675A1 (en) * 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
CN104539966B (en) * 2014-09-30 2017-12-22 华为技术有限公司 Image prediction method and relevant apparatus
CN104363451B (en) * 2014-10-27 2019-01-25 华为技术有限公司 Image prediction method and relevant apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350920A (en) * 2007-07-17 2009-01-21 北京华辰广正科技发展有限公司 Method for estimating global motion facing to panorama video
WO2011046607A2 (en) * 2009-10-14 2011-04-21 Thomson Licensing Filtering and edge encoding
US20140341290A1 (en) * 2011-11-11 2014-11-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Effective wedgelet partition coding using spatial prediction
JP2015056043A (en) * 2013-09-12 2015-03-23 キヤノン株式会社 Image processor, control method thereof, and control program
CN105163116A (en) * 2015-08-29 2015-12-16 华为技术有限公司 Method and device for image prediction

Also Published As

Publication number Publication date
TW201739252A (en) 2017-11-01
WO2017156705A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
TWI617185B (en) Method and apparatus of video coding with affine motion compensation
US11375226B2 (en) Method and apparatus of video coding with affine motion compensation
US11750818B2 (en) Inter-prediction mode based image processing method, and apparatus therefor
TWI619374B (en) Method and apparatus of video coding with affine motion compensation
CN110677675B (en) Method, device and storage medium for efficient affine Merge motion vector derivation
CN110809887B (en) Method and apparatus for motion vector modification for multi-reference prediction
CN112954332B (en) Encoding and decoding method, device and equipment
CN112868239A (en) Collocated local illumination compensation and intra block copy codec
RU2761511C2 (en) Window of limited memory access for clarifying motion vector
JP2023014095A (en) Memory access windows and padding for motion vector refinement and motion compensation
CN112997487A (en) Coordination between affine mode and other inter-frame coding tools
CN110740327A (en) Motion compensation of overlapping blocks
TW202015405A (en) Method and apparatus of inter prediction for video coding
CN110337810B (en) Method and apparatus for video processing
JP2018182435A (en) Motion vector prediction device and computer program
CN111247804B (en) Image processing method and device