TW202025726A - 部分交織的預測 - Google Patents

部分交織的預測 Download PDF

Info

Publication number
TW202025726A
TW202025726A TW108131758A TW108131758A TW202025726A TW 202025726 A TW202025726 A TW 202025726A TW 108131758 A TW108131758 A TW 108131758A TW 108131758 A TW108131758 A TW 108131758A TW 202025726 A TW202025726 A TW 202025726A
Authority
TW
Taiwan
Prior art keywords
block
sub
prediction
blocks
current block
Prior art date
Application number
TW108131758A
Other languages
English (en)
Inventor
張凱
張莉
劉鴻彬
王悅
Original Assignee
大陸商北京字節跳動網絡技術有限公司
美商字節跳動有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商北京字節跳動網絡技術有限公司, 美商字節跳動有限公司 filed Critical 大陸商北京字節跳動網絡技術有限公司
Publication of TW202025726A publication Critical patent/TW202025726A/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
    • 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
    • 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/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • 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/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/583Motion compensation with overlapping blocks

Abstract

本申請涉及部分交織的預測,描述了與視頻編碼中的基於子塊的運動預測相關的方法、系統和裝置。在一個代表性方面中,視頻處理的方法包含,在當前塊與當前塊的編碼表示之間的轉換期間,確定當前塊的預測塊。預測塊包含第一部分和第二部分。第二部分對應於第一中間預測塊和第二中間預測塊的權重組合,在第一中間預測塊中使用第一樣式將當前塊細分為子塊,在第二中間預測塊中使用第二樣式將當前塊細分為子塊。方法還包含從第一部分和第二部分生成當前塊。

Description

