TW202139702A - 視訊編解碼系統中的視訊處理方法和裝置 - Google Patents
視訊編解碼系統中的視訊處理方法和裝置 Download PDFInfo
- Publication number
- TW202139702A TW202139702A TW110101098A TW110101098A TW202139702A TW 202139702 A TW202139702 A TW 202139702A TW 110101098 A TW110101098 A TW 110101098A TW 110101098 A TW110101098 A TW 110101098A TW 202139702 A TW202139702 A TW 202139702A
- Authority
- TW
- Taiwan
- Prior art keywords
- mode
- merge
- video
- merging
- combined
- 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/70—Methods 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
-
- 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/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/51—Motion estimation or motion compensation
-
- 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/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
視訊處理方法和裝置包括接收輸入視訊資料,確定常規合併模式的合併數,將常規合併模式的合併數與預定值進行比較,以及僅在常規合併模式的合併數大於或等於預定值時發送或解析常規合併模式的合併數和幾何分區模式 (GPM) 合併模式的合併數之間的差值。當差值未被發送時,合併數之間的差值被推斷為 0。GPM合併模式的合併數定義GPM合併候選列表的大小,該GPM合併候選列表被構建用於已由GPM合併模式編解碼的或將由GPM合併模式編解碼的每個塊。
Description
本發明的實施例總體上涉及視訊編碼和解碼系統中的視訊處理方法和裝置。特別地,本發明涉及用於合併模式的合併數的發送。
高效率視訊編解碼(High Efficiency Video Coding,HEVC)標準是在ITU-T研究組的視訊編解碼專家組成的聯合協作小組(Joint Collaborative Team on Video Coding,JCT-VC)開發的最新視訊編解碼標準。HEVC標準改進了其後續標準H.264/AVC的視訊壓縮性能,以滿足對更高圖像解析度,更高幀頻和更好視訊品質的需求。HEVC標準依賴於基於塊的編解碼結構,該結構將每個視訊片段(slice)分成多個方形編解碼樹單元(Coding Tree Unit,簡稱CTU),其中CTU是HEVC標準中視訊壓縮的基本單位。光柵掃描順序用於對每個片段中的CTU進行編碼或解碼。每個CTU可包含一個編解碼單元(coding unit,簡稱CU),也可以根據四分樹分割結構被遞迴地拆分為四個較小的CU,直到達到預定義的最小CU大小為止。預測決策在CU級別做出,其中每個CU使用圖像間預測或幀內預測進行編解碼。一旦CU分層樹的分割完成,則根據用於預測的PU分割類型,每個CU被進一步劃分成一個或多個預測單元(prediction unit,簡稱PU)。由於相同的預測過程被應用於PU中的所有像素,因此PU用作共用預測資訊的基本代表塊。預測資訊以PU為基礎傳送到解碼器。圖像間預測中的運動估計識別一或兩個參考圖像中的當前塊的一個(單向預測)或兩個(雙向預測)最佳參考塊,以及根據到一個或兩個運動向量(motion vector,簡稱MV),圖像間預測中的運動補償定位一個或兩個最佳參考塊。當前塊和相應的預測子之間的差值被稱為預測殘差。當單向預測被使用時,相應的預測子是最佳參考塊。當雙向預測被使用時,兩個參考塊被合併以形成預測子。
跳躍和合併
跳躍模式和合併模式在HEVC標準中被提出和採用,以藉由從空間相鄰塊或時間同位塊之一中繼承運動資訊來提高MV的編解碼效率。為了在跳躍模式或合併模式中對PU進行編解碼,不發送運動資訊,而是僅發送表示從候選集合中選擇的最終候選的索引。在跳躍模式或合併模式編碼的 PU重複使用的運動資訊包括MV,幀間預測指示符和選擇的最終候選的參考圖像索引。注意,如果選擇的最終候選是時間運動候選,則參考圖像索引總是被設置為零。當在合併模式對PU進行編解碼時,預測殘差被編解碼,然而,由於在跳躍模式中編碼的PU的殘差資料被強制設為零時,跳躍模式進一步跳過發送預測殘差。
在即將到來的多樣化視訊編解碼標準(Versatile Video Coding,簡稱VVC)中,VVC常規合併模式的合併候選列表是藉由依次包括以下五種類型的候選來構建的:來自空間相鄰 CU 的空間候選、來自同位的時間候選CU、先進先出(First In First Out,簡稱FIFO)表中基於歷史的候選、成對平均候選(pairwise average candidate)和零MV。合併候選列表的大小在片段報頭中發送,合併候選列表的最大允許大小為6。對於在合併模式下編解碼的每個CU,最佳合併候選的索引使用截斷一元(Truncated Unary,簡稱TU)二進位化編碼。合併索引的第一位元子(bin)使用上下文進行編解碼,其他 bin 使用旁路編解碼(bypass coding)。在位於第1圖所示位置的候選中最多四個空間候選被選擇,推導順序為頂部位置B0
114、左側位置A0
112、右側上方位置B1
113、左側下方位置A1
111,以及左側上方位置B2
115。僅當一個或多個空間候選不可用時,左側上方位置B2
的候選才被包括在合併候選列表中。空間候選不可用,因為它屬於另一片段或圖塊,或者因為它是幀內編解碼的。左側下方位置A1
111 的候選被添加到合併候選列表後,對剩餘候選的添加進行冗餘校驗,確保具有相同運動資訊的候選從合併候選列表中排除,使得編解碼效率得到改進。為了降低計算複雜度,不是所有可能的候選對在提到的冗餘校驗中被考慮。僅第2圖中用箭頭連結的對被比較用於冗餘檢查,以及僅在檢查的候選具有與先前候選不同的運動資訊時,該候選被添加到合併候選列表。
只有一個時間候選被添加到合併候選列表。如第1圖所示,在位置TBR
121和TCTR
122之間選擇時間候選的位置。位置TBR
121處的候選被插入到合併候選者列表中作為時間候選,以及如果位置TBR
121處的CU是不可用、幀内編解碼或在當前 CTU 行之外,則位置TCTR
122處的候選被插入合併候選列表中。在時間候選的推導過程中,縮放後的MV基於同位CU推導,該同位CU屬於同位參考圖像。用於推導同位CU的參考圖像列表在片段報頭中顯式地發送。如第3圖中的虛線所示,時間候選的縮放後的MV被獲得,它使用圖像順序計數 (Picture Order Count,簡稱POC) 距離tb和td從同位CU的MV中縮放,其中tb被定義為當前圖像的參考圖像(curr_ref)與當前圖像(curr_pic)的POC差值,td被定義為同位圖像的參考圖像(col_ref)與同位圖像(col_pic)的POC差值。時間候選的參考圖像索引被設置為零。
基於歷史的合併候選推導
在插入空間和時間候選之後,基於歷史的運動向量預測子(History-based Motion Vector Predictor,簡稱HMVP)候選被添加到合併候選列表。先前編碼塊的運動資訊存儲在表中以及被用作當前CU的 MVP。在編碼或解碼過程中,具有多個HMVP候選的表被維護。當遇到新的CTU行時,該表被清空。每當存在非子塊幀間編解碼CU時,相關運動資訊被作為新的HMVP候選添加到表的最後一個條目。HMVP表大小S被設置為 6,這表示最多6個HMVP候選被添加到表中。向表中插入新的運動候選時,受約束的FIFO規則被應用。冗餘檢查被首先執行以查閱表中是否存在相同的HMVP。相同的HMVP從表中被刪除,之後的所有HMVP候選都向前移動。HMVP表中的HMVP候選可以用於合併候選列表的構建過程。HMVP表中最新的幾個HMVP候選被依次檢查以及被插入到時間候選之後的合併候選列表中。藉由與空間或時間候選進行比較,對HMVP候選執行冗餘檢查。用於合併候選列表生成的HMVP候選數量被設置為 (N <= 4)?M: (8-N),其中N表示合併候選列表中現有候選的數量,M表示HMVP表中可用HMVP的數量。一旦可用合併候選的總數達到最大允許合併候選減1,HMVP表中的合併候選列表構建過程終止。
成對平均合併候選推導( Pairwise Average Merge Candidates Derivation )
成對平均候選是藉由對現有合併候選列表中的預定候選對進行平均而生成的,預定候選對被定義為{(0,1), (0,2), (1,2 ), (0,3), (1,3), (2,3)},其中數字表示合併候選列表中的合併索引。每個參考列表的平均MV單獨計算。如果在一個列表中兩個MV都可用,即使兩個MV指向不同的參考圖像,平均MV藉由對這兩個MV求平均來生成;如果此列表中只有一個MV可用,則直接使用該可用MV生成平均MV;如果此列表中沒有MV為可用,則此列表無效。當成對平均候選被添加後合併候選列表未滿時,零MV被插入,直到達到合併候選列表的合併數。
三角 形 分區模式合併 ( Triangle Partition Mode Merge )
三角形分區模式(Triangle Partition Mode,簡稱TPM)被提出來改進對大於或等於8x8的CU的幀間預測。CU級別標誌被發送以選擇以下模式之一,包括常規合併模式、具有運動向量差的合併模式(Merge mode with Motion Vector Difference,簡稱MMVD)、組合幀內/幀間預測(Combined Intra/Inter Prediction,簡稱CIIP)模式、TPM和子塊合併模式。藉由對角線分割(diagonal split)或反對角線分割(anti-diagonal split),在TPM中編解碼或將要編解碼的CU被均勻地分割成兩個三角形的分區。CU中的每個三角形分區使用其自己的運動資訊進行幀間預測。每個三角形分區都被限制為藉由單向預測進行預測,以確保每個CU需要的運動補償預測不超過兩個,這與傳統的雙向預測一致。對於在TPM中編解碼或將要編解碼的CU,指示分割方向和兩個合併索引的標誌被發送。用於構建TPM候選列表的合併數在片段級別顯式地發送,以及TPM合併索引使用每個TPM CU的二進位化進行編碼。在預測每個三角形分區後,沿對角線或反對角線邊緣的樣本值使用具有自適應權重的混合處理進行調整。整個CU的結果預測訊號使用變換和量化過程進行處理。使用TPM進行預測的CU的運動場被存儲。三角形分區模式不與子塊變換(SubBlock Transform,簡稱SBT)結合使用,即當CU級別標誌指示CU以TPM進行編解碼時,CU的SBT標誌cu_sbt_flag被推斷為0而無需發送。三角形分區的單向預測候選列表直接從根據擴展合併預測過程構建的合併候選列表中導出。表示n為三角形單向預測候選列表中單向預測運動的索引。第n個擴展合併候選的LX運動向量,其中X等於n的奇偶校驗碼,用作TPM的第n個單向預測運動向量。這些運動向量在第4圖中用“x”標記。如果第n個擴展合併候選的對應LX運動向量不存在,則相同候選的L(1-X)運動向量被用來代替TPM的單向預測運動向量。
對於以TPM編解碼的CU,在使用其自身的運動資訊預測每個三角形分區之後,混合被應用於兩個預測訊號以在兩個三角形分區之間的對角線或反對角線邊緣處的邊界樣本。第5A圖和第5B圖示出在分別應用於亮度和色度樣本的混合過程中使用的權重圖,該混合過程被應用於兩個三角形分區之間的對角線邊緣處的邊界樣本。每個邊界樣本的最終預測子從第一三角形預測單元的第一預測值P1
和第二三角形預測單元的第二預測值P2
的加權和導出。如第5A圖和第5B圖所示,標有1的樣本的第一和第二預測子P1
和P2
對應的權重因數分別為1/8和7/8,標有2的樣本的第一和第二預測子P1
和P2
對應的權重因數分別為2/8和6/8。每個標有1的樣本的最終預測子是1/8*P1
+7/8*P2
,每個標有2 的樣本的最終預測子是2/8*P1+6/8*P2。標有4的樣本位於對角線邊緣的中間,因此他們的第一和第二預測子P1
和P2
的權重因數均為4/8,這相當於對兩個預測子P1
和P2
應用相等的權重。因此,每個標有4的樣本的最終預測子是4/8*P1+ 4/8*P2。同理,標有6的樣本的權重因數為6/8和2/8,標有7的樣本的權重因數為7/8和1/8,因此每個標有6的樣本的最終預測子為6/8*P1+2/8+P2,以及每個標有7的樣本的最終預測子是7/8*P1+1/8*P2。
如果Mvl和Mv2來自不同的參考圖像列表,則藉由組合Mvl和Mv2以形成雙向預測運動向量來生成用於TPM中的運動場存儲的運動向量。在Mv1和Mv2來自同一參考圖像列表的情況下,僅單向預測運動向量Mv2被存儲。
仿射運動 補償預測
在VVC標準的發展中,基於塊的仿射變換運動補償預測是傳統平移運動補償預測的替代幀間預測編解碼工具。塊的仿射運動場由4-參數仿射運動模型中的兩個控制點或6參數仿射運動模型中的三個控制點的運動資訊描述。對於4-參數仿射運動模型,塊中樣本位置 (x,y) 處的運動向量由以下等式導出。
對於6-參數仿射運動模型,塊中樣本位置(x,y)處的運動向量由以下等式導出。
其中(mv0x
, mv0y
)是左上角控制點的運動向量,(mv1x
, mv1y
) 是右上角控制點的運動向量,(mv2x
, mv2y
) 是左下角控制點的運動向量。
第6圖示出藉由仿射運動補償預測進行編解碼的CU中每個4x4子塊的仿射運動向量場的示例。為了導出仿射編解碼CU中每個4x4亮度子塊的運動向量,每個子塊的中心樣本的運動向量根據等式(1)或(2)計算,以及被四捨五入到1/16分數精度。運動補償插值濾波器被應用以使用導出的運動向量生成每個子塊的預測訊號。色度分量的子塊大小也被設置為4x4。4x4色度子塊的MV被計算為四個對應的4x4亮度子塊的MV的平均值。
存在兩種仿射運動幀間預測模式,包括仿射合併模式和仿射高級運動向量預測(affine Advance Motion Vector Prediction,簡稱AMVP)模式。仿射合併模式可被應用於寬度和高度都大於或等於8的CU。在這種模式下,當前CU的控制點MV根據空間相鄰CU的運動資訊生成。最多可以有五個控制點運動向量預測子(Motion Vector Predictor,簡稱MVP)候選,以及索引被發送以指示用於當前CU的控制點運動向量預測子候選。三種類型的控制點MV候選用於形成仿射合併候選列表,包括從相鄰CU的控制點MV推導的(extrapolated)的繼承仿射合併候選,使用相鄰CU的平移MV導出的構造仿射合併候選控制點MVP(constructed affine Merge candidates Control Point MVP,簡稱CPMVP),和零 MV。
在VVC標準的發展過程中,最多有兩個繼承仿射候選,它們來自相鄰塊的仿射運動模型,一個來自左側相鄰CU,一個來自上方相鄰CU。左側預測子候選位置的掃描順序為A0
112,然後是A1
111,如第1圖所示。上方預測子的候選位置掃描順序為B0
114,B1
113,然後是B2
115,如第1圖所示。每側的第一個繼承候選被選擇。兩個繼承候選的冗餘不會被檢查。在相鄰仿射CU被識別的情況下,其控制點運動向量被用來導出當前CU的仿射合併列表中的CPMVP候選。第7圖說明了控制點運動向量繼承,以及如第7圖所示,當相鄰的左下塊A以仿射模式進行編解碼時,包含塊A的CU的左上角、右上角和左下角的運動向量v2
、v3
和v4
被獲得。當包含塊A的CU用4-參數仿射模型進行編解碼時,CU的兩個控制點MV根據運動向量v2
和v3
計算。當包含塊A的CU使用6-參數仿射模型對進行編解碼時,CU的三個控制點MV根據運動向量v2
、v3
和v4
計算。
構造仿射候選藉由組合每個控制點的相鄰平移運動資訊來構造。控制點的運動資訊從指定的空間鄰居和時間鄰居中導出,如第8圖所示。CPMVk (k=1, 2, 3, 4)表示第k個控制點。對於CPMV1,檢查順序是B2,B3,然後是A2,以及第一可用塊的MV被使用。對於CPMV2,檢查順序是B1,然後是B0,對於CPMV3,檢查順序是A1,然後是A0。如果時間MVP可用,則時間MVP被用作CPMV4。
在四個控制點的MV被獲得之後,仿射合併候選基於那些運動資訊被構建。以下控制點MV的組合被用來依次構建:{CPMV1, CPMV2, CPMV3}, {CPMV1, CPMV2, CPMV4}, {CPMV1, CPMV3, CPMV4}, {CPMV2, CPMV3, CPMV4}, {CPMV1, CPMV2 }, {CPMV1, CPMV3}。3個CPMV的組合構建了6-參數的仿射合併候選,2個CPMV的組合構建了4-參數的仿射合併候選。為了避免運動縮放過程,如果控制點的參考索引不同,則控制點MV的相關組合被丟棄。在繼承的仿射合併候選和構建的仿射合併候選被檢查後,如果列表仍未滿,則零MV被插入到列表的末尾。
仿射AMVP模式可應用於寬度和高度都大於或等於16的CU。CU級別中的仿射標誌在視訊位元流中發送以指示仿射AMVP模式是否被使用,然後另一標誌被發送以指示4-參數仿射或6-參數仿射是否被使用。在仿射AMVP模式中,當前CU的控制點MV與其預測子CPMVP的差值在視訊位元流中發送。仿射AMVP候選列表大小為2,它藉由依次使用四種控制點MV候選生成。第一種類型的控制點MV候選是從相鄰CU的控制點MV外推的繼承仿射AMVP候選。第二種類型是使用相鄰CU的平移MV導出的仿射AMVP候選CPMVP。第三種候選控制點MV是來自相鄰CU的平移MV,第四類是零MV。繼承的仿射AMVP候選的檢查順序與繼承的仿射合併候選的檢查順序相同。唯一的區別是在生成繼承的仿射AMVP候選時只考慮與當前塊的參考圖像具有相同參考圖像的仿射CU。當將繼承的仿射運動預測子插入候選列表時,修剪過程不被應用。如第8圖所示,構建的AMVP候選從指定的空間鄰居中導出。相同的檢查順序用於導出構建的仿射AMVP候選和導出仿射合併候選。此外,相鄰塊的參考圖像索引也被檢查。檢查順序中進行幀間編解碼的以及具有與當前CU相同的參考圖像的第一塊被使用。當當前CU使用4-參數仿射模型進行編解碼以及兩個CPMV都可用時,只存在一個構建的AMVP候選,這兩個CPMV作為一個候選被添加到仿射AMVP候選列表中。當當前CU使用6-參數仿射模型進行編解碼以及所有三個CPMV都可用時,三個CPMV作為一個候選被添加到仿射AMVP候選列表中。否則,構建的AMVP候選被設置為不可用。如果在檢查繼承的仿射AMVP候選和構建的AMVP候選後,仿射AMVP候選列表中的候選數量小於2時,一個或多個可用的CPMV被添加作為平移MV,以預測當前CU的所有控制點MV。最後,如果仿射AMVP候選列表仍未滿,則零MV被用來填充該仿射AMVP候選列表。
在VVC標準的發展中,仿射CU的CPMV被存儲在單獨的緩衝器中。存儲的CPMV僅用於在仿射合併模式和仿射AMVP模式下生成繼承的CPMVP,用於稍後編解碼的CU。從CPMV導出的子塊MV用於運動補償、平移MV的合併/AMVP候選列表的MV推導和去塊。為了避免額外CPMV的圖像行緩衝器,來自位於上方CTU中的CU的仿射運動資料的繼承與來自常規相鄰CU的繼承被區別對待。如果仿射運動資料繼承的候選CU在上方的CTU行中,則行緩衝器中的左下和右下子塊MV代替CPMV用於仿射MVP推導。這樣,CPMV只被存儲在本地緩衝器中。如果候選CU是6-參數仿射編碼,則仿射模型被降級為4-參數模型。
用於仿射模式 的具有光流的預測細化
與基於像素的仿射運動補償相比,基於子塊的仿射運動補償的光流預測細化可以節省記憶體訪問頻寬以及降低計算複雜度,但代價是預測精度損失。為了實現更細粒度(finer granularity)的運動補償,光流預測細化(prediction refinement with optical flow for affine mode,簡稱PROF)被用來細化基於子塊的仿射運動補償預測,而無需增加運動補償的記憶體訪問頻寬,在VVC標準的發展中,在基於子塊的仿射運動補償被執行後,藉由添加由光流等式導出的差值,亮度預測樣本被細化。PROF過程在以下四個步驟中描述。
第一步,基於子塊的仿射運動補償被執行以生成子塊預測I
(i
,j
)。在第二步中,子塊預測的空間梯度gx
(i
,j
) 和gy
(i
,j
)使用3抽頭濾波器[-1, 0, 1]在每個樣本位置計算。梯度計算與雙向光流(Bi-Directional Optical Flow,簡稱BDOF)中的梯度計算完全相同。空間梯度計算如下:
其中shift1用於控制空間梯度的精度。子塊(即4x4塊)預測在每一側擴展一個樣本用於梯度計算。為了避免額外的記憶體頻寬和額外的插值計算,擴展邊界上的那些擴展樣本從參考圖像中最近的整數像素位置複製。
在第三步中,亮度預測細化由以下光流等式計算:
其中 Δv(i,j) 是對樣本位置(i,j)計算的樣本MVv(i,j) 與樣本 (i,j) 所屬子塊的子塊MV之間的差值。MV差值Δv(i,j)以1/32亮度採樣精度為單位進行量化。
由於仿射模型參數和相對於子塊中心的樣本位置在子塊與子塊之間沒有變化,因此MV差值Δv(i,j)被計算用於第一子塊,以及被重新用於同一CU中的其他子塊。dx(i,j)和dy(i,j)是從樣本位置 (i,j) 到子塊中心(xSB
,ySB
) 的水平和垂直偏移,MV差值Δv(x,y) 可以由以下等式得出:
為了保持精度,子塊的中心(xSB
,ySB
)計算為((WSB-1)/2, (HSB-1)/2),其中WSB和HSB分別是子塊的寬度和高度。對於4-參數仿射模型,
對於6-參數仿射模型,
其中 (v0x
,v0y
), (v1x
,v1y
), (v2x
,v2y
) 是左上、右上和左下控制點運動向量,w和h是 CU的寬度和高度。
仿射編解碼的CU跳過PROF有兩種情況,第一種情況是當所有控制點MV都相同,表示CU只有平移運動;第二種情況是當仿射運動參數大於指定的限制,因為基於子塊的基於仿射的仿射運動補償被降級為基於CU的運動補償,以避免大的記憶體訪問頻寬需求。
藉由在特定情況下跳過應用PROF,快速編碼方法被用來降低使用PROF的仿射運動估計的編碼複雜度。例如,在以下兩種情況下,PROF不應用於仿射運動估計階段。第一種情況是:當當前CU不是根塊(root block)以及其父塊(parent block)沒有選擇仿射模式時,PROF不適用於這種情況,因為當前CU選擇仿射模式作為最佳模式的可能性很小。第二種情況是:當四個仿射參數的幅值都小於預定的閾值以及當前圖像不是低延遲圖像時,PROF不被應用,因為PROF引入的改進對於這種情況來說很小。
基於子塊的 時間運動向量預測( Subblock-based Temporal Motion Vector Prediction ,簡稱 SbTMVP )
VVC標準支持基於子塊的時間運動向量預測方法。類似於HEVC標準中的時間運動向量預測(Temporal Motion Vector Prediction,簡稱TMVP),SbTMVP使用同位圖像中的運動場來改進當前圖像中CU的運動向量預測和合併模式。TMVP使用的相同同位圖像用於SbTMVP。SbTMVP在以下兩個主要方面與TMVP不同。TMVP預測CU級別的運動,而 SbTMVP預測子CU級別的運動。TMVP從同位圖像中的同位塊中獲取時間運動向量,其中同位塊是相對於當前CU的右下角或中心塊,而SbTMVP在從同位圖像中獲取時間運動資訊之前應用運動位移,其中運動位移從當前CU的一個空間相鄰塊的運動向量中獲得。
SbTMVP分兩步預測當前CU內的子CU的運動向量。第一步,當前CU的左下相鄰塊被檢查,如果該左下相鄰塊中有運動向量,則使用同位圖像作為其參考圖像,該運動向量被選擇作為將要應用的運動位移。如果沒有這樣的運動向量,則運動位移被設置為(0,0)。第二步,第一步中被識別的運動位移被加至當前塊的座標,以從同位圖像中獲得子CU級別運動資訊。對於每個子CU,其在同位圖像中的對應塊的運動資訊被用來導出子CU的運動資訊。對應塊是覆蓋中心樣本的最小運動網格。在同位子CU的運動資訊被識別後,按照與HEVC標準中的TMVP過程類似的方式,同位子CU的運動資訊被轉換為當前子CU的運動向量和參考索引。時間運動縮放被用來對準時間運動向量的參考圖像和當前CU的參考圖像。
在VVC標準的發展中,包含SbTMVP候選和仿射合併候選兩者的基於組合子塊的合併列表被用於基於子塊的合併模式的發送。根據序列參數集 (Sequence Parameter Set,簡稱SPS)標誌,SbTMVP模式被啟用或禁用。如果SbTMVP模式被啓用,則SbTMVP預測子被添加作為基於子塊的合併候選列表的第一個條目,然後是仿射合併候選。基於子塊的合併候選列表的大小在 SPS中發送,例如,基於子塊的合併列表的最大允許大小為5。SbTMVP中使用的子CU大小被固定為8x8樣本,類似於仿射合併模式,SbTMVP模式只適用於寬度和高度都大於等於8的CU。額外的SbTMVP合併候選的編碼邏輯與其他合併候選相同,即對於每個CU在P或B片段中,額外的率失真檢查被執行以決定是否使用SbTMVP候選。
幀內塊 複製( Intra Block Copy ,簡稱 IBC )
IBC是HEVC擴展中用於螢幕內容編解碼(Screen Content Coding,簡稱SCC)的工具,其顯著提高了螢幕內容材料的編解碼效率。由於IBC作為塊級編解碼模式實現,因此塊匹配 (Block Matching,簡稱BM)在編碼器處被執行以找到每個CU的最佳塊向量或運動向量。塊向量用於指示從當前塊到已經在當前圖像內重構的參考塊的位移。IBC編解碼的CU的亮度塊向量是整數精度。IBC編解碼的CU的色度塊向量也被四捨五入為整數預測。當IBC模式與AMVR結合使用時,IBC模式可以在1-像素和4-像素運動向量精度之間切換。IBC編解碼的CU被視為幀內或幀間預測模式之外的第三種預測模式。IBC模式適用於寬度和高度均小於或等於64亮度樣本的CU。VVC標準中有兩種IBC模式,包括IBC AMVP模式和IBC合併模式。IBC合併模式類似於常規合併模式,但是,IBC合併模式有自己的合併候選列表。
在編碼器側,基於散列(hash-based)的運動估計在IBC中執行。編碼器對寬度或高度小於或等於16個亮度樣本的塊執行率失真檢查。對於非合併模式,塊向量搜索使用基於散列的搜索來執行。如果散列搜索沒有返回任何有效的候選,基於塊匹配的本地搜索將被執行。在基於散列的搜索中,當前塊和參考塊之間的散列密鑰匹配(32位元CRC)被擴展到所有允許的塊大小。當前圖像中每個位置的散列密鑰計算都基於每個4x4子塊。對於較大的當前塊,當所有4x4子塊的所有散列密鑰與對應參考位置的散列密鑰匹配時,該散列密鑰匹配被確定與參考塊的散列密鑰相匹配。如果多個參考塊的散列密鑰被發現與當前塊的散列密鑰相匹配,則每個匹配參考塊的塊向量成本被計算,以及成本最小的一個被選擇。
在塊匹配搜索中,搜索範圍被設置為覆蓋先前和當前的CTU。在CU級別,IBC模式用標誌表示,它可以表示為IBC AMVP模式或IBC跳過/合併模式。對於以IBC跳過/合併模式編解碼的當前CU,合併候選索引用於指示從相鄰候選IBC編解碼塊構建的合併候選列表中的哪些塊向量被用來預測當前CU。合併候選列表由空間候選、HMVP和成對候選組成。對於以IBC AMVP模式編解碼的當前CU,塊向量差值的編解碼方式與運動向量差值的編解碼方式相同。塊向量預測方法使用兩個候選作為預測子,一個來自左側鄰居,一個來自上方鄰居,如果這些鄰居以IBC進行編解碼。當任一鄰居不可用時,默認塊向量被用作預測子。標誌被發送以指示塊向量預測子索引。
基於運動向量補償,例如藉由速率失真優化(Rate-Distortion Optimization,簡稱RDO),對於在常規合併模式、子塊合併模式、TPM合併模式或IBC合併模式中編解碼的每個塊,編碼器從對應的合併候選列表中選擇一個最終候選(RDO),以及代表所選最終候選的索引被發送給解碼器。解碼器根據視訊位元流中傳輸的索引從合併候選列表中選擇相同的最終候選。
IBC 參考區域
根據VVC測試模型7(VVC Test Model,簡稱VTM7),當前CTU中IBC編解碼CU的參考區域是預定區域的重構部分,包括當前CTU的區域和左側CTU的一些區域以減少記憶體消耗和解碼器的複雜性。當前塊的參考區域取決於當前塊在當前CTU內的位置。當當前塊落入當前CTU的左上64x64塊時,除了當前CTU中已經重構的樣本外,參考區域還包括使用IBC模式的左側CTU的右下角64x64塊中的參考樣本。當前塊還可以使用IBC模式引用左側CTU的左下角64x64塊中的參考樣本和左側CTU的右上角64x64塊中的參考樣本。當當前塊落入當前CTU的右上角64x64塊時,除了當前CTU中已經重構的樣本外,如果相對於當前CTU的亮度位置(0, 64)還沒有被重構,則當前塊也可以使用IBC模式引用左側CTU的左下角64x64塊和右下角64x64塊中的參考樣本;否則當前塊也可以參考左側CTU的右下角64x64塊中的參考樣本。當當前塊落入當前CTU的左下角64x64塊時,除了當前CTU中已經重構的樣本外,如果相對於當前CTU的亮度位置(64,0)還沒有被重構,則當前塊也可以使用IBC模式引用左側CTU的右上角64x64塊和右下角64x64塊中的參考樣本;否則當前塊也可以使用IBC模式引用左側CTU的右下角64x64塊中的參考樣本。當當前塊落入當前CTU右下角的64x64塊時,只能使用IBC模式引用當前CTU中已經重構的樣本。上述限制允許使用本地片上記憶體(on-chip memory)來實現IBC模式以進行硬體實現。
IBC 與其他編 解 碼工具
IBC模式與VTM7中的其他幀間編解碼工具之間的交互,例如成對合併候選、基於歷史的運動向量預測子(History based Motion Vector Predictior,簡稱HMVP)、組合幀內/幀間預測模式(Combined Intra/inter Prediction mode,簡稱CIIP)、具有運動向量差分的合併模式(Merge mode with Motion Vector Difference,簡稱MMVD)和三角形分區的方法在下面進行描述。IBC模式可以與成對合併候選和HMVP一起使用。一個新的成對 IBC合併候選可以藉由平均IBC合併候選生成。對於HMVP,IBC運動被插入到歷史緩衝器中以備將來參考。IBC模式不能與仿射運動、CIIP、MMVD 和三角形分區模式結合使用。當雙樹分區被選擇時,IBC模式不被允許用於色度編解碼塊。
與HEVC螢幕內容編解碼擴展不同,當前圖像不再作為參考圖像之一包括在用於IBC預測的參考圖像列表0中。IBC模式的運動向量的推導過程排除幀間模式中的所有相鄰塊,反之亦然。IBC模式與具有成對合併候選者和基於歷史的運動向量的常規MV合併模式共用相同的過程,但是TMVP和零向量不被允許,因為它們對於IBC模式無效。具有5個候選的單獨HMVP緩衝器被用於傳統的MV和IBC。塊向量約束以位元流一致性約束的形式實現,編碼器需要保證無效向量不存在於視訊位元流中,如果合併候選無效,則合併不被允許。這種位元流一致性約束是根據如下所述的虛擬緩衝器來表達的。為了對使用IBC模式編解碼的塊執行去塊(deblocking),其處理方式與使用幀間模式編解碼的塊相同。如果當前塊使用IBC模式進行編解碼,則AMVR不允許四分之一像素(quarter-pel);取而代之的是,AMVR被發送以僅指示MV是幀間像素(inter-pel)還是4整數像素(4 inter-pel)。IBC合併候選列表的數量可以在片段報頭中與常規合併、子塊合併和三角形合併候選列表的數量分開發送。
虛擬緩衝器的概念用於描述IBC預測模式和有效塊向量的可允許參考區域。虛擬緩衝器ibcBuf的寬度為wIbcBuff = 128*128/ctbSize,高度為 hIbcBuff = ctbSize,其中ctbSize是CTU的大小。例如,當CTU大小等於128*128時,ibcBuf大小為128*128;當CTU大小等於64*64時,ibcBuf大小為256*64;當 CTU 大小等於32*32時,ibcBuf大小為512*32。虛擬處理資料單元(Virtual Processing Data Unit,簡稱VPDU) 的大小至少為ctbSize,每個維度為64(例如 Wv = min(ctbSize, 64))。
在開始解碼每個CTU行時,虛擬IBC緩衝器被刷新為無效值-1。在開始解碼VPDU時,其中(xVPDU, yVPDU) 相對於圖像的左上角,虛擬IBC緩衝器被設置為ibcBuf[x][y] = -1,其中x = xVPDU % wIbcBuf , ..., xVPDU % wIbcBuf + Wv–1; y = yVPDU % ctbSzie + Wv–1。解碼包含相對於圖像左上角的(x,y)的CU後,虛擬IBC緩衝器被設置為ibcBuf[x% wIbcBuf][y% ctbSize] = recSample [x][y]。對於覆蓋座標(x,y)的塊,如果以下對於塊向量bv = (bv[0],bv[1]) 成立,則它有效,否則無效。值ibcBuf[(x + bv[0]) % wIbcBuf] [(y + bv[1]) % ctbSize] 不應等於-1。
在視訊處理方法的示例性實施例中,視訊編碼系統接收待編碼的輸入視訊資料,確定常規合併模式的合併數和GPM合併模式的合併數,計算常規合併模式的合併數和GPM合併模式的合併數之間的差值,將常規合併模式的合併數與預定值進行比較,如果常規合併模式的合併數大於或等於預定值,則在視訊位元流中發送該差值,以及藉由構建常規合併候選列表以常規合併模式對每個待編解碼塊進行編碼,和藉由構建GPM合併候選列表以GPM合併模式對每個待編解碼塊進行編碼。常規合併模式的合併數定義每個常規合併候選列表中包括的候選數量,以及GPM合併模式的合併數定義每個GPM合併候選列表中包括的候選數量。預定值為正整數,例如,預定值等於3。
在一些實施例中,視訊編碼系統進一步在與發送與常規合併模式的合併數和GPM合併模式的合併數之間的差值相關的語法元素相同級別上發送與常規合併模式的合併數有關的語法元素。視訊編碼系統的實施例進一步在與發送與常規合併模式的合併數相關的語法元素相同級別上發送與IBC合併模式和子塊合併模式的合併數相關的語法元素。根據一個實施例相同級別是序列級別,例如,與常規合併模式的合併數相關的語法元素和與常規合併模式的合併數與GPM合併模式的合併數之間的差值相關的語法元素在序列參數集(Sequence Parameter Set,簡稱SPS)中發送。在另一實施例中,相同級別為圖像級別,其中與常規合併模式的合併數相關的語法元素和與常規合併模式的合併數與GPM合併模式的合併數之間的差值相關的語法元素在圖像參數集(Picture Parameter Set,簡稱PPS)中發送。
在一實施例中,常規合併模式的合併數值被限制在1到6的範圍內,包括端點。根據一實施例,GPM合併模式的合併數值被限制在2到常規合併模式的合併數的範圍內,包括端點。
當常規合併模式的合併數小於預定值時,GPM合併模式的合併數被設置為0,指示GPM合併模式不被允許。
在視訊解碼系統中實現的視訊處理方法的實施例接收視訊位元流中的輸入視訊資料,藉由解析在視訊位元流中發送的語法元素確定常規合併模式的合併數,將常規合併模式的合併數與預定值進行比較,如果常規合併模式的合併數大於或等於預定值,則藉由解析視訊位元流中發送的語法元素來確定常規合併模式的合併數和GPM合併模式的合併數之間的差值,藉由從常規合併模式的合併數中合併數之間的差值來計算GPM合併模式的合併數,以及藉由構建常規合併候選列表對以常規合併模式編碼的每個塊進行解碼,藉由構建GPM合併候選列表對以GPM合併模式編碼的每個塊進行解碼。常規合併模式的合併數定義每個常規合併候選列表中包含的候選數量,以及GPM合併模式的合併數定義每個GPM合併候選列表中包含的候選數量。預定值為正整數,例如,預定值等於3。當常規合併模式的合併數大於或等於預定值時,合併數之間的差值被推斷為0。
在視訊解碼系統的一些實施例中,藉由解析來自相同級別的與差值相關的語法元素確定合併數之間的差值,該相同級別與解析與常規合併模式的合併數相關的語法元素的級別相同。在一實施例中,相同級別是序列級別,例如與常規合併模式的合併數相關的語法元素和與合併數之間的差值相關的語法元素在SPS中發送。在另一實施例中,相同級別是圖像級別,例如,與常規合併模式的合併數相關的語法元素和與合併數之間的差異相關的語法元素在PPS中發送。在一實施例中,視訊解碼系統還包括解析與IBC合併模式和子塊合併模式的合併數相關的語法元素與解析常規合併模式和GPM合併的合併數相關的語法元素處於同一級別。
在視訊解碼系統的一實施例中,常規合併模式的合併數的值被限制在1到6的範圍內,包括端點。GPM合併模式的合併數的值被限制在2到常規合併模式的合併數的範圍內,包括端點。當常規合併模式的合併數小於預定值時,視訊解碼系統推斷GPM合併模式的合併數等於0,表示GPM合併模式不被允許。
本公開的方面還提供一種用於在視訊編碼系統中執行視訊處理的裝置。該裝置包括一個或多個電子電路,被配置為:接收輸入視訊資料,確定常規和GPM合併模式的合併數,計算合併數之間的差值,將常規合併模式的合併數與預定值進行比較,如果常規合併模式的合併數大於或等於預定值,則在視訊位元流中發送合併數之間的差值,以及藉由構建常規合併候選列表以常規合併模式對待編碼的每個塊進行編碼和藉由構建GPM合併候選列表以GPM合併模式對待編碼的每個塊進行編碼。一種用於在視訊解碼系統中執行視訊處理的裝置,包括一個或多個電子電路,被配置為:接收視訊位元流中的輸入視訊資料,從視訊位元流確定常規合併模式的合併數,將常規合併模式的合併數與預定值進行比較,如果常規合併模式的合併數大於或等於預定值,則從視訊位元流確定常規合併模式的合併數和GPM合併模式的合併數之間的差值,根據合併數之間的差值計算GPM合併模式的合併數,以及藉由構建常規合併候選列表對以常規合併模式編碼的每個塊進行解碼,和藉由構建GPM合併候選列表對以GPM合併模式編碼的每個塊進行解碼。當常規合併模式的合併數小於預定值時,合併數之間的差值被推斷為0。
在閱讀以下特定實施例的描述後,本發明的其他方面和特徵對於本領域之通常技術者將變得顯而易見。
容易理解的是,如本文附圖中一般描述和說明的本發明的組件可以以各種不同的配置來佈置和設計。因此,如附圖所示,本發明的系統和方法的實施例的以下更詳細的描述並非旨在限制所要求保護的本發明的範圍,而僅僅代表本發明的所選實施例。
所有合併數在相同級別發送
在VVC草案7中,用於常規合併模式、幾何分區模式(Geometric Partition Mode,簡稱GPM)合併模式、IBC合併模式和子塊合併模式的合併數在不同語法級別發送。GPM是一種編解碼工具,旨在取代以前的TPM,與TPM相比,GPM更靈活,因為它允許將當前塊由直線分成兩個任意分區。在以下描述中,參考TPM的發送方法的各種實施例還可被實現用於發送與GPM相關的語法元素。常規合併模式的合併數定義每個常規合併候選列表中包含的候選數量,表示每個常規合併候選列表的最大允許大小。GPM合併模式的合併數定義GPM合併候選列表中包含的候選數量,表示每個GPM合併候選列表的最大允許大小。類似地,IBC合併模式和子塊合併模式的合併數分別定義IBC合併候選列表和子塊合併候選列表中包括的候選數量。VV7 Draft 7的語法設計在圖像參數集(Picture Parameter Set,簡稱PPS)和圖像報頭(Picture Header,簡稱PH)中發送與常規合併模式和GPM合併模式的合併數相關的語法元素,但是,與IBC合併模式和子塊合併模式的合併數相關的語法元素,僅在PH中發送。由於模式候選語法元素對於與PH相關聯的所有片段通常保持不變,所以本發明的各種實施例在相同級別發送所有合併數。在一些實施例中,所有合併數在圖像級別發送,例如在PPS中發送與合併數相關的所有語法元素,而在其他一些實施例中,所有合併數在序列級別發送,例如在序列參數集 (SPS) 中發送與的合併數相關的所有語法元素。
本發明的一些實施例將與合併數相關的語法元素的發送從PH移動到SPS,其中與合併數相關的語法元素包括用於常規合併模式、子塊合併模式、GPM合併模式和IBC合併模式的語法元素。用於常規合併模式的語法元素發送的修改的實施例僅在SPS中發送常規合併候選的合併數,以及在該實施例中,如下所示,最初在PH和PPS中發送的相關語法元素被去除。
在該實施例中,SPS中發送的語法元素sps_six_minus_max_num_merge_cand指定從6減去在與SPS相關聯的片段中支援的合併運動向量預測候選的最大數量。合併MVP候選的合併數MaxNumMergeCand由下式導出:
MaxNumMergeCand = 6 – sps_six_minus_max_num_merge_cand;
其中MaxNumMergeCand的值應在1到6的範圍內,包括端點。
pic_parameter_set_rbsp( ) { | 描述符 |
… … | |
constant_slice_header_params_enabled_flag | u(1) |
if( constant_slice_header_params_enabled_flag ) { | |
… … | |
pps_six_minus_max_num_merge_cand_plus1 | ue(v) |
… … | |
} | |
… … | |
} | |
picture_header_rbsp( ) { | 描述符 |
… … | |
if( !pps_six_minus_max_num_merge_cand_plus1 ) | |
pic_six_minus_max_num_merge_cand | ue(v) |
… … | |
} | |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
sps_six_minus_max_num_merge_cand | ue(v) |
… … | |
} |
在該實施例中,與IBC合併候選的合併數量相關的語法元素在SPS中發送以及IBC合併模式的相關語法元素從PH中移除,如下文所示。
picture_header_rbsp( ) { | 描述符 |
… … | |
if ( sps_ibc_enabled_flag ) | |
pic_six_minus_max_num_ibc_merge_cand | ue(v) |
… … | |
} | |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if ( sps_ibc_enabled_flag ) | |
sps_six_minus_max_num_ibc_merge_cand | ue(v) |
… … | |
} |
SPS中發送的語法元素sps_six_minus_max_num_ibc_merge_cand指定從6中減去與SPS相關的片段中支援的IBC合併塊向量預測(Block Vector Prediction,簡稱BVP)候選的最大數量。IBC合併BVP候選的合併數MaxNumIbcMergeCand由下式導出:
MaxNumIbcMergeCand = 6 – sps_six_minus_max_num_ibc_merge_cand;
其中MaxNumIbcMergeCand的值應在1到6的範圍內,包括端點。
在該實施例中,與子塊合併候選的合併數有關的語法元素在用於子塊合併模式的SPS中發送,如下所示。
新添加的語法元素sps_five_minus_max_num_subblock_merge_cand有兩個語義示例。在第一示例中,該語法元素sps_five_minus_max_num_subblock_merge_cand指定從5中減去片段中支援的基於子塊的合併運動向量預測 (Motion Vector Prediction,簡稱MVP) 候選的最大數量。對於每張圖像,如果此語法元素存在,則基於子塊的合併MVP候選的合併數MaxNumSubblockMergeCand由下式導出:
MaxNumSubblockMergeCand = 5 – sps_five_minus_max_num_subblock_merge_cand;
如果此語法元素不存在,則基於子塊的合併MVP候選的合併數 MaxNumSubblockMergeCand 由以下公式導出:
MaxNumSubblockMergeCand=sps_sbtmvp_enabled_flag&&pic_temporal_mvp_enabled_flag;
其中MaxNumSubblockMergeCand的值應在0到5的範圍內,包括端點。在第二示例中,語法元素pic_temporal_mvp_enabled_flag(或可被稱為ph_temporal_mvp_enabled_flag)從PH中被去除。語法元素 sps_five_minus_max_num_subblock_merge_cand 指定從 5 減去片段中支援的基於子塊的合併MVP候選的最大數量。在語法元素 sps_five_minus_max_num_subblock_merge_cand 不存在的情況下,該語法元素的值被推斷為等於5 – (sps_sbtmvp_enabled_flag && sps_temporal_mvp_enabled_flag)。基於子塊的合併MVP候選的合併數MaxNumSubblockMergeCand由下式導出:
MaxNumSubblockMergeCand = 5 – sps_five_minus_max_num_subblock_merge_cand;
其中MaxNumSubblockMergeCand的值應在0到5的範圍內,包括端點。
picture_header_rbsp( ) { | 描述符 |
… … | |
if( sps_affine_enabled_flag ) | |
pic_five_minus_max_num_subblock_merge_cand | ue(v) |
… … | |
} | |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if( sps_affine_enabled_flag ) | |
sps_five_minus_max_num_subblock_merge_cand | ue(v) |
… … | |
} |
在該實施例中,與TPM合併候選的合併數相關的語法元素在SPS中發送以及用於TPM合併模式的相關語法元素從PH和PPS中被去除,如下所示。
語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand 指定從常規合併模式候選的合併數MaxNumMergeCand中減去的與SPS相關聯的片段中支援的三角形合併模式候選的最大數量。三角形合併模式候選的合併數 MaxNumTriangleMergeCand 由以下公式導出:
MaxNumTriangleMergeCand=MaxNumMergeCand– sps_max_num_merge_cand_minus_max_num_tirangle_cand。
pic_parameter_set_rbsp( ) { | 描述符 |
… … | |
constant_slice_header_params_enabled_flag | u(1) |
if( constant_slice_header_params_enabled_flag ) { | |
… … | |
pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 | ue(v) |
} | |
… … | |
} |
picture_header_rbsp( ) { | 描述符 |
… … | |
if(sps_triangle_enabled_flag&& MaxNumMergeCand >= 2 && !pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 ) | |
pic_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
… … | |
} |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if( sps_triangle_enabled_flag && MaxNumMergeCand >= 2) | |
sps_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
… … | |
} |
在發送TPM合併模式的合併數的一個示例中,當語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand存在時,MaxNumTriangleMergeCand 的值應在 2 到 MaxNumMergeCand 的範圍內,包括端點。在語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand 不存在的情況下,以及當sps_triangle_enabled_flag等於0或MaxNumMergeCand 小於2時,MaxNumTriangleMergeCand被設置為0,這意味著TPM合併模式不被允許用於與PH關聯的片段。在另一示例中,當語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand存在時,MaxNumTriangleMergeCand的值應在1到MaxNumMergeCand的範圍內,包括端點。當語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand不存在,以及SPS級別標誌sps_triangle_enabled_flag等於0或MaxNumMergeCand小於2時,MaxNumTriangleMergeCand的值被設置為0。在本實施例中,當MaxNumTriangleMergeCand等於或小於1時,TPM合併模式不被允許用於與PH關聯的片段。
在發送TPM合併模式的合併數的另一示例中,編碼器可以確定用於發送語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand的閾值。 在該示例中,語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand僅在SPS級別標誌 sps_triangle_enabled_flag為1以及MaxNumMergeCand的值大於或等於閾值N時才發送。
閾值N是正整數,如果它不存在以及當SPS級別標誌 sps_triangle_enabled_flag 等於 0 以及 MaxNumMergeCand 的值小於 N 時,語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand 的語義定義被推斷為等於 0。
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if( sps_triangle_enabled_flag && MaxNumMergeCand >= N) | |
sps_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
… … | |
} |
在又一示例中,當SPS級別標誌sps_triangle_enabled_flag等於1時,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand被發送。
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if( sps_triangle_enabled_flag) | |
sps_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
… … | |
} |
根據本示例,當MaxNumTriangleMergeCand的值小於或等於1時,TPM 合併模式不被允許用於關聯的片段。此外,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand 的發送範圍應確保MaxNumTriangleMergeCand=MaxNumMergeCand–sps_max_num_merge_cand_minus_max_num_triangle_cand 的公式推導將導致MaxNumTriangleMergeCand的值大於或等於1。
在一些實施例中,如下所示圖像級別標誌pic_temporal_mvp_enabled_flag從PH中去除。根據SPS級別標誌sps_temporal_mvp_enabled_flag確定啟用或禁用時間MVP。
picture_header_rbsp( ) { | 描述符 |
… … | |
if( sps_temporal_mvp_enabled_flag ) | |
pic_temporal_mvp_enabled_flag | u(1) |
… … | |
} |
在合併數發送的替代實施例中,常規合併候選的合併數在SPS中發送以及相關的語法元素從PPS中去除。然而,合併數的相關句法元素仍然在PH中發送。
具有等於0的值的語法元素sps_six_minus_max_num_merge_cand_plus1表示語法元素pic_six_minus_max_num_merge_cand存在於參考SPS的圖像報頭中。值大於0的語法元素sps_six_minus_max_num_merge_cand_plus1 表示語法元素 pic_six_minus_max_num_merge_cand 不存在於參考SPS的圖像報頭中。語法元素sps_six_minus_max_num_merge_cand_plus1的值應在0到6的範圍內,包括端點。
pic_parameter_set_rbsp( ) { | 描述符 |
… … | |
constant_slice_header_params_enabled_flag | u(1) |
if( constant_slice_header_params_enabled_flag ) { | |
… … | |
pps_six_minus_max_num_merge_cand_plus1 | ue(v) |
… … | |
} | |
… … | |
} |
picture_header_rbsp( ) { | 描述符 |
… … | |
if( !sps_six_minus_max_num_merge_cand_plus1 ) | |
pic_six_minus_max_num_merge_cand | ue(v) |
… … | |
} |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
sps_six_minus_max_num_merge_cand_plus1 | ue(v) |
… … | |
} |
在本實施例中,IBC合併模式和子塊合併模式的合併數與之前的實施例完全相同。與TPM合併候選的合併數相關聯的語法元素在SPS和PH中發送,以及語法元素從PPS中去除,如下所示。
值等於0的語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 表示語法元素 pic_max_num_merge_cand_minus_max_num_triangle_cand 存在於參考 SPS 的片段的圖像報頭中。值大於0的語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand_plus1表示語法元素 pic_max_num_merge_cand_minus_max_num_triangle_cand 不存在於參考 SPS 的圖像報頭中。sps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 的值應在 0 到 MaxNumMergeCand – 1的範圍內。
pic_parameter_set_rbsp( ) { | 描述符 |
… … | |
constant_slice_header_params_enabled_flag | u(1) |
if( constant_slice_header_params_enabled_flag ) { | |
… … | |
pps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 | ue(v) |
} | |
… … | |
} |
picture_header_rbsp( ) { | 描述符 |
… … | |
if( sps_triangle_enabled_flag && MaxNumMergeCand >= 2 && !sps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 ) | |
pic_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
… … | |
} |
seq_parameter_set_rbsp( ) { | 描述符 |
… … | |
if( sps_triangle_enabled_flag && MaxNumMergeCand >= 2) | |
sps_max_num_merge_cand_minus_max_num_triangle_cand_plus1 | ue(v) |
… … | |
} |
發送合併數的實施例
在一實施例中,與子塊合併模式和IBC合併模式相關聯的合併數在SPS而不是PH中發送。在另一實施例中,與常規合併模式和TPM合併模式相關聯的合併數在SPS而不是PPS中發送。
從 SPS 級別語法推導合併數
在一實施例中,視訊編碼器發送SPS級別語法元素以指示引用相同SPS的片段中所有塊的最大合併候選數,這些塊以常規合併模式進行編解碼。SPS 級別語法元素的示例是 sps_six_minus_max_number_merge_cand,如下所示。
sps_six_minus_max_num_merge_cand | ue(v) |
該語法元素指定從6中減去與SPS相關聯的片段中支援的合併運動向量預測(Motion Vector Prediction,簡稱MVP) 候選的最大數量。常規合併模式的合併數MaxNumMergeCand由以下公式得出:
MaxNumMergeCand = 6 – sps_six_minus_max_num_merge_cand;
其中MaxNumMergeCand的值應在 1 到 6 的範圍內,包括端點。
視訊編碼器的一個實施例發送SPS級別語法元素以指示引用相同SPS的片段中所有塊的最大合併候選數,這些塊以IBC合併模式進行編解碼。例如,IBC合併模式的SPS級別語法元素是 sps_six_minu_max_num_ibc_merge_cand,如下所示。
此SPS級別語法元素 sps_six_minus_max_num_ibc_merge_cand指定從6中減去與SPS相關的片段中支援的最大IBC合併塊向量預測(Block Vector Prediction,簡稱BVP)候選數。IBC合併BVP候選的最大數MaxNumIbcMergeCand由以下公式導出:
MaxNumIbcMergeCand = 6 – sps_six_minus_max_num_ibc_merge_cand;
其中MaxNumIbcMergeCand的值應在1到6的範圍內,包括端點。
if ( sps_ibc_enabled_flag ) | |
sps_six_minus_max_num_ibc_merge_cand | ue(v) |
在一實施例中,SPS級別語法元素被發送用於子塊合併模式以指示當當前塊由子塊合併模式進行編解碼時用於構建子塊合併候選列表的最大合併候選數。例如,子塊合併模式的SPS級別語法元素為sps_five_minus_max_num_subblock_merge_cand,如下所示。
語法元素sps_five_minus_max_num_subblock_merge_cand指定從5減去片段中支援的基於子塊的合併運動向量預測(Motion Vector Prediction,簡稱MVP)候選的最大數量。對於每個圖像,如果此語法元素存在,則基於子塊的合併 MVP 候選的最大數量MaxNumSubblockMergeCand, 推導如下:
MaxNumSubblockMergeCand=5– sps_five_minus_max_num_subblock_merge_cand。
對於每個圖像,如果此語法元素 sps_five_minus_max_num_subblock_merge_cand 不存在,則基於子塊的合併 MVP 候選的最大數量 MaxNumSubblockMergeCand 由下式導出:
MaxNumSubblockMergeCand = 5 – (5 – (sps_sbtmvp_enabled_flag && pic_temporal_mvp_enabled_flag));
其中MaxNumSubblockMergeCand的值應在0到5的範圍內,包括端點。在另一實施例中,圖像報頭中的pic_temporal_mvp_enabled_flag被取消,只存在SPS級別的sps_temporal_mvp_enabled_flag,新的SPS級別的子塊合併數的語義會與上述語義略有不同,其中sps_five_minus_max_num_subblock_merge_cand的值等於 5 – (sps_sbtmvp_enabled_flag && sps_temporal_mvp_enabled_flag)。
if( sps_affine_enabled_flag ) | |
sps_five_minus_max_num_subblock_merge_cand | ue(v) |
在一實施例中,SPS級別語法元素被發送用於以TPM合併模式進行編解碼的塊以指示最大合併候選數的數量。例如,SPS級別語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand 指定從常規合併模式(即 MaxNumMergeCand)的合併數中減去與SPS相關聯的片段中支援的三角形合併模式候選的最大數量(即MaxNumTriangleMergeCand)。三角形合併模式候選的最大數量MaxNumTriangleMergeCand推導如下:
MaxNumTriangleMergeCand = MaxNumMergeCand – sps_max_num_merge_cand_minus_max_num_triangle_cand;
其中MaxNumMergeCand是常規合併模式的合併數。當 sps_max_num_merge_cand_minus_max_num_triangle_cand 存在時,MaxNumTriangleMergeCand的值應在2到MaxNumMergeCand的範圍內,包括端點。當MaxNumMergeCand等於2時,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand等於0,因為MaxNumTriangleMergeCand的最小值為2。當sps_max_num_merge_cand_minus_max_num_triangle_cand不存在以及sps_triangle_enabled_flag等於0或MaxNumMergeCand小於2時,MaxNumTriangleMergeCand被設置為0。當MaxNumTriangleMergeCand等於0,則TPM 合併模式不允許用於與SPS相關聯的片段。因此,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand 可以僅在MaxNumMergeCand大於或等於3時發送,因為當MaxNumMergeCand小於或等於2時sps_max_num_merge_cand_minus_max_num_triangle_cand被推斷為0。
本實施例中的TPM合併模式可被替換為GPM合併模式。SPS級別語法元素sps_max_cand_minus_max_gpm_cand在SPS中發送以指示常規合併模式 MaxCand(或可被稱為MaxNumMergeCand)的合併數與GPM合併模式 MaxGpmCand(或可被稱為MaxNumGpmMergeCand)的合併數之間的差值)。GPM合併模式的合併數定義以GPM合併模式進行編解碼的每個塊的GPM合併候選列表的大小。GPM合併模式候選的最大數量MaxGpmCand由以下公式導出:
MaxGpmCand = MaxCand – sps_max_cand_minus_max_gpm_cand。
當語法元素sps_max_cand_minus_max_gpm_cand(或可被稱為sps_max_num_merge_cand_minus_max_num_gpm_cand)存在時,MaxGpmCand 的值應在2到MaxCand的範圍內,包括端點。當語法元素 sps_max_cand_minus_max_gpm_cand 不存在以及當SPS級別GPM啟用標誌等於 0或MaxCand小於2時,MaxGpmCand被設置為0,表示GPM合併模式不被允許用於與SPS 關聯的片段。當MaxCand等於 2 時,語法元素sps_max_cand_minus_max_gpm_cand必須等於 0,因為MaxGpmCand的最小值為2。因此,語法元素sps_max_cand_minus_max_gpm_cand僅在 MaxGpmCand 大於或等於3時被發送,因為當MaxGpmCand小於3時,sps_max_cand_cand_minus_max_gpm_cand被推斷為 0。
在另一實施例中,當語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand存在時,MaxNumTriangleMergeCand的值應在2到MaxNumMergeCand的範圍內,包括端點。在語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand 不存在以及sps_triangle_enabled_flag等於0或MaxNumMergeCand小於2的情況下,MaxNumTriangleMergeCand的值被設置為0。在MaxNumTriangleMergeCand的值等於或小於1的情況下,TPM合併模式不被允許用於與圖像報頭關聯的片段。也就是說,當使用三角形合併模式以及MaxNumMergeCand等於2時,MaxNumTriangleMergeCand必須為2,這意味著語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand被推斷為 0。在該實施例中,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand可以僅在MaxNumMergeCand的值大於2時被發送,因為當MaxNumMergeCand小於2時MaxNumTriangleMergeCand被設置為0以及當MaxNumTriangleMergeCand等於2時MaxNumTriangleMergeCand被推斷為0。
在本發明的一些實施例中,指示TPM或GPM合併模式的合併數與常規合併模式的合併數之間的差值的語法元素僅在常規合併模式的合併數為大於或等於預定值N時發送,其中N為一個固定的正整數,例如N=3。如上述實施例所述,TPM合併模式的合併數與常規合併模式的合併數之差值為 sps_max_num_merge_cand_minus_max_num_triangle_cand,GPM合併模式的合併數與常規合併模式的合併數之間的差值為 sps_max_cand_minus_max_gpm_cand(或被稱為 sps_max_num_merge_cand_minus_max_num_gpm_cand)。指示TPM或GPM合併模式的合併數與常規合併模式的合併數之間的差值的語法元素在未被發送時被推斷為0。在一實施例中,當SPS級別TPM或GPM啟用標誌均等於1以及常規合併模式的合併數大於或等於N時,指示TPM或GPM合併模式的合併數與常規合併模式的合併數之間的差值的語法元素被發送。僅當SPS級別TPM或GPM使能標誌等於1時,引用SPS的片段中的塊才被允許使用TPM或GPM進行編碼。該實施例的示例如下所示。
if( sps_triangle_enabled_flag && MaxNumMergeCand >= N) | |
sps_max_num_merge_cand_minus_max_num_triangle_cand | ue(v) |
在該實施例中,如果SPS級別TPM啓用標誌sps_triangle_enabled_flag等於0或常規合併模式的合併數小於N,則語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand不存在,因此被推斷為等於0。
在另一實施例中,語法元素sps_max_num_merge_cand_minus_max_num_triangle_cand僅在SPS級別TPM啓用標誌等於1時才被發送,該標誌指示TPM在SPS中被啓用。在本實施例中,當MaxNumTriangleMergeCand小於或等於1時,關聯的片段不被允許採用TPM合併模式。此外,該語法元素 sps_max_num_merge_cand_minus_max_num_triangle_cand 的發送範圍被定義為確保MaxNumTriangleMergeCand = MaxNumMergeCand – sps_max_num_merge_cand_minus_max_num_triangle_cand 的公式推導將導致 MaxNumTriangleMergeCand小於等於Q,在一實施例中Q等於0,在另一實施例中Q等於1。
用於編碼或解碼處理的示例性流程圖
第9圖示出根據本發明的各種實施例的用於處理將由常規合併模式或GPM合併模式編碼的塊以及發送合併數資訊的視訊編碼系統的示例性流程圖。視訊編碼系統在步驟S902中接收輸入視訊資料,其中輸入視訊資料對應於待編碼為視訊位元流的像素資料。在步驟S904中,常規合併模式的合併數和GPM合併模式的合併數由視訊編碼系統確定。在步驟S906中,視訊編碼系統藉由從常規合併模式的合併數中減去GPM合併模式的合併數來計算常規合併模式的合併數與GPM合併模式的合併數之間的差值。在步驟S908中,將常規合併模式的合併數與預定值N進行比較,在步驟S910中,如果常規合併模式的合併數大於或等於N,則常規合併模式的合併數與GPM合併模式的合併數之間的差值被發送在視訊位元流中。否則,在步驟S912中,常規合併模式的合併數與GPM合併模式的合併數之間的差值不被發送。在步驟S914中,視訊編碼系統藉由構建常規合併候選列表對每個待編碼塊以常規合併模式進行編碼,視訊編碼系統藉由構建GPM合併候選列表對每個待編碼塊以GPM合併模式進行編碼。每個常規合併候選列表的大小等於常規合併模式的合併數,以及每個GPM合併候選列表的大小等於 GPM合併模式的合併數。
第10圖示出根據本發明的各種實施例的用於處理由常規合併模式或GPM合併模式編碼的塊的視訊解碼系統的示例性流程圖。視訊解碼系統在步驟S1002中接收視訊位元流中的輸入視訊資料,其中輸入資料對應於視訊解碼系統待解碼的視訊位元流中的編碼資料或預測殘差。在步驟S1004中,藉由從視訊位元流中解析語法元素,常規合併模式的合併數被確定,在步驟S1006中,將常規合併模式的合併數與預定值N進行比較。在步驟S1008中,在常規合併模式的合併數大於或等於N的情況下,常規合併模式的合併數與GPM合併模式的合併數之間的差值藉由從視訊位元流解析語法元素來確定。在步驟S1010中,在常規合併模式的合併數小於N的情況下,常規合併模式的合併數與GPM合併模式的合併數之間的差值被推斷為等於0。在步驟S1012中,視訊解碼系統藉由從常規合併模式的合併數中減去差值來計算GPM合併模式的合併數。在步驟S1014中,視訊解碼系統藉由構建常規合併候選列表對採用常規合併模式編碼的每個塊進行解碼,以及藉由構建GPM合併候選列表對採用GPM合併模式編碼的每個塊進行解碼。每個常規合併候選列表的大小等於常規合併模式的合併數,每個GPM合併候選列表的大小等於GPM合併候模式的合併數。
視訊編碼器和解碼器實施方式
上述提出的視訊處理方法可以在視訊編碼器或解碼器中實施。例如,所提出的視訊處理方法在編碼器的幀間預測模組中實現,或者,所提出的任一方法被實現為耦合到編碼器的幀間預測模組和/或解碼器的幀間預測模組的電路,以提供幀間預測模組所需的資訊。第11圖示出實現本發明的各種實施例之一的視訊編碼器1100的示例性系統框圖。幀內預測模組1110基於當前圖像的重構視訊資料提供幀內預測子。幀間預測模組1112執行運動估計(Motion Estimation,簡稱ME)和運動補償(Motion Compensation,簡稱MC)以基於來自其他一個圖像或多個圖像的視訊資料提供幀間預測子。幀間預測模組1112確定常規合併模式的合併數和GPM合併模式的合併數,以及計算常規合併模式的合併數和GPM合併模式的合併數之間的差值。在當前塊將由常規合併模式進行編碼時,幀間預測模組1112藉由構建常規合併候選列表來生成當前塊的預測子,或者在當前塊將由GPM合併模式進行編碼時,幀間預測模組1112藉由構建GPM合併候選列表來生成當前塊的預測子。常規Merge合併候選列表中的候選數量由常規合併模式的合併數定義,GPM合併候選列表中的候選數量由GPM合併模式的合併數定義。在常規合併模式的合併數大於或等於預定值N(例如N等於3)時,兩個合併數之間的差值才在視訊位元流中發送。幀內預測模組1110或幀間預測模組1112將選擇的預測子提供給加法器模組1116以形成當前塊的預測誤差,也被稱為預測殘差。當前塊的預測殘差由變換(Transformation,簡稱T)模組1118和隨後的量化(Quantization,簡稱Q)模組1120進一步處理。變換和量化的殘差訊號然後由熵編碼器1132編碼以形成視訊位元流。然後,視訊位元流與輔助資訊打包在一起,例如,輔助資訊為常規合併模式的合併數以及常規合併模式的合併數與GPM合併模式的合併數之間的差值。當前塊的變換和量化殘差訊號由逆量化(Inverse Quantization,簡稱IQ)模組1122和逆變換(Inverse Transformation,簡稱IT)模組1124處理以恢復預測殘差。如第11圖所示,藉由在重構(Reconstruction,簡稱REC)模組1126處加回到選定的預測子,預測殘差被恢復以產生重構的視訊資料。重構的視訊資料可被存儲在參考圖像緩衝器(Reference Picture Buffer,簡稱Ref. Pict. Buffer)1130中以及用於其他圖像的預測。由於編碼處理,從REC模組1126恢復的重構視訊資料可能受到各種損傷;因此,在將重構的視訊資料存儲在參考圖像緩衝器1130中之前,環路處理濾波器1128被應用於重構的視訊資料以進一步提高圖像品質。
用於解碼從第11圖的視訊編碼器1100生成的視訊位元流的對應視訊解碼器1200在第12圖中示出。視訊位元流是視訊解碼器1200的輸入,以及被熵解碼器1210解碼以解析和恢復經變換和量化的殘差訊號和其他系統資訊。視訊解碼器1200的解碼過程類似於視訊編碼器1100處的重構迴圈,除了視訊解碼器1200僅需要幀間預測模組1214中的運動補償預測。每個塊由幀內預測模組1212或幀間預測模組1214解碼。切換模組1216根據解碼模式資訊從幀內預測模組1212中選擇幀內預測子或從幀間預測模組1214中選擇幀間預測子。當當前塊由常規合併模式編碼時,幀間預測模組1214藉由構建常規合併候選列表來執行運動補償,或者當當前塊由GPM合併模式編碼時,幀間預測模組1214藉由構建GPM合併候選列表來執行運動補償。GPM合併候選列表中的候選數量由GPM合併模式的合併數定義。根據一些實施例,幀間預測模組1214將常規合併模式的合併數與預定值N進行比較,以及僅當常規合併模式的合併數大於或等於預定值N時,才從視訊位元流中解析與常規合併模式的合併數和GPM合併模式的合併數之間的差值相關的語法元素。否則,合併數之間的差值被推斷為等於0。例如,與差值相關的語法元素在SPS中發送。GPM合併模式的合併數藉由從常規合併模式的合併數中減去合併數之間的差值來計算。與每個塊相關聯的經變換和量化的殘差訊號由逆量化(IQ)模組1220 和逆變換(IT)模組1222恢復。藉由在重構(Reconstruction,簡稱REC)模組1218中加回到預測子,恢復的殘差訊號被重構以產生重構的視訊。重構的視訊由環路處理濾波器(濾波器)1224進一步處理以生成最終解碼視訊。如果當前解碼圖像是解碼順序中後面圖像的參考圖像,則當前解碼圖像的重構視訊也被存儲在參考圖像緩衝器1226中。
第11圖和第12圖中的視訊編碼器1100和視訊解碼器1200的各種元件可以由硬體元件、被配置為執行存儲在記憶體中的程式指令的一個或多個處理器、或者硬體和處理器。例如,處理器執行程式指令以藉由比較常規合併模式的合併數和預定值N來控制發送或解析合併數之間的差值。處理器配備有單個或多個處理核。在一些示例中,處理器執行程式指令以執行編碼器1100和解碼器1200中的一些組件中的功能,與處理器電耦合的記憶體用於存儲程式指令、與塊的重構圖像對應的資訊、和/或編碼或解碼過程中的中間資料。在一些實施例中,記憶體包括非暫時性電腦可讀介質,例如半導體或固態記憶體、隨機存取記憶體(random access memory,簡稱RAM)、唯讀記憶體(read-only memory,簡稱ROM)、硬碟、光碟或其他合適的存儲介質。記憶體也可以是上面列出的兩種或更多種非暫時性電腦可讀介質的組合。如第11圖和第12圖所示,編碼器1100和解碼器1200可以在相同的電子設備中實現,因此如果在相同的電子設備中實現,編碼器1100和解碼器1200的各種功能組件可以被共用或重複使用。
用於編碼或解碼的視訊處理方法的實施例可以在集成到視訊壓縮晶片中的電路或集成到視訊壓縮軟體中的程式碼中執行,以執行上述處理。例如,將常規合併模式的合併數與預定值進行比較的步驟可在電腦處理器,數位訊號處理器(Digital Signal Processor,簡稱DSP),微處理器或現場可程式設計閘陣列(field programmable gate array,簡稱FPGA)上執行的程式碼中實現。這些處理器可被配置為藉由執行定義本發明所體現的特定方法的機器可讀軟體代碼或韌體代碼來執行根據本發明的特定任務。
在整個說明書中,對“一實施例”,“一些實施例”或類似語言的引用意味著結合這些實施例描述的特定特徵,結構或特性可以包括在本發明的至少一個實施例中。因此,在整個說明書中各處出現的短語“在一實施例中”或“在一些實施例中”並不一定全都指同一實施例,這些實施例可以單獨實現或與一個或多個其他實施例結合實現。此外,在一個或多個實施例中,所描述的特徵,結構或特性可以以任何合適的方式組合。然而,本領域的技術人員將認識到,可以在沒有一個或多個特定細節的情況下,或者在沒有其他具體方法,組件等的情況下實踐本發明。在其他情況下,習知的結構或操作未被示出或未被詳細描述以避免混淆本發明的各方面。
在不脫離本發明的精神或基本特徵的情況下,本發明可以以其他具體形式實施。所描述的例子僅在所有方面被認為是說明性的而不是限制性的。因此,本發明的範圍由申請專利範圍而不是前面的描述來指示。屬於申請專利範圍的等同物的含義和範圍的所有變化將被包括在其範圍內。
111:空間候選
112:空間候選
114:空間候選
115:空間候選
121:位置TBR
122:位置TCTR
S902、S904、S906、S908、S910、S912、S914、S1002、S1004、S1006、S1008、S1010、S1012、S1014:步驟
1100:編碼器
1110:幀内預測模組
1112:幀間預測模組
1114:開關
1116:加法器模組
1118:變換模組
1120:量化模組
1122:逆量化模組
1124:逆變換模組
1126:重構模組
1128:環路處理濾波器
1130:參考圖像緩衝器
1132:熵編碼器
作為示例提出的本公開的各種實施例將參考以下附圖詳細描述,並且其中:
第1圖示出用於構建VVC標準中的常規合併模式的合併候選列表的空間候選和時間候選的位置。
第2圖示出用於比較空間候選以檢查冗餘的簡化修剪過程。
第3圖示出基於同位參考圖像中的同位CU導出時間候選的經縮放MV的實例。
第4圖示出三角形分區模式的單向預測MV選擇。
第5A圖示出將第一加權因數組應用於以三角形預測模式編解碼的亮度塊的兩個子塊之間的對角線邊緣的示例。
第5B圖示出將第一加權因數組應用於以三角形預測模式編解碼的色度塊的兩個子塊之間的對角線邊緣的示例。
第6圖示出使用四參數仿射模型編解碼的塊的仿射運動向量場。
第7圖示出用於構建當前塊的仿射合併候選列表的控制點運動向量繼承的實例。
第8圖示出藉由組合每個控制點的相鄰平移運動資訊來生成構建仿射候選的空間和時間鄰居的位置。
第9圖示出根據本發明實施例的在視訊編碼系統中實現的視訊處理方法的示例的流程圖。
第10圖示出根據本發明實施例的在視訊解碼系統中實現的視訊處理方法的示例的流程圖。
第11圖示出包含根據本發明實施例的視訊處理方法的視訊編碼系統的示例性系統框圖。
第12圖示出包含根據本發明實施例的視訊處理方法的視訊解碼系統的示例性系統框圖。
S902、S904、S906
S908、S910、S912、S914:步驟
Claims (20)
- 一種視訊編碼系統的視訊處理方法,包括: 接收輸入視訊資料; 確定一常規合併模式的一合併數和一幾何分區模式合併模式的一合併數,其中該常規合併模式的該合併數定義每個常規合併候選列表中多個候選的一數量,以及該幾何分區模式合併模式的該合併數定義每個幾何分區模式合併候選列表中的多個候選的一數量; 藉由從該常規合併模式的該合併數中減去該幾何分區模式合併模式的該合併數計算該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的一差值; 將該常規合併模式的該合併數與一預定值進行比較,其中該預定值是一正整數; 如果該常規合併模式的該合併數大於或等於該預定值,在承載編碼視訊資料的一視訊位元流中發送該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值;以及 藉由構建一常規合併候選列表對每個待編碼塊以常規合併模式進行編碼,以及藉由構建一幾何分區模式合併候選列表對每個待編碼塊以幾何分區模式合併模式進行編碼。
- 如請求項1所述之視訊編碼系統的視訊處理方法,其中,該方法進一步包括:以一相同級別發送與該常規合併模式的該合併數相關的一語法元素,以及該相同級別與發送與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的一語法元素的一級別相同。
- 如請求項2所述之視訊編碼系統的視訊處理方法,其中,該方法進一步包括:以該相同級別發送與一幀内塊複製合併模式和一子塊合併模式的多個合併數相關的多個語法元素,以及該相同級別與發送與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的該語法元素的該級別相同。
- 如請求項2所述之視訊編碼系統的視訊處理方法,其中,該相同級別是一序列級別,以及與該常規合併模式的該合併數相關的該語法元素和與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的該語法元素在一序列參數集合中發送。
- 如請求項2所述之視訊編碼系統的視訊處理方法,其中,該相同級別是一圖像級別,以及與該常規合併模式的該合併數相關的該語法元素和與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的該語法元素在一圖像參數集合中發送。
- 如請求項1所述之視訊編碼系統的視訊處理方法,其中,該常規合併模式的一合併數值被限制在1到6的範圍内,包括端點。
- 如請求項1所述之視訊編碼系統的視訊處理方法,其中,該幾何分區模式合併模式的一合併數值被限制在2到該常規合併模式的該合併數之間,包括端點。
- 如請求項1所述之視訊編碼系統的視訊處理方法,其中,當該常規合併模式的該合併數小於該預定值,該幾何分區模式合併模式的該合併數被設置為0,指示該幾何分區模式合併模式不被允許。
- 如請求項1所述之視訊編碼系統的視訊處理方法,其中,該預定值為3。
- 一種視訊解碼系統的視訊處理方法,包括: 接收一視訊位元流中的輸入視訊資料; 藉由該視訊位元流中發送的一語法元素,確定一常規合併模式的一合併數,其中該常規合併模式的該合併數定義每個常規合併候選列表中多個候選的一數量; 將該常規合併模式的該合併數與一預定值進行比較,其中該預定值是一正整數; 如果該常規合併模式的該合併數大於或等於該預定值,藉由解析該視訊位元流中發送的一語法元素確定該常規合併模式的該合併數與一幾何分區模式合併模式的一合併數之間的一差值;或者如果該常規合併模式的該合併數小於該預定值,推斷該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值為0; 藉由從該常規合併模式的該合併數減去該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值計算該幾何分區模式合併模式的該合併數,其中該幾何分區模式合併模式的該合併數定義每個幾何分區模式合併候選列表中的多個候選的一數量;以及 藉由構建一常規合併候選列表對以常規合併模式編碼的每個塊進行解碼,以及藉由構建一幾何分區模式合併候選列表對以幾何分區模式合併模式編碼的每個塊進行解碼。
- 如請求項10所述之視訊解碼系統的視訊處理方法,其中,與該差值相關的該語法元素以一相同級別進行解析,以及該相同級別與解析該常規合併模式的該合併數相關的該語法元素的一級別相同。
- 如請求項11所述之視訊解碼系統的視訊處理方法,其中,該方法進一步包括:以該相同級別解析與一幀内塊複製合併模式和一子塊合併模式的多個合併數相關的多個語法元素,以及該相同級別與解析該常規合併模式的該合併數和該幾何分區模式合併模式的該合併數相關的多個語法元素的一級別相同。
- 如請求項11所述之視訊解碼系統的視訊處理方法,其中,該相同級別是一序列級別,以及與該常規合併模式的該合併數相關的該語法元素和與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的該語法元素在一序列參數集合中發送。
- 如請求項11所述之視訊解碼系統的視訊處理方法,其中,該相同級別是一圖像級別,以及與該常規合併模式的該合併數相關的該語法元素和與該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值相關的該語法元素在一圖像參數集合中發送。
- 如請求項10所述之視訊解碼系統的視訊處理方法,其中,該常規合併模式的一合併數值被限制在1到6的範圍内,包括端點。
- 如請求項10所述之視訊解碼系統的視訊處理方法,其中,該幾何分區模式合併模式的一合併數值被限制在2到該常規合併模式的該合併數之間,包括端點。
- 如請求項10所述之視訊解碼系統的視訊處理方法,其中,推斷該幾何分區模式合併模式的該合併數等於0的步驟指示該該幾何分區模式合併模式不被允許。
- 如請求項10所述之視訊解碼系統的視訊處理方法,其中,該預定值為3。
- 一種視訊編碼系統中處理視訊資料的裝置,該裝置包括一個或多個電子電路,被設置為: 接收輸入視訊資料; 確定一常規合併模式的一合併數和一幾何分區模式合併模式的一合併數,其中該常規合併模式的該合併數定義每個常規合併候選列表中多個候選的一數量,以及該幾何分區模式合併模式的該合併數定義每個幾何分區模式合併候選列表中的多個候選的一數量; 藉由從該常規合併模式的該合併數中減去該幾何分區模式合併模式的該合併數計算該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的一差值; 將該常規合併模式的該合併數與一預定值進行比較,其中該預定值是一正整數; 如果該常規合併模式的該合併數大於或等於該預定值;在承載編碼視訊資料的一視訊位元流中發送該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值;以及 藉由構建一常規合併候選列表對每個待編碼塊以常規合併模式進行編碼,以及藉由構建一幾何分區模式合併候選列表對每個待編碼塊以幾何分區模式合併模式進行編碼。
- 一種視訊解碼系統中處理視訊資料的裝置,該裝置包括一個或多個電子電路,被設置為: 接收一視訊位元流中的輸入視訊資料; 藉由該視訊位元流中發送的一語法元素,確定一常規合併模式的一合併數,其中該常規合併模式的該合併數定義每個常規合併候選列表中多個候選的一數量; 將該常規合併模式的該合併數與一預定值進行比較,其中該預定值是一正整數; 如果該常規合併模式的該合併數大於或等於該預定值,藉由解析該視訊位元流中發送的一語法元素確定該常規合併模式的該合併數與一幾何分區模式合併模式的一合併數之間的一差值;或者如果該常規合併模式的該合併數小於該預定值,推斷該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值為0; 藉由從該常規合併模式的該合併數減去該常規合併模式的該合併數與該幾何分區模式合併模式的該合併數之間的該差值計算該幾何分區模式合併模式的該合併數,其中該幾何分區模式合併模式的該合併數定義每個幾何分區模式合併候選列表中的多個候選的一數量;以及 藉由構建一常規合併候選列表對以常規合併模式編碼的每個塊進行解碼,以及藉由構建一幾何分區模式合併候選列表對以幾何分區模式合併模式編碼的每個塊進行解碼。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062960089P | 2020-01-12 | 2020-01-12 | |
US62/960,089 | 2020-01-12 | ||
US202062961301P | 2020-01-15 | 2020-01-15 | |
US62/961,301 | 2020-01-15 | ||
US17/145,568 | 2021-01-11 | ||
US17/145,568 US11212523B2 (en) | 2020-01-12 | 2021-01-11 | Video processing methods and apparatuses of merge number signaling in video coding systems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202139702A true TW202139702A (zh) | 2021-10-16 |
TWI792152B TWI792152B (zh) | 2023-02-11 |
Family
ID=76858306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110101098A TWI792152B (zh) | 2020-01-12 | 2021-01-12 | 視訊編解碼系統中的視訊處理方法和裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11212523B2 (zh) |
TW (1) | TWI792152B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019144908A1 (en) * | 2018-01-26 | 2019-08-01 | Mediatek Inc. | Method and apparatus of affine inter prediction for video coding system |
RU2767973C1 (ru) * | 2019-03-08 | 2022-03-22 | ДжейВиСиКЕНВУД Корпорейшн | Устройство для кодирования видео, способ кодирования видео, устройство для декодирования видео и способ декодирования видео |
US11350083B2 (en) | 2019-04-19 | 2022-05-31 | Qualcomm Incorporated | Intra block copy merging data syntax for video coding |
CN117499625A (zh) | 2019-09-01 | 2024-02-02 | 北京字节跳动网络技术有限公司 | 视频编解码中预测权重的对准 |
WO2021068921A1 (en) * | 2019-10-10 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector handling in geometry partition mode |
JP7482220B2 (ja) | 2019-10-18 | 2024-05-13 | 北京字節跳動網絡技術有限公司 | サブピクチャのパラメータセットシグナリングにおける構文制約 |
CN115398892A (zh) * | 2020-03-23 | 2022-11-25 | 抖音视界有限公司 | 仿射merge和仿射运动矢量预测模式的预测细化 |
US11818395B2 (en) * | 2021-04-22 | 2023-11-14 | Electronics And Telecommunications Research Institute | Immersive video decoding method and immersive video encoding method |
US20230079960A1 (en) * | 2021-09-15 | 2023-03-16 | Tencent America LLC | On propagating intra prediction mode information of ibc block by using block vector |
US20230108504A1 (en) * | 2021-10-04 | 2023-04-06 | Tencent America LLC | On geometric partition mode with intra and inter prediction |
WO2023207646A1 (en) * | 2022-04-25 | 2023-11-02 | Mediatek Inc. | Method and apparatus for blending prediction in video coding system |
WO2024027700A1 (en) * | 2022-08-05 | 2024-02-08 | Mediatek Inc. | Joint indexing of geometric partitioning mode in video coding |
WO2024027784A1 (en) * | 2022-08-05 | 2024-02-08 | Mediatek Inc. | Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding |
WO2024081261A1 (en) * | 2022-10-10 | 2024-04-18 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices with intra block copy |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010151334A1 (en) * | 2009-06-26 | 2010-12-29 | Thomson Licensing | Methods and apparatus for video encoding and decoding using adaptive geometric partitioning |
WO2017118409A1 (en) * | 2016-01-07 | 2017-07-13 | Mediatek Inc. | Method and apparatus for affine merge mode prediction for video coding system |
CN113115046A (zh) * | 2018-06-21 | 2021-07-13 | 北京字节跳动网络技术有限公司 | 分量相关的子块分割 |
WO2019246535A1 (en) * | 2018-06-22 | 2019-12-26 | Op Solutions, Llc | Block level geometric partitioning |
RU2766152C1 (ru) * | 2018-11-08 | 2022-02-08 | Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. | Способ и устройство для кодирования/декодирования сигнала изображения |
BR112021008654A2 (pt) * | 2018-11-08 | 2021-08-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | método de decodificação vídeo, método de codificação de vídeo, e aparelho de decodificação de vídeo |
WO2020139037A1 (ko) * | 2018-12-27 | 2020-07-02 | 인텔렉추얼디스커버리 주식회사 | 비디오 부/복호화 방법 및 장치 |
US11140406B2 (en) * | 2019-02-20 | 2021-10-05 | Qualcomm Incorporated | Signalling for merge mode with motion vector differences in video coding |
WO2020181542A1 (zh) * | 2019-03-13 | 2020-09-17 | 北京大学 | 一种视频编码或解码方法、装置、设备及存储介质 |
GB2590634A (en) * | 2019-12-20 | 2021-07-07 | Canon Kk | High Level syntax for video coding and decoding |
-
2021
- 2021-01-11 US US17/145,568 patent/US11212523B2/en active Active
- 2021-01-12 TW TW110101098A patent/TWI792152B/zh active
Also Published As
Publication number | Publication date |
---|---|
US20210227206A1 (en) | 2021-07-22 |
TWI792152B (zh) | 2023-02-11 |
US11212523B2 (en) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI792152B (zh) | 視訊編解碼系統中的視訊處理方法和裝置 | |
CN113170181B (zh) | 块内拷贝模式中的仿射继承方法 | |
CN111937391B (zh) | 用于视频编解码系统中的子块运动补偿的视频处理方法和装置 | |
TWI720532B (zh) | 在視訊編解碼系統中視訊處理的方法以及裝置 | |
CN112400319B (zh) | 一种视频编码/解码方法及装置 | |
TWI702834B (zh) | 視訊編解碼系統中具有重疊塊運動補償的視訊處理的方法以及裝置 | |
KR102492738B1 (ko) | 비디오 코딩에서 장기 참조 픽처에 대한 제한받는 움직임 벡터 도출 | |
TW202007167A (zh) | 視訊編解碼中受約束的重疊塊運動補償的方法及裝置 | |
CN113853794A (zh) | 用于多个工具的互相排斥设定 | |
TWI738248B (zh) | 運動細化以及子分區基礎填充的視訊處理的方法以及裝置 | |
KR20170131448A (ko) | 비디오 코딩에서의 서브-블록들에 대한 모션 정보 유도 | |
TWI738081B (zh) | 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置 | |
TWI737142B (zh) | 視訊編碼中結合畫面間和畫面內預測之方法和裝置 | |
TWI702828B (zh) | 在視訊編碼系統中生成平均候選的方法和裝置 | |
JP2023166518A (ja) | 隣接ブロック情報を用いる動き候補リスト構築 | |
TWI729497B (zh) | 在視頻編解碼系統中組合多個預測子進行塊預測的方法和裝置 | |
US11871034B2 (en) | Intra block copy for screen content coding | |
CN113366839B (zh) | 视频编解码中的细化量化步骤 | |
WO2023274302A1 (en) | Recursive prediction unit in video coding | |
TWI831358B (zh) | 用於仿射預測或運動補償的共享預加載區域的方法和裝置 | |
WO2023274360A1 (en) | Utilization of recursive prediction unit in video coding | |
TWI752488B (zh) | 視訊編解碼之方法和裝置 | |
WO2024017224A1 (en) | Affine candidate refinement | |
WO2022184052A1 (en) | Inter-prediction on non-dyadic blocks | |
JP2024519848A (ja) | 動きベクトル精緻化を伴う幾何学的分割モード |