TWI738236B - 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置 - Google Patents

視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置 Download PDF

Info

Publication number
TWI738236B
TWI738236B TW109106883A TW109106883A TWI738236B TW I738236 B TWI738236 B TW I738236B TW 109106883 A TW109106883 A TW 109106883A TW 109106883 A TW109106883 A TW 109106883A TW I738236 B TWI738236 B TW I738236B
Authority
TW
Taiwan
Prior art keywords
list
optical flow
current block
block
cost
Prior art date
Application number
TW109106883A
Other languages
English (en)
Other versions
TW202044840A (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 TW202044840A publication Critical patent/TW202044840A/zh
Application granted granted Critical
Publication of TWI738236B publication Critical patent/TWI738236B/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

公開了用於通過雙向預測對當前塊進行編碼或解碼的示例性視訊處理方法和裝置。為當前塊確定L0和L1參考塊,並應用運動向量精化其使用對當前塊中每個處理單元執行的運動估計搜索來精化L0和L1參考塊。根據當前塊中每個處理單元的成本,雙向光流操作會提前終止。運動向量精化和雙向光流提前終止中用於成本計算的處理單元是統一的。如果雙向光流操作未提前終止,則將雙向光流操作應用於當前塊,以進一步精化L0和L1參考塊。從精化的L0和L1參考塊導出最終幀間預測子,以對當前塊進行編碼或解碼。

Description

視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置
本發明涉及視訊編碼和解碼系統中的視訊處理方法和裝置。特別地,本發明涉及在畫面間預測(inter picture prediction)中通過雙向預測對視訊資料進行編碼或解碼。
高效視訊編解碼(HEVC)標準是由ITU-T研究組的視訊編碼聯合協作團隊(JCT-VC)的視訊編碼專家組開發的最新視訊編解碼標準。HEVC標準改進了其進行中的標準H.264 / AVC的視訊壓縮性能,以滿足對更高圖片解析度、更高幀頻和更好視訊品質的需求。
跳過和合併 跳過和合併模式提高了HEVC標準中運動向量(MV)的編碼效率,因為運動資訊是從空間相鄰塊或時間上並置的塊(temporally collocated block)繼承而來的。為了在跳過或合併模式下編解碼塊,而不是發信運動資訊,僅發信表示從候選集中選擇的最終合併候選的合併索引。被以跳過或合併模式編解碼的塊重用的運動資訊包括MV、預測方向和所選擇的最終候選的參考圖片索引。注意,如果所選擇的最終候選是時間運動候選,則參考圖片索引總是被設置為零。當以合併模式對塊進行編解碼時,對預測殘差進行編解碼,但是,由於以跳過模式編碼的塊的殘差資料被強制為零,因此跳過模式進一步跳過了對預測殘差的發信。
第1圖示出了為在HEVC標準中以跳過或合併模式編解碼的當前預測單元(PU)10構建的合併候選集。合併候選集由與當前PU 10的相鄰塊相關聯的四個空間運動候選和與當前PU 10的並置的PU 12相關聯的一個時間運動候選組成。如第1圖所示,第一合併候選為左預測子A1 112,第二個合併候選是上方預測子B1 114,第三合併候選是右上方預測子B0 113,第四合併候選是左下方預測子A0 111。左上方預測子B2 115包含在合併候選集中,以替換不可用的空間預測子。第五合併候選是第一可用時間預測子TBR 121和TCTR 122的時間預測子。編碼器基於運動向量補償(例如通過速率失真精化決策(Rate-Distortion Optimization,簡寫為RDO),為每個以跳過或合併模式編碼的PU從候選集中選擇一個最終候選,並且代表所選最終候選的索引會發信給解碼器。解碼器根據視訊位元流中傳輸的索引從候選集中選擇相同的最終候選。由於跳過和合併候選的推導是相似的,因此為了方便起見,下文中提到的“合併”模式可以對應於合併模式以及跳過模式。
解碼器 MV 精化 Decoder MV Refinement ,簡寫為 DMVR 雙邊模板MV精化,也稱為解碼器MV精化(DMVR),應用於合併模式中,以提高HEVC標準的編解碼效率。DMVR在編碼器和解碼器側均起作用,並且僅適用於雙向預測(bi-directional prediction)。雙邊模板MV精化的主要概念是通過如第2圖所示的合併模式下的運動估計搜索來精化MV。對於具有雙向預測MV的合併候選(包括列表0(L0)MV 242和列表1(L1)MV 262),下面描述了雙邊模板MV精化的步驟。在DMVR的第一步中,找到由L0 MV 242指向的L0參考塊244,並且找到由L1 MV 262指向的L1參考塊264。在DMVR的第二步驟中,通過L0參考塊244和L1參考塊264的資訊生成雙邊模板22,例如,雙邊模板22被計算為L0參考塊244和L1參考塊264的平均值。在第三步驟中,雙邊模板22用於在L0參考圖片24中的L0參考塊244周圍執行整數運動估計和分數運動估計搜索,搜索範圍為P像素×Q像素,以找到具有最小運動估計成本的位置。運動估計成本的一個實施例是絕對差之和(Sum of Absolute Difference,簡寫為SAD)。最小運動估計成本的最終位置分配給L0的精化MV 246。在第三步中,雙邊模板22還用於在L1的L1參考塊264周圍執行整數運動估計和分數運動估計搜索具有P像素×Q像素的搜索範圍的參考圖片26,以找到最小運動估計成本的位置。最小運動估計成本的最終位置被分配給L1的精化MV 266。在第四步驟中,由L0的精化MV 246指向的L0精化塊248和由L1的精化MV 266指向的L1精化塊268是用於後續階段的最終參考塊,例如,這兩個最終參考塊248和268用於運動補償。
基於模式的 MV 推導( Pattern-based MV Derivation 簡寫為 PMVD 基於模式的MV推導(PMVD)方法,也稱為FRUC(Frame Rate Up Conversio,幀速率上轉換),是一種編解碼工具,包括雙向預測塊和模板的雙邊匹配和單向預測塊的模板匹配。當合併或跳過標誌為真(true)時,發信FRUC_mrg_flag,以及如果 FRUC_mrg_flag為真時,則發信FRUC_merge_mode,以指示選擇了第3圖所示的雙邊匹配合併模式還是第4圖所示的模板匹配合併模式。在基於模式的MV推導方法中,通過掃描所有參考圖片中的所有MV來推導稱為時間導出MVP(temporal derived MVP)的新運動向量預測子(MVP)。例如,為了導出L0時間導出的MVP,將L0參考圖片中的每個L0 MV縮放以指向當前圖片。當前圖片中由此縮放MV指向的4x4塊是目標當前塊。MV被進一步縮放以指向L0中參考索引等於0的參考圖片用於目標當前塊。進一步縮放的MV存儲在目標當前塊的L0 MV字段中。第5圖示出了導出時間導出的MVP的示例。掃描所有參考圖片中所有4x4塊中的MV,以生成當前圖片的時間導出L0和L1 MVP。對於每個MV,對MV進行縮放以獲得當前圖片中的交叉塊(crossed block),然後計算縮放後的MVP並將其分配給交叉塊。
雙邊匹配合併模式和模板匹配合併模式均由兩階段匹配組成:第一階段是預測單元級別(PU級別)匹配,第二階段是子PU級別匹配。在PU級別匹配中,分別選擇L0和L1中的多個初始MV。這些MV包括來自合併候選(即,諸如在HEVC標準中指定的常規合併候選)的MV和來自時間導出的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,其中子PU的深度(例如3)在序列參數集(SPS)中用4×4採樣的最小的子PU大小來發信。為每個子PU選擇列表O和列表1中的幾個起始MV,包括PU級別導出的MV對、零MV、當前子PU和右下塊的HEVC並置TMVP、當前子PU的時間導出的MVP,以及左右PU或子PU的MV。通過在PU級別搜索中使用類似的機制,可以為每個子PU選擇最佳的MV對。然後執行菱形搜索以精化最佳MV對。然後,對每個子PU執行運動補償,以為每個子PU生成預測子。
對於如第3圖所示的雙邊匹配合併模式,基於兩個參考圖片Ref 0和Ref 1導出當前圖片中當前塊310的運動資訊。當從合併模式導出的運動向量是指向距當前圖片相等距離(即時間距離TD0=TD1)的兩個參考圖片雙向預測時,應用雙向匹配(bilateral match)。通過在兩個不同的參考圖片Ref 0和Ref 1中沿著當前塊的運動軌跡340搜索兩個塊320和330之間的最佳匹配,來得出當前塊310的運動資訊。在連續運動軌跡的假設下,指向兩個參考塊的與Ref 0相關聯的運動向量MV0和與Ref 1相關聯的MV1應與當前圖片與兩個參考圖片Ref 0和Ref 1之間的時間距離TD0和TD1成比例。
第4圖示出了模板匹配合併模式的示例。當前塊的上方四行(row)和左四列的重構像素用於形成模板,例如,當前圖片中當前塊410的兩個相鄰區域420a和420b用作模板。執行模板匹配以找到具有其相應MV的最佳匹配模板,例如,在參考圖片Ref 0中找到具有其對應運動向量的最佳匹配模板430a和430b。在兩個在階段匹配的PU級別匹配中,選擇列表0和列表1中的幾個起始MV,例如來自合併候選的MV和來自時間導出的MVP的MV。為兩個列表生成了兩個不同的起始MV集。對於一個列表中的每個MV,將計算帶有MV的模板的SAD成本。SAD成本最低的MV是最好的MV。然後執行菱形搜索以以1/8像素的精化精度精化最佳MV,並將精化搜索範圍限制在±8像素以內。最終MV是PU級別導出的MV。列表0和列表1中的MV是獨立生成的。對於子PU級別搜索,當前PU被劃分為子PU。對於左側或頂部PU邊界處的每個子PU,選擇列表0和列表1中的幾個起始MV,並通過在PU級別搜索中使用類似的機制,用於左側或頂部PU邊界處每個子PU的最佳MV對被選中。進行菱形搜索以精化MV對。執行運動補償以根據精化的MV對為每個子PU生成預測子。對於不在左側或頂部PU邊界處的那些PU,不應用子PU級別搜索,並且將對應的MV設置為等於第一階段中的MV。儘管第4圖示出了列表0參考圖片(Ref 0),但是列表1參考圖片(Ref 1)也可以用作模板匹配搜索的參考圖片。
在該解碼器MV推導方法中,模板匹配還用於生成用於高級運動向量預測(AMVP)模式編碼的MVP。執行模板匹配以在所選參考圖片上找到最佳模板,並且其對應的MV是導出的MVP。然後,將得出的MVP插入到AMVP候選集中的第一位置。
PMVD不限於以上描述,使用基於模式的PMVD行為的精化的任何幀間模式(inter mode)工具也可以表示為PMVD或FRUC模式。PMVD模式的一個實施例向解碼器發信PMVD合併索引,以指示選擇了哪個合併候選進行MV精化,而在其他實施例中,解碼器嘗試所有合併候選找到最佳的起始MV。在一個實施例中,在用於PMVD編解碼工具中的模板匹配中,跳過用於子PU精化的步驟,但是,在用於PMVD編解碼工具中的雙邊匹配中,執行用於子PU精化的步驟。在PMVD模式的另一個實施例中,也沒有為雙邊匹配執行子PU精化,也就是說,對於PMVD編解碼工具中的雙邊和模板匹配,僅執行了PU級別匹配的第一階段。
基於雙邊的 DMVR DMVR的實現用基於PMVD雙邊匹配模式的雙邊匹配方法代替了雙邊模板生成。2018年7月10日至18日,SI盧布爾雅那的ITU-T SG 16 WP3和ISO / IEC JTC 1 / SC 29 / WG 11聯合視訊專家組(JVET)第11次會議提出的JVET-K0217文件描述了基於雙邊DMVR的示例。在另一個文件JVET-M0029中,基於雙邊的DMVR被進一步簡化以降低所需的計算複雜度。一種簡化是使用基於塊的精化而不是基於CU的精化。將大小等於MxN個樣本的CU分為幾個大小等於min(M,16)x min(N,16)的單元,其中min(x,y)表示x和y之間的最小值。CU中的每個單元均獨立精化,並且精化搜索範圍在±1像素以內。
雙向光流 Bi-Directional Optical Flow 簡寫為 BDOF 雙向光流(BDOF)通過假設光流和物體的穩定運動來實現樣本級(sample-level)精化。BDOF僅應用於真正的雙向預測塊,其中真正的雙向預測塊是從兩個參考圖片預測的當前圖片中的塊,一個參考圖片是前一圖片,另一個參考圖片是後一圖片。通過混合從列表0的參考圖片檢索的一個列表0預測子和從列表1的參考圖片檢索的一個列表1預測子,可以得出雙向預測塊的預測子。第6圖示出了應用BDOF雙向切片(B切片)中雙向預測塊中的一個特定樣本進行精化的示例,其中該樣本由兩個參考圖片(參考0和參考1)中的相應像素預測。BDOF使用5x5窗口得出用於每個樣本的精化度(refinement),因此對於每個NxN塊,需要運動補償結果和(N + 4)x(N + 4)塊的相應梯度資訊,以得出基於樣本的精化效果。在BDOF中,使用6抽頭梯度濾波器和6抽頭插值濾波器生成梯度資訊。BDOF的計算複雜度遠高於傳統的雙向預測的計算複雜度。
在HEVC標準支持的傳統雙向預測中,幀間預測子是根據等式1中所示的公式生成的,其中P 0 和P 1 分別對應於列表0和列表1預測子。
Figure 02_image001
等式 1
由BDOF生成的幀間預測子如公式2所示,其中Ix 0 和Ix 1 分別表示列表0和列表1預測子中的x方向梯度,以及Iy 0 和Iy 1 分別代表列表0和列表1預測子中的y方向梯度。x方向和y方向上的偏移(offset)分別為vx 和vy ,這些偏移用於精化幀間預測子的樣本,如第6圖所示。
Figure 02_image003
等式 2
可以基於插值結果直接導出x方向和y方向的梯度,或者可以使用另一組梯度濾波器和插值濾波器來計算這些梯度。在每個梯度的推導過程中,還引入了一個額外的移位(shift),稱為梯度移位,以對梯度值進行標準化。偏移vx 和vy 的推導過程如下所示。首先,定義成本函數diffCost(x,y)來搜索偏移vx 和vy 的最佳值。偏移vx 和vy 的最佳值將成本函數diffCost(x,y)最小化,如公式3所示,並且使用一個5x5窗口來導出精化。可以通過使用參數S1 、S2 、S3 、S5 和S6 來表示偏移vx 和vy 的解,如公式4所示。
Figure 02_image005
等式 3
Figure 02_image007
等式 4
可以根據等式5進一步簡化用於計算偏移Vx 和Vy 的公式。
Figure 02_image009
等式 5
在基於塊的BDOF操作中,導出的偏移量Vx 和Vy 為一個塊中的所有樣本共享,並且每個塊的大小為4x4樣本。為了降低BDOF操作的計算複雜度,採用了兩個提前終止(early termination)過程。首先計算CU的兩個預測子之間的絕對差之和(SAD),一個預測子來自L0,另一個預測子來自L1,如果兩個預測子之間的SAD小於一個閾值,則由於這兩個預測子足夠好,將跳過BDOF操作。否則,將BDOF操作應用於CU。當將BDOF操作應用於當前CU時,根據每個4×4塊的兩個預測子之間的SAD,將BDOF操作選擇性地應用於每個4×4塊。當當前4x4塊中兩個預測子之間的SAD小於閾值時,將跳過BDOF操作。
視訊編解碼系統中的視訊處理的示例性方法執行雙向運動補償以對視訊塊進行編碼或解碼。示例性視訊處理方法接收與當前圖片中的當前塊相關聯的輸入視訊資料,並通過從列表0中的參考圖片執行運動補償來確定用於當前塊的列表0參考塊,通過從列表1中的參考圖片執行運動補償來確定用於當前塊的列表1參考塊。使用運動估計搜索通過運動向量精化對列表0和列表1參考塊進行精化,以找到與列表0和列表1參考塊周圍最小運動估計成本相對應的位置。運動估計搜索中的成本計算是在當前塊中的每個處理單元上執行的。例如,每個處理單元的寬度等於當前塊寬度的最小值和16,並且每個處理單元的高度等於當前塊高度的最小值和16。示例性視訊處理方法還確定是否BDOF操作根據當前塊中每個處理單元的精化的列表0和列表1參考塊的成本而提前終止。BDOF提前終止中用於成本計算的處理單元與運動向量精化中用於成本計算的處理單元對齊。根據成本跳過或執行BDOF操作。BDOF操作藉由導出BDOF參數以通過光流進行基於樣本的精化進一步精化精化的列表0和列表1參考塊。根據改進的列表0和列表1參考塊來導出用於當前塊的最終幀間預測子,以對當前塊進行編碼或解碼。
最小運動估計成本的一個示例由SAD計算,並且用於確定是否提前終止BDOF操作的成本的示例也由SAD計算。在本發明的一個實施例中,如果沒有根據處理單元的成本提前終止BDOF操作,則示例性視訊處理方法還對處理單元中的每個4×4塊執行BDOF的第二提前終止處理。BDOF的第二提前終止過程根據每個4×4塊的兩個預測子之間的成本來確定是否終止每個4×4塊的BDOF操作。
在視訊處理方法的示例性實施例中,在運動向量精化中使用了子採樣,但是未將子採樣應用於確定是否提前終止BDOF操作的成本計算。在該實施例中,可以將運動向量精化中計算出的成本乘以一個因子,並用於確定BDOF操作是否提前終止。
在視訊處理方法的另一示例性實施例中,在運動向量精化中使用子採樣,並且相同的子採樣也應用於成本計算以確定是否提前終止BDOF操作。在該實施例中,在運動向量精化中計算的成本被直接重新使用以確定BDOF操作是否提前終止。
在一些實施例中,在運動向量精化中計算的成本被用於導出用於根據比率確定BDOF操作是否提前終止的成本,並且該比率取決於運動向量精化和BDOF操作中成本函數中信號的位元深度。
在一些實施例中,示例性視訊處理方法還包括:針對當前塊,在運動向量精化之前和運動向量精化之後確定運動向量差;以及根據運動向量差,對當前塊禁用BDOF操作。在一個實施例中,如果運動向量差大於閾值,則針對當前塊禁用BDOF操作。閾值的一些示例是一個預定值,或在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別顯式發信。在一些實施例中,閾值取決於一個編解碼標準中的編解碼單元(CU)大小、CU形狀、搜索範圍、兩個參考圖片之間的時間距離、合併索引、視訊解析度以及配置文件或級別之一或其組合。通過一維或二維之和來計算運動向量差。在另一實施例中,如果運動向量差小於閾值,則針對當前塊禁用BDOF操作。
在一些實施例中,運動估計搜索包括整數運動估計搜索和分數運動估計搜索,並且分數運動估計搜索可以根據由整數運動估算搜索精化運動之前和之後的運動向量差而被自適應地禁用。根據一個實施例,如果運動向量差大於閾值,則針對當前塊禁用分數運動估計搜索。閾值是預定義的值,或在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別被顯式地發信。該閾值可以取決於CU尺寸、CU形狀、搜索範圍、兩個參考圖片之間的時間距離、合併索引、視訊解析度以及一個編解碼標準中的配置文件或級別之一或組合。通過一維或二維之和計算運動向量差。根據另一實施例,如果運動向量差小於閾值,則針對當前塊禁用分數運動估計搜索。
本公開的各方面還提供了用於在視訊編解碼系統中處理視訊資料的裝置的實施例。該裝置的實施例包括一個或多個電子電路,該電子電路被配置為接收當前圖片中的當前塊的輸入資料,通過執行運動補償來確定當前塊的列表0參考塊和列表1參考塊,執行運動向量精化和BDOF操作以精化列表0和列表1參考塊,根據精化的列表0和列表1參考塊,得出用於對當前塊進行編碼或解碼的最終幀間預測子。根據各個實施例,用於運動向量精化和BDOF提前終止中的成本計算或成本函數的處理單元被統一,或者根據一些實施例,BDOF早期終止重用了運動向量精化的成本。
本公開的各方面還提供了一種非揮發性計算機可讀介質,其存儲用於使裝置的處理電路執行視訊處理方法以在雙向預測中對已編解碼或要編解碼的當前塊進行編碼或解碼的程式指令。
通過閱讀下面對具體實施例的描述,本發明的其他方面和特徵對於所屬領域具有通常知識者將變得顯而易見。
將容易地理解,如本文的附圖中總體上描述和圖示的,本發明的部件可以以各種不同的配置來佈置和設計。因此,如附圖所示,對​​本發明的系統和方法的實施例的以下更詳細的描述並非旨在限制所要求保護的本發明的範圍,而僅僅是本發明的選定實施例的代表 。在本公開中,描述了用於使用運動精化編解碼工具來處理雙向預測塊的系統和方法,其中方法的每一個或組合可以在視訊編碼器或視訊解碼器中實現。分別在第12圖和第13圖中示出了實現一種或多種方法的組合的示例性視訊編碼器和解碼器。本公開中的各種實施例降低了實現運動精化編解碼工具的計算複雜度。本文所述的系統和方法按以下部分組織。“ DMVR和BDOF提前終止中的對齊處理單元”部分演示了在DMVR和BDOF操作中使用相同處理單元大小進行成本計算的示例方法。“DMVR和BDOF提前終止中的統一成本函數”部分描述了在DMVR和BDOF操作中使用相同成本函數的示例性實施例。“在BDOF提前終止中重用DMVR的成本”部分描述了在BDOF提前終止中重用DMVR計算的成本的示例性方法。“根據精化前後的MV差禁用BDOF操作”和“根據精化前後的MV差禁用分數運動精化”部分描述了根據DMVR精化前後的MV差,在DMVR操作中自適應禁用BDOF操作或分數運動估計搜索的實施例。“示例性實施例的代表性流程圖”部分利用流程圖總結了用於實現本發明的一些實施例的步驟。“視訊編碼器和解碼器實現”部分與第12圖和第13圖一起示出了實施上述視訊處理方法之一或其組合的視訊編碼系統和視訊解碼系統。
可以同時啟用DMVR和BDOF以改善編解碼性能,並且當同時啟用DMVR和BDOF編解碼工具時,首先應用DMVR為每個子塊導出最終的運動向量,然後由BDOF來精化最終的向量預測子。為了降低使用DMVR和BDOF編解碼工具進行雙向預測的計算複雜性,以下段落中介紹了各種視訊處理方法。
DMVR和BDOF提前終止中的對齊處理單元 對於大小等於MxN個樣本的當前編解碼單元(CU),在DMVR的整數MV搜索階段中用於成本計算的處理單元是M和16之間的最小值以及N和16之間的最小值的乘積(product)。例如,當當前CU的寬度和高度都大於或等於16個樣本時,在DMVR的整數MV搜索階段中操作的處理單元為16×16個樣本。當當前CU的寬度是8個樣本並且當前CU的高度等於或大於16時,在DMVR的整數MV搜索階段中操作的處理單元是8×16個樣本。類似地,當當前CU的寬度等於或大於16且當前CU的高度為8個樣本時,處理單元是16×8個樣本。如果當前CU的寬度和高度均小於或等於16個樣本,則處理單元具有與當前CU相同的尺寸。傳統BDOF操作的兩個提前終止處理的處理單元是一個CU和一個4x4塊。在BDOF的第一提前終止過程中,計算當前CU的兩個預測子之間的成本,並且根據計算出的成本終止當前CU的BDOF過程。在BDOF的第二提前終止過程中,計算當前4x4塊的兩個預測子之間的成本,並且根據當前4x4塊的兩個預測子之間的成本終止當前4x4塊的BDOF過程。例如,通過絕對差總和(SAD)計算成本。在本發明的某些實施例中,用於在BDOF的第一提前終止過程中計算成本的處理單元與DMVR中的處理單元相同。一個實施例還消除了在每個4x4塊上應用的BDOF的第二提前終止過程,因為BDOF的第一提前終止中處理單元的最大大小為16x16樣本。在另一實施例中,通過計算每個4×4塊的兩個預測子之間的成本,仍將BDOF的第二提前終止過程應用於當前CU中的每個4×4塊。
第7圖示出了在用於MV精化的幀間預測中採用常規DMVR和BDOF操作的示例性處理流程。DMVR操作包括步驟702、704和706,而BDOF操作包括步驟708、710和712。在步驟702中,應用雙線性插值以生成雙向預測編解碼的當前CU的雙邊模板。在步驟704,通過找到每個處理單元具有最小ME成本的位置,對當前CU中的每個處理單元執行整數運動估計(ME)搜索。在第7圖所示的示例中,ME成本由SAD計算,但是,ME成本可以由其他算法計算。在步驟704中用於執行整數運動估計搜索的處理單元是min(CuW,16)×min(CuH,16),其中CuW是當前CU的寬度,CuH是當前CU的高度。在步驟704,在整數運動估計搜索中使用子採樣。在步驟706,執行分數運動估計搜索以找到最小ME成本的位置。L0中的最小ME成本的最終位置分配給L0的精化MV,L1中的最小ME成本的最終位置分配給L1的精化MV,並且由L0的精化MV和L1的精化MV指向的參考模塊是DMVR操作的最終參考模塊。在步驟708中,將8抽頭插值濾波器應用於當前CU。在步驟710中,兩級提前終止包括第一和第二提前終止過程,其中在第一提前終止過程中用於成本計算的處理單元是CU,並且在第二提前終止過程中用於成本計算的處理單元是4×4樣本。根據當前CU的兩個預測子之間的成本(例如SAD)將第一提前終止過程選擇性地應用於當前CU,根據4x4塊的兩個預測子之間的成本(例如SAD)將第二提前終止過程選擇性地應用於當前CU中的每個4x4塊。在BDOF的兩個提前終止過程中,子採樣(subsampling)不適用於成本計算。在步驟712中,如果在步驟S710中沒有終止BDOF操作,則導出BDOF參數,並且根據BDOF參數來精化預測子。
第8圖示出了根據本發明的採用統一處理單元的實施例的在用於MV精化的幀間預測中同時使用DMVR和BDOF操作的示例性處理流程。步驟802、804和806中所示的DMVR操作與第7圖中的步驟702、704和706相同。第8圖中的BDOF操作的步驟808也與第7圖中的BDOF操作的步驟708相同。根據該實施例,第7圖中的步驟710中的兩個提前終止過程被步驟810中的一個提前終止過程代替。在步驟810中用於計算用於決定是否提前終止BDOF操作的成本的處理單元與在步驟804中用於DMVR操作的整數ME搜索的處理單元一致。例如,該處理單元等於CU寬度(cuW)和16的最小值乘以CU高度(cuH)和16的最小值。在該實施例中,在DMVR操作中使用子採樣,並且在BDOF提前終止中不應用子採樣。當在步驟810中BDOF操作未提前終止時,在步驟812中通過導出BDOF參數並精化當前CU的預測子來執行BDOF操作。
統一DMVR和BDOF提前終止中的成本函數 在一些實施例中,不僅DMVR中的成本計算處理單元與BDOF提前終止過程中的成本計算處理單元相同,DMVR中的DMVR整數ME搜索的成本函數也與BDOF提前終止過程的成本函數相同。第9圖示出了根據本發明的實施例的採用統一成本函數的在用於MV精化的幀間預測中採用DMVR和BDOF操作兩者的示例性處理流程。除了步驟910之外,第9圖中的所有步驟與第8圖中的對應步驟相同。在步驟910中,用於計算用於確定BDOF操作是否提前終止的SAD的處理單元的大小與用於計算用於DMVR整數ME搜索的SAD的處理單元的大小相同。在步驟910中,還將子採樣應用於BDOF提前終止過程,該過程與DMVR操作中的整數ME搜索一致。
在BDOF提前終止中重用DMVR的成本 在本發明的一些實施例中,在DMVR操作和BDOF提前終止過程中使用了相同的成本函數,在DMVR操作中計算的成本可以在BDOF提前終止過程直接重用。在DMVR操作中,通過比較不同候選之間的成本(例如,SAD)來選擇最終運動向量。在一個實施例中,當在DMVR操作和BDOF提前終止過程中計算一個處理單元的SAD時,利用二分子採樣(subsampling by two)。在BDOF操作中,需要一個處理單元的SAD用於提前終止決策,並且由於使用了相同的成本函數,因此可以將計算出的DMVR成本直接用於BDOF提前終止過程中。當同時應用DMVR和BDOF操作時,重用DMVR整數ME搜索過程中計算出的SAD 以進行BDOF操作中的提前終止。當僅應用BDOF操作時,將為BDOF操作中的提前終止過程計算SAD。由於DMVR操作和BDOF提前終止過程的成本函數相同,因此僅定義一個閾值。在一個實施例中,DMVR操作和BDOF提前終止過程中的成本函數可以不同,但​​是可以使用映射函數將DMVR操作中計算出的成本映射到BDOF提前終止中使用的成本。可以將在DMVR操作中為整數ME搜索計算的成本乘以一個因子,然後在BDOF提前終止過程中重新使用。例如,在DMVR操作中使用二分子採樣,而在BDOF提前終止過程中不進行子採樣。DMVR操作中計算出的成本將增加一倍,然後用於BDOF提前終止過程。在另一個實施例中,DMVR操作和BDOF提前終止的成本之比取決於DMVR和BDOF操作的成本函數中信號的位元深度。例如,由於雙線性插值濾波器和歸一化,DMVR操作中成本函數中信號的位元深度為10位元,而BDOF提前終止過程中信號的位元深度為14位元,因此確定成本比例時,應考慮10位元和14位元之間的差異。
第10圖示出了根據本發明實施例的在用於MV精化的幀間預測中採用DMVR和BDOF操作兩者的示例性處理流程,其由BDOF操作重用了在DMVR操作中計算出的成本。第10圖中的步驟1002、1006、1008和1012與第7圖中的步驟702、706、708和712相同。在步驟1004中DMVR操作中為整數ME搜索過程計算的成本可直接由在步驟1010中BDOF操作中的提前終止過程重用。因此,BDOF操作的計算複雜度大大降低了。
根據精化前後的MV差禁用BDOF操作 為了降低啟用DMVR和BDOF的計算複雜度,本發明的一些實施例根據精化前後的MV差來禁用BDOF操作。當精化之前和精化之後的MV差相對較大時,這表明通過MV精化的運動向量的變化是顯著的,因此精化的運動向量不是那麼精確。在一個實施例中,當精化之前和之後的MV差相對較大時,禁用BDOF操作,這是因為BDOF操作用於基於可信賴的運動向量來進行小的精化。在一個實施例中,當精化前後的MV差大於一個閾值時,禁用BDOF操作。閾值的示例是一個預定義值,或者在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別被顯式發信。如果閾值是預定義的,則它可以是固定值,或者取決於一個編解碼標準中的CU大小、CU形狀、搜索範圍、兩個參考圖片之間的時間距離、合併索引、視訊解析度以及配置文件或級別中的一種或其組合。MV差可以是一維或二維之和。例如,如果水平方向和垂直方向上的MV差中的至少一個大於閾值,則禁用BDOF操作。在另一示例中,如果水平方向和垂直方向上的MV差之和大於一個閾值,則禁用BDOF操作。在一些實施例中,當精化之前和精化之後的MV差小於一個閾值時,禁用BDOF操作。在一個實施例中,當精化之前和精化之後的MV差大於第一閾值或小於第二閾值時,禁用BDOF操作。
根據在精化之前和之後的MV差,禁用分數運動精化 本發明的一些實施例根據在整數運動精化之前和在整數運動精化之後的MV差,自適應地禁用DMVR的分數運動精化,以降低啟用DMVR和BDOF兩者的計算複雜度。在整數運動估計搜索的精化之前和精化之後,MV差很小,表明運動變化很小;在這種情況下,由於由BDOF操作執行的精化就足夠了,因此實施例跳過了DMVR的分數運動精化。根據一個實施例,通過與閾值進行比較來判斷精化前後的MV差是小還是大,並且該閾值是預定義的值,或者該閾值在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別的方式明確地發信。在預定義閾值的情況下,它是一個固定值,或者取決於一種編解碼標準中CU大小、CU形狀、搜索範圍、兩張參考圖片之間的時間距離、合併索引、視訊解析度以及配置文件或級別之一或組合。根據各種實施例,MV差對應於一維或二維之和。例如,如果水平方向和垂直方向上的MV差之一小於一個閾值,則禁用DMVR的分數運動精化。在另一示例中,如果水平方向和垂直方向上的MV差之和小於一個閾值,則禁用DMVR中的分數運動精化。在一些其他實施例中,當在整數運動估計搜索的精化之前和精化之後的MV差大於閾值時,禁用DMVR操作中的分數運動精化。在一個實施例中,當整數運動精化之前和整數運動精化之後的MV差大於第一閾值或小於第二閾值時,禁用DMVR操作中的分數運動精化。
示例性實施例的代表性流程圖 第11圖示出了根據本發明示例性實施例的通過雙向預測對當前塊進行編碼或解碼的視訊處理方法的流程圖。視訊編碼系統或視訊解碼系統在步驟S1102中接收與在雙向預測中已編解碼或將要編解碼的當前塊相關聯的輸入資料。在步驟S1104中,通過分別從列表0中的參考圖片和列表1中的參考圖片執行運動補償來確定當前塊的列表0和列表1參考塊。在步驟S1106中,通過運動估計搜索來執行解碼器運動向量精化操作以精化列表0和列表1參考塊。對當前塊中的每個處理單元執行解碼器運動向量精化操作的運動估計搜索。運動估計搜索可以包括整數運動估計搜索和分數運動估計搜索。在步驟S1108中,視訊編碼或解碼系統根據當前塊中每個處理單元的精化的列表0和列表1參考塊的成本,確定雙向光流(BDOF)操作是否提前終止。在步驟S1108中的BDOF提前終止中用於成本計算的處理單元與在步驟S1106中的解碼器運動向量精化操作中用於成本計算的處理單元對準。如果在步驟S1108中視訊編碼或解碼系統確定BDOF操作提前終止,則跳過BDOF操作。如果在步驟S1108中BDOF操作沒有提前終止,則在步驟S1110中,視訊編碼或解碼系統通過導出BDOF參數來執行BDOF操作,以進一步精化精化的列表0和列表1參考塊。BDOF操作通過光流得出基於樣本的精化。在步驟S1112中,根據精化的列表0和列表1參考塊,導出當前塊的最終幀間預測子。在步驟S1114中,視訊編碼或解碼系統根據當前塊的最終幀間預測子對當前塊進行編碼或解碼。在一個實施例中,在解碼器運動向量精化操作和BDOF提前終止中使用的成本函數被進一步統一。在一些實施例中,在解碼器運動向量精化操作的運動估計搜索中計算的成本被重新用於確定BDOF操作是否提前終止。編碼或解碼系統可以在精化之前和之後導出運動向量差,以自適應地禁用BDOF操作步驟S1110或在步驟S1106中的解碼器運動向量精化操作中的分數運動估計搜索。
視訊編碼器和解碼器的實現 可以在視訊編碼器或解碼器中實現前述的視訊編解碼方法。例如,在編碼器的預測子導出模塊和/或解碼器的預測子導出模塊中實現了所提出的視訊處理方法。在另一示例中,在編碼器的運動補償模塊和/或解碼器的運動補償模塊中實現了提出的視訊處理方法。可替代地,任何提出的方法可以被實現為與編碼器的預測子推導或運動補償模塊和/或解碼器的預測子推導模塊或運動補償模塊耦合的電路,從而提供預測子推導模塊或運動補償模塊所需的資訊。
第12圖示出了用於實現本發明的各個實施例的視訊編碼器1200的示例性系統框圖。幀內預測模塊1210基於當前圖片的重構視訊資料來提供幀內預測子。幀間預測模塊1212執行運動估計(ME)和運動補償(MC),以基於來自其他圖片的視訊資料提供幀間預測子。根據本發明的一些實施例,為了通過雙向預測對當前塊進行編碼,幀間預測模塊1212首先通過對列表0參考圖片執行運動估計和運動補償,來確定列表0參考塊,然後通過對列表1參考圖片執行運動估計和運動補償,來確定列表1參考塊。通過找到與圍繞列表0和列表1參考塊的最小運動估計成本相對應的位置,通過運動向量精化的運動估計搜索來精化列表0和列表1參考塊。運動估計搜索中的成本計算是在當前塊中的每個處理單元上執行的。在執行BDOF操作以進一步精化列表0和列表1參考塊之前,將當前塊中每個處理單元的精化的列表0和列表1參考塊的成本用於確定BDOF操作是否提前終止。在BDOF提前終止中用於成本計算的處理單元與在運動向量精化的運動估計搜索中用於成本計算的處理單元對齊。在一些實施例中,在運動向量精化中計算的成本被重新使用以確定BDOF操作是否提前終止。如果BDOF操作沒有提前終止,則BDOF操作將自適應地應用於通過光流推導基於樣本的精化。幀間預測模塊1212根據精化的列表0和列表1參考塊來導出當前塊的最終幀間預測子。
幀內預測模塊1210或幀間預測模塊1212通過開關1214將所選的預測子提供給加法器1216以形成預測誤差,也稱為預測殘差。當前塊的預測殘差由變換模塊(T)1218,然後由量化模塊(Q)1220進一步處理。經變換和量化的殘差信號然後由熵編碼器1232編碼以形成視訊位元流。當前塊的最終幀間預測子的運動資訊也由熵編碼器1232編碼。然後,視訊位元流與輔助資訊一併打包。逆量化模塊(IQ)1222和逆變換模塊(IT)1224處理當前塊的經變換和量化的殘差信號,以恢復預測殘差。如第12圖所示,通過在重構模塊(REC)1226處將其加回到所選擇的預測子來恢復預測殘差,以產生重構的視訊資料。重構的視訊資料可以被存儲在參考圖片緩衝器(Ref.Pict.Buffer)1230中,並且被用於其他圖片的預測。從REC 1226恢復的重構視訊資料可能會由於編碼處理而遭受各種損害;因此,在存儲在參考圖片緩衝器1230中之前,將環路處理濾波器1228應用於重構的視訊資料,以進一步提高圖片品質。
在第13圖中示出了用於解碼從第12圖的視訊編碼器1200生成的視訊位元流的對應的視訊解碼器1300。視訊位元流是視訊解碼器1300的輸入,並且由熵解碼器1310解碼以解析和恢復經過變換和量化的殘差信號以及其他系統資訊。解碼器1300的解碼過程類似於編碼器1200處的重構循環,除了視訊解碼器1300僅需要幀間預測模塊1314中的運動補償預測。每個塊都由幀內預測模塊1312或幀間預測模塊1314解碼。開關1316根據解碼的模式資訊,從幀內預測模塊1312選擇幀內預測子或從幀間預測模塊1314選擇幀間預測子。為了解碼在雙向預測中編碼的當前塊,幀間預測模塊1314通過從列表0參考圖片執行運動補償來確定列表0參考塊,並且通過從列表1參考圖片執行運動補償來確定列表1參考塊。幀間預測模塊1314通過使用運動估計搜索來執行運動向量精化,以通過在列表0和列表1參考塊周圍找到具有最小運動估計成本的位置來精化列表0和列表1參考塊。對當前塊中的每個處理單元執行運動向量精化的運動估計搜索中的成本計算。雙向光流(BDOF)操作根據每個處理單元的精化列表0和列表1參考塊的成本而提前終止,其中在BDOF提前終止中用於成本計算的運算的處理單元與運動向量精化中進行成本計算的運算的處理單元對齊。根據處理單元的成本跳過或在處理單元上執行BDOF操作,並且該成本可以從針對運動向量精化而計算出的成本中推導或繼承。在一些實施例中,在運動向量精化中使用的成本函數與在BDOF提前終止中使用的成本函數統一。在一些實施例中,在運動向量精化中計算的成本被重新使用用於確定BDOF提前終止。根據精化的列表0和列表1參考塊,導出當前塊的最終幀間預測子。與當前塊相關聯的經變換和量化的殘差信號通過逆量化模塊(IQ)1320和逆變換模塊(IT)1322來恢復。通過在重構模塊(REC)1318中添加最終的幀間預測子來重構當前塊的所恢復的殘差信號,以產生重構的視訊。重構的視訊由環路處理濾波器(濾波器)1324進一步處理以生成最終的解碼視訊。如果當前解碼的圖片是按解碼順序的後續圖片的參考圖片,則當前解碼的圖片的重構視訊也存儲在參考圖片緩衝器1326中。
第12圖和第13圖中的視訊編碼器1200和視訊解碼器1300的各種組件可以由硬體組件、配置為執行存儲在記憶體中的程式指令的一個或多個處理器,或硬體和處理器的組合來實現。例如,處理器執行程式指令以控制對與當前圖片中的當前塊相關聯的輸入資料的接收。處理器配備有一個或多個處理核心。在一些示例中,處理器執行程式指令以執行編碼器1200和解碼器1300中的某些組件中的功能,並且與處理器電耦合的記憶體用於存儲程式指令,與塊的重構圖像相對應的資訊和/或編碼或解碼過程中的中間資料。在一些實施例中,記憶體包括非揮發性計算機可讀介質,例如半導體或固態記憶體隨機存取記憶體(RAM)、只讀記憶體(ROM)、硬碟、光碟或其他合適的存儲介質。記憶體也可以是上面列出的兩個或多個非揮發性計算機可讀介質的組合。如第12圖和第13圖所示,編碼器1200和解碼器1300可以在同一電子設備中實現,因此,如果在同一電子設備中實現,則編碼器1200和解碼器1300的各種功能組件可以被共享或重用。
用於以運動精化對雙向預測塊進行編碼或解碼的視訊處理方法的實施例可以在集成到視訊壓縮晶片中的電路或集成到視訊壓縮軟體中的程式代碼中實現,以執行上述處理。例如,可以在要在計算機處理器、數位信號處理器(DSP)、微處理器或現場可編程門陣列(FPGA)上執行的程式代碼中實現BDOF提前終止。這些處理器可以被配置為通過執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。
在整個說明書中對“一個實施例”、“一些實施例”或類似語言的引用意味著結合這些實施例描述的特定特徵、結構或特性可以包括在本發明的至少一個實施例中。因此,在整個說明書中各處出現的短語“在一個實施例中”或“在一些實施例中”並不一定全都指同一實施例,這些實施例可以單獨實現或與一個或多個其他實施例結合實現。此外,所描述的特徵、結構或特性可以在一個或多個實施例中以任何合適的方式組合。但是,相關領域的技術人員將認識到,可以在沒有一個或多個特定細節的情況下,或者在沒有其他具體方法、組件等的情況下實施本發明。在其他情況下,未示出或未描述公知的結構或操作的詳細描述以避免模糊本發明的方面。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其他特定形式實施。所描述的示例在所有方面僅應被認為是說明性的而非限制性的。因此,本發明的範圍由所附申請專利範圍而不是前述描述來指示。落入申請專利範圍等同含義和範圍內的所有改變均應包含在其範圍之內。
10、12:預測單元 111~115、121、122:預測子 22:雙邊模板 24、26:參考圖片 242、246、262、266:MV 244、248、264、268、310、320、330、410、420a、420b、430a、430b:塊 340、440:運動軌跡 702~712、802~812、902~912、1002~1012、S1102~S1114:步驟 1200:視訊編碼器 1210、1314:幀內預測模塊 1212、1312:幀間預測模塊 1214、1316:開關 1216:加法器 1218:變換模塊 1220:量化模塊 1222、1320:逆量化模塊 1224、1322:逆變換模塊 1226、1318:重構模塊 1230、1326:參考圖片緩衝器 1228、1324:環路處理濾波器 1232:熵編碼器 1300:視訊解碼器 1310:熵解碼器
將參考以下附圖詳細描述作為示例提出的本公開的各種實施例,其中: 第1圖圖示了用於構造HEVC標準中定義的合併候選集的空間運動候選和時間運動候選的位置。 第2圖示出了雙邊模板MV精化的概念。 第3圖示出了對當前圖片中的當前塊應用雙邊匹配以在兩個等距參考圖片中搜索參考塊的示例。 第4圖示出了對當前圖片中的當前塊應用模板匹配以搜索指向具有最佳匹配模板的參考塊的MV的示例。 第5圖示出了在基於模式的MV推導方法中時間推導的MVP的概念。 第6圖示出了應用雙向光流(BDOF)進行採樣精化的示例。 第7圖示出了在成本計算中應用DMVR和BDOF操作來精化具有不同處理單元的參考塊。 第8圖示出了根據本發明的實施例,在DMVR和BDOF操作的成本計算中,應用DMVR和BDOF操作兩者以利用統一處理單元來精化參考塊。 第9圖示出了根據本發明的實施例,在DMVR和BDOF操作中應用DMVR和BDOF操作來利用統一成本函數精化參考塊。 第10圖展示了根據本發明的實施例,通過重用成本來應用DMVR和BDOF操作來完善參考塊。 第11圖示出了用於通過雙向預測來處理當前塊的本發明的示例性實施例的流程圖。 第12圖示出了根據本發明實施例的,結合了視訊處理方法的視訊編碼系統的示例性系統框圖。 第13圖示出了根據本發明實施例的,結合了視訊處理方法的視訊解碼系統的示例性系統框圖。
702~712:步驟

Claims (21)

  1. 一種在視訊編解碼系統中通過雙向預測處理視訊資料的方法,包括: 接收與當前圖片中已通過雙向預測編解碼或將要通過雙向預測編解碼的當前塊相關聯的輸入資料; 通過從列表0中的參考圖片進行運動補償來確定該當前塊的列表0參考塊,並通過從列表1中的參考圖片進行運動補償來確定該當前塊的列表1參考塊; 使用運動估計搜索來執行運動向量精化,通過找到與該列表0參考塊周圍的最小運動估計成本相對應的位置和與該列表1參考塊周圍的最小運動估計成本相對應的位置,以精化該列表0參考塊和該列表1參考塊,其中,在該當前塊中的每個處理單元上執行用於在該運動向量細化中找到該最小估計成本的成本計算; 根據該當前塊中每個處理單元的精化後的該列表0參考塊和該列表1參考塊的成本,確定是否提前終止雙向光流操作,其中,雙向光流提前終止的成本計算的該處理單元與在該運動向量精化中進行成本計算的該處理單元對準; 如果該雙向光流操作提前終止,則跳過該雙向光流操作,或者如果該雙向光流操作沒有提前終止,則通過導出雙向光流參數以進一步精化該當前塊的已精化的該列表0參考塊和該列表1參考塊來執行該雙向光流操作,其中該雙向光流操作通過光流導出基於樣本的精化; 根據精化的該列表0參考塊和該列表1參考塊導出該當前塊的最終幀間預測子;以及 根據該當前塊的該最終幀間預測子對該當前塊進行編碼或解碼。
  2. 如請求項1所述之方法,其中用於確定是否提前終止該雙向光流操作的該成本是通過絕對差之和來計算的。
  3. 如請求項1所述之方法,其中,該當前塊的大小是M×N個樣本,並且在該運動向量精化和雙向光流提前終止中用於成本計算的該處理單元的大小是M和16之間的最小值與N到16之間的最小值的乘積。
  4. 如請求項1所述之方法,其中,還包括如果根據處理單元的該成本未提前終止該雙向光流操作,則對該處理單元中的每個4x4塊執行雙向光流的第二提前終止處理,其中,雙向光流的該第二提前終止處理根據每個4×4塊的兩個預測子之間的成本來確定是否終止每個4×4塊的該雙向光流操作。
  5. 如請求項1所述之方法,其中在該運動向量精化中使用子採樣,並且不將子採樣應用於確定是否提前終止該雙向光流操作的成本計算,其中在該運動向量精化中計算的該最小運動估計成本被乘以一個因子並用於確定該雙向光流操作是否提前終止。
  6. 如請求項1所述之方法,其中,在該運動向量精化中計算的該最小運動估計成本被直接重用,以確定該雙向光流操作是否提前終止。
  7. 如請求項1所述之方法,其中,在該運動向量精化中計算的該最小運動估計成本用於根據比率來推導用於確定該雙向光流操作是否提前終止的成本,並且該比率取決於該運動向量精化和該雙向光流操作中的成本函數中信號的位元深度。
  8. 如請求項1所述之方法,其進一步包含針對該當前塊確定在該運動向量精化之前和該運動向量精化之後的運動向量差,以及根據該運動向量差來針對該當前塊禁用該雙向光流操作。
  9. 如請求項8所述之方法,其中,如果該運動向量差大於閾值,則針對該當前塊禁用該雙向光流操作。
  10. 如請求項9所述之方法,其中,該閾值是一個預定義的值,或者在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別顯示地發信。
  11. 如請求項10所述之方法,其中,該閾值取決於一種編解碼標準中編解碼單元的大小、編解碼單元形狀、搜索範圍、兩個參考圖片之間的時間距離、合併索引、視訊解析度,以及配置文件或級別中的一個或組合。
  12. 如請求項10所述之方法,其中,該運動向量差是通過一維或二維之和計算的。
  13. 如請求項8所述之方法,其中,如果該運動向量差小於閾值,則針對該當前塊禁用該雙向光流操作。
  14. 如請求項1所述之方法,其中,該運動估計搜索包括整數運動估計搜索和分數運動估計搜索,並且根據該整數運動估計搜索的運動向量精化前後的運動向量差來自適應地禁用該分數運動估計搜索。
  15. 如請求項14所述之方法,其中,如果該運動向量差小於閾值,則針對該當前塊禁用該分數運動估計搜索。
  16. 如請求項14所述之方法,其中,該閾值是一個預定義的值,或者在視訊位元流中以序列級別、圖片級別、圖塊組級別、圖塊級別或塊級別顯示地發信。
  17. 如請求項16所述之方法,其中,該閾值取決於一種編解碼標準中編解碼單元大小、編解碼單元形狀、搜索範圍、兩個參考圖片之間的時間距離、合併索引、視訊解析度以及配置文件或級別中的一個或組合。
  18. 如申請專利範圍第14項所述之方法,其中,該運動向量差是通過一維或二維之和來計算的。
  19. 如請求項14所述之方法,其中,如果該運動向量差大於閾值,則針對該當前塊禁用該分數運動估計搜索。
  20. 一種在視訊編解碼系統中通過雙向預測處理視訊資料的裝置,該裝置包括一個或多個電子電路,配置用於: 接收與當前圖片中已通過雙向預測編解碼或將要通過雙向預測編解碼的當前塊相關聯的輸入資料; 通過執行運動補償來從列表0中的參考圖片確定該當前塊的列表0參考塊,並通過執行運動補償來從列表1中的參考圖片確定該當前塊的列表1參考塊; 使用運動估計搜索來執行運動向量精化,通過找到與該列表0參考塊周圍的最小運動估計成本相對應的位置和與該列表1參考塊周圍的最小運動估計成本相對應的位置,以精化該列表0參考塊和該列表1參考塊,其中,在該當前塊中的每個處理單元上執行用於在該運動向量細化中找到該最小估計成本的成本計算; 根據該當前塊中每個處理單元的精化後的該列表0參考塊和該列表1參考塊的成本,確定是否提前終止雙向光流操作,其中,雙向光流提前終止的成本計算的該處理單元與在該運動向量精化中進行成本計算的該處理單元對準; 如果該雙向光流操作提前終止,則跳過該雙向光流操作,或者如果該雙向光流操作沒有提前終止,則通過導出雙向光流參數以進一步精化該當前塊的已精化的該列表0參考塊和該列表1參考塊來執行該雙向光流操作,其中該雙向光流操作通過光流導出基於樣本的精化; 根據精化的該列表0參考塊和該列表1參考塊導出該當前塊的最終幀間預測子;以及 根據該當前塊的該最終幀間預測子對該當前塊進行編碼或解碼。
  21. 一種非揮發性的計算機可讀介質,存儲程式指令,使得裝置的處理電路執行用於視訊資料的雙向預測處理方法,該方法包括: 接收與當前圖片中已通過雙向預測編解碼或將要通過雙向預測編解碼的當前塊相關聯的輸入資料; 通過執行運動補償來從列表0中的參考圖片確定該當前塊的列表0參考塊,並通過執行運動補償來從列表1中的參考圖片確定該當前塊的列表1參考塊; 使用運動估計搜索來執行運動向量精化,通過找到與該列表0參考塊周圍的最小運動估計成本相對應的位置和與該列表1參考塊周圍的最小運動估計成本相對應的位置,以精化該列表0參考塊和該列表1參考塊,其中,在該當前塊中的每個處理單元上執行用於在該運動向量細化中找到該最小估計成本的成本計算; 根據該當前塊中每個處理單元的精化後的該列表0參考塊和該列表1參考塊的成本,確定是否提前終止雙向光流操作,其中,雙向光流提前終止的成本計算的該處理單元與在該運動向量精化中進行成本計算的該處理單元對準; 如果該雙向光流操作提前終止,則跳過該雙向光流操作,或者如果該雙向光流操作沒有提前終止,則通過導出雙向光流參數以進一步精化該當前塊的已精化的該列表0參考塊和該列表1參考塊來執行該雙向光流操作,其中該雙向光流操作通過光流導出基於樣本的精化; 根據精化的該列表0參考塊和該列表1參考塊導出該當前塊的最終幀間預測子;以及 根據該當前塊的該最終幀間預測子對該當前塊進行編碼或解碼。
TW109106883A 2019-03-05 2020-03-03 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置 TWI738236B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962813806P 2019-03-05 2019-03-05
US62/813,806 2019-03-05
PCT/CN2020/077430 WO2020177665A1 (en) 2019-03-05 2020-03-02 Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
WOPCT/CN2020/077430 2020-03-02

Publications (2)

Publication Number Publication Date
TW202044840A TW202044840A (zh) 2020-12-01
TWI738236B true TWI738236B (zh) 2021-09-01

Family

ID=72337627

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106883A TWI738236B (zh) 2019-03-05 2020-03-03 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置

Country Status (4)

Country Link
US (1) US11889099B2 (zh)
CN (1) CN113519160B (zh)
TW (1) TWI738236B (zh)
WO (1) WO2020177665A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112022005293A2 (pt) 2019-09-19 2022-09-20 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador
EP4018659A4 (en) 2019-09-19 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SCALE WINDOW IN VIDEO CODING
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
CN114556934A (zh) 2019-10-12 2022-05-27 北京字节跳动网络技术有限公司 视频编解码中的预测类型信令
CN114556955B (zh) * 2019-10-13 2024-04-05 北京字节跳动网络技术有限公司 参考图片重采样与视频编解码工具之间的相互作用
WO2023186040A1 (en) * 2022-03-31 2023-10-05 Mediatek Inc. Bilateral template with multipass decoder side motion vector refinement

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140355666A1 (en) * 2013-05-31 2014-12-04 Qualcomm Incorporated Advanced depth inter coding based on disparity of depth blocks
CN104661031A (zh) * 2015-02-16 2015-05-27 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
WO2018049043A1 (en) * 2016-09-07 2018-03-15 Qualcomm Incorporated Sub-pu based bi-directional motion compensation in video coding
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
WO2018166357A1 (en) * 2017-03-16 2018-09-20 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
TW201902223A (zh) * 2017-03-24 2019-01-01 聯發科技股份有限公司 視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10182240B2 (en) 2014-11-18 2019-01-15 Mediatek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
AU2016316309B2 (en) * 2015-09-02 2019-01-24 Hfi Innovation Inc. Method and apparatus of decoder side motion derivation for video coding
CN107925775A (zh) * 2015-09-02 2018-04-17 联发科技股份有限公司 基于双向预测光流技术的视频编解码的运动补偿方法及装置
WO2017133661A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
US20190082192A1 (en) * 2016-03-16 2019-03-14 Mediatek Inc. Method and apparatus of pattern-based motion vector derivation for video coding
US10757442B2 (en) * 2017-07-05 2020-08-25 Qualcomm Incorporated Partial reconstruction based template matching for motion vector derivation
TWI730380B (zh) * 2018-08-17 2021-06-11 聯發科技股份有限公司 在視訊編解碼系統中利用雙向預測處理視訊的方法、設備和可讀介質
TWI738248B (zh) * 2019-03-14 2021-09-01 聯發科技股份有限公司 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
US20220417521A1 (en) * 2021-06-25 2022-12-29 Qualcomm Incorporated Hybrid inter bi-prediction in video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140355666A1 (en) * 2013-05-31 2014-12-04 Qualcomm Incorporated Advanced depth inter coding based on disparity of depth blocks
CN104661031A (zh) * 2015-02-16 2015-05-27 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
WO2018049043A1 (en) * 2016-09-07 2018-03-15 Qualcomm Incorporated Sub-pu based bi-directional motion compensation in video coding
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
WO2018166357A1 (en) * 2017-03-16 2018-09-20 Mediatek Inc. Method and apparatus of motion refinement based on bi-directional optical flow for video coding
TW201902223A (zh) * 2017-03-24 2019-01-01 聯發科技股份有限公司 視頻編碼中重疊分塊運動補償的雙向光流的方法和裝置

Also Published As

Publication number Publication date
TW202044840A (zh) 2020-12-01
CN113519160A (zh) 2021-10-19
WO2020177665A1 (en) 2020-09-10
US11889099B2 (en) 2024-01-30
CN113519160B (zh) 2023-09-05
US20220060735A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
TWI738236B (zh) 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置
US11956462B2 (en) Video processing methods and apparatuses for sub-block motion compensation in video coding systems
CN110115032B (zh) 用于视频编解码的运动细化的方法以及装置
US11463726B2 (en) Apparatus and method for motion vector refinement for multi-reference prediction
TWI670970B (zh) 在視訊編解碼中預測子細化的候選跳過的方法和裝置
TWI702834B (zh) 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置
KR102606778B1 (ko) 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩
TWI738248B (zh) 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
CN112840645A (zh) 视频编码系统中组合多个预测子用于块预测的方法及装置
CN115086677A (zh) 运动候选推导
CN115086676A (zh) 运动候选推导
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