TW202027501A - 交織預測的快速編碼方法 - Google Patents

交織預測的快速編碼方法 Download PDF

Info

Publication number
TW202027501A
TW202027501A TW108131752A TW108131752A TW202027501A TW 202027501 A TW202027501 A TW 202027501A TW 108131752 A TW108131752 A TW 108131752A TW 108131752 A TW108131752 A TW 108131752A TW 202027501 A TW202027501 A TW 202027501A
Authority
TW
Taiwan
Prior art keywords
block
sub
prediction
blocks
video
Prior art date
Application number
TW108131752A
Other languages
English (en)
Other versions
TWI833795B (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 TW202027501A publication Critical patent/TW202027501A/zh
Application granted granted Critical
Publication of TWI833795B publication Critical patent/TWI833795B/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/537Motion estimation other than block-based
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

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

Abstract

本申請涉及一種交織預測的快速編碼方法,並描述了與視頻編碼中的基於子塊的運動預測相關的方法、系統和裝置。在一個代表性方面中,視頻處理的方法包含,使用第一中間預測塊和第二中間預測塊基於視頻塊的特性確定視頻塊的預測塊,以及使用預測塊生成視頻塊的編碼表示。通過將視頻塊細分爲子塊的第一集合生成第一中間預測塊,並且通過將視頻塊細分爲子塊的第二集合生成第二中間預測塊。第二集合中的至少一個子塊具有與第一集合中的子塊不同的尺寸。

Description

交織預測的快速編碼方法
本專利文件涉及視頻處理技術、裝置和系統。 [相關申請的交叉引用] 根據適用的專利法和/或根據巴黎公約的規則,本申請及時要求於2018年9月3日提交的國際專利申請號 PCT/CN2018/103770的優先權和權益。出於全部目的,國際專利申請號PCT/CN2018/103770的全部公開通過引用整合作爲本專利文件的公開的一部分。
運動補償(MC)是視頻處理中的技術,其用於在給定之前幀和/或未來幀的情况下,通過考慮到相機的運動和/或視頻中的對象而預測視頻中的幀。運動補償可用於視頻數據的編碼以用於視頻壓縮。
本文件公開了涉及視頻運動補償中的基於子塊的運動預測的方法、系統和裝置。
在一個代表性方面中,公開了一種視頻處理的方法。該方法包含,基於視頻塊的特性,使用第一中間預測塊和第二中間預測塊確定視頻塊的預測塊,以及使用預測塊生成視頻塊的編碼表示。通過將視頻塊細分爲子塊的第一集合生成第一中間預測塊,並且通過將視頻塊細分爲子塊的第二集合生成第二中間預測塊。第二集合中的至少一個子塊具有與第一集合中的子塊不同的尺寸。
在另一代表性方面中,公開了一種用於改善基於塊的運動預測視頻系統的頻寬使用和預測精度的方法。方法包含,選擇來自視頻幀的像素集合以形成塊,根據第一樣式將塊細分爲子塊的第一集合,基於子塊的第一集合生成第一中間預測塊,根據第二樣式將塊細分爲子塊的第二集合,基於子塊的第二集合生成第二中間預測塊,以及基於第一中間預測塊和第二中間預測塊確定預測塊。第二集合中的至少一個子塊具有與第一集合中的子塊不同的尺寸。
在另一代表性方面中,公開了一種用於改善視頻系統中的基於塊的運動預測的方法。方法包含,選擇來自視頻幀的像素集合以形成塊,基於塊的尺寸或來自空域上或時域上與塊相鄰的另一塊的信息將塊細分爲多個子塊,以及通過將編碼算法應用到多個子塊生成運動向量預測。多個子塊中的至少一個子塊具有與其他子塊不同的尺寸。
在另一代表性方面中,公開了一種包括處理器和其上具有指令的非暫態儲存器的設備。由處理器執行指令時,使處理器選擇來自視頻幀的像素集合以形成塊,根據第一樣式將塊細分爲子塊的第一集合,基於子塊的第一集合生成第一中間預測塊,根據第二樣式將塊細分爲子塊的第二集合,其中第二集合中的至少一個子塊具有與第一集合中的子塊不同的尺寸,基於子塊的第二集合生成第二中間預測塊,以及基於第一中間預測塊和第二中間預測塊確定預測塊。
在又一代表性方面中,本文中所描述的各種技術可以是實施爲非暫態計算機可讀介質上儲存的計算機程式産品。計算機程式産品包含用於進行本文中所描述的方法的程式代碼。
在又一代表性方面中,視頻解碼器設備可以實現如本文中所描述的方法。
以下所附附件、附圖以及說明書中提出了一個或多個實現方式的細節。其他特徵從說明書和附圖以及申請專利範圍將變得清楚。
全域運動補償是運動補償技術的多種變體之一,並且可以用於預測相機的運動。然而,在幀內運動對象未由全域運動補償的各種實現方式充分地表示。將幀細分爲像素的塊以用於進行運動預測的局部運動估計(諸如塊運動補償)可以用於考慮幀內運動的對象。
基於塊運動補償開發的基於子塊的預測首先由高效視頻編碼(HEVC)Annex I(3D-HEVC)引入到視頻編碼標準中。圖1是示出基於子塊的預測的示例的示意圖。在基於子塊的預測的情况下,塊100(諸如編碼單元(CU)或預測單元(PU))被細分爲若干不重叠的子塊101。不同的子塊可以分配不同的運動信息,諸如參考索引或運動向量(MV)。然後對於每個子塊單獨地進行運動補償。
爲了探索HEVC之外的未來視頻編碼技術,由視頻編碼專家組(VCEG)和運動圖片專家組(MPEG)於2015年聯合成立了聯合視頻探索組(JVET)。許多方法已經被JVET采用並添加到名爲聯合探索模型(JEM)的參考軟體。在JEM中,基於子塊的預測被在若干編碼技術中采用,諸如以下詳細討論的仿射預測、可選時域運動向量預測(ATMVP)、空域-時域運動向量預測(STMVP)、雙向光流(BIO),以及幀速率上轉換(FRUC)。
仿射預測
在HEVC中,僅平移運動模型被應用於運動補償預測(MCP)。然而,相機和對象可以具有許多類型的運動,例如放大/縮小、旋轉、透視運動和/或其他不常規運動。另一方面,JEM應用簡化的仿射變換運動補償預測。圖2示出了由兩個控制點運動向量V0和V1描述的塊200的仿射運動場的示例。塊200的運動向量場(MVF)可以由以下等式描述:
Figure 02_image001
等式(1)
如圖2中所示,(v0x,v0y)是左上角控制點的運動向量,並且(v1x,v1y)是右上角控制點的運動向量。爲簡化運動補償預測,可以應用基於子塊的仿射變換預測。子塊尺寸M×N如以下導出:
Figure 02_image004
等式(2)
此處,MvPre是運動向量分數精度(例如,JEM中的1/16)。(v2x,v2y)是根據等式(1)計算的左下控制點的運動向量。如果需要,則M和N可以被向下調整,以使其分別爲w和h的除數。
圖3示出了塊300的每個子塊的仿射MVF的示例。爲導出每個M×N子塊的運動向量,可以根據等式(1)計算每個子塊的中央樣本的運動向量,並且四捨五入到運動向量分數精度(例如,JEM中的1/16)。然後,可以應用運動補償插值濾波器,以用導出的運動向量生成每個子塊的預測。在MCP之後,每個子塊的高精度運動向量被四捨五入且保存爲與普通運動向量相同精度。
在JEM中,存在兩種仿射運動模式:AF_INTER模式和AF_MERGE模式。對於寬度和高度兩者都大於8的CU,可以應用AF_INTER模式。在位元流中信令通知CU級中的仿射標志,以指示是否使用AF_INTER模式。在AF_INTER模式中,使用相鄰塊建構具有運動向量對
Figure 02_image007
的候選列表。圖4示出了AF_INTER模式中的塊400的運動向量預測(MVP)的示例。如圖4中所示,從子塊A、B或C的運動向量選擇v0。來自相鄰塊的運動向量可以根據參考列表被縮放。運動向量也可以根據相鄰塊的參考的圖片順序計數(POC)、當前CU的參考的POC,以及當前CU的POC之間的關係被縮放。從相鄰子塊D和E選擇v1的方案是類似的。如果候選列表的數目小於2,則由通過複製AMVP候選中的每一個構成的運動向量對來填充該列表。當候選列表大於2時,候選可以首先根據相鄰運動向量(例如,基於一對候選中的兩個運動向量的相似度)進行分類。在一些實現方式中,前兩個候選被保留。在一些實施例中,使用速率失真(RD)成本檢查來確定將哪個運動向量對候選選擇爲當前CU的控制點運動向量預測(CPMVP)。可以在位元流中信令通知指示CPMVP在候選列表中的位置的索引。在當前仿射CU的CPMVP被確定之後,應用仿射運動估計,並且找到控制點運動向量(CPMV)。然後在位元流中信令通知CPMV與CPMVP之間的差异。
當CU在AF_MERGE模式中應用時,其從有效相鄰重構的塊得到以仿射模式編碼的第一塊。圖5A示出了當前CU 500的候選塊的選擇順序的示例。如圖5A中所示,選擇順序可以爲從當前CU 500的左(501)、上(502)、右上(503)、左下(504)至左上(505)。圖5B示出了AF_MERGE模式中的當前CU 500的候選塊的另一示例。如果相鄰左下塊501以仿射模式編碼,如圖5B中所示,則導出含有子塊501的CU的左上角、右上角和左下角的運動向量v2、v3和v4。基於v2、v3和v4計算當前CU 500上的左上角的運動向量v0。相應地計算當前CU的右上的運動向量v1。
在當前CU v0和v1的CPMV根據等式(1)中的仿射運動模型計算之後,可以生成當前CU的MVF。爲了識別當前CU是否以AF_MERGE模式編碼,當存在以仿射模式編碼的至少一個相鄰塊時,可以在位元流中信令通知仿射標志。
可選時域運動向量預測(ATMVP)
在ATMVP方法中,通過從小於當前CU的塊取回運動信息的多個集合(包含運動向量和參考索引)來修改時域運動向量預測(TMVP)方法。
圖6示出了CU 600的ATMVP運動預測過程的示例。ATMVP方法以兩個步驟預測CU 600內的子CU 601的運動向量。第一步驟是以時域向量識別參考圖片650中的對應的塊651。參考圖片650還稱爲運動源圖片。第二步驟是將當前CU 600分割爲子CU 601,並且從對應於每個子CU的塊獲取每個子CU的運動向量以及參考索引。
在第一步驟中,由當前CU 600的空域相鄰塊的運動信息確定參考圖片650和對應的塊。爲了避免相鄰塊的重複掃描過程,使用當前CU 600的MERGE候選列表中的第一MERGE候選。第一可用運動向量及其相關聯的參考索引設定爲時域向量和運動源圖片的索引。以此方式,與TMVP相比可以更準確地識別對應的塊,其中對應的塊(有時稱爲搭配塊)總是相對於當前CU在右下或中央位置。
在第二步驟中,通過將時間向量添加到當前CU的坐標中,通過運動源圖片650中的時間向量識別子CU 651的對應塊。對於每個子CU,使用其對應的塊(例如,覆蓋中央樣本的最小運動網格)的運動信息來導出子CU的運動信息。在識別對應的N×N塊的運動信息之後,以與HEVC的TMVP相同的方式將其轉換爲當前子CU的運動向量和參考索引,其中運動縮放和其他過程適用。例如,解碼器檢查是否滿足低延遲條件(例如當前圖片的全部參考圖片的POC小於當前圖片的POC),並且可能地使用運動向量MVx(例如,對應於參考圖片列表X的運動向量)來預測每個子CU的運動向量MVy(例如,X等於0或1,並且Y等於1−X)。
空域-時域運動向量預測(STMVP)
在STMVP方法中,遵循光栅掃描順序,遞迴地導出子CU的運動向量。圖7示出了具有四個子塊和相鄰塊的一個CU的示例。考慮8×8 CU 700,其包含四個 4×4 子CU,A(701)、B(702)、C(703)以及D(704)。當前幀中的相鄰4×4塊標記爲a(711)、b(712)、c(713)以及d(714)。
子CU A的運動導出開始於識別其兩個空域鄰域(neighbor)。第一鄰域是子CU A 701上方的N×N塊(塊c 713)。如果該塊c(713)不可用或是幀內編碼的,則檢查子CU A(701)上方的其他N×N塊(從左到右,從塊c 713開始)。第二鄰域是在子CU A 701左側的塊(塊b 712)。如果塊b(712)不可用或是幀內編碼的,則檢查在子CU A 701左側的其他塊(從上到下,從塊b 712開始)。對於每個列表從相鄰塊獲取的運動信息被縮放到對於給定列表的第一參考幀。接下來,通過遵循與如HEVC中所指定的TMVP相同的過程來導出子塊A 701的時域運動向量預測(TMVP)。塊D 704處的搭配塊的運動信息被相應地取回和縮放。最終,在提取和縮放運動信息之後,全部可用運動向量對於每個參考列表被分開地平均。平均的運動向量被分配爲當前子CU的運動向量。
雙向光流(BIO)
雙向光流(BIO)方法是在對雙向預測的塊方面(block-wise)運動補償之上進行的樣本方面(sample-wise)運動細化。在一些實現方式中,樣本級運動細化不使用信令通知。
使
Figure 02_image009
爲塊運動補償之後來自參考k(k=0,1)的亮度值,並且
Figure 02_image011
Figure 02_image013
分別爲
Figure 02_image009
梯度的水平和垂直分量。假設光流是有效的,運動向量場
Figure 02_image015
由以下給出:
Figure 02_image017
等式(3)
將此光流等式與用於每個樣本的運動軌迹的埃爾米特(Hermite)插值組合得到唯一的三階多項式,其匹配函數值
Figure 02_image009
和端部處的導數
Figure 02_image011
Figure 02_image013
兩者。該多項式在t=0處的值是BIO預測:
Figure 02_image020
等式(4)
圖8示出了雙向光流(BIO)方法中的示例性光流軌迹。此處,
Figure 02_image022
Figure 02_image024
指代與參考幀的距離。基於Ref0和Ref1的POC計算距離
Figure 02_image022
Figure 02_image024
:τ0=POC(當前)− POC(Ref0),τ1= POC(Ref1)− POC(當前)。如果兩個預測來自相同的時間方向(都來自過去或來自未來),則符號是不同的(例如,
Figure 02_image026
)。在此情况下,如果預測不是來自相同時刻(例如,
Figure 02_image028
),則應用BIO。兩個參考區域都具有非零運動(例如,
Figure 02_image030
),並且塊運動向量與時間距離成比例(例如,
Figure 02_image032
)。
通過最小化A點和B點中的值之間的差异
Figure 02_image035
來確定運動向量場
Figure 02_image015
。圖9A-9B示出了運動軌迹和參考幀平面的交叉的示例。對於Δ,模型僅使用局部泰勒(Taylor)展開的第一綫性項:
Figure 02_image036
等式(5)
以上等式中的全部值取决於樣本位置,指代爲
Figure 02_image039
。假設運動在局部圍繞區域中是一致的,則Δ可以在(2M+1)×(2M+1)正方形窗Ω內被最小化,正方形窗Ω以當前預測的點
Figure 02_image041
爲中心,其中M等於2:
Figure 02_image042
等式(6)
對於此最優化問題,JEM使用簡化的方案,首先在垂直方向上並且然後在水平方向上進行最小化。這得到以下:
Figure 02_image045
等式(7)
Figure 02_image048
等式(8) 其中,
Figure 02_image049
等式(9)
爲了避免除以零或很小的值,正則化參數r和m可以被引入到等式(7)和等式(8)中。
Figure 02_image052
等式(10)
Figure 02_image054
等式(11) 此處,d是視頻樣本的位深度。
爲了使如BIO的儲存器存取與常規雙向預測運動補償一樣,對當前塊內的位置計算全部預測和梯度值
Figure 02_image058
。圖9A示出了塊900之外的存取位置的示例。如圖9A中所示,在等式(9)中,預測的塊的邊界上的當前預測的點爲中心的(2M+1)×(2M+1)正方形窗Ω需要存取塊之外的位置。在JEM中,塊之外的
Figure 02_image058
的值被設定爲等於塊內的最接近可用值。例如,這可以實現爲填充區域901,如圖9B中所示。
使用BIO,可以將運動場對於每個樣本細化。爲了降低計算複雜度,在JEM中使用基於塊的設計的BIO。可以基於4×4塊計算運動細化。在基於塊的BIO中,4×4塊中的全部樣本的等式(9)中的sn的值可以被聚集,並且然後sn的聚集的值被用於導出4×4塊的BIO運動向量偏移。更具體地,以下公式可以用於基於塊的BIO導出:
Figure 02_image061
等式(12)
此處,bk指代屬於預測的塊的第k個4×4塊的樣本的集合。等式(7)和等式(8)中的sn被((sn,bk)>> 4 )取代,以導出相關聯的運動向量偏移。
在一些情形下,由於噪聲或不常規運動,BIO的MV團(regiment)可能是不可靠的。因此,在BIO中,MV團的大小被修剪到閾值。閾值是基於當前圖片的參考圖片是否全部來自一個方向而確定的。例如,如果當前圖片的全部參考圖片來自一個方向,則閾值的值設定爲
Figure 02_image064
;否則,將其設定爲
Figure 02_image066
可以在與運動補償插值的同時使用與HEVC運動補償過程(例如,2D可分離有限脉衝響應(FIR))一致的操作計算BIO的梯度。在一些實施例中,2D可分離FIR的輸入是與運動補償過程和根據塊運動向量的分數部分的分數位置(fracX,fracY)相同的參考幀樣本。對於水平梯度
Figure 02_image068
,首先使用BIOfilterS對信號進行垂直地插值,其對應於具有去縮放位移d−8的分數位置fracY。然後將梯度濾波器BIOfilterG應用於對應於具有去縮放位移18−d的分數位置fracX的水平方向上。對於垂直梯度
Figure 02_image070
,對應於具有去縮放位移d−8的分數位置fracY,使用BIOfilterG垂直地應用梯度濾波器。然後對應於具有去縮放位移18−d的分數位置fracX,在水平方向使用BIOfilterS進行信號置換。梯度計算的插值濾波器的長度BIOfilterG和信號置換BIOfilterF可以更短(例如,6-tap),以便保持合理的複雜度。表1示出了可以用於BIO中的塊運動向量的不同分數位置的梯度計算的示例性濾波器。表2示出了可以用於BIO中的預測信號生成的示例性插值濾波器。
表1:BIO中的梯度計算的示例性濾波器
分數像素位置 梯度的插值濾波器(BIOfilterG)
0 {  8,  −39,    −3, 46, −17,    5}
1/16 {  8,  −32,    −13,    50, −18,    5}
1/8 {  7,  −27,    −20,    54, −19,    5}
3/16 {  6,  −21,    −29,    57, −18,    5}
1/4 {  4,  −17,    −36,    60, −15,    4}
5/16 {  3,  −9, −44,    61, −15,    4}
3/8 {  1,  −4, −48,    61, −13,    3}
7/16 {  0,  1,   −54,    60, −9, 2}
1/2 {  −1,     4,   −57,    57, −4, 1}
表2:BIO中的預測信號生成的示例性插值濾波器
分數像素位置 預測信號的插值濾波器(BIOfilterS)
0 {  0,  0,   64, 0,   0,   0}
1/16 {  1,  −3, 64, 4,   −2, 0}
1/8 {  1,  −6, 62, 9,   −3, 1}
3/16 {  2,  −8, 60, 14, −5, 1}
1/4 {  2,  −9, 57, 19, −7, 2}
5/16 {  3,  −10,    53, 24, −8, 2}
3/8 {  3,  −11,    50, 29, −9, 2}
7/16 {  3,  −11,    44, 35, −10,    3}
1/2 {  3,  −10,    35, 44, −11,    3}
在JEM中,當兩個預測來自不同參考圖片時,BIO可以應用於全部雙向預測塊。當局部照明補償(LIC)對CU啓用時,BIO可以被禁用。
在一些實施例中,在普通MC過程之後,對塊應用OBMC。爲了降低計算複雜度,在OBMC過程期間可以不應用BIO。這意味著在OBMC過程期間,當使用其自身的MV時,在塊的MC過程中應用BIO,並且當使用相鄰塊的MV時,在MC過程中不應用BIO。
幀速率上轉換(FRUC)
當CU的Merge標志爲真時,可以向該CU信令通知FRUC標志。當FRUC標志爲僞時,Merge索引可以被信令通知,並且使用常規 Merge模式。當FRUC標志爲真時,附加FRUC模式標志可以被信令通知,以指示要使用哪種方法(例如,雙邊匹配或模板匹配)來導出塊的運動信息。
在編碼器側,是否對CU使用FRUC Merge模式的决定是基於RD成本選擇,如對普通Merge候選進行的。例如,通過使用RD成本選擇,對於CU檢查多個匹配模式(例如,雙邊匹配和模板匹配)。指向最小成本的一個被進一步與其他CU模式比較。如果FRUC匹配模式是最高效率的一個,則對CU將FRUC標志設定爲真,並且使用相關的匹配模式。
典型地,FRUC Merge模式中的運動導出過程具有兩個步驟:首先進行CU級運動搜索,然後是子CU級運動細化。在CU級,基於雙邊匹配或模板匹配,對於整個CU導出初始運動向量。首先,生成MV候選的列表,並且將指向最小匹配成本的候選選擇爲進一步CU級細化的起點。然後在起點周圍進行基於雙邊匹配或模板匹配的局部搜索。導致最小匹配成本的MV被作爲整個CU的MV。隨後,運動信息在子CU級被用導出的CU運動向量作爲起點進一步細化。
例如,對於W×H CU運動信息導出進行以下導出過程。在第一階段,導出整個W×H CU的MV。 在第二階段,CU被進一步細分爲M×M子CU。如(16)中計算M的值,D是預定分割深度,其在JEM中默認設定爲3。然後導出每個子CU的MV。
Figure 02_image072
等式(13)
圖10示出了在幀速率上轉換(FRUC)方法中使用的雙邊匹配的示例。雙邊匹配用於通過在兩個不同參考圖片(1010,1011)中沿著當前CU(1000)的運動軌迹找到兩個塊之間的最接近匹配,來導出當前CU的運動信息。在連續運動軌迹的假設下,指向兩個參考塊的運動向量MV0(1001)和MV1(1002)與當前圖片與兩個參考圖片之間的時域距離——例如,TD0(1003)和TD1(1004)成比例。在一些實施例中,當當前圖片1000在時間上在兩個參考圖片(1010,1011)之間並且從當前圖片到兩個參考圖片的時域距離相同時,雙邊匹配變爲基於雙向MV的鏡像。 圖11示出了FRUC方法中使用的模板匹配的示例。模板匹配可以用於通過找到當前圖片中的模板(例如,當前CU的上和/或左相鄰塊)與參考圖片1110中的塊(例如,與模板相同大小)之間的最接近匹配,來導出當前CU 1100的運動信息。除了上述FRUC Merge模式之外,模板匹配也可以應用於AMVP模式。在JEM和HEVC兩者中,AMVP有兩個候選。使用模板匹配方法,可以導出新的候選。如果通過模板匹配的新導出的候選與第一現有AMVP候選不同,則將其插入AMVP候選列表的最開始,並且然後將列表大小設置爲2(例如,通過移除第二現有AMVP候選)。應用於AMVP模式時,僅應用CU級搜索。
在CU級設定的MV候選可以包含以下:(1)如果當前CU處於AMVP模式,則爲原始AMVP候選,(2)全部Merge候選,(3)插值MV場(後面描述)中的的若干MV以及上和左相鄰運動向量。
當使用雙邊匹配時,Merge候選的每個有效MV可以用作輸入,以在雙邊匹配的假設下生成MV對。例如,Merge候選的一個有效MV是在參考列表A處的(MVa,refa)。然後,在其他參考列表B中找到其配對雙邊MV的參考圖片refb,使得refa和refb在時間上位於當前圖片的不同側。如果參考列表B中這樣的refb不可用,則refb被確定爲與refa不同的參考,並且其到當前圖片的時域距離是列表B中的最小的一個。在確定refb之後,基於當前圖片與refa、refb之間的時域距離,通過縮放MVa導出MVb。
在一些實現方式中,還可以將來自插值的MV場的四個MV添加到CU級候選列表。更具體地,添加當前CU的位置(0,0)、(W/2,0)、(0,H/2)和(W/2,H/2)處的插值MV。當FRUC應用於AMVP模式時,原始AMVP候選也被添加到CU級MV候選集合。在一些實現方式中,在CU級,可以將用於AMVP CU的15個MV和用於Merge CU的13個MV添加到候選列表。
在子CU級的MV候選集合包括從(1)CU級搜索確定的MV,(2)上、左、左上和右上相鄰MV,(3)來自參考圖片的搭配MV的縮放版本,(4)一個或多個ATMVP候選(例如,多至四個),以及(5)一個或多個STMVP候選(例如,多至四個)。來自參考圖片的縮放的MV如下導出。遍歷兩個列表中的參考圖片。參考圖片中的子CU的搭配位置處的MV被縮放到起始CU級MV的參考。ATMVP和STMVP候選可以是前四個。在子CU級,將一個或多個MV(例如,多至17個)添加到候選列表。
插值的MV場的生成
在對幀進行編碼之前,基於單邊ME爲整個圖片生成插值運動場。然後,運動場可以之後被用作CU級或子CU級MV候選。
在一些實施例中,兩個參考列表中的每個參考圖片的運動場在4×4塊級遍歷。圖12示出了FRUC方法中的單邊運動估計(ME)1200的示例。對於每個4×4塊,如果與塊相關聯的運動通過當前圖片中的4×4塊(如圖12所示)並且該塊尚未被分配任何插值運動,則參考塊的運動根據時間距離TD0和TD1(與HEVC中的TMVP的MV縮放的方式相同)縮放到當前圖片,並且縮放的運動被分配給當前幀中的塊。如果沒有縮放的MV被分配給4×4塊,則在插值的運動場中將塊的運動標記爲不可用。
插值和匹配成本
當運動向量指向分數樣本位置時,需要運動補償插值。爲了降低複雜度,可以將雙綫性插值代替常規8抽頭(tap)HEVC插值用於雙邊匹配和模板匹配兩者。
匹配成本的計算在不同步驟略有不同。當從CU級的候選集合中選擇候選時,匹配成本可以是雙邊匹配或模板匹配的絕對和差(SAD)。在確定起始MV之後,如下計算子CU級搜索的雙邊匹配的匹配成本C:
Figure 02_image074
等式(14)
此處,w是權重因子。在一些實施例中,w可憑經驗設置爲4。MV和MVs分別指示當前MV和起始MV。SAD仍可用作子CU級搜索的模板匹配的匹配成本。
在FRUC模式中,僅通過使用亮度樣本來導出MV。導出的運動將用於MC幀間預測的亮度和彩度兩者。在决定MV之後,使用用於亮度的8抽頭(tap)插值濾波器和用於彩度的4抽頭插值濾波器來進行最終MC。
MV細化是基於MV搜索的樣式,其具有雙邊匹配成本或模板匹配成本的標準。在JEM中,支持兩種搜索樣式——分別在CU級和子CU級用於MV細化的無限制中央偏置菱形搜索(UCBDS)和自適應交叉搜索(adaptive cross search)。對於CU和子CU級MV細化,以四分之一亮度樣本MV精度直接搜索MV,並且接著是八分之一亮度樣本MV細化。用於CU和子CU步驟的MV細化的搜索範圍被設定爲等於8個亮度樣本。
在雙邊匹配 Merge模式中,應用雙向預測,因爲CU的運動信息是基於沿兩個不同參考圖片中的當前CU的運動軌迹的兩個塊之間的最接近匹配而導出的。在模板匹配 Merge模式中,編碼器可以在對於CU的來自list0的單向預測、來自list1的單向預測或者雙向預測中選擇。選擇可以基於模板匹配成本,如下所示: 如果costBi >= factor * min(cost0,cost1) 則使用雙向預測; 否則,如果cost0 >= cost1 則使用來自list0的單向預測; 否則, 使用來自list1的單向預測;
此處,cost0是list0模板匹配的SAD,cost1是list1模板匹配的SAD,並且costBi是雙向預測模板匹配的SAD。例如,當因數(factor)的值等於1.25時,這意味著選擇過程偏向於雙向預測。幀間預測方向選擇可以應用於CU級模板匹配過程。
當子塊的尺寸較小時,上面討論的基於子塊的預測技術可用於獲取每個子塊的更準確的運動信息。然而,較小的子塊在運動補償中造成了更高的頻寬要求。另一方面,針對較小子塊導出的運動信息可能不準確,尤其是當塊中存在一些噪聲時。因此,在一個塊內具有固定的子塊大小可能是次優的。
本文件描述了可以在各種實施例中使用的技術,以使用非均勻和/或可變子塊大小來解决固定子塊大小引入的頻寬和精度問題。這些技術(也稱爲交織預測)使用不同的細分塊的方式,使得可以更加魯棒地獲取運動信息而不增加頻寬消耗。
使用交織預測技術,將塊以一個或多個細分模式細分爲子塊。細分樣式表示將塊細分爲子塊的方式,包括子塊的大小和子塊的位置。對於每個細分樣式,可以通過基於細分樣式導出每個子塊的運動信息來生成對應的預測塊。因此,在一些實施例中,即使對於一個預測方向,也可以通過多個細分樣式生成多個預測塊。在一些實施例中,對於每個預測方向,可以僅應用一個細分樣式。
圖13示出了根據本公開的技術的具有兩個細分樣式的交織預測的示例。當前塊1300可以細分爲多個樣式。例如,如圖13所示,當前塊被細分爲樣式0(1301)和樣式1(1302)兩者。生成兩個預測塊P0(1303)和P1(1304)。可以通過計算P0(1303)和P1(1304)的加權和,來生成當前塊1300的最終預測塊P(1305)。
更一般地,給定X個細分樣式,可以通過具有X個細分樣式的基於子塊的預測來生成當前塊的X個預測塊,表示爲P0,P1,......,PX-1。表示爲P的當前塊的最終預測可以生成爲
Figure 02_image076
等式(15)
此處,(x,y)是塊中的像素的坐標,並且
Figure 02_image078
是Pi的權重值。作爲示例且非限制性地,權重可以表達爲:
Figure 02_image080
等式(16)
N是非負值。替代地,等式(16)中的位移位操作也可以表達爲:
Figure 02_image082
等式(17)
作爲2的幂的權重之和允許通過執行位元移位操作而不是浮點除法來更有效地計算加權和P。
細分樣式可以具有子塊的不同的形狀、尺寸或位置。在一些實施例中,細分樣式可包含不規則的子塊尺寸。圖14A-14G示出了用於16×16塊的細分樣式的若干示例。在圖14A中,根據所公開的技術將塊細分爲4×4子塊。此樣式也用於JEM中。圖14B示出了根據本公開的技術將塊細分爲8×8子塊的示例。圖14C示出了根據本公開技術將塊細分爲8×4子塊的示例。圖14D示出了根據本公開的技術將塊細分爲4×8子塊的示例。在圖14E中,根據本公開的技術,塊的一部分被細分爲4×4子塊。塊邊界處的像素被細分爲具有諸如2×4、4×2或2×2的大小的更小子塊。可以合並一些子塊以形成更大的子塊。圖14F示出了相鄰子塊的示例,諸如4×4子塊和2×4子塊,其被合並以形成具有諸如6×4、4×6或6×6的尺寸的更大子塊。在圖14G中,塊的一部分被細分爲8×8子塊。塊邊界處的像素被細分爲較小的子塊,其具有諸如8×4、4×8或4×4的尺寸。
可以基於編碼塊的形狀和/或大小和/或編碼塊信息來確定基於子塊的預測中的子塊的形狀和大小。例如,在一些實施例中,當當前塊具有M×N的大小時,子塊具有4×N(或8×N等)的大小。也就是說,子塊具有與當前塊相同的高度。在一些實施例中,當當前塊具有M×N的大小時,子塊具有M×4(或M×8等)的大小。也就是說,子塊具有與當前塊相同的寬度。在一些實施例中,當當前塊具有M×N(其中M> N)的大小時,子塊具有A×B的大小,其中A > B(例如,8×4)。替代地,子塊可以具有B×A(例如4×8)的大小。
在一些實施例中,當前塊具有M×N的大小。當M×N >= T(或Min(M,N)>= T,或Max(M,N)>= T等)時,子塊具有A×B的大小,並且當M×N> T(或Min(M,N)> T,或Max(M,N)> T等)時,子塊具有C×D的大小,其中A >= C且B >= D。例如,如果M×N >= 256,則子塊可以是4×4的大小。在一些實現方式中,子塊具有8×8的大小。
在一些實施例中,可以基於幀間預測方向來確定是否應用交織預測。例如,在一些實施例中,交織預測可以應用於雙向預測,但不應用於單向預測。作爲另一示例,當應用多假設時,當存在多於一個參考塊時,可以將交織預測應用於一個預測方向。
在一些實施例中,還可以基於幀間預測方向來確定如何應用交織預測。在一些實施例中,具有基於子塊的預測的雙向預測塊對於兩個不同參考列表以兩個不同細分樣式被細分爲子塊。例如,當從參考列表0(L0)預測時,雙向預測塊被細分爲4×8子塊,如圖14D所示。當從參考列表1(L1)預測時,將相同的塊細分爲8×4子塊,如圖14C所示。最終預測P計算爲
Figure 02_image084
等式(18)
此處,P0和P1分別是來自L0和L1的預測。w0和w1分別是L0和L1的權重值。如等式(16)所示,權重值可以確定爲:w0(x,y) + w1(x,y) = 1>>N(其中N是非負整數值)。因爲在每個方向上用於預測的子塊更少(例如,與8×8子塊相比,4×8子塊),與現有的基於子塊的方法相比,計算需要更少的頻寬。通過使用更大的子塊,預測結果也更不易受噪聲干擾的影響。
在一些實施例中,具有基於子塊的預測的單向預測塊對於相同參考列表以兩種或更多種不同細分樣式被細分爲子塊。例如,列表L(L = 0或1)的預測PL被計算爲
Figure 02_image086
等式(19)
這裏XL是列表L的細分樣式的數目。
Figure 02_image088
是用第i細分樣式預測生成的,並且
Figure 02_image090
Figure 02_image091
的權重值。例如,當XL爲2時,兩種細分樣式應用於列表L。在第一細分樣式中,塊被細分爲4×8子塊,如圖14D所示。在第二細分樣式中,塊被細分爲8×4 子塊如圖14D所示。
在一個實施例中,具有基於子塊的預測的雙向預測塊被認爲是分別來自L0和L1的兩個單向預測塊的組合。來自每個列表的預測可以按上述示例中的描述導出。最終預測P可以被計算爲
Figure 02_image093
等式(20)
這裏,參數a和b是應用於兩個內部預測塊的兩個附加權重。在該具體示例中,a和b可以都設定爲1。類似於上面的示例,因爲在每個方向上使用更少的子塊用於預測(例如,與8×8子塊相比,4×8子塊),頻寬使用比現有基於子塊的方法更好或同等水平。同時,通過使用更大的子塊可以改善預測結果。
在一些實施例中,可以在每個單向預測塊中使用單個非均勻樣式。例如,對於每個列表L(例如,L0或L1),塊被分成不同的樣式(例如,如圖14E或圖14F所示)。使用較少數目的子塊降低了對頻寬的需求。子塊的非均勻性也增加了預測結果的魯棒性。
在一些實施例中,對於多假設編碼塊,對於每個預測方向(或參考圖片列表),可以存在由不同細分樣式生成的多於一個預測塊。可以使用多個預測塊來生成應用了附加權重的最終預測。例如,附加權重可以設定爲1/M,其中M是所生成的預測塊的總數。
在一些實施例中,編碼器可以確定是否應用以及如何應用交織預測。然後,編碼器可以在序列級、圖片級、視圖級、條帶級、編碼樹單元(CTU)(也稱爲最大編碼單元(LCU))級、CU級、PU級、樹單元(TU)級、或區域級(可包含多個CU/PU/Tu/LCU)將對應於該確定的信息發送到解碼器。可以在序列參數集(SPS)、視圖參數集(VPS)、圖片參數集(PPS)、條帶標頭(SH)、CTU/LCU、CU、PU、TU、或區域的第一個塊中將信息信令通知。
在一些實現方式中,交織預測適用於現有的子塊方法,例如仿射預測、ATMVP、STMVP、FRUC或BIO。在這種情况下,不需要額外的信令成本。在一些實現方式中,可以將由交織預測生成的新子塊Merge候選插入到Merge列表中,例如,交織預測 + ATMVP、交織預測 + STMVP、交織預測 + FRUC等。
在一些實施例中,可以基於來自空域和/或時域相鄰塊的信息導出當前塊要使用的細分樣式。例如,不是依賴於編碼器來信令通知相關信息,而是編碼器和解碼器兩者都可以采用一組預定規則來基於時域鄰接(例如,先前使用的相同塊的細分樣式)或空域鄰接(例如,相鄰塊使用的細分樣式)來獲取細分樣式。
在一些實施例中,權重值w可以是固定的。例如,全部細分樣式可以相等地加權:
Figure 02_image095
。在一些實施例中,可以基於塊的位置以及所使用的細分樣式來確定權重值。例如,對於不同的(x,y),
Figure 02_image078
可以是不同的。在一些實施例中,權重值還可以取决於基於子塊預測的編碼技術(例如,仿射或ATMVP)和/或其他編碼信息(例如,跳過或非跳過模式,和/或MV信息)。 在一些實施例中,編碼器可以確定權重值,並且在序列級、圖片級、條帶級、CTU/LCU級、CU級、PU級或區域級(其可以包括多個CU/PU/Tu/LCU))中將值發送到解碼器。可以在序列參數集(SPS)、圖片參數集(PPS)、條帶標頭(SH)、CTU/LCU、CU、PU或區域的第一塊中信令通知權重值。在一些實施例中,可以從空域和/或時域相鄰塊的權重值導出權重值。
注意,本文公開的交織預測技術可以應用於基於子塊的預測中的一種、一些或全部編碼技術。例如,交織預測技術可以應用於仿射預測,而基於子塊的預測的其他編碼技術(例如,ATMVP、STMVP、FRUC或BIO)不使用交織預測。作爲另一個例子,仿射、ATMVP和STMVP的全部都應用本文公開的交織預測技術。
圖15A是根據本公開技術的用於改善視頻系統中的運動預測的方法1500的示例性流程圖。方法1500包含在1502處從視頻幀選擇像素集合以形成塊。方法1500包含在1504處根據第一樣式將塊細分爲子塊的第一集合。方法1500包含在1506處基於子塊的第一集合生成第一中間預測塊。方法1500包含在1508處根據第二樣式將塊細分爲子塊的第二集合。第二集合中的至少一個子塊具有與第一集合中的子塊不同的大小。方法1500包含在1510處基於子塊的第二集合生成第二中間預測塊。方法1500還包含在1512處基於第一中間預測塊和第二中間預測塊確定預測塊。
在一些實施例中,使用(1)仿射預測方法,(2)可選時域運動向量預測方法,(3)空域-時域運動向量預測方法,(4)雙向光流方法,或(5)幀速率上轉換方法中至少一者來生成第一中間預測塊或第二中間預測塊。
在一些實施例中,第一集合或第二集合中的子塊具有矩形形狀。在一些實施例中,子塊的第一集合中的子塊具有非均勻的形狀。在一些實施例中,子塊的第二集合中的子塊具有非均勻的形狀。
在一些實施例中,該方法包含基於塊的大小確定第一樣式或第二樣式。在一些實施例中,該方法包含基於來自與塊在時域上或空域上相鄰的第二塊的信息來確定第一樣式或第二樣式。
在一些實施例中,爲了塊在第一方向上的運動預測進行將塊細分爲子塊的第一集合。在一些實施例中,爲了塊在第二方向上的運動預測進行將塊細分爲第二子塊集合。
在一些實施例中,爲了塊在第一方向上的運動預測進行將塊細分爲子塊的第一集合並將塊細分爲子塊的第二集合。在一些實施例中,該方法還包含通過以下來進行塊在第二方向上的運動預測:根據第三樣式將塊細分爲子塊的第三集合,基於子塊的第三集合生成第三中間預測塊,根據第四樣式將塊細分爲子塊的第四集合,其中第四集合中的至少一個子塊具有與第三集合中的子塊不同的尺寸,基於子塊的第四集合生成第四中間預測塊,基於第三中間預測塊和第四中間預測塊確定第二預測塊,以及基於預測塊和第二預測塊確定第三預測塊。
在一些實施例中,該方法包含將細分塊的第一樣式和第二樣式的信息傳輸到基於塊的運動預測視頻系統中的編碼裝置。在一些實施例中,傳輸第一樣式和第二樣式的信息在以下之一處進行:(1)序列級,(2)圖片級,(3)視圖級,(4)條帶級,(5)編碼樹單元,(6)最大編碼單元級,(7)編碼單元級,(8)預測單元級,(10)樹單元級,或(11)區域級。
在一些實施例中,確定預測結果包含將權重的第一集合應用到第一中間預測塊,以獲取第一加權預測塊,將權重的第二集合應用到第二中間預測塊,以獲取第二加權預測塊,以及計算第一加權預測塊和第二加權預測塊的加權和,以獲取預測塊。
在一些實施例中,權重的第一集合或權重的第二集合包含固定權重值。在一些實施例中,基於來自與該塊在時域上或空域上相鄰的另一塊的信息來確定權重的第一集合或權重的第二集合。在一些實施例中,使用用於生成第一預測塊或第二預測塊的編碼算法來確定權重的第一集合或權重的第二集合。在一些實現方式中,權重的第一集合中的至少一個值不同於權重的第一集合中的另一值。在一些實現方式中,權重的第二集合中的至少一個值不同於權重的第二集合中的另一值。在一些實現方式中,權重之和等於2的幂。
在一些實施例中,該方法包含將權重傳輸到基於塊的運動預測視頻系統中的編碼裝置。在一些實施例中,傳輸權重在以下之一處進行:(1)序列級,(2)圖片級,(3)視圖級,(4)條帶級,(5)編碼樹單元,(6)最大編碼單元級,(7)編碼單元級,(8)預測單元級,(10)樹單元級,或(11)區域級。
圖15B是根據所公開的技術的用於改善視頻系統中的基於塊的運動預測的方法1550的示例流程圖。方法1550包括在1552處從視頻幀中選擇像素集合以形成塊。方法1550包括在1554處基於塊的大小或來自與塊在空域上或時域上相鄰的另一塊的信息將塊細分爲多個子塊。多個子塊中的至少一個子塊具有與其他子塊不同的大小。方法1550還包括在1556處通過將編碼算法應用於多個子塊來生成運動向量預測。在一些實施例中,編碼算法包括(1)仿射預測方法,(2)可選時域運動向量預測方法,(3)空域-時域運動向量預測方法,(4)雙向光流方法,或(5)幀速率上轉換方法中的至少一個。
在方法1500和1550中,可以實現部分交織。使用該方案,預測樣本的第一子集中的樣本被計算爲第一中間預測塊的加權組合,並且預測樣本的第二子集中的樣本被從基於子塊的預測複製,其中第一子集和第二子集是基於細分樣式。第一子集和第二子集可以一起構成整個預測塊,例如,當前正被處理的塊。如圖18A-18C中所示,在各種示例中,從交織中排除的第二子集可以由(a)角部子塊或(b)子塊的最上和最下行或(c)子塊的最左或右列構成。當前正在處理的塊的大小可以用作决定是否從交織預測中排除某些子塊的條件。例如,下文中描述的某些條件。
如在本文件中進一步描述的,編碼過程可以避免檢查從母塊細分的塊的仿射模式,其中母塊本身用不同於仿射模式的模式編碼。
圖16是示出可以用來實現本公開技術的各部分的計算機系統或其他控制裝置1600的架構的示例的方塊圖。在圖16中,計算機系統1600包含經由互連件1625連接的一個或多個處理器1605和儲存器1610。互連件1625可以表示任意一個或多個分開的物理總綫、點對點連接或兩者,其由適當的橋接、適配器,或控制器連接。因此,互連件1625可以包含例如系統總綫、外圍部件互連(PCI)總綫、超傳輸(HyperTransport)或行業標準架構(ISA)總綫、小型計算機系統介面(SCSI)總綫、通用串行總綫(USB)、IIC(I2C)總綫,或電氣與電子工程師學會(IEEE)標準674總綫,有時稱爲“火綫(Firewire)”。
(多個)處理器1605可以包含中央處理單元(CPU),以控制例如主機計算機的總體操作。在某些實施例中,(多個)處理器1605通過儲存在儲存器1610中的執行軟體或韌體將此實現。(多個)處理器1605可以是或可以包含一個或多個可編程通用或專用微處理器、數位信令處理器(DSP)、可編程控制器、應用專用積體電路(ASIC)、可編程邏輯裝置(PLD)等,或這樣的裝置的組合。
儲存器1610可以是或包含計算機系統的主儲存器。儲存器1610表示任意適當形式的隨機存取儲存器(RAM)、只讀儲存器(ROM)、閃速儲存器等,或這樣的裝置的組合。在使用中,儲存器1610除其他之外可以含有機器指令集,當由處理器1605執行該機器指令集時,使處理器1605進行操作,以實現本公開技術的實施例。
還通過互連件1625連接到(多個)處理器1605的是(可選的)網路適配器1615。網路適配器1615爲計算機系統1600提供與遠程裝置(諸如儲存客戶端,和/或其他儲存服務器)通信的能力,並且可以是例如以太網適配器或光纖通道適配器。
圖17示出了可以用來實現本公開技術的各部分的移動裝置1700的示例性實施例的方塊圖。移動裝置1700可以是膝上式計算機、智能電話、平板計算機、攝錄機,或能够處理視頻的其他類型的裝置。移動裝置1700包含處理器或控制器1701以處理數據,以及與處理器1701通信的儲存器1702,以儲存和/或緩衝數據。例如,處理器1701可以包含中央處理單元(CPU)或微控制器單元(MCU)。在一些實現方式中,處理器1701可以包含現場可編程門陣列(FPGA)。在一些實現方式中,移動裝置1700包含以下或與以下通信:圖形處理單元(GPU)、視頻處理單元(VPU)和/或用於智能電話裝置的各種視覺和/或通信數據處理功能的無綫通信單元。例如,儲存器1702可以包含並儲存處理器可執行代碼,當由處理器1701執行該代碼時,將移動裝置1700配置爲進行各種操作,例如,諸如接收信息、命令,和/或數據,處理信息和數據,以及將處理的信息/數據傳輸或提供到另一裝置,諸如致動器或外部顯示器。爲了支持移動裝置1700的各種功能,儲存器1702可以儲存信息和數據,諸如指令、軟體、值、圖像,以及由處理器1701處理或引用的其他數據。例如,各種類型的隨機存取儲存器(RAM)裝置、只讀儲存器(ROM)裝置、閃速儲存器裝置,以及其他適當儲存介質可以用於實現儲存器1702的儲存功能。在一些實現方式中,移動裝置1700包含輸入/輸出(I/O)單元1703,以將處理器1701和/或儲存器1702與其他模組、單元或裝置相接。例如,I/O單元1703可以將處理器1701和儲存器1702與典型的數據通信標準兼容的各種類型的無綫介面相接並將其利用,例如,諸如在雲中的一個或多個計算機與用戶裝置之間。在一些實現方式中,移動裝置1700可以經由I/O單元1703使用有綫連接與其他裝置相接。移動裝置1700還可以與其他外部介面(諸如數據儲存,和/或視覺或音頻顯示裝置1704)相接,以取回並傳輸可由處理器處理的數據和信息,儲存在儲存器中,或展示在顯示裝置1704的輸出單元或外部裝置上。例如,顯示裝置1704可以顯示基於根據本公開技術的MVP修改的視頻幀(例如,包含預測塊1305的視頻幀,如圖13中所示)。
在一些實施例中,視頻解碼器設備可實施視頻解碼的方法,其中如本文中所描述的經改善的基於塊的運動預測用於視頻解碼。該方法可以包含使用來自視頻幀的像素集合來形成視頻的塊。可以根據第一樣式將塊細分爲子塊的第一集合。第一中間預測塊可以對應於子塊的第一集合。該塊可以包含根據第二樣式的子塊的第二集合。第二集合中的至少一個子塊具有與第一集合中的子塊不同的大小。該方法還可以基於第一中間預測塊和從子塊的第二集合生成的第二中間預測塊來確定預測塊。該方法的其他特徵可以類似於上述方法1500。
在一些實施例中,視頻解碼的解碼器側方法可以使用基於塊的運動預測以用於通過使用用於預測的視頻幀的塊來改善視頻質量,其中塊對應於像素塊的集合。可以基於塊的大小或者來自與塊在空域上或時域上相鄰的另一塊的信息將塊細分爲多個子塊,其中多個子塊中的至少一個子塊具有與其他子塊不同的大小。解碼器可以使用通過將編碼算法應用於多個子塊而生成的運動向量預測。關於圖15B和對應的描述描述了該方法的其他特徵。
在一些實施例中,可以使用實現在關於圖16和圖17描述的硬體平臺上的解碼設備實現視頻解碼方法。
部分交織
在一些實施例中,部分交織預測可以如下實現。
在一些實施例中,交織預測應用到當前塊的一部分。一些位置處的預測樣本被計算爲兩個或更多個基於子塊的預測的加權和。其他位置處的預測樣本不用於加權和。例如,這些預測樣本從具有特定細分樣式的基於子塊的預測複製。
在一些實施例中,由分別具有細分樣式D0和細分樣式D1的基於子塊的預測P1和P2預測當前塊。最終預測計算爲P=w0×P0+w1×P1。在一些位置處,w0 ≠ 0且w1 ≠ 0。但在一些其他位置處,w0 = 1且w1 = 0,即,交織預測不應用於那些位置。
在一些實施例中,交織預測不應用於如圖18A中所示的四個角部子塊。
在一些實施例中,交織預測不應用於如圖18B中所示的子塊的最左列和子塊的最右列。
在一些實施例中,交織預測不應用於如圖18C中所示的子塊的最頂部行和子塊的最底部行。
整合在編碼器實施例內的技術的示例
在一些實施例中,交織預測不應用於運動估計(ME)過程。
例如,對於6-參數仿射預測,交織預測不應用於ME過程。
例如,如果當前塊的尺寸滿足諸如以下的特定條件,則交織預測不應用於ME過程。此處,假設當前塊的寬度和高度分別爲W和H,並且T、T1、T2爲整數值: W>=T1且H >=T2; W>=T1且H>=T2; W>=T1或H >=T2; W>=T1或H>=T2; W+H>=T W+H>=T W×H>=T W×H>=T
例如,如果當前塊是從母塊分割的,並且母塊在編碼器處不選擇仿射模式,則在ME過程省略交織預測。
圖19是用於改善視頻系統中的基於塊的運動預測的方法1900的流程圖表示。方法1900包含,在操作1902,基於視頻塊的特性,使用第一中間預測塊和第二中間預測塊確定視頻塊的預測塊。方法1900包含,在操作1904,使用預測塊生成視頻塊的編碼表示。通過將視頻塊細分爲子塊的第一集合生成第一中間預測塊,並且通過將視頻塊細分爲子塊的第二集合生成第二中間預測塊。第二集合中的至少一個子塊具有與第一集合中的子塊不同的尺寸。
在一些實施例中,在編碼過程中的運動估計的階段進行確定。在一些實施例中,視頻塊的特性指示預測塊不是基於仿射預測確定的。
在一些實施例中,塊具有W的寬度和H的高度,並且視頻塊的特性指示預測塊是由於W和H不滿足一個或多個條件而確定的。在一些實施例中,一個或多個條件包含W ≥ T1且H ≥ T2,T1和T2爲預定整數值。在一些實施例中,一個或多個條件包含W ≤ T1且H ≤ T2,T1和T2爲預定整數值。在一些實施例中,一個或多個條件包含W ≥ T1或H ≥ T2,T1和T2爲預定整數值。在一些實施例中,一個或多個條件包含W ≤ T1或H ≤ T2,T1和T2爲預定整數值。在一些實施例中,一個或多個條件包含W+H ≥ T,T爲預定整數值。在一些實施例中,一個或多個條件包含W+H ≤ T,T爲預定整數值。在一些實施例中,一個或多個條件包含W×H ≥ T,T爲預定整數值。在一些實施例中,一個或多個條件包含W×H ≤ T,T爲預定整數值。
在一些實施例中,視頻塊的特性指示視頻塊不是從母塊分割的。在一些實施例中,視頻塊的特性指示塊是從仿射編碼的母塊分割的。
替代地,如果當前塊是從母塊分割的,並且母塊在編碼器處不選擇仿射模式,則在編碼器處不檢查仿射模式。
圖20是示出可以實現本文公開的各種技術的示例性視頻處理系統2000的方塊圖。各種實現方式可以包含系統2000的一些或全部組件。系統2000可以包含用於接收視頻內容的輸入2002。視頻內容可以以原始或未壓縮格式接收,例如8或10位元多分量像素值,或者可以是壓縮或編碼格式。輸入2002可以表示網路介面、外圍總綫介面或儲存介面。網路介面的示例包含諸如以太網,無源光網路(PON)等的有綫介面和諸如Wi-Fi或蜂窩介面的無綫介面。
系統2000可以包含編碼組件2004,其可以實現本文件中描述的各種編碼或編碼方法。編碼組件2004可以將來自輸入2002的視頻的平均位元率减小到編碼組件2004的輸出,以産生視頻的編碼表示。因此,編碼技術有時被稱爲視頻壓縮或視頻轉碼技術。編碼組件2004的輸出可以儲存或者經由連接的通信傳輸,如組件2006所表示的。在輸入2002處接收的視頻的儲存或通信的位元流(或編碼)表示可以由組件2008使用,以生成發送到顯示介面2010的像素值或可顯示視頻。從位元流表示生成用戶可視視頻的過程有時被稱爲視頻解壓縮。此外,雖然某些視頻處理操作被稱爲“編碼”操作或工具,但是應當理解,編碼工具或操作在編碼器處使用,並且逆轉編碼結果的相應的解碼工具或操作將由解碼器進行。
外圍總綫介面或顯示介面的示例可以包含通用串行總綫(USB)或高解析度多媒體介面(HDMI)或顯示端口(Displayport)等。儲存介面的示例包含SATA(串行先進技術附件)、PCI、IDE介面等。本文件中描述的技術可以實施爲各種電子設備,諸如移動電話、膝上型計算機、智能電話或能够執行數位數據處理和/或視頻顯示的其他裝置。
從前述內容可以理解,本文已經出於說明的目的描述了本公開技術的具體實施例,但是在不脫離本發明的範圍的情况下可以進行各種修改。相應地,除了所附申請專利範圍之外,本發明所公開的技術不受限制。
本文件中描述的公開的和其他實施例、模組和功能操作可以在數位電子電路中實現,或者在計算機軟體、韌體或硬體中實現,包含本文件中公開的結構及其結構等同,或者它們中的一個或多個的組合。所公開的和其他實施例可以實現爲一個或多個計算機程式産品,即,在計算機可讀介質上編碼的一個或多個計算機程式指令模組,用於由數據處理設備執行或控制數據處理設備的操作。計算機可讀介質可以是機器可讀儲存設備、機器可讀儲存基板、儲存器裝置、影響機器可讀傳播信號的物質組合,或者它們中的一個或多個的組合。術語“數據處理設備”包含用於處理數據的全部設備、裝置和機器,包含例如可編程處理器、計算機或多個處理器或計算機。除了硬體之外,該設備還可以包含爲所討論的計算機程式創建執行環境的代碼,例如,構成處理器韌體的代碼、協議棧、數據庫管理系統、操作系統,或者它們中的一個或多個的組合。傳播信令是人工生成的信號,例如機器生成的電信號、光信號或電磁信號,其被生成以對信息進行編碼以便傳輸到合適的接收器設備。
計算機程式(也稱爲程式、軟體、軟體應用程式、脚本或代碼)可以用任何形式的編程語言編寫,包含編譯或解釋語言,並且它可以以任何形式部署,包含如獨立程式或適合在計算環境中使用的模組、組件、子例程或其他單元。計算機程式不一定對應於文件系統中的文件。程式可以儲存在文件的保存其他程式或數據的一部分(例如,儲存在標記語言文件中的一個或多個脚本)中,儲存在專用於所討論的程式的單個文件中,或儲存在多個協調文件中(例如,儲存一個或多個模組、子程式或代碼的部分的文件)。可以部署計算機程式以在一個計算機上或在位於一個站點上或分布在多個站點上並通過通信網路互連的多個計算機上執行。
本文件中描述的過程和邏輯流程可以由執行一個或多個計算機程式的一個或多個可編程處理器執行,以通過對輸入數據進行操作並生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路(例如,FPGA(現場可編程門陣列)或ASIC(專用積體電路))執行,並且裝置也可以實現爲專用邏輯電路。
適合於執行計算機程式的處理器包含例如通用和專用微處理器,以及任何類型的數位計算機的任何一個或多個處理器。通常,處理器將從只讀儲存器或隨機存取儲存器或兩者接收指令和數據。計算機的基本元件是用於執行指令的處理器和用於儲存指令和數據的一個或多個儲存器設備。通常,計算機還將包含用於儲存數據的一個或多個大容量裝置設備(例如磁盤、磁光盤或光盤)或與之可操作地耦合以從一個或多個大容量裝置設備接收數據或將數據傳輸到一個或多個大容量裝置設備。但是,計算機不需要這樣的設備。適用於儲存計算機程式指令和數據的計算機可讀介質包含全部形式的非揮發性儲存器、介質和儲存器裝置,包含例如半導體儲存器設備,例如EPROM,EEPROM和快閃記憶體;磁盤,例如內部硬盤或可移動磁盤;磁光盤;以及,CD ROM和DVD-ROM盤。處理器和儲存器可以由專用邏輯電路補充或並入專用邏輯電路中。
雖然本專利文件包含許多細節,但這些細節不應被解釋爲對任何發明或可要求保護的範圍的限制,而是作爲特定於特定發明的特定實施例的特徵的描述。在單獨的實施例的上下文中在本專利文件中描述的某些特徵也可以在單個實施例中組合實現。相反,在單個實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述爲以某些組合起作用並且甚至最初如此要求保護,但是在某些情况下可以從組合中去除來自所要求保護的組合的一個或多個特徵,並且所要求保護的組合可以針對子組合或子組合的變體。
類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解成爲了實現期望的結果要求以所示的特定順序或按順序執行這樣的操作,或者執行全部示出的操作。此外,在本專利文件中描述的實施例中的各種系統組件的分離不應被理解爲在全部實施例中都需要這種分離。
僅描述了幾個實現方式和示例,並且可以基於本專利文件中描述和示出的內容來進行其他實現方式、增强和變化。
100、200、300、400:塊 101:子塊 500:當前CU 501:左 502:上 503:右上 504:左下 505:左上 600:CU 601:子CU 650:參考圖片 651:塊 700:8×8 CU 701~704:A~D 711~714:a~d 900:塊 901:填充區域 1000、1100:當前CU 1001、1002:MV0、MV1 1003、1004:TD0、TD1 1010、1011、1100、1110:參考圖片 1200:單邊運動估計 1300:當前塊 1301、1302:樣式0、樣式1 1303、1304、1305:P1、P2、P 1500、1550:方法 1502~1512、1552~1556: 1600:計算機系統 1605:多個處理器 1610:儲存器 1615:網路適配器 1625:互連件 1700:移動裝置 1701:處理器或控制器 1702:儲存器 1703:I/O介面和感測器 1704:顯示裝置 1900:方法 1902、1904:操作 2000:系統 2002:輸入 2004:編碼組件 2006、2008:組件 2010:顯示介面 A、B、C、D、E:子塊 V0、V1、v1~v4:向量
Figure 02_image022
Figure 02_image024
:距離
圖1是示出基於子塊的預測的示例的示意圖。 圖2示出了由兩個控制點運動向量描述的塊的仿射運動場的示例。 圖3示出了塊的每個子塊的仿射運動向量場的示例。 圖4示出了AF_INTER模式中的塊400的運動向量預測的示例。 圖5A示出了當前編碼單元(CU)的候選塊的選擇順序的示例。 圖5B示出了AF_MERGE模式中的當前CU的候選塊的另一示例。 圖6示出了CU的可選時域運動向量預測(ATMVP)運動預測過程的示例。 圖7示出了具有四個子塊和相鄰塊的一個CU的示例。 圖8示出了雙向光流(BIO)方法中的示例性光流軌迹。 圖9A示出了塊之外的存取位置的示例。 圖9B示出了可以用於避免額外儲存器存取和計算的填充區域(padding area)。 圖10示出了幀速率上轉換(FRUC)方法中使用的雙邊匹配的示例。 圖11示出了FRUC方法中使用的模板匹配的示例。 圖12示出了FRUC方法中的單邊運動估計(ME)的示例。 圖13示出了根據本公開技術的具有兩種細分樣式的交織預測的示例。 圖14A示出了根據本公開技術的將塊細分爲4×4子塊的示例性細分樣式。 圖14B示出了根據本公開技術的將塊細分爲8×8子塊的示例性細分樣式。 圖14C示出了根據本公開技術的將塊細分爲4×8子塊的示例性細分樣式。 圖14D示出了根據本公開技術的將塊細分爲8×4子塊的示例性細分樣式。 圖14E示出了根據本公開技術的將塊細分爲非均勻子塊的示例性細分樣式。 圖14F示出了根據本公開技術的將塊細分爲非均勻子塊的另一示例性細分樣式。 圖14G示出了根據本公開技術的將塊細分爲非均勻子塊的又一示例性細分樣式。 圖15A是根據本公開的技術的用於改善基於塊的運動預測視頻系統的頻寬使用和預測精度的方法的示例性流程圖。 圖15B是根據本公開的技術的用於改善基於塊的運動預測視頻系統的頻寬使用和預測精度的方法的另一示例性流程圖。 圖16是圖示了可以用於實現本公開的技術的各部分的計算機系統或其他控制裝置的架構的示例的方塊圖。 圖17示出了可以用來實現本公開技術的各部分的移動裝置的示例性實施例的方塊圖。 圖18A至18C示出了部分交織預測技術的示例性實施例。 圖19是用於改善視頻系統中的基於塊的運動預測的方法的流程圖表示。 圖20是可以實現本公開的技術的示例性視頻處理系統的方塊圖。
1550:方法
1552、1554、1556:

