TWI706668B - 用於視訊編解碼的幀間預測方法以及裝置 - Google Patents

用於視訊編解碼的幀間預測方法以及裝置 Download PDF

Info

Publication number
TWI706668B
TWI706668B TW108121449A TW108121449A TWI706668B TW I706668 B TWI706668 B TW I706668B TW 108121449 A TW108121449 A TW 108121449A TW 108121449 A TW108121449 A TW 108121449A TW I706668 B TWI706668 B TW I706668B
Authority
TW
Taiwan
Prior art keywords
affine
block
current block
current
decoding
Prior art date
Application number
TW108121449A
Other languages
English (en)
Other versions
TW202015405A (zh
Inventor
莊子德
陳慶曄
林芷儀
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202015405A publication Critical patent/TW202015405A/zh
Application granted granted Critical
Publication of TWI706668B publication Critical patent/TWI706668B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

使用包含一仿射模式的編解碼模式的幀間預測的方法及裝置。根據一個方法,如果目標相鄰塊在當前塊的一相鄰區域中,一仿射控制點MV基於該目標相鄰塊的兩個目標MV(運動向量)來推導,其中該仿射控制點MV是基於一4參數仿射模型以及該目標相鄰塊以一6參數仿射模型進行編解碼。根據另一方法,如果目標相鄰塊在該當前塊的一相鄰區域中,一仿射控制點MV基於該目標相鄰塊的兩個子塊MV(運動向量)來推導,如果該目標相鄰塊在於該當前塊相同的一區域中,該仿射控制點MV基於該目標相鄰塊的複數個控制點MV來推導。

Description

用於視訊編解碼的幀間預測方法以及裝置
本發明涉及使用運動估計(motion estimation)以及運動補償(motion compensation)的視訊編解碼。特別地,本發明涉及使用包括仿射(affine)轉換運動模型的運動估計/補償技術對編解碼系統進行運動向量緩衝器管理(buffer management)。
在過去二十年已經開發了各種視訊編解碼標準。在更新的編解碼標準中,更加強有力的編解碼工具用於改善編解碼效率。高效視訊編解碼(High Efficiency Video Coding,HEVC)是近些年開發的新的編解碼標準。在高效視訊編解碼(HEVC)系統中,H.264/AVC的固定尺寸的宏塊(macroblock)被靈活塊替代,稱為編碼單元(coding unit,CU)。CU中的像素共用相同的編解碼參數來改善編解碼效率。CU可以開始於最大的CU(LCU),其在HEVC中也稱為編碼樹單元(coded tree unit,CTU)。除了編碼單元的概念,HEVC中還引入了預測單元(PU)的概念。一旦完成CU分層樹的拆分,根據預測類型以及PU分割,每一葉CU被進一步拆分成一或複數個預測單元(prediction unit,PU)。
在大多數編解碼標準中,在塊的基礎上使用適應性幀間/幀內預測。在幀間預測(inter prediction)模式中,為每一塊決定一個或兩個運動向量來選 擇一個參考塊(即,單向預測)或兩個參考塊(即,雙向預測)。一或複數個運動向量被決定並且被編碼用於每一單獨塊。在HEVC中,以兩個不同的方式支援幀間運動補償:顯示發信或隱式發信。在顯示發信中,使用預測編解碼方法發信用於塊(PU)的運動向量。運動向量預測子(predictor)對應於與當前塊的空間以及時間相鄰塊有關的運動向量。在MV預測子被決定後,運動向量差(motion vector difference,MVD)被編碼並被傳輸。這一模式也稱為AMVP(advanced motion vector prediction,高級運動向量預測)模式。在隱式發信中,來自候選預測子集合(predictor set)的一個預測子被選擇為用於當前塊(即,PU)的運動向量。因為編碼器以及解碼器兩者將以相同的方式推導候選集合並選擇最終運動向量,這不需要以隱式模式發信MV或MVD。這一模式也稱為合併模式。合併模式中預測子集合的形成也稱為合併候選列表構造。索引(稱為合併索引)被發信來指示被選為當前塊MV的預測子。
沿著時間軸跨過圖像發生的運動可以由許多不同的模型來描述。假定A(x,y)是所考慮位置(x,y)處的原始像素,A’(x’,y’)是當前像素A(x,y)的在參考圖像中位置(x’,y’)處的對應像素,仿射運動模型被描述如下:
在提交給ITU-VCEG的ITU-T13-SG16-C1016號文件中(Lin等人,“Aftine transform prediction for next generation video coding”,ITU-U,研究小組16,問題Q6/16,文件C1016,2015年9月,瑞士加內瓦),一四參數仿射預測被公開,其包括仿射合併模式。當仿射運動塊在移動時,塊的運動向量場(motion vector field)可以由如下的兩個控制點運動向量(control-point motion vector)或四個參數來描述,其中(vx,vy)表示運動向量:
Figure 108121449-A0305-02-0004-1
在第1A圖中示出了四參數仿射模型的示例。轉換塊是矩形塊。 這一運動塊中每一點的運動向量場可以由如下等式來描述:
Figure 108121449-A0305-02-0005-2
在上述等式中,(v0x,v0y)是在塊的左上角的控制點運動向量(即,v0),以及(v1x,v1y)是在塊的右上角的另一個控制點運動向量(即,v1)。當兩個控制點的MV被解碼時,塊的每一4x4塊的MV可以根據上述等式來決定。換言之,塊的仿射運動模型可以由在兩個控制點處的兩個運動向量指定。此外,雖然塊的左上角以及右上角被用作兩個控制點,其他兩個控制點也可以被使用。根據等式(3a),基於第1B圖示出的兩個控制點的MV為每一4x4子塊決定當前塊的運動向量的示例。
6參數仿射模型也可以被使用。這一運動塊中每一點的運動向量場可以由如下等式來描述。
Figure 108121449-A0305-02-0005-3
在上述等式中,(v0x,v0y)是在左上角的控制點運動向量,(v1x,v1y)是在塊的右上角的另一個控制點運動向量,(v2x,v2y)是在塊的左下角的另一個控制點運動向量。
在ITU-T13-SG16-C1016號文件中,對於幀間模式編碼的CU,當CU尺寸等於或大於16x16時,仿射旗標(flag)被發信來指示仿射幀間模式是否被應用。如果當前塊(如,當前CU)以仿射幀間模式進行編碼,候選運動向量預測子(Motion Vector Predictor,MVP)對列表使用相鄰有效已重構塊來構建。第2圖示出了用於推導角落推導仿射候選的相鄰塊集合。如第2圖所示,
Figure 108121449-A0305-02-0005-9
對應於 在當前塊210的左上角的塊V0的運動向量,其從相鄰塊a0(稱為左上塊)、a1(稱為左上內塊)以及a2(稱為左上下塊)的運動向量中選擇,以及
Figure 108121449-A0305-02-0006-10
對應於在當前塊210的右上角的塊V1的運動向量,其從相鄰塊b0(稱為上方塊)以及b1(稱為右上塊)的運動向量中來選擇。候選MVP對的索引在位元流中被發信。兩個控制點的MV差(MVD)在位元流中被編碼。
在ITU-T13-SG16-C1016中,還提出了仿射合併模式。如果當前塊是合併PU,相鄰的五個塊(第2圖中的c0、b0、b1、c1以及a0塊)被檢查它們中的一個是否是仿射幀間模式或仿射合併模式。如果為是,affine_flag被發信來指示當前PU是否是仿射模式。當當前PU以仿射合併模式被應用時,其從有效相鄰已重構塊獲得用仿射模式編碼的第一塊。候選塊的選擇順序是如第2圖所示的左、上、右上、左下到左上(c0→b0→b1→c1→a0)。第一仿射編碼塊的仿射參數用於推導當前PU的v0以及v1。
在HEVC中,每一PU的已解碼MV被用16:1比率下採樣並存儲在時間MV緩衝器中用於後續幀的MVP推導。對於16x16塊,僅左上4x4 MV被存儲在時間MV緩衝器中並且所存儲的MV代表整個16x16塊的MV。
公開了用於視訊編解碼的幀間預測的方法以及裝置,該視訊編解碼由一視訊編碼器或一視訊解碼器執行,其利用運動向量預測來編解碼與用包括一仿射模式的編解碼模式進行編解碼的塊有關的MV(運動向量)資訊。根據這一個方法,在一視訊編碼器側接收與一當前塊有關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流。從該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊根據一4參數仿射模型或一6參數仿射模型來編解碼。如果該目標相鄰塊在該當前塊的一相鄰區域,基於該 目標相鄰塊的兩個目標MV(運動向量)推導一仿射控制點MV候選,其中該推導該仿射控制點MV候選推導是基於一4參數仿射模型。生成一仿射MVP候選列表,其中該仿射MVP候選列表包括該仿射控制點MV候選。在該視訊編碼器側使用該仿射MVP候選列表編碼與一仿射模型有關的當前MV資訊,或者在該視訊解碼器側使用該仿射MVP候選列表解碼與該仿射模型有關的該當前MV資訊。
與該當前塊的該相鄰區域有關的一區域邊界對應於該當前塊的一CTU邊界、CTU列(row)邊界、圖塊邊界或切片邊界。該當前塊的該相鄰區域對應於該當前塊的一上方CTU(編碼樹單元)列或者該當前塊的一個左邊CTU行。在另一示例中,該當前塊的該相鄰區域對應於該當前塊的一上方CU(編碼單元)列或者該當前塊的一個左邊CU行。
在一個實施例中,該目標相鄰塊的該兩個目標MV對應於該目標相鄰塊的兩個子塊MV。例如,該目標相鄰塊的該兩個子塊MV對應於一左下子塊MV以及一右下子塊MV。該目標相鄰塊的該兩個子塊MV被存儲於一線性緩衝器中。例如,該當前塊上方的一個列的MV以及該當前塊左側的一個行的MV被存儲於該線性緩衝器中。在另一示例中,該當前塊的一上方CTU列的一個底部列的MV被存儲於該線性緩衝器中。該目標相鄰塊的該兩個目標MV對應於該目標相鄰塊的兩個控制點MV。
該方法可以進一步包括如果該目標相鄰塊在與該當前塊相同的一區域中,推導該仿射控制點MV候選以及將該仿射控制點MV候選包含於該仿射MVP候選列表中,其中該推導該仿射控制點MV候選是基於一6參數仿射模型或該4參數仿射模型。該相同的區域對應於一相同CTU列。
在一個實施例中,對於該4參數仿射模型,MV x分量的y項參數等於MV y分量的x項參數乘以-1,以及MV x分量的x項參數與MV y分量 的y項參數是相同的。在另一個實施例中,對於該6參數仿射模型,MV x分量的y項參數以及MV y分量的x項參數是不同的,以及MV x分量的x項參數與MV y分量的y項參數也是不同的。
根據另一方法,如果該目標相鄰塊在該當前塊的一相鄰區域中,一仿射控制點MV基於該目標相鄰塊的兩個子塊MV(運動向量)來推導。如果該目標相鄰塊位於該當前塊相同的一區域中,該仿射控制點MV基於該目標相鄰塊的複數個控制點MV來推導。
對於第二方法,如果該目標相鄰塊是一雙向預測塊,與列表0以及列表1參考圖像有關的複數個左下子塊MV以及複數個右下子塊MV被用於推導該仿射控制點MV候選。如果該目標相鄰塊位於該當前塊相同的一區域中,根據該目標相鄰塊的該仿射模式,該仿射控制點MV候選推導對應於一6參數模型或一4參數仿射模型。
本發明藉由當根據當前塊的相鄰塊推導仿射候選時,僅使用CTU列MV線性緩衝器,可以減少仿射預測所需要的線性緩衝器。
110、120:塊
210、310:當前塊
1010~1050、1110~1160:步驟
第1A圖示出了四參數仿射模型的示例,其中轉換塊仍是一矩形塊。
第1B圖示出了基於兩個控制點的MV為每一4x4子塊決定當前塊運動向量的示例。
第2圖示出了用於推導角落推導的仿射候選的相鄰塊集合。
第3圖示出了根據本發明一個實施例的藉由存儲CU的第一列(row)/第一行(column)MV的一個以上MV列以及一個以上MV行的仿射MVP推導的示例。
第4A圖示出了根據本發明一個實施例的藉由存儲M個MV列以及K個MV行 的仿射MVP推導的示例。
第4B圖示出了根據本發明一個實施例的藉由存儲M個MV列以及K個MV行的仿射MVP推導的另一示例。
第5圖示出了根據本發明一個實施例的藉由存儲CU的第一列/第一行MV的一個以上MV列以及一個以上MV行的仿射MVP推導的示例。
第6圖示出了根據本發明一個實施例的僅使用相鄰塊的兩個MV的仿射MVP推導的示例。
第7圖示出了根據本發明一個實施例的使用上方CTU列的底部列MV的仿射MVP推導的示例。
第8A圖示出了根據本發明一個實施例的僅使用相鄰塊的兩個MV的仿射MVP推導的示例。
第8B圖示出了根據本發明一個實施例的僅使用相鄰塊的兩個MV的仿射MVP推導的另一示例。
第9A圖示出了根據本發明一個實施例的使用來自相鄰MV的額外MV的仿射MVP推導的示例。
第9B圖示出了根據本發明一個實施例的使用來自相鄰MV的額外MV的仿射MVP推導的另一示例。
第10圖示出了結合本發明實施例的具有仿射幀間模式的視訊編解碼系統的示例性流程圖,其中基於目標相鄰塊的兩個目標MV(運動向量)推導仿射控制點MV候選以及該仿射控制點MV候選是基於4參數仿射模型。
第11圖示出了結合本發明實施例的具有仿射幀間模式的視訊編解碼系統的另一個示例性流程圖,其中仿射控制點MV候選是根據該目標相鄰塊是在當前塊的相鄰區域或相同區域中,而基於已存儲的控制點運動向量或子塊運動向量來推導。
下文的描述是實施本發明的最佳實施方式。所作之描述是為了說明本發明的基本原理並且不應對此作限制性理解。本發明的範圍由參考所附申請專利範圍最佳決定。
在現有的視訊系統中,先前已編碼塊的運動向量被存儲在運動向量緩衝器以由後續塊來使用。例如,緩衝器中的運動向量可以分別推導用於合併模式或幀間模式的合併列表或AMVP(高級運動向量預測)列表的候選。當使用仿射運動估計以及補償時,與控制點有關的運動向量(MV)不被存儲在MV緩衝器中。反之,控制點運動向量(CPMV)被存儲在與MV緩衝器分離的其他緩衝器中。當推導仿射候選(如,仿射合併候選或仿射幀間候選)時,相鄰塊的CPMV需要從其他緩衝器中檢索出。為了減少所需要的儲存空間與/或CPMV存取,公開了各種技術。
在ITU-T13-SG16-C-1016中,仿射MVP被推導用於仿射幀間模式以及仿射合併模式。在ITU-T13-SG16-C-1016中,對於當前塊的仿射合併模式,如果相鄰塊是仿射編碼塊(包括仿射幀間模式塊以及仿射合併模式塊),相鄰塊的左上NxN(如,存儲MV的最小塊尺寸,以及N=4)塊的MV以及相鄰塊的右上NxN塊的MV被用於推導仿射合併候選的仿射參數或控制點的MV。當使用第三控制點時,左下NxN塊的MV也被使用。例如,如第3圖中所示,當前塊310的相鄰塊B以及E是仿射編碼塊。為了推導塊B以及塊E的仿射參數,需要VB0、VB1、VE0以及VE1的MV。有時,如果需要第三控制點,需要VB2以及VE2。然而,在HEVC中,僅當前CU/CTU/CTU列的相鄰4x4塊列以及4x4塊行的MV以及當前CTU的MV被存儲在線性緩衝器(line buffer)中用於快速存取。其他MV被下採樣以及被存儲在時間MV緩衝器中用於後續幀或者被丟棄。 因此,如果塊B以及塊E在上方CTU列中,VB0、VB1、VE0、VE1不被存儲在原始編解碼架構的任何緩衝器中。其需要額外的MV緩衝器來存儲相鄰塊的MV用於仿射參數推導。
為了克服這一MV緩衝器問題,MV緩衝器管理的各種方法被公開來減少緩衝器需求。
方法1:基於時間MV緩衝器中下採樣MV的仿射MVP
如果MV不在當前CU/CTU的相鄰塊列或塊行中或者不在當前CTU/CTU列中(如,參考MV不在當前CU/CTU的相鄰NxN塊列或者NxN塊行中或者不在當前CTU/CTU列中),仿射參數推導使用存儲在時間MV緩衝器中的MV而不是真實的MV。此處NxN表示存儲MV的最小塊尺寸。在一個實施例中,N=4。
方法2:藉由存儲M個MV列以及K個MV行的仿射MVP推導
根據這一方法,M個相鄰列塊的MV以及K個相鄰行塊的MV被存儲用於仿射參數推導,而不是存儲當前幀中的所有MV,其中M以及K是整數,M可以大於1以及K可以大於1。每一塊指相關MV(一個實施例中N=4)可以被存儲的最小NxN塊。第4A-4B圖中示出了M=K=2以及N=4的一示例。 在第4A圖中,為了推導塊B、E以及A的仿射參數,使用VB0’以及VB1’而不是VB0以及VB1。VE0’、VE1’以及VE2’被使用而不是VE0、VE1以及VE2。VA0’以及VA2’被使用而不是VA0以及VA2。在第4B圖中,為了推導塊B、E以及A的仿射參數,VB0’、VB1’以及VB2’被使用而不是VB0、VB1以及VB2。VE0’、VE1’以及VE2’被使用而不是VE0、VE1以及VE2。VA0’以及VA2’被使用而不是VA0以及VA2。通常,兩個列塊以及兩個行塊中的其他位置可以被用於仿射參數推導。在沒有損失一般性的情況下,僅第4A圖中的方法被描述如下。
來自塊B的第一推導控制點仿射MVP可以被修正如下: 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 (3)
在上述等式中,VB0’、VB1’以及VB2’可以由任何其他所選擇參考/相鄰PU的對應MV來替代,(posCurPU_X,posCurPU_Y)是相對於圖像的左上採樣的當前PU的左上採樣的像素位置,(posRefPU_X,posRefPU_Y)是相對於圖像的左上採樣的參考/相鄰PU的左上採樣的像素位置,(posB0’_X,posB0’_Y)是相對於圖像的左上採樣的B0塊的左上採樣的像素位置。其他兩個控制點MVP可以被推導如下: V1_x=V0_x +(VB1’_x-VB0’_x)* PU_width/RefPU_widt,h 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). (4)
從塊B推導2控制點仿射MVP可以被修正如下: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. (5)
因為用於存儲來自上方CTU的MV的線性緩衝器遠大於用於存儲來自左邊CTU的MV的行緩衝器(column buffer),這裡不需要約束M的值, 其中根據一個實施例,M可以被設置為CTU_width/N。
在另一個實施例中,在當前CTU列內,M個MV列被使用。然而,在當前CTU列外,僅一個MV列被使用。換言之,CTU列MV線性緩衝器僅存儲一個MV列。
在另一個實施例中,垂直方向上的不同的M個MV與/或水平方向上不同的K個MV被存儲在M個MV列緩衝器與/或K個MV行緩衝器中。 不同的MV可以來自不同的CU或不同的子塊。從具有子塊模式的一個CU引入的不同MV的數目在一些實施例中可以被進一步被限制。例如,具有尺寸32x32的一個仿射編碼CU可以在水平方向被拆分成8個4x4子塊以及在垂直方向被拆分成8個4x4子塊。在每一方向上有8個不同的MV。在一個實施例中,所有的這些8個不同的MV被允許被考慮為M個或K個不同的MV。在另一個實施例中,僅這些8個不同的MV中第一個MV以及最後一個MV被考慮為M或K個不同的MV。
方法3:藉由存儲除CU的第一列/第一行MV外的一個以上MV列以及一個以上MV行的仿射MVP推導
提出存儲一個以上的MV列以及一個以上MV行,而不是存儲當前幀中的所有MV。如第5圖所示,兩個MV列以及兩個MV行被存儲在緩衝器中。離當前CU最近的第一MV列以及第一MV行緩衝器被用於存儲NxN塊的原始MV。第二MV列緩衝器被用於存儲上方CU的第一MV列,以及第二MV行緩衝器被用於存儲左邊CU的第一MV行。例如,如第5圖所示,塊B(VB0到VB1)的第一列MV的複數個MV被存儲在第二MV列緩衝器中。塊A(即,VA0到VA2)的第一行MV的複數個MV被存儲在第二MV行緩衝器中。 因此,相鄰CU的控制點的MV可以被存儲在MV緩衝器中。開銷是一個以上MV列以及一個以上MV行。
在一個實施例中,在當前CTU列中,兩個MV列被使用。然而,在當前CTU列外,僅一個MV列被使用。換言之,CTU列MV線性緩衝器被用於僅存儲一個MV列。
方法4:藉由存儲每一MxM塊或每一CU的仿射參數或控制點MV的仿射MVP推導
在等式(3)中,左上以及右上控制點的MV被用於推導CU/PU中所有NxN(即,存儲MV的最小單元,在一個實施例中N=4)子塊的複數個MV。 所推導的複數個MV是(v0x,v0y)加位置相關的偏移MV。根據等式(3),如果其為NxN子塊推導一MV,水平方向偏移MV是((v1x-v0x)*N/w,(v1y-v0y)*N/w)以及垂直方向偏移MV是(-(v1y-v0y)*N/w,(v1x-v0x)*N/w)。對於6參數仿射模型,如果左上、右上以及左下MV是v0、v1以及v2,每一像素的MV可以被推導如下:
Figure 108121449-A0305-02-0014-4
根據等式(6),用於在位置(x,y)(相對於左上角)處的NxN子塊的MV,水平方向偏移MV是((v1x-v0x)*N/w,(v1y-v0y)*N/w)以及垂直方向偏移MV是((v2x-v0x)*N/h,(v2y-v0y)*N/h)。如等式(6)所示,所推導的MV是(vx,vy)。在等式(3)以及(6)中,w以及h是仿射編碼塊的寬度以及高度。
如果控制點的MV是NxN塊的中心像素的MV,在等式(3)到(6)中,分母可以減少N。例如,等式(3)可以被改寫為下:V0_x=VB0’_x+(VB2_x-VB0’_x)*(posCurPU_Y-posB0’_Y)/(N)+(VB1’_x-VB0’_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) (7)
在一個實施例中,用於MxM塊或用於CU的水平以及垂直方向偏移MV被存儲。例如,如果最小的仿射幀間模式或仿射合併模式塊的尺寸是8x8,那麼M可以等於8。對於每一8x8塊或CU,如果使用左上以及右上控制點的4參數仿射模型被使用,(v1x-v0x)*N/w與(v1y-v0y)*N/w的參數以及NxN塊的一個MV(如,v0x以及v0y)被存儲。如果使用左上以及左下控制點的4參數仿射模型被使用,(v2x-v0x)*N/w與(v2y-v0y)*N/w的參數以及NxN塊的一個MV(如,v0x以及v0y)被存儲。如果使用左上、右上以及左下控制點的6參數仿射模型被使用,(v1x-v0x)*N/w、(v1y-v0y)*N/w、(v2x-v0x)*N/h、(v2y-v0y)*N/h的參數以及NxN塊的一個MV(如,v0x以及v0y)被存儲。NxN塊的MV可以是CU/PU內的任何NxN塊的MV。仿射合併候選的仿射參數可以從已存儲資訊來推導。
為了保留精度,偏移MV可以乘以縮放數。該縮放數可以被預定的或者被設置為等於CTU尺寸。例如,((v1x-v0x)*S/w,(v1y-v0y)*S/w)以及((v2x-v0x)*S/h,(v2y-v0y)*S/h)被存儲。S可以等於CTU_size或者CTU_size/4。
在另一個實施例中,例如,MxM塊或CU的兩個或三個控制點的MV被存儲於線性緩衝器或局部緩衝器中,而不是存儲仿射參數。控制點MV被分別存儲。控制點MV不等於子塊MV。仿射合併候選的仿射參數可以使用已存儲控制點MV來推導。
方法5:僅使用相鄰塊的兩個MV的仿射MVP推導
根據這一方法,HEVC MV線性緩衝器設計被重用,而不是存儲當前幀中的所有MV。如第6圖所示,HEVC線性緩衝器包括一個MV列以及一個MV行。在另一個實施例中,如第7圖所示,線性緩衝器是CTU列MV線性緩衝器。上方CTU列的底部列MV被存儲。
當從相鄰塊推導仿射候選時,相鄰塊的兩個MV(如,相鄰塊的兩個NxN相鄰子塊的兩個MV,或者相鄰塊的兩個控制點MV)被使用。例如,在第6圖中,對於塊A,VA1以及VA3被用於推導4參數仿射參數以及推導當前塊的仿射合併候選。對於塊B,VB2以及VB3被用於推導4參數參數以及推導當前塊的仿射合併候選。
在一個實施例中,塊E將不被用於推導仿射候選。這一方法不需要額外的緩衝器或額外的線性緩衝器。
在另一個示例中,如第8A圖所示,左邊CU(即,CU-A)是較大CU。如果一個MV線性緩衝器被使用(即,一個MV列以及一個MV行),VA1不被存儲於線性緩衝器。VA3以及VA4被用於推導塊A的仿射參數。在另一個示例中,VA3以及VA5被用於推導塊A的仿射參數。在另一個示例中,VA3以及VA4與VA5的平均值被用於推導塊A的仿射參數。在另一個示例中,VA3以及CU-A中右上塊(稱為TR-A,未在第8A圖中示出)被用於推導仿射參數,其中TR-A是處於2的冪的距離。在一個實施例中,VA3與TR-A的距離是2的冪。 TR-A根據CU-A的位置、CU-A的高度、當前CU的位置與/或當前CU的高度來推導。例如,變數heightA被首選定義為等於CU-A的高度。然後,检查VA3塊的位置-heightA是否等於或小於當前CU的左上位置的y位置。如果結果為假,heightA除以2,以及檢查VA3塊-heightA的位置是否等於或小於當前CU的左上位置的y位置。如果條件被滿足,VA3塊以及具有VA3塊-heightA的位置的塊被用於推導塊A的仿射參數。
在第8B圖中,VA3以及VA4被用於推導塊A的仿射參數。在另一個示例中,VA3以及VA5被用於推導塊的仿射參數。在另一個示例中,VA3以及VA4與VA5的平均值用於推導塊A的仿射參數。在另一個示例中,VA5以及VA6用於推導塊A的仿射參數,其中這兩個塊的距離等於當前CU高度或寬度。 在另一個示例中,VA4以及VA6用於推導塊A的仿射參數,其中這兩個塊的距離等於當前CU高度或寬度+一個子塊。在另一個示例中,VA5以及D用於推導塊A的仿射參數。在另一個示例中,VA4以及D用於推導塊A的仿射參數。在另一個示例中,VA4與VA5的平均值以及VA6與D的平均值用於推導塊A的仿射參數。在另一個示例中,挑選距離等於子塊寬度/高度乘上2的冪的兩個塊用於推導仿射參數。在另一個示例中,挑選距離等於子塊寬度/高度乘上2的冪+一個子塊寬度/高度的兩個塊用於推導仿射參數。在另一個示例中,CU-A中VA3以及右上塊(TR-A)被用於推導仿射參數。在一個實施例中,VA3與TR-A的距離是2的冪。TR-A根據CU-A的位置、CU-A的高度、當前CU的位置與/或當前CU的高度來推導。例如,變數heightA首先被定義為等於CU-A的高度。檢查VA3塊的位置-heightA是否等於或小於當前CU的左上位置的y位置。如果結果為假,heightA除以2,以及檢查VA3塊的位置-heightA是否等於或小於當前CU的左上位置的y位置。如果條件被滿足,VA3的塊以及具有VA3塊的位置-heightA的位置的塊用於推導塊A的仿射參數。在另一個示例中,VA6/D或VA6與D的平均值以及CU-A中右上塊(TR-A)用於推導仿射參數。在一個實施例中。VA6與TR-A的距離是2的冪。從CU-A的位置、CU-A的高度、當前CU的位置與/或當前CU的高度推導TR-A。例如,變數heightA被首先定義為等於CU-A的高度。然後,檢查VA6塊的位置-heightA是否等於或小於當前CU的左上位置的y位置。 如果結果為假,heightA除以2,以及檢查VA6塊的位置-heightA是否等於或小於當前CU的左上位置的y位置。如果條件被滿足,VA6的塊以及具有VA6塊的位置-heightA的位置的塊用於推導塊A的仿射參數。
在另一個實施例中,對於第8A-8B圖,VA1的MV被存儲在被標記為VA4的緩衝器中。那麼,VA1以及VA3可以被用於推導仿射參數。在另一個示例中,這種大CU不被用於推導仿射參數。
注意到上文提到的方法使用左邊CU來推導當前CU的仿射參數 或控制點MV。藉由使用相同/類似方法,所提出的方法也可以被用於推導來自上方CU的當前CU的仿射參數或控制點MV。即當該當前塊的相鄰塊對應於該當前塊的上方CU列或者該當前塊的左邊CU行時,基於相鄰塊的兩個MC推導仿射控制點MV候選。
從塊B所推導的2控制點(即,4參數)仿射MVP可以被修正如下:V0_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_Y-posB2_Y)/RefPUB_width+(VB3_x-VB2_x)*(posCurPU_X-posB2_X)/RefPUB_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_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_Y-posB2_Y)/RefPUB_width+(VB3_x-VB2_x)*(posCurPU_TR_X-posB2_X)/RefPUB_width,或者V1_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_TR_Y-posB2_Y)/RefPUB_width+(VB3_x-VB2_x)*(posCurPU_TR_X-posB2_X)/RefPUB_width,V1_y=V0_y+(VB3_y-VB2_y)* PU_width/RefPUB_width或者V1_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_Y-posB2_Y)/RefPUB_width+(VB3_y-VB2_y)*(posCurPU_TR_X-posB2_X)/RefPUB_width,或者V1_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_TR_Y-posB2_Y)/RefPUB_width+(VB3_y-VB2_y)*(posCurPU_TR_X-posB2_X)/RefPUB_width. (8)
或者,我們可以使用下方的等式:V0_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_x-VB2_x)*(posCurPU_X-posB2_X)/(posB3_X-posB2_X), V0_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_y-VB2_y)*(posCurPU_X-posB2_X)/(posB3_X-posB2_X),V1_x=V0_x+(VB3_x-VB2_x)* PU_width/(posB3_X-posB2_X),V1_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_x-VB2_x)*(posCurPU_TR_X-posB2_X)/(posB3_X-posB2_X),或者V1_x=VB2_x-(VB3_y-VB2_y)*(posCurPU_TR_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_x-VB2_x)*(posCurPU_TR_X-posB2_X)/(posB3_X_posB2_X),V1_y=V0_y+(VB3_y-VB2_y)* PU_width/(posB3_X-posB2_X),或者V1_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_y-VB2_y)*(posCurPU_TR_X-posB2_X)/(posB3_X-posB2_X),或者V1_y=VB2_y+(VB3_x-VB2_x)*(posCurPU_TR_Y-posB2_Y)/(posB3_X-posB2_X)+(VB3_y-VB2_y)*(posCurPU_TR_X-posB2_X)/(posB3_X-posB2_X). (9)
在上述等式中,VB0、VB1以及VB2可以由任何其他所選擇的參考/相鄰PU的對應MV所替代,(posCurPU_X,posCurPU_Y)是相對於圖像的左上採樣的當前PU的左上採樣的像素位置,(posCurPU_TR_X,posCurPU_TR_Y)是相對於圖像的左上採樣的當前PU的右上採樣的像素位置,(posRefPU_X,posRefPU_Y)是相對於圖像的左上採樣的參考/相鄰PU的左上採樣的像素位置,(posB0’_X,posB0’_Y)是相對於圖像的左上採樣的B0塊左上採樣的像素位置。
在一個實施例中,所提出的方法,其使用兩個MV用於推導仿射參數或者僅使用存儲在MV線性緩衝器中的複數個MV用於推導仿射參數,被應用於相鄰區域。在當前塊的當前區域內,複數個MV都被存儲(如,相鄰塊 的所有子塊MV或所有控制點MV)以及可以用於推導仿射參數。如果複數個參考MV在區域外(即,在相鄰區域中),線性緩衝器(如,CTU列線性緩衝器、CU列線性緩衝器、CTU行線性緩衝器與/或CU行線性緩衝器)中的複數個MV可以被使用。在不是所有控制點MV可用的情況下,6參數仿射模型被減少到4參數仿射模型。例如,相鄰塊的兩個MV被用於推導當前塊的仿射控制點MV候選。 目標相鄰塊的複數個MV可以相鄰塊的是左下子塊MV以及右下子塊MV或者相鄰塊的兩個控制點MV。當參考MV在區域內(即,當前區域)時,6參數仿射模型或4參數仿射模型或者其他仿射模型可以被使用。
與相鄰區域有關的區域邊界可以是CTU邊界、CTU列邊界、圖塊(tile)邊界或切片(slice)邊界。例如,對於當前CTU列上方的MV,存儲在一個列MV緩衝器中的複數個MV(如,當前CTU列的上方列的複數個MV)可以被使用(如,第7圖中VB0以及VB1是不可用的,但VB2以及VB3是可用的)。當前CTU列內複數個MV可以被使用。如果相鄰參考塊(塊B)在上方CTU列中(不在具有當前塊的相同CTU列中),VB2以及VB3的複數個子塊MV被用於推導當前塊的複數個仿射參數或複數個控制點MV或複數個控制點MVP(MV預測子)。 如果相鄰參考塊在具有當前塊的相同CTU列(如,在區域內)中,相鄰塊的複數個子塊MV或者相鄰塊的複數個控制點MV可以用於推導當前塊的複數個仿射參數或複數個控制點MV或複數個控制點MVP(MV預測子)。在一個實施例中,如果參考塊在上方CTU列中,因為僅兩個MV被用於推導仿射參數,4參數仿射模型用於推導仿射控制點MV。例如,相鄰塊的兩個MV被用於當前塊的推導仿射控制點MV候選。目標相鄰塊的複數個MV可以是相鄰塊的左下子塊MV以及右下子塊MV或者相鄰塊的兩個控制點MV。否則,6參數仿射模型或4參數仿射模型(根據相鄰塊中使用的仿射模型)或者其他仿射模型可以用於推導仿射控制點MV。
在另一個示例中,當前CTU以及右邊CTU的上方列的複數個MV、以及當前CTU列內複數個MV可以被使用。左上CTU中的MV不可以被使用。在一個實施例中,如果參考塊在上方CTU或右上CTU中,4參數仿射模型被使用。如果參考塊在左上CTU中,仿射模型不被使用。否則,6參數仿射模型或者4參數仿射模型或者其他仿射模型可也被使用。
在另一個示例中,當前區域可以是當前CTU以及左邊CTU。當前CTU中的複數個MV、左邊CTU中的複數個MV、以及當前CTU、左邊CTU以及右邊CTU上方的一個MV列可以被使用。在一個實施例中,如果參考塊在上方CTU列中,4參數仿射模型可以被使用,否則6參數仿射模型或者4參數仿射模型或者其他仿射模型可以被使用。
在另一個示例中,當前區域可以是當前CTU以及左邊CTU。當前CTU中的複數個MV、左邊CTU中的複數個MV、以及當前CTU、左邊CTU以及右邊CTU上方的一個MV列可以被使用。當前CTU的左上相鄰CU不可以用於推導仿射參數。在一個實施例中,如果參考塊在上方CTU列或者在左邊CTU中,4參數仿射模型被使用。如果參考塊在左上CTU中,仿射模型不被使用。否則,6參數仿射模型或者4參數仿射模型或者其他仿射模型可以被使用。
在另一示例中,當前區域可以是當前CTU。當前CTU中的複數個MV、當前CTU的左邊行的複數個MV、以及當前CTU的上方列的複數個MV可以被用於推導仿射參數。當前CTU的上方列的複數個MV還可以包括右邊CTU的上方列的複數個MV。在一個實施例中,當前CTU的左上相鄰CU不可以用於推導仿射參數。在一個實施例中,如果參考塊在上方CTU列或者在左邊CTU中,4參數仿射模型被使用。如果參考塊是在左上CTU中,仿射模式不被使用。否則,6參數仿射模型或4參數仿射模型或者其他仿射模型可以被使用。
在另一個示例中,當前區域可以是當前CTU。當前CTU中的複 數個MV、當前CTU的左邊行的複數個MV、當前CTU的上方列的複數個MV以及當前CTU的左上相鄰MV可以用於推導仿射參數。當前CTU的上方列的複數個MV還可以包括右邊CTU的上方列的複數個MV。注意到,在一個示例中,左邊CTU的上方列的複數個MV是不可用的。在另一個示例中,除了當前CTU的左上相鄰MV,左邊CTU的上方列的複數個MV是不可用的。在一個實施例中,如果參考塊在上方CTU列或在左邊CTU中,4參數仿射模型被使用。 否則,6參數仿射模型或4參數仿射模型或者其他仿射模型可以被使用。
在另一個示例中,當前區域可以是當前CTU。當前CTU中的複數個MV、當前CTU的左邊行的複數個MV、當前CTU的上方列的複數個MV(在一個示例中,包括右邊CTU的上方列的複數個MV以及左邊CTU的上方列的複數個MV)、以及當前CTU的左上相鄰MV可以被用於推導仿射參數。在一個實施例中,當前CTU的左上相鄰CU不可以用於推導仿射參數。
在另一個示例中,當前區域可以是當前CTU。當前CTU中的複數個MV、當前CTU的左邊行的複數個MV、當前CTU的上方列的複數個MV可以用於推導仿射參數。在另一個示例中,當前CTU的上方列的複數個MV包括右邊CTU的上方列的複數個MV但不包括左邊CU的上方列的複數個MV。 在一個實施例中,當前CTU的左上相鄰CU不可以用於推導仿射參數。
對於4參數仿射模型,由如下等式的四個參數(a、b、e以及f)推導MVx以及MVy(vx以及vy):
Figure 108121449-A0305-02-0022-5
根據目標點的x以及y位置與四個參數,vx以及vy可以被推導。 在一個四參數模型中,vx的y項參數等於vy的x項參數乘以-1。vx的x項參數以及vx的y項參數是相同的。根據等式(3),a可以是(v1x-v0x)/w,b可以是-(v1y -v0y)/w,e可以是v0x,f可以是v0y
對於6參數仿射模型,由如下等式的六個參數(a、b、c、d、e以及f)推導MVx以及MVy(vx以及vy):
Figure 108121449-A0305-02-0023-6
根據目標點的x與y位置以及六個參數,vx以及vy可以被推導。 在六參數模型中,vx的y項參數以及vy的x項參數是不同的。vx的x項參數與vy的y項參數也是不同的。根據等式(3),a可以是(v1x-v0x)/w,b可以是(v2x-v0x)/h,c可以是(v1y-v0y)/w,d可以是(v2y-v0y)/h,e可以是v0x,f可以是v0y
僅使用部分MV資訊(如,僅兩個MV)來推導複數個仿射參數或複數個控制點MV/MVP的所提出的方法可以與分開存儲複數個仿射控制點MV的方法結合。例如,區域被首先定義。如果參考相鄰塊是在相同區域中(其,當前區域),所存儲的參考相鄰塊的複數個控制點MV可以用於推導仿射參數或者當前塊的控制點MV/MVP。如果參考相鄰塊不在相同區域中(即,在相鄰區域中),僅部分MV資訊(如,僅相鄰塊的兩個MV)可以用於推導當前塊的仿射參數或控制點MV/MVP。如果參考相鄰塊不在相同區域中(即,在相鄰區域中),僅部分MV資訊(如,僅相鄰塊的兩個MV)可以用於推導當前塊的仿射參數或控制點MV/MVP。相鄰塊的兩個MV可以是相鄰塊的兩個子塊MV。區域邊界可以是CTU邊界、CTU列邊界、圖塊邊界或切片邊界。在一個示例中,區域邊界可以是CTU列邊界。如果相鄰參考塊不在相同區域中(如,相鄰參考塊在上方CTU列中),僅相鄰塊的兩個MV可以用於推導仿射參數或控制點MV/MVP。 兩個MV可以是相鄰塊的左下以及右下子塊MV。在一個示例中,如果相鄰塊雙向預測塊,相鄰塊的左下以及右下子塊MV的列表0以及列表1 MV可以用於推導當前塊的仿射參數或控制點MV/MVP。僅4參數仿射模型被使用。如果 相鄰參考塊在相同區域中(如,在具有當前塊的相同CTU列中),所存儲的相鄰塊的複數個控制點MV可以用於推導當前塊的仿射參數或控制點MV/MVP。根據相鄰塊中使用的仿射模型,可以使用6參數仿射模型或者4參數仿射模型或者其他仿射模型。
在這一提出的方法中,其使用兩個相鄰MV來推導4參數仿射候選。在另一個實施例中,我們可以使用兩個相鄰MV以及一個額外的MV來推導6參數仿射候選。額外的MV可以是複數個相鄰MV的一個或者複數個時間MV的一個。因此,如果相鄰塊在上方CTU列中或者不在相同區域中,6參數仿射模型仍可以被用於推導當前塊的仿射參數或者控制點MV/MVP。
在一個實施例中,根據仿射模式與/或相鄰CU推導4或6參數仿射候選。例如,在仿射AMVP模式中,一個旗標或者一個語法被推導或者被發信來指示4或6參數被使用。旗標或語法可以在CU級、切片級、圖像級或序列級中被發信。如果4參數仿射模式被使用,上述提到的方法被使用。如果6參數仿射模式被使用並且參考塊的所有控制點不都是可用(如,參考塊在上方CTU列中),兩個相鄰MV以及一個額外的MV用於推導6參數仿射候選。如果6參數仿射模式被使用以及參考塊的所有控制點MV是可用的(如,參考塊在當前CTU中),參考塊的三個控制點MV被用於推導6參數仿射候選。
在另一個示例中,6參數仿射候選總是用於仿射合併模式。在另一個示例中,當參考仿射編碼塊以6參數仿射模式(如,6參數仿射AMVP模式或合併模式)進行編碼時,6參數仿射候選被使用。當參考仿射編碼塊以4參數仿射模式進行編碼時,4參數仿射候選被使用。對於推導6參數仿射候選,如果不是參考塊的所有控制點MV都是可用的(如,參考塊在上方CTU列中),兩個相鄰MV以及一個額外的MV被用於推導6參數仿射候選。如果參考塊的所有控制點MV都是可用的(如,參考塊在當前CTU中),參考塊的三個控制點MV 被用於推導6參數仿射候選。
在一個實施例中,額外的MV來自相鄰MV。例如,如果上方CU的複數個MV被使用,左下相鄰塊的MV(第9A圖中的A0或A1,或者掃描次序{A0到A1}或者{A1到A0}的塊A0以及A1中的第一可用MV)可以被用於推導6參數仿射模式。如果左邊CU的複數個MV被使用,右上相鄰塊的MV(第9A圖中B0或B1,或者掃描次序為{B0到B1}或者{B1到B0}的塊B0以及B1中的第一可用MV)可被用於推導6參數仿射模式。在一個示例中,如果兩個相鄰MV是如第6圖中示出的VB2以及VB3,額外的MV可以是左下角的一個相鄰MV(如VA3或D)。在另一個示例中,如果兩個相鄰MV是VA1以及VA3,額外的MV可以是左下角中的一個相鄰MV(如,VB3或VB3右邊的MV)。
在另一個實施例中,額外的MV來自時間並位(temporal collocated)MV。例如,額外的MV可以是第9B圖中的Col-BR,Col-H,Col-BL,Col-A1,Col-A0,Col-B0,Col-B1,Col-TR。在一個示例中,當兩個相鄰MV來自上方或左邊CU時,Col-BR或Col-H被使用。在另一個示例中,當兩個相鄰MV來自上方CU時,Col-BL、Col-A1或Col-A0可以被使用。在另一個示例中,當兩個相鄰MV來自左邊CU時,Col-B0、Col-B1或者Col-TR可以被使用。
在一個實施例中,是否使用空間相鄰MV或時間並位MV取決於空間相鄰與/或時間並位塊。在一個示例中,如果空間相鄰MV是不可用的,時間並位塊被使用。在另一個示例中,如果時間並位MV是不可用的,空間相鄰塊被使用。
控制點MV儲存
在仿射運動建模中,複數個控制點MV被首先推導。當前塊被拆分成複數個子塊。從該等控制點MV推導每一子塊的推導的代表性MV。在JEM(聯合勘探測試模型)中,每一子塊的代表性MV被用於運動補償。藉由使用 子塊的中心點推導代表性MV。例如,對於4x4塊,4x4塊的(2,2)採樣被用於推導代表性MV。在MV緩衝器儲存中,對於當前塊的四個角落,四個角落的代表性MV由複數個控制點MV所替代。所存儲的MV被用於相鄰塊的MV參考。 因為所存儲的複數個MV(如,複數個控制點MV)與用於四個角落的補償MV(如,複數個代表性MV)是不同的,這會導致混淆。
在本發明中,提出在MV緩衝器中存儲當前塊的四個角落的代表性MV而不是控制點MV。這樣,不需要再推導四個角落子塊的補償MV或者不需要四個角落的額外的MV儲存。然而,因為仿射MV推導中縮放因數的分母不是2的冪的值,仿射MV推導需要被修正。修正可以根據下文得到解決。 另外,等式中參考採樣位置也根據本發明實施例進行修正。
在一個實施例中,當前塊的複數個角落(如,當前塊的左上/右上/左下/右下採樣)的複數個控制點MV被推導為複數個仿射MVP(如,AMVP MVP候選與/或仿射合併候選)。根據複數個控制點MV,每一子塊的代表性MV被推導並被存儲。複數個代表性MV被用於MV/MVP推導以及相鄰塊與並位塊的MV編解碼。
在另一個實施例中,一些角落子塊的複數個代表性MV被推導為複數個仿射MVP。根據該等角落子塊的該等代表性MV,每一子塊的代表性MV被推導並被存儲。該等代表性MV被用於MV/MVP推導以及相鄰塊與並位塊的MV編解碼。
仿射控制點MV推導的MV縮放
在本發明中,為了推導複數個仿射控制點MV,MV差(如,VB2_x-VB0_x)乘以縮放因數(如,等式(8)中的(posCurPU_Y-posB2_Y)/RefPUB_width以及等式(9)中的(posCurPU_Y-posB2_Y)/(posB3_X-posB2_X))。如果縮放因數的分母是-2的冪的值,簡單的乘法以及移位(shift)可 以被應用。然而,如果縮放因數的分母不是-2的冪的值,需要除法。通常,除法器的實施需要許多矽面積。為了減少實施成本,除法器可以由根據本發明實施例的尋找表(look-up table)、乘法器以及移位器所替代。因為縮放因數的分母是參考塊的控制點距離,值小於CTU尺寸並且與可能的CU尺寸有關。因此,縮放因數的分母的可能值被限制。例如,值可以是2的冪減去4,例如4、12、28、60或124。對於這些分母(標記為D),β值的列表可以是預定的。“N/D”可以由N*K>>L所替代,其中N是縮放因數的分子以及“>>”對應於右移位操作。L可以是固定的值。K與D相關並且可以從尋找表中推導出。例如,對於固定的L,K值取決於D並且可以使用下文的表1或表2來推導。例如,L可以是10。對於D等於{4,12,28,60,124},K值分別等於{256,85,37,17,8}
Figure 108121449-A0305-02-0027-7
Figure 108121449-A0305-02-0027-8
在另一個實施例中,縮放因數可以由使用如AMVP與/或合併候選推導中使用的MV縮放方法推導的因數所替代。MV縮放模型可以被再使用。 例如,運動向量(mv)被縮放如下:tx=(16384+(Abs(td)>>1))/td distScaleFactor=Clip3(-4096,4095,(tb * tx+32)>>6)mv=Clip3(-32768,32767,Sign(distScaleFactor * mvLX)*((Abs(distScaleFactor * mvLX)+127)>>8))
在上述等式中,td等於分母以及tb等於分子。例如,在等式(9)中,tb可以是(posCurPU_Y-posB2_Y)以及td可以是(posB3_X-posB2_X)。
注意到,在本發明中,所推導的複數個控制點MV或者仿射參數可以被用於幀間模式編解碼作為MVP或者被用於合併模式編碼作為仿射合併候選。
任何前述提出的方法可以在編碼器與/或解碼器中實施。例如,任何提出的方法可以在編碼器的MV推導模組,與/或解碼器的MV推導模組中實施。或者,任何提出的方法可以被實施為耦合到編碼器的MV推導模組與/或解碼器的MV推導模組的電路,以便於提供MV推導模組所需要的資訊。
第10圖示出了結合本發明實施例的具有仿射幀間模式的視訊編解碼系統的示例性流程圖,其中基於目標相鄰塊的兩個目標MV(運動向量)推導仿射控制點MV候選以及仿射控制點MV候選是基於4參數仿射模型。流程圖中示出的步驟可以被實施為在編碼器側的一或複數個處理器(如一或複數個CPU)上可執行的程式碼。流程圖中示出的步驟可以基於如一或複數個電子裝置或者用於執行流程圖中步驟的處理器的硬體來實施。根據這一方法,在步驟1010,在一視訊編碼器側接收與一當前塊有關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流。在步驟1020,根據該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊根據一4參數仿射模型或一6參數仿射模型進行編解碼。在步驟1030中,如果該目標相鄰塊在該 當前塊的一相鄰區域中,一仿射控制點MV候選基於該目標相鄰塊的兩個目標MV(運動向量)來推導,其中該仿射控制點MV候選是基於一4參數仿射模型。 在步驟1040,一仿射MVP候選列表被生成,其中該仿射MVP候選列表包括該仿射控制點MV候選。在步驟1050,在該視訊編碼器側使用該仿射MVP候選列表對與一仿射模型有關的當前MV資訊進行編碼,或者在該視訊解碼器側使用該仿射MVP候選列表對與該仿射模型有關的該當前MV資訊進行解碼。
第11圖示出了結合本發明實施例的具有一仿射幀間模式的視訊編解碼系統的另一個示例性流程圖,其中該仿射控制點MV候選取決於目標相鄰塊是否在該當前塊的相鄰區域中或者在相同區域中,基於已存儲的控制點運動向量或子塊運動向量來推導。根據這一方法,在步驟1110,在一視訊編碼器側接收與一當前塊有關的輸入資料,或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流。在步驟1120,一目標相鄰塊根據該當前塊的一相鄰集合來決定,其中該目標相鄰塊以仿射模式進行編解碼。在步驟1130,如果該目標相鄰塊在該當前塊的一相鄰區域中,一仿射控制點MV候選基於該目標相鄰塊的兩個子塊MV(運動向量)來推導。在步驟1140,如果該目標相鄰塊在於該當前塊相同的一區域中,該仿射控制點MV候選基於該目標相鄰塊的複數個控制點MV來推導。在步驟1150,一仿射MVP候選列表被生成,其中該仿射MVP候選列表包括該仿射控制點MV候選。在步驟1160,在該視訊編碼器側使用該仿射MVP候選列對與一仿射模型有關的當前MV資訊進行編碼,或者在該視訊解碼器側使用該仿射MVP候選列表對與該仿射模型有關的該當前MV資訊進行解碼。
所示出的流程圖旨在說明根據本發明的視訊編解碼的示例。本領域技術人員可以在不背離本發明精神的情況下,修正每一步驟、重新排列步驟、拆分步驟或者組合步驟來實施本發明。在本發明中,已經使用了特定的語法以 及語義來說明示例來實施本發明的實施例。在不背離本發明精神的情況下,本領域技術人員可以藉由用相等的語法以及語義來替換語法以及語義來實施本發明。
所給出的以上描述使本領域技術人員能以特定應用的上下文中提供的以及其需求來實施本發明。對所描述的實施例的各種修正對本領域技術人員將是顯而易見的,以及本文所定義的基本原理可以被應用於其他實施例。 因此,本發明不旨在限制於所示出以及所描述的特定實施例,而是與本文所公開的原理以及新穎特徵最寬的範圍一致。在上述細節描述中,各種特定的細節被示出以提供本發明的透徹理解。然而,本領域技術人員將理解,可以實施本發明。
如上所描述的本發明的實施例可以以各種硬體、軟體代碼或其組合來實施。例如,本發明的實施例可以是整合到視訊壓縮晶片中的電路或者整合到視訊壓縮軟體來執行本文所描述處理的軟體代碼。本發明的實施例還可以是將在數位訊號處理器(DSP)上執行的程式碼來執行本文所描述的處理。本發明也可能涉及由電腦處理器、數位訊號處理器、微處理器或現場可程式閘陣列(FPGA)執行的許多功能。這些處理器可以用於執行根據本發明的特定任務,藉由執行定義由本發明實施的具體方法的機器可讀軟體代碼或韌體代碼。軟體代碼或韌體代碼可以以不同的程式語言以及不同的格式或風格來開發。軟體代碼也可以被編譯用於不同的目標平臺。然而,軟體代碼不同的代碼格式、風格以及語言以及配置代碼來執行根據本發明任務的其他方式將不背離本發明的精神以及範圍。
在不背離本發明的精神或基本特徵的情況下,本發明可以以其他特定形式實施。所描述的示例在所有方面僅被考慮是說明性的而非限制性的。 因此,本發明的範圍由所附申請專利範圍而不是前述的描述來指示。在申請專 利範圍的等同含義以及範圍內的所有變化都包括在其範圍內。
1010~1050:步驟

