TW202025780A - 用於幀內塊複製的基於歷史的運動矢量預測值 - Google Patents

用於幀內塊複製的基於歷史的運動矢量預測值 Download PDF

Info

Publication number
TW202025780A
TW202025780A TW108133898A TW108133898A TW202025780A TW 202025780 A TW202025780 A TW 202025780A TW 108133898 A TW108133898 A TW 108133898A TW 108133898 A TW108133898 A TW 108133898A TW 202025780 A TW202025780 A TW 202025780A
Authority
TW
Taiwan
Prior art keywords
block
motion
patent application
scope
mode
Prior art date
Application number
TW108133898A
Other languages
English (en)
Other versions
TWI833807B (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 TW202025780A publication Critical patent/TW202025780A/zh
Application granted granted Critical
Publication of TWI833807B publication Critical patent/TWI833807B/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

描述了用於數位視頻處理的設備、系統和方法,包括用於幀內塊複製的基於歷史的運動向量預測值。在代表性方面,一種用於視頻處理的方法包括:在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表;以及至少基於運動候選的第一表來確定使用幀內塊複製(IBC)模式而編碼的當前塊的運動信息,其中在該IBC模式中,至少一個運動向量指向包括當前塊的圖像段。該方法還包括基於運動信息來執行該轉換。

Description

用於幀內塊複製的基於歷史的運動矢量預測值
本專利文件涉及視頻編碼技術、設備和系統。 [相關申請的交叉引用] 根據適用的專利法和/或依據巴黎公約的規則,本申請是為了及時要求於2018年9月19日提交的國際專利申請No. PCT / CN2018 / 106518的優先權和利益。出於根據相關法律的所有目的,上述專利申請的全部內容通過引用而併入作為本專利文件的公開的一部分。
儘管視頻壓縮技術有所進步,但數位視頻仍然占互聯網和其他數位通信網路上的最大頻寬使用。隨著能夠接收和顯示視頻的連接用戶設備的數量增加,預計對數位視頻使用的頻寬需求將繼續增長。
描述了與數位視頻編碼,特別是基於過去(例如,歷史或統計)信息的圖像和視頻的幀內模式編碼有關的設備、系統和方法。所描述的方法可以應用於現有視頻編碼標準(例如,高效視頻編碼(High Efficiency Video Coding,HEVC))和未來視頻編碼標準(例如,多功能視頻編碼(Versatile Video Coding,VVC))或編解碼器。
在一個代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於包括幀內預測模式集合的統計信息的歷史幀內編碼信息的第一集合來選擇第一幀內預測模式;以及基於第一幀內預測模式來執行該轉換。
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於與當前塊的非鄰近鄰居(neighbor)相關聯的幀內預測模式來選擇第一幀內預測模式。該方法還包括基於第一幀內預測模式來執行該轉換。
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,基於當前塊的空域相鄰塊中的至少一個來選擇幀內預測模式;以及基於幀內預測模式來執行該轉換。空域相鄰塊中的至少一個與位於當前塊的第一列的左側的第一塊和位於當前塊的第一行的上側的第二塊不同。
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,生成最終預測塊;以及基於最終預測塊來執行該轉換。最終預測塊的至少一部分基於第一預測塊和第二預測塊的組合而生成,其中第一預測塊和第二預測塊基於來自包括當前塊的圖像段的重構樣點。
在另一代表性方面,所公開的技術可以用來提供用於視頻處理的方法。該示例方法包括:在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表;以及至少基於運動候選的第一表來確定使用幀內塊複製(Intra Block Copy,IBC)模式而編碼的當前塊的運動信息,在該IBC模式中,至少一個運動向量指向包括當前塊的圖像段。該方法還包括基於運動信息來執行該轉換。
在另一代表性方面,所公開的技術可以用來提供用於視頻編碼的方法。該用於視頻編碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,基於過去幀內編碼信息的第一集合從幀內預測模式集合中選擇第一幀內預測模式;以及基於第一幀內預測模式來處理位元流表示,以生成當前塊。
在另一代表性方面,所公開的技術可以用來提供用於視頻編碼的方法。該用於視頻編碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,從與當前塊鄰近或不鄰近的空域相鄰塊中的至少一個選擇幀內預測模式;以及基於幀內預測模式來處理位元流表示,以生成當前塊。
在又一代表性方面,所公開的技術可以用來提供用於視頻編碼的方法。該用於視頻編碼的示例方法包括:對於可視媒體數據的當前塊的位元流表示,生成基於來自包括當前塊的圖像段的重構樣點的第一預測塊和第二預測塊;基於第一預測塊和第二預測塊的線性函數來生成最終預測塊的至少一部分;以及基於最終預測塊來處理位元流表示,以生成當前塊。
在又一代表性方面,上述方法以處理器可運行代碼的形式而體現,並且被儲存在電腦可讀程式介質中。
在又一代表性方面,公開了一種被配置為或可操作來執行上述方法的設備。該設備可以包括被編程為實施該方法的處理器。
在又一代表性方面,視頻解碼器裝置可以實施如本文所描述的方法。
在附圖、說明書和申請專利範圍中更詳細地描述了所公開技術的上述以及其他方面和特徵。
由於對更高解析度視頻的日益增長的需求,視頻編碼方法和技術在現代技術中無處不在。視頻編解碼器通常包括壓縮或解壓縮數位視頻的電子電路或軟體,並且不斷被改進以提供更高的編碼效率。視頻編解碼器將未壓縮的視頻轉換為壓縮格式,反之亦然。視頻質量、用來表示視頻的數據量(由位元率確定)、編碼和解碼算法的複雜性、對數據丟失和錯誤的敏感性、編輯的簡易性、隨機存取和端到端延遲(時延)之間存在複雜的關係。壓縮格式通常符合標準視頻壓縮規範,例如,高效視頻編碼(HEVC)標準(也已知為H.265或MPEG-H第2部分)、要完成的多功能視頻編碼標準(VVC)、或其他當前和/或未來視頻編碼標準。
所公開技術的實施例可以應用於現有視頻編碼標準(例如,HEVC、H.265)和未來標準以改進運行時性能。在本文件中使用章節標題以提高描述的可讀性,並且不以任何方式將討論或實施例(和/或實施方式)僅限制於各個章節。
1 VVC 中的幀內預測的示例
1.1 具有 67 個幀內預測模式的幀內模式編碼
為了捕獲自然視頻中呈現的任意邊緣方向,方向幀內模式的數量從如HEVC中使用的33個擴展到65個。附加的方向模式在圖1中被描繪為紅色虛線箭頭,並且平面模式和DC模式保持不變。這些更密集的方向幀內預測模式適用於所有塊尺寸以及亮度幀內預測和彩度幀內預測。
如圖1所示,傳統的角度幀內預測方向被定義為以順時針方向從45度至-135度。在VTM2中,對於非方形塊,用廣角幀內預測模式自適應地替換幾個傳統的角度幀內預測模式。使用原始方法信令通知所替換的模式,並且在解析後將其重新映射到廣角模式的索引。幀內預測模式的總數不變(例如,67),並且幀內模式編碼不變。
在HEVC中,每個幀內編碼塊具有正方形形狀,並且其每邊的長度是2的冪。因此,使用DC模式生成幀內預測值不需要除法運算。在VTV2中,塊可以具有矩形形狀,這在一般情況下需要每塊使用除法運算。為了避免DC預測的除法運算,僅使用較長的邊來計算非方形塊的平均。
1.2 幀內模式編碼的示例
在一些實施例中,為了保持MPM列表生成的複雜度低,使用具有3個最可能模式(Most Probable Mode,MPM)的幀內模式編碼方法。對MPM列表考慮以下三個方面:
--相鄰幀內模式;
--推導的幀內模式;和
--默認幀內模式。
對於相鄰幀內模式(A和B),考慮位於左側和上側的兩個相鄰塊。左側和上側的塊是那些連接到當前塊的左上角樣點的塊,如圖2所示。通過對兩個相鄰幀內模式執行修剪過程來形成初始MPM列表。修剪過程用來移除重複的模式,使得僅唯一模式可以被包括到MPM列表中。如果兩個相鄰模式彼此不同,則在用現有的兩個MPM進行修剪檢查之後,默認模式(例如,PLANA (0)、DC (1)、ANGULAR50(例如,50))中的一個被添加到MPM列表中。當兩個相鄰模式相同時,在修剪檢查之後,默認模式或推導的模式被添加到MPM列表。三個MPM列表的詳細生成過程如下推導:
如果兩個相鄰候選模式相同(即,A == B),
如果A小於2,則candModeList [3] = {0, 1, 50}。
否則,candModeList[ 0 ] = {A, 2 + ( ( A + 61 ) % 64 ), 2 + ( ( A − 1 ) % 64 )}
否則,
如果A和B都不等於0,則candModeList [3] = {A, B, 0}。
否則,如果A和B都不等於1,則candModeList [3] = {A, B, 1}。
否則,candModeList [3] = {A, B, 50}。
附加的修剪過程被用來移除重複的模式,以便僅唯一模式可以被包括在MPM列表中。對於64個非MPM模式的熵編碼,則使用6位元固定長度碼(Fixed Length Code,FLC)。
1.3 非方形塊的廣角幀內預測
在一些實施例中,傳統的角度幀內預測方向被定義為以順時針方向從45度至-135度。在VTM2中,對於非方形塊,用廣角幀內預測模式自適應地替換幾個傳統的角度幀內預測模式。使用原始方法信令通知所替換的模式,並且在解析後將其重新映射到廣角模式的索引。某個塊的幀內預測模式的總數不變,例如67,並且幀內模式編碼不變。
為了支持這些預測方向,如圖3A和圖3B中的示例所示,定義長度為2W+1的上側參考和長度為2H+1的左側參考。
在一些實施例中,廣角方向模式中的所替換的模式的模式編號取決於塊的長寬比。表1中示出了所替換的幀內預測模式。
表1:由廣角模式替換的幀內預測模式
條件 所替換的幀內預測模式
W / H == 2 模式2、3、4、5、6、7
W / H > 2 模式2、3、4、5、6、7、8、9、10、11
W / H == 1
H / W == 1/2 模式61、62、63、64、65、66
H / W > 1/2 模式57、58、59、60、61、62、63、64、65、66
如圖4所示,在廣角幀內預測的情況下,兩個垂直鄰近的預測樣點可以使用兩個非鄰近參考樣點。因此,低通參考樣點濾波和側平滑(side smoothing)被應用於廣角預測,以減少所增加的間隙∆pα 的負面影響。
1.4 基於位置的幀內預測組合( PDPC )的示例
在VTM2中,平面模式的幀內預測的結果通過基於位置的幀內預測組合(PDPC)方法被進一步修改。PDPC是一種調用未濾波的邊界參考樣點和具有濾波後的邊界參考樣點的HEVC式幀內預測的組合的幀內預測方法。PDPC應用於以下幀內模式而無需信令通知:平面模式、DC模式、水平模式、垂直模式、左下角角度模式及其八個鄰近角度模式、以及右上角角度模式及其八個鄰近角度模式。
預測樣點pred (x ,y )使用幀內預測模式(DC、平面、角度)和參考樣點的線性組合根據如下等式而預測:
pred (x ,y )=(wL ×R -1,y +wT ×Rx, -1wTL ×R -1, -1 +(64 –wLwT +wTLpred (x ,y ) + 32 ) >>shift
本文中,Rx, -1R -1,y 分別表示位於當前樣點(x ,y )的上側和左側的參考樣點,並且R -1, -1 表示位於當前塊的左上角的參考樣點。
在一些實施例中,如果PDPC應用於DC模式、平面模式、水平模式和垂直模式,則不需要附加的邊界濾波,例如在HEVC的情況下需要的DC模式邊界濾波或水平/垂直模式邊緣濾波。
圖5A-圖5D示出了在各種預測模式上應用的PDPC的參考樣點(Rx, -1R -1,y R -1, -1 )的定義。預測樣點pred (x’ ,y’ )位於預測塊內的(x’ ,y’ )處。參考樣點Rx, -1 的坐標xx =x’ +y’ + 1給出,並且參考樣點R -1,y 的坐標y 類似地由y =x’ +y’ + 1給出。
在一些實施例中,PDPC權重取決於預測模式並被示出在表2中,其中S =shift
表2:根據預測模式的PDPC權重示例
預測模式 wT wL wTL
對角線右上角 16 >> ( (y’ >>1 ) >>S ) 16 >> ( (x’ >>1 ) >>S ) 0
對角線左下角 16 >> ( (y’ >>1 ) >>S ) 16 >> ( (x’ >>1 ) >>S ) 0
鄰近對角線右上角 32 >> ( (y’ >>1 ) >>S ) 0 0
鄰近對角線左下角 0 32 >> ( (x’ >>1 ) >>S ) 0
1.5 彩度編碼的示例
在HEVC彩度編碼中,對於彩度塊允許五個模式(包括一個直接模式(Direct Mode,DM)和四個默認模式,該直接模式是來自左上角對應亮度塊的幀內預測模式)。這兩個顏色分量共享相同的幀內預測模式。
在一些實施例中,不同於HEVC中的設計,已經提出了兩種新方法,包括:跨分量線性模型(CCLM)預測模式和多DM。
1.5.1 跨分量線性模型( CCLM )的示例
在一些實施例中,為了減少跨分量冗餘,在JEM中使用跨分量線性模型(CCLM)預測模式(也稱為LM),對於CCLM通過使用如下線性模型基於相同CU的重構亮度樣點來預測彩度樣點:
Figure 02_image001
(1)
這裡,
Figure 02_image003
表示CU中的預測彩度樣點,並且對於顏色格式4:2:0或4:2:2,
Figure 02_image005
表示相同CU的降採樣的重構亮度樣點,而對於顏色格式4:4:4,
Figure 02_image005
表示相同CU的重構亮度樣點。CCLM參數
Figure 02_image007
Figure 02_image009
通過最小化當前塊周圍的相鄰重構亮度和彩度樣點之間的回歸誤差來推導,如下所示:
Figure 02_image011
(2)
以及
Figure 02_image013
(3)
這裡,
Figure 02_image015
表示降採樣(對於顏色格式4:2:0或4:2:2)或原始(對於顏色格式4:4:4)的上側和左側相鄰重構亮度樣點,
Figure 02_image017
表示上側和左側相鄰重構彩度樣點,並且
Figure 02_image019
的值等於當前彩度編碼塊的寬度和高度中的最小一個的兩倍。
在一些實施例中,對於方形形狀的編碼塊,直接應用上述兩個等式。在其他實施例中,對於非方形編碼塊,首先對較長邊界的相鄰樣點進行子採樣,以具有與較短邊界相同的數量的樣點。圖6示出了CCLM模式中涉及的左側和上側重構樣點以及當前塊的樣點的位置。
在一些實施例中,該回歸誤差最小化計算是作為解碼過程的一部分而執行的,而不僅僅是作為編碼器搜索操作,所以不使用語法來傳達α值和β值。
在一些實施例中,CCLM預測模式還包括兩個彩度分量之間的預測,例如,從Cb(藍差(blue-difference))分量預測Cr(紅差(red-difference))分量。代替使用重構樣點信號,CCLM Cb到Cr(Cb-to-Cr)預測應用於殘差域中。這是通過將加權重構Cb殘差添加到原始Cr幀內預測來形成最終Cr預測而實施的:
Figure 02_image021
(4)
這裡,
Figure 02_image023
表示位置(i,j)處的重構Cb殘差樣點。
在一些實施例中,縮放因子
Figure 02_image007
可以以與CCLM亮度到彩度預測中相似的方式來推導。唯一的差異是相對於誤差函數中的默認
Figure 02_image007
值添加了回歸成本,使得推導的縮放因子如下所示偏向默認值−0.5:
Figure 02_image025
(5)
這裡,
Figure 02_image027
表示相鄰的重構Cb樣點,
Figure 02_image029
表示相鄰的重構Cr樣點,並且
Figure 02_image031
等於
Figure 02_image033
在一些實施例中,CCLM亮度到彩度預測模式被添加作為一個附加的彩度幀內預測模式。在編碼器側,添加了針對彩度分量的再一個RD成本檢查,以用於選擇彩度幀內預測模式。當除了CCLM亮度到彩度預測模式之外的幀內預測模式用於CU的彩度分量時,CCLM Cb到Cr預測用於Cr分量預測。
1.5.2 多模型 CCLM 的示例
在JEM中,有兩個CCLM模式:單模型CCLM模式和多模型CCLM模式(Multiple Model CCLM Mode,MMLM)。如名稱所指示的,對於整個CU,單模型CCLM模式採用一個線性模型來從亮度樣點預測彩度樣點的,而在MMLM中,可以有兩個模型。
在MMLM中,當前塊的相鄰亮度樣點和相鄰彩度樣點被分類為兩組,每一組被用作訓練集以推導線性模型(即,針對特定組推導特定αβ )。此外,當前亮度塊的樣點也基於對相鄰亮度樣點進行分類的相同規則而分類。
圖7示出了將相鄰樣點分類為兩組的示例。Threshold 被計算為相鄰的重構亮度樣點的平均值。Rec L [x ,y ] >=Threshold 的相鄰樣點被分類為組1;而Rec L [x ,y ] >Threshold 的相鄰樣點被分類為組2。
Figure 02_image035
(6)
圖8A和圖8B分別示出了彩度樣點及其對應亮度樣點的示例和聯合探索模型(JEM)中的跨分量線性模型(CCLM)的下濾波的示例。
1.5.3 VVC 中的彩度編碼的示例
關於現有實施方式,在VTM-2.0中採用了JEM中的CCLM,而在VTM-2.0中沒有採用JEM中的MM-CCLM。
在一些實施例中,對於彩度幀內編碼,可以首先推導彩度幀內預測模式的候選列表,並且其中可以包括三個部分:
(1)一個直接模式(DM),其被設置為與覆蓋彩度塊的並置的左上角位置的亮度CB相關聯的一個幀內亮度預測模式。圖9A和圖9B中示出了示例,其中並置位置表示為“TL”
(2)一個跨分量線性模型(CCLM)模式
(3)四個默認模式(DC模式、平面模式、水平模式和垂直模式,如圖1中突出顯示的)。在一個示例中,如果四個默認模式中的一個與DM模式相同,則它由具有最大模式索引的幀內預測模式(例如,由圖10中描繪的虛線指示的幀內預測模式)替換。
1.6 VVC2 中的語法、語義和解碼的示例
在一些實施例中,幀內模式相關信息的語法和語義可以被如下指定:
3 編碼單元( Coding Unit CU )語 法的示例
coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { 描述符
  if( slice_type  !=  I ) {  
      pred_mode_flag ae(v)
  }  
  if( CuPredMode[ x0 ][ y0 ]  = =  MODE_INTRA ) {  
     if( treeType = = SINGLE_TREE  | |  treeType = = DUAL_TREE_LUMA ) {  
      intra_luma_mpm_flag [ x0 ][ y0 ]  
       if( intra_luma_mpm_flag[ x0 ][ y0 ] )  
         intra_luma_mpm_idx [ x0 ][ y0 ] ae(v)
       else  
         intra_luma_mpm_remainder [ x0 ][ y0 ] ae(v)
     }  
     if( treeType = = SINGLE_TREE  | |  treeType = = DUAL_TREE_CHROMA )  
      intra_chroma_pred_mode [ x0 ][ y0 ] ae(v)
  } else {  
     [Ed. (BB): Inter prediction yet to be added, pending further specification development.]  
  }  
  if( CuPredMode[ x0 ][ y0 ]  !=  MODE_INTRA )  
    cu_cbf ae(v)
  if( cu_cbf ) {  
     transform_tree( x0, y0, cbWidth, cbHeight, treeType )  
}  
編碼單元語義的示例。在一些實施例中,語法元素intra_luma_mpm_flag [ x0 ][ y0 ]、intra_luma_mpm_idx [ x0 ][ y0 ]和intra_luma_mpm_remainder [ x0 ][ y0 ]指定亮度樣點的幀內預測模式。陣列索引x0、y0指定所考慮的預測塊的左上角亮度樣點相對於圖片的左上角亮度樣點的位置( x0 , y0 )。當intra_luma_mpm_flag[ x0 ][ y0 ]等於1時,根據規範(例如,條款8.2.2)從相鄰的幀內預測的預測單元推斷幀內預測模式。
在一些實施例中,intra_chroma_pred_mode [ x0 ][ y0 ]指定彩度樣點的幀內預測模式。陣列索引x0、y0指定所考慮的預測塊的左上角亮度樣點相對於圖片的左上角亮度樣點的位置( x0, y0 )。
推導亮度幀內預測模式的示例。在一些實施例中,該過程的輸入是亮度位置( xPb , yPb ),其指定當前亮度預測塊的相對於當前圖片的左上角亮度樣點的左上角樣點。在該過程中,亮度幀內預測模式IntraPredModeY[ xPb ][ yPb ]被推導。表4指定了幀內預測模式的值和相關聯的名稱。
4 :幀內預測模式和相關聯的名稱的示例規範
幀內預測 模式 相關聯的
0 INTRA_PLANAR
1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
77 INTRA_CCLM
在表4的上下文中,幀內預測模式INTRA_CCLM僅可應用於彩度分量,並且標記0..66的IntraPredModeY[ xPb ][ yPb ]表示如圖1所示的預測的方向。在一些實施例中,IntraPredModeY[ xPb ][ yPb ]通過以下順序步驟而推導:
1. 相鄰位置( xNbA, yNbA )和( xNbB, yNbB )分別被設置為等於( xPb − 1, yPb )和( xPb, yPb − 1 )。
2. 對於被A或B替換的X,變量candIntraPredModeX如下推導:
- 調用塊的可用性推導過程,其中位置( xCurr, yCurr )被設置為等於( xPb, yPb )並且相鄰位置( xNbY, yNbY )被設置為等於( xNbX, yNbX )作為輸入,並且輸出被分配給availableX。
- 候選幀內預測模式candIntraPredModeX如下推導:
- 如果以下條件中的一個或多個為真,則candIntraPredModeX被設置為等於INTRA_DC。
- 變量availableX等於FALSE。
- CuPredMode[ xNbX ][ yNbX ]不等於MODE_INTRA。
- X等於B並且yPb − 1小於( ( yPb  >>  CtbLog2SizeY )  >>  CtbLog2SizeY )。
- 否則,candIntraPredModeX被設置為等於IntraPredModeY[ xNbX ][ yNbX ]。
3. candModeList[ x ],其中x = 0..2,如下推導:
- 如果candIntraPredModeB等於candIntraPredModeA,則以下適用:
- 如果candIntraPredModeA小於2(即等於INTRA_PLANAR或INTRA_DC),則candModeList[ x ],其中x = 0..2,如下推導:
candModeList[ 0 ] = INTRA_PLANAR         (8-1)
candModeList[ 1 ] = INTRA_DC              (8-2)
candModeList[ 2 ] = INTRA_ANGULAR50     (8-3)
- 否則,candModeList[ x ],其中x = 0..2,如下推導:
candModeList[ 0 ] = candIntraPredModeA                 (8-4)
candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 )(8-5)
candModeList[ 2 ] = 2 + ( ( candIntraPredModeA − 1 ) % 64 ) (8-6)
- 否則(candIntraPredModeB不等於candIntraPredModeA),以下適用:
- candModeList[ 0 ]和candModeList[ 1 ] 如下推導:
candModeList[ 0 ] = candIntraPredModeA             (8-7)
candModeList[ 1 ] = candIntraPredModeB             (8-8)
- 如果candModeList[ 0 ]和candModeList[ 1 ]都不等於INTRA_PLANAR,則candModeList[ 2 ]被設置為等於INTRA_PLANAR,
- 否則,如果candModeList[ 0 ]和candModeList[ 1 ]都不等於INTRA_DC,則candModeList[ 2 ]被設置為等於INTRA_DC,
- 否則,candModeList[ 2 ]被設置為等於INTRA_ANGULAR50。
4. IntraPredModeY[ xPb ][ yPb ]通過應用以下過程而被推導:
- 如果intra_luma_mpm_flag[ xPb ][ yPb ]等於1,則IntraPredModeY[ xPb ][ yPb ]被設置為等於candModeList[ intra_luma_mpm_idx[ xPb ][ yPb ] ]。
- 否則,IntraPredModeY[ xPb ][ yPb ]通過應用以下順序步驟而被推導:
1. 陣列candModeList[ x ],其中x = 0..2,通過以下順序步驟而被修改:
i. 當candModeList[ 0 ]大於candModeList[ 1 ]時,兩個值如下交換:
( candModeList[ 0 ], candModeList[ 1 ] ) = Swap( candModeList[ 0 ], candModeList[ 1 ] )(8-9)
ii. candModeList[ 0 ]大於candModeList[ 2 ]時,兩個值如下交換:
( candModeList[ 0 ], candModeList[ 2 ] ) = Swap( candModeList[ 0 ], candModeList[ 2 ] )(8-10)
iii. candModeList[ 1 ]大於candModeList[ 2 ]時,兩個值如下交換:
( candModeList[ 1 ], candModeList[ 2 ] ) = Swap( candModeList[ 1 ], candModeList[ 2 ] )(8-11)
2. IntraPredModeY[ xPb ][ yPb ]通過以下順序步驟而被推導:
i. IntraPredModeY[ xPb ][ yPb ]被設置為等於intra_luma_mpm_remainder[ xPb ][ yPb ]。
ii. 對於i等於0至2(含0和2),當IntraPredModeY[ xPb ][ yPb ]大於或等於candModeList[ i ]時,IntraPredModeY[ xPb ][ yPb ]的值以1遞增。
變量IntraPredModeY[ x ][ y ],其中x = xPb..xPb + cbWidth – 1且y = yPb..yPb + cbHeight – 1,被設置為等於IntraPredModeY[ xPb ][ yPb ]。
推導彩度幀內預測模式的示例。在一些實施例中,該過程的輸入是亮度位置( xPb, yPb ),其指定當前彩度預測塊的相對於當前圖片的左上角亮度樣點的左上角樣點。在該過程中,推導彩度幀內預測模式IntraPredModeC[ xPb ][ yPb ]。
在一些實施例中,使用如表5和表6中指定的intra_chroma_pred_mode[ xPb ][ yPb ]和IntraPredModeY[ xPb ][ yPb ]推導彩度幀內預測模式IntraPredModeC[ xPb ][ yPb ]。
5 針對 sps_cclm_enabled_flag = 0 IntraPredModeC[ xPb ][ yPb ] 的示例 規範
intra_chroma_pred_mode[ xPb ][ yPb ] IntraPredModeY[ xPb ][ yPb ]
0 50 18 1 X ( 0  >=  X  >=  66 )
0 66 0 0 0 0
1 50 66 50 50 50
2 18 18 66 18 18
3 1 1 1 66 1
4 0 50 18 1 X
6 針對 sps_cclm_enabled_flag = 1 IntraPredModeC[ xPb ][ yPb ] 的示例 規範
intra_chroma_pred_mode[ xPb ][ yPb ] IntraPredModeY[ xPb ][ yPb ]
0 50 18 1 X ( 0  >=  X  >=  66 )
0 66 0 0 0 0
1 50 66 50 50 50
2 18 18 66 18 18
3 1 1 1 66 1
4 77 77 77 77 77
5 0 50 18 1 X
1.7 多直接模式( DM )的示例
最近JEM採用了現有實施方式(例如,JVET-D0111)。由於I條帶中的亮度和彩度分量的單獨塊分割結構,一個彩度CB可以對應於幾個亮度CB。因此,為了進一步提高編碼效率,提出了一種用於彩度幀內編碼的多直接模式(Multiple Direct Modes,MDM)方法。在MDM中,彩度模式候選的列表包括以下三個部分:
(1)CCLM模式
(2)從覆蓋當前彩度塊的並置的五個位置的亮度CB推導的幀內預測模式:要按順序檢查的五個位置被定義為:在I條帶的當前彩度塊的對應亮度塊內的中心、左上角、右上角、左下角和右下角4x4塊。對於P條帶和B條帶,不需要檢查這五個子塊,因為它們將在一個CB內。圖11A和圖11B中示出了五個並置亮度位置的示例,它們分別由CR、TL、TR、BL和BR表示。
(3)用來統一亮度和彩度模式推導過程的來自空域相鄰塊的彩度預測模式(注明移除和添加):
○來自當前塊的左側、上側、左下側、右上側和左上側空域相鄰塊的5個彩度預測模式,以及如Merge模式中的5個空域塊的位置(平面模式和DC模式被移除)
○平面模式和DC模式被添加
○推導的模式被添加,這些幀內模式通過將-1或+1添加到已經被包括到列表中的角度模式而獲得
○默認模式按以下順序被添加:垂直(模式18)、水平(模式50)、模式2、模式34、模式66、模式10、模式26(模式66、模式10和模式26被添加)
○添加以下規則:如果四個默認模式(平面模式、水平模式、垂直模式和DC模式)中的任何一個不被包括在列表中,則缺失的默認模式用來替換最後一個或多個候選。
在一些實施例中,每當新的彩度幀內模式被添加到候選列表時,都應用修剪過程。在該貢獻中,彩度幀內模式候選列表尺寸總是被設置為10。
1.8 幀內塊複製的示例
在一些實施例中,HEVC屏幕內容編碼(Screen Content Coding,SCC)擴展採用新的編碼工具,幀內塊複製(IBC),也名為幀內塊補償或當前圖片參考(Current Picture Referencing,CPR),在編碼性能改進方面是非常有效的技術。IBC是從位於相同圖片的已經重構的區域的參考塊預測當前預測塊的塊匹配技術。
在IBC中,位移向量(稱為塊向量或BV、或運動向量)用來信令通知從當前塊的位置到參考塊的位置的相對位移。此外,相同圖片內的先前重構的參考塊被添加到預測誤差,以形成重構的當前塊。在該技術中,參考樣點對應於環路濾波操作之前的當前圖片的重構樣點。在HEVC中,環路濾波是指去方塊濾波和樣點自適應偏移(Sample Adaptive Offset,SAO)濾波。圖12中示出了幀內塊補償的示例。
在一些實施例中,在序列和圖片級別處信令通知對IBC模式的使用。當IBC模式在序列參數集(Sequence Parameter Set,SPS)處被啟用時,它可以在圖片級別處被啟用。當IBC模式在圖片級別處被啟用時,當前重構圖片被視為參考圖片。因此,在HEVC SCC中,除了現有的HEVC幀間模式之外,不需要塊級別上的語法改變來信令通知對IBC模式的使用。
在一些實施例中,以下是HEVC SCC中的IBC模式的特徵的列表:
-- 在IBC模式中支持HEVC幀間模式中的所有預測單元分割模式,例如2N×2N或2N×N或N×2N或N×N和非對稱運動分割(Asymmetrical Motion Partitioning,AMP)模式。
-- Merge和跳過模式也可用於IBC模式。Merge候選列表構建是統一的,包含來自相鄰位置的以IBC模式或以HEVC幀間模式編碼的Merge候選。取決於所選擇的Merge索引,Merge或跳過模式下的當前塊可以合併到IBC模式編碼的鄰居或HEVC幀間模式編碼的鄰居中。
-- 用於IBC模式的塊向量預測和編碼方案重用用於HEVC幀間模式中的運動向量預測和編碼的方案(AMVP和MVD編碼)。
-- 殘差變換、量化和係數編碼與HEVC幀間模式中相同。
除了上面列舉的特徵之外,一些實施例包括用於IBC模式的附加的特徵(或處理),包括:
-- IBC模式的運動向量,也稱為塊向量,以整數像素精度編碼,但解碼後以四分之一像素精度儲存在儲存器中,因為插值和去方塊階段需要四分之一像素精度。當所儲存的向量預測值用於IBC模式的運動向量預測時,所儲存的向量預測值將被右移2。
-- 具有啟用的IBC模式的條帶將被視為P條帶或B條帶,即使除了當前圖片本身之外沒有其他圖片被用作參考圖片。
-- 對於IBC模式禁用加權預測,因為沒有觀察到明顯的壓縮益處。
2 現有實施方式中的缺點的示例
JEM或VTM中的當前幀內模式編碼實施方式至少展示出以下問題:
●對於亮度編碼,僅考慮鄰近的空域相鄰塊的預測模式。先前編碼塊的統計幀內預測信息的缺乏導致有限的編碼性能改進。
●在現有實施方式中,提出檢查要被添加到MPM列表的更多相鄰塊,以便更好地編碼幀內預測模式。由於鄰近的空域相鄰塊的多次存取,複雜性也增加了。
●對於彩度編碼,多DM解決方案可以帶來附加的編碼增益,代價是更高的複雜性,因為相鄰彩度模式需要被儲存,而這在HEVC中是不需要的。
●IBC可以處理遠離當前塊的重複圖案,並且幀內編碼模式可以處理減少更少的空域相關性。然而,兩個中的任何一個都只能對某種情況有益。
3 基於過去信息的幀內模式編碼的示例方法
本公開技術的實施例克服了現有實施方式的缺點,從而提供了編碼效率更高但計算複雜性更低的視頻編碼。基於過去信息的幀內模式編碼,如在本文件中所描述的,可以增強現有視頻編碼標準和未來視頻編碼標準,在針對各種實施方式描述的以下示例中被闡述。下面提供的所公開技術的示例解釋了一般概念,並且不意味著被解釋為限制。在示例中,除非明確相反指示,否則這些示例中描述的各種特徵可以被組合。
基於歷史信息的幀內模式編碼的示例
示例1。在一個示例中,可以在編碼/解碼過程中維護具有幀內預測模式(Intra Prediction Mode,IPM)的統計信息的表,以幫助幀內模式編碼。
(a)在一個示例中,該表包括每個IPM的出現(occurrence)和/或頻率。可替代地,該表可以具有允許的IPM的部分集合的條目。
(b)表中列出的部分IPM可以作為新的MPM被添加到MPM列表。
(i)在一個示例中,來自空域相鄰塊的IPM首先按順序被添加到MPM列表。之後,來自該表的一些IPM可以在修剪之後按順序被添加。如果列表未滿,則還可以添加推導的IPM。
(ii)在一個示例中,MPM列表尺寸可以擴展。在這種情況下,來自空域相鄰塊和推導的模式的IPM可以首先按順序被添加到MPM列表。之後,來自該表的一些IPM可以在修剪之後按順序被添加。
(c)被包括在MPM列表中的IPM可以基於該表而重新排序。
(i)在一個示例中,首先基於相鄰塊和推導的模式來構建MPM列表(例如,如章節1.2中所描述的)。之後,基於與記錄在表中的IPM相關聯的出現或頻率的降序,對MPM列表進行重新排序。這樣,MPM列表中具有最高出現或頻率的IPM將被調整為處於MPM列表的第一位置。
示例2。不同的表可以用於不同的顏色分量。
(a)例如,一個表用於亮度幀內模式編碼,並且另一個表用於彩度幀內模式編碼。
(b)可替代地,僅一個表用於亮度幀內模式編碼。
(c)可替代地,使用多個表還是一個表取決於單獨的編碼樹是否分別用於亮度和彩度。
示例3。表中的一個模式M的頻率或出現在用模式M對塊進行解碼之後被累加K(例如,K = 1)
(a)在一個示例中,模式的出現具有最大值(例如,255)。
(b)如果模式的至少一個出現達到最大值,則應用規則化(regulation)(或歸一化)過程。
(i)在一個示例中,表中的所有出現數被右移一個數,諸如2。
(ii)在另一示例中,表中的所有出現數減去一個數,諸如表中的最小出現數。
示例4。代替利用鄰近的相鄰塊的IPM來對塊進行編碼,可以利用非鄰近的相鄰塊的幀內預測模式。
(a)非鄰近的相鄰塊的IPM可以被添加到MPM列表。可替代地,可以應用IPM的修剪。如果非鄰近的相鄰塊的IPM不同於MPM列表中的任何IPM,則它可以被添加到MPM列表。
(b)在一個示例中,MPM列表尺寸可以被擴展。在這種情況下,來自鄰近的相鄰塊和推導的模式的IPM可以首先按順序被添加到MPM列表。之後,來自非鄰近的相鄰塊的IPM可以在修剪之後按順序被添加。
(c)非鄰近的相鄰塊的IPM可以用來對非MPM IPM進行重新排序。在一個示例中,對於與非鄰近的相鄰塊相關聯的那些IPM,可以分配更高的優先級,例如,可以使用更少的位元來對它們進行編碼。
示例5。與當前塊相關聯的IPM的編碼可以取決於該表、來自鄰近的空域相鄰塊的IPM、來自非鄰近的空域相鄰塊的IPM。
對鄰近的相鄰塊的選擇的示例
示例6。代替使用相對於當前塊的左上角位置的上側和左側相鄰塊來用於幀內模式編碼(諸如使用上側和左側相鄰塊的幀內預測模式來構建MPM列表),可以利用不同的位置。
(a)在一個示例中,相對於當前塊的左上角位置的上側相鄰塊由相對於當前塊的第一列的中心位置的上側相鄰塊替換,如圖13A至圖13C所示。
(b)在一個示例中,相對於當前塊的左上角位置的左側相鄰塊由相對於當前塊的第一行的中心位置的左側相鄰塊替換,如圖13D至圖13F所示。
示例7。代替利用所有種類的塊的固定的M個相對相鄰塊,對M個相鄰塊的選擇可以取決於塊形狀和/或塊尺寸。
(a)在一個示例中,如果塊是方形塊,則相對於用於幀內模式編碼的當前塊的左上角位置的上側和左側相鄰塊的幀內預測模式可以用於編碼當前塊的幀內預測模式。
(b)在一個示例中,如果塊是非方形塊,則相對於用於幀內模式編碼的當前塊的第一行和/或第一列的中心位置的上側和/或左側相鄰塊的幀內預測模式可以用於編碼當前塊的幀內預測模式。
一個幀內編碼塊的多個預測塊的示例
示例8。來自包含當前塊的相同片/條帶/圖片的重構樣點可以用來生成多個預測塊。
(a)在一個示例中,可以首先生成兩個預測塊,並且從這兩個預測塊生成最終預測塊。其中它們中的一個通過幀內預測模式而生成,並且另一個通過指向包含當前塊的相同片/條帶/圖片(例如,幀內塊複製;並且運動向量也稱為塊向量)的運動向量而生成。
(b)在一個示例中,線性函數被應用於兩個預測塊,以推導最終幀內預測塊。
(i)可替代地,僅最終預測塊的一部分從多個(例如,兩個)預測塊生成,並且剩餘部分從多個預測塊中的一個直接複製。
(ii)在一個示例中,兩個預測塊的平均(即,兩個預測塊的權重相等)被用作最終幀內預測塊。
(iii)在一個示例中,可以對相對於一個塊的不同的位置應用不同的權重,和/或可以對不同的幀內預測模式應用不同的權重。
(iv)在一個示例中,可以在SPS/PPS/VPS/圖片或序列或條帶標頭/片/CTU組/CTU/CU/PU/TU中信令通知權重。
(v)可以預先定義應用於兩個預測塊的權重。
示例9。上述方法可以在某些條件下應用。
(a)它可以應用於某些顏色分量,例如,僅亮度分量。
(b)它可以應用於某個塊尺寸/塊形狀等。
示例10。當IBC被視為幀間模式(即,具有用來推導預測塊的至少一個運動向量)時,可以使用基於歷史的運動向量預測(History-based Motion Vector Prediction,HMVP)方法,該方法利用用於運動信息預測的先前編碼的運動信息。HMVP方法允許基於歷史數據(例如,已經被處理的塊)執行編碼/解碼過程。在編碼/解碼過程期間,具有來自先前編碼塊的運動信息的一個或多個表被維護。每個表可以與計數器相關聯,以跟蹤儲存在表中的運動候選的數量。在一個塊的編碼/解碼期間,可以取決於塊的編碼特性(例如,塊是否是IBC編碼)(例如,通過添加到運動候選列表)使用表中的相關聯的運動信息。在對塊進行編碼/解碼之後,可以基於塊的編碼特性來更新表。也就是說,表的更新基於編碼/解碼順序。在一些實施例中,在處理新的條帶、新的最大編碼單元(Largest Coding Unit,LCU)行或新的片之前,可以重置表(例如,移除所儲存的候選並將相關聯的計數器設置為0)。
(a)在一個示例中,可以用來自IBC編碼塊的運動信息更新查找表。
(b)可替代地,不允許用來自IBC編碼塊的運動信息更新查找表。
(c)在一個示例中,對於IBC模式,不允許來自先前編碼塊的運動信息預測IBC編碼塊的運動信息。
(d)在一個示例中,僅來自先前IBC編碼塊的運動信息可以用來預測當前IBC編碼塊的運動信息。一個查找表用來僅包括來自IBC編碼塊的運動信息,並且這樣的查找表僅用於IBC編碼塊。
(e)可替代地,對於IBC模式,允許來自先前編碼塊的運動信息預測IBC編碼塊的運動信息。
(i)在一個示例中,查找表可以包括來自IBC編碼塊和其他種類的幀間編碼塊的運動信息。例如,如果查找表中的運動候選是從IBC編碼塊推導的,則它可以用來對當前IBC編碼塊進行編碼/解碼。
(ii)可替代地,可能需要多個查找表,並且它們中的至少一個僅包括來自IBC編碼塊的運動信息,並且它們中的一個僅包括來自其他種類的幀間編碼塊的運動信息。例如,第一查找表可以包括IBC編碼塊的運動信息。不同的第二查找表可以包括不是IBC編碼的塊(例如,該塊可以用幀間模式編碼)的運動信息。在相應的轉換完成之後,可以更新第一查找更新表和第二查找更新表。在一些實施例中,可以使用更新後的第一查找表來執行IBC編碼塊的第一後續轉換,並且可以使用更新後的第二查找表來執行幀間編碼塊的第二後續轉換。
在一些實施例中,在通過添加從編碼塊獲得的運動候選來如示例10所述更新查找表之前,可以應用修剪。
(a)在一個示例中,要添加的新運動候選需要與所選擇的表中的所有現有運動候選進行修剪。也就是說,可以將新運動候選與所選擇的表中的所有現有運動候選進行比較,以確保沒有重複的候選。
(b)可替代地,新運動候選可以僅與某個數量的現有運動候選進行修剪。例如,在選擇性地將它添加作為LUT的最後條目之前,可以將其與查找表中的最後m 個運動候選(m 是整數)進行比較。
(c)在一些實施例中,所選擇的表是用來構建編碼塊的從其獲得運動候選的運動候選列表的表。在一些實施例中,運動候選可以用來更新可用查找表的部分或全部。
在一些實施例中,當用Merge或AMVP模式對塊進行編碼時,可以使用如示例10所述的查找表。也就是說,可以使用IBC Merge模式或IBC AMVP模式對當前塊進行編碼。
在一些實施例中,除了鄰近候選之外,非鄰近候選(例如,Merge候選或AMVP候選)可以在查找表中被組合。
(a)在一個示例中,m 個候選(非鄰近和/或鄰近候選)和來自查找表的n 個運動候選可以被添加(例如,當列表未滿時)。mn 都是正整數(> 0)。
(b)在一個示例中,m 個候選(非鄰近和/或鄰近候選)可以被檢查和/或來自查找表的n 個運動候選可以被檢查。當列表未滿時,經檢查的候選可以被添加。
(c)在一個示例中,可以以交錯方式添加鄰近或非鄰近候選和來自查找表的運動候選。
(i)檢查鄰近或非鄰近候選的順序保持不變。檢查一個候選,隨後是來自查找表的運動候選。
(ii)檢查非鄰近塊的順序保持不變。然而,如果一個非鄰近塊位於某個範圍之外(例如,在當前LCU行之外),則它將由查找表中的運動候選替換。
(iii)在一個示例中,檢查非鄰近塊的順序保持不變。然而,如果一個鄰近或非鄰近塊是用幀內模式或幀內塊複製模式編碼的,則它將由查找表中的運動候選替換(例如,在確定查找表中的運動候選不同於鄰近或非鄰近塊時)。
(d)在一個示例中,與來自查找表的運動候選相比,非鄰近候選具有更高的優先級。
(i)在這種情況下,首先檢查所有非鄰近塊。如果候選的總數仍然小於最大允許數量,則進一步檢查來自查找表的運動候選。
(ii)可替代地,與非鄰近運動候選相比,來自查找表的運動候選具有更高的優先級。首先檢查來自查找表的運動候選。如果候選的總數仍然小於最大允許數量,則檢查非鄰近塊以將非鄰近候選添加到Merge候選列表。
(iii)類似地,當在高級運動向量預測(Advanced Motion Vector Prediction,AMVP)編碼過程中允許非鄰近方法和基於查找表的方法兩者時,可以以與上述示例中描述的方式類似方式來處理優先級。
在一些實施例中,類似於將具有運動候選的查找表用於運動向量預測,提出可以構建、和/或更新一個或多個查找表以儲存來自先前編碼塊的幀內預測模式,並且查找表可以用於對幀內編碼塊進行編碼/解碼。
(a)每個LUT的條目的數量相同,例如,等於允許的幀內預測的總數。
(b)還可以為每個幀內預測模式分配變量(即,cnt),以記錄幀內預測模式已經在先前編碼塊中被使用了多少次。
(c)當用所選擇的幀內預測模式更新查找表時,可以修改相關聯的cnt,諸如增加1。
在一些實施例中,非鄰近塊的幀內預測模式可以用作用於對幀內編碼塊進行編碼的幀內預測模式預測值。
在一些實施例中,可以聯合利用基於查找表的方法和基於非鄰近的方法。在一個示例中,可以在MPM列表構建過程中使用查找表或非鄰近塊中的幀內預測模式。可替代地,可以使用查找表或非鄰近塊中的幀內預測模式來對非MPM幀內預測模式進行重新排序。
在一些實施例中,IBC編碼塊的運動候選列表可以如下構建:
(a)如果存在與當前塊的兩個空域相鄰塊相關聯的唯一塊向量(也稱為如上所討論的位移向量或運動向量),則將它們添加到列表。
(b)檢查表中的最後的可用運動候選(即,最新候選)。如果列表中沒有重複的候選,那麼最後的可用運動候選被添加到列表。
(c)如果列表未滿,則添加查找表中的剩餘運動候選。
上述示例可以被併入以下描述的例如可以在視頻編碼器和/或解碼器處實施的方法1400、1500和1600的方法的上下文中。
圖14示出了用於跨分量預測的示例方法的流程圖。方法1400包括,在步驟1410處,對於可視媒體數據的當前塊的位元流表示,基於過去幀內編碼信息的第一集合從幀內預測模式集合中選擇第一幀內預測模式。在一些實施例中,過去幀內編碼信息的第一集合包括歷史幀內編碼信息。
在一些實施例中,並且在示例1的上下文中,過去幀內編碼信息的第一集合包括統計幀內編碼信息。在一個示例中,統計幀內編碼信息包括持續時間內幀內預測模式集合中的每一個幀內預測模式的出現次數,並且方法1400進一步包括以下步驟:基於當前塊的相鄰塊來構建最可能模式(MPM)列表,以及基於出現次數對MPM列表進行重新排序。
方法1400包括,在步驟1420處,基於第一幀內預測模式來處理位元流表示以生成當前塊。
在一些實施例中,並且在示例2的上下文中,當前塊包括亮度分量和彩度分量,過去幀內編碼信息的第一集合用於對亮度分量進行幀內模式編碼,並且過去幀內編碼信息的第二集合用於對彩度分量進行幀內模式編碼。在示例中,亮度分量基於第一編碼樹,彩度分量基於不同的第二編碼樹。
在一些實施例中,並且在示例3的上下文中,對於幀內預測模式集合中對應於第一幀內預測模式的幀內預測模式,出現次數遞增。然後,方法1400進一步包括以下步驟:確定出現次數中的至少一個等於最大出現次數。在一個示例中,該方法進一步包括將出現次數中的每一個右移一個預定義的數。在另一示例中,該方法進一步包括從出現次數中的每一個減去最小出現次數。
在一些實施例中,並且在示例4的上下文中,方法1400進一步包括以下步驟:將幀內預測模式集合中的第一子集添加到最可能模式(MPM)列表。在其他實施例中,方法1400可以進一步包括增加MPM列表的尺寸,以及將幀內預測模式集合中的第一子集添加到MPM列表,其中幀內預測模式的第一子集對應於作為當前塊的空域鄰居的塊。在這些情況下,方法1400可以進一步包括修剪MPM列表,以及將幀內預測模式集合的第二子集添加到MPM列表,其中第二子集中的幀內預測模式的排序在MPM列表中被維持。
圖15示出了用於跨分量預測的另一示例方法的流程圖。方法1500包括,在步驟1510處,對於可視媒體數據的當前塊的位元流表示,從與當前塊鄰近或不鄰近的空域相鄰塊中的至少一個選擇幀內預測模式。
在一些實施例中,並且在示例6的上下文中,鄰近的空域相鄰塊中的至少一個是相對於當前塊的左上角位置的上側相鄰塊、或相對於當前塊的第一列的中心位置的上側相鄰塊、或相對於當前塊的右上角位置的上側相鄰塊、或相對於當前塊的左上角位置的左側相鄰塊、或相對於當前塊的第一行的中心位置的左側相鄰塊、或相對於當前塊的左下角位置的左側相鄰塊。
方法1500包括,在步驟1520處,基於幀內預測模式來處理位元流表示以生成當前塊。
圖16示出了用於跨分量預測的又一示例方法的流程圖。方法1600包括,在步驟1610處,對於可視媒體數據的當前塊的位元流表示,生成基於來自包括當前塊的圖像段的重構樣點的第一預測塊和第二預測塊。
方法1600包括,在步驟1620處,基於第一預測塊和第二預測塊的線性函數來生成最終預測塊的至少一部分。在一些實施例中,最終預測塊是第一預測塊和第二預測塊的平均。
在一些實施例中,並且在示例8的上下文中,最終預測塊的一部分基於第一預測塊和第二預測塊的線性函數,並且剩餘部分直接從第一預測塊或第二預測塊複製。在一些實施例中,線性函數的權重是在序列參數集(SPS)、圖片參數集(PPS)、視頻參數集(VPS)、條帶標頭、片標頭、編碼樹單元(Coding Tree Unit,CTU)組、編碼單元(CU)、預測單元(Prediction Unit,PU)或變換單元(Transform Unit,TU)中信令通知的。
方法1600包括,在步驟1630處,基於最終預測塊來處理位元流表示以生成當前塊。
5 所公開技術的示例實施方式
圖17是視頻處理裝置1700的方塊圖。裝置1700可以用來實施本文描述的方法中的一種或多種。裝置1700可以體現在智能電話、平板電腦、電腦、物聯網(Internet of Things,IoT)接收器等中。裝置1700可以包括一個或多個處理器1702、一個或多個儲存器1704、以及視頻處理硬體1706。(多個)處理器1702可以被配置為實施本文件中描述的一種或多種方法(包括但不限於方法1400、1500和1600)。儲存器(多個儲存器)1704可以用於儲存用於實施本文描述的方法和技術的數據和代碼。視頻處理硬體1706可以用來在硬體電路中實施本文件中描述的一些技術。
在一些實施例中,視頻編碼方法可以使用如參考圖17所描述的在硬體平臺上實施的裝置而實施。
圖18是示出可以在其中實施本文公開的各種技術的示例視頻處理系統1800的方塊圖。各種實施方式可以包括系統1800的一些或所有組件。系統1800可以包括用於接收視頻內容的輸入1802。視頻內容可以以原始或未壓縮格式(例如,8或10位元多分量像素值)接收,或者可以是壓縮或編碼格式。輸入1802可以表示網路介面、外圍總線介面或儲存介面。網路介面的示例包括諸如以太網、無源光網路(Passive Optical Network,PON)等的有線介面和諸如Wi-Fi或蜂窩介面的無線介面。
系統1800可以包括可以實施本文件中描述的各種編碼或編碼方法的編碼組件1804。編碼組件1804可以將來自輸入1802的視頻的平均位元率減小到編碼組件1804的輸出,以產生視頻的編碼表示。編碼技術因此有時被稱為視頻壓縮或視頻轉碼技術。編碼組件1804的輸出可以被儲存,或者經由如由組件1806表示的通信連接而發送。在輸入1802處接收的視頻的儲存或通信傳送的位元流(或編碼)表示可以由組件1808用於生成像素值或被傳送到顯示介面1810的可顯示視頻。從位元流表示生成用戶可視視頻的過程有時被稱為視頻解壓縮。此外,雖然某些視頻處理操作被稱為“編碼”操作或工具,但是將理解,編碼工具或操作在編碼器處使用,並且反轉編碼結果的對應解碼工具或操作將由解碼器執行。
外圍總線介面或顯示介面的示例可以包括通用串行總線(Universal Serial Bus,USB)、或高清晰度多媒體介面(High Definition Multimedia Interface,HDMI)、或顯示端口(Displayport)等。儲存介面的示例包括SATA(Serial Advanced Technology Attachment,串行高級技術附件)、PCI、IDE介面等。本文件中描述的技術可以體現在諸如移動電話、膝上型電腦、智能電話、或能夠執行數位數據處理和/或視頻顯示的其他設備的各種電子設備中。
圖19示出了根據所公開技術的用於視頻編碼的示例方法1900的流程圖。方法1900包括,在操作1910處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於包括幀內預測模式集合的統計信息的歷史幀內編碼信息的第一集合來選擇第一幀內預測模式。方法1900還包括,在操作1920處,基於第一幀內預測模式來執行該轉換。
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。在一些實施例中,統計幀內編碼信息包括持續時間內幀內預測模式集合中的每一個幀內預測模式的出現次數。在一些實施例中,統計幀內編碼信息包括持續時間內幀內預測模式集合中的一部分幀內預測模式的出現次數。
在一些實施例中,該方法進一步包括,在執行該轉換之後,更新歷史幀內編碼信息的集合。在一些實施例中,更新包括在歷史幀內編碼信息的第一集合中將第一幀內預測模式的出現次數累加k,k是正整數。在一些實施例中,當前塊的後續塊基於更新後的歷史幀內編碼信息而處理。
在一些實施例中,歷史幀內編碼信息的第一集合中的每個幀內預測模式與出現次數的限值(limit)相關聯。在一些實施例中,該方法包括,在出現次數達到限值之後,基於預定義規則來減少出現次數。在一些實施例中,預定義規則包括將出現次數除以第一預定義值,或者從出現次數減去第二預定義值。
在一些實施例中,該方法包括至少基於幀內預測模式集合來構建最可能模式(MPM)列表。在一些實施例中,該方法包括將幀內預測模式集合的子集添加到MPM列表。在一些實施例中,該方法包括:將與當前塊的空域鄰居相關聯的幀內預測模式添加到MPM列表;將幀內預測模式集合的子集添加到MPM列表;以及修剪MPM列表。在一些實施例中,該方法包括將推導的幀內預測模式添加到MPM列表。在一些實施例中,該方法包括增加MPM列表的尺寸。在一些實施例中,該方法包括基於歷史幀內編碼信息的集合對MPM列表進行重新排序。在一些實施例中,MPM列表是基於幀內預測模式集合的統計信息的降序而重新排序的。
在一些實施例中,當前塊包括亮度分量和彩度分量。歷史幀內編碼信息的第一集合用於對亮度分量進行幀內模式編碼。在一些實施例中,歷史幀內編碼信息的第二集合用於對彩度分量進行幀內模式編碼。在一些實施例中,亮度分量基於第一編碼樹,彩度分量基於不同於第一編碼樹的第二編碼樹。
在一些實施例中,選擇第一幀內預測模式進一步基於當前塊的空域鄰居的幀內預測模式或當前塊的非鄰近鄰居的幀內預測模式。在一些實施例中,歷史幀內編碼信息被儲存在表中。
圖20示出了根據所公開技術的用於視頻處理的另一示例方法2000的流程圖。方法2000包括,在操作2010處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,至少基於與當前塊的非鄰近鄰居相關聯的幀內預測模式來選擇第一幀內預測模式。方法2000還包括,在操作2020處,基於第一幀內預測模式來執行該轉換。
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。
在一些實施例中,該方法進一步包括,對於當前塊和當前塊的位元流表示之間的轉換,基於與當前塊的非鄰近鄰居相關聯的幀內預測模式來構建最可能模式(MPM)列表。該轉換進一步基於MPM列表而執行。在一些實施例中,構建MPM列表包括將與當前塊的空域鄰居相關聯的幀內預測模式添加到MPM列表並修剪MPM列表。在一些實施例中,構建MPM列表包括將推導的幀內預測模式添加到MPM列表。在一些實施例中,該方法包括增加MPM列表的尺寸。
在一些實施例中,該方法包括根據與當前塊的非鄰近鄰居相關聯的幀內預測模式對不在MPM列表中的幀內預測模式進行重新排序。在一些實施例中,對於重新排序,與當前塊的非鄰近鄰居相關聯的幀內預測模式與更高優先級相關聯。
圖21示出了根據所公開技術的用於視頻處理的示例方法2100的流程圖。方法2100包括,在操作2110處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,基於當前塊的空域相鄰塊中的至少一個來選擇幀內預測模式。空域相鄰塊中的至少一個與位於當前塊的第一列的左側的第一塊和位於當前塊的第一行的上側的第二塊不同。方法2100還包括,在操作2110處,基於幀內預測模式來執行該轉換。
在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。
在一些實施例中,空域相鄰塊中的至少一個包括與當前塊鄰近的塊。在一些實施例中,空域相鄰塊中的至少一個包括與當前塊不鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的左上角位置鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的第一列的中心位置鄰近的塊。在一些實施例中,鄰近的空域相鄰塊中的至少一個包括與當前塊的第一行的中心位置鄰近的塊。
在一些實施例中,基於當前塊的一個或多個維度來選擇空域相鄰塊中的至少一個。在一些實施例中,當前塊具有方形形狀,並且鄰近的空域相鄰塊中的至少一個包括與當前塊的左上角位置鄰近的塊。所選擇的幀內預測模式可以被添加到當前塊的最可能模式列表。
在一些實施例中,當前塊具有非方形形狀,並且空域相鄰塊中的至少一個包括與當前塊的第一列的中心位置鄰近的塊或與當前塊的第一行的中心位置鄰近的塊。
圖22示出了根據所公開技術的用於視頻處理的示例方法2200的流程圖。方法2200包括,在操作2210處,對於可視媒體數據的當前塊和當前塊的位元流表示之間的轉換,生成最終預測塊。方法2200包括,在操作2220處,基於最終預測塊來執行該轉換。最終預測塊的至少一部分基於第一預測塊和第二預測塊的組合而生成,其中該第一預測塊和第二預測塊基於來自包括當前塊的圖像段的重構樣點。在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。
在一些實施例中,第一預測塊根據幀內預測模式而生成。在一些實施例中,第二預測塊基於指向圖像段的運動向量而生成。在一些實施例中,第二預測塊基於其中運動向量指向的重構樣點被複製的幀內塊複製技術而生成。在一些實施例中,第二預測塊基於其中在應用環路濾波操作之前,運動補償被應用於運動向量指向的重構樣點的幀內塊複製技術而生成。
在一些實施例中,在應用環路濾波操作之前,重構樣點被生成。在一些實施例中,最終預測塊的剩餘部分直接從第一預測塊或第二預測塊複製。在一些實施例中,第一預測塊和第二預測塊的組合包括第一預測塊和第二預測塊的線性函數。在一些實施例中,線性函數包括第一預測塊和第二預測塊的平均。在一些實施例中,線性函數包括第一預測塊和第二預測塊的加權線性函數。在一些實施例中,對於相對於第一預測塊或第二預測塊的不同的位置,應用不同的權重。在一些實施例中,對於不同的幀內預測模式,應用不同的權重。在一些實施例中,加權線性函數的權重是在序列參數集(SPS)、圖片參數集(PPS)、視頻參數集(VPS)、條帶標頭、片標頭、編碼樹單元(CTU)組、編碼單元(CU)、預測單元(PU)或變換單元(TU)中信令通知的。在一些實施例中,加權線性函數的權重是預定義的。
在一些實施例中,圖像段包括圖片、條帶或片。在一些實施例中,第一預測塊和第二預測塊是針對當前塊的所選擇的顏色分量而生成的。在一些實施例中,所選擇的顏色分量包括亮度顏色分量。在一些實施例中,在確定當前塊的尺寸或形狀滿足預定義準則時,生成第一預測塊和第二預測塊。
圖23示出了根據所公開技術的用於視頻處理的示例方法2300的流程圖。方法2300包括,在操作2310處,在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表。方法2300包括,在操作2320處,至少基於運動候選的第一表來確定使用幀內塊複製(IBC)模式編碼的當前塊的運動信息,在該IBC模式中,至少一個運動向量指向包括當前塊的圖像段。方法2300還包括,在操作2330處,基於運動信息來執行該轉換。在一些實施例中,該轉換包括對當前塊進行編碼以生成位元流表示。在一些實施例中,該轉換包括對位元流表示進行解碼以生成當前塊。
在一些實施例中,該方法包括基於規則使用用於該轉換的運動信息來選擇性地更新運動候選的第一表。在一些實施例中,該規則指定將運動信息添加到運動候選的第一表。在一些實施例中,該規則指定從運動候選的第一表排除運動信息。
在一些實施例中,該方法包括,在轉換之後,基於當前塊的運動信息來更新運動候選的第一表。在一些實施例中,該方法包括使用更新後的運動候選的第一表來執行可視媒體數據的第二塊和第二塊的位元流表示之間的第二轉換。第二塊可以是使用幀內塊複製模式而編碼的。在一些實施例中,運動候選的第一表僅包括來自使用幀內塊複製模式而編碼的塊的運動信息。在一些實施例中,運動候選的第一表僅用於處理使用幀內塊複製模式而編碼的塊。在一些實施例中,運動候選的第一表包括來自使用幀內塊複製模式而編碼的塊的運動信息,並且排除來自使用其他技術而編碼的塊的運動信息。在一些實施例中,運動候選的第一表包括來自使用幀內塊複製模式而編碼的塊的運動信息和來自使用其他技術而編碼的塊的運動信息。在一些實施例中,第二轉換是使用與更新後的運動候選的第一表中的IBC編碼塊相關聯的運動候選而執行的。
在一些實施例中,該方法包括:對於可視媒體數據的第三塊和第三塊的位元流表示之間的第三轉換,維護運動候選的第二表;基於運動候選的第二表來執行第三塊和第三塊的位元流表示之間的第三轉換。在一些實施例中,第三轉換在不使用更新後的運動候選的第一表的情況下而執行。在一些實施例中,第二表包括來自使用不同於IBC模式的其他技術而編碼的塊的運動信息。在一些實施例中,第三塊是使用不同於IBC模式的技術而編碼的。在一些實施例中,該技術包括幀間模式。在一些實施例中,該方法包括使用用於第三轉換的運動信息來更新運動候選的第二表。在一些實施例中,該方法包括基於更新後的第一表來執行IBC編碼塊之間的第四轉換,以及基於更新後的第二表來執行幀間編碼塊之間的第五轉換。
在一些實施例中,該方法包括將與當前塊相關聯的運動候選與第一表中的多個條目進行比較。第一表基於該比較而更新。在一些實施例中,多個條目對應於第一表中的所有條目。在一些實施例中,條目的數量是m,m是整數,並且m個條目是第一表中的最後m個條目。在一些實施例中,更新第一表包括將運動候選添加到第一表。在一些實施例中,第一表不包括重複的條目。
在一些實施例中,該方法包括確定當前塊是使用IBC Merge模式或IBC高級運動向量預測(AMVP)模式進一步編碼的。在一些實施例中,該方法包括通過組合運動候選的第一表和當前塊的鄰近或非鄰近候選集合來確定當前塊的運動候選的列表,並且基於該列表來執行該轉換。在一些實施例中,該組合包括檢查來自鄰近或非鄰近候選集合的m個候選,以及檢查來自運動候選的第一表的n個運動候選,其中m和n是正整數。在一些實施例中,該方法包括,在確定運動候選的列表未滿時,將來自鄰近或非鄰近候選集合的m個候選中的至少一個添加到運動候選的列表。在一些實施例中,該方法包括,在確定運動候選的列表未滿時,將來自運動候選的第一表的n個運動候選中的至少一個添加到運動候選的列表。
在一些實施例中,該組合包括以交錯方式檢查來自鄰近或非鄰近候選集合和運動候選的第一表的候選。在一些實施例中,該方法包括,在檢查來自第一表的運動候選之前,檢查來自鄰近或非鄰近候選集合的候選。在一些實施例中,該檢查包括檢查來自鄰近或非鄰近候選集合的候選,並且基於與鄰近或非鄰近候選相關聯的鄰近或非鄰近塊的編碼特性,用來自運動候選的第一表的運動候選替換該候選。在一些實施例中,鄰近或非鄰近塊的編碼特性指示鄰近或非鄰近塊位於預定義範圍之外。在一些實施例中,鄰近或非鄰近塊的編碼特性指示鄰近或非鄰近塊是幀內編碼的。在一些實施例中,添加運動候選進一步包括,在確定來自運動候選的第一表的運動候選與來自鄰近或非鄰近候選集合的至少一個候選不同時,將運動候選添加到列表。在一些實施例中,鄰近或非鄰近候選集合具有比運動候選的第一表更高的優先級。
在一些實施例中,運動候選的列表包括用於IBC Merge編碼塊的多個Merge候選。在一些實施例中,運動候選的列表包括用於IBC AMVP編碼塊的多個AMVP候選。在一些實施例中,運動候選的列表包括用於幀內編碼塊的幀內預測模式。在一些實施例中,第一表的尺寸是預先定義的或在位元流表示中信令通知的。在一些實施例中,第一表與指示第一表中的可用運動候選的數量的計數器相關聯。
在一些實施例中,該方法包括,在處理新的條帶、新的LCU行或新的片之前,重置第一表。在一些實施例中,在處理新的條帶、新的LCU行或新的片之前,計數器被設置為零。
根據前述內容,可以理解本文已經出於說明的目的描述了本公開技術的具體實施方案,但是在不脫離本發明範圍的情況下可以進行各種修改。因此,本公開技術不受除了所附申請專利範圍之外的限制。
本專利文件中描述的主題和功能操作的實施方式可以在各種系統、數位電子電路或電腦軟體、韌體或硬體(包括本說明書中公開的結構及其結構等同物、或者它們中的一個或多個的組合)中實施。本說明書中描述的主題的實施方式可以實施為一個或多個電腦程式產品,即編碼在有形和非暫時性電腦可讀介質上的電腦程式指令的一個或多個模組,該電腦程式指令用於由數據處理裝置運行或控制數據處理裝置的操作。電腦可讀介質可以是機器可讀儲存設備、機器可讀儲存基板、儲存器設備、影響機器可讀傳播信號的物質的組合、或它們中的一個或多個的組合。術語“數據處理單元”或“數據處理裝置”包含用於處理數據的所有裝置、設備和機器,包括例如可編程處理器、電腦、或多個處理器或電腦。除了硬體之外,裝置還可以包括為所討論的電腦程式創建運行環境的代碼,例如,構成處理器韌體、協議棧、數據庫管理系統、操作系統、或它們中的一個或多個的組合的代碼。
電腦程式(也已知為程式、軟體、軟體應用、腳本或代碼)可以以任何形式的編程語言(包括編譯或解釋語言)編寫,並且其可以以任何形式部署,包括作為獨立程式或作為適合在計算環境中使用的模組、組件、子例程或其他單元。電腦程式不一定對應於文件系統中的文件。程式可以儲存在保存其他程式或數據(例如,儲存在標記語言文件中的一個或多個腳本)的文件的一部分中,儲存在專用於所討論的程式的單個文件中,或儲存在多個協調文件中(例如,儲存一個或多個模組、子程式或代碼部分的文件)。電腦程式可以被部署以在一個電腦上或在位於一個站點上或跨多個站點分佈並通過通信網路互連的多個電腦上運行。
本說明書中描述的過程和邏輯流程可以由運行一個或多個電腦程式的一個或多個可編程處理器執行,以通過對輸入數據進行操作並生成輸出來執行功能。過程和邏輯流程也可以由專用邏輯電路執行,並且裝置也可以實施為專用邏輯電路,例如,FPGA(Field Programmable Gate Array,現場可編程門陣列)或ASIC(Application Specific Integrated Circuit,專用積體電路)。
適合於運行電腦程式的處理器包括例如通用和專用微處理器、以及任何類型的數位電腦的任何一個或多個處理器。通常,處理器將從只讀儲存器或隨機存取儲存器或兩者接收指令和數據。電腦的基本元件是用於執行指令的處理器和用於儲存指令和數據的一個或多個儲存器設備。通常,電腦還將包括用於儲存數據的一個或多個大容量儲存設備(例如,磁盤、磁光盤或光盤),或可操作地耦合以從該一個或多個大容量儲存設備接收數據或向該一個或多個大容量儲存設備傳遞數據、或者從其接收數據並向其傳遞數據。然而,電腦不需要這樣的設備。適用於儲存電腦程式指令和數據的電腦可讀介質包括所有形式的非揮發性儲存器、介質和儲存器設備,包括例如半導體儲存器設備,例如EPROM、EEPROM和快閃記憶體。處理器和儲存器可以由專用邏輯電路補充或併入專用邏輯電路中。
說明書與附圖一起旨在被視為是示例性的,其中示例性意味著示例。如本文所使用的,除非上下文另有清楚說明,否則單數形式“一”和“該”旨在也包括複數形式。另外,除非上下文另有清楚說明,否則使用“或”旨在包括“和/或”。
雖然本專利文件包含許多細節,但這些細節不應被解釋為對任何發明或可能要求保護的範圍的限制,而是作為特定於特定發明的特定實施例的特徵的描述。在單獨的實施例的上下文中在本專利文件中描述的某些特徵也可以在單個實施例中組合實施。相反,在單個實施例的上下文中描述的各種特徵也可以分別在多個實施例中或以任何合適的子組合實施。此外,儘管特徵可以在上面描述為以某些組合起作用並且甚至最初如此要求保護,但是在一些情況下可以從組合排除來自所要求保護的組合的一個或多個特徵,並且所要求保護的組合可以針對子組合或子組合的變化。
類似地,雖然在附圖中以特定順序描繪了操作,但是這不應該被理解為要求以所示的特定順序或以先後順序執行這樣的操作或者執行所有示出的操作以實現期望的結果。此外,在本專利文件中描述的實施例中的各種系統組件的分離不應被理解為在所有實施例中都需要這樣的分離。
僅描述了一些實施方式和示例,並且可以基於本專利文件中描述和示出的內容來進行其他實施方式、增強和變化。
1400、1500、1600、1900、2000、2100、2200、2300:方法 1410、1420、1510、1520、1610、1620、1910、1920、2010、2020、2110、2120、2210、2220、2310、2320、2330:步驟 1700:視頻處理裝置 1702:處理器 1704:儲存器 1706:視頻處理電路 1800:視頻處理系統 1802:輸入 1804:編碼組件 1806、1808:組件 1810:顯示介面 A、B:塊 BL、BR、CR、TL、TR:位置
圖1示出了67個幀內預測模式的示例。 圖2示出了用於幀內模式預測的相鄰塊的示例。 圖3A和圖3B示出了非方形塊的廣角幀內預測模式的參考樣點的示例。 圖4示出了當使用廣角幀內預測時的不連續性的示例。 圖5A-圖5D示出了基於位置的幀內預測組合(Position-Dependent Intra Prediction Combination,PDPC)方法使用的樣點的示例。 圖6示出了用於推導線性模型的權重的樣點的位置的示例。 圖7示出了將相鄰樣點分類為兩組的示例。 圖8A示出了彩度樣點及其對應亮度樣點的示例。 圖8B示出了用於聯合探索模型(Joint Exploration Model,JEM)中的跨分量線性模型(Cross-Component Linear Model,CCLM)的下濾波的示例。 圖9A和圖9B示出了彩度塊及其對應亮度塊的示例。 圖10示出了具有默認模式的幀內預測模式的示例。 圖11A和圖11B示出了彩度CB的對應子塊的示例。 圖12示出了幀內塊複製的示例。 圖13A-圖13F示出了可以被選擇用於幀內模式編碼的不同鄰近塊的示例。 圖14示出了根據所公開技術的用於基於過去信息的幀內模式編碼的示例方法的流程圖。 圖15示出了根據所公開技術的用於基於過去信息的幀內模式編碼的另一示例方法的流程圖。 圖16示出了根據所公開技術的用於基於過去信息的幀內模式編碼的又一示例方法的流程圖。 圖17是用於實施本文件中描述的可視媒體解碼或可視媒體編碼技術的硬體平臺的示例的方塊圖。 圖18是可以在其中實施所公開技術的示例視頻處理系統的方塊圖。 圖19示出了根據所公開技術的用於視頻處理的示例方法的流程圖。 圖20示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 圖21示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 圖22示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。 圖23示出了根據所公開技術的用於視頻處理的另一示例方法的流程圖。
2300:方法
2310、2320、2330:步驟

Claims (42)

  1. 一種用於視頻處理的方法,包括: 在可視媒體數據的當前塊和當前塊的位元流表示之間的轉換期間,維護運動候選的第一表; 至少基於運動候選的第一表來確定使用幀內塊複製IBC模式而編碼的當前塊的運動信息,其中在所述IBC模式中,至少一個運動向量指向包括當前塊的圖像段;以及 基於運動信息來執行所述轉換。
  2. 如申請專利範圍第1項所述的方法,其中,所述轉換包括對當前塊進行編碼以生成位元流表示。
  3. 如申請專利範圍第1項所述的方法,其中,所述轉換包括對位元流表示進行解碼以生成當前塊。
  4. 如申請專利範圍第1項至第3項中任一項所述的方法,包括: 基於規則使用用於所述轉換的運動信息來選擇性地更新運動候選的第一表。
  5. 如申請專利範圍第4項所述的方法,其中,所述規則指定將運動信息添加到運動候選的第一表。
  6. 如申請專利範圍第4項所述的方法,其中,所述規則指定從運動候選的第一表排除運動信息。
  7. 如申請專利範圍第1項至第6項中任一項所述的方法,包括: 在所述轉換之後,基於當前塊的運動信息來更新運動候選的第一表。
  8. 如申請專利範圍第1項至第7項中任一項所述的方法,包括: 使用更新後的運動候選的第一表執行可視媒體數據的第二塊和第二塊的位元流表示之間的第二轉換,其中所述第二塊是使用幀內塊複製模式而編碼的。
  9. 如申請專利範圍第1項至第8項中任一項所述的方法,其中,運動候選的第一表僅包括來自使用幀內塊複製模式而編碼的塊的運動信息。
  10. 如申請專利範圍第1項至第9項中任一項所述的方法,其中,運動候選的第一表僅用於處理使用幀內塊複製模式而編碼的塊。
  11. 如申請專利範圍第10項所述的方法,其中,運動候選的第一表包括來自使用幀內塊複製模式而編碼的塊的運動信息和來自使用其他技術而編碼的塊的運動信息。
  12. 如申請專利範圍第8項至第11項中任一項所述的方法,其中,第二轉換是使用與更新後的運動候選的第一表中的IBC編碼塊相關聯的運動候選而執行的。
  13. 如申請專利範圍第1項至第12項中任一項所述的方法,進一步包括: 對於可視媒體數據的第三塊和第三塊的位元流表示之間的第三轉換,維護運動候選的第二表;以及 基於運動候選的第二表來執行第三塊和第三塊的位元流表示之間的第三轉換。
  14. 如申請專利範圍第1項至第13項中任一項所述的方法,其中,第三轉換在不使用更新後的運動候選的第一表的情況下而執行。
  15. 如申請專利範圍第14項所述的方法,其中,第二表包括來自使用不同於IBC模式的其他技術而編碼的塊的運動信息。
  16. 如申請專利範圍第14項或第15項所述的方法,其中,第三塊是使用不同於IBC模式的技術而編碼的。
  17. 如申請專利範圍第16項所述的方法,其中,所述技術包括幀間模式。
  18. 如申請專利範圍第13項至第17項中任一項所述的方法,包括: 使用用於第三轉換的運動信息來更新運動候選的第二表。
  19. 如申請專利範圍第18項所述的方法,包括: 基於更新後的第一表來執行IBC編碼塊之間的第四轉換;以及 基於更新後的第二表來執行幀間編碼塊之間的第五轉換。
  20. 如申請專利範圍第1項至第19項中任一項所述的方法,進一步包括: 將與當前塊相關聯的運動候選與第一表中的多個條目進行比較,其中第一表基於所述比較而更新。
  21. 如申請專利範圍第20項所述的方法,其中,多個條目對應於第一表中的所有條目。
  22. 如申請專利範圍第20項或第21項所述的方法,其中,條目的數量是m,m是整數,並且其中m個條目是第一表中的最後m個條目。
  23. 如申請專利範圍第20項至第22項中任一項所述的方法,其中,更新第一表包括: 將運動候選添加到第一表。
  24. 如申請專利範圍第20項至第23項中任一項所述的方法,其中,第一表不包括重複的條目。
  25. 如申請專利範圍第1項至第24項中任一項所述的方法,包括: 確定當前塊是使用IBC Merge模式或IBC高級運動向量預測(AMVP)模式進一步編碼的。
  26. 如申請專利範圍第1項至第25項中任一項所述的方法,包括: 通過組合運動候選的第一表和當前塊的鄰近或非鄰近候選集合來確定當前塊的運動候選的列表;以及 基於所述列表來執行所述轉換。
  27. 如申請專利範圍第26項所述的方法,其中,所述組合包括: 檢查來自鄰近或非鄰近候選集合的m個候選;以及 檢查來自運動候選的第一表的n個運動候選, 其中m和n是正整數。
  28. 如申請專利範圍第27項所述的方法,進一步包括: 在確定運動候選的列表未滿時,將來自鄰近或非鄰近候選集合的m個候選中的至少一個添加到運動候選的列表。
  29. 如申請專利範圍第27項所述的方法,進一步包括: 在確定運動候選的列表未滿時,將來自運動候選的第一表的n個運動候選中的至少一個添加到運動候選的列表。
  30. 如申請專利範圍第26項至第29項中任一項所述的方法,其中,所述組合包括: 以交錯方式檢查來自鄰近或非鄰近候選集合和運動候選的第一表的候選。
  31. 如申請專利範圍第26項至第30項中任一項所述的方法,包括: 在檢查來自第一表的運動候選之前,檢查來自鄰近或非鄰近候選集合的候選。
  32. 如申請專利範圍第30項所述的方法,其中,所述檢查包括: 檢查來自鄰近或非鄰近候選集合的候選;以及 基於與鄰近或非鄰近候選相關聯的鄰近或非鄰近塊的編碼特性,用來自運動候選的第一表的運動候選替換所述候選。
  33. 如申請專利範圍第32項所述的方法,其中,鄰近或非鄰近塊的編碼特性指示鄰近或非鄰近塊位於預定義範圍之外。
  34. 如申請專利範圍第32所述的方法,其中,鄰近或非鄰近塊的編碼特性指示鄰近或非鄰近塊是幀內編碼的。
  35. 如申請專利範圍第28項至第34項中任一項所述的方法,其中,添加運動候選進一步包括: 在確定來自運動候選的第一表的運動候選與來自鄰近或非鄰近候選集合的至少一個候選不同時,將運動候選添加到列表。
  36. 如申請專利範圍第26項至35項中任一項所述的方法,其中,鄰近或非鄰近候選集合具有比運動候選的第一表更高的優先級。
  37. 如申請專利範圍第1項至第36項中任一項所述的方法,其中,第一表的尺寸是預定義的或在位元流表示中信令通知的。
  38. 如申請專利範圍第1項至第37項中任一項所述的方法,其中,第一表與指示第一表中的可用運動候選的數量的計數器相關聯。
  39. 如申請專利範圍第1項至第38項中任一項所述的方法,進一步包括: 在處理新的條帶、新的最大編碼單元(LCU)的行、或新的片之前,重置第一表。
  40. 如申請專利範圍第38項或第39項所述的方法,其中,在處理新的條帶、新的最大編碼單元(LCU)的行、或新的片之前,計數器被設置為零。
  41. 一種視頻系統中的裝置,包括處理器和其上具有指令的非暫時性儲存器,其中所述指令在由處理器運行時使處理器實施如申請專利範圍第1項至第40項中任一項所述的方法。
  42. 一種儲存在非暫時性電腦可讀介質上的電腦程式產品,所述電腦程式產品包括用於執行如申請專利範圍第1至第40項中任一項所述的方法的程式代碼。
TW108133898A 2018-09-19 2019-09-19 用於幀內塊複製的基於歷史的運動矢量預測值 TWI833807B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/CN2018/106518 2018-09-19
CN2018106518 2018-09-19

Publications (2)

Publication Number Publication Date
TW202025780A true TW202025780A (zh) 2020-07-01
TWI833807B TWI833807B (zh) 2024-03-01

Family

ID=

Also Published As

Publication number Publication date
CN110933412B (zh) 2023-07-25
US20210211654A1 (en) 2021-07-08
CN110933411A (zh) 2020-03-27
US20210211655A1 (en) 2021-07-08
US20210211709A1 (en) 2021-07-08
US11870980B2 (en) 2024-01-09
TWI826533B (zh) 2023-12-21
CN110933411B (zh) 2023-12-12
US11765345B2 (en) 2023-09-19
WO2020058893A1 (en) 2020-03-26
WO2020058896A1 (en) 2020-03-26
TW202025732A (zh) 2020-07-01
CN110933440B (zh) 2023-08-29
TW202025731A (zh) 2020-07-01
TW202025730A (zh) 2020-07-01
US11503284B2 (en) 2022-11-15
WO2020058895A1 (en) 2020-03-26
WO2020058894A1 (en) 2020-03-26
CN110933412A (zh) 2020-03-27
CN110933440A (zh) 2020-03-27
CN110933424A (zh) 2020-03-27
TWI826532B (zh) 2023-12-21
CN110933424B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
TWI826533B (zh) 一個幀內編解碼塊的多個預測塊
TWI815927B (zh) 視頻編解碼的塊尺寸限制
TWI816858B (zh) 用於變換矩陣選擇的隱式編碼
TW202025752A (zh) 用於仿射模式之以歷史為基礎之運動向量預測
TW202044839A (zh) 用於視訊寫碼之區塊內複製合併資料語法
CN113812155B (zh) 多种帧间编解码方法之间的交互
TW202041002A (zh) 解碼器側運動向量精緻化之限制
JP2023164589A (ja) フィルタリングを用いた行列ベースイントラ予測
TW202101993A (zh) 用於視訊寫碼之可切換內插濾波
TW202046721A (zh) 用於視訊寫碼之以梯度為基礎的預測細化
CN113632493A (zh) 变换跳过模式中的子块变换
TW202041003A (zh) 用於視訊資料之框間-框內預測模式
CN110944198B (zh) 色度模式帧内编码
TWI722486B (zh) 取決於形狀的插值順序
TWI833807B (zh) 用於幀內塊複製的基於歷史的運動矢量預測值
TWI838406B (zh) 色度模式幀內編解碼
CN114747218A (zh) Hmvp表的更新
TW202011746A (zh) 基於多運動模型的視頻編碼和解碼
TW202015428A (zh) 擴展四叉樹分割的邊界處理