Claims (16)

  1. 一種處理視頻的方法,包括: 基於視頻塊的特性,使用第一中間預測塊和第二中間預測塊確定所述視頻塊的預測塊;以及 使用所述預測塊生成所述視頻塊的編碼表示, 其中通過將所述視頻塊細分爲子塊的第一集合生成所述第一中間預測塊,其中通過將所述視頻塊細分爲子塊的第二集合生成所述第二中間預測塊,並且其中所述第二集合中的至少一個子塊具有與所述第一集合中的子塊不同的尺寸。
  2. 如申請專利範圍第1項所述的方法,其中在編碼過程中的運動估計的階段中進行所述確定。
  3. 如申請專利範圍第1項所述的方法,其中所述視頻塊的特性指示所述預測塊不是基於仿射預測確定的。
  4. 如申請專利範圍第1或2項所述的方法,其中所述視頻塊具有W的寬度和H的高度,並且其中所述視頻塊的特性指示所述預測塊是由於W和H不滿足一個或多個條件而確定的。
  5. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W ≥ T1且H ≥ T2,T1和T2爲預定整數值。
  6. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W ≤T1且H ≤T2,T1和T2爲預定整數值。
  7. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W ≥T1或H ≥T2,T1和T2爲預定整數值。
  8. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W ≤T1或H ≤T2,T1和T2爲預定整數值。
  9. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W+H ≥ T,T爲預定整數值。
  10. 1如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W+H ≤ T,T爲預定整數值。
  11. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W×H ≥ T,T爲預定整數值。
  12. 如申請專利範圍第4項所述的方法,其中所述一個或多個條件包含W×H ≤ T,T爲預定整數值。
  13. 如申請專利範圍第1或2項所述的方法,其中所述視頻塊的特性指示所述視頻塊不是從母塊分割的。
  14. 如申請專利範圍第1或2項所述的方法,其中所述視頻塊的特性指示所述視頻塊是從仿射編碼的的母塊分割的。
  15. 一種視頻系統中的設備,包括處理器和其上具有指令的非暫態儲存器,其中由所述處理器執行所述指令時,使所述處理器實現申請專利範圍第1至14項中的一個或多個所述的方法。
  16. 一種非暫態計算機可讀介質,包含其上儲存的所述計算機代碼,所述計算機程式代碼用於執行申請專利範圍第1至14項中的一個或多個所述的方法。