Claims (22)

  1. 一種用於視訊編解碼的幀間預測的方法,該視訊編解碼由利用MVP(運動向量預測)來編解碼MV(運動向量)資訊的一視訊編碼器或一視訊解碼器來執行,該MV資訊與用包括一仿射模式的編解碼模式進行編解碼的一塊有關,該方法包括:在一視訊編碼器側接收與一當前塊有關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流;從該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊根據一4參數仿射模型或一6參數仿射模型來編解碼;如果該目標相鄰塊在該當前塊的一相鄰區域,基於該目標相鄰塊的兩個目標MV推導一仿射控制點MV候選,其中該推導該仿射控制點MV候選是基於一4參數仿射模型;其中,該當前塊的該相鄰區域對應於該當前塊的一上方CTU列或者該當前塊的一左邊CTU行;生成一仿射MVP候選列表,其中該仿射MVP候選列表包括該仿射控制點MV候選;以及在該視訊編碼器側使用該仿射MVP候選列表編碼與一仿射模型有關的當前MV資訊,或者在該視訊解碼器側使用該仿射MVP候選列表解碼與該仿射模型有關的該當前MV資訊。
  2. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,其中,與該當前塊的該相鄰區域有關的一區域邊界對應於該當前塊的一CTU邊界、一CTU列邊界、一圖塊邊界或一切片邊界。
  3. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,其中,該目標相鄰塊的該兩個目標MV對應於該目標相鄰塊的兩個子塊MV。
  4. 如申請專利範圍第3項所述之用於視訊編解碼的幀間預測方法,其中,該目標相鄰塊的該兩個子塊MV對應於一左下子塊MV以及一右下子塊MV。
  5. 如申請專利範圍第3項所述之用於視訊編解碼的幀間預測方法,其中,該目標相鄰塊的該兩個子塊MV被存儲於一線性緩衝器中。
  6. 如申請專利範圍第5項所述之用於視訊編解碼的幀間預測方法,其中,該當前塊上方的一個列的MV以及該當前塊左側的一個行的MV被存儲於該線性緩衝器中。
  7. 如申請專利範圍第5項所述之用於視訊編解碼的幀間預測方法,其中,該當前塊的一上方CTU列的一個底部列的MV被存儲於該線性緩衝器中。
  8. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,其中,該目標相鄰塊的該兩個目標MV對應於該目標相鄰塊的兩個控制點MV。
  9. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,進一步包括如果該目標相鄰塊在與該當前塊相同的一區域中,推導該仿射控制點MV候選以及將該仿射控制點MV候選包含於該仿射MVP候選列表中,其中該推導該仿射控制點MV候選是基於一6參數仿射模型或該4參數仿射模型。
  10. 如申請專利範圍第9項所述之用於視訊編解碼的幀間預測方法,其中,該相同的區域對應於一相同CTU列。
  11. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,其中,對於該4參數仿射模型,MV x分量的y項參數等於MV y分量的x項參數乘以-1,以及MV x分量的x項參數與MV y分量的y項參數是相同的。
  12. 如申請專利範圍第1項所述之用於視訊編解碼的幀間預測方法,其中,對於該6參數仿射模型,MV x分量的y項參數以及MV y分量的x 項參數是不同的,以及MV x分量的x項參數與MV y分量的y項參數也是不同的。
  13. 一種用於視訊編解碼的幀間預測的裝置,該視訊編解碼由利用運動向量預測來編解碼MV資訊的一視訊編碼器或一視訊解碼器執行,該MV資訊與用包括一仿射模式的編解碼模式進行編解碼的一塊有關,該裝置包括一或複數個電子電路或處理器用於:在一視訊編碼器側接收與一當前塊有關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流;從該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊根據一4參數仿射模型或一6參數仿射模型來編解碼;如果該目標相鄰塊在該當前塊的一相鄰區域,基於該目標相鄰塊的兩個目標MV推導一仿射控制點MV候選,其中該推導該仿射控制點MV候選是基於一4參數仿射模型;其中,該當前塊的該相鄰區域對應於該當前塊的一上方CTU列或者該當前塊的一左邊CTU行;生成一仿射MVP候選列表,其中該仿射MVP候選列表包括該仿射控制點MV候選;以及在該視訊編碼器側使用該仿射MVP候選列表編碼與一仿射模型有關的當前MV資訊,或者在該視訊解碼器側使用該仿射MVP候選列表解碼與該仿射模型有關的該當前MV資訊。
  14. 一種用於視訊編解碼的幀間預測的方法,該視訊編解碼由利用運動向量預測來編解碼MV資訊的一視訊編碼器或一視訊解碼器執行,該MV資訊與用包括一仿射模式的編解碼模式進行編解碼的一塊有關,該方法包括:在一視訊編碼器側接收與一當前塊有關的輸入資料,或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流; 從該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊以仿射模式來編解碼;如果該目標相鄰塊在該當前塊的一相鄰區域中,基於該目標相鄰塊的兩個子塊MV推導一仿射控制點MV候選;如果該目標相鄰塊是在與該當前塊相同的一區域中,基於該目標相鄰塊的複數個控制點MV推導該仿射控制點MV候選;生成一仿射MVP候選列表,其中該仿射MVP候選列表包括該仿射控制點MV候選;以及在該視訊編碼器側使用該仿射MVP候選列表編碼與一仿射模型有關的當前MV資訊,或者在該視訊解碼器側使用該仿射MVP候選列表解碼與該仿射模型有關的該當前MV資訊。
  15. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,其中,與該當前塊的該相鄰區域有關的一區域邊界對應於該當前塊的一CTU邊界、一CTU列邊界、一圖塊邊界或一切片邊界。
  16. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,其中,該當前塊的該相鄰區域對應於該當前塊的一上方CTU列或者該當前塊的一左邊CTU行。
  17. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,其中,該當前塊的該相鄰區域對應於該當前塊的一上方CU列或者該當前塊的一左邊CU行。
  18. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,其中,該目標相鄰塊的該兩個子塊MV對應於一左下子塊MV以及一右下子塊MV。
  19. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測 的方法,其中,如果該目標相鄰塊是一雙向預測塊,與列表0以及列表1參考圖像有關的複數個左下子塊MV以及複數個右下子塊MV被用於推導該仿射控制點MV候選。
  20. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,如果該目標相鄰塊在於該當前塊相同的一區域中,根據該該目標相鄰塊的該仿射模式,推導該仿射控制點MV候選是基於一6參數仿射模型或者一4參數仿射模型。
  21. 如申請專利範圍第14項所述之用於視訊編解碼的幀間預測的方法,其中,該相同的區域對應於一相同的CTU列。
  22. 一種用於視訊編解碼的幀間預測的裝置,該視訊編解碼由利用運動向量預測來編解碼MV資訊的一視訊編碼器或一視訊解碼器執行,該MV資訊與用包括一仿射模式的編解碼模式進行編解碼的一塊有關,該裝置包括一或複數個電子電路或處理器用於:在一視訊編碼器側接收與一當前塊有關的輸入資料,或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流;從該當前塊的一相鄰集合決定一目標相鄰塊,其中該目標相鄰塊以仿射模式來編解碼;如果該目標相鄰塊在該當前塊的一相鄰區域中,基於該目標相鄰塊的兩個子塊MV推導一仿射控制點MV候選;如果該目標相鄰塊是在與該當前塊相同的一區域中,基於該目標相鄰塊的複數個控制點MV推導該仿射控制點MV候選;生成一仿射MVP候選列表,其中該仿射MVP候選列表包括該仿射控制點MV候選;以及在該視訊編碼器側使用該仿射MVP候選列表編碼與一仿射模型有關的當前 MV資訊,或者在該視訊解碼器側使用該仿射MVP候選列表解碼與該仿射模型有關的該當前MV資訊。