部分交織的預測
本專利文件涉及視頻編碼和解碼技術、裝置和系統。 [相關申請的交叉引用] 根據適用的專利法和/或根據巴黎公約的規則,本申請及時要求於2018年9月3日提交的國際專利申請號 PCT/CN2018/103770、於2018年9月11日提交的國際專利申請號 PCT/CN2018/104984,以及於2019年1月2日提交的國際專利申請號 PCT/CN2019/070058的優先權和權益。出於全部目的,國際專利申請號 PCT/CN2018/103770、國際專利申請號PCT/CN2018/104984和國際專利申請號 PCT/CN2019/070058的全部內容通過引用整合作為本專利文件的公開的一部分。
運動補償(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_image006
的候選列表。圖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_image007
為塊運動補償之後來自參考k(k=0,1)的亮度值,並且
Figure 02_image009
Figure 02_image011
分別為
Figure 02_image007
梯度的水平和垂直分量。假設光流是有效的,運動向量場
Figure 02_image013
由以下給出:
Figure 02_image015
等式(3)
將此光流等式與用於每個樣本的運動軌跡的埃爾米特(Hermite)插值組合得到唯一的三階多項式,其匹配函數值
Figure 02_image007
和端部處的導數
Figure 02_image009
Figure 02_image011
兩者。該多項式在t=0處的值是BIO預測:
Figure 02_image018
等式(4)
圖8示出了雙向光流(BIO)方法中的示例性光流軌跡。此處,
Figure 02_image020
Figure 02_image022
指代與參考幀的距離。基於Ref0和Ref1的POC計算距離
Figure 02_image020
Figure 02_image022
Figure 02_image020
POC(當前)−POC(Ref0),
Figure 02_image022
=POC(Ref1)−POC(當前)。如果兩個預測來自相同的時間方向(都來自過去或來自未來),則符號是不同的(例如,
Figure 02_image024
)。在此情況下,如果預測不是來自相同時刻(例如,
Figure 02_image026
),則應用BIO。兩個參考區域都具有非零運動(例如,
Figure 02_image028
),並且塊運動向量與時間距離成比例(例如,
Figure 02_image030
)。
通過最小化A點和B點中的值之間的差異Δ來確定運動向量場
Figure 02_image013
。圖9A-9B示出了運動軌跡和參考幀平面的交叉的示例。對於Δ,模型僅使用局部泰勒(Taylor)展開的第一線性項:
Figure 02_image034
等式(5)
以上等式中的全部值取決於樣本位置,指代為
Figure 02_image037
。假設運動在局部圍繞區域中是一致的,則Δ可以在(2M+1)╳(2M+1)正方形窗Ω內被最小化,正方形窗Ω以當前預測的點
Figure 02_image038
為中心,其中M等於2:
Figure 02_image040
等式(6)
對於此最優化問題,JEM使用簡化的方案,首先在垂直方向上並且然後在水平方向上進行最小化。這得到以下:
Figure 02_image042
等式(7)
Figure 02_image046
等式(8) 其中,
Figure 02_image050
等式(9)
為了避免除以零或很小的值,正則化參數r和m可以被引入到等式(7)和等式(8)中。
Figure 02_image052
等式(10)
Figure 02_image056
等式(11) 此處,d是視頻樣本的位深度。
為了使如BIO的儲存器存取與常規雙向預測運動補償一樣,對當前塊內的位置計算全部預測和梯度值
Figure 02_image064
。圖9A示出了塊900之外的存取位置的示例。如圖9A中所示,在等式(9)中,預測的塊的邊界上的當前預測的點為中心的(2M+1)╳(2M+1)正方形窗Ω需要存取塊之外的位置。在JEM中,塊之外的
Figure 02_image064
的值被設定為等於塊內的最接近可用值。例如,這可以實現為填充區域901,如圖9B中所示。
使用BIO,可以將運動場對於每個樣本細化。為了降低計算複雜度,在JEM中使用基於塊的設計的BIO。可以基於4╳4塊計算運動細化。在基於塊的BIO中,4╳4塊中的全部樣本的等式(9)中的sn的值可以被聚集,並且然後sn的聚集的值被用於導出4╳4塊的BIO運動向量偏移。更具體地,以下公式可以用於基於塊的BIO導出:
Figure 02_image068
等式(12)
此處,bk指代屬於預測的塊的第k個
Figure 02_image070
塊的樣本的集合。等式
Figure 02_image071
和等式
Figure 02_image072
中的sn
Figure 02_image073
取代,以導出相關聯的運動向量偏移。
在一些情形下,由於噪聲或不常規運動,BIO的MV團(regiment)可能是不可靠的。因此,在BIO中,MV團的大小被修剪到閾值。閾值是基於當前圖片的參考圖片是否全部來自一個方向而確定的。例如,如果當前圖片的全部參考圖片來自一個方向,則閾值的值設定為
Figure 02_image076
;否則,將其設定為
Figure 02_image078
可以在與運動補償插值的同時使用與HEVC運動補償過程(例如,2D可分離有限脈衝響應(FIR))一致的操作計算BIO的梯度。在一些實施例中,2D可分離FIR的輸入是與運動補償過程和根據塊運動向量的分數部分的分數位置(fracXfracY )相同的參考幀樣本。對於水平梯度
Figure 02_image082
,首先使用BIOfilterG 對信號進行垂直地插值,其對應於具有去縮放位移d−8的分數位置fracY。然後將梯度濾波器BIOfilterG 應用於對應於具有去縮放位移18−d的分數位置fracY 的水平方向上。對於垂直梯度
Figure 02_image082
,對應於具有去縮放位移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_image090
等式(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_image094
等式(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_image098
等式(15)
此處,(x,y)是塊中的像素的坐標,並且
Figure 02_image102
是Pi的權重值。作為示例且非限制性地,權重可以表達為:
Figure 02_image106
等式(16) N是非負值。替代地,等式(16)中的位移位操作也可以表達為:
Figure 02_image110
等式(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_image114
等式(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_image118
等式(19) 這裡XL是列表L的細分樣式的數目。
Figure 02_image122
是用第i細分樣式預測生成的,並且
Figure 02_image126
Figure 02_image122
的權重值。例如,當XL為2時,兩種細分樣式應用於列表L。在第一細分樣式中,塊被細分為4×8子塊,如圖14D所示。在第二細分樣式中,塊被細分為8×4 子塊如圖14D所示。
在一個實施例中,具有基於子塊的預測的雙向預測塊被認為是分別來自L0和L1的兩個單向預測塊的組合。來自每個列表的預測可以按上述示例中的描述導出。最終預測P可以被計算為
Figure 02_image131
等式(20)
這裡,參數a和b是應用於兩個內部預測塊的兩個附加權重。在該具體示例中,a和b可以都設定為1。類似於上面的示例,因為在每個方向上使用更少的子塊用於預測(例如,與8×8子塊相比,4×8子塊),頻寬使用比現有基於子塊的方法更好或同等水平。同時,通過使用更大的子塊可以改善預測結果。
在一些實施例中,可以在每個單向預測塊中使用單個非均勻樣式。例如,對於每個列表L(例如,L0或L1),塊被分成不同的樣式(例如,如圖14E或圖14F所示)。使用較少數目的子塊降低了對頻寬的需求。子塊的非均勻性也增加了預測結果的魯棒性。
在一些實施例中,對於多假設編碼塊,對於每個預測方向(或參考圖片列表),可以存在由不同細分樣式生成的多於一個預測塊。可以使用多個預測塊來生成應用了附加權重的最終預測。例如,附加權重可以設定為1/M,其中M是所生成的預測塊的總數。
在一些實施例中,編碼器可以確定是否應用以及如何應用交織預測。然後,編碼器可以在序列級、圖片級、視圖級、條帶級、編碼樹單元(CTU)(也稱為最大編碼單元(LCU))級、CU級、PU級、樹單元(TU)級、片(tile)級,片組級或區域級(可包含多個CU/PU/Tu/LCU)將對應於該確定的信息發送到解碼器。可以在序列參數集(SPS)、視圖參數集(VPS)、圖片參數集(PPS)、條帶標頭(SH)、圖片標頭、序列標頭、或片級或片組級、CTU/LCU、CU、PU、TU、或區域的第一個塊中將信息信令通知。
在一些實現方式中,交織預測適用於現有的子塊方法,例如仿射預測、ATMVP、STMVP、FRUC或BIO。在這種情況下,不需要額外的信令成本。在一些實現方式中,可以將由交織預測生成的新子塊Merge候選插入到Merge列表中,例如,交織預測 + ATMVP、交織預測 + STMVP、交織預測 + FRUC等。在一些實現方式中,可以將標誌信令通知以指示是否使用交織預測。在一個示例中,如果當前塊是仿射幀間編碼的,則將標誌信令通知以指示是否使用交織預測。在一些實現方式中,如果當前塊是仿射Merge編碼的並且應用單向預測,則可以將標誌信令通知以指示是否使用交織預測。在一些實現方式中,如果當前塊是仿射Merge編碼的,則可以將標誌信令通知以指示是否使用交織預測。在一些實現方式中,如果當前塊是仿射Merge編碼的並且應用單向預測,則可以總是使用交織預測。在一些實現方式中,如果當前塊是仿射Merge編碼的,則可以總是使用交織預測。
在一些實現方式中,指示是否使用交織預測的標誌可以在沒有信令通知的情況下繼承(inherit)。一些例子包括: (i)在一個示例中,如果當前塊是仿射Merge編碼的,則可以使用繼承。 (ii)在一個示例中,標誌可以從繼承仿射模型的相鄰塊的標誌繼承。 (iii)在一個示例中,標誌從諸如左或上相鄰塊的預定相鄰塊繼承。 (iv)在一個示例中,標誌可以從首先遇到的仿射編碼的相鄰塊繼承。 (v)在一個示例中,如果沒有相鄰塊是仿射編碼的,則可以推斷該標誌為零。 (vi)在一個示例中,可以僅在當前塊應用單向預測時繼承該標誌。 (vii)在一個示例中,僅在當前塊和其要繼承的相鄰塊在同一CTU中時才可以繼承該標誌。 (viii)在一個示例中,僅在當前塊和其要繼承的相鄰塊在同一CTU行中時才可以繼承該標誌。 (ix)在一個示例中,當從時域相鄰塊導出仿射模型時,可以不從相鄰塊的標誌繼承該標誌。 (x)在一個示例中,可以不從不位於相同的LCU或LCU行或視頻數據處理單元(諸如64×64或128×128)中的相鄰塊的標誌繼承標誌。 (xi)在一個示例中,如何信令通知和/或導出標誌可以取決於當前塊的塊維度和/或編碼信息。
在一些實現方式中,如果參考圖片是當前圖片,則不應用交織預測。例如,如果參考圖片是當前圖片,則不信令通知指示是否使用交織預測的標誌。
在一些實施例中,可以基於來自空域和/或時域相鄰塊的信息導出當前塊要使用的細分樣式。例如,不是依賴於編碼器來信令通知相關信息,而是編碼器和解碼器兩者都可以採用一組預定規則來基於時域鄰接(例如,先前使用的相同塊的細分樣式)或空域鄰接(例如,相鄰塊使用的細分樣式)來獲取細分樣式。
在一些實施例中,權重值w可以是固定的。例如,全部細分樣式可以相等地加權:
Figure 02_image135
。在一些實施例中,可以基於塊的位置以及所使用的細分樣式來確定權重值。例如,對於不同的(x,y),
Figure 02_image102
可以是不同的。在一些實施例中,權重值還可以取決於基於子塊預測的編碼技術(例如,仿射或ATMVP)和/或其他編碼信息(例如,跳過或非跳過模式,和/或MV信息)。
在一些實施例中,編碼器可以確定權重值,並且在序列級、圖片級、條帶級、CTU/LCU級、CU級、PU級或區域級(其可以包括多個CU/PU/Tu/LCU))中將值發送到解碼器。可以在序列參數集(SPS)、圖片參數集(PPS)、條帶標頭(SH)、CTU/LCU、CU、PU或區域的第一塊中信令通知權重值。在一些實施例中,可以從空域和/或時域相鄰塊的權重值導出權重值。
注意,本文公開的交織預測技術可以應用於基於子塊的預測中的一種、一些或全部編碼技術。例如,交織預測技術可以應用於仿射預測,而基於子塊的預測的其他編碼技術(例如,ATMVP、STMVP、FRUC或BIO)不使用交織預測。作為另一個例子,仿射、ATMVP和STMVP的全部都應用本文公開的交織預測技術。
具有部分交織的示例性實施例
在一些實施例中,部分交織預測可以如以下實現。
在一些實施例中,交織預測被應用於當前塊的一部分。在一些位置處的預測樣本被計算為兩個或更多個基於子塊的預測的加權和。其他位置的預測樣本不用於加權和。例如,這些預測樣本是從具有特定細分樣式的基於子塊的預測中複製的。
在一些實施例中,通過分別具有細分樣式D0和細分樣式D1的基於子塊的預測P1和P2來預測當前塊。最終預測計算為P=w0×P0+w1×P1。在某些位置,w0≠0且w1≠0。但是在某些其他位置,w0 = 1且w1 = 0,即,在這些位置處不應用交織預測。
在一些實施例中,交織預測不應用在四個角部子塊上,如圖15A所示。
在一些實施例中,交織預測不應用在最左列和最右列的子塊,如圖15B中所示。
在一些實施例中,交織預測不應用在最頂部行和最底部行的子塊,如圖15C所示。
在一些實施例中,交織預測不應用在最頂部行、最底部行、最左列和最右列的子塊,如圖15D中所示。
在一些實施例中,是否應用以及如何應用部分交織預測可以取決於當前塊的大小/形狀。
例如,在一些實施例中,如果當前塊的大小滿足特定條件,則交織預測應用到整個塊;否則,交織預測應用到塊的一部分(或一些部分)。條件包含但不限於:(假設當前塊的寬度和高度分別是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
在一些實施例中,部分交織預測應用於當前塊的小於當前塊的部分。例如,在一些實施例中,塊的一部分如下排除子塊。在一些實施例中,如果W≥H,則交織預測不應用於如圖15B所示的最左列和最右列的子塊;否則,交織預測不應用於如圖15C所示的最頂部行和最底部行的子塊。
例如,在一些實施例中,如果W>H,則交織預測不應用於如圖15B所示的最左列和最右列的子塊;否則,交織預測不應用於如圖15C所示的最頂部行和最底部行的子塊。
在一些實施例中,對於塊中的不同區域,是否應用以及如何應用交織預測可以是不同的。例如,假設當前塊是通過分別具有細分模式D0和細分模式D1的基於子塊的預測P1和P2來預測的。最終預測計算為
Figure 02_image137
。如果位置
Figure 02_image138
屬於具有細分樣式D0的維度為
Figure 02_image139
的子塊;並屬於具有細分樣式D1的子塊
Figure 02_image140
,如果滿足一個或多個以下條件,則設定
Figure 02_image141
並且
Figure 02_image142
(例如,在該位置不應用交織預測):
Figure 02_image143
Figure 02_image144
Figure 02_image145
Figure 02_image146
;或
Figure 02_image147
Figure 02_image148
本文中,T1和T2為整數。例如,T1 = T2 = 4。
與編碼器實施例整合的技術的示例
在一些實施例中,交織預測不應用在運動估計(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過程中省略交織預測。
替代地,如果當前塊是從母塊分割的,並且母塊在編碼器處不選擇仿射模式,則在編碼器處不檢查仿射模式。
MV導出的示例性實施例
在以下示例中,SatShift(x,n)定義為
Figure 02_image149
Shift(x,n)定義為Shift(x,n)=(x+ shift0)>>n。在一個示例中,shift0和/或shift1設定為(1>>n)>>1或(1>>(n-1))。在另一示例中,shift0 和/或shift1設定為0。
在一些實施例中,一個細分樣式中的每個子塊的MV可以從仿射模型(諸如用等式(1))直接導出,或其可以從另一細分樣式內的子塊的MV導出。
(a)在一個示例中,具有細分樣式0的子塊B的MV可以從與子塊B重疊的細分樣式1內的子塊中的一些或全部的MV導出。
(b)圖16A至16C示出了一些示例。在圖16A中,將要導出細分樣式1內的特定子塊的MV1(x,y)。圖16B示出了塊中的細分樣式0(實線)和細分樣式1(虛線),指示在細分樣式0內存在與細分樣式1內的特定子塊重疊的四個子塊。圖16C示出了四個MV:與細分樣式1內的特定子塊重疊的細分樣式0內的四個子塊的MV0(x-2,y-2)、MV0(x+2,y-2)、MV0(x-2,y+2)以及MV0(x+2,y+2)。然後MV1(x,y)將從MV0(x-2,y-2)、MV0(x+2,y-2)、MV0(x-2,y+2)和MV0(x+2,y+2)導出。
(c)假設細分樣式1內的一個子塊的MV’是從細分樣式0內的k+1個子塊的MV0、MV1、MV2、… MVk導出的。MV’可以導出為:
(i)MV’ = MVn,n是0…k中的任意數。
(ii)MV’ = f(MV0,MV1,MV2,…,MVk)。f是線性函數。
(iii)MV’ = f(MV0,MV1,MV2,…,MVk)。f是非線性函數。
(iv)MV’ = Average(MV0,MV1,MV2,…,MVk)。Average是平均運算。
(v)MV’ = Median(MV0,MV1,MV2,…,MVk)。Median是得到中位數值的運算。
(vi)MV’ = Max(MV0,MV1,MV2,…,MVk)。Max是得到最大值的運算。
(vii)MV’ = Min(MV0,MV1,MV2,…,MVk)。Min是得到最小值的運算。
(viii)MV’ = MaxAbs(MV0,MV1,MV2,…,MVk)。MaxAbs是得到具有最大絕對值的值的運算。
(ix)MV’ = MinAbs(MV0,MV1,MV2,…,MVk)。MinAbs是得到具有最小絕對值的值的運算。
(x)以圖16A作為示例,MV1(x,y)可以導出為: 1. MV1(x,y)= SatShift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2); 2. MV1(x,y)= Shift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2); 3. MV1(x,y)= SatShift(MV0(x-2,y-2)+MV0(x+2,y-2),1); 4. MV1(x,y)= Shift(MV0(x-2,y-2)+MV0(x+2,y-2),1); 5. MV1(x,y)= SatShift(MV0(x-2,y+2)+MV0(x+2,y+2),1); 6. MV1(x,y)= Shift(MV0(x-2,y+2)+MV0(x+2,y+2),1); 7. MV1(x,y)= SatShift(MV0(x-2,y-2)+MV0(x+2,y+2),1); 8. MV1(x,y)= Shift(MV0(x-2,y-2)+ MV0(x+2,y+2),1); 9. MV1(x,y)= SatShift(MV0(x-2,y-2)+ MV0(x-2,y+2),1); 10. MV1(x,y)= Shift(MV0(x-2,y-2)+ MV0(x-2,y+2),1); 11. MV1(x,y)= SatShift(MV0(x+2,y-2)+MV0(x+2,y+2),1); 12. MV1(x,y)= Shift(MV0(x+2,y-2)+MV0(x+2,y+2),1); 13. MV1(x,y)= SatShift(MV0(x+2,y-2)+MV0(x-2,y+2),1);14. MV1(x,y)= Shift(MV0(x+2,y-2)+MV0(x-2,y+2),1); 15. MV1(x,y)= MV0(x-2,y-2); 16. MV1(x,y)= MV0(x+2,y-2); 17. MV1(x,y)= MV0(x-2,y+2);或 18. MV1(x,y)= MV0(x+2,y+2)。
在一些實施例中,如何選擇細分樣式可以取決於當前塊的寬度和高度。
(a)例如,如果寬度> T1且高度> T2(例如 T1=T2=4),則選擇兩種細分樣式。圖17A示出了兩種細分樣式的示例。
(b)例如,如果高度>= T2(例如 T2=4),則選擇另外兩種細分樣式。圖17B示出了兩種細分樣式的示例。
(c)例如,如果寬度>= T1(例如 T1= 4),則選擇再另外兩種細分樣式。圖17C示出了兩種細分樣式的示例。
在一些實施例中,一個顏色分量C1的一個細分樣式內的每個子塊的MV可以從另一顏色分量C0的另一細分樣式內子塊的MV導出。
(a)例如,C1指代在另一顏色分量之後編碼/解碼的顏色分量,諸如Cb或Cr或U或V或R或B。
(b)例如,C0指代在另一顏色分量之前編碼/解碼的顏色分量,諸如Y或G。
(c)在一個示例中,如何從另一顏色分量的另一細分樣式內的子塊的MV導出一個顏色分量的一個細分樣式內的子塊的MV可以取決於顏色格式,諸如4:2:0,或4:2:2,或4:4:4。
(d)在一個示例中,在根據顏色格式縮小或放大坐標之後,具有細分樣式C1Pt(t=0或1)的顏色分量C1中的子塊B的MV可以從與子塊B重疊的具有細分樣式C0Pr(r=0或1)內的顏色分量C0中的一些或全部子塊的MV導出。
(i)在一個示例中,C0Pr總是等於C0P0。
(e)圖18A和18B示出了兩個示例。顏色格式為4:2:0。Cb分量中的子塊的MV被從Y分量中的子塊的MV導出。
(i)在圖18A左側,將要導出細分樣式0內的特定Cb子塊B的MVCb0(x’,y’)。圖18A右側示出了細分樣式0內的四個Y子塊,其以2:1縮小時與Cb子塊B重疊。假設x = 2*x’且y=2*y’,細分樣式0內的四個Y子塊的四個MV:MV0(x-2,y-2),MV0(x+2,y-2),MV0(x-2,y+2)和MV0(x+2,y+2)被用於導出MVCb0(x’,y’)。
(ii)在圖18B左側,細分樣式1內的特定Cb子塊B的MVCb0(x’,y’)要被導出。圖18B右側示出了細分樣式0內的四個Y子塊,其當2:1縮小時與Cb子塊B重疊。假設x = 2*x’且y=2*y’,細分樣式0內的四個Y子塊的四個MV:MV0(x-2,y-2),MV0(x+2,y-2),MV0(x-2,y+2)和MV0(x+2,y+2)用於導出MVCb0(x’,y’)。
(f)假設顏色分量C1的一個子塊的MV’是從顏色分量C0的k+1子塊的MV0,MV1,MV2,… MVk導出的。MV’可以導出為:
(i)MV’ = MVn,n是0…k中的任意數。
(ii)MV’ = f(MV0,MV1,MV2,…,MVk)。f是線性函數。
(iii)MV’ = f(MV0,MV1,MV2,…,MVk)。f是非線性函數。
(iv)MV’ = Average(MV0,MV1,MV2,…,MVk)。Average是平均運算。
(v)MV’ = Median(MV0,MV1,MV2,…,MVk)。Median是得到中位數值的運算。
(vi)MV’ = Max(MV0,MV1,MV2,…,MVk)。Max是得到最大值的運算。
(vii)MV’ = Min(MV0,MV1,MV2,…,MVk)。Min是得到最小值的運算。
(viii)MV’ = MaxAbs(MV0,MV1,MV2,…,MVk)。MaxAbs是得到具有最大絕對值的值的運算。
(ix)MV’ = MinAbs(MV0,MV1,MV2,…,MVk)。MinAbs是得到具有最小絕對值的值的運算。
(x)以圖18A和圖18B作為示例,MVCbt(x’,y’),其中t= 0或1,可以導出為: 1. MVCbt(x’,y’)= SatShift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2); 2. MVCbt(x’,y’)= Shift(MV0(x-2,y-2)+MV0(x+2,y-2)+MV0(x-2,y+2)+MV0(x+2,y+2),2); 3. MVCbt(x’,y’)= SatShift(MV0(x-2,y-2)+MV0(x+2,y-2),1); 4. MVCbt(x’,y’)= Shift(MV0(x-2,y-2)+MV0(x+2,y-2),1); 5. MVCbt(x’,y’)= SatShift(MV0(x-2,y+2)+MV0(x+2,y+2),1); 6. MVCbt(x’,y’)= Shift(MV0(x-2,y+2)+MV0(x+2,y+2),1); 7. MVCbt(x’,y’)= SatShift(MV0(x-2,y-2)+MV0(x+2,y+2),1); 8. MVCbt(x’,y’)= Shift(MV0(x-2,y-2)+ MV0(x+2,y+2),1); 9. MVCbt(x’,y’)= SatShift(MV0(x-2,y-2)+ MV0(x-2,y+2),1); 10. MVCbt(x’,y’)= Shift(MV0(x-2,y-2)+ MV0(x-2,y+2),1); 11. MVCbt(x’,y’)= SatShift(MV0(x+2,y-2)+MV0(x+2,y+2),1); 12. MVCbt(x’,y’)= Shift(MV0(x+2,y-2)+MV0(x+2,y+2),1); 13. MVCbt(x’,y’)= SatShift(MV0(x+2,y-2)+MV0(x-2,y+2),1); 14. MVCbt(x’,y’)= Shift(MV0(x+2,y-2)+MV0(x-2,y+2),1); 15. MVCbt(x’,y’)= MV0(x-2,y-2); 16. MVCbt(x’,y’)= MV0(x+2,y-2); 17. MVCbt(x’,y’)= MV0(x-2,y+2); 18. MVCbt(x’,y’)= MV0(x+2,y+2);
雙向預測的交織預測的示例性實施例
在一些實施例中,當交織預測應用在雙向預測上時,可以應用以下方法,以節省由於不同權重造成的內部位深度增大:
(a)對於列表X(X= 0或1),PX(x,y)= Shift(W0(x,y)*PX0(x,y)+ W1(x,y)*PX1(x,y),SW),其中PX(x,y)是列表X的預測,PX0(x,y)和PX1(x,y)分別是列表X以細分樣式0和細分樣式1的預測。W0和W1是整數,其表示交織預測權重值,並且SW表示權重值的精確度。
(b)最終預測值導出為P(x,y)= Shift(Wb0(x,y)*P0(x,y)+ Wb1(x,y)*P1(x,y),SWB),其中Wb0和Wb1為加權雙向預測中使用的整數,並且SWB為精確度。當不存在加權雙向預測時,Wb0=Wb1=SWB=1。
(c)在一些實施例中,PX0(x,y)和PX1(x,y)可以保持為插值濾波的精確度。例如,它們可以是具有16位元的無符號的(unsigned)整數。最終預測值導出為P(x,y)= Shift(Wb0(x,y)*P0(x,y)+ Wb1(x,y)*P1(x,y),SWB+PB),其中PB是來自插值濾波的附加精確度,例如,PB = 6。在此情況下,W0(x,y)*PX0(x,y)或W1(x,y)*PX1(x,y)可能超過16位元。提議將PX0(x,y)和PX1(x,y)首先右移到較低的精確度,以避免超過16位元。
(i)例如,對於列表X(X= 0或1),PX(x,y)= Shift(W0(x,y)*PLX0(x,y)+ W1(x,y)*PLX1(x,y),SW),其中PLX0(x,y)= Shift(PX0(x,y),M),PLX1(x,y)= Shift(PX1(x,y),M)。並且,最終預測導出為P(x,y)= Shift(Wb0(x,y)*P0(x,y)+ Wb1(x,y)*P1(x,y),SWB+PB-M)。例如,M設定為2或3。
(d)上述方法還可以適用於具有兩個參考預測塊的不同加權因數的其他雙向預測方法,諸如廣義雙向預測(Generalized Bi-Prediction)(GBi,其中權重可以為例如,3/8、5/8)、加權預測(其中權重可以為很大的值)。
(e)上述方法還可以適用於具有不同參考預測塊的不同權重因數的其他多假設單向預測或雙向預測方法。
以上描述的實施例和示例可以在接下來描述的方法1900和2000的上下文中實現。
圖19是根據本公開技術的用於改善視頻系統中的運動預測的方法1900的示例性流程圖。方法1900包含在1902處從視頻幀選擇像素集合以形成塊。方法1900包含在1904處根據第一樣式將塊細分為子塊的第一集合。方法1900包含在1906處基於子塊的第一集合生成第一中間預測塊。方法1900包含在1908處根據第二樣式將塊細分為子塊的第二集合。第二集合中的至少一個子塊具有與第一集合中的子塊不同的大小。方法1900包含在1910處基於子塊的第二集合生成第二中間預測塊。方法1900還包含在1912處基於第一中間預測塊和第二中間預測塊確定預測塊。
在一些實施例中,使用(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)區域級。
圖2000是根據所公開的技術的用於改善視頻系統中的基於塊的運動預測的方法2000的示例流程圖。方法2000包括在2002處從視頻幀中選擇像素集合以形成塊。方法2000包括在2004處基於塊的大小或來自與塊在空域上或時域上相鄰的另一塊的信息將塊細分為多個子塊。多個子塊中的至少一個子塊具有與其他子塊不同的大小。方法2000還包括在2006處通過將編碼算法應用於多個子塊來生成運動向量預測。在一些實施例中,編碼算法包括(1)仿射預測方法,(2)可選時域運動向量預測方法,(3)空域-時域運動向量預測方法,(4)雙向光流方法,或(5)幀速率上轉換方法中的至少一個。
在方法1900和2000中,可以實現部分交織。使用該方案,預測樣本的第一子集中的樣本被計算為第一中間預測塊的加權組合,並且預測樣本的第二子集中的樣本從基於子塊的預測複製,其中第一子集和第二子集是基於細分樣式。第一子集和第二子集可以一起構成整個預測塊,例如,當前正被處理的塊。如圖15A-15D中所示,在各種示例中,從交織中排除的第二子集可以由(a)角部子塊或(b)最頂部行和最底部行的子塊或(c)最左列或最右列的子塊構成。當前正在處理的塊的大小可以用作決定是否從交織預測中排除某些子塊的條件。
如在本文件中進一步描述的,編碼過程可以避免檢查從母塊細分的塊的仿射模式,其中母塊本身用不同於仿射模式的模式編碼。
在一些實施例中,視頻解碼器設備可實施視頻解碼的方法,其中如本文中所描述的經改善的基於塊的運動預測用於視頻解碼。該方法可以包含使用來自視頻幀的像素集合來形成視頻的塊。可以根據第一樣式將塊細分為子塊的第一集合。第一中間預測塊可以對應於子塊的第一集合。該塊可以包含根據第二樣式的子塊的第二集合。第二集合中的至少一個子塊具有與第一集合中的子塊不同的大小。該方法還可以基於第一中間預測塊和從子塊的第二集合生成的第二中間預測塊來確定預測塊。該方法的其他特徵可以類似於上述方法1900。
在一些實施例中,視頻解碼的解碼器側方法可以使用基於塊的運動預測以用於通過使用用於預測的視頻幀的塊來改善視頻質量,其中塊對應於像素塊的集合。可以基於塊的大小或者來自與塊在空域上或時域上相鄰的另一塊的信息將塊細分為多個子塊,其中多個子塊中的至少一個子塊具有與其他子塊不同的大小。解碼器可以使用通過將編碼算法應用於多個子塊而生成的運動向量預測。關於圖2000和對應的描述描述了該方法的其他特徵。
視頻處理的又另一方法包含導出當前視頻塊的子塊的第一集合的一個或多個運動向量,其中子塊的第一集合中的每一個具有第一細分樣式,以及基於一個或多個運動向量重構當前視頻塊。
在一些實施例中,導出一個或多個運動向量是基於仿射模型。
在一些實施例中,導出一個或多個運動向量是基於子塊的第二集合中的一個或多個的運動向量,子塊的第二集合中的每一個具有與第一細分樣式不同的第二細分樣式,並且子塊的第二集合中的一個或多個與子塊的第一集合中的至少一個重疊。例如,子塊的第一集合中的一個或多個運動向量包含MV1,子塊的第二集合中的一個或多個的運動向量包含MV01,MV02,MV03,… 和MV0K,並且K是正整數。在示例中,MV1 = f(MV01,MV02,MV03,…,MV0K)。在另一示例中,f(·)是線性函數。在又一示例中,f(·)是非線性函數。在又一示例中,MV1 = average(MV01,MV02,MV03,…,MV0K),並且average(·)是平均運算。在又一示例中,MV1 = median(MV01,MV02,MV03,…,MV0K),並且median(·)是計算中位數值的運算。在又一示例中,MV1 = min(MV01,MV02,MV03,…,MV0K),並且min(·)是從多個輸入值中選擇最小值的運算。在又一示例中,MV1 = MaxAbs(MV01,MV02,MV03,…,MV0K),並且MaxAbs(·)是從多個輸入值選擇最大絕對值的運算。
在一些實施例中,子塊的第一集合對應於第一顏色分量,導出一個或多個運動向量是基於子塊的第二集合中的一個或多個的運動向量,子塊的第二集合中的每一個具有與第一細分樣式不同的第二細分樣式,子塊的第二集合對應於與第一顏色分量不同的第二顏色分量。在示例中,第一顏色分量在第三顏色分量之後被編碼或解碼,並且其中第三顏色分量是Cr、Cb、U、V、R或B中的一個。在另一個示例中,第二顏色分量在第三顏色分量之前被編碼或解碼,並且其中第三顏色分量是Y或G。在又一示例中,導出一個或多個運動向量還基於子塊的第二集合中的至少一個的顏色格式。在又一個示例中,顏色格式是4:2:0、4:2:2或4:4:4。
在一些實施例中,第一細分樣式是基於當前視頻塊的高度或寬度。
圖21是視頻處理設備2100的方塊圖。設備2100可用於實現本文描述的一個或多個方法。設備2100可以實施為智能手機、平板計算機、計算機、物聯網(IoT)接收器等。設備2100可以包含一個或多個處理器2102、一個或多個儲存器2104和視頻處理硬體2106。(多個)處理器2102可以被配置為實現本文件中描述的一種或多種方法(包含但不限於方法1900和2000)。儲存器(多個儲存器)2104可以用於儲存用於實現本文描述的方法和技術的數據和代碼。視頻處理硬體2106可用於在硬體電路中實現本文件中描述的一些技術。
在一些實施例中,視頻編碼方法可以使用在如關於圖21所描述的硬體平臺上實現的設備來實現。
圖22是根據本技術的用於視頻處理的方法的示例流程圖。方法2200包含,在操作2202處,在當前塊與當前塊的編碼表示之間的轉換期間,確定當前塊的預測塊。預測塊包含第一部分和第二部分。第二部分對應於第一中間預測塊和第二中間預測塊的加權組合,其中當前塊在第一中間預測塊中使用第一樣式細分為子塊,當前塊在第二中間預測塊中使用第二樣式細分為子塊。方法2200包含,在操作2204處,從第一部分和第二部分生成當前塊。
圖23是根據本技術的用於視頻處理的方法的示例性流程圖。方法2300包含,在操作2302處,生成當前塊的預測塊,其中預測塊包含第一部分和第二部分。第二部分對應於第一中間預測塊和第二中間預測塊的加權組合,其中當前塊在第一中間預測塊被使用第一模式細分為子塊,當前塊在第二中間預測塊中被使用第二模式細分為子塊。方法2300包含,在操作2304處,將預測塊轉換為位元流中的編碼表示。
在一些實施例中,第一部分包含當前塊的角部子塊。在一些實施例中,第一部分包含最右列或最左列的子塊。在一些實施例中,第一部分包含最頂部行或最底部行的子塊。在一些實施例中,第一部分包含子塊的最頂部行、最底部行、最左列和最右列的子塊。
在一些實施例中,基於當前塊的大小不滿足特定條件來確定第一部分。在一些實施例中,當前塊的寬度和高度分別為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。在一些實施例中,對於寬度大於或等於高度的當前塊,第一部分包含當前塊的最左列和最右列的子塊。在一些實施例中,對於高度大於或等於寬度的當前塊,第一部分包含當前塊的最頂部行和最底部行的子塊。
在一些實施例中,第一部分中的位置對應於使用第二樣式細分的當前塊的子塊。子塊的寬度為S1,高度為H1,並且子塊的大小滿足以下之一:S1 >T1,H1 >T2,S1 >T1和H1 >T2,或S1 >T1或H1 > T2,T1和T2是整數。在一些實施方案中,T1 = T2 = 4。
圖24是示出可以實現本文公開的各種技術的示例性視頻處理系統2400的方塊圖。各種實現方式可以包含系統2400的一些或全部組件。系統2400可以包含用於接收視頻內容的輸入2402。視頻內容可以以原始或未壓縮格式接收,例如8或10位元多分量像素值,或者可以是壓縮或編碼格式。輸入2402可以表示網路介面、外圍總線介面或儲存介面。網路介面的示例包含諸如以太網,無源光網路(PON)等的有線介面和諸如Wi-Fi或蜂窩介面的無線介面。
系統2400可以包含編碼組件2404,其可以實現本文件中描述的各種編碼或編碼方法。編碼組件2404可以將來自輸入2402的視頻的平均位元率減小到編碼組件2404的輸出,以產生視頻的編碼表示。因此,編碼技術有時被稱為視頻壓縮或視頻轉碼技術。編碼組件2404的輸出可以儲存或者經由連接的通信傳輸,如組件2406所表示的。在輸入2402處接收的視頻的儲存或通信的位元流(或編碼)表示可以由組件2408使用,以生成發送到顯示介面2410的像素值或可顯示視頻。從位元流表示生成用戶可視視頻的過程有時被稱為視頻解壓縮。此外,雖然某些視頻處理操作被稱為“編碼”操作或工具,但是應當理解,編碼工具或操作在編碼器處使用,並且逆轉編碼結果的相應的解碼工具或操作將由解碼器進行。
外圍總線介面或顯示介面的示例可以包含通用串行總線(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:CU 701~704:子CU 711~714:塊 900:塊 901:填充區域 1000:當前CU 1001、1002:運動向量 1003、1004:時域距離 1010、1011、1110:參考圖片 1100:當前CU 1200:單邊運動估計 1300:當前塊 1301:樣式0 1302:樣式1 1303:預測塊P0 1304:預測塊P1 1305:最終預測塊P 1900、2000、2200、2300:方法 1902~1912: 2002~2006: 2100:視頻處理設備 2102:處理器 2104:儲存器 2106:視頻處理硬體 2202、2204、2302、2304:操作 2400:系統 2402:輸入 2404:編碼組件 2406:組件 2408:組件 2410:顯示介面 A、B、C、D、E:子塊 V0~v4:運動向量
圖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至15D示出了部分交織預測的示例性實施例。 圖16A至16C示出了從另一細分樣式導出一個細分樣式的MV的示例性實施例。 圖17A至17C示出了基於當前視頻塊的維度選擇細分樣式的示例性實施例。 圖18A和圖18B示出了從子塊在另一細分樣式內的另一分量中的MV導出子塊在細分樣式內的一個分量中的MV的示例性實施例。 圖19是用於改善基於塊的運動預測視頻系統的頻寬使用和預測精度的方法的示例性流程圖。 圖20是用於改善基於塊的運動預測視頻系統的頻寬使用和預測精度的方法的另一示例性流程圖。 圖21是可以用於實現本公開技術的實施例的視頻處理設備的方塊圖。 圖22是根據本技術的用於視頻處理的方法的示例性流程圖。 圖23是根據本技術的用於視頻處理的方法的示例性流程圖。 圖24是可以實現本公開技術的示例性視頻處理系統的方塊圖。
1900:方法
1902~1912:

Claims (15)

  1. 一種視頻處理的方法,包括: 在當前塊與所述當前塊的編碼表示之間的轉換期間,確定所述當前塊的預測塊,其中所述預測塊包含第一部分和第二部分,所述第二部分對應於第一中間預測塊和第二中間預測塊的權重組合,在第一中間預測塊中使用第一樣式將所述當前塊細分為子塊,並且在第二中間預測塊中使用第二樣式將所述當前塊細分為子塊;以及 從所述第一部分和所述第二部分生成所述當前塊。
  2. 一種視頻處理的方法,包括: 生成當前塊的預測塊,其中所述預測塊包含第一部分和第二部分,所述第二部分對應於第一中間預測塊和第二中間預測塊的權重組合,在所述第一中間預測塊中使用第一樣式將所述當前塊細分為子塊,並且在第二中間預測塊中使用第二樣式將所述當前塊細分為子塊;以及 將所述預測塊轉換為位元流中的編碼表示。
  3. 如申請專利範圍第1或2項所述的方法,其中所述第一部分對應於使用所述第一樣式細分為子塊的所述當前塊的部分。
  4. 如申請專利範圍第1至3項中任一項所述的方法,其中所述第一部分包含所述當前塊的角部子塊。
  5. 如申請專利範圍第1至4項中任一項所述的方法,其中所述第一部分包含最右列或最左列的子塊。
  6. 如申請專利範圍第1至5項中任一項所述的方法,其中所述第一部分包含最頂部行或最底部行的子塊。
  7. 如申請專利範圍第1至6項中任一項所述的方法,其中所述第一部分包含最頂部行、最底部行、最左列和最右列的子塊。
  8. 如申請專利範圍第1至7項中任一項所述的方法,其中基於所述當前塊的尺寸不滿足特定條件而確定所述第一部分。
  9. 如申請專利範圍第8項所述的方法,其中所述當前塊的寬度和高度分別為W和H,並且T、T1、T2為整數值,並且其中所述條件包含以下之一: i.  W>=T1並且H >=T2; ii. W>=T1並且H>=T2; iii.W>=T1或H >=T2; iv.     W>=T1或H>=T2; v. W+H>=T; vi.     W+H>=T; vii.W×H>=T;或 viii.W×H>=T。
  10. 如申請專利範圍第1至9項中任一項所述的方法,其中對於寬度大於或等於高度的所述當前塊,所述第一部分包含所述當前塊的最左列和最右列的子塊。
  11. 如申請專利範圍第1至10項中任一項所述的方法,其中對於高度大於或等於寬度的所述當前塊,所述第一部分包含所述當前塊的最頂部和最底部行的子塊。
  12. 如申請專利範圍第1至11項中任一項所述的方法,其中所述第一部分中的位置對應於使用所述第二樣式細分的所述當前塊的子塊,所述子塊具有S1的寬度和H1的高度,並且所述子塊的尺寸滿足一下之一: S1 > T1, H1 > T2, S1 > T1且H1 > T2,或 S1 > T1或 H1 > T2,並且T1和T2為整數。
  13. 如申請專利範圍第12項所述的方法,其中T1 = T2 = 4。
  14. 一種視頻處理設備,包括處理器,所述處理器配置為實現申請專利範圍第1至13項中的一個或多個中所述的方法。
  15. 一種非暫態計算機可讀介質,包含其上儲存的計算機程式代碼,所述計算機程式代碼用於執行申請專利範圍第1至13項中的一個或多個中所述的方法。
TW108131758A 2018-09-03 2019-09-03 部分交織的預測 TW202025726A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
WOPCT/CN2018/103770 2018-09-03
CN2018103770 2018-09-03
WOPCT/CN2018/104984 2018-09-11
CN2018104984 2018-09-11
CN2019070058 2019-01-02
WOPCT/CN2019/070058 2019-01-02

Publications (1)

Publication Number Publication Date
TW202025726A true TW202025726A (zh) 2020-07-01

Family

ID=68281771

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108131758A TW202025726A (zh) 2018-09-03 2019-09-03 部分交織的預測

Country Status (3)

Country Link
CN (1) CN110876064B (zh)
TW (1) TW202025726A (zh)
WO (1) WO2020049446A1 (zh)

Families Citing this family (1)

* 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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA200900032B (en) * 2006-07-07 2010-03-31 Ericsson Telefon Ab L M Video data management
JPWO2008084817A1 (ja) * 2007-01-09 2010-05-06 株式会社東芝 画像符号化と復号化の方法及び装置
KR101408698B1 (ko) * 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
CN101252686B (zh) * 2008-03-20 2010-04-14 上海交通大学 基于交织预测的视频帧内无损编解码方法及系统
CN108109629A (zh) * 2016-11-18 2018-06-01 南京大学 一种基于线性预测残差分类量化的多描述语音编解码方法和系统

Also Published As

Publication number Publication date
CN110876064A (zh) 2020-03-10
CN110876064B (zh) 2023-01-20
WO2020049446A1 (en) 2020-03-12

Similar Documents

Publication Publication Date Title
TWI736907B (zh) 改進的模式匹配的運動向量推導
CN111357294B (zh) 基于子块的运动信息列表的简化熵编解码
TWI731363B (zh) 高效的仿射Merge運動向量推導
TWI746994B (zh) 用於不同參考列表的不同精確度
CN112997480B (zh) 成对平均候选计算中的取整
CN112913241A (zh) 解码器侧运动矢量推导的限制
CN110740321B (zh) 基于更新的运动矢量的运动预测
TWI705696B (zh) 交織預測的改善
TWI722465B (zh) 子塊的邊界增強
CN113796084A (zh) 运动矢量和预测样点细化
CN110876063B (zh) 交织预测的快速编码方法
TW202025726A (zh) 部分交織的預測
TWI833795B (zh) 交織預測的快速編碼方法
CN113261281A (zh) 交织预测的使用
CN113348669A (zh) 交织预测和其他编解码工具之间的交互