TWI729526B - 用於多重假設之幀內預測 - Google Patents
用於多重假設之幀內預測 Download PDFInfo
- Publication number
- TWI729526B TWI729526B TW108136596A TW108136596A TWI729526B TW I729526 B TWI729526 B TW I729526B TW 108136596 A TW108136596 A TW 108136596A TW 108136596 A TW108136596 A TW 108136596A TW I729526 B TWI729526 B TW I729526B
- Authority
- TW
- Taiwan
- Prior art keywords
- prediction
- current block
- mode
- intra
- prediction mode
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/507—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請提供一種視訊解碼器,其藉由使用多重假設結合預測模式來解碼一當前像素塊。視訊解碼器會基於一幀間預測模式而產生當前塊的一第一預測。依據當前塊的一寬度或一高度而決定當前塊的一塊尺寸,視訊解碼器並據此而致能當前塊的結合預測模式。當該當前塊的該寬度或該高度大於一閥值長度時,該結合預測模式會失能。當結合預測模式被致能時,視訊解碼器會產生一第二預測,並基於第一預測與第二預測而產生當前塊的一結合預測。視訊解碼器會藉由使用結合預測而重構出當前塊。
Description
本揭示通常涉及視訊處理。具體地,本揭示涉及編解碼一像素塊的方法,其藉由使用多重假設來進行幀間預測。
除非此處另有說明外,本小節所描述的方法相對於下面列出的申請專利範圍而言不是先前技術,並且不因納入於本小節而被認為承認是先前技術。
高效率視訊編碼(HEVC)是由視訊編碼聯合協作小組(Joint Collaborative Team on Video Coding,JCT-VC)所發展的新一代國際性視訊編解碼標準。HEVC是基於混合塊為基礎的運動補償類似DCT轉換的編解碼架構。補償的基本單元(稱為編解碼單元,CU)是一2Nx2N的方型塊,而每一CU可以遞迴式地被分割成四個較小的CU,一直達到預定的最小尺寸為止。每個CU包括一或複數個預測單元(Prediction Unit,PU)。
為達成HEVC中混合編解碼架構的最佳編解碼效率,對於每一PU有兩種預測模式,即幀內預測與幀間預測。對於幀內預測模式而言,可以用空間相鄰重構像素來產生方向性的預測,在HEVC中有多達35種方向。對於幀間預測模式而言,可以用時間重構參考幀來產生運動補償的預測,有三種不同模式,包括跳過 (Skip)、合併(Merge)以及幀間高級運動向量預測(幀間AMVP) 模式。
當一PU是以幀間 AMVP模式編碼時,運動補償的預測是由所傳送來的運動向量差異(motion vector differences,MVDs)來進行,MVDs可以與運動向量預測子(Motion Vector Predictors,MVPs)一起使用來推導出運動向量(motion vector,MVs)。為了決定幀間 AMVP模式下的MVP,可以使用高級運動向量預測(AMVP)的架構來選出一運動向量預測子,方式是從包括二空間MVP以及一時間MVP的一AMVP候選組中選出。因此在AMVP模式下,需要對MVP的MVP索引以及相對應的MVDs進行編碼與傳送。此外,幀間預測方向(用來表明在雙向預測以及單向預測之間的預測方向,也就是列表List0 (L0) 以及列表List1 (L1))以及對於每一列表所伴隨的參考幀索引也應予以編碼與傳送。
當一PU是以跳過模式或合併模式編碼時,除了被選到的候選的合併索引之外,是不會傳送運動信息的,這是因為跳過與合併模式是使用運動推論(motion inference)方法(MV=MVP+MVD,其中MVD為零),從位於一並位畫面(co-located picture)中的空間相鄰塊(空間候選)或是一時間塊(時間候選)來取得運動信息;其中所述之並位畫面是切片頭(slice header)中所發信的列表0或列表1中的第一個參考畫面。如果是跳過模式的PU(Skip PU),則殘差信號也會被省略。為了決定跳過與合併模式的合併索引,會使用合併架構從包括四空間MVP與一時間MVP的一合併候選組中,選出一運動向量預測子。
以下發明內容僅是說明性的,不打算以任何方式加以限制。也就是說,以下發明內容被提供以介紹此處所描述的新且非顯而易知的技術的概念、重點、好處和優勢。選擇性而不是將所有的實施方式在下面的詳細說明中進行進一步描述。因此,以下發明內容不用於決定所要求主題的本質特徵,也不用於決定所要求主題的範圍。
在本揭示的一些實施例中提供一種視訊解碼器,其藉由使用多重假設(MH)結合預測模式來解碼一當前像素塊。MH結合預測模式包括至少一用於幀內的MH模式與用於幀間的MH模式。視訊解碼器會基於一幀間預測模式而產生當前塊的一第一預測。視訊解碼器會依據當前塊的一寬度或一高度而決定當前塊的一塊尺寸,並據此而致能當前塊的結合預測模式。當該當前塊的寬度或當前塊的高度大於一閥值長度時,該結合預測模式會失能。該閥值可以是一固定數值或基於標準中具體指定的最大TU(例如64),或具體指定在SPS/PPS/矩形片(tile)/矩形片組/切片水平的最大TU尺寸(例如64)。當結合預測模式被致能時,視訊解碼器會基於一幀內預測模式或幀間預測模式而產生一第二預測,並基於第一預測與第二預測而產生當前塊的一結合預測。視訊解碼器會藉由使用結合預測而重構出當前塊。
在一些實施例中,當基於幀內預測模式而產生該第二預測時,視訊解碼器會進行一簡化型的幀內預測。視訊解碼器產生該第二預測是藉由使用該幀內預測模式來辨識一組相鄰像素,以及應用一內插濾波器於該組經過辨識的相鄰像素來產生一組經過內插的像素。在一些實施例中,該組經過內插的像素沒有經過進一步調整而被使用作為該第二預測。在一些實施例中,該第二預測是不使用位置依存度幀內預測結合(PDPC)或角度幀內預測而計算得出。當該幀內預測模式是平面模式 (planar mode) 時,該第二預測是藉由省略至少下列之一來進行計算:(i)參考可用性檢查與替代; (ii)參考樣本濾波; (iii)水平平面預測子產生與平均;以及 (iv) PDPC。
在下面詳細的說明書中,為了透徹理解相關教示內容,透過舉例的方式進行說明大量具體的細節。基於本文所描述的教示內容的任何改變、推導和/或拓展均在本發明的保護範圍內。為了避免不必要地混淆本發明的教示內容的方面,關於此處所公開的一個或者複數個示例性實施方式中已知的方法、程式、元件和/或電路,在有些時候會用相對較高的層次加以描述而不細說。 幀間 - 預測模式
第1圖示出了HEVC中用於幀間-預測模式(即跳過、合併、與AMVP)的MVP候選組。此圖顯示出正在編碼或解碼的一視訊畫面或幀的一當前塊100。當前塊100(其可以是一PU或一CU)參考相鄰塊來推導用於AMVP模式、合併模式、或跳過模式的空間與時間MVP。
對於跳過模式與合併模式而言,最多有四個空間合併索引可以從A0
, A1
, B0
與 B1
推導出以及一個時間合併索引可以從TBR
或 TCTR
推導出(先使用TBR
;如果TBR
是不可用的,則再使用TCTR
)。如果四個空間合併索引中任何一個是不可用的,則位置B2
被用來推導合併索引以作為替代。在四空間合併索引與一時間合併索引的推導之後,則移除冗餘的合併索引。如果非-冗餘的合併索引數目小於5,則額外的候選會從原始的候選被推導出並加入於候選列表中。有三種推導候選的類型:
1.結合型(combined)雙向預測合併候選(推導候選類型1)
2.縮放型(scaled)雙向預測合併候選(推導候選類型2)
3.零向量合併/AMVP候選(推導候選類型3)
在推導候選類型1中,結合型雙向預測合併候選是藉由結合原始的合併候選來創建出。尤其,如果當前切片是一B切片,可以藉由結合來自列表0與列表1的候選來創建出一進一步的合併候選。第2圖示出了包括結合型雙向預測合併候選的一合併候選列表。如所示出,雙向預測合併候選是使用二個原始候選來創建的:其中二個原始候選具有mvL0 (列表0中的運動向量)與 refIdxL0 (列表0中的參考畫面索引);或是mvL1 (列表1中的運動向量) 與refIdxL1 (列表1中的參考畫面索引) 。
在推導候選類型2中,縮放型合併候選是藉由縮放原始的合併候選來創建出。第3圖示出了包括縮放型合併候選的一合併候選列表。如所示出,一原始合併候選具有mvLX (列表X中的運動向量,X可以是0或1)與 refIdxLX (列表X中的參考畫面索引,X可以是0或1)。例如,一原始候選A是列表0中具有mvL0_A與參考畫面索引ref0的單向預測MV。首先將候選A拷貝到列表1而具有參考畫面索引ref0’。基於ref0 與ref0’來縮放mvL0_A並藉以計算出縮放型的MV mvL0’_A。列表0中具有mvL0_A 與ref0以及列表1中具有mvL0’_A 與 ref0’的縮放型雙向預測合併候選則被創建出並加入於合併候選列表中。相類似地,列表0中具有mvL1’_A 與ref1’以及列表1中具有mvL1_A, ref1的一縮放型雙向預測合併候選則被創建出並加入於合併候選列表中。
在推導候選類型3中,零向量候選是藉由結合零向量與參考索引來創建出的。如果所創建出的零向量候選不重複,則將其加入合併/AMVP候選列表中。第4圖示出了一個例子,其中將零向量候選加入於一合併候選列表或一AMVP候選列表中。
幀內-預測模式
幀內-預測方法利用相鄰於當前預測單元(PU)的一參考層(reference tier)與一幀內-預測模式,來產生用於當前PU的預測子。幀內-預測方向可以在包括多個預測方向的模式組之中加以選擇。對於藉由幀內-預測所編碼的每一個PU,會使用與編碼一索引來選擇出一個幀內-預測模式。相對應的預測會被產生出,然後殘差可以被推導與轉換。
第5圖顯示出於不同方向的幀內-預測模式。這些幀內-預測模式被稱為方向性的模式而且不包括直流模式(DC mode)或平面模式(Planar mode)。如所示出的,有33個方向性的模式(V:垂直方向;H:水平方向),因此使用H,H+1~H+8,H-1~H-7,V,V+1~V+8,V-1~V-8。一般而言方向性的模式可以用H+k或V+k模式來代表,其中k=±1,±2,... ,±8。(在有些情況下,幀內-預測模式有65個方向性的模式,因此k的範圍是從±1到±16。)。
在HEVC的35個幀內-預測模式中,其中3個模式會被考慮為最可能模式(MPM)以用來預測當前預測塊的幀內-預測模式。這3個模式則被選擇為一最可能模式組(MPM set)。例如,使用在左方預測塊的幀內-預測模式與使用在上方預測塊的幀內-預測模式則被使用為MPM。當在二個相鄰塊的幀內-預測模式使用了相同的幀內-預測模式之時,此幀內-預測模式可以被使用為MPM。當在二個相鄰塊僅有其一是可用的而且以方向性模式加以編碼之時,則緊鄰在此方向性模式旁邊的二個相鄰方向可以被使用為MPM。直流模式與平面模式也被考慮為MPM以填補MPM組中的可用位置,特別是如果上方或頂端相鄰塊是不可用的或非以幀內-預測編碼的,或如果相鄰塊的幀內-預測模式並非方向性的模式。如果用於當前預測塊的幀內-預測模式是在MPM組中的模式之一,則會使用1或2位元來發信其為哪一個模式。否則,當前塊的幀內-預測模式不同於在MPM組中的任一欄位,而當前塊則會被編碼為一非-MPM模式。總共有32個如此的非-MPM模式而會應用一(5-位元)固定長度編解碼方法來發信此一模式。
在有些實施例中,會應用位置依存度幀內預測結合(position dependent intra prediction combination, PDPC)到一些幀內模式而不發信:平面、直流、水平、垂直、左下方角度模式與其x相鄰角度模式、以及右上方角度模式與其x相鄰角度模式。x的數值取決於角度模式的數目。PDPC的描述可在下列文件中找到:G. Van der Auwera、J. Heo、A. Filippov所提的 “CE3: Summary Report on Intra Prediction and Mode Coding”,第11次JVET會議,在斯洛維尼亞的盧布爾雅那 (Ljubljana; SI),2018年7月,文件 JVET-K0023;ITU-T SG16/Q6 文件 COM16-C1046, Position Dependent intra Prediction Combination (PDPC)”;X. Zhao、V. Seregin、A. Said、M. Karczewicz所提的 “EE1 related: Simplification and extension of PDPC”,第8次JVET會議,在澳門 (Macau),2018年10月,文件JVET-H0057;M. Karczewicz 等人所提的“Description of SDR, HDR and 360° video coding technology proposal by Qualcomm”,第10次JVET會議,在美國加州聖地牙哥 (San Diego, CA, USA),2018年4月,文件JVET-J0021。 仿射合併 模式
HEVC僅使用平移型運動模型來作為運動補償預測。在真實世界中有許多其他種類的運動,例如放大與縮小、旋轉、透視型運動、與其他非常規的運動。這種其他種類的運動中有些可以用仿射轉換或仿射運動來代表,其會保留點、直線、與平面。仿射轉換不必然會保留線間的角度或點間的距離,但卻會保留一直線上點間距離的比例。當一仿射運動塊在移動時,該塊的運動向量場可以用二控制點運動向量或四參數來描述如下:
轉換塊是一長方塊。在此運動塊每一點的運動向量場可以用如下等式加以描述。
其中(v0x
, v0y
)是在左上方角落的控制點運動向量,而(v1x
, v1y
) 是在塊的右上方角落的另一個控制點運動向量。在有些實施例中,對於一幀間模式編碼的CU而言,當一CU尺寸等於或大於16x16,一仿射_旗標(affine_flag)會被發信來指示仿射幀間模式是否有被應用。如果當前CU是在仿射幀間模式,會使用相鄰有效的重構塊來建構一候選MVP配對列表。第6圖示出了一四參數仿射運動模型。
第7圖示出了用於仿射幀間模式的MVP推導。如第7圖所示,v0是選自塊A0、A1或A2的運動向量,而v1 是選自塊B0與B1的運動向量。候選MVP配對的索引可以發信在位元流中,二控制點的MV差異(MVD)則可以編碼在位元流中。
在有些實施例中,如果當前的PU是一合併PU,則會檢查相鄰5塊(第7圖中C0、B0、B1、C1與A0塊)來決定是否這些相鄰塊之一是仿射幀間模式或仿射合併模式。如果是,則可以發信一仿射_旗標(affine_flag)來指示當前PU是否為仿射模式。在當前PU是用仿射合併模式來編碼的情況下,它會從有效的相鄰重構塊(valid neighbor reconstructed blocks)中得到第一個以仿射模式編碼的塊。如第7圖所示,候選塊的選擇順序可以從左方、上方、右上、左下到左上(C0→B0→B1→C1→A0)。第一個仿射編碼塊的仿射參數可以用來推導當前PU的v0與v1。
最終的運動向量運算式
(Ultimate Motion Vector Expression,UMVE)
在有些實施例,在跳過或合併模式中會使用最終的運動向量運算式(Ultimate Motion Vector Expression,UMVE)。當從數個合併候選之中選擇出一候選時,在UMVE之下可以擴大所選擇候選的運算式。UMVE提供了具有簡化發信的運動向量運算式。UMVE運動向量運算式包括預測方向信息、起始點、運動幅度(motion magnitude)、與運動方向。
在有些實施例中,會將合併候選列表以其現況來加以使用。然而,預定合併類型(MRG_TYPE_DEFAULT_N)的候選則考慮可用於UMVE擴大。UMVE擴大中,預測方向信息指示在L0,L1,以及L0與L1預測之中的一預測方向。在B切片中,藉由使用鏡像技術(mirroring technique),雙向-預測候選可以用單向-預測由合併候選所產生。例如,如果一合併候選是用L1的單向-預測,一參考索引L0則藉由搜尋列表(list)0中的一特定參考畫面來決定,該特定參考畫面為以合併候選所得到列表(list)1的參考畫面做鏡像而形成。如果沒有搜尋到相對應畫面,則使用最接近當前畫面的參考畫面。L0’ MV則藉由縮放L1的
MV來推導出。縮放因子則藉由畫面順序計數(picture order count,POC)距離來加以計算。
如果UMVE候選的預測方向是和原始合併候選之一是相同的,則數值0的索引則被發信作為一UMVE預測方向。但是,如果不相同(相同於原始合併候選之一),則數值1的索引則被發信。在送出第一位元之後,則基於事先定義的UMVE預測方向的優先順序將剩下的預測方向發信出去。優先順序是L0/L1預測、L0預測與L1預測。如果合併候選的預測方向是L1,則信令‘0’是用於UMVE的預測方向L1,信令‘10’是用於UMVE的預測方向L0與L1,信令‘11’是用於UMVE的預測方向L0。如果L0與L1預測列表相同,則UMVE的預測方向信息不被發信。
基礎候選索引(base candidate index)定義出了起始點。基礎候選索引指出在列表中候選者之中最佳的候選如下。
一偏移量會加入於起始MV的水平分量或垂直分量之中。距離索引與事先定義偏移量的關係則表明於下。
方向索引代表MVD相對於起始點的方向。方向索引可以代表如下顯示的四個方向。
表
3.
方向索引
方向索引 | 00 | 01 | 10 | 11 |
x-軸 | + | – | N/A | N/A |
y-軸 | N/A | N/A | + | – |
在有些實施例中,為了降低編碼的複雜度,塊限制會被應用。例如,如果CU的寬度或高度小於4,則不實施UMVE。 多重 - 假設模式
在本揭示的有些實施例中提供了一多重-假設模式來改善幀間預測,也就是對於跳過與/或合併模式的一種改善方法。在原始的跳過與合併模式,是使用的一個合併索引從合併候選列表中來選擇一個運動候選,其可以是藉由候選本身來推導的單向-預測或雙向-預測。在有些實施例中,所產生的運動補償預測子(motion compensated predictor)則被稱為第一假設(或第一預測)。在多重-假設模式下,除了第一假設之外,還產生了一第二假設。預測子的第二假設可以藉由基於幀間預測模式(例如合併或跳過模式)自一運動候選的運動補償來產生,或是藉由基於幀內預測模式的幀內預測來產生。
當有支援多重-假設模式的時候,一或多個多重-假設候選則對於跳過與/或合併模式是可用的(available)。當第二假設(或第二預測)藉由幀內預測模式而產生時,多重-假設模式則被稱為用於幀內的MH模式或幀內MH模式或幀內MH。當第二假設藉由一運動候選的運動補償或一幀間預測模式(例如合併或跳過模式)而產生時,多重-假設模式則被稱為用於幀間的MH模式或幀間MH模式或幀間MH(或也稱為用於合併的MH模式或合併MH)。
對於多重-假設模式而言,每一多重-假設候選(或稱為每一具有多重-假設的候選)包含一運動候選(即第一假設)與一預測模式(即第二假設),其中運動候選是選擇自候選列表I而預測模式是選擇自候選列表II。在有些用於幀內的MH模式的實施例中,每一多重-假設候選(或稱為每一具有多重-假設的候選)包含一運動候選與一幀內預測模式,其中運動候選是選擇自候選列表I而幀內預測模式是選擇自候選列表II。也就是說,一個運動候選可以配合(match)編碼器端一或多個幀內預測模式(或是一或多個運動候選可以配合編碼器端一個幀內預測模式);並且藉由編碼模式決定,會決定出一個運動候選與一個幀內預測模式,而發信給解碼器。
在有些用於幀間的MH模式的實施例中,每一多重-假設候選包含二個運動候選,而此二個運動候選中至少一個是選擇自候選列表I。在有些實施例中,候選列表I與當前塊的合併候選列表是相同的,而且用於幀間的MH模式的一多重-假設候選的二個運動候選都是選擇自候選列表I。在有些實施例中,候選列表I是合併候選列表的一個子集合。在有些實施例中,多重-假設候選的其中一個運動候選是選擇自合併候選列表,而相同多重-假設候選的另一個運動候選是選擇自候選列表I。
第8a圖概念性示出了藉由使用用於幀內的MH模式來編碼或解碼一像素塊。如圖示出了藉由一視訊編解碼器所正在編碼或解碼的一視訊畫面800。視訊畫面800包括的一像素塊810,其正在被編碼或解碼為一當前塊。當前塊810是藉由用於幀內的MH模式來加以編解碼,尤其,基於當前塊810的一第一預測822(第一假設)與當前塊810的一第二預測824(或第二假設)所產生的一結合預測820。然後使用結合預測820來重構當前塊810。
當前塊810正藉由用於幀內的MH模式來編解碼。具體而言,基於參考幀802與804中至少之一,第一預測可以藉由幀間-預測而得出。基於當前塊810的相鄰像素806,第二預測可以藉由幀內-預測而得出。如圖所示,第一預測822是基於一幀間-預測模式而得出,或是基於從包括一或多個候選幀間-預測模式的一第一候選列表832(候選列表I)中所選擇的一運動候選842(第一預測模式)而得出。第二預測824是基於一幀內-預測模式844(第二預測模式)而得出,而幀內-預測模式844是從包括一或多個候選幀內-預測模式的一第二候選列表834(候選列表II)中所選擇的。
第8b圖示出了藉由使用用於幀間的MH模式所編解碼的當前塊810。具體而言,基於參考幀802與804中至少之一,第一預測822可以藉由幀間-預測而得出。基於參考幀806與808中至少之一,第二預測824可以藉由幀間-預測而得出。如圖所示,第一預測822是基於一幀間-預測模式或一運動候選842(第一預測模式)而得出,而運動候選842是從一第一候選列表832(候選列表I)中所選擇的。第一預測824是基於一幀間-預測模式或一運動候選846(第二預測模式)而得出,而運動候選846也是從該第一候選列表832(候選列表I)中所選擇的。
在有些實施例中,當支援用於幀內的MH模式時,會發信一旗標(例如,來代表是否應用了用於幀內的MH模式)。此一旗標可以藉由位元流中的一語法元素來加以代表或指示。在有些實施例中,如果旗標是開啟的,會發信一額外的幀內模式索引來指示來自候選列表II的幀內預測模式。在有些實施例中,如果旗標是開啟的,用於幀內的MH模式的幀內預測模式則從候選列表II中隱含地來選擇。
在有些實施例中,對於用於幀內的MH模式或用於幀間的MH模式而言,用來選擇第一預測模式與第二預測模式的索引是分別且清楚地加以發信,例如,在用來編碼視頻畫面800的位元流中的二個語法元素。例如,可以用一第一語法元素來指示來自第一候選列表832的第一候選842的選擇,而可以用一第二語法元素來指示來自第二候選列表834(或第一候選列表832)的第二候選844的選擇。
在有些實施例中,對於用於幀內的MH模式而言,用來選擇第一預測模式的索引會被發信,例如,作爲在用來編碼視頻畫面800的位元流中的一個語法元素。例如,可以用一第一語法元素來指示來自第一候選列表832的第一候選842的選擇,而來自第二候選列表834(或第一候選列表832)的第二候選844則是隱含地加以決定。
在有些實施例中,根據如支援-模式設定、結合-權重設定、幀內模式設定、塊尺寸設定、以及以上任何組合的不同設定,用於幀內的MH模式或用於幀間的MH模式的不同變形可以由視訊編解碼器來加以實施。用於幀內的MH模式或用於幀間的MH模式選擇上的設定,可以由塊寬度與/或塊高度加以隱含地推導出;或藉由在CU水平、CTU水平、切片水平、矩型片(tile)水平、矩型片組、SPS水平、PPS水平或以上任何組合所發信的一旗標來顯性地指示出。
支援-模式設定
幀內預測或幀間預測的假設可以與來自不同幀間模式(其被視為支援-模式設定)的幀間預測的假設相結合。在有些實施例中,可以從例如跳過、合併、AMVP、仿射合併、仿射AMVP、或子-塊合併等的任一現存的幀間模式來產生一幀間預測的假設。在有些實施例中,用於幀內的MH模式可以支援一改善的幀間模式。例如,可以使用UMVE候選來產生一幀間預測的假設。例如另一例子,可以透過參考一歷史-依據架構(或稱歷史-依據運動向量預測,HMVP)中先前已被編碼的運動信息,來獲取用於產生一幀間預測假設的運動信息。HMVP候選則被定義為先前已編碼塊的運動信息。在編碼/解碼過程中會維護具有多個HMVP候選的一個表。當遇到一新切片(slice)時,此表則被清空。 結合 - 權重設定( Combined-Weight Settings )
權重被用來結合用於幀內的MH模式或用於幀間的MH模式的預測的多重假設(例如,用來計算預測的第一假設與預測的第二假設的權重加總來當成結合預測)。權重可以固定在一特定數值,或隨塊寬度或塊高度或一預先定義的對照表(lookup table)而改變。例如,可以將一相同的權重應用於預測的多重假設。 幀內模式 設定
可以依據幀內模式設定來決定候選列表II。當候選列表II的尺寸大小(在列表中的候選數目)等於一時,可以推論出所選擇的幀內模式是候選列表II中唯一可用的幀內預測模式而不用發信。例如,候選列表II可以僅包括平面模式,而可以推論出所選擇的幀內模式為平面模式。
在有些實施例中,候選列表II是由下列所構成:{平面、直流、水平、對角}中任一個或任一種組合,或是{平面、直流、水平、對角}中任一個或任一種組合±偏移量,而此偏移量是一整數。在有些實施例中,候選列表II(其中的候選)會隨著塊尺寸或塊寬度或塊高度而改變。在有些實施例中,平面模式並不在候選列表II中。上述的任何組合可以應用在用於幀內的MH模式中。在一例子中,當塊尺寸小於一特定閥值時(以T表示),其中T可以是4x4、8x8、16x16、32x32,候選列表II包括超過一種幀內預測模式,其可以是{平面、直流、水平、對角}中任一種組合,或是{平面、直流、水平、對角}中任一種組合±偏移量。在另一例子中,當塊尺寸大於一特定閥值時(以T表示),其中T可以是4x4、8x8、16x16、32x32,候選列表II可以包括{直流、水平、對角}中任一個或任一種組合,或是{直流、水平、對角}中任一個或任一種組合±偏移量。對於較大塊而言將平面模式移出候選列表II的好處之一是將用於產生幀內預測的假設的緩衝器大小減小。該閥值可以是一固定數值或基於標準中具體指定的最大TU(例如64),或具體指定(例如被解析或被發信)在SPS/PPS/矩形片(tile)/矩形片組/切片水平的最大TU尺寸(例如64)。
在有些實施例中,用於幀內的MH模式的幀內預測流程可以和一般幀內模式的幀內預測流程調整看齊或相同(一般幀內模式是指一幀內模式其並不會與幀間預測相結合而作為多重-假設預測的一部份,或是一般幀內模式是指描述於“幀內-預測模式”章節中的幀內模式)。在有些實施例中,用於幀內的MH模式的幀內預測流程可以是一般幀內模式的幀內預測流程的一簡化版本。簡化的架構(或用於幀內的MH模式的簡化型幀內預測流程)可以省略(至少有些的)濾波處理流程、減少幀內內插濾波器的長度、省略例如PDPC與廣角度幀內預測(於JVET-K0500所提議)等用來改良幀內預測的工具等等。例如,一簡化型的平面模式(用於簡化型的幀內預測)可以僅應用一部份的(或一子集合)或都不用下列這四種平面預測步驟:(1)參考可用性檢查與替代; (2)參考樣本濾波; (3)水平與垂直平面預測子產生與平均;以及 (4) PDPC,其中一般的平面模式可以包括所有四種平面預測步驟。 塊尺寸設定
可以依據當前塊的塊寬度與/或塊高度來致能多重-假設模式(例如,用於幀內的MH模式或用於幀間的MH模式)。在有些實施例中,對於塊尺寸大於一特定閥值(例如4x4、8x8、16x16、32x32、64x64、或128x128)的情況,可以讓用於幀內的MH模式失能(或稱禁止)。對於較大塊而言讓用於幀內的MH模式失能或禁止的好處之一,是將用於產生幀內預測的假設的緩衝器大小減小。在有些實施例中,對於塊尺寸小於一特定閥值,例如4x4、8x8、16x16、或32x32的情況,可以讓用於幀內的MH模式失能(或稱禁止)。(換言之,對於塊尺寸大於或等於該特定閥值,例如4x4、8x8、16x16、或32x32的情況,可以讓用於幀內的MH模式致能)。在有些實施例中,對於塊寬度大於N與/或塊高度大於M的塊,可以讓用於幀內的MH模式失能(或稱禁止),其中N和M可以是 4、8、16、32、64、或128。上述的任何組合可以應用在用於幀內的MH模式中。在有些實施例中,NxM可以代表是由NxM結果所產生的一塊尺寸閥值。例如,對於當塊面積大於16、32、64、128、256、512、或1024的情況,則讓用於幀內的MH模式或用於幀間的MH模式失能(或稱禁止)。例如,對於塊面積小於16、32、64、128、256、512、或1024的情況,則讓用於幀內的MH模式或用於幀間的MH模式失能(或稱禁止)。在有些實施例中,所提出的塊尺寸設定可以使用在用於幀間的MH模式。在有些實施例中,如果用於幀內的MH模式或用於幀間的MH模式失能(或稱禁止)時,不會在編碼器側發信已失能模式(其可以是用於幀內的MH模式或用於幀間的MH模式)的語法(例如,指示在被編碼的視頻資料中是否使用用於幀內的MH模式來編碼當前塊的一旗標),而且也不會在解碼器側進行解析。在有些實施例中,在下列狀況中會推論語法為錯誤而且不應用此已失能模式:不在編碼器發信已失能模式(其可以是用於幀內的MH模式或用於幀間的MH模式)的語法(例如,指示在被編碼的視頻資料中是否使用用於幀內的MH模式來編碼當前塊的一旗標),而且也不在解碼器來進行解析。
第9圖概念性示出了基於像素塊的尺寸大小、寬度或高度來致能多重-假設模式(例如,用於幀內的MH模式與/或用於幀間的MH模式)。一視訊編解碼器編碼或解碼一視訊畫面900。視訊畫面900則分割為多種尺寸的塊,包括4x4塊911-914、8x8塊921-923、16x16塊931-933、一32x32塊941、與一128x32塊951。
有些塊是從一較大CU藉由四叉樹分割、二叉樹分割、三叉樹分割等分割而來的CU或PU。視訊編解碼器根據當前塊的寬度、當前塊的高度、或二者來決定當前塊的塊尺寸。在一些實施例中,視訊編解碼器會基於當前塊的塊尺寸來致能用於幀內的MH模式(或用於幀間的MH模式)。當塊的寬度大於一閥值寬度或塊的高度大於一閥值高度時,則會讓用於幀內的MH模式(或用於幀間的MH模式)失能。在一些實施例中,當塊的寬度或高度大於一閥值長度時,則會讓用於幀內的MH模式(或用於幀間的MH模式)失能。
當塊尺寸≥ 8x8時,視訊編解碼器則會讓多重-假設模式(例如,用於幀內的MH模式或用於幀間的MH模式)致能而來進行塊的編解碼。以用於幀內的MH模式為例,用於幀內的MH模式有一塊尺寸的致能閥值≥64。如果塊的寬度或高度大於64時(例如,用於幀內的MH模式有一失能閥值長度、寬度、或高度>64),視訊編解碼器則會讓塊的編解碼中用於幀內的MH模式(或用於幀間的MH模式)失能。用於幀內的MH模式是處於致能的塊則以沒有陰影加以顯示,而用於幀內的MH模式是處於失能的塊則以有陰影加以顯示。如圖所示,塊911-914未以用於幀內的MH模式加以編解碼,這是因為他們的寬度與高度無法導致大於或等於致能閥值8x8或64的塊尺寸。塊921-923、931-933、與941則具有符合致能閥值64的尺寸,因此可以讓用於幀內的MH模式致能而編解碼這些塊。塊951具有大於失能閥值64的寬度128,因此編解碼塊951時則讓用於幀內的MH模式失能。
前面提出的任何方法可以在編碼器與/或解碼器中加以實施。例如,所提出的任何方法可以在一編碼器的一幀間編解碼模組或幀內編解碼模組、一運動補償模組、一解碼器的一合併候選推導模組中加以實施。所提出的任何方法也可以選擇性地實施為一電路而耦合至一幀間編解碼模組或幀內編解碼模組與/或一運動補償模組、一解碼器的一合併候選推導模組。 示例視訊編碼器
第10圖示出了一示例性的視訊編碼器1000,其可以實施用於幀內的MH模式或用於幀間的MH模式。如圖所示,視訊編碼器1000從視訊源1005接收輸入視訊信號並將該信號編碼成位元流1095。視訊編碼器1000具有若干組件或模組以將來自視訊源1005的信號加以編碼,包括至少一部份的轉換模組1010、量化模組1011、逆量化模組1014、逆轉換模組1015、幀內-畫面估計模組1020、幀內-預測模組1025、運動補償模組1030、運動估計模組1035、迴路濾波器1045、已重構畫面緩衝器1050、MV緩衝器1065、MV預測模組1075以及熵編碼器1090。運動補償模組1030與運動估計模組1035是幀間-預測模組1040的一部份。
在一些實施例中,模組1010-1090是由計算設備或電子裝置的一個或複數個處理單元(例如,處理器)所執行的軟體指令的模組。在一些實施例中,模組1010-1090是由電子裝置的一個或複數個積體電路(integrated circuit,IC)所實現的硬體電路的模組。雖然模組1010-1090被示出為分離的模組,但是一些模組可以被組合成單一個模組。
視訊源1005提供原始視訊信號,其呈現沒有壓縮的每個視訊幀的像素資料。減法器1008計算視訊源1005的原始視訊像素資料與來自於運動補償模組1030或者幀內-預測模組1025的已預測像素資料1013之間的差。轉換模組1010將此差(或殘差像素資料或殘差信號1009)轉換為轉換係數(例如,透過執行離散餘弦轉換(DCT)、離散正弦轉換(DST)、或任何其它轉換功能)。量化模組1011將轉換係數量化為已量化資料(或已量化係數)1012,其由熵編碼器1090編碼進位元流1095中。
逆量化模組1014逆量化已量化資料(或已量化係數)1012,以獲得轉換係數,而逆轉換模組1015對轉換係數執行逆轉換以產生已重構殘差1019。已重構殘差1019與已預測像素資料1013相加以生成已重構像素資料1017。在一些實施例中,已重構像素資料1017被暫時存儲在一線緩衝器(未示出)中以用於幀內-畫面預測和空間MV預測。已重構像素由迴路濾波器1045進行濾波並被存儲在已重構畫面緩衝器1050中。在一些實施例中,已重構畫面緩衝器1050是在視訊編碼器1000之外的一記憶體。在一些實施例中,已重構畫面緩衝器1050是在視訊編碼器1000之內的一記憶體。
幀內-畫面估計模組1020基於已重構像素資料1017執行幀內-預測,以產生幀內預測資料。幀內-預測資料被提供給熵編碼器1090以被編碼進位元流1095中。幀內-預測資料也被幀內-預測模組1025使用,以產生已預測像素資料1013。
運動估計模組1035藉由提供MV給存儲在已重構畫面緩衝器1050中的先前已解碼視訊幀的參考像素資料,來執行幀間-預測。這些MV被提供給運動補償模組1030以產生已預測像素資料。
不用將完整實際MV編碼進位元流中,視訊編碼器1000使用MV預測來產生已預測MV,並且用於運動補償的MV與已預測MV之間的差被編碼為殘差運動資料並被存儲在位元流1095中。
MV預測模組1075基於參考MV來產生已預測MV,所述參考MV是在編碼先前視訊幀所產生的,也就是用於執行運動補償的運動補償MV。MV預測模組1075從MV緩衝器1065中取回來自先前視訊幀的參考MV。視訊編碼器1000將產生為用於當前視訊幀的MV存儲在MV緩衝器1065中,以作為用於產生已預測MV的參考MV。
MV預測模組1075使用參考MV來創建已預測MV。已預測MV可以由空間MV預測或時間MV預測來加以計算。當前視訊幀(殘差運動資料)的已預測MV與運動補償MV(MC MV)之間的差由熵編碼器1090編碼進位元流1095中。
熵編碼器1090透過使用諸如上下文適應性二進制算術編碼(Context-based Adaptive Binary Arithmetic Coding,CABAC)或霍夫曼編碼(Huffman encoding)的熵編解碼技術,將各種參數和資料編碼進位元流1095中。熵編碼器1090將各種標頭元素、旗標、以及已量化轉換係數1012與殘差運動資料,一起編碼為語法元素進入位元流1095中。然後位元流1095被存儲於存儲裝置中或被傳輸出去(例如,透過諸如網路的通信介質被傳輸至一解碼器)。
迴路濾波器1045對已重構像素資料1017進行濾波運算或平滑操作運算以減少編解碼偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括解塊(deblocking)或取樣自適應偏移(Sample Adaptive Offset,SAO)。在一些實施例中,濾波操作包括自適應迴路濾波器(Adaptive Loop Filter,ALF)。
第11a圖示出了部分的視訊編碼器1000,當編碼一像素塊時,其可以實施用於幀內的MH模式。如圖所示,視訊編碼器1000實施一結合預測模組1110,其產生已預測的像素資料1013。結合預測模組1110接收藉由幀內-畫面預測模組1025所產生的幀內-預測值。結合預測模組1110也從運動補償模組1030接收幀間-預測值。藉由運動補償模組1030與幀內-畫面預測模組1025來編碼一像素塊所使用的運動信息與模式方向,則儲存於一記憶體中,以供相同模組使用在後續塊中來作為合併模式或用於幀內的MH模式的候選。
當用於幀內的MH模式被致能時(對於塊或塊的一部份),MH模式控制器1120會控制幀內-畫面預測模組1025與運動補償模組1030的操作。MH模式控制器1120會決定一幀間-預測模式列表(候選列表I)與一幀內-預測模式列表(候選列表II)。每一列表的候選會基於多種因素來被決定與被辨識,包括當前塊的尺寸、寬度、或高度,與/或一相對應運動候選的方向。基於當前塊的尺寸、寬度、或高度,MH模式控制器1120也可以致能或失能用於幀內的MH模式,也就是藉由使幀內-畫面預測模組1025與運動補償模組1030中之一或二者致能或失能來達成。在一些實施例中,幀內預測模組1025使用一緩衝器來使用於幀內的MH模式失能,而緩衝器的尺寸可基於一塊寬度或高度的閥值來減小。
MH模式控制器1120會從候選列表I中選擇出一幀間-預測候選以及從候選列表II中選擇出一幀內-預測候選。運動補償模組1030基於從候選列表I中所選擇出候選來執行幀間-預測。幀內-畫面預測模組1025基於從候選列表II中所選擇出候選來執行幀內-預測。幀間-預測與幀內-預測的結果則在結合預測模組1110中結合起來(例如,加以平均)而產生已預測像素資料1013。
MH模式控制器也提供信息給熵編碼器1090來***於位元流中作為語法元素。這些語法元素會發信用於幀內的MH模式是否為開啟的。或者,這些語法元素也可以用於從候選列表I與II去選擇幀間-預測與幀內-預測的候選,對於幀內MH模式加以顯性地(explicitly)發信。用來發信幀間-預測與幀內-預測候選的選擇的語法元素可以包括一單一索引,其從包括候選列表I與候選列表II二者的一結合列表中選擇出該幀間-預測與幀內-預測候選。如果候選列表I或候選列表II僅有一個候選,則用來發信幀內-預測候選與/或幀間-預測候選的選擇的語法元素也可以被省略(隱含性發信,implicit signaling)。
藉由使用所選擇的幀內預測模式來辨識一組相鄰像素以及應用一內插濾波器於該組經過辨識的相鄰像素來產生一組經過內插的像素,幀內預測模組1025於是產生幀內預測結果。一信號(標示為MH幀內/一般幀內)控制是否使用幀內預測模組1025來產生用於幀內的MH模式或一般幀內預測的幀內預測結果。
當使用幀內預測模組1025來產生普通或一般幀內預測的幀內預測結果時(即,不是用於幀內MH模式的部分,或描述於幀內-預測模式的章節),則例如PDPC與廣角度幀內預測等用來改良幀內預測的工具也可以加以使用。例如,當所選擇的幀內預測模式是平面模式時,對於一般幀內預測而言,幀內預測模組1025也可以執行參考可用性檢查與替代、參考樣本濾波、水平平面預測子產生與平均、以及PDPC。
而從另一方面而言,當使用幀內預測模組1025來產生用於幀內的MH模式的幀內預測結果時,幀內預測模組1025會執行一簡化型(simplified)的幀內預測處理流程。這種簡化型的處理流程可以省略(至少有些的)濾波處理流程、減少幀內內插濾波器的長度(例如,具有三個或更少的閥門(taps),而不用四個閥門)、省略例如PDPC與廣角度幀內預測等用來改良幀內預測的工具。簡化型的幀內預測處理流程在計算平面模式時可以僅應用一部份的(或一子集合)或都不用四種平面預測步驟(參考可用性檢查與替代、參考樣本濾波、水平平面預測子產生與平均、以及PDPC)。在一些實施例中,該組經過內插的像素沒有經過幀內MH模式的進一步調整而被使用作為幀內預測的結果。
第11b圖示出了部分的視訊編碼器1000,當編碼一像素塊時,其可以實施用於幀間的MH模式。如圖所示,視訊編碼器1000實施結合預測模組1110,其產生已預測的像素資料1013。結合預測模組1110接收從運動補償模組1030來的一第一組幀間-預測值。結合預測模組1110也接收從相同的運動補償模組1030或一第二運動補償模組1130來的一第二組幀間-預測值。藉由運動補償模組1030(與第二運動補償模組1130)來編碼一像素塊所使用的二組運動信息則儲存於一記憶體中,以供相同模組使用在後續塊中來作為合併模式或用於幀間的MH模式的候選。
當用於幀間的MH模式被致能時(對於塊或塊的一部份),MH模式控制器1120會控制運動補償模組1030的操作(與/或第二運動補償模組1130)。MH模式控制器1120會創建一幀間-預測模式列表(候選列表I)。列表中的候選會基於多種因素來被決定與被辨識,包括當前塊的尺寸、寬度、或高度,與/或一相對應運動候選的方向。
MH模式控制器1120會從候選列表I中選擇出一第一幀間-預測候選以及一第二幀內-預測候選。運動補償模組1030基於從候選列表I中所選擇出的第一幀間-預測候選來執行一第一幀間-預測。運動補償模組1030(或第二運動補償模組1130)基於從候選列表I中所選擇出的第二幀間-預測候選來執行一第二幀間-預測。第一幀間-預測與第二幀間-預測的結果則在結合預測模組1110中結合起來(例如,加以平均)而產生已預測像素資料1013。
MH模式控制器也提供信息給熵編碼器1090來***於位元流中作為語法元素。這些語法元素會發信用於幀間的MH模式是否為開啟的。或者,這些語法元素也可以用於從候選列表I去選擇第一幀間-預測與第二幀間-預測候選,對於幀間MH模式加以顯性地(explicitly)發信。用來發信第一與第二幀間-預測候選的選擇的語法元素也可以包括從候選列表I中選擇出該第一幀間-預測候選的一單一索引以及從候選列表I中選擇出該第二幀間-預測候選的一單一索引。用來發信第一與第二幀間-預測候選的選擇的語法元素也可以包括從候選列表I中選擇該二個幀間-預測候選的一單一索引。如果候選列表I僅有一個候選,則用來發信幀間-預測候選的選擇的語法元素也可以被省略(隱含性發信,implicit signaling)。
第12圖概念性示出了一流程1200,其使用用於幀內的MH模式(或用於幀間的MH模式)來編碼一像素塊。在有些實施例中,藉由執行儲存於一電腦可讀取媒介上的指令,實施編碼器1000的一計算裝置上的一個或複數個處理單元(例如,處理器)會執行流程1200。在有些實施例中,實施編碼器1000的一電子裝置會執行流程1200。
編碼器接收(於步驟1210)原始像素或視訊資料,以將一像素塊編碼為一當前畫面中的一當前塊。基於選擇自一第一候選列表的一第一預測模式,編碼器產生(於步驟1220)當前塊的一第一預測。第一候選列表(例如候選列表I)包括一或多個候選幀間-預測模式。第一候選列表可以是和合併候選列表相同,或合併候選列表的一子集合。
依據當前塊的寬度、高度或其他的尺寸設定,編碼器會決定(於步驟1225)用於幀內的MH模式(或用於幀間的MH模式)是否可以被致能(enabled)。在一些實施例中,依據塊的尺寸是否符合(例如大於或等於)一致能閥值(enabling threshold,例如64),編碼器會決定是否致能該用於幀內的MH模式(或用於幀間的MH模式)。依據塊的高度與/或寬度(例如,面積),可以來決定塊的尺寸。如果當前塊的尺寸不符合(例如小於)所述致能閥值時,流程會進行到1270。如果塊的尺寸符合所述致能閥值時,則流程會進行到1240。在一些實施例中,依據塊的寬度與/或高度,編碼器會決定用於幀內的MH模式是否可以被失能(disabled)。在一些實施例中,依據塊的寬度或高度是否超過(例如大於)一失能閥值(disabling threshold,例如64),編碼器會決定是否使該用於幀內的MH模式失能。如果是,流程會進行到1270。如果塊的寬度與/或高度未超過(例如小於或等於)該失能閥值,則流程會進行到1240。
於步驟1240,編碼器從第一候選列表或包括一或多種幀內預測模式的第二候選列表中選擇出一第二預測模式。基於塊的屬性或第一預測模式的方向,編碼器可以辨識出第二候選列表的候選(例如,候選列表II)。例如,第二候選列表的候選順序可以基於第一預測模式的方向來決定(例如,當第一預測模式的運動候選是來自左方相鄰塊,或第二候選列表的第一幀內-預測模式的方向是水平)。在另一例子,第二候選列表的候選數目可以基於當前塊的寬度、高度、或尺寸來決定。在一些實施例中,如果第二候選列表中僅有一個候選,編碼器則選擇第二候選列表中此唯一的候選當成第二預測模式而不顯性地(explicitly)於位元流中加以發信。上述選擇可藉由一碼字加以發信,而該碼字也以一語法元素的方式而被納入位元流中。基於列表中候選的順序,第二候選列表中不同的候選則被指定不同的碼字。在列表中的第一個候選則被指定一最短的碼字,則流程會進行到1250。
於步驟1250,基於所選擇的第二預測模式,編碼器會藉由執行幀內預測而產生當前塊的一第二預測。當執行用於幀內的MH模式的幀內預測時,編碼器可以省略掉用來增強一般幀內預測結果的工具。
基於當前塊的第一預測與第二預測會產生一結合預測,然後編碼器會藉由使用上述結合預測來對當前塊進行編碼(於步驟1260)。結合預測可以是第一預測與第二預測經過加權後的一總和。
於步驟1270,編碼器不使用幀內的MH模式而對當前塊進行編碼。在一些實施例中,可以用其他預測模式來對當前塊進行編碼,例如,沒有結合預測的合併模式。在一些其他的實施例中,流程1200可以修改為使用幀間的MH模式來編碼一像素塊,於本揭示中此種作法不應受限。
示例視訊解碼器
第13圖示出了一示例性的視訊解碼器1300,其可以實施MH模式(用於幀內的MH模式與/或用於幀間的MH模式)。如圖所示,視訊解碼器1300是影像-解碼或視訊-解碼電路,其接收一位元流1395並將位元流的內容解碼為視訊幀的像素資料以用於顯示。視訊解碼器1300具有用於解碼位元流1395的若干組件或模組,包括至少一部份的逆量化模組1305、逆轉換模組1310、幀內-預測模組1325、運動補償模組1330、迴路濾波器1345、已解碼畫面緩衝器1350、MV緩衝器1365、MV預測模組1375與解析器1390。運動補償模組1330是幀間-預測模組1340的一部份。。
在一些實施例中,模組1310-1390是由計算設備的一個或複數個處理單元(例如,處理器)所執行的軟體指令的模組。在一些實施例中,模組1310-1390是由電子設備的一個或複數個積體電路所實現的硬體電路的模組。雖然模組1310-1390被表示為分離的模組,但是一些模組可以被組合成單一個模組。
解析器1390(或熵解碼器)接收位元流1395,並且根據由視訊-編碼或影像-編碼標準所定義的語法來進行初步解析。所解析的語法元素包括各種標頭元素、旗標、以及已量化資料(或已量化係數)1312。解析器1390藉由使用諸如上下文適應性二進制算術編碼(CABAC)或霍夫曼編碼的熵編解碼技術來解析出各種語法元素。
逆量化模組1305對已量化資料(或已量化係數)1312進行逆量化以獲得轉換係數,並且逆轉換模組1310對轉換係數1316執行逆轉換運算以產生已重構殘差信號1319。已重構殘差信號1319與來自於幀內-預測模組1325或運動補償模組1330的已預測像素資料1313相加,以產生已解碼像素資料1317。已解碼像素資料由迴路濾波器1345濾波並被存儲在已解碼畫面緩衝器1350中。在一些實施例中,已解碼畫面緩衝器1350是在視訊解碼器1300之外的一記憶體。在一些實施例中,已解碼畫面緩衝器1350是在視訊解碼器1300之內的一記憶體。
幀內-預測模組1325從位元流1395接收幀內-預測資料,並且據此從存儲在已解碼畫面緩衝器1350中的已解碼像素資料1317來產生已預測像素資料1313。在一些實施例中,已解碼像素資料1317也被存儲在用於幀內-畫面預測和空間MV預測的一線緩衝器(未示出)中。
在一些實施例中,已解碼畫面緩衝器1350的內容被用於顯示。顯示裝置1355直接取回出已解碼畫面緩衝器1350的內容以進行顯示,或將已解碼畫面緩衝器的內容取回到一顯示緩衝器。在一些實施例中,顯示裝置透過一像素傳輸從已解碼畫面緩衝器1350來接收像素值。
運動補償模組1330根據運動補償MV(MC MV),從存儲在已解碼畫面緩衝器1350中的已解碼像素資料1317來產生已預測像素資料1313。這些運動補償MV透過將自位元流1395接收的殘差運動資料與自MV預測模組1375接收的預測MV相加而被解碼。
MV預測模組1375基於參考MV來產生已預測MV,所述參考MV是在解碼先前視訊幀所產生的,也就是用於執行運動補償的運動補償MV。MV預測模組1375從MV緩衝器1365中取回先前視訊幀的參考MV。視訊解碼器1300將產生用來解碼當前視訊幀的運動補償MV存儲在MV緩衝器1365中,以作為用於產生已預測MV的參考MV。
迴路濾波器1345對已解碼像素資料1317執行濾波操作或平滑操作,以減少編解碼偽影,特別是在像素塊的邊界處。在一些實施例中,所執行的濾波操作包括解塊(deblocking)與/或取樣自適應偏移(Sample Adaptive Offset,SAO)。在一些實施例中,濾波操作包括自適應迴路濾波器(Adaptive Loop Filter,ALF)。
第14a圖示出了部分的視訊解碼器,當解碼一像素塊時,其可以實施用於幀內的MH模式。如圖所示,視訊解碼器1300實施一結合預測模組1410,其產生已預測的像素資料1313。結合預測模組1410接收藉由幀內-畫面預測模組1325所產生的幀內-預測值。結合預測模組1410也從運動補償模組1330接收幀間-預測值。藉由運動補償模組1330與幀內-畫面預測模組1325來解碼一像素塊所使用的運動信息與模式方向,則儲存於一記憶體中,以供相同模組使用在後續塊中來作為合併模式或MH模式的候選。
當用於幀內的MH模式被致能時(對於塊或塊的一部份),MH模式控制器1420會控制幀內-畫面預測模組1325與運動補償模組1330的操作。MH模式控制器1420會決定一幀間-預測模式列表(候選列表I)與一幀內-預測模式列表(候選列表II)。每一列表的候選會基於多種因素來被決定與被辨識,包括當前塊的尺寸、寬度、或高度,與/或一相對應運動候選的方向。基於當前塊的尺寸、寬度、或高度,MH模式控制器1420也可以致能或失能用於幀內的MH模式,也就是藉由使幀內-畫面預測模組1325與運動補償模組1330中之一或二者致能或失能來達成。在一些實施例中,幀內預測模組1325使用一緩衝器來使用於幀內的MH模式失能,而緩衝器的尺寸可基於一塊寬度或高度的閥值來減小。
MH模式控制器1420會從候選列表I中選擇出一幀間-預測候選以及從候選列表II中選擇出一幀內-預測候選。運動補償模組1330基於從候選列表I中所選擇出候選來執行幀間-預測。幀內-畫面預測模組1325基於從候選列表II中所選擇出候選來執行幀內-預測。幀間-預測與幀內-預測的結果則在結合預測模組1410中結合起來(例如,加以平均)而產生已預測像素資料1313。
MH模式控制器1420會基於位元流中的語法元素接收來自解析器1390的信息。這些語法元素會發信用於幀內的MH模式是否為開啟的。或者,這些語法元素也可以對於從候選列表I與II去選擇幀間-預測與幀內-預測的候選,對於幀內的MH模式加以顯性地(explicitly)發信。用來發信幀間-預測與幀內-預測候選的選擇的語法元素,也可以包括從候選列表I中選擇出該幀間-預測候選的一單一索引以及從候選列表II中選擇出一幀內-預測候選的一單一索引。用來發信幀間-預測與幀內-預測候選的選擇的語法元素也可以包括一單一索引,其從包括候選列表I與候選列表II二者的一結合列表中選擇出該幀間-預測與幀內-預測候選。如果候選列表I或候選列表II僅有一個候選,則用來發信幀內-預測候選與/或幀間-預測候選的選擇的語法元素也可以被省略(隱含性發信,implicit signaling)。
藉由使用所選擇的幀內預測模式來辨識一組相鄰像素以及應用一內插濾波器於該組經過辨識的相鄰像素來產生一組經過內插的像素,幀內預測模組1325於是產生幀內預測結果。一信號(標示為MH幀內/一般幀內)控制是否使用幀內預測模組1325來產生用於幀內的MH模式或一般幀內預測的幀內預測結果。
當使用幀內預測模組1325來產生普通或一般幀內預測的幀內預測結果(即,不是用於幀內MH模式的部分),則例如PDPC與廣角度幀內預測等用來改良幀內預測的工具也可以加以使用。例如,當所選擇的幀內預測模式是平面模式時,對於一般幀內預測而言,幀內預測模組1325也可以執行參考可用性檢查與替代、參考樣本濾波、水平平面預測子產生與平均、以及PDPC。
而從另一方面而言,當使用幀內預測模組1325來產生用於幀內的MH模式的幀內預測結果時,幀內預測模組1325會使用一簡化型的幀內預測處理流程。這種簡化型的處理流程可以省略(至少有些的)濾波處理流程、減少幀內內插濾波器的長度(例如,具有三個或更少的閥門,而不用四個閥門)、省略例如PDPC與廣角度幀內預測等用來改良幀內預測的工具。簡化型的幀內預測處理流程在計算平面模式時可以僅應用一部份的(或一子集合)或都不用四種平面預測步驟(參考可用性檢查與替代、參考樣本濾波、水平平面預測子產生與平均、以及PDPC)。在一些實施例中,該組經過內插的像素沒有經過幀內MH模式的進一步調整而被使用作為幀內預測的結果。
第14b圖示出了部分的視訊解碼器1300,當解碼一像素塊時,其可以實施用於幀間的MH模式。如圖所示,視訊解碼器1300實施一結合預測模組1410,其產生已預測的像素資料1313。結合預測模組1410接收從運動補償模組1330來的一第一組幀間-預測值。結合預測模組1410也接收從相同的運動補償模組1330或一第二運動補償模組1430來的一第二組幀間-預測值。藉由運動補償模組1330(與第二運動補償模組1430)來解碼一像素塊所使用的二組運動信息則儲存於一記憶體中,以供相同模組使用在後續塊中來作為合併模式或用於幀間的MH模式的候選。
當用於幀間的MH模式被致能時(對於塊或塊的一部份),MH模式控制器1420會控制運動補償模組1330的操作(與/或第二運動補償模組1430)。MH模式控制器1420會創建一幀間-預測模式列表(候選列表I)。列表中的候選會基於多種因素來被決定與被辨識,包括當前塊的尺寸、寬度、或高度,與/或一相對應運動候選的方向(如果運動候選是來自左方相鄰塊,則方向是水平)。
MH模式控制器1420會從候選列表I中選擇出一第一幀間-預測候選以及一第二幀內-預測候選。運動補償模組1330基於從候選列表I中所選擇出的第一幀間-預測候選來執行一第一幀間-預測。相同的運動補償模組1330(或第二運動補償模組1430)基於從候選列表I中所選擇出的第二幀間-預測候選來執行一第二幀間-預測。第一幀間-預測與第二幀間-預測的結果則在結合預測模組1410中結合起來(例如,加以平均)而產生已預測像素資料1313。
MH模式控制器會從位元流中的語法元素來接收熵解碼器1390所解析的信息。這些語法元素會發信用於幀間的MH模式是否為開啟的。這些語法元素也可以對於從候選列表I去選擇第一幀間-預測與第二幀間-預測的候選,對於幀間的MH模式加以顯性地(explicitly)發信。用來發信第一與第二幀間-預測候選的選擇的語法元素也可以包括從候選列表I中選擇該二個幀間-預測候選的一單一索引。如果候選列表I僅有一個候選,則用來發信幀間-預測候選的選擇的語法元素也可以被省略(隱含性發信,implicit signaling)。
第15圖各自概念性示出了一流程1500,其使用用於幀內的MH模式(或用於幀間的MH模式)來解碼一像素塊。在有些實施例中,藉由執行儲存於一電腦可讀取媒介上的指令,實施解碼器1300的一計算裝置上的一個或複數個處理單元(例如,處理器)會執行流程1500。在有些實施例中,實施解碼器1300的一電子裝置會執行流程1500。
解碼器接收(於步驟1510)將被解碼的資料,以將一像素塊解碼為一當前畫面中的一當前塊。基於選擇自一第一候選列表的一第一預測模式,解碼器產生(於步驟1520)當前塊的一第一預測。第一候選列表(例如候選列表I)包括一或多個候選幀間-預測模式。第一候選列表可以是和合併候選列表相同,或合併候選列表的一子集合。
依據當前塊的寬度、高度或其他的尺寸設定,解碼器會決定(於步驟1525)用於幀內的MH模式(或用於幀間的MH模式)是否可以被致能(enabled)。在一些實施例中,依據塊的尺寸是否符合(例如大於或等於)一致能閥值(enabling threshold,例如64),解碼器會決定是否致能該用於幀內的MH模式(或用於幀間的MH模式)。依據塊的高度與/或寬度(例如,面積),可以來決定塊的尺寸。如果當前塊的尺寸不符合(例如小於)所述致能閥值時,流程會進行到1570。如果塊的尺寸符合所述致能閥值時,則流程會進行到1540。在一些實施例中,依據塊的寬度與/或高度,解碼器會決定用於幀內的MH模式是否可以被失能(disabled)。在一些實施例中,依據塊的寬度或高度是否超過(例如大於)一失能閥值(disabling threshold,例如64),解碼器會決定是否使該用於幀內的MH模式失能。如果是,流程會進行到1570。如果塊的寬度與/或高度未超過(例如小於或等於)該失能閥值,則流程會進行到1540。
於步驟1540,解碼器從第一候選列表或包括一或多種幀內預測模式的第二候選列表中選擇出一第二預測模式。基於塊的屬性或第一預測模式的方向,解碼器可以識別出第二候選列表的候選(例如,候選列表II)。例如,第二候選列表的候選順序可以基於第一預測模式的方向來決定(例如,當第一預測模式的運動候選是來自左方相鄰塊,或第二候選列表的第一幀內-預測模式的方向是水平)。在另一例子,第二候選列表的候選數目可以基於當前塊的寬度、高度、或尺寸來決定。在一些實施例中,如果第二候選列表中僅有一個候選,解碼器則選擇第二候選列表中此唯一的候選當成第二預測模式而不顯性地(explicitly)於位元流中加以發信。上述選擇可藉由一碼字加以發信,而該碼字也以一語法元素的方式而被納入位元流中。基於列表中候選的順序,第二候選列表中不同的候選則被指定不同的碼字。在列表中的第一個候選則被指定一最短的碼字,則流程會進行到1550。
於步驟1550,基於所選擇的第二預測模式,解碼器會藉由執行幀內預測而產生當前塊的一第二預測。當執行用於幀內的MH模式的幀內預測時,解碼器可以省略掉用來增強一般幀內預測結果的工具。
基於當前塊的第一預測與第二預測會產生一結合預測,然後解碼器會藉由使用上述結合預測來對當前塊進行重構(於步驟1560)。結合預測可以是第一預測與第二預測經過加權後的一總和。
於步驟1570,解碼器不使用幀內的MH模式而對當前塊進行重構。在一些實施例中,可以用其他預測模式來對當前塊進行解碼,例如,沒有結合預測的合併模式。在一些其他的實施例中,流程1500可以修改為使用幀間的MH模式來解碼一像素塊,於本揭示中此種作法不應受限。
示例電子系統
很多上述的特徵和應用可以被實現為軟體處理,其被指定為記錄在電腦可讀存儲介質(computer readable storage medium)(也被稱為電腦可讀介質)上的指令集。當這些指令由一個或者複數個計算單元或者處理單元(例如,一個或者複數個處理器、處理器核或者其他處理單元)來執行時,則這些指令使得該處理單元執行這些指令所表示的動作。電腦可讀介質的示例包括但不限於CD-ROM、快閃記憶體驅動器(flash drive)、隨機存取記憶體(random access memory,RAM)晶片、硬碟、可讀寫可程式設計唯讀記憶體(erasable programmable read only memory,EPROM),電可擦除可程式設計唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)等。該電腦可讀介質不包括透過無線或有線連接的載波和電訊號。
在本說明書中,術語“軟體”意味著包括唯讀記憶體中的韌體或者存儲在磁存儲裝置中的應用程式,該應用程式可以被讀入到記憶體中以用於處理器進行處理。同時,在一些實施例中,複數個軟體發明可以作為更大程式的子部分來實現,而保留不同的軟體發明。在一些實施例中,複數個軟體發明可以作為獨立的程式來實現。最後,一起實現此處所描述的軟體發明的獨立的程式的任何結合是在本發明的範圍內。在一些實施例中,當被安裝以在一個或者複數個電子系統上進行操作時,軟體程式定義了一個或者複數個特定的機器實現方式,該機器實現方式執行和實施該軟體程式的操作。
第16圖概念性示出在本申請一些實施例中實現的電子系統1600。電子系統1600可以是電腦(例如,臺式電腦、個人電腦、平板電腦等)、電話、PDA或者其他種類的電子設備。這個電子系統包括各種類型的電腦可讀媒質和用於各種其他類型的電腦可讀媒質的介面。電子系統1600包括匯流排1605、處理單元1610、影像處理單元((graphics-processing unit,GPU)1615、系統記憶體1620、網路1625、唯讀記憶體(read-only memory,ROM)1630、永久存儲裝置1635、輸入設備1640和輸出設備1645。
匯流排1605集體表示與大量的電子系統1600通信連接的內部設備的所有系統匯流排、外設匯流排和晶片組匯流排。例如,匯流排1605透過影像處理單元1615、唯讀記憶體1630、系統記憶體1620和永久存儲裝置1635,與處理單元1610通信連接。
對於這些各種記憶體單元,處理單元1610取回執行的指令和處理的資料,以為了執行本發明的處理。在不同實施例中,該處理單元可以是單個處理器或者多核處理器。某些指令被傳輸影像處理單元1615和並被其執行。該影像處理單元1615可以卸載各種計算或補充由處理單元1610提供的影像處理。
唯讀記憶體1630存儲處理單元1610或者電子系統的其他模組所需要的靜態資料和指令。另一方面,永久存儲裝置1635是一種讀寫記憶體設備(read-and-write memory)。這個設備是一種非易失性(non-volatile)記憶體單元,其即使在電子系統1600關閉時也存儲指令和資料。本發明的一些實施例使用大容量存儲設備(例如磁片或光碟及其相應的磁碟機)作為永久存儲裝置1635。
其他實施例使用卸載式存儲裝置設備(如軟碟、快閃記憶體設備等,以及其相應的磁碟機)作為該永久存儲裝置。與永久存儲裝置1635一樣,系統記憶體1620是一種讀寫記憶體設備。但是,與存儲裝置1635不一樣的是,該系統記憶體1620是一種易失性(volatile)讀寫記憶體,例如隨機讀取記憶體。系統記憶體1620存儲一些處理器在運行時需要的指令和資料。在一些實施例中,根據本發明的處理被存儲在該系統記憶體1620、永久存儲裝置1635和/或唯讀記憶體1630中。例如,各種記憶體單元包括用於根據一些實施例的處理多媒體剪輯的指令。對於這些各種記憶體單元,處理單元1610取回執行的指令和處理的資料,以為了執行某些實施例的處理。
匯流排1605也連接到輸入設備1640和輸出設備1645。該輸入設備1640使得使用者溝通資訊並選擇指令到該電子系統上。該輸入設備1640包括字母數位元鍵盤和指點設備(也被稱為“遊標控制設備”),攝像機(如網路攝像機(webcam)),用於接收語音命令的麥克風或類似的設備等。輸出設備1645顯示由電子系統生成的圖像或以其他方式輸出的資料。輸出設備1645包括印表機和顯示裝置,例如陰極射線管(cathode ray tube,CRT)或液晶顯示器(liquid crystal display,LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括諸如同時用作輸入設備和輸出設備的觸控式螢幕等設備。
最後,如第16圖所示,匯流排1605也透過網路介面卡(未示出)將電子系統1600耦接到網路1625。在這個方式中,電腦可以是電腦網路(例如,局域網(local area network,LAN)、廣域網路(wide area network,WAN)或者內聯網)或者網路的網路(例如互聯網)的一部分。電子系統1600的任一或者所有元件可以與本發明結合使用。
一些實施例包括電子元件,例如,微處理器、存儲裝置和記憶體,其將電腦程式指令存儲到機器可讀介質或者電腦可讀介質(可選地被稱為電腦可讀存儲介質、機器可讀介質或者機器可讀存儲介質)。電腦可讀介質的一些實例包括RAM、ROM、唯讀光碟(read-only compact disc,CD-ROM),可燒錄光碟(recordable compact disc,CD-R)、可讀寫光碟(rewritable compact disc,CD-RW)、唯讀數位通用光碟(read-only digital versatile disc)(例如,DVD-ROM,雙層DVD-ROM)、各種可記錄/可讀寫DVD(例如DVD RAM、DVD-RW、DVD+RW等)、快閃記憶體(如SD卡、迷你SD卡,微SD卡等)、磁性和/或固態硬碟、唯讀和可燒錄藍光®(Blu-Ray®)盤、超高密度光碟和其他任何光學介質或磁介質,以及軟碟。電腦可讀介質可以存儲由至少一個處理單元執行的電腦程式,並且包括用於執行各種操作的指令集。電腦程式或電腦代碼的示例包括機器代碼,例如編譯器產生的機器代碼,以及包含由電腦、電子元件或微處理器使用注釋器(interpreter)而執行的高級代碼的文檔。
當以上討論主要是指執行軟體的微處理器或多核處理器時,很多上述的功能和應用程式由一個或複數個積體電路執行,如特定應用的積體電路(application specific integrated circuit,ASIC)或現場可程式設計閘陣列(field programmable gate array,FPGA)。在一些實施例中,這種積體電路執行存儲在該電路本身上的指令。此外,一些實施例執行存儲在可程式設計邏輯器件(programmable logic device,PLD),ROM或RAM設備中的軟體。
如本發明的說明書和任一請求項中所使用,術語“電腦”、“伺服器”、“處理器”和“記憶體”均指電子設備或其他技術設備。這些術語不包括人或群體。為了本說明書的目的,術語顯示或顯示裝置指在電子設備上進行顯示。如本發明的說明書和任一請求項中所使用,術語“電腦可讀介質”、“電腦可讀媒質”和“機器可讀介質”完全局限於有形的、實體的物體,其以電腦可讀的形式存儲資訊。這些術語不包括任何無線訊號、有線下載訊號和其他任何短暫訊號。
在結合許多具體細節的情況下描述了本發明時,本領域通常知識者將認識到,本發明可以以其他具體形式而被實施,而不脫離本發明的精神。此外,大量的圖(包括第12圖和第15圖)概念性示出了處理。這些處理的具體操作可以不以所示以及所描述的確切順序來被執行。這些具體操作可用不在一個連續的操作系列中被執行,並且不同的具體操作可以在不同的實施例中被執行。另外,該處理透過使用幾個子處理而被實現,或者作為更大巨集處理的部分。因此,本領域通常知識者將能理解的是,本發明不受前述說明性細節的限制,而是由請求項加以界定。
附加的說明
本文所描述的主題有時表示不同的元件,其包含在或者連接到其他不同的元件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實現相同的功能。從概念上講,任何實現相同功能的組件的排列實際上是“相關聯的”,以便實現所需的功能。因此,不論結構或中間部件,為實現特定的功能而組合的任何兩個元件被視為“相互關聯”,以實現所需的功能。同樣,任何兩個相關聯的元件被看作是相互“可操作連接”或“可操作耦接”,以實現特定功能。能相互關聯的任何兩個組件也被視為相互“可操作地耦合”以實現特定功能。可操作連接的具體例子包括但不限於物理可配對和/或物理上相互作用的元件,和/或無線可交互和/或無線上相互作用的元件,和/或邏輯上相互作用和/或邏輯上可交互的元件。
此外,關於基本上任何複數和/或單數術語的使用,本領域的技術人員可以根據上下文和/或應用從複數轉換為單數和/或從單數到複數。為清楚起見,本文明確規定了不同的單數/複數排列。
此外,本領域的通常知識者可以理解,通常,本發明所使用的術語特別是請求項中的,如請求項的主題,通常用作“開放”術語,例如,“包括”應解釋為“包括但不限於,“有”應理解為“至少有”“包括”應解釋為“包括但不限於”等。本領域的通常知識者可以進一步理解,若計畫介紹特定數量的請求項內容,將在請求項內明確表示,並且,在沒有這類內容時將不顯示。例如,為幫助理解,下面請求項可能包含短語“至少一個”和“一個或複數個”,以介紹請求項內容。然而,這些短語的使用不應理解為暗示使用不定冠詞“a”或“an”介紹請求項內容,而限制了任何特定的請求項。甚至當相同的請求項包括介紹性短語“一個或複數個”或“至少有一個”,不定冠詞,例如“a”或“an”,則應被解釋為表示至少一個或者更多,對於用於介紹請求項的明確描述的使用而言,同樣成立。此外,即使明確引用特定數量的介紹性內容,本領域通常知識者可以認識到,這樣的內容應被解釋為表示所引用的數量,例如,沒有其他修改的“兩個引用”,意味著至少兩個引用,或兩個或兩個以上的引用。此外,在使用類似於“A、B和C中的至少一個”的表述的情況下,通常如此表述是為了本領域通常知識者可以理解該表述,例如,“系統包括A、B和C中的至少一個”將包括但不限於單獨具有A的系統,單獨具有B的系統,單獨具有C的系統,具有A和B的系統,具有A和C的系統,具有B和C的系統,和/或具有A、B和C的系統,等。本領域通常知識者進一步可理解,無論在說明書中、請求項中或者附圖中,由兩個或兩個以上的替代術語所表現的任何分隔的單詞和/或短語應理解為,包括這些術語中的一個,其中一個,或者這兩個術語的可能性。例如,“A或B”應理解為,“A”,或者“B”,或者“A和B”的可能性。
從前述可知,為了說明目的,此處已描述了各種實施方案,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,專利申請範圍表示真實的範圍和精神。
800:視訊畫面
802:參考幀
804:參考幀
806:參考幀/相鄰像素
808:參考幀
810:像素塊/當前塊
820:結合預測
822:第一預測/第一假設
824:第二預測/第二假設
832:第一候選列表/候選列表I
834:第二候選列表/候選列表II
842:運動候選
844:幀內-預測模式
846:運動候選
1000:視訊編碼器
1005:視訊源
1009:殘差信號
1010:轉換模組
1011:量化模組
1012:已量化係數
1013:已預測像素資料
1014:逆量化模組
1015:逆轉換模組
1016:轉換係數
1017:已重構像素資料
1019:已重構殘差
1020:幀內-畫面估計模組
1025:幀內-預測模組
1030:運動補償模組
1035:運動估計模組
1040:幀間-預測模組
1045:迴路濾波器
1050:已重構畫面緩衝器
1065:MV緩衝器
1075:MV預測模組
1090:熵編碼器
1095:位元流
1110:結合預測模組
1120:MH模式控制器
1130:運動補償模組
1200:流程
1210:步驟
1220:步驟
1225:步驟
1240:步驟
1250:步驟
1260:步驟
1270:步驟
1300:視訊解碼器
1305:逆量化模組
1310:逆轉換模組
1312:已量化係數
1313:已預測像素資料
1316:轉換係數
1317:已解碼像素資料
1319:已重構殘差信號
1325:幀內-畫面預測模組/幀內-預測模組
1330:運動補償模組
1340:幀間-預測模組
1345:迴路濾波器
1350:已解碼畫面緩衝器
1355:顯示裝置
1365:MV緩衝器
1375:MV預測模組
1390:解析器
1395:位元流
1410:結合預測模組
1420:MH模式控制器
1430:運動補償模組
1500:流程
1510:步驟
1520:步驟
1525:步驟
1540:步驟
1550:步驟
1560:步驟
1570:步驟
1600:電子系統
1605:匯流排
1610:處理單元
1615:影像處理單元
1620:系統記憶體
1625:網路
1630:唯讀記憶體
1635:永久存儲裝置
1640:輸入設備
1645:輸出設備
下列圖式用以提供本發明的進一步理解,並被納入且構成本發明的一部分。這些圖式說明瞭本發明的實施方式,並與說明書一起用以解釋本發明的原理。為了清楚地說明本發明的概念,與實際實施方式中的尺寸相比,一些元件可以不按照比例被示出,這些圖式無需按照比例繪製。
第1圖示出了HEVC中用於幀間-預測模式的MVP候選組。
第2圖示出了包括結合型雙向預測合併候選的一合併候選列表。
第3圖示出了包括縮放型合併候選的一合併候選列表。
第4圖示出了一個例子,其中將零向量候選加入於一合併候選列表或一AMVP候選列表中。
第5圖顯示出於不同方向的幀內-預測模式。
第6圖示出了一四參數仿射運動模型。
第7圖示出了用於仿射幀間模式的MVP推導。
第8a圖概念性示出了藉由使用用於幀內的多重假設模式來編碼或解碼一像素塊。
第8b圖概念性示出了藉由使用用於幀間的多重假設模式來編碼或解碼一像素塊。
第9圖概念性示出了基於像素塊的尺寸大小、寬度或高度來致能用於幀內的MH模式或用於幀間的MH模式。
第10圖示出了一示例性的視訊編碼器,其可以實施用於幀內的MH模式或用於幀間的MH模式。
第11a圖示出了部分的視訊編碼器,當編碼一像素塊時,其可以實施用於幀內的MH模式。
第11b圖示出了部分的視訊編碼器,當編碼一像素塊時,其可以實施用於幀間的MH模式。
第12圖概念性示出了一流程,其使用用於幀內的MH模式或用於幀間的MH模式來編碼一像素塊。
第13圖示出了一示例性的視訊解碼器,其可以實施用於幀內的MH模式或用於幀間的MH模式。
第14a圖示出了部分的視訊解碼器,當解碼一像素塊時,其可以實施用於幀內的MH模式。
第14b圖示出了部分的視訊解碼器,當解碼一像素塊時,其可以實施用於幀間的MH模式。
第15圖各自概念性示出了一流程,其使用用於幀內的MH模式或用於幀間的MH模式來解碼一像素塊。
第16圖概念性示出了一電子系統,本揭示的一些實施例可以於其中加以實施。
1500:流程
1510~1570:步驟
Claims (15)
- 一種視訊解碼方法,包括:從一位元流中接收將被解碼的資料,以將一像素塊解碼作為一視訊的一當前畫面中的一當前塊;基於一幀間預測模式而產生該當前塊的一第一預測;依據該當前塊的一寬度或一高度而決定該當前塊的一塊尺寸;基於該當前塊的該塊尺寸而致能該當前塊的一結合預測模式,其中當該當前塊的該寬度或該高度大於一閥值長度時,該結合預測模式失能,以及當該結合預測模式失能時,不會在一解碼器側解析是否使用該結合預測模式來解碼該當前塊的一旗標;以及當該結合預測模式為致能時:產生一第二預測;基於該第一預測與該第二預測而產生該當前塊的一結合預測;以及藉由使用該結合預測而重構該當前塊。
- 如申請專利範圍第1項所述之視訊解碼方法,其中該第二預測是基於一幀內預測模式而產生。
- 如申請專利範圍第2項所述之視訊解碼方法,其中該幀間預測模式是選自包括一或多個候選幀間預測模式的一第一候選列表,以及該幀內預測模式是選自包括一或多個候選幀內預測模式的一第二候選列表。
- 如申請專利範圍第3項所述之視訊解碼方法,其中該第一候選列表的該一或多個幀間預測候選與該當前塊的一合併候選列表中的一或多個候選是相同的。
- 如申請專利範圍第3項所述之視訊解碼方法,其中該第二候選列 表包括不多於一個候選幀內預測模式。
- 如申請專利範圍第2項所述之視訊解碼方法,其中該幀內預測模式是平面模式。
- 如申請專利範圍第2項所述之視訊解碼方法,其中該幀內預測模式的計算不用至少下列之一來進行:(i)參考可用性檢查與替代;(ii)參考樣本濾波;(iii)水平平面預測子產生與平均;以及(iv)位置依存度幀內預測結合。
- 如申請專利範圍第2項所述之視訊解碼方法,其中基於該幀內預測模式而產生該第二預測包括:(i)使用該幀內預測模式來辨識一組相鄰像素;以及(ii)應用一內插濾波器於該組經過辨識的相鄰像素來產生一組經過內插的像素;其中該組經過內插的像素沒有經過進一步調整而被使用作為該第二預測。
- 如申請專利範圍第8項所述之視訊解碼方法,其中該內插濾波器具有三個或更少的閥門。
- 如申請專利範圍第2項所述之視訊解碼方法,其中該第二預測是不使用位置依存度幀內預測結合或角度幀內預測而計算得出。
- 如申請專利範圍第1項所述之視訊解碼方法,其中該閥值長度為64。
- 如申請專利範圍第1項所述之視訊解碼方法,其中當該當前塊的該塊尺寸大於或等於64時,使該結合預測模式致能。
- 一種視訊編碼方法,包括: 接收原始像素資料,以將一像素塊編碼為進入一位元流中的一視訊的一當前畫面中的一當前塊;基於一幀間預測模式而產生該當前塊的一第一預測;依據該當前塊的一寬度或一高度而決定該當前塊的一塊尺寸;基於該當前塊的該塊尺寸而致能該當前塊的一結合預測模式,其中當該當前塊的該寬度或該高度大於一閥值長度時,該結合預測模式失能,以及當該結合預測模式失能時,不會在一編碼器側發信是否使用該結合預測模式來編碼該當前塊的一旗標;以及當該結合預測模式為致能時:產生一第二預測;基於該第一預測與該第二預測而產生該當前塊的一結合預測;以及藉由使用該結合預測而編碼該當前塊進入該位元流。
- 一種電子裝置,包括:一視訊解碼電路,用於:從一位元流中接收將被解碼的資料,以將一像素塊解碼作為一視訊的一當前畫面中的一當前塊;基於一幀間預測模式而產生該當前塊的一第一預測;依據該當前塊的一寬度或一高度而決定該當前塊的一塊尺寸;基於該當前塊的該塊尺寸而致能該當前塊的一結合預測模式,其中當該當前塊的該寬度或該高度大於一閥值長度時,該結合預測模式失能,以及當該結合預測模式失能時,不會在一解碼器側解析是否使用該結合預測模式來解碼該當前塊的一旗標;以及當該結合預測模式為致能時:產生一第二預測; 基於該第一預測與該第二預測而產生該當前塊的一結合預測;以及藉由使用該結合預測而重構該當前塊。
- 一種視訊編解碼方法,包括:接收將被編碼或被解碼的資料,以作為一視訊的一當前畫面中的一當前塊;基於一幀間預測模式而產生該當前塊的一第一預測;依據該當前塊的一寬度或一高度而決定該當前塊的一塊尺寸;基於該當前塊的該塊尺寸而致能該當前塊的一結合預測模式,其中當該當前塊的該寬度或該高度大於一閥值長度時,該結合預測模式失能,以及當該結合預測模式失能時,不會在一編碼器側發信是否使用該結合預測模式來編碼該當前塊的一旗標或不會在一解碼器側解析是否使用該結合預測模式來解碼該當前塊的一旗標;以及當該結合預測模式為致能時:產生一第二預測;基於該第一預測與該第二預測而產生該當前塊的一結合預測;以及使用該結合預測而重構該當前塊或編碼該當前塊進入一位元流。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862744464P | 2018-10-11 | 2018-10-11 | |
US62/744,464 | 2018-10-11 | ||
US16/596,040 | 2019-10-08 | ||
US16/596,040 US20200120339A1 (en) | 2018-10-11 | 2019-10-08 | Intra Prediction For Multi-Hypothesis |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202029748A TW202029748A (zh) | 2020-08-01 |
TWI729526B true TWI729526B (zh) | 2021-06-01 |
Family
ID=70160982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136596A TWI729526B (zh) | 2018-10-11 | 2019-10-09 | 用於多重假設之幀內預測 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20200120339A1 (zh) |
EP (1) | EP3857878A4 (zh) |
CN (1) | CN113141783B (zh) |
TW (1) | TWI729526B (zh) |
WO (1) | WO2020073937A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11997311B2 (en) * | 2018-09-17 | 2024-05-28 | Hfi Innovation Inc. | Methods and apparatuses of combining multiple predictors for block prediction in video coding systems |
US11317099B2 (en) | 2018-10-05 | 2022-04-26 | Tencent America LLC | Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction |
KR102573294B1 (ko) * | 2018-10-27 | 2023-08-30 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 서브블록 병합 후보를 위한 개별적인 병합 목록 및 비디오 코딩을 위한 인트라-인터 기술 조화 |
EP3849184B1 (en) * | 2018-11-08 | 2023-05-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Image signal encoding/decoding method and apparatus therefor |
KR20200083357A (ko) * | 2018-12-28 | 2020-07-08 | 인텔렉추얼디스커버리 주식회사 | 화면 간 예측 부호화 및 복호화 방법 및 장치 |
CA3132582A1 (en) * | 2019-03-07 | 2020-09-10 | Digitalinsights Inc. | Image encoding/decoding method and apparatus |
CN114175632B (zh) | 2019-07-26 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 对视频编解码模式的块尺寸相关使用 |
US11451809B2 (en) * | 2019-08-28 | 2022-09-20 | Tencent America LLC | Method and apparatus for video coding |
CN117499628A (zh) * | 2020-03-26 | 2024-02-02 | 阿里巴巴(中国)有限公司 | 用于对视频进行编码或解码的方法和装置 |
US11259055B2 (en) * | 2020-07-10 | 2022-02-22 | Tencent America LLC | Extended maximum coding unit size |
US20230079743A1 (en) * | 2021-09-16 | 2023-03-16 | Qualcomm Incorporated | Multiple inter predictors with decoder side motion vector derivation for video coding |
WO2023200643A2 (en) * | 2022-04-12 | 2023-10-19 | Dolby Laboratories Licensing Corporation | Geometric partition mode in video coding |
WO2024017188A1 (en) * | 2022-07-22 | 2024-01-25 | Mediatek Inc. | Method and apparatus for blending prediction in video coding system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070098067A1 (en) * | 2005-11-02 | 2007-05-03 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding/decoding |
US20180288410A1 (en) * | 2014-11-06 | 2018-10-04 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus, and video decoding method and apparatus |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006100871A (ja) * | 2004-09-28 | 2006-04-13 | Sony Corp | 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体 |
KR101756442B1 (ko) * | 2010-11-29 | 2017-07-11 | 에스케이텔레콤 주식회사 | 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치 |
US10469873B2 (en) * | 2015-04-15 | 2019-11-05 | Google Llc | Encoding and decoding virtual reality video |
CN107852492A (zh) * | 2015-05-12 | 2018-03-27 | 三星电子株式会社 | 用于对图像进行编码和解码的方法和设备 |
CN115002457A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
US11032550B2 (en) * | 2016-02-25 | 2021-06-08 | Mediatek Inc. | Method and apparatus of video coding |
-
2019
- 2019-10-08 US US16/596,040 patent/US20200120339A1/en not_active Abandoned
- 2019-10-09 TW TW108136596A patent/TWI729526B/zh active
- 2019-10-10 EP EP19871161.6A patent/EP3857878A4/en active Pending
- 2019-10-10 WO PCT/CN2019/110265 patent/WO2020073937A1/en unknown
- 2019-10-10 CN CN201980066554.2A patent/CN113141783B/zh active Active
-
2023
- 2023-03-06 US US18/117,855 patent/US11924413B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070098067A1 (en) * | 2005-11-02 | 2007-05-03 | Samsung Electronics Co., Ltd. | Method and apparatus for video encoding/decoding |
US20180288410A1 (en) * | 2014-11-06 | 2018-10-04 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus, and video decoding method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
TW202029748A (zh) | 2020-08-01 |
US20230209048A1 (en) | 2023-06-29 |
US11924413B2 (en) | 2024-03-05 |
CN113141783A (zh) | 2021-07-20 |
WO2020073937A1 (en) | 2020-04-16 |
US20200120339A1 (en) | 2020-04-16 |
CN113141783B (zh) | 2024-04-05 |
EP3857878A1 (en) | 2021-08-04 |
EP3857878A4 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI729526B (zh) | 用於多重假設之幀內預測 | |
TWI719542B (zh) | 一種視訊編碼/解碼方法及裝置 | |
TWI690200B (zh) | 畫面內合併預測 | |
TWI737201B (zh) | 用於發信合併工具的方法及裝置 | |
TWI711300B (zh) | 照度補償方法及相應之視訊處理裝置 | |
TWI734268B (zh) | 用於多重-參考行預測與多重-假設預測之發信 | |
US10715827B2 (en) | Multi-hypotheses merge mode | |
TWI706667B (zh) | 隱式變換設置 | |
TWI743801B (zh) | 運動向量差值導數傳訊技術 | |
TW202015426A (zh) | 共享候選列表 | |
CN112840645A (zh) | 视频编码***中组合多个预测子用于块预测的方法及装置 | |
CN115136597A (zh) | 空域-时域运动矢量预测 | |
TWI729497B (zh) | 在視頻編解碼系統中組合多個預測子進行塊預測的方法和裝置 | |
TW202420819A (zh) | 視訊編解碼中帶越界檢查的預測生成 | |
TW202408232A (zh) | 更新合併候選的運動屬性 | |
TW202423114A (zh) | 基於多參考線的幀內預測 | |
CN115567709A (zh) | 对子块中的像素位置处的样点进行编码的方法和装置 |