TW201944781A - 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置 - Google Patents

視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置 Download PDF

Info

Publication number
TW201944781A
TW201944781A TW108113166A TW108113166A TW201944781A TW 201944781 A TW201944781 A TW 201944781A TW 108113166 A TW108113166 A TW 108113166A TW 108113166 A TW108113166 A TW 108113166A TW 201944781 A TW201944781 A TW 201944781A
Authority
TW
Taiwan
Prior art keywords
block
motion compensation
overlapping
sub
obmc
Prior art date
Application number
TW108113166A
Other languages
English (en)
Other versions
TWI702834B (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 TW201944781A publication Critical patent/TW201944781A/zh
Application granted granted Critical
Publication of TWI702834B publication Critical patent/TWI702834B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks

Abstract

用於編解碼當前塊的示例性視訊處理方法以及裝置藉由重疊的子塊運動補償將該當前塊拆分成複數個重疊的子塊,確定用於每一重疊的子塊的子塊MV,藉由使用該子塊MV的運動補償推導一原始預測子用於每一子塊,藉由混合該重疊區域的該原始預測子推導一最終預測子用於每一重疊區域,以及基於該最終預測子對該當前塊進行編碼或解碼。用OBMC編解碼塊的示例性視訊處理方法以及裝置藉由將MV改變成整數MV或者將MV分量改變成整數分量生成已轉換的MV,藉由使用該已轉換的MV的運動補償推導OBMC區域,以及藉由混合OBMC預測子與原始預測子對該塊進行編碼或解碼。

Description

視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
本發明涉及視訊編碼以及解碼系統中的視訊處理方法以及裝置,特別地,本發明涉及重疊的子塊運動補償或簡化的重疊塊運動補償。
高效視訊編解碼(High-Efficiency Video Coding,HEVC)是由來自TTU-T研究組的視訊編解碼專家的視訊編解碼聯合組(JCT-VC)開發的最新的視訊編解碼標準。HEVC標準改善了它前身標準H.264/AVC視訊壓縮性能來滿足更高圖像解析度、更高幀率以及更好視訊品質的需求。在HEVC標準的發展過程中,提出了與重疊塊運動補償(Overlapped Block Motion Compensation,OBMC)有關的許多提案來改善編解碼效率。
OBMC OBMC的基本原理是基於從它附近的塊運動向量推導的運動補償信號找到像素強度值的線性最小均方誤差(Linear Minimum Mean Squared Error,LMMSE)估計。從估計理論的角度來看,這些MV被認為是它真實運動的不同的似然假設,以及為了最大化編解碼效率,MV的權重被確定以最小化受單元增益約束的均方預測誤差。OBMC被提出來改善重構的視訊的視覺品質,同時為邊界像素提供編解碼增益。在應用OBMC到幾何分區的示例中,因為兩個不同的MV用於運動補償,在分區邊界的像素通常有大的不連續性並導致如塊偽影(block artifact)的視覺偽影。這些不連續性降低了轉換效率。例如,由幾個分區創建的兩個區域被標記為區域1以及區域2,如果來自區域1像素的四個相連的相鄰像素(即,左邊、頂部、右邊以及底部像素)的任何一個屬於區域2,它被定義為邊界像素,以及如果來自區域2像素的四個相鄰的相鄰像素的任一個屬於區域1,它被定義為邊界像素。第1圖示出了在塊的兩個區域之間的邊界像素的示例。灰色陰影像素122屬於在塊的左上半部分的第一區域12的邊界,以及白色陰影像素142屬於在塊的右下半部分的第二區域14的邊界。對於每一邊界像素,使用根據第一區域12以及第二區域14的MV檢索的運動預測子的加權和執行運動補償。對於使用包含邊界像素的區域的MV檢索的預測子,權重是3/4,以及對於使用其他區域的MV檢索的預測子,權重是1/4。
OBMC也用於使對稱運動分區的邊界像素光滑,如從2Nx2N編碼單元(coding unit,CU)分割的兩個2NxN或Nx2N預測單元(prediction unit,PU)。OBMC被應用於兩個2NxN PU的水平邊界以及兩個Nx2N PU的垂直邊界。因為分區是使用不同的MV重構的,在分區邊界的像素可能具有大的不連續性,OBMC被應用來減輕視覺偽影以及改善轉換/編解碼效率。第2A圖示出了應用OBMC到兩個2NxN塊的示例以及第2B圖示出了應用OBMC到兩個Nx2N塊的示例。第2A圖或第2B圖中的灰色像素是屬於分區0的像素以及白色像素是屬於分區1的像素。亮度(luma)分量中的重疊區域被定義為水平邊界的每一側上的兩列像素以及垂直邊界的每一側上的兩行像素。對於分區邊界之外的一列或者一行的像素,即在第2A圖以及第2B圖中標記為A的像素,分別用於原始預測子以及OBMC預測子的OBMC權重因數是(3/4,1/4)。對於分區邊界之外的兩列或者兩行的像素,即標記為B的像素,分別用於原始預測子以及OBMC預測子的OBMC權重因數是(7/8,1/8)。對於色度(chroma)分量,重疊區域被定義為在水平邊界的每一側上的一列(row)像素以及在垂直邊界的每一側上的一行(column)像素,以及分別用於原始預測子以及OBMC預測子的權重因數是(3/4,1/4)。
跳過以及合併 跳過以及合併模式被提出並在HEVC標準中被採用來藉由從空間相鄰塊或時間並列塊繼承運動資訊以增加運動資訊的編解碼效率。為了在跳過或合併模式中編碼PU,僅表示從候選集選擇的最終候選的索引被發信,而不發信運動資訊。由在跳過或合併模式中編碼的PU再使用的運動資訊包括運動向量(MV)、幀間預測指示符以及所選的最終候選的參考圖像索引。注意到,如果所選擇的最終候選是時間運動候選,參考圖像索引通常設置為0。當PU在合併模式中編碼時,預測殘差被編碼,然而,因為在跳過模式中編碼的PU的殘差數據被強制為0,跳過模式進一步跳過預測殘差的信令。
用於當前PU 30的HEVC標準中合併候選集包含與當前PU 30的相鄰塊有關的四個空間運動候選以及與當前PU 30的並列PU 32有關的一個時間運動候選。如第3圖所示,第一合併候選是左邊預測子A1 312,第二合併候選是頂部預測子B1 314,第三合併候選是右上方預測子B0 313,以及第四合合併候選是左下方預測子A0 311。左上方預測子B2 315被包含在合併候選集中來替換不可用的空間預測子。第五合併候選是第一可用時間預測子TBR 321以及TCTR 322的時間預測子。基於如藉由率失真優化(RDO)決定的運動向量補償,編碼器從候選集選擇一個最終候選用於在跳過或合併模式中編碼的每一PU,以及表示所選擇的最終候選的索引被發信到解碼器。解碼器根據在視訊位元流中傳輸的索引從候選集中選擇相同的最終候選。因為跳過以及合併候選的推導是類似的,為了方便起見,下文中提到的“合併”模式可以對應於合併模式以及跳過模式。
在許多最近開發的編解碼工具,如子塊時間運動向量預測(subblock Temporal Motion Vector Prediction,sbTMVP)、空間時間運動向量預測(Spatial-Temporal Motion Vector Prediction,STMVP)、基於模式的運動向量推導(Pattern-based Motion Vector Derivation,PMVD)以及仿射運動補償預測(Affine Motion Compensation Prediction,MCP),採用了子塊運動補償來增加預測進程的準確性。子塊運動補償中的CU或PU被分成複數個子塊,以及CU或PU中的這些子塊可能具有不同的參考圖像以及不同的MV。因此,對於子塊運動補償,尤其當每一子塊的MV非常多樣化時,需要高頻寬。在下文的段落中描述一些子塊運動補償編解碼工具。
Sub-PU TMVP 。藉由包括至少一個SbTMVP候選作為候選集中的合併候選,子塊時間運動向量預測(Subblock Temporal Motion Vector Prediction,子塊TMVP,SbTMVP)被應用到合併模式。SbTMVP也稱為可替換的時間運動向量預測(Alternative Temporal Motion Vector Prediction,ATMVP)。當前PU被分成複數個較小的子PU,以及搜索該等子PU的對應的時間並列運動向量。在第4圖中示出了SbTMVP技術的示例,其中尺寸為MxN的當前PU 41被分成(M/P)x(N/Q)個子PU,每一子PU的尺寸為PxQ,其中M可被P整除以及N可被Q整除。SbTMVP模式的具體演算法可以在下文的三個步驟中描述。
在步驟1中,初始運動向量被分配給當前PU 41,標記為vec_init。該初始運動向量通常是複數個空間相鄰塊中第一可用候選。例如,List X是用於搜索並列資訊的第一列表,以及vec_init被設置為第一可用空間相鄰塊的List X MV,其中X是0或1。X的值(0或1)取決於哪一列表更適合用於繼承運動資訊,例如,當參考圖像與當前圖像之間的圖像次序計數(POC)距離比List 1中的POC距離更近時,List 0是用於搜索的第一列表。可以在切片(slice)級或圖像級執行List X分配。在獲得初始運動向量後,開始“並列圖像搜索進程”來找到用於當前PU中所有子PU的主並列圖像,標記為main_colpic。首先搜索由第一可用空間相鄰塊所選擇的參考圖像,之後,當前圖像的所有參考圖像被順序地搜索。對於B切片,在搜索由第一可以空間相鄰塊選擇的參考圖像後,該搜索從第一列表(List 0或List 1)參考索引0開始,然後索引1,然後索引2,直到該第一列表中的最後一個參考圖像,當第一列表中的參考圖像都被搜索後,逐一地搜索第二列表中的參考圖像。對於P切片,首先搜索由第一可用空間相鄰塊選擇的參考圖像,緊接著搜索列表中從參考索引0,然後索引1,然後索引2以及等等開始的所有參考圖像。在並列圖像搜索過程中,對於每一搜索的圖像,“可用性檢查”檢查由vec_init_scaled指出的當前PU的中心位置周圍的並列子PU是由幀間或幀內模式進行編碼。Vec_init_scaled是從vec_init適當縮放的MV。確定“中心位置周圍”的一些實施例是尺寸為MxN PU的中心像素(M/2,N/2),中心子PU中的中心像素,或者取決於當前PU的形狀的中心像素或者當前子PU的中心像素的混合。當由vec_init_scaled指出的中心位置周圍的並列子PU由幀間模式編碼時,可用性檢查結果為真。當前所搜索的圖像被記錄為主並列圖像main_colpic以及當用於當前所搜索圖像的可用性檢查結果為真時,完成並列圖像搜索進程。如果可用性檢查結果為真,中心像素周圍的MV被使用並縮放用於當前塊來推導默認MV。如果可用性檢查結果為假,那麼當由vec_init_scaled指出的中心位置周圍的並列子PU由幀內模式編碼時,它繼續搜索下一個參考圖像。當vec_init的參考圖像不等於原始參考圖像時,在並列圖像搜索進程中需要MV縮放。分別基於當前圖像與vec_init的參考圖像以及所搜索的參考圖像之間的時間距離縮放MV。在MV縮放後,已縮放的MV被定義為vec_init_scaled。
在步驟2中,為每一子PU定位main_colpic中的並列位置。例如,在時間並列圖像42(main_colpic)中首先定位用於子PU 411以及子PU 412的對應的位置421以及位置422。在下文中計算用於當前子PU i的並列位置:
並列位置x = Sub-PU_i_x + vec_init_scaled_i_x(整數部分) + shift_x,
並列位置 y = Sub-PU_i_y + vec_init_scaled_i_y(整數部分) + shift_y,
其中Sub-PU_i_x表示當前圖像中sub-PU i的水平的左上方位置,Sub-PU_i_y表示當前圖像內容sub-PU i的垂直的左上方位置,vec_init_scaled_i_x表示用於sub-PU i(vec_init_scaled_i)的縮放的初始運動向量的水平分量,vec_init_scaled_i_y表示vec_init_scaled_i的縮放的垂直分量,以及shift_x以及shift_y分別表示水平移位值以及垂直移位值。為了減少計算複雜度,僅Sub-PU_i_x以及Sub-PU_i_y的整數位置,以及vec_init_scaled_i_x的整數部分,以及vec_init_scaled_i_y用於計算。在第4圖中,由來自子PU 411的位置421的vec_init_sub_0 423定位的並列位置425以及由來自sub-PU 412的位置422的vec_init_sub_1 424定位的並列位置426。
在SbTMVP的步驟3中,從在並列位置x以及並列位置y上的collocated_picture_i_L0以及collocated_picture_i_L1獲得用於每一子PU的運動資訊(MI),標記為SubPU_MI_i。MI被定義為一組{MV_x,MV_y,參考列表,參考索引以及其他合併模式敏感資訊,如局部亮度補償旗標}。此外,MV_x以及MV_y可以根據並列圖像、當前圖像以及並列MV的參考圖像之間的時間距離關係進行縮放。如果MI對於一些子PU是不可用的,將使用中心位置周圍近的子PU的MI,或換言之,將使用默認MV。如第4圖所示,從並列位置425獲得的subPU0_MV 427以及從並列位置426獲得的subPU1_MV 428分別被用於推導子PU 411以及子PU 412的預測子。當前PU 41中的每一子-PU根據在對應並列位置上獲得的MI,推導它自己的預測子。
STMVP 在JEM-3.0中,空間時間運動向量預測(STMVP)用於推導將包含在用於跳過或合併模式的候選集中的新的候選。使用時間以及空間運動向量預測子遵循光柵掃描順序遞迴地推導子塊的運動向量。第5圖示出了具有四個子塊的CU及其相鄰塊用於推導STMVP候選的的示例。第5圖中的CU是包含四個4x4子塊A、B、C以及D的8x8塊,以及當前圖像中相鄰NxN塊被標記為a、b、c以及d。藉由識別子塊A的兩個空間相鄰塊開始用於子塊A的STMVP候選推導。第一相鄰塊c是子塊A上方的NxN塊,以及第二相鄰塊b是子塊A左邊的NxN塊。如果塊c是不可用的或者塊c是幀內編碼的,從左到右,從塊c開始,檢查子塊A上方的其他NxN塊。如果塊b是不可用的或者塊b是幀內編碼的,從上到下,從塊b開始,檢查子塊A左邊的其他NxN塊。針對每一列表從兩個相鄰塊獲得的運動資訊被縮放成給定列表的第一參考圖像。然後藉由後續的與HEVC標準中指定的TMVP推導的相同進程推導子塊A的時間運動相鄰預測子(TMVP)。在位置D的並列塊的運動資訊被相應地提取以及縮放。最終,針對每一參考列表分別對所有可用的運動相鄰求平均。平均的運動向量被分配為當前子塊的運動向量。
PMVD 基於模式的MV推導(PMVD)方法,也稱為FRUC(Frame Rate Up Conversion,幀率上轉換)或DMVR(Decoder-side MV Refinement,解碼器側MV細化),包含用於雙向預測塊的雙向匹配以及用於單向塊的範本(template)匹配。當合併或跳過旗標為真時,發信FRUC_mrg_flag,以及如果FRUC_mrg_flag為真時,FRUC_merge_mode被發信來指示雙向匹配(雙向匹配合併模式以及範本匹配合併模式兩者)是否包含兩階段匹配:第一階段是PU級匹配,以及第二階段是子PU級匹配。在PU級匹配中,分別選擇LIST_0以及LIST_1中的複數個初始MV。這些MV包括來自合併候選的複數個MV(即,如這些在HEVC標準中指定的傳統合併候選)以及來自時間推導的MVP的複數個MV。生成兩個不同的起始MV集用於兩個列表。對於一個列表中的每一MV,藉由合成這一MV以及由縮放該MV到另一個列表推導的鏡像MV生成MV對。對於每一MV對,藉由使用這一MV對補償兩個參考塊。計算這兩個塊的絕對差的和(SAD)。具有最小SAD的MV對被選擇為最佳MV對。然後執行菱形搜索來細化該MV對。細化精度是1/8像素。細化搜索範圍被限制在±8像素內。最終MV對是PU級推導的MV對。
第二階段的子PU級搜索為每一子PU搜索最佳MV對。當前PU被分成複數個子PU,其中在具有4x4的最小子PU尺寸的序列參數集中發信子PU的深度。List 0以及List 1中的幾個起始MV被選擇用於每一子PU,其包括PU級推導的MV對、0 MV、當前子PU的HEVC並列TMVP以及右下塊、當前子PU的時間推導的MVP以及左邊以及上方PU或子PU的MV。藉由使用PU級搜索中類似的機制,為每一子PU選擇最佳MV對。然後執行菱形搜索來細化該最佳MV對。然後執行用於每一子PU的運動補償來生成每一子PU的預測子。
仿射 MCP 仿射運動補償預測(仿射MCP)是為預測除平移運動外各種類型的運動開發的技術。例如,旋轉、放大、縮小、透視運動以及其他不規則運動。如第6A圖所示,示例性簡化的轉換MCP被應用於JEM-3.0來改善編解碼效率。當前塊61的仿射運動場由兩個控制點611以及612的運動向量613以及614進行描述。塊的運動向量場(Motion Vector Field,MVF)由如下等式描述:
其中(V0x ,V0y )表示左上角控制點611的運動向量613,以及(V1x ,V1y )表示右上角控制點612的運動向量614。
應用基於塊的仿射轉換預測而不是基於像素的仿射轉換預測以便於進一步簡化仿射運動補償預測。第6B圖示出了將當前塊62分成複數個子塊以及將MCP應用於每一子塊。如第6B圖所示,根據上述等式計算每一4x4子塊的中心樣本的運動向量,以及然後被舍入到1/16分數精度,其中(V0x ,V0y )表示左上角控制點621的運動向量623,以及(V1x ,V1y )表示右上角控制點622的運動向量624。根據推導的運動向量應用運動補償插值來為每一子塊生成預測子。在執行運動補償預測後,每一子塊的高精度運動向量被舍入以及用相同的精度存儲為正常運動向量。
當在複數個子塊運動補償編解碼工具之一中進行編碼時,CU或PU被分成複數個子塊,以及這些子塊可具有不同的參考圖像以及不同的MV。子塊運動補償需要高頻寬以及應用OBMC到在子塊運動補償中編碼的塊需要高計算複雜度。第7A圖示出了對沒有採用子塊運動補償模式編碼的CU應用OBMC的示例,以及第7B圖示出了對採用子塊運動補償模式編碼的CU應用OBMC的示例。當OBMC應用於當前子塊時,除了當前運動向量,如果四個連接的相鄰子塊的運動向量可用並且不等於當前運動向量,也被用於推導當前子塊的最終預測子。基於複數個運動向量推導的複數個預測子被組合來生成最終預測子。在第7A圖中,藉由使用由當前MV推導的當前運動補償預測子C、從上方相鄰塊A的MV推導的OBMC預測子A’,以及從左邊相鄰塊B的MV推導的OBMC預測子B’的加權和計算當前CU的最終預測子。在第7B圖中,藉由使用由當前MV推導的當前運動補償預測子C、從上方相鄰塊的MV推導的OBMC預測子A’、從左邊相鄰塊的MV推導的OBMC預測子B’、從右邊子塊D的MV推導的OBMC預測子D’以及從下方子塊E的MV推導的OBMC預測子E’的加權和計算當前子塊的最終預測子。
基於相鄰塊/子塊的MV的OBMC預測子被標記為PN,N指示上方、下方、左邊以及右邊相鄰塊/子塊的索引。基於當前塊/子塊的MV的原始預測子被標記為PC。如果PN是基於包含與當前塊/子塊相同的運動資訊的相鄰塊/子塊的運動資訊,這一PN不執行PBMC。否則,PN的每一樣本被添加到PC中相同的樣本。在JEM中,PN的四個列或四個行被添加到PC,以及用於PN的權重因數是{1/4,1/8,1/16,1/32}以及用於PC的權重因數分別是{3/4,7/8,15/16,31/32}。在小MC塊中應用OBMC的情況中,當編解碼塊的高度或寬度等於4或者當用子CU模式對CU進行編碼時,僅PN的兩列或者兩行被添加到PC。用於PN以及PC的權重因數分別是{1/4,1/8}以及{3/4,7/8}。對於基於垂直(水平)相鄰子塊的運動向量生成的PN,將PN的相同列(行)中的樣本添加到具有相同的權重因數的PC。藉由加權和生成最終預測子的OBMC過程被逐一的循序執行,這引入了高的計算複雜度與資料依賴性。
當CU尺寸小於或等於JEM中的256亮度樣本時,OBMC可以根據CU級旗標開啟與關閉。對於尺寸大於256亮度樣本或者不用AMVP模式編碼的CU,預設應用OBMC。當OBMC是使能的時候,除了CU的右邊已經底部邊界,對所有運動補償(MC)塊邊界執行OBMC。OBMC被應用於亮度以及色度分量兩者。如果不用子塊MC對CU進行編碼,MC塊對應於編碼塊,或者如果用子塊MC進行編碼,MC塊對應於CU中的子塊。
在編碼器,當OBMC被應用於CU時,在運動估計階段考慮影響。使用頂部以及左邊相鄰塊推導的OBMC預測子用於補償當前CU的原始預測子的頂部邊界以及左邊邊界,以及然後應用正常的運動估計進程。
可以在正常的運動補償(MC)後執行OBMC。如果在正常MC後執行OBMC,分別在OBMC以及正常MC兩者中應用雙向光流(BDOF)。即,藉由OBMC進程而不是在正常的MC進程中生成用於兩個CU或PU之間重疊區域的MC結果。BDOF被應用於細化這兩個MC結果。當兩個相鄰MV是相同的時,可以跳過冗餘的OBMC以及BDOF進程。然而,相比於將OBMC進程整合到正常的MC進程,增加了重疊區域所需要的頻寬以及MC操作。因為在新的編解碼標準中支援分數像素運動向量,根據用於插值計算的插值抽頭的數量檢索參考塊周圍的額外參考像素。在一個示例中,當前PU尺寸是16x8,OBMC區域是16x2,以及在MC中使用8抽頭的插值濾波器。如果在正常的MC後執行OBMC,每一參考列表需要(16+7)x(8+7) + (16+7)x(2+7) = 522個參考像素用於生成當前PU以及相關的OBMC區域。如果OBMC操作與正常MC被組合到一個階段,每一參考列表僅需要(16+7)x(8+2+7) = 391個參考像素用於當前PU以及相關的OBMC。
在普通MC中整合OBMC有兩種不同的實現方案:預生成以及即時。當由OBMC處理當前塊時,第一方案是預生成OBMC區域以及在用於相鄰塊的局部緩衝器中存儲OBMC區域的OBMC預測子。因此在處理相鄰塊時局部緩衝器中對應的OBMC預測子是可用的。第8A圖示出了用於生成當前塊的預測子而沒有生成OBMC區域的參考塊提取。第8B圖示出了用於生成當前塊預測子以及OBMC區域的參考塊提取。根據當前塊的運動向量(第8A圖以及第8B圖中的MV1)定位參考塊。在這一示例中,當前塊的尺寸是WxH,8抽頭插值濾波器用於運動補償,右邊OBMC區域的寬度是W’,以及底部OBMC區域的高度是H’。一個示例中W’是四個像素以及H’也是四個像素,在這種情況中,四個額外的行(column)被提取來生成右邊OBMC區域以及四個額外的列(row)被提取來生成底部OBMC區域。如第8A圖所示,需要從記憶體中提取的參考塊中參考樣本的數目是(3+W+4)x(3+H+4)。如第8B所示,從記憶體中提取的參考塊中參考樣本的數目用於生成當前塊的預測子以及兩個OBMC區域增加到(3+W+W’+4)x(3+H+H’+4)。右邊的OBMC區域以及底部的OBMC區域被存儲在緩衝器中用於右邊以及底部相鄰塊的OBMC進程。穿過編碼樹單元(CTU)的額外的線性緩衝器需要存儲底部OBMC區域的MC結果。第二實施方案就在混合OBMC預測子以及當前塊的原始預測子之前,生成用於當前塊的OBMC區域。例如,當對當前子塊應用OBMC時,在局部緩衝器中OBMC預測子還不是可用的,因此根據當前子塊的MV推導原始預測子,還根據一或複數個相鄰塊的MV推導一或複數個OBMC預測子,以及隨後將原始預測子與一或複數個OBMC預測子混合。
視訊編解碼系統中視訊處理的示例性方法執行重疊的子塊運動補償。示例性視訊處理方法接收與一當前圖像中一當前塊有關的輸入視訊資料,根據一重疊的子塊分區將該當前塊拆分成複數個重疊的子塊,以及確定一或複數個子塊MV用於每一子塊。根據該重疊的子塊分區,該當前塊中每一子塊在一水平方向、一垂直方向或該水平及垂直方向兩者上與一或複數個其他子塊重疊。該重疊的子塊分區的選擇是預定義的、在一視訊位元流的一序列級、圖像級、方塊組(tile group)級或切片級明確發信的或根據該當前塊運動資訊、一子塊尺寸或一預測模式隱含地決定。該示例性視訊處理方法藉由使用該一或複數個子塊MV的運動補償推導一原始預測子用於該當前塊中的每一子塊。在一些實施例中,該當前塊僅包含重疊區域,以及在一些其他實施例中,該當前塊包含重疊區域以及非重疊區域兩者。藉由混合該重疊區域的該等原始預測子推導一最終預測子用於每一重疊區域。對於該非重疊區域,因為僅存在一個原始預測子與每一非重疊區域有關,使用該原始預測子。基於該重疊區域的該最終預測子以及該非重疊區域的該原始預測子(如果可用)對該當前塊進行編碼或解碼。
在一些實施例中,藉由使用加權和混合該重疊區域的該等原始預測子推導該最終預測子。用於該等原始預測子的權重因數可以是基於位置的或者可以基於重疊塊的數目。
用於在視訊編解碼系統中用重叠的块运动补偿(OBMC)處理塊的一些示例性視訊處理方法接收與一當前圖像中一當前塊有關的輸入視訊資料,確定一或複數個MV,例如用於單向預測的一個MV或用於雙向預測的兩個MV,藉由將該一或複數個MV改變成一或複數個整數MV或者將該一或複數個MV的一MV分量改變成整數分量,生成一或複數個已轉換的MV,以及藉由使用該一或複數個已轉換的MV的運動補償推導一OBMC區域。該示例性視訊處理方法藉由將該OBMC區域中的一OBMC預測子與一原始預測子進行混合應用OBMC,以及編碼或解碼該當前塊。
當處理該當前塊時,第一OBMC實施方案預生成至少一個OBMC區域用於至少一個相鄰塊,因此該OBMC區域是由從該當前塊的一或複數個當前MV生成的已轉換MV来推導的。在一些實施例中,該已轉換的MV用於預生成一右邊或底部OBMC區域用於該當前塊的右邊或底部相鄰塊,當處理該右邊或底部相鄰塊時,該OBMC區域中一OBMC預測子與該右邊或底部相鄰塊的該原始預測子混合。根據一實施例,該已轉換的MV可以用於預生成該右邊以及底部OBMC區域兩者用於該右邊以及底部相鄰塊。在另一個實施例中,為了推導用於該右邊相鄰塊的該右邊OBMC區域,藉由將該當前塊的該MV的一水平分量改變成整數生成該已轉換的MV,為了推導用於該底部相鄰塊的該底部OBMC區域,藉由將該當前塊的該MV的一垂直分量改變成整數生成該已轉換的MV。
在一些其他實施例中,基於該當前塊、相鄰塊或其兩者的預測方向使用已轉換的MV或原始MV推導該OBMC區域。例如,如果該當前塊的該預測方向是雙向預測,藉由使用該已轉換的MV的運動補償推導該OBMC區域,否則如果該當前塊是單向預測,在沒有轉換的情況下使用該MV推導該OBMC區域。在另一個示例中,如果該當前塊或者相鄰塊是雙向預測,藉由使用該已轉換的MV的運動補償推導該OBMC區域,否則如果該當前塊以及該相鄰塊兩者是單向預測,在沒有轉換的情況下使用該MV推導該OBMC區域。根據一些實施例中的一或複數個標準,OBMC區域的預生成可以是適應性的。在一個實施例中,僅當該當前塊的該MV的水平以及垂直分量兩者不是整數時,預生成該OBMC區域,或者在另一個實施例中,僅當該當前塊的該MV的該水平以及垂直分量的一個不是整數,預生成該OBMC區域。在又一實施例中,僅當該當前塊的該MV的一預定分量不是整數時,預生成該OBMC區域,以及該預定分量取決於該OBMC區域是否用於該右邊或底部相鄰塊。在又一實施例中,當該當前塊是用一個整數MV以及一個分數MV雙向預測時,由List 0以及List 1 MV的一個預生成該OBMC區域,以及該OBMC區域由從該分數MV生成的已轉換的MV預生成。該分數MV的水平以及垂直分量都是分數或者僅該分數MV的一預定分量是分數。當將該OBMC預測子與該右邊或底部相鄰塊的該原始預測子混合時,減少該預生成OBMC區域中該OBMC預測子的權重因數。例如,該權重因數減少到一原始權重因數的一半,其中當該當前塊不是用一個整數MV以及一個分數MV雙向預測時,該原始權重因數用於一預生成OBMC區域中的一OBMC預測子。
在處理該當前塊的時候,第二OBMC實施方案生成該OBMC區域中的該OBMC預測子與用於該當前塊的一原始預測子兩者。該OBMC區域由從相鄰塊的一或複數個相鄰MV生成的已轉換的MV來推導,該OBMC區域被推導用於當前塊,以及該OBMC區域與該當前塊的該原始預測子混合。如果相鄰塊的預測方向是雙向預測,該第二OBMC實施方案的一些實施例使用該已轉換的MV推導該OBMC區域,或者如果該相鄰塊的該預測方向是單向預測,在沒有轉換的情況下使用該MV。如果該當前塊或相鄰塊是雙向預測,一些其他實施例使用該已轉換的MV推導該OBMC區域,或者如果該當前塊以及相鄰塊都是單向預測,在沒有轉換的情況下使用該MV。在又一實施例中,僅當該當前塊是用一個整數MV雙向預測並且該相鄰塊是雙向預測時,使用該已轉換的MV推導該OBMC區域。
將MV改變成整數MV的一些示例是截斷或舍入成整數MV。在一些示例性實施例中,該方法檢查該當前塊與相鄰塊的複數個MV的相似性,以及根據該等MV的該相似性適應性跳過混合該OBMC區域中的該OBMC預測子與原始預測子。該MV相似性檢查可以在生成該已轉換的MV之前或之後執行。
在視訊處理方法的一變化中,當該當前塊是亮度(luma)塊時,一個實施例設置該OBMC區域中一OBMC混合線的最大數目是3,以及當該當前塊是色度(chroma)塊時,設置OBMC混合線的最大數目是1或2。如果該MV的一絕對值的一分數部分大於0.5或者大於等於0.5,該視訊處理方法的另一個實施例設置用於亮度分量的該OBMC區域中一OBMC混合線的數目為3,否則設置用於該亮度分量的該OBMC區域中該OBMC混合線的數目為4。如果該MV的一絕對值的一分數部分大於0.5或者大於等於0.5,視訊處理方法的一個實施例設置用於色度分量的該OBMC區域中一OBMC混合的數目為1,否則設置用於該色度分量的該OBMC區域中該OBMC混合線的數目為2。在視訊處理方法的又一實施例中,如果用於該亮度分量的該OBMC區域中該OBMC混合線的數目減少到3,設置用於色度分量的該OBMC區域中一OBMC混合線的數目為1,否則設置用於該色度分量的該OBMC區域中該OBMC混合線的數目為2。在又一實施例中,當該OBMC區域由一頂部相鄰塊的該已轉換MV來推導時,僅當一垂直方向上該MV的絕對值的分數部分大於0.5或者大於等於0.5時,用於一亮度分量的該OBMC區域中一OBMC混合線的數目是3,否則,用於該亮度分量的該OBMC混合線的數目是4。當由一左邊相鄰塊的已轉換的MV推導該OBMC區域時,僅當一水平方向上該MV的絕對值的分數部分大於0.5或者大於等於0.5時,用於一亮度分量的該OBMC區域中OBMC混合線的數目是3否則用於該亮度分量的該OBMC區域中該OBMC混合線的數目是4。類似地,當該OBMC區域由一頂部相鄰塊的已轉換的MV來推導時,僅當一垂直方向上該MV的絕對值的分數部分大於0.5或者大於等於0.5,或者用於該亮度分量的該OBMC混合線的數目被減少到3時,用於色度分量的該OBMC區域中一OBMC混合線的數目是1,否則,用於該色度分量的該OBMC混合線的數目是2。當該OBMC區域由一左邊相鄰塊的已轉換的MV來推導時,僅當一水平方向上該MV的絕對值的分數部分大於0.5或者大於等於0.5,或者用於該亮度分量的該OBMC混合線的數目被減少到3時,用於色度分量的該OBMC區域中一OBMC混合線的數目是1,否則用於該色度分量的該OBMC混合線的數目是2。
應用OBMC的一些實施例適應性確定一OBMC混合線的數目用於將原始預測子與當前塊的OBMC預測子進行混合。在一個實施例中,根據該當前塊的寬度決定用於當前塊的左邊邊界的該OBMC混合線的數目,與/或根據該當前塊的高度決定用於該當前塊的頂部邊界的該OBMC混合線的數目。藉由使用該當前塊的一或複數個當前MV的運動補償推導該當前塊的該原始預測子。藉由使用該當前塊的一左邊相鄰塊的一或複數個MV的運動補償推導用於左邊邊界的具有該OBMC混合線的數目的左邊OBMC區域的該OBMC預測子。藉由使用該當前塊的一頂部相鄰塊的一或複數個MV的運動補償推導用於頂部邊界的具有該OBMC混合線的數目的頂部OBMC區域的該OBMC預測子。藉由針對該OBMC混合線的數目混合該OBMC預測子與該當前塊的該原始預測子,該視訊編碼或解碼系統將OBMC應用於該當前塊,以及編碼或解碼該當前塊。例如,將亮度塊的寬度與預定閾值進行比較來決定在該當前塊的該左邊邊界使用2個OBMC混合線或4個OBMC混合線。將該亮度的高度與一預定閾值進行比較來決定在該當前塊的該頂部邊界使用2個OBMC混合線或4個OBMC混合線。用於左邊或頂部邊界的較少OBMC混合線用於寬度或長度短於該預定閾值的塊。類似地,色度塊的寬度可以用於決定OBMC混合線的數目,例如,如果該色度塊的該寬度小於一預定閾值,在左邊邊界使用1個OBMC混合線,否則使用2個OBMC混合線;與/或如果該色度塊的寬度小於預定閾值,在該頂部邊界使用1個OBMC混合線,否則使用2個OBMC混合線。根據在運動補償中使用的插值濾波器的長度適應性決定該OBMC混合線的數目,例如,當採用更長的插值濾波器時,需要更多的OBMC混合線。
根據一旗標,適應性確定該OBMC混合線的數目的方法可被啟用或者禁用,例如,如果旗標指示適應性OBMC混合線的數目是禁用的,4個OBMC混合線用於亮度分量以及2個OBMC混合線用於色度分量。在一個實施例中,根據該當前塊的寬度或長度適應性決定用於該亮度分量的該OBMC混合線的數目,以及根據用於該亮度分量的該OBMC混合線的數目決定用於色度分量的該OBMC混合線的數目。
本發明的一方面進一步提供了在視訊編解碼系統中處理視訊資料的裝置的實施例。裝置的一個實施例包括一或複數個電子電路用於接收一當前圖像中一當前塊的輸入資料,根據一重疊的子塊分區將該當前塊分割成複數個重疊的子塊,確定用於每一子塊的一或複數個子塊MV;藉由使用該一或複數個子塊MV的運動補償推導用於每一子塊的原始預測子,藉由混合該重疊區域中的該原始預測子推導用於每一重疊區域的一最終預測子,以及基於該最終預測子對該當前塊進行編碼或解碼。裝置的另一個實施例包括一或複數個電子電路用於接收一當前塊的輸入視訊資料,決定一或複數個MV,藉由將該一或複數個MV改變成一或複數個整數MV或者將該一或複數個MV的MV分量改變成整數分量生成一或複數個已轉換的MV,藉由使用該一或複數個已轉換的MV的運動補償推導一OBMC區域,藉由將該OBMC區域中一OBMC預測子與原始預測子進行混合應用OBMC,以及編碼或解碼當前塊。
本發明的一方面進一步提供了存儲程式指令的一非暫態電腦可讀媒介,使得裝置的處理電路執行視訊處理方法,來根據一些實施例利用重疊的子塊對當前塊進行編碼或解碼,或者根據一些實施例用使用整數MV推導的OBMC以及OBMC區域對當前塊進行編碼或解碼。在閱讀特定實施例的後續描述後,本發明的其他方面以及特徵對本領域習知技術者將是顯而易見的。
將容易理解,本發明的元件,如通常在本文的圖示中描述以及示出的,可以以多種多樣的不同配置進行安排以及設計。因此,如圖示中示出的本發明的系統以及方法的實施例的後續更詳細的描述,並不旨在限制本發明所要求保護的範圍,而僅表示本發明所選擇實施例。在本發明中,系統以及方法被描述用於具有重疊的子塊分區的運動補償或者重疊塊運動補償(OBMC),以及方法的每一個或其組合可以在視訊編碼器或視訊解碼器中實施。實施方法的一個或其組合的示例性視訊編碼器以及解碼器分別在第13圖以及第14圖中示出。本發明的各種實施例減少了計算複雜度,尤其對於在運動補償中應用插值濾波,以及減少一個或OBMC實施方案兩者中OBMC所需要的額外頻寬。本文描述的系統以及方法被組織成如下部分。部分“重疊的子塊分區”示出了重疊的子塊運動補償的示例性方法,其實現如OBMC技術的減少偽影的類似效果。部分“定向OBMC”描述了僅在一或複數個特定方向應用OBMC的示例性方法。部分“用於OBMC區域的短抽頭插值濾波器”描述了當生成一或複數個OBMC區域時,採用短抽頭插值濾波器的示例性方法。部分“使用整數MV用於生成OBMC區域”,之後是部分“有條件的改變成整數MV”、“有條件的預生成OBMC區域”、“有條件的跳過OBMC混合”、“有條件的生成OBMC區域”以及“減少用於OBMC的混合線”描述了當生成OBMC區域時,將MV或MV分量轉換成整數MV或整數MV分量的各種示例性方法。部分“OBMC混合線的適應性數目”示出了生成具有適應性確定OBMC混合線的數目的OBMC區域的示例性方法。部分“示例性流程圖”描述了使用一或複數個已轉換的MV生成OBMC區域的示例性方法,其中已轉換的MV是整數MV或具有整數分量的MV。部分“具有BiCW的OBMC交互”以及“具有BDOF的OBMC交互”描述了OBMC與具有CU權重的雙預測(BiCW)技術與BDOF技術一起實施的一些示例。部分“視訊編碼器以及解碼器實施”與第13以及14圖一起示出了結合所描述的視訊處理方法的一個或其組合的視訊編碼系統以及視訊解碼系統。
重疊的子塊分區 為了減少對非重疊的子塊應用OBMC、仿射預測模式或其他基於子塊的預測模式的計算複雜度,本發明的實施例應用重疊的子塊運動補償而不是OBMC。第9A圖示出了將CU分割成16個非重疊的子塊的示例。第9B圖示出了將CU分割成6個重疊的子塊的示例以及第9C示出了將CU分割成6個重疊的子塊的另一個示例。在第9B圖的示例中,子塊0與子塊1部分地重疊,子塊1與子塊2部分地重疊,子塊3與子塊4部分地重疊以及子塊4與子塊5部分地重疊。第9B圖中重疊的子塊僅具有位於每一子塊的右邊與/或左邊邊界的重疊區域。視訊編碼器或解碼器根據子塊的一或複數個對應的MV推導子塊0、1、2、3、4、5的每一子塊的原始預測子,然後視訊編碼器或解碼器藉由混合後組合6個原始預測子推導用於CU的最終預測子。例如,子塊1左邊部分的原始預測子與子塊0的右邊部分的原始預測子混合,以及子塊1的右邊部分的原始預測子與子塊2的左邊部分的原始預測子混合。每一非重疊區域的原始預測子是用於非重疊區域的最終預測子,例如,子塊0的左邊部分的原始預測子也是用於子塊0的左邊部分的最終預測子。
在第9C圖中,子塊0與子塊2部分地重疊,子塊2與子塊4部分地重疊,子塊1與子塊3部分地重疊,以及子塊3與子塊5部分地重疊。第9C圖中重疊的子塊僅具有位於每一子塊的頂部與/或底部邊界的重疊區域。為每一子塊推導原始預測子,以及子塊2的頂部分的原始預測子與子塊0的底部分的原始預測子混合,以及子塊2的底部分的原始預測子與子塊4的頂部分的原始預測子混合。類似地,子塊3的頂部分的原始預測子與子塊1的底部分的原始預測子混合,以及子塊3的底部分的原始預測子與子塊5的頂部分的原始預測子混合。
在一些其他實施例中,在第9D圖中示出了位於頂部邊界、底部邊界、左邊邊界以及右邊邊界的重疊區域。如第9D圖所示,CU首先被分割成16個子塊以及為每一子塊推導一或複數個對應的MV。根據一或複數個對應的MV為16個子塊分區的每一子塊定位第一原始預測子。相同的CU也被分割成25個子塊,以及25個子塊的每一個在水平以及垂直方向兩者與16個子塊的一或複數個子塊重疊。為25個子塊推導新的MV用於定位第二原始預測子。藉由混合或組合兩個對應原始預測子的像素值計算用於重疊區域的最終預測子的每一像素,其中一個預測子是由16個子塊分區推導的第一原始預測子以及另一個預測子是由25個子塊分區推導的第二原始預測子。
用於拆分塊的重疊的子塊分區可以被明確地發信、隱含地決定或預定義。例如,在視訊位元流的序列級、圖像級、分塊組級或切片級發信重疊的子塊分區的選擇。隱含地決定的一個示例根據當前塊的運動資訊、子塊的尺寸或當前塊的預測模式的一個或組合確定重疊的子塊分區。使用加權和可以組合或混合由當前塊中重疊區域生成的原始預測子來生成用於當前塊的最終預測子。根據一個實施例,用於生成重疊區域中最終預測子的權重可以是取決於位置的,或者根據其他實施例,原始預測子的每一權重取決於重疊的子塊的數目。
示例性流程圖 第10圖示出了視訊編碼或解碼系統藉由重疊的子塊運動補償處理視訊資料的示例性流程圖。在步驟S1010中,視訊編碼或解碼系統接收與當前圖像中當前塊有關的輸入視訊資料。在編碼器側,該輸入視訊資料對應於將被編碼的像素資料。在解碼器側,輸入資料對應於將被解碼的已編碼資料或預測殘差。在步驟S1020,視訊編碼或解碼系統根據重疊的子塊分區,將該當前塊分割成重疊的複數個子塊。當前塊中的每一子塊與在左邊與/或右邊邊界、在頂部與/或底部邊界、或在左邊、右邊、頂部以及底部邊界的一個或其組合的一或複數個其他子塊重疊。重疊的子塊分區可以被預定義、在視訊位元流中的序列級、圖像級、方塊組級或切片級中明確發信或根據運動資訊、子塊尺寸以及當前塊的預測模式的一個或其組合隱含地決定。在步驟S1030中,如果在單向預測中預測子塊,為每一重疊的子塊確定子塊MV,如果在雙向預測中預測子塊,為每一重疊的子塊確定List 0以及List 1子塊MV。在步驟S1040中,藉由子塊MV對該當前塊中的每一重疊的子塊進行運動補償來從參考圖像中推導原始預測子。在步驟S1050中,視訊編碼或解碼系統然後藉由將重疊區域的原始預測子混合來推導最終預測子用於每一重疊區域。根據各種重疊的子塊分區,在當前塊中可以有非重疊區域以及重疊區域,或者在當前塊中僅有重疊區域。在步驟1060中,視訊編碼或解碼系統基於重疊區域的最終預測子對當前塊進行編碼或解碼。如果在當前塊中也有非重疊區域,視訊編碼或解碼系統基於重疊區域的最終預測子以及非重疊區域的原始預測子對當前塊進行編碼或解碼。
定向 OBMC 對於子塊模式中編碼的CU,在四個方向將傳統的OBMC應用於每一子塊。定向OBMC的一些實施例在OBMC子塊進程中減少方向的數量。例如,僅從左邊塊生成的OBMC預測子用於與當前子塊的原始預測子混合。在另一個實施例中,僅使用從上方塊生成的OBMC預測子。用於應用OBMC進程的所選擇的一或複數個方向可以被隱含地推導或明確地發信。隱含地選擇OBMC方向的一個示例基於當前塊以及相鄰塊的運動資訊決定方向。運動資訊包括運動向量、參考幀索引、預測方向、預測模式、CU尺寸以及子塊尺寸的一個或其組合。在一個實施例中,基於在當前塊與相鄰塊之間的運動向量差的大小(magnitude)應用OBMC的方向。在當前塊與相鄰塊之間的具有較大MVD的方向被選擇。在另一個實施例中,具有較小但非0 MVD的方向被選擇。在一個實施例中,具有相鄰塊的較小平均CU尺寸的方向被選擇。該選擇可以在序列級、圖像級、CTU級、CU級或塊級被明確地發信到解碼器。本發明的當前塊以及相鄰塊可以分別是當前塊或當前子塊以及相鄰塊塊或相鄰子塊。
用於 OBMC 區域的短抽頭插值濾波器 為了減少OBMC進程的計算複雜度,可以減少在OBMC進程的運動補償中使用的插值濾波器的插值濾波器長度。在OBMC進程中使用的插值濾波器的長度比在正常MC進程中使用的插值濾波器的長度短。通常,在正常的MC進程中,8抽頭插值濾波器用於亮度樣本以及4抽頭插值濾波器用於色度樣本,本發明的實施例使用4抽頭插值濾波器用於對亮度樣本執行OBMC以及2抽頭插值濾波器用於對色度樣本執行OBMC。在另一個示例中,1抽頭插值濾波器用於亮度樣本而2抽頭插值濾波器用於色度樣本。在又一示例中,在OBMC進程中使用1抽頭插值濾波器用於亮度以及色度樣本兩者。藉由減少插值濾波器抽頭的數目,可以減少OBMC的計算複雜度以及節省最壞情況中用於OBMC區域的額外記憶體頻寬。
使用整數 MV 用於生成 OBMC 區域 在後續描述中,當前塊可以是當前CU、PU或子塊,以及相鄰塊可以是相鄰CU、PU或子塊。本發明的一些實施例在OBMC進程中僅允許整數MV來進一步簡化計算以及減少OBMC進程中運動補償的記憶體頻寬。相當於在OBMC進程中採用了1抽頭插值濾波器。示例性實施例確定用於生成OBMC區域的一或複數個MV,藉由將一或複數個MV改變成一或複數個整數MV生成一或複數個已轉換的MV。每一相鄰塊的一或複數個已轉換的MV被對齊到即時OBMC進程中的整數樣本,或者當前塊的一或複數個已轉換的MV被對齊到預生成OBMC進程中的整數樣本來避免分數運動補償計算以及在OBMC進程中存取額外的參考樣本。一或複數個已轉換的MV用於藉由運動補償推導OBMC區域。OBMC區域中的OBMC預測子與OBMC進程中的原始預測子混合。例如,OBMC預測子與預生成OBMC進程中的相鄰塊的原始預測子混合,而OBMC預測子與即時OBMC進程中的當前塊的原始預測子混合。
將MV改變成整數MV用於生成OBMC區域的一些示例包括將MV截斷或舍入成整數MV。例如,藉由丟棄MV的分數部分改變MV,將MV舍入到最接近的整數,當舍入偏移等於0.5時(如,偏移=(1>>(shift_bit-1),其中shift_bit是舍入位元),舍入為整數MV,或者當舍入偏移小於0.5時(如,偏移=(1>>(shift_bit-1)-1)),舍入為整數MV。如果原始MV與兩個整數MV之間的距離是相同的,可以選擇更接近於0的整數MV,或者在另一個示例中,可以選擇更接近於無限的整數MV。
在一些實施例中,僅亮度分量的MV被轉換成整數MV,以及在另一個實施例中,色度分量的MV也被舍入或者截斷成整數MV。
在對當前塊執行運動補償時預生成OBMC區域用於相鄰塊的第一實施方案下,根據一個實施例,用於推導右邊OBMC區域的僅水平方向中的MV被改變成整數MV。在生成右邊OBMC區域用於當前塊的右邊相鄰塊之前,將MV的水平分量截斷或舍入為整數值。即,僅當前塊的MV中的水平分量被轉換成整數用於推導右邊OBMC區域。在另一個實施例中,用於推導底部OBMC區域的僅垂直方向中的MV被改變成整數MV。在生成底部OBMC區域用於底部相鄰塊之前,MV的垂直分量被截斷或舍入為整數值。僅當前塊的MV中的垂直分量被轉換成整數用於推導底部OBMC區域。在又一實施例中,用於推導右邊OBMC塊的水平方向中的MV被改變成整數MV以及用於推導底部OBMC區域的垂直方向中的MV被改變成整數MV。
有條件地改變成整數 MV 在一些實施例中,當應用第一實施方案時,即OBMC區域的預生成,如果當前塊與/或相鄰塊的運動資訊滿足某些標準,藉由將當前MV或當前MV的MV分量改變成整數MV或整數來推導OBMC區域。在第一實施方案中,藉由當前塊的運動資訊生成的每一OBMC區域用於與相鄰塊的一或複數個預測子混合。
例如,如果當前塊的預測方向是雙向預測,在生成OBMC區域之前,當前塊的當前MV被改變成整數MV。如果當前塊的預測方向是單向預測,當前MV在沒有轉換的情況下用於生成相鄰塊的OBMC區域。在另一個示例中,也考慮相鄰塊的運動資訊,如果當前塊或相鄰塊的預測方向是雙向預測,那麼當前塊的當前MV被轉換成整數MV。即,僅當當前塊以及相鄰塊是單向預測時,當前MV沒有被轉換來生成用於相鄰塊的OBMC區域。
當應用第二實施方案時,如果相鄰塊與/或當前塊的運動資訊滿足特定標準,相鄰塊的MV或MV分量被轉換成整數MV或整數MV分類來生成用於當前塊的OBMC區域。在第二實施方案中,藉由將一或複數個OBMC區域與當前預測子進行混合,由一或複數個相鄰塊的運動資訊生成的一或複數個OBMC區域用來處理當前塊。在一些實施例中,取決於相鄰塊與/或當前塊的運動資訊,相鄰塊的MV被有條件地修正成整數精度。在一個實施例中,如果相鄰塊的預測方向是雙向預測,相鄰塊的MV被改變成整數MV。例如,當當前塊以及相鄰塊兩者都由單向預測進行預測時,來自相鄰塊的MV不被轉換成整數MV;當當前塊是單向預測以及相鄰塊是雙向預測時,來自相鄰塊的MV被轉換成整數MV;以及當當前塊是用整數MV進行雙向預測並且相鄰塊是雙向預測時,來自相鄰塊的MV被轉換成整數MV。在另一個實施例中,如果當前塊或相鄰塊的預測方向是雙向預測,相鄰塊的MV被轉換成整數MV來生成用於當前塊的OBMC區域。在又一實施例中,僅當當前塊是用整數MV進行雙向預測以及相鄰塊也是雙向預測時,相鄰塊的MV被轉換成整數MV來生成用於當前塊的OBMC區域。
有條件地預生成 OBMC 區域 第一實施方案的一些實施例總是在生成一或複數個OBCM區域之前,將MV轉換成整數MV,然而,用於一或複數個相鄰塊的一或複數個OBMC區域可有條件地預生成。在一個實施例中,僅當當前MV的MV分量在水平以及垂直方向兩者上不是整數時,預生成右邊OBMC以及底部OBMC區域,以及如果當前MV的MV分量在兩個方向不是整數,當前MV被改變成整數MV來用於生成OBMC區域。在這一實施例中,在預生成右邊OBMC區域用於右邊相鄰塊之前,首先檢查當前塊的MV分量,如果水平以及垂直方向上的MV分量之一是整數,將不預生成右邊OBMC區域。類似地,在預生成底部OBMC區域之前檢查MV分量,如果水平以及垂直方向上MV分量之一是整數,將不會預生成底部OBMC區域。在另一個實施例中,當水平或垂直方向上當前MV的MV分量不是整數時,預生成右邊以及底部OBMC區域。當水平或垂直方向上MV分量不是整數,藉由將MV分量或當前MV改變成整數或整數MV預生成OBMC區域。在這一實施例中,首先檢查當前塊的當前MV,以及如果水平以及垂直方向上的MV分量都是整數,不預生成右邊OBMC區域。類似地,如果水平以及垂直方向上的MV分量都是整數,不生成底部OBMC區域。
有條件地預生成OBMC區域的另一個實施例在預定方向檢查當前MV用於右邊或底部OBMC區域,以及當預定方向中的當前MV不是整數時,將當前MV改變成整數MV。例如,僅當MV的水平分量不是整數時生成右邊OBMC區域,以及當生成右邊OBMC區域時,所有方向上的水平MV分量或MV分量被改變成整數。在另一個示例中,僅當MV的垂直分量不是整數時,生成底部OBMC區域,以及當生成底部OBMC區域時,垂直MV分量或所有MV分量被改變成整數。在又一示例中,僅當水平以及垂直方向上的MV分量分別不是整數時,生成每一右邊以及底部OBMC區域。當生成右邊或底部OBMC區域時,對應的MV分量或MV被改變成整數或整數MV以用於生成右邊或底部OBMC區域。
在一些實施例中,當前塊是雙向預測的以及List 0以及List 1中的複數個MV的僅一個在水平以及垂直方向兩者是整數MV,而其他MV在至少一個方向是分數MV,或者List 0以及List 1中的複數個MV的僅一個MV在預定方向具有整數MV分量,而其他MV在預定方向具有分數MV分量。藉由將分數MV改變成整數MV,將使用分數MV預生成OBMC區域,或者藉由將分數MV分量改變成整數或者將所有MV分量改變成整數,將在預定方向使用分數MV分量預生成OBMC區域。例如,用於當前塊的預測方向是雙向預測,以及List 0中的MV在水平以及垂直方向兩者是整數MV,而List 1中MV在兩個方向不是整數MV。List 1中的MV被選擇並被改變成整數MV用於生成OBMC區域。當這些OBMC區域之一由相鄰塊使用時,它與根據相鄰塊的運動資訊推導的原始預測子混合,以及可以減少用於OBMC區域的OBMC預測子的權重因數,例如。權重因數可以被減少到原始權重因數的一半。在另一個示例中,List 0以及List 1中複數個當前MV的僅一個在水平方向具有整數MV分量,使用在水平方向具有分數MV分量的MV生成右邊OBMC區域。在生成右邊OBMC區域之前,MV被改變成在水平方向具有整數MV分量或被改變成在所有方向具有整數MV分量。當這一右邊OBMC區域的OBMC預測子與另一個預測子混合時,用於OBMC預測子的權重因數可能低於原始權重因數,例如,權重因數被減少到原始權重因數的一半。對於根據當前塊的雙向預測運動資訊生成底部OBMC區域,如果Lsit 0以及List 1中複數個MV的僅一個在垂直方向具有整數MV分量,使用在垂直方向具有分數MV分量的MV生成底部OBMC區域。在生成底部OBMC區域之前,MV在垂直方向被改變成整數MV分量或者在兩個方向被改變成整數MV分量。用於這一類型的底部OBMC區域的OBMC預測子的權重因數可能會降低,例如,減少到用於正常底部OBMC區域的原始權重因數的一半。
有條件地跳過 OBMC 混合 在一些實施例中,OBMC混合取決於當前塊與相鄰塊的MV的相似性。例如,藉由計算當前塊與相鄰塊的MV之間的MV差異並與預定閾值進行比較來檢查MV。如果MV差異大於預定閾值,跳過在當前塊與相鄰塊之間的OBMC混合。在一個實施例中,在將MV改變成用於生成OBMC區域的整數MV之前執行MV相似性檢查。在另一個實施例中,在將MV改變成用於生成OBMC區域的整數MC之後執行MV相似性檢查。在第一實施方案中用於生成OBMC區域的MV是當前塊的MV,以及在第二實施方案中用於生成OBMC區域的MV是相鄰塊的MV。在又一實施例中,跳過OBMC混合根據MV相似性被禁用,以及在生成OBMC區域之前將MV改變成整數MV。
有條件地生成 OBMC 區域 在第一實施方案的一些實施例中,僅當當前塊的尺寸、寬度或高度大於或等於預定閾值時,生成OBMC區域。用於尺寸的預定閾值的一些示例是16、32、64、128、256、512、1024、2048、4096、8192以及16384。例如,僅當當前塊具有大於或等於64的尺寸時,生成OBMC區域。在一個實施例中,僅當當前塊的寬度大於或等於第一預定閾值,以及當前塊的高度大於或等於第二預定閾值時,生成OBMC區域。第一以及第二預定閾值的組合的一些示例是(4, 4)、(4, 8)、(4, 16)、(4, 32)、(4, 64)、(4, 128)、(8, 4)、(8, 8)、(8, 16)、(8, 32)、(8, 64)、(8, 128)、(16, 4)、(16, 8)、(16, 16)、(16, 32)、(16, 64)、(16, 128)、(32, 4)、(32, 8)、(32, 16)、(32, 32)、(32, 64)、(32, 128)、(64, 4)、(64, 8)、(64, 16)、(64, 32)、(64, 64)、(64, 128)、(128, 4)、(128, 8)、(128, 16)、(128, 32)、(128, 64)以及(128, 128)。例如,僅當當前塊的寬度大於或等於8以及高度大於或等於16時,生成OBMC區域。
在第二實施方案的一些實施例中,用於決定是否生成OBMC區域的一些約束被應用於一或複數個相鄰塊。例如,僅當相鄰塊的寬度大於或等於8以及相鄰塊的高度大於或等於16時,生成OBMC區域。
附條件的OBMC區域生成方法可以僅應用於亮度分量,或者可以應用於亮度以及色度分量兩者。
減少用於 OBMC 的混合線 用於OBMC的混合線的數目是右邊OBMC區域中水平方向上像素的數目或者底部OBMC區域中垂直方向上像素的數目。用於OBMC的混合線的數目也被定義為由OBMC混合處理的水平邊界上的像素列的數目或者垂直邊界上像素行的數目。在將分數MV轉換成整數MV的一些實施例中,當分數部分大於0.5時或者當分數部分大於或等於0.5時,分數MV被舍入到整數MV。第11圖示出了從參考圖像中提取參考樣本用於當前塊以及兩個OBMC區域的示例。這一示例中,當前塊的尺寸是WxH,以及用於OBMC的混合線的數目是4。因為分數當前MV被舍入成整數MV,用於右邊以及底部OBMC區域的OBMC預測子(OBMC R 1120以及OBMC B 1130)距離用於參考圖像中當前塊的當前預測子1110有1像素間隔。在這種情況中,用於當前塊以及兩個OBMC區域的需要提取的參考樣本是較大的參考塊(W+8)x(H+8)而不是(W+7)x(H+7)。為了將用於當前塊以及OBMC區域的提取參考像素的最大參考塊尺寸保持在一定範圍內,OBMC進程在塊邊界可以僅應用3個像素線而不是4個。一個實施例藉由當由整數MV預生成OBMC區域時將MV舍入到整數MV,減少了OBMC混合線的最大數目以致最壞情況下頻寬將不會增加。例如,用於亮度分量的OBMC混合線的最大數目從4減少到3。根據一個實施例,用於色度分量的OBMC混合線的最大數目從2減少到1,或者根據另一個實施例,保持為2。在一個實施例中,用於亮度以及色度分量的混合線的最大數目分別從4減少到3以及從2減少到1。
一些其他實施例根據一或複數個預定標準決定用於每一塊的OBMC混合線的數目。示例性系統根據用於生成一或複數個OBMC區域的MV確定OBMC混合線的數目。例如,示例性系統檢查list 0或list 1中MV的絕對值的分數部分是否大於0.5,以及僅當分數部分大於0.5時,將用於亮度分量的OBMC混合線的數目從4減少到3。如果MV是整數MV或者如果分數部分小於或等於0.5,混合線的數目保持為4。在一個考慮亮度以及色度分量兩者的實施中,僅當亮度MV的絕對值的分數部分大於0.5時,用於亮度分量的混合線的數目從4減少到3,以及僅當色度MV的絕對值的分數部分大於0.5時,用於色度分量的混合線的數目從2減少到1。在考慮亮度以及色度分量兩者的一個實施例中,僅當亮度MV的絕對值的分數部分大於0.5時,用於亮度分量的混合線的數目從4減少到3,以及如果用於亮度分量的混合線的數目從4減少到3,用於色度分量的混合線的數目從2減少到1。在另一個實施例中,僅當list 0或list1中亮度MV的絕對值的分數部分大於或等於0.5時,用於亮度分量的OBMC混合線的數目從4減少到3。在一個實施例中,僅當亮度MV的絕對值的分數部分大於或等於0.5時,用於亮度分量的OBMC混合線的數目從4減少到3,以及僅當色度MV的絕對值的分數部分大於或等於0.5時,用於色度分量的OBMC混合線的數目從2減少到1。在一個實施例中,僅當亮度MV的絕對值的分數部分大於或等於0.5時,用於亮度分量的OBMC混合線額數目從4減少到3,以及如果用於亮度分量的OBMC混合線的數目從4減少到3,用於色度分量的OBMC混合線的數目從2減少到1。
在第二實施方案下,僅在當前塊的OBMC混合進程之前生成OBMC區域。減少OBMC混合線的數目的實施例首先分別檢查相鄰塊的亮度或色度MV,以分別針對亮度分量或色度分量推導OBMC區域。例如,僅當垂直方向上亮度MV的絕對值的分數部分大於0.5時,示例性系統將用於亮度分量的在頂部塊邊界的混合線的數目從4減少到3,否則用於亮度分量的在頂部塊邊界的混合線的數目是4。類似地,僅當水平方向上亮度MV的絕對值的分數部分大於0.5時,用於亮度分量的在左邊塊邊界的OBMC混合線的數目是3。在另一個示例中,僅當垂直或水平方向上亮度MV的絕對值的分數部分大於0.5時,用於亮度分量的在頂部或左邊塊邊界的OBMC混合線的數目從4減少到3,以及僅當在垂直或水平方向上的色度MV的絕對值的分數部分大於0.5時,用於色度分量的在頂部或左邊塊邊界的OBMC混合線的數目從2減少到1。在另一個示例中,僅當在垂直或水平方向上亮度MV的絕對值的分數部分大於0.5時,用於亮度分量的在頂部或左邊塊邊界的OBMC混合線的數目從4減少到3,以及如果用於亮度分量的在頂部或左邊塊邊界的OBMC混合線的數目從4減少到3,用於色度分量的在頂部或左邊塊邊界的OBMC混合線的數目從2減少到1。類似地,上述實施例可以被修正來確定當亮度或色度MV的絕對值的分數部分大於或等於0.5時是否減少OBMC混合線。
適應性的 OBMC 混合線的數目 本發明的一些實施例根據取決於OBMC混合的方向的當前塊的寬度或高度適應性確定用於當前塊的OBMC混合線的數目。例如,用於當前塊的左邊邊界的OBMC混合線的數目取決於當前塊的寬度,以及用於當前塊的頂部邊界的OBMC混合線的數目取決於當前塊的高度。在一個示例性實施例中,如果當前塊的寬度或高度小於預定閾值,用於亮度分量的OBMC混合線的數目從4減少到2。例如,如果當前塊的寬度小於第一預定閾值,用於在左邊塊邊界的亮度分量的OBMC混合線的數目從4減少到2,以及如果當前塊的寬度大於或等於第一預定閾值,該OBMC混合線的數目是4。如果當前塊的高度小於第二預定閾值,用於在頂部塊邊界的亮度分量的OBMC混合線的數目從4減少到2,以及如果當前塊的高度大於或等於第二預定閾值,該OBMC混合線的數目是4。第一或以及第二預定閾值可以是相同的或不同的。在後續示例中,第一以及第二預定閾值都是8。在一個示例中,如果當前塊的寬度小於8以及當前塊的高度大於或等於8,用於在左邊邊界的亮度分量的混合線的數目從4減少到2,然而,用於在頂部邊界的亮度分量的混合線的數目保持為4。在另一個示例中,如果當前塊的寬度小於8以及當前塊的高度也小於8,在用於左邊以及頂部邊界的亮度分量的混合線的數目從4減少到2。在另一個示例中,如果當前塊的高度小於8以及當前塊的寬度大於或等於8,用於在頂部邊界的亮度分量的OBMC混合線的數目從4減少到2,以及用於在左邊邊界的混合線的數目保持為4。
適應性確定OBMC混合線的數目的一些其他實施例根據運動補償中使用的插值濾波器的長度確定OBMC混合線的數目。插值濾波器的長度也稱為插值濾波器中抽頭的數目。例如,當採用更長的插值濾波器時,混合更多的OBMC混合線。在一個特定實施例中,當插值濾波器的長度是L時,使用(L/2)-1個OBMC混合線。
在一個實施例中,適應性確定OBMC混合線的數目可根據旗標被使能或禁用,以及當旗標指示OBMC混合線的適應性數目被禁用時,用於亮度分量的混合線的數目總是等於4以及用於色度分量的是2。
在一個實施例中,根據亮度分量減少用於色度分量的OBMC混合線的數目。例如,當亮度分量中混合線的數目從4減少到2時,色度分量中混合線的數目從2減少到1;否則用於亮度分量的混合線的數目是4以及用於色度分量的是2。
上述OBMC混合線減少或確定方法可以與藉由整數MV生成OBMC區域的方法之一組合。例如,當OBMC區域是藉由舍入到最近整數轉換的整數MV生成時,OBMC混合線的數目從4減少到3。在一些實施例中,在生成OBMC區域前,所有MV被轉換成整數MV,在一些其他實施例中,當當前塊或相鄰塊滿足預定標準時,用於生成OBMC區域的MV被轉換成整數MV。預定標準可以與當前或相鄰塊的尺寸、當前塊或相鄰塊的寬度、當前或相鄰塊的高度、當前或相鄰塊的預測方向、當前或相鄰塊的MV的分數部分以及當前/相鄰塊的MV的一個或其組合有關。有條件地將MV改變成整數MV用於色度分量的實施例取決於用於亮度分量的對應MV是否被改變成整數MV。例如,如果用於亮度分量的MV被轉換成整數MV,用於色度分量的MV被轉換成整數MV。在另一個實施例中,當亮度MV被改變成整數MV,從亮度分量的整數MV中推導用於色度分量的MV。在又一實施例中,當亮度MV被改變成整數MV時,用於色度分量的MV也被改變成整數MV,以及用於亮度分量的OBMC混合線的數目從4減少到3以及用於色度分量的OBMC混合線的數目從2減少到1。
示例性流程圖 第12A圖以及第12B圖示出了用於用重疊塊運動補償對塊進行編碼或解碼的視訊編碼或解碼系統的兩個示例性流程圖。第12A圖示出了根據第一OBMC實施方案的處理當前塊的示例,以及第12B圖示出了根據第二OBMC實施方案的處理當前塊的示例。在第12A圖的步驟S1210中,視訊編碼或解碼系統接收與當前圖像中當前塊有關的輸入資料。在編碼器側,輸入資料對應於將被編碼的像素資料。在解碼器側,輸入資料對應於將被解碼的已編碼資料或預測殘差。在步驟S1212中,確定生成至少一個OBMC區域用於一或複數個相鄰塊的當前MV,其中當當前塊是雙向預測時,該當前MV可以具有List 0 MV以及List 1 MV。在步驟S1214中,藉由舍入或者截斷成整數MV或者將MV分量改變成整數分量將該當前MV改變成已轉換的MV。在步驟S1216中,視訊編碼或解碼系統藉由使用當前MV的運動補償推導用於當前塊的原始預測子以及藉由使用已轉換的MV的運動補償推導用於一或複數個相鄰塊的一或複數個OBMC區域。為一或複數個相鄰塊塊預生成該一或複數個OBMC區域。例如,已轉換的MV用於為右邊OBMC區域以及底部OBMC區域定位OBMC預測子,以及右邊以及底部OBMC區域後續用於處理右邊以及底部相鄰塊。視訊編碼或解碼系統從記憶體中檢索與當前塊有關的一或複數個OBMC區域中的一或複數個OBMC預測子,以及存儲該一或複數個OBMC區域用於該記憶體中的一或複數個相鄰塊。在步驟S1218中,藉由將用於當前塊的原始預測子與與該當前塊有關的一或複數個OBMC預測子混合來對該當前塊進行編碼或解碼。
在第12B圖的步驟S1220中,接收當前圖像中當前塊的輸入視訊資料。在步驟S1222中,確定用於生成該當前塊的OBMC區域的相鄰塊的MV。在第12B圖示出的這一示例中,OBMC僅應用於當前塊的一側,因此僅需要由一個相鄰塊生成的一個OBMC區域,然而,當OBMC被應用於當前塊的一或複數個側時,可以生成一或複數個OBMC區域。在步驟S1224中,藉由將相鄰塊的MV改變成整數MV或者藉由將MV的MV分量改變成整數分量,視訊編碼或解碼系統生成已轉換的MV。在步驟S1226中,藉由使用當前塊的當前MV的運動補償推導用於當前塊的原始預測子,以及藉由使用已轉換的MV的運動補償推導用於當前塊的OBMC區域中的OBMC預測子。在步驟S1228中,藉由將用於當前塊的原始預測子與用於當前塊的OBMC預測子混合,視訊編碼或解碼系統對當前塊進行編碼或解碼。
OBMC BiCW 的交互 具有CU權重的雙向預測(Bi-prediction with CU weights,BiCW)也稱為廣義雙向預測(Generalized Bi-prediction,GBI),是一種使用從第一參考圖像中選擇的第一參考塊以及從第二參考圖像中選擇的第二參考塊來編碼當前塊的技術。每一參考塊與權重相關,以及當前塊由兩個參考塊的權重和進行預測。在將OBMC應用於具有以BiCW編碼的相鄰塊的當前塊的實施例中,藉由相等的權重生成OBMC區域,而不管相鄰塊的實際BiCW權重。在將OBCM應用於具有以BiCW編碼的相鄰塊的當前塊的另一實施例中,相鄰塊的BiCW權重被存儲以及根據相鄰塊的實際BiCW權重生成OBMC區域。
OBMC BDOF 的交互 通常,視訊編解碼系統在運動補償期間執行雙向光流(Bidirectional Optical Flow,BDOF)。一般地,當前塊的運動向量識別參考圖像中參考塊相對於當前塊的位置。當BDOF被應用於當前塊時,視訊編解碼系統在每一像素基礎上修正運動向量以用於當前塊。即,根據BDOF,視訊編解碼系統確定用於當前塊的運動向量的每一像素修改,而不是檢索參考塊的每一像素作為塊單元,以及重構參考塊以致該參考塊包括由當前塊的對應像素的運動向量以及每一像素修改識別的參考像素。在應用BDOF來生成OBMC區域的一個實施例中,視訊編解碼系統檢索由原始MV識別的參考像素以及用於OBMC區域的對應像素的每一像素修正。在另一個實施例中,BDOF技術被禁止用於生成OBMC區域。
視訊編碼器以及解碼器實施方式 前述描述的視訊處理方法可以在視訊編碼器或解碼器中實施。例如,提出的視訊處理方法被實施於編碼器的預測子推導模組與/或解碼器的預測子推導模組。在另一個示例中,提出的視訊處理方法被實施於編碼器的運動補償模組與/或解碼器的運動補償模組。或者,任何提出的方法被實施為與編碼器的預測子推導或運動補償模組與/或解碼器的預測子推導模組或運動補償模組耦合的電路,以便提供預測子推導模組或運動補償模組所需要的資訊。
第13圖示出了用於實施本發明各種實施例的視訊編碼器1300的示例性系統框圖。幀內預測1310基於當前圖像的重構視訊資料提供幀內預測子。幀間預測1312基於來自其他一或複數個圖像的視訊資料執行運動估計(ME)以及運動補償(MC)來提供幀間預測子。根據本發明一些實施例,為了藉由重疊的子塊運動補償編解碼工具來編碼當前塊,藉由混合由重疊區域對應的子塊MV推導的兩個或複數個原始預測子來預測當前塊中的每一重疊區域。在一些其他實施例中,幀間預測1312藉由使用已轉換的MV的運動補償推導OBMC區域中的OBMC預測子,其中藉由將MV改變成整數MV或者將MV分量改變成整數分量生成該已轉換的MV。藉由在幀間預測中將一或複數個OBMC預測子與原始預測子混合生成用於每一塊的最終預測子。幀內預測1310或幀間預測1312提供所選擇的預測子到加法器1316來形成預測誤差,也稱為預測殘差。當前塊的預測殘差由轉換(T)1318緊接著量化(Q)1320進一步處理。已轉換以及已量化的殘差信號然後由熵編碼器1332進行編碼來形成視訊位元流。視訊位元流然後與邊資訊包裝在一起。當前塊的已轉換以及已量化的殘差信號由逆量化(IQ)1322以及逆轉換(IT)1324處理來恢復預測殘差。如第13圖所示,藉由在重構(REC)1326添加回所選擇的預測子恢復預測殘差來生成重構的視訊資料。重構的視訊資料可以被存儲在參考圖像緩衝器(Ref. Pict. Buffer)1330中並用於其他圖像的預測。由於編碼處理,從REC 1326恢復的重構的視訊資料可能遭受各種損害,因此,在存儲到參考圖像緩衝器1330之前將環路處理濾波器(濾波器)1328應用於重構的視訊資料來進一步增強圖像品質。
第14圖中示出了用於解碼來自第13圖中的視訊編碼器1300的視訊位元流的對應的視訊解碼器1400。視訊位元流被輸入到視訊解碼器1400並由熵解碼器1410解碼來解析以及恢復已轉換以及已量化的殘差信號以及其他系統資訊。解碼器1400的解碼進程類似於在編碼器1300的重構回路,除了解碼器1400僅需要幀間預測1414中的運動補償預測子。每一塊由幀內預測1412或者幀間預測1414進行解碼。開關1416根據已解碼的模式資訊選擇來自幀內預測1412的幀內預測子或來自幀間預測1414的幀間預測子。藉由根據一些示例性實施例混合從重疊的子塊MV推導的原始預測子,幀間預測1414對當前塊執行重疊的子塊運動補償。根據一些其他示例性實施例,幀間預測1414使用一或複數個已推導的MV生成的OBMC區域,用於與原始預測子混合。藉由將一或複數個MV改變成一或複數個整數MV或者將一或複數個MV的MV分量改變成整數分量,生成一或複數個已推導的MV。藉由逆量化(IQ)1420以及逆轉換(IT)1422恢復與每一塊有關的已轉換以及已量化的殘差信號。藉由在REC 1418中添加回預測子重構恢復的殘差信號來生成重構的視訊。重構的視訊由環路處理濾波器(濾波器)1424進一步處理來生成最終的已解碼視訊。如果當前已解碼圖像是用於解碼次序中後續圖像的參考圖像,當前已解碼圖像的重構視訊也存儲在參考圖像緩衝器1426中。
第13圖以及第14圖中視訊編碼器1300以及視訊解碼器1400的各種元件可以由硬體元件、用於執行存儲在記憶體中程式指令的一或複數個處理器,或者硬體與處理的組合來實施。例如,處理器執行程式指令來控制與當前圖像有關的輸入資料的接收。處理器配備有單個或複數個處理核心。在一些示例中,處理器執行程式指令來執行編碼器1300以及解碼器1400中一些元件的功能,以及與處理器電性耦合的記憶體用於存儲程式指令、對應於塊的重構圖像的資訊與/或編碼或解碼進程期間的中間資料。一些實施例中的記憶體包括非暫態電腦可讀媒介,如半導體或固態記憶體、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、硬碟、光碟或其他合適的存儲媒介。記憶體也可以是上述列出的兩個或複數個非暫態電腦可讀媒介的組合。如第13圖以及第14圖所示出的,編碼器1300以及解碼器1400可以在相同的電子裝置中實施,因此如果在相同的電子裝置中實施,編碼器1300與解碼器14 00的各種功能元件可以共用或者重用。
用於編碼或解碼的視訊處理方法的實施例可以在整合到視訊壓縮晶片的電路或者整合到視訊壓縮軟體的程式碼中實施來執行以上描述的處理。例如,包括用於編碼當前塊的平均候選的候選集的確定可以在將在電腦處理器、數位訊號處理器(DSP)、微處理器或現場可程式設計閘陣列(FPGA)上執行的程式碼中實現。這些處理器可以被配置為執行根據本發明的特定任務,藉由執行定義由本發明實施特定方法的機器可讀軟體代碼或固件代碼。
貫穿本說明書的對“一個實施例”、“一些實施例”或類似語言的引用意味著結合實施例描述的特定特徵、結構或特性可以被包含在本發明的至少一個實施例中。因此,貫穿本說明書在各個位置中的短語“一個實施例中”或“一些實施例中”的出現並非都指相同的實施例,這些實施例可以單獨地或結合一或複數個其他實施例來實施。此外,在一或複數個實施例中,所描述的特徵、結構或特性可以以任何合適的方式進行組合。然而,相關領域的技術人員將認識到,可以在沒有一或複數個具體細節的情況下,或者利用其他方法、元件等來實踐本發明。在其它實例中,公知的結構或操作未被詳細示出或描述以避免模糊本發明的各方面。
在不背離本發明精神或基本特徵的情況下,可以以其他特定的形式實施本發明。所描述的示例在所有方面僅被認為是說明性的而非限制性的。因此,本發明的範圍由所附申請專利範圍而非前述描述來指示。在申請專利範圍的等同含義以及範圍內的所有變化都包括在其範圍內。
12‧‧‧第一區域
122‧‧‧灰色陰影像素
14‧‧‧第二區域
142‧‧‧白色陰影像素
30、41‧‧‧當前PU
311‧‧‧左下方預測子
312‧‧‧左邊預測子
313‧‧‧右上方預測子
314‧‧‧頂部預測子
315‧‧‧左上方預測子
32‧‧‧同位PU
321、322‧‧‧ 時間預測子
411、412‧‧‧子PU
42‧‧‧時間同位圖像
421、422‧‧‧子PU對應的位置
423‧‧‧vec_init_sub_0
424‧‧‧vec_init_sub_1
425、426‧‧‧同位位置
427‧‧‧subPU0_MV
428‧‧‧subPU1_MV
61、62‧‧‧當前塊
611、612、621、622‧‧‧控制點
613、614、623、624‧‧‧運動向量
1110‧‧‧當前預測子
1120、1130‧‧‧OBMC預測子
S1010~S1060、S1210~S1218、S1220~S1228‧‧‧步骤
1300‧‧‧視訊編碼器
1310、1412‧‧‧幀內預測
1312、1414‧‧‧幀間預測
1314、1416‧‧‧開關
1316‧‧‧加法器
1318‧‧‧轉換
1320‧‧‧量化
1322、1420‧‧‧逆量化
1324、1422‧‧‧逆轉換
1326、1418‧‧‧重構
1328、1424‧‧‧環路處理濾波器
1330、1426‧‧‧參考圖像緩衝器
1332‧‧‧熵編碼器
1400‧‧‧視訊解碼器
1410‧‧‧熵解碼器
以示例提出的本發明的各種實施例將參考後文圖示進行詳細描述,以及其中:
第1圖示出了幾何分割的重疊的運動補償的示例。
第2A以及2B圖示出了邊界像素具有不同權重的2NxN塊以及Nx2N塊的OBMC覆蓋區(footprint)的示例。
第3圖示出了用於重構合併候選集的空間以及時間MV候選的位置。
第4圖示出了根據SbTMVP技術的確定當前PU中子塊的子塊運動向量的示例。
第5圖示出了根據STMVP技術的確定具有四個子塊的CU的合併候選的示例。
第6A圖示出了對具有兩個控制點的當前塊應用仿射運動向量補償預測的示例。
第6B圖示出了應用具有兩個控制點的基於塊的仿射運動補償預測的示例。
第7A圖示出了沒有採用子塊運動補償模式的情況下應用OBMC到塊的示例。
第7B圖示出了採用子塊運動補償模式的情況下應用OBMC到的塊的示例。
第8A圖示出了從記憶體中提取參考塊用於生成當前塊的預測子的示例。
第8B圖示出了從記憶體中提取參考塊用於生成當前塊的預測子以及用於相鄰塊的兩個OBMC預測子的示例。
第9A圖示出了示例性非重疊的子塊分區。
第9B圖示出了具有位於水平方向的重疊區域的示例性重疊的子塊分區。
第9C圖示出了具有位於垂直方向的重疊區域的示例性重疊的子塊分區。
第9D圖示出了具有位於水平以及垂直方向兩者的示例性重疊的子塊分區。
第10圖是示出了用重疊的子塊運動補償處理當前塊的示例性實施例的流程圖。
第11圖示出了當當前MV被舍入到整數MV用於生成OBMC預測子時,從記憶體中提出參考塊用於生成用於當前塊的預測子以及用於相鄰塊的兩個OBMC預測子的示例。
第12A圖是示出了用使用第一OBMC實施方案的OBMC處理當前塊的示例性實施例的流程圖。
第12B圖是示出了用使用第二OBMC實施方案的OBMC處理當前塊的示例性實施例的流程圖。
第13圖示出了根據本發明實施例的結合視訊處理方法的視訊編碼系統的示例性系統框圖。
第14圖示出了根據本發明實施例的結合視訊處理方法的視訊解碼系統的示例性系統框圖。

Claims (37)

  1. 一種視訊編解碼系統中的子塊運動補償的視訊處理方法,包括: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 根據一重疊的子塊分區將該當前塊分割成複數個重疊的子塊,其中每一子塊在一水平方向、一垂直方向或水平與垂直方向兩者與一或複數個其他子塊重疊; 確定與該當前塊中該等重疊的子塊的每一子塊有關的一或複數個子塊運動向量(MV); 藉由使用該一或複數個子塊運動向量的運動補償推導用於該等重疊的子塊的每一子塊的一原始預測子; 藉由混合重疊區域的該原始預測子推導用於每一該重疊區域的一最終預測子;以及 基於該重疊區域的該最終預測子編碼或解碼該當前塊。
  2. 如申請專利範圍第1項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,其中該重疊的子塊分區在一視訊位元流的一序列級、圖像級、方塊組級或切片級被明確地發信。
  3. 如申請專利範圍第1項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,其中該重疊的子塊分區根據該當前塊的運動資訊、該子塊的一尺寸以及該當前塊的一預測模式中的一個或其組合來隱含地決定。
  4. 如申請專利範圍第1項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,其中該重疊的子塊分區是預定義的並且在一視訊位元流中不被發信。
  5. 如申請專利範圍第1項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,該最終預測子藉由使用加權和混合該重疊區域的該等原始預測子來推導。
  6. 如申請專利範圍第5項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,其中用於該等原始預測子的複數個權重因數取決於位置或取決於該等重疊的子塊的數目。
  7. 如申請專利範圍第1項所述之視訊編解碼系統中的子塊運動補償的視訊處理方法,其中該當前塊包括該重疊區域以及非重疊區域,以及該當前塊根據該重疊區域的該最終預測子以及該非重疊區域的原始預測子進行編碼或解碼。
  8. 一種視訊編解碼系統中用重疊塊運動補償(OBMC)處理塊的視訊處理方法,包括: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 確定用於生成一重疊塊運動補償區域的一或複數個運動向量(MV); 藉由將該一或複數個運動向量改變成一或複數個整數運動向量或將該一或複數個運動向量的一運動向量分量改變成整數分量來生成一或複數個已轉換的運動向量; 藉由使用該一或複數個已轉換的運動向量的運動補償來推導該重疊塊運動補償區域; 藉由將該重疊塊運動補償區域中的一重疊塊運動補償預測子與一原始預測子混合來應用重疊塊運動補償;以及 編碼或解碼該當前塊。
  9. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中該重疊塊運動補償區域由從該當前塊的一或複數個當前運動向量生成的該一或複數個已轉換的運動向量來推導,該重疊塊運動補償區域是預生成的用於該當前塊的一右邊或底部相鄰塊,以及當處理該右邊或底部相鄰塊時,該重疊塊運動補償區域與該右邊或底部相鄰塊的該原始預測子混合。
  10. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中當該一或複數個已轉換的運動向量用於推導該右邊相鄰塊的一右邊重疊塊運動補償區域時,該一或複數個已轉換的運動向量藉由將該一或複數個運動向量的一水平分量改變成一整數來生成,或者當該一或複數個已轉換的運動向量用於推導該底部相鄰塊的一底部重疊塊運動補償區域時,該一或複數個已轉換的運動向量藉由將該一或複數個運動向量的一垂直分量改變成一整數來生成。
  11. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該當前塊的一預測方向是雙向預測,該重疊塊運動補償區域藉由使用該一或複數個已轉換的運動向量的運動補償來推導,以及如果該當前塊的該預測方向是單向預測,該重疊塊運動補償區域藉由在沒有轉換的情況下使用該一或複數個運動向量的運動補償來推導。
  12. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該當前塊或相鄰塊是雙向預測,該重疊塊運動補償區域藉由使用該一或複數個已轉換的運動向量的運動補償來推導,以及如果該當前塊以及相鄰塊兩者都是單向預測,該重疊塊運動補償區域藉由在沒有轉換的情況下使用該一或複數個運動向量的運動補償來推導。
  13. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中僅當該一或複數個運動向量的水平分量以及垂直分量兩者都不是整數時,該重疊塊運動補償區域被預生成,或者僅當該一或複數個運動向量的該水平分量或該垂直分量的任一個不是整數時,該重疊塊運動補償區域被預生成。
  14. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中僅當該當前塊的該一或複數個運動向量的一預定分量不是一整數時,該重疊塊運動補償區域被預生成,以及該預定分量取決於該重疊塊運動補償區域是否用於該右邊或底部相鄰塊。
  15. 如申請專利範圍第9項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中當該當前塊是用一個整數運動向量以及一個分數運動向量雙向預測時,該重疊塊運動補償區域藉由List 0以及List 1中複數個運動向量之一來預生成,以及該重疊塊運動補償區域藉由從該分數運動向量生成的該已轉換的運動向量來預生成,其中該分數運動向量的水平以及垂直分量都是分數或者僅該分數運動向量的一預定分量是分數。
  16. 如申請專利範圍第15項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中當與該右邊或底部相鄰塊的該原始預測子混合時,預生成的該重疊塊運動補償區域中的該重疊塊運動補償預測子被分配低於一原始權重因數的一權重因數,其中當該當前塊不是用一個整數運動向量以及一個分數運動向量雙向預測時,該原始權重因數用於一預生成的重疊塊運動補償區域中的一重疊塊運動補償預測子。
  17. 如申請專利範圍第8項所述之視頻編解碼系統中用重疊塊運動補償處理塊的視頻處理方法,其中該重疊塊運動補償區域由從一相鄰塊的一個或多個相鄰運動向量生成的該一個或多個已轉換的運動向量來推導,該重疊塊運動補償區域被推導用於該當前塊,以及該重疊塊運動補償區域與該當前塊的該原始預測子混合。
  18. 如申請專利範圍第17項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該相鄰塊的一預測方向是雙向預測,該重疊塊運動補償區域藉由使用該一或複數個已轉換的運動向量的運動補償來推導,以及如果該相鄰塊的該預測方向是單向預測,該重疊塊運動補償區域藉由在沒有轉換的情況下使用該一或複數個運動向量的運動補償來推導。
  19. 如申請專利範圍第17項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該當前塊或相鄰塊是雙向預測的,該重疊塊運動補償區域藉由使用該一或複數個已轉換的運動向量的運動補償來推導,以及如果該當前塊以及該相鄰塊兩者都是單向預測的,該重疊塊運動補償區域藉由在沒有轉換的情況下使用該一或複數個運動向量來推導。
  20. 如申請專利範圍第17項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中僅當該當前塊是用整數運動向量雙向預測並且該相鄰塊是雙向預測時,該重疊塊運動補償區域藉由使用該一或複數個已轉換的運動向量的運動補償來推導,否則該重疊塊運動補償區域藉由在沒有轉換的情況下使用該一或複數個運動向量的運動補償來推導。
  21. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中該一或複數個已轉換的運動向量藉由截斷或舍入成一或複數個整數運動向量來生成。
  22. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,進一步包括檢查該當前塊的運動向量與一相鄰塊的運動向量的一相似性,以及根據該等運動向量的該相似性,適應性地跳過混合該重疊塊運動補償區域中的該重疊塊運動補償預測子與該原始預測子。
  23. 如申請專利範圍第22項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中該檢查該等運動向量的該相似性在該生成該一或複數個已轉換的運動向量之前或之後執行。
  24. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中當該當前塊是一亮度(luma)塊時,重疊塊運動補償混合線的一最大數目是3,以及當該當前塊是一色度(chroma)塊時,重疊塊運動補償混合線的一最大數目是1或2。
  25. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該一或複數個運動向量的一絕對值的一分數部分大於0.5或大於等於0.5時,用於一亮度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是3,否則用於該亮度分量的該重疊塊運動補償區域中該重疊塊運動補償混合線的數目是4;或者如果該一或複數個運動向量的一絕對值的一分數部分大於0.5或大於等於0.5或者如果用於一亮度分量的該重疊塊運動補償區域中該重疊塊運動補償混合線的數目是3,用於一色度分量的該重疊塊運動補償區域中的一重疊塊運動補償混合線的數目是1,否則用於該色度分量的該重疊塊運動補償區域中該重疊塊運動補償混合線的數目是2。
  26. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中該重疊塊運動補償區域藉由一頂部相鄰塊的該一或複數個已轉換的運動向量來推導,以及僅當一垂直方向上該一或複數個運動向量的一絕對值的一分數部分大於0.5或大於等於0.5,用於一亮度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是3,否則用於該亮度分量的該重疊塊運動補償混合線的數目是4;該或者重疊塊運動補償區域藉由一左邊相鄰塊的一或複數個已轉換的運動向量來推導,以及僅當一水平方向上該一或複數個運動向量的一絕對值的一分數部分大於0.5或大於等於0.5時,用於一亮度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是3,否則用於該亮度分量的該重疊塊運動補償混合線的數目是4。
  27. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中該重疊塊運動補償區域藉由一頂部相鄰塊的該一或複數個已轉換的運動向量來推導,以及僅當一垂直方向上的該一或複數個運動向量的一絕對值的一分數部分大於0.5或大於等於0.5或者用於一亮度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是3時,用於一色度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是1,否則用於該色度分量的該重疊塊運動補償混合線的數目是2;或者該重疊塊運動補償區域藉由一左邊相鄰塊的該一或複數個已轉換的運動向量來推導,僅當一水平方向上的該一或複數個運動向量的一絕對值的一分數部分大於0.5或者大於等於0.5時,用於一色度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是1,否則用於該色度分量的該重疊塊運動補償混合線的數目是2;或者該重疊塊運動補償區域藉由一左邊相鄰塊的該一或複數個已轉換的運動向量來推導,以及如果用於一亮度分量的該重疊塊運動補償區域的一重疊塊運動補償混合線的數目是3,用於一色度分量的該重疊塊運動補償區域中一重疊塊運動補償混合線的數目是1,否者用於該色度分量的該重疊塊運動補償混合線的數目是2。
  28. 如申請專利範圍第8項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中一重疊塊運動補償混合線的數目是根據在運動補償中使用的一插值濾波器的一長度適應性地確定。
  29. 一種視訊編解碼系統中用重疊塊運動補償(OBMC)處理塊的視訊處理方法,包括: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 根據該當前塊的一寬度確定用於該當前塊的一左邊邊界的一重疊塊運動補償混合線的數目,或者根據該當前塊的一高度確定該當前塊的一頂部邊界的一重疊塊運動補償混合線的數目; 藉由使用該當前塊的一或複數個運動向量的運動補償推導該當前塊的一原始預測子; 藉由使用該當前塊的一左邊相鄰塊的一或複數個運動向量的運動補償推導具有用於該左邊邊界的該運動補償混合線的數目的一左邊重疊塊運動補償區域的一重疊塊運動補償預測子,或者藉由使用該當前塊的一頂部相鄰塊的一或複數個運動向量的運動補償推導具有用於該頂部邊界的該重疊塊運動補償混合線的數目的一頂部重疊塊運動補償區域的一重疊塊運動補償預測子; 藉由針對該重疊塊運動補償混合線的數目將該重疊塊運動補償預測子與該當前塊的該原始預測子混合來將重疊塊運動補償應用到該當前塊;以及 編碼或解碼該當前塊。
  30. 如申請專利範圍第29項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果該當前塊的該寬度小於一預定閾值,在一亮度(luma)分量的該左邊邊界的該重疊塊運動補償混合線的數目是2,以及如果該當前塊的該寬度大於或等於該預定閾值,在該亮度分量的該左邊邊界的該重疊塊運動補償混合線的數目是4;或者如果該當前塊的該高度小於一預定閾值,在該亮度分量的該頂部邊界的該重疊塊運動補償混合線的數目是2,以及如果該當前塊的該高度大於或等於該預定閾值,在該亮度分量的該頂部邊界的該重疊塊運動補償混合線的數目是4。
  31. 如申請專利範圍第29項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中如果當前塊的該寬度小於一預定閾值,在一色度(chroma)分量的該左邊邊界的該重疊塊運動補償混合線的數目是1,以及如果該當前塊的該寬度大於或等於該預定閾值,在該色度分量的該左邊邊界的該重疊塊運動補償混合線的數目是2;或者如果該當前塊的該高度小於一預定閾值,在該色度分量的該頂部邊界的該重疊塊運動補償混合線的數目是1,以及如果該當前塊的該高度大於或等於該預定閾值,在該色度分量的該頂部邊界的該重疊塊運動補償混合線的數目是2。
  32. 如申請專利範圍第29項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,進一步包括確定指示適應性重疊塊運動補償混合線的數目是啟用的或禁用的一旗標,如果該旗標指示該適應性重疊塊運動補償混合線的數目是禁用的,用於一亮度分量的該重疊塊運動補償混合線的數目總是4以及用於一色度分量的該重疊塊運動補償混合線的數目總是2。
  33. 如申請專利範圍第29項所述之視訊編解碼系統中用重疊塊運動補償處理塊的視訊處理方法,其中一亮度分量的該重疊塊運動補償混合線的數目是根據該寬度或該高度確定,以及一色度分量的該重疊塊運動補償混合線的數目是根據用於該亮度分量的該重疊塊運動補償混合線的數目確定。
  34. 一種視訊編解碼系統中處理視訊資料的裝置,該裝置包括一或複數個電子電路,用於: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 根據一重疊的子塊分區將該當前塊分割成複數個重疊的子塊,其中每一子塊在一水平方向、一垂直方向或水平與垂直方向兩者與一或複數個其他子塊重疊; 確定與該當前塊中該等重疊的子塊的每一子塊有關的一或複數個子塊運動向量(MV); 藉由使用該一或複數個子塊運動向量的運動補償推導用於該等重疊的子塊的每一子塊的一原始預測子; 藉由混合重疊區域的該原始預測子推導用於每一該重疊區域的一最終預測子;以及 基於該重疊區域的該最終預測子編碼或解碼該當前塊。
  35. 一種存儲程式指令的非暫態電腦可讀媒介,該程式指令使得一裝置的一處理電路來執行一視訊處理方法,以及該方法包括: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 根據一重疊的子塊分區將該當前塊分割成複數個重疊的子塊,其中每一子塊在一水平方向、一垂直方向或水平與垂直方向兩者與一或複數個其他子塊重疊; 確定與該當前塊中該等重疊的子塊的每一子塊有關的一或複數個子塊運動向量(MV); 藉由使用該一或複數個子塊運動向量的運動補償推導用於該等重疊的子塊的每一子塊的一原始預測子; 藉由混合重疊區域的該原始預測子推導用於每一該重疊區域的一最終預測子;以及 基於該重疊區域的該最終預測子編碼或解碼該當前塊。
  36. 一種在視訊編解碼系統中用重疊塊運動補償(OBMC)處理塊的裝置,該裝置包括一或複數個電子電路,用於: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 確定用於生成一重疊塊運動補償區域的一或複數個運動向量(MV); 藉由將該一或複數個運動向量改變成一或複數個整數運動向量或者將該一或複數個運動向量的一運動向量分量改變成一整數分量,生成一或複數個已轉換的運動向量; 藉由使用該一或複數個已轉換的運動向量的運動補償推導該重疊塊運動補償區域; 藉由將該重疊塊運動補償區域中的一重疊塊運動補償預測子與一原始預測子混合來應用重疊塊運動補償;以及 編碼或解碼該當前塊。
  37. 一種存儲程式指令的非暫態電腦可讀媒介,該程式指令使得一裝置的一處理電路來執行一視訊處理方法,以及該方法包括: 接收與一當前圖像中一當前塊有關的輸入視訊資料; 確定用於生成一重疊塊運動補償(OBMC)區域的一或複數個運動向量(MV); 藉由將該一或複數個運動向量改變成一或複數個整數運動向量或者將該一或複數個運動向量的一運動向量分量改變成一整數分量,生成一或複數個已轉換的運動向量; 藉由使用該一或複數個已轉換的運動向量的運動補償推導該重疊塊運動補償區域; 藉由將該重疊塊運動補償區域中的一重疊塊運動補償預測子與一原始預測子混合來應用重疊塊運動補償;以及 編碼或解碼該當前塊。
TW108113166A 2018-04-16 2019-04-16 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置 TWI702834B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862657995P 2018-04-16 2018-04-16
US62/657,995 2018-04-16
US201862750279P 2018-10-25 2018-10-25
US62/750,279 2018-10-25
US201862751755P 2018-10-29 2018-10-29
US62/751,755 2018-10-29
WOPCT/CN2019/082675 2019-04-15
PCT/CN2019/082675 WO2019201203A1 (en) 2018-04-16 2019-04-15 Methods and apparatuses of video processing with overlapped block motion compensation in video coding systems

Publications (2)

Publication Number Publication Date
TW201944781A true TW201944781A (zh) 2019-11-16
TWI702834B TWI702834B (zh) 2020-08-21

Family

ID=68240454

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108113166A TWI702834B (zh) 2018-04-16 2019-04-16 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置

Country Status (4)

Country Link
US (2) US11109057B2 (zh)
CN (3) CN116456080A (zh)
TW (1) TWI702834B (zh)
WO (1) WO2019201203A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI751810B (zh) * 2019-11-27 2022-01-01 聯發科技股份有限公司 視訊編解碼之幾何合併模式中的統合權重和運動索引推導方法和裝置
TWI751727B (zh) * 2018-11-29 2022-01-01 聯發科技股份有限公司 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置
TWI752739B (zh) * 2019-11-27 2022-01-11 聯發科技股份有限公司 視訊編解碼系統中的視訊處理方法和裝置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310520B2 (en) * 2018-09-04 2022-04-19 Hfi Innovation Inc. Method and apparatus of motion-vector rounding unification for video coding system
CN113056917B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 为视频处理使用具有几何分割的帧间预测
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN111698515B (zh) * 2019-03-14 2023-02-14 华为技术有限公司 帧间预测的方法及相关装置
CN114080812A (zh) * 2019-06-13 2022-02-22 Lg 电子株式会社 使用sbtmvp的基于帧间预测的图像或视频编译
CN114342406A (zh) * 2019-06-28 2022-04-12 Sk电信有限公司 用于推导双向预测权重索引的方法及图像解码设备
WO2021136349A1 (en) * 2019-12-30 2021-07-08 FG Innovation Company Limited Device and method for coding video data
US20220272375A1 (en) * 2021-02-22 2022-08-25 Beijing Dajia Internet Information Technology Co., Ltd. Overlapped block motion compensation for inter prediction
WO2023207511A1 (en) * 2022-04-29 2023-11-02 Mediatek Inc. Method and apparatus of adaptive weighting for overlapped block motion compensation in video coding system
US20240031577A1 (en) * 2022-07-21 2024-01-25 Tencent America LLC MOTION VECTOR PREDICTION FUSION FOR SUBBLOCK-BASED TEMPORAL MOTION VECTOR PREDICTION (SbTMVP) AND TEMPORAL MOTION VECTOR PREDICTION (TMVP)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008123753A1 (en) * 2007-04-09 2008-10-16 Lg Electronics Inc. A method and an apparatus for processing a video signal
CN101222636B (zh) * 2008-01-24 2011-05-11 杭州华三通信技术有限公司 图像编解码方法和图像编解码装置
CN101237581B (zh) 2008-02-29 2010-11-17 上海大学 基于运动特征的h.264压缩域实时视频对象分割方法
US8638079B2 (en) * 2010-02-27 2014-01-28 Infineon Technologies Ag Pulse modulation control in a DC-DC converter circuit
US9071851B2 (en) 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
EP2803191B1 (en) 2012-01-13 2021-05-05 InterDigital Madison Patent Holdings Method and device for coding an image block, corresponding method and decoding device
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
WO2013152736A1 (en) * 2012-04-12 2013-10-17 Mediatek Singapore Pte. Ltd. Method and apparatus for block partition of chroma subsampling formats
US20140092978A1 (en) * 2012-10-01 2014-04-03 Nokia Corporation Method and apparatus for video coding
US9554141B2 (en) * 2013-11-18 2017-01-24 Arris Enterprises, Inc. Intra block copy for intra slices in high efficiency video coding (HEVC)
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
CN113784124B (zh) 2014-01-01 2024-03-19 上海天荷电子信息有限公司 使用多种形状子块进行精细划分的块匹配编码和解码方法
WO2015149699A1 (en) * 2014-04-01 2015-10-08 Mediatek Inc. Method of adaptive interpolation filtering in video coding
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
US10250904B2 (en) 2015-05-05 2019-04-02 Avago Technologies International Sales Pte. Limited Apparatus and method for overlapped motion compensation for video coding
WO2017195554A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置。
US10368107B2 (en) * 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
CN106713918A (zh) 2017-01-17 2017-05-24 燕山大学 图像压缩方法
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI751727B (zh) * 2018-11-29 2022-01-01 聯發科技股份有限公司 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置
TWI751810B (zh) * 2019-11-27 2022-01-01 聯發科技股份有限公司 視訊編解碼之幾何合併模式中的統合權重和運動索引推導方法和裝置
TWI752739B (zh) * 2019-11-27 2022-01-11 聯發科技股份有限公司 視訊編解碼系統中的視訊處理方法和裝置
US11575905B2 (en) 2019-11-27 2023-02-07 Hfi Innovation Inc. Method and apparatus of unified weight and motion indexes derivation for geometric merge mode in video coding

Also Published As

Publication number Publication date
US20210360280A1 (en) 2021-11-18
WO2019201203A1 (en) 2019-10-24
CN114554197A (zh) 2022-05-27
CN111989927B (zh) 2023-05-09
US11109057B2 (en) 2021-08-31
CN111989927A (zh) 2020-11-24
TWI702834B (zh) 2020-08-21
CN116456080A (zh) 2023-07-18
US20210076061A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US11956462B2 (en) Video processing methods and apparatuses for sub-block motion compensation in video coding systems
TWI702834B (zh) 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
TWI720460B (zh) 在視訊編解碼中具有高級控制之候選重組
US20190387251A1 (en) Methods and Apparatuses of Video Processing with Overlapped Block Motion Compensation in Video Coding Systems
TWI720532B (zh) 在視訊編解碼系統中視訊處理的方法以及裝置
CN113302918A (zh) 视频编解码中的加权预测
TWI738248B (zh) 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
WO2020177665A1 (en) Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
WO2020073920A1 (en) Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
CN112514383A (zh) 用于视频编解码的利用运动向量差的合并方法和装置
US11785242B2 (en) Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
US11985324B2 (en) Methods and apparatuses of video processing with motion refinement and sub-partition base padding
WO2024078331A1 (en) Method and apparatus of subblock-based motion vector prediction with reordering and refinement in video coding
WO2024027784A1 (en) Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding
WO2024016844A1 (en) Method and apparatus using affine motion estimation with control-point motion vector refinement
WO2023208189A1 (en) Method and apparatus for improvement of video coding using merge with mvd mode with template matching
CN113557720A (zh) 视频编解码中的多假设预测当中的自适应权重