TW108121449A 2018-06-20 2019-06-20 用於視訊編解碼的幀間預測方法以及裝置 TWI706668B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862687291P 2018-06-20 2018-06-20
US62/687,291 2018-06-20
US201862717162P 2018-08-10 2018-08-10
US62/717,162 2018-08-10
US201862764748P 2018-08-15 2018-08-15
US62/764,748 2018-08-15
PCT/CN2019/092079 WO2019242686A1 (en) 2018-06-20 2019-06-20 Method and apparatus of motion vector buffer management for video coding system
WOPCT/CN2019/092079 2019-06-20

Publications (2)

Publication Number Publication Date
TW202015405A TW202015405A (zh) 2020-04-16
TWI706668B true TWI706668B (zh) 2020-10-01

Family

ID=68983449

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108121449A TWI706668B (zh) 2018-06-20 2019-06-20 用於視訊編解碼的幀間預測方法以及裝置

Country Status (6)

Country Link
US (1) US20210297691A1 (zh)
EP (1) EP3808080A4 (zh)
KR (1) KR20210024565A (zh)
CN (1) CN112385210B (zh)
TW (1) TWI706668B (zh)
WO (1) WO2019242686A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451816B2 (en) * 2018-04-24 2022-09-20 Mediatek Inc. Storage of motion vectors for affine prediction
US11575926B2 (en) * 2020-03-29 2023-02-07 Alibaba Group Holding Limited Enhanced decoder side motion vector refinement
CN113873256B (zh) * 2021-10-22 2023-07-18 眸芯科技(上海)有限公司 Hevc中邻近块的运动矢量存储方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017157259A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
US20180098063A1 (en) * 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005407B (zh) * 2015-05-15 2023-09-01 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
US20190158870A1 (en) * 2016-01-07 2019-05-23 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
JP7026049B2 (ja) * 2016-09-27 2022-02-25 シャープ株式会社 アフィン動きベクトル導出装置、予測画像生成装置、動画像復号装置、および動画像符号化装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017157259A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
US20180098063A1 (en) * 2016-10-05 2018-04-05 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding

Also Published As

Publication number Publication date
WO2019242686A1 (en) 2019-12-26
EP3808080A4 (en) 2022-05-25
KR20210024565A (ko) 2021-03-05
CN112385210A (zh) 2021-02-19
EP3808080A1 (en) 2021-04-21
TW202015405A (zh) 2020-04-16
CN112385210B (zh) 2023-10-20
US20210297691A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
US11750818B2 (en) Inter-prediction mode based image processing method, and apparatus therefor
US10856006B2 (en) Method and system using overlapped search space for bi-predictive motion vector refinement
US11375226B2 (en) Method and apparatus of video coding with affine motion compensation
TWI617185B (zh) 具有仿射運動補償的視訊編碼的方法以及裝置
US11677973B2 (en) Merge with MVD for affine
WO2017148345A1 (en) Method and apparatus of video coding with affine motion compensation
WO2017118411A1 (en) Method and apparatus for affine inter prediction for video coding system
ES2936314T3 (es) Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
US20130148734A1 (en) Image coding apparatus, image coding method and image coding program, and image decoding apparatus, image decoding method and image decoding program
JP6574976B2 (ja) 動画像符号化装置および動画像符号化方法
TWI729483B (zh) 視訊編解碼系統的運動向量湊整統一的方法以及裝置
JP3089165B2 (ja) 動きベクトル探索装置
TWI706668B (zh) 用於視訊編解碼的幀間預測方法以及裝置
CN111201795A (zh) 存储访问窗口和用于运动矢量修正的填充
TWI729477B (zh) 視訊編解碼中的子塊去塊及裝置
CN112292861B (zh) 用于解码端运动矢量修正的基于误差面的子像素精确修正方法
WO2019144908A1 (en) Method and apparatus of affine inter prediction for video coding system
US20230388529A1 (en) Method and apparatus for temporal interpolated prediction in video bitstream
JP2018148516A (ja) 時間予測動きベクトル候補生成装置、符号化装置、復号装置、及びプログラム