TW108131752A 2018-09-03 2019-09-03 交織預測的快速編碼方法 TWI833795B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2018103770 2018-09-03
WOPCT/CN2018/103770 2018-09-03

Publications (2)

Publication Number Publication Date
TW202027501A true TW202027501A (zh) 2020-07-16
TWI833795B TWI833795B (zh) 2024-03-01

Family

ID=67928865

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108131752A TWI833795B (zh) 2018-09-03 2019-09-03 交織預測的快速編碼方法

Country Status (3)

Country Link
CN (1) CN110876063B (zh)
TW (1) TWI833795B (zh)
WO (1) WO2020049447A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025951B2 (en) * 2019-01-13 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11805245B2 (en) 2021-08-16 2023-10-31 Mediatek Inc. Latency reduction for reordering prediction candidates

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101491107B (zh) * 2006-07-07 2012-07-18 艾利森电话股份有限公司 一种对图像元素组进行解码的方法及其相关的编码器、解码器
EP2136564A1 (en) * 2007-01-09 2009-12-23 Kabushiki Kaisha Toshiba Image encoding and decoding method and device
KR101408698B1 (ko) * 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
CN101252686B (zh) * 2008-03-20 2010-04-14 上海交通大学 基于交织预测的视频帧内无损编解码方法及系统
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
CN108109629A (zh) * 2016-11-18 2018-06-01 南京大学 一种基于线性预测残差分类量化的多描述语音编解码方法和系统

Also Published As

Publication number Publication date
CN110876063B (zh) 2023-01-31
CN110876063A (zh) 2020-03-10
TWI833795B (zh) 2024-03-01
WO2020049447A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
TWI736905B (zh) 色度解碼器側運動向量細化
CN111357294B (zh) 基于子块的运动信息列表的简化熵编解码
TWI736903B (zh) 非對稱加權雙向預測Merge
TWI729402B (zh) 加權交織預測
CN112997480B (zh) 成对平均候选计算中的取整
TWI731363B (zh) 高效的仿射Merge運動向量推導
CN112913239A (zh) 基于参考图片的解码器侧运动矢量推导
TWI709332B (zh) 基於更新的運動矢量的運動預測
TW202017377A (zh) 視頻編碼和解碼中的仿射模式
TWI705696B (zh) 交織預測的改善
TWI722465B (zh) 子塊的邊界增強
TWI833795B (zh) 交織預測的快速編碼方法
TW202025726A (zh) 部分交織的預測