TW202415066A - 多假設預測編解碼 - Google Patents

多假設預測編解碼 Download PDF

Info

Publication number
TW202415066A
TW202415066A TW112121055A TW112121055A TW202415066A TW 202415066 A TW202415066 A TW 202415066A TW 112121055 A TW112121055 A TW 112121055A TW 112121055 A TW112121055 A TW 112121055A TW 202415066 A TW202415066 A TW 202415066A
Authority
TW
Taiwan
Prior art keywords
prediction
candidate
cost
hypothesis
current block
Prior art date
Application number
TW112121055A
Other languages
English (en)
Inventor
陳泓輝
江嫚書
徐志瑋
莊子德
陳慶曄
黃毓文
Original Assignee
聯發科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 聯發科技股份有限公司 filed Critical 聯發科技股份有限公司
Publication of TW202415066A publication Critical patent/TW202415066A/zh

Links

Abstract

本發明提供一種用於為視頻執行多假設預測編解碼的方法。視頻編解碼器接收待被編碼或解碼的像素區塊的資料,作為視頻的當前畫面的當前區塊。視頻編解碼器生成第一預測。第一預測可以為基於當前區塊的第一運動向量和第二運動向量的雙向預測。視頻編解碼器基於來自當前區塊的鄰域的資訊,計算複數個候選假設中的每個候選假設的成本。視頻編解碼器基於計算出的成本從複數個候選假設中選擇一個候選假設。視頻編解碼器基於第一預測和第二預測生成混合預測。該第二預測基於該所選擇的候選假設而生成。視頻編解碼器通過使用混合預測對當前區塊進行編碼或解碼。

Description

多假設預測編解碼
本發明大體涉及視頻編解碼,尤其涉及通過多預測假設對像素區塊進行編解碼的方法。
除非在本文中另有說明,否則本部分中描述之方法不作為後面列出之申請專利範圍之先前技術,以及,不因包括在本部分中而被認為係先前技術。
高效率視頻編解碼(High-Efficiency Video Coding,HEVC)是一種由視頻編解碼聯合工作組(JCT-VC)開發的國際視頻編解碼標準。HEVC是基於混合區塊的運動補償DCT類變換編碼架構。進行壓縮的基本單元稱為編解碼單元(coding unit,CU),是一個2N x 2N的方形像素區塊。每個CU可被遞迴地切割為四個更小的CU,直到達到預定最小尺寸。每個CU都包含一個或複數個預測單元(prediction unit,PU)。
通用視頻編解碼(Versatile video coding,VVC)是由ITU-T SG16 Wp3和ISO/IEC JTC1/SC29/WG11的聯合視頻專家組(JVET)開發的最新國際視頻編解碼標準。輸入視頻訊號是從重構訊號中預測出來的,而重構訊號是由編解碼畫面區域得出的。預測殘量訊號(prediction residual signal)通過區塊變換(block transform)進行處理。變換係數被量化,並與位元流中的其他邊資訊一起進行熵(entropy)編解碼。在對逆量化變換係數進行逆變換後,從預測訊號和重構殘量訊號生成重構訊號。重構訊號還經過環路濾波進一步處理,以消除編解碼雜訊。已解碼畫面被存儲在畫格暫存器中,用於預測輸入視頻訊號的後續畫面。
在VVC中,編解碼畫面被分割成非重疊的方塊區域。方塊區域由相關的編解碼樹單元(coding tree unit,CTU)表示。編解碼樹的葉子節點對應於編解碼單元(CU)。編解碼畫面可由一組切片(slices)表示。每個切片包括整數個CTU。在一個切片中的各CTU按照光柵掃描順序(raster-scan order)進行處理。雙向預測(bi-predictive,B)切片可使用畫面內預測(intra prediction)或畫面間預測(inter prediction),而利用最多兩個運動向量和參考索引進行解碼,以預測每一個區塊的樣本值。預測(predictive,P)切片使用畫面內預測或畫面間預測,而利用最多一個運動向量和參考索引進行解碼,以預測每一個區塊的樣本值。畫面內(Intra,I)切片僅使用畫面內預測進行解碼。
CTU可被使用帶有嵌套多類型樹(multi-type-tree,MTT)結構的四分樹(quadtree,QT)分割成一個或複數個不重疊的編解碼單元(CU),以適應各種局部運動和紋理特徵。CU可被使用以下五種切割類型中的一種進一步切割為更小的CU:四分樹分割、垂直二分樹分割、水準二分樹分割、垂直中心邊三分樹分割、水準中心邊三分樹分割。
每個CU包含一個或複數個預測單元(PU)。預測單元與相關的CU語法一起,作為一個基本單元,用於傳遞預測子資訊。指定的預測過程被採用以預測PU內相關像素樣本的值。每個CU可包含一個或複數個變換單元(TU),用於表示預測殘量區塊。變換單元(transform unit,TU)由亮度(luma)樣本的變換區塊(transform block,TB)和兩個對應的色度(chroma)樣本的變換區塊構成。每個TB對應於一個顏色分量的一個樣本殘量區塊。整數變換被應用于變換區塊。量化係數的水準值(level value)與其他邊資訊一起在位元流中進行熵編解碼。術語編解碼樹區塊(CTB)、編解碼區塊(CB)、預測區塊(PB)和變換區塊(TB)被定義為分別指定與CTU、CU、PU和TU相關的一個顏色分量的二維樣本陣列。因此,一個CTU由一個亮度CTB、兩個色度CTB和相關語法元素(syntax element)構成。類似關係對CU、PU和TU也有效。
對於每個畫面間預測CU,由運動向量、參考畫面索引和參考畫面清單使用索引(reference picture list usage index)構成的運動參數以及附加資訊被用於畫面間預測樣本生成。運動參數可以以明示(explicit)或暗示(implicit)方式標示。當一個CU利用跳過模式(skip mode)進行編解碼時,該CU與一個PU相關聯,且沒有顯著的殘量係數、沒有編解碼的運動向量差異(delta)或參考畫面索引。一種合併模式(merge mode)被制定,由此,當前CU的運動參數從鄰近CU(包括空間候選者和時間候選者),以及在VVC中引入的附加排程(schedule)獲得。合併模式可被應用於任何畫面間預測CU。合併模式的替代方案是運動參數的明示傳輸,其中運動向量、每個參考畫面清單的對應參考畫面索引和參考畫面清單使用標誌以及其他需要的資訊在每個CU中都被明示標示(signalled)。
畫面間預測CU也可通過進階運動向量預測(Advanced Motion Vector Prediction,AMVP)模式進行編解碼。當PU在畫面間AMVP模式下被編解碼時,運動補償預測(motion compensation prediction)利用所傳輸的運動向量差值(motion vector differences,MVDs)執行。MVD可以和運動向量預測子(Motion Vector Predictors,MVPs)一起用於推導運動向量(motion vectors,MVs)。為了決定在畫面間AMVP模式下的MVP,進階運動向量預測(advance motion vector prediction,AMVP)方案被用於在包括兩個空間(spatial)MVP和一個時間(temporal)MVP的AMVP候選者集合中選擇一個運動向量預測子。因此,在AMVP模式中,MVP的MVP索引和對應MVD被編碼和傳輸。此外,用於指定雙向預測(bi-prediction)中的預測方向以及包括清單0(L0)和清單1(L1)的單向預測(uni-prediction)的畫面間預測方向、連同用於每個清單的參考畫格索引也被編碼和傳輸。
以下發明內容僅供說明,不意在以任何方式進行限制。也就是說,提供以下發明內容是為了介紹本文所描述的新穎且非顯而易見的技術的概念、亮點、好處和優點。將在以下具體實施方式中進一步描述選定的實施方式。因此,以下的發明內容並不意在鑒別所宣告的主題的基本特徵,也不意在用於確定所宣告的主題的範圍。
本發明的一些實施例提供一種對視頻進行多假設預測編解碼的方法。視頻編解碼器接收待被編碼或解碼的像素區塊的資料,作為視頻的當前畫面的當前區塊。視頻編解碼器生成第一預測。該第一預測可以為基於當前區塊的第一運動向量和第二運動向量的雙向預測。視頻編解碼器基於來自當前區塊的鄰域的資訊,計算複數個候選假設中的每個候選假設的成本。視頻編解碼器基於計算出的成本從複數個候選假設中選擇一個候選假設。視頻編解碼器基於第一預測和第二預測生成混合預測。該第二預測基於所選擇的候選假設生成。視頻編解碼器通過使用混合預測對當前區塊進行編碼或解碼。
複數個候選假設可以是當前區塊的合併候選者,特別是在幾何分割預測(geometric partition prediction,GPM)模式下為當前區塊確定的合併候選者。複數個候選假設可以是進階運動向量預測(advanced motion vector prediction,AMVP)模式的候選者。每個候選假設都指定了(要與運動向量差值(motion vector difference,MVD)相結合)的候選運動向量預測子的選擇。
候選假設的成本可以是TM成本。該TM成本基於與當前區塊相鄰的當前範本區域中的重構樣本和與參考區塊相鄰的參考範本區域中的重構樣本之間的差值。該參考區塊由候選假設定位。候選假設的成本可以是BM成本,該BM成本是基於在與當前區塊相鄰的當前範本區域中的重構樣本和由候選假設生成的沿當前區塊邊界的當前區塊的預測樣本之間的不連續性。
在一些實施例中,編碼器通過以下方式選擇候選假設:依據為每個候選假設所計算的第一類成本(例如TM)和第二類成本(例如BM),將權杖或票券分配給複數個候選假設;以及,確認在複數個候選假設中與其他候選假設相比具有更多權杖的候選假設。在一些實施例中,編碼器選擇候選假設是通過基於第一類成本(例如,TM)確認複數個候選假設的子集且基於第二類成本(例如,BM)從該子集中選擇候選假設。
在一些實施例中,混合預測基於在第一預測和第二預測之間的混合比(α)生成。在一些實施例中,當所選擇的候選假設的計算成本小於閾值時,混合比具有第一比值。而當所選擇的候選假設的計算成本大於閾值時,混合比具有第二比值,第一比值大於第二比值。
在一些實施例中,為複數個候選混合預測中的每一個計算成本。這些候選混合預測基於複數個候選假設之一和複數個混合比值之一的不同組合生成。基於在複數個候選混合預測中具有最低計算成本的候選混合預測,聯合選擇一個候選假設和混合比。候選混合預測的成本是BM成本。BM成本基於在候選混合預測的樣本和鄰近當前區塊的重構樣本之間的不連續性。
在下文的詳細描述中,通過實例闡述了許多具體細節,以提供對相關教導的全面理解。基於本文中所描述的教導的任何變型、衍生和/或擴展都在本發明的保護範圍內。在一些情形中,與本文中披露的一個或複數個示例實施方式有關的眾所周知的方法、程式、元件和/或電路可在相對較高級別上進行描述,而不作詳細說明,以避免不必要地掩蓋本發明的教導的各個方面。 I 、多假設預測( Multi-Hypothesis Prediction MHP
在多假設畫面間預測模式(MHP)中,除了傳統的雙向預測(Bi-prediction)訊號外,還標示(signal)一個或複數個附加運動補償預測訊號。由此產生的整體預測訊號是通過按樣本加權疊加獲得的。有了雙向預測訊號 P bi 和第一附加畫面間預測訊號/假設 h 3 ,依據如下公式獲得預測訊號 p 3 p 3 = 1– P bi + h 3 1
加權因數 (或混合比)依據以下表格1由編碼視頻的位元流中的語法元素add_hyp_weight_idx指定:
表格 1 MHP 混合權重編碼
add_hyp_weight_idx
0 1/4
1 -1/8
第1圖概念性地示出了用於對當前區塊120進行編碼的多假設預測(MHP)。當前區塊120位於當前畫面100中。當前區塊具有雙向預測運動向量MV0和MV1,分別用於獲取(fetch)參考畫面110中的預測子130和參考畫面111中的預測子131。雙向預測預測子用於生成雙向預測訊號 P bi .。除了雙向預測外,當前區塊通過使用MHP預測進行編解碼。MHP預測基於從若干MHP候選者A、B、C和D中選擇的附加假設,這些候選者A、B、C和D分別在不同的參考畫面中定位預測子或預測訊號141、142、143和144。在本示例中,假設C被選擇用於生成附加預測訊號 h 3 ,,也就是預測訊號143。
在一些實施例中,附加假設的選擇在編碼視頻或位元流中是明示的。編碼器可向解碼器標示索引訊號,以指示在位元流中MHP候選者的選擇。下文的表格2中提供了明示選擇附加假設/預測訊號的示例語法。
在一些實施例中,視訊編碼器和解碼器對每個MHP候選者執行成本評估,且基於計算出來的成本對不同的MHP候選者進行排序或重新排序。成本計算可基於範本匹配(template matching,TM)或邊界匹配(boundary matching,BM),或TM和BM的混合,或其他類型的成本計算。 TM和BM成本評估過程將在下文的第II節和第III節中描述。 視訊編碼器和視頻解碼器可基於計算出來的成本暗示地選擇一個MHP候選者(例如,在第1圖的示例中的最低成本候選者C)。視訊編碼器和視頻解碼器也可基於原始索引或依據重新排序定義的索引,明示地傳送附加假設的選擇。
在一些實施例中,可使用多於一個附加預測訊號。得到的整體預測訊號與每個附加預測訊號反覆運算累積。例如,第二附加假設 h 4 可依據以下公式,添加到預測中: p 4 = 1 - p 3 + h 4 2
或更一般的依據公式: P n+1 = 1 - n+1 P n + n+1 h n+1 3
得到的預測訊號 P n+1 是最後一個 P n (當前累積的預測)和最新的附加預測訊號 h n+1 的混合結果。當前區塊的第一現有預測訊號是 p 0 。例如,如果MHP被應用於一個合併候選者, p 0 被利用現有的合併索引指示。 h n+1 P n+1 的混合是基於混合比或加權因數 的加權和。在一些實施例中,對於預測的每個附加假設,可以標示/解析加權索引來表示加權因數。
第2圖概念性示出了一個MHP編碼流程200。如第2圖所示,視頻編碼器從參考清單L0和L1構造單一參考清單。利用該步驟,只需要在用於解碼的位元流中傳輸一個參考索引。然後,視頻編碼器將來自畫面間(inter)搜索和仿射(affine)搜索的運動估計的最佳結果添加到一向量中,在該向量中存儲了附加假設的可能候選者。除了來自運動搜索的結果外,視頻編碼器還將來自不同合併模式的繼承運動搜索結果,追加到候選向量中。這些合併模式中的運動資訊是從執行運動搜索的CU中繼承來的。視頻編碼器使用搜集到的候選者執行低複雜度成本搜索,以尋找編解碼上最有前景的預測單元。然後,視頻編碼器對成本最低的候選者執行高複雜度搜索。此處的成本指的是SATD(阿達馬(Hadamard)變換後絕對差值之和)加上語法比特乘以lambda(lambda是將比特變換為失真域的因數,在視頻編解碼中廣泛用於率失真優化(rate distortion optimization))。如果在與其他編解碼模式競爭後,MHP是用於該CU的最佳編解碼模式,則MHP將是為該CU選擇的最終編解碼模式。
第3圖示出用於MHP的低複雜度成本搜索的流程300。存在兩種類型的搜索:用於尋找附加假設的「合併搜索」和「AMVP搜索」。在合併搜索中,可能的候選者是通過幾何分割模式(GPM)構造的那些候選者(默認的候選者數量為10)。每個候選者都要經過檢查。如果將新候選者混合後的成本減少了,則該候選者就被追加到輸出向量。在AMVP搜索中,兩個候選者被構造成用於運動向量的預測子。運動估計被調用以搜索用於相關預測的最佳運動向量,以匹配殘量。殘量的計算方式是原始像素減去MHP的最新預測。(如果存在任何現有附加假設,這些假設將作為預測混合,從而形成最新預測)。有了在低複雜度搜索中搜集的資訊,如果在高複雜度搜索後MHP贏得了競爭,則視頻編解碼器可使用表格2中所示的語法對當前區塊或CU進行編碼或解碼。語法表格示出名為mh_pred_data的函數。
表格 2 MHP 語法表格
mh_pred_data x0, y0, cbWidth, cbHeight { 描述符
    i = 0
    readMore = 1
    while i < MaxNumAdditionalHypotheses && readMore {
       additional_hypothesis_flag[ x0 ][ y0 ][ i ] ae v
       if additional_hypothesis_flag[ x0 ][ y0 ][ i ] {
            is_merge_hyp[x0][y0][i] ae v
            if is_merge_hyp[x0][y0][i]
               merge_idx_gt_zero[ x0 ][ y0 ][ i ] ae v
                if merge_idx_gt_zero[ x0 ][ y0 ][ i ]
                    merge_idx_minus_one[ x0 ][ y0 ][ i ] ae v
               add_hyp_weight_idx[ x0 ][ y0 ][ i ] ae v
            else
              ref_idx_add_hyp[ x0 ][ y0 ][ i ] ae v
              mvd_coding x0, y0, 2+i, 0
              mvp_add_hyp_flag[ x0 ][ y0 ][ i ] ae v
              add_hyp_weight_idx[ x0 ][ y0 ][ i ] ae v
       }
       readMore = additional_hypothesis_flag[ x0 ][ y0 ][ i ] ae v
       i++
    }
}
在mh_pred_data函數的while迴圈中,標誌「additional_hypothesis_flag」用於指示是否存在另一個假設。如果標誌「additional_hypothesis_flag」為真,則「is_merge_hyp」被標示,以指示附加假設是合併類型還是AMVP類型。對於合併類型,「merge_idx_gt_zero」和「merge_idx_minus_one」用於標示候選者索引。對於AMVP類型,「mvp_add_hyp_flag」用於標示候選者索引,以便從兩個可能的選擇中選擇最終MVP(運動向量預測子)。此外,「ref_idx_add_hyp」被標示,以在用於MHP的單一參考清單中確定用於AMVP模式的參考畫格,mvd_coding提供待與MVP一起相加的運動向量差值。對於合併模式和AMVP模式,「add_hyp_weight_idx」被標示,用於確定如上文的表格1中列出的混合權重 。有了全部語法元素,解碼器可檢索必要資訊來重構附加假設集合,以便為CU產生正確的預測。 II 、邊界匹配( Boundary Matching BM )成本
邊界匹配(BM)是一個評估跨區塊邊界不連續性的成本函數。第4圖示出用於BM成本計算的像素樣本,特別是沿當前區塊400的邊界的像素樣本。在第4圖中, P x,y 代表在位置(x,y)處的預測像素樣本,R x,y代表在位置(x,y)處的重構像素樣本。其中x≤0或y≤0的位置是在區塊400外且與區塊400相鄰的像素。因此,基於沿區塊400的邊界的不連續性的BM成本的計算方式如下: III 、範本匹配( Template Matching TM )成本
範本匹配(TM)是一個成本函數,用於通過比較與當前區塊相鄰的當前範本和與運動向量的參考區塊相鄰的共置(collocated)參考範本,估計運動向量的成本。範本由上方和左側的矩形組成。TM成本的失真部分的計算方式可以是用矩形內預測像素和重構像素之間的絕對差值之和(sum of absolute difference,SAD)。
第5圖概念性示出了範本匹配成本。對於當前畫面500中具有初始MV 510的當前CU 505,TM成本的計算方式為與當前區塊505相鄰的當前範本520和由初始MV 510確認的參考範本530之間的差值。
TM成本法也可用於通過在預定的搜索範圍內搜索具有最低成本的修正MV,進行運動向量的優化。TM的優化過程隨著具有最低成本的運動向量收斂。如第5圖所示,視頻編解碼器在初始MV 510周圍[-8,+8]像素(pel)的搜索範圍內搜索參考畫面(picture)或參考畫格(frame)501,以找到最佳或優化MV 511。該搜索是基於使鄰近當前區塊505的當前範本520和由優化MV 511確定的優化參考範本531之間的差值(或成本)最小化。
在一些實施例中,成本的其他部分是對額外語法元素進行編碼所需的位元,例如用於MV編碼的位元,與lambda因數的乘積。 IV 、幾何分割模式 (Geometric Partition Mode)
在VVC中,幾何分割模式支援畫面間預測。使用CU級標誌將幾何分割模式(Geometric Partition Mode,GPM)標示(signalled)為合併模式的一種類型。其他合併模式包括常規合併模式(regular merge mode)、MMVD模式、CIIP模式和子區塊(subblock)合併模式。對於每個可能的CU大小 ,幾何分割模式總共支援64種分割模式,不包括8 x 64和64 x 8。
第6圖示出通過幾何分割模式(GPM)對CU進行的分割。每個GPM分割或GPM切割都是一種分割模式,其特徵是以距離-角度配對來定義二分割或分割線。第6圖示出依相同角度分組的GPM切割的例子。如第6圖所示,當使用GPM時,CU被幾何學定位的直線切割為至少兩部分。切割線的位置由特定分割的角度和偏移參數以數學方式得出。
由GPM的分割模式形成的CU中的每個分割區都使用其自身的運動(向量)進行畫面間預測。在一些實施例中,每個分割區只允許進行單向預測,即每個部分具有一個運動向量和一個參考索引。單向預測運動約束的應用是為了確保,與傳統的雙向預測類似,對每個CU只執行兩次運動補償預測。
如果GPM被用於當前CU,則指示幾何分割的分割模式(角度和偏移)的幾何分割索引和兩個合併索引(每個分割區對應一個合併索引)被進一步標示。由依據分割模式的幾何分割創建的至少兩個分割區中的每一個都可被分配一個合併索引,以便從單向預測候選者清單(也被稱為GPM候選者清單)中選擇一個候選者。因此,兩個分割區的成對合併索引選擇一對合併候選者。可在SPS中明示地標示GPM候選者清單中的最大候選者數量,以規定GPM合併索引的語法二值化。在對至少兩個分割區中的每一個進行預測後,使用具有自我調整權重的混合過程來調整沿著幾何分割邊緣的樣本值。這是用於整個CU的預測訊號,且變換過程和量化過程將像在其他預測模式中一樣應用於整個CU。然後,由GPM預測的CU的運動場(motion field)被存儲起來。
GPM分割的單向預測候選者清單(GPM候選者清單)可直接從當前CU的合併候選者清單中得到。第7圖概念性示出用於GPM分割的示例單向預測候選者清單700以及用於GPM的單向預測MV的選擇。GPM候選者清單700是以偶數-奇數方式構造的,其只存在在L0 MV和L1 MV之間交替出現的單向預測候選者。設n為用於GPM的單向預測候選者清單中的單向預測運動的索引。第n個擴展合併候選者的LX(即,L0或L1)運動向量,X等於n的奇偶性,被用作GPM的第n個單向預測運動向量。(這些運動向量在第7圖中用「x」標誌。)如果第n個擴展合併候選者的對應LX運動向量不存在,則使用同一候選者的L(1-X)運動向量作為GPM的單向預測運動向量。 V MHP 候選者的暗示標示
在一些實施例中,MHP合併索引(例如,語法元素「 merge_idx_gt_zero」和「 merge_idx_minus_one」)可通過使用BM成本暗示地確定,而無需標示。在一些實施例中,對於合併模式MHP,來自GPM的候選者被用於尋找MHP混合候選者。對於每個GPM候選者,預測像素( P x,y )被生成,在相鄰的兩行和兩列(x≤0或y≤0)中的重構相鄰像素( R x,y )被獲取。計算每個GPM候選者的BM成本。然後,依據其計算出來的對應BM成本對GPM候選者進行排序。具有最低成本的GPM候選者的索引被用作MHP混合的第一候選者(例如, h 3 )。具有第二低成本的GPM候選者的索引被用作用於混合的第二候選者(例如 h 4 ),等等。通過該方法,減少了語法元素,且可獲得額外的編碼增益。
在一些實施例中,BM成本被用於確定MHP的AMVP模式的MVP索引。語法元素「 mvp_add_hyp_flag」由BM成本暗示確定。只存在2個可能的AMVP候選者。因此,「 mvp_add_hyp_flag」是單比特標誌。通過使用BM成本來確定MHP的AMVP模式的MVP索引,語法元素「 mvp_add_hyp_flag」被減少或沒有被標示,並且可實現額外的編碼增益。
在一些實施例中,TM成本被用於對MHP混合的不同合併模式候選者進行評估和排序。每個合併模式候選者都具有自己的TM成本。在一些實施例中,合併候選者的TM成本是基於合併候選者的完善/收斂。基於合併候選者或完善合併候選者的TM成本進行排序,可在沒有標示的情況下,得到合併MHP的索引順序。
在一些實施例中,TM成本用於決定MHP的AMVP模式的MVP索引。語法元素「 mvp_add_hyp_flag」可由TM成本暗示地決定。只存在2個可能的AMVP候選者。因此,「 mvp_add_hyp_flag」是單位元標誌。通過使用TM成本來決定MHP的AMVP模式的MVP索引,語法元素「 mvp_add_hyp_flag」被減少或不需標示,並且可實現額外的編解碼增益。
在一些實施例中,來自BM和TM的成本被聯合利用,並且可使用投票機制來決定MHP混合的候選者索引。例如,所決定的具有最低成本(無論從BM或TM判斷)的MHP(MVP或合併)索引被分配三張票券(tickets)或權杖(tokens)。成本第二低的索引被分配兩張票券,而成本第三低的索引被分配一張票券。成本高於第三低成本的索引被分配零張票券。每個候選者的合計票券由用於該候選者的TM的票券數和BM的票券數相加確認。用於混合的索引順序是由不同候選者的票券總數決定的。擁有最多票券的候選者被首先選擇或被分配更高的優先索引。如果兩個候選者的票券數相同,則可通過預定義方案使用BM優先或TM優先策略,以暗示地解決平局。或者,BM優先或TM優先的明示語法可被標示,例如作為切片級的語法元素,以解決平局問題。在一些實施例中,基於BM成本分配的票券數與基於TM成本分配的票券數不同,以有意在BM和TM之間增加一些投票偏見。
在一些實施例中,BM過程被用於選擇一些有前景的候選者,而只對這些有前景的候選者調用TM過程。這是為了減少執行TM的計算負擔。在一些實施例中,用於MHP的合併模式候選者的數量與GPM候選者的數量相同(例如,10個)。在一些實施例中,利用BM來選擇具有最低BM成本的若干(例如,3個)有前景的候選者。然後應用TM過程來確定基於TM成本的最終候選者索引。
對於一些實施例,將綜合考量BM和TM應用於(第二附加假設 h 4 的)第二索引選擇階段,其可通過考慮有前景的候選者的TM成本和BM成本兩者(例如,1/3的BM成本加上2/3的TM成本)而進行。至於MHP的AMVP模式,由於僅存在兩個MVP候選者,因此在一些實施例中,BM不用於篩選有前景的候選者。然而,如果MVP候選者增加,則可應用該綜合考量BM和TM的方法。
在一些實施例中,可先將TM應用於所有GPM候選者。如果兩個MHP候選者的TM成本非常接近,(例如,在特定閾值內),則BM可接下來用於決定最終索引(或要使用的MHP候選者)。在一些實施例中,可將BM和TM的綜合考量(例如,1/3的BM成本加2/3的TM成本)應用於(第二附加假設 h 4 的)第二索引選擇階段。
在一些實施例中,可利用TM成本、BM成本或由BM和TM綜合考量而決定的成本來決定MHP混合權重。對於一些實施例,如果成本低於預定閾值,則依據 表格 1 =1/4 中基於索引 add_hyp_weight_idx設為0分配混合權重。否則,基於表格1中索引 add_hyp_weight_idx為1來分配混合權重(因此 = 1/8)。通過該方法,語法元素「 add_hyp_weight_idx」的標示可被移除,且可實現額外的編碼增益。
如上文所述,在一些實施例中,用於計算BM成本的預測子是來自GPM候選者或AMVP的MVP候選者的預測子。在BM計算之前,這些預測子可與當前累積的預測子(例如, P bi P n )混合。其中,所有可能的混合權重 選項都如表格1中所列出的那樣( =1/4或-1/8)。因此,對於特定AMVP或GPM候選者來說,基於不同的混合權重 ,可存在多於一個BM成本。因此,如果決定了BM的最小成本,則索引和混合權重 就可綜合決定。通過採用該方法, 表格 2中的語法元素,諸如「merge_idx_gt_zero」、「merge_idx_minus_one」、「mvp_add_hyp_flag」和「add_hyp_weight_idx」可被刪除,且不在位元流中標示。
第8圖概念性示出使用BM成本來選擇混合權重和候選假設的組合。第8圖示出當前區塊的四個可能的候選假設(候選假設A到D)。對於每個候選假設(在該示例中為GPM),存在用於混合權重選項的兩個選項( =1/4或-1/8)。對於候選假設和混合權重選項的每種可能的組合,都會計算出BM成本。在該示例中,候選假設「B」和混合權重 =-1/8的組合成本最低。視頻編解碼器(編碼器或解碼器)將暗示地選擇候選假設「B」和混合權重 =-1/8,以在MHP下的當前區塊進行編碼或解碼。
上述提議的任何方法都可在編碼器和/或解碼器中實施。例如,任何提議的方法都可在編碼器和/或解碼器的模組中實施。或者,所提議的任何方法可作為與編碼器和/或解碼器的模組耦合的電路來實施。 VI 、示例視訊編碼器
第9圖示出可執行多假設預測的示例視訊編碼器900。如第9圖所示,視訊編碼器900接收來自視訊源905的輸入視頻訊號,且將該訊號編碼為位元流995。視訊編碼器900具有若干元件或模組,用於對來自視訊源905的訊號進行編碼。這些元件或模組至少包括選自如下中的一些元件:變換模組910、量化模組911、逆量化模組914、逆變換模組915、畫面內估計模組920、畫面內預測模組925、運動補償模組930、運動估計模組935、環內濾波器(in-loop filter)945、重構畫面暫存器(buffer)950、MV暫存器965、MV預測模組975以及熵編碼器(entropy encoder)990。運動補償模組930和運動估計模組935都是畫面間預測模組940的一部分。
在一些實施例中,模組910-990是通過計算裝置或電子裝置的一個或複數個處理單元 例如,處理器 執行的軟體指令的模組。在一些實施例中,模組910-990是由電子裝置的一個或複數個積體電路 IC 實施的硬體電路的模組。雖然模組910-990被示出為是獨立模組,但一些模組可組合成單個模組。
視訊源905提供一個原始視頻訊號,其呈現每個視頻畫格的像素資料,且沒有被壓縮。減法器908計算視訊源905的原始視頻像素資料與來自運動補償模組930或畫面內預測模組925的預測像素資料913之間的差值作為預測殘量909。變換模組910(例如,通過執行離散餘弦變換,或DCT)將差值(或殘量像素資料或殘量訊號908)變換為變換係數。量化模組911將變換係數量化成量化資料(或量化係數)912。通過熵編碼器990將量化資料編碼入位元流995。
逆量化模組914對量化資料(或量化係數)912進行逆量化,以獲得變換係數。逆變換模組915對變換係數執行逆變換,以產生重構殘量919。重構殘量919與預測像素資料913相加,產生重構像素資料917。在一些實施例中,重構像素資料917被暫時存儲在一個行暫存器中(未圖示),用於畫面內預測和空間MV預測。重構像素被環內濾波器945過濾並存儲在重構畫面暫存器950中。在一些實施例中,重構畫面暫存器950是視訊編碼器900外部的存儲。在一些實施例中,重構畫面暫存器950是視訊編碼器900內部的存儲。
畫面內估計模組920基於重構像素資料917執行畫面內預測,以產生畫面內預測資料。該畫面內預測資料被提供給熵編碼器990,以編碼到位元流995中。畫面內預測資料也被畫面內預測模組925用於產生預測像素資料913。
運動估計模組935通過產生MV以參考存儲在重構畫面暫存器950中的先前解碼的畫格的像素資料來執行畫面內預測。這些MV被提供給運動補償模組930,以產生預測像素資料。
視訊編碼器900使用MV預測來生成預測MV,而不是在位元流中編碼完整的實際MV。用於運動補償的MV和預測MV之間的差值被編碼為殘量運動資料並存儲在位元流995中。
MV預測模組975基於為編碼先前視頻畫格而生成的參考MV,即用於執行運動補償的運動補償MV,生成預測MV。MV預測模組975從MV暫存器965中檢索先前視頻畫格的參考MV。視訊編碼器900將為當前視頻畫格生成的MV存儲在MV暫存器965中,作為用於生成預測MV的參考MV。
MV預測模組975使用參考MV來創建預測MV。預測MV可通過空間MV預測或時間MV預測來計算。在預測MV和當前畫格的運動補償MV(MC MV)(殘量運動資料)之間的差值由熵編碼器990編碼到位元流995。
熵編碼器990通過使用熵編碼技術,諸如基於上下文的自我調整二進位算術編碼(CABAC)或Huffman編碼,將各種參數和資料編碼到位元流995中。熵編碼器990將各種標頭(header)元素、標誌以及量化變換係數912和殘量運動資料作為語法元素編碼到位元流995中。位元流995繼而被存儲在一個存放裝置中,或通過諸如網路的通信介質傳輸至解碼器。
環內濾波器945對重構像素資料917進行過濾或平滑操作,以尤其在像素區塊的邊界處減少編碼雜訊。在一些實施例中,由環內濾波器945執行的過濾或平滑操作包括去塊濾波(deblocking filter,DBF)、樣本自我調整偏移(sample adaptive offset,SAO)和/或自我調整環路濾波(adaptive loop filter,ALF)。
第10圖示出了視訊編碼器900的部分,這些部分實施基於成本的候選假設選擇。具體而言,第10圖示出視訊編碼器900的運動補償模組930的元件。
如第10圖所示,運動補償模組930具有候選者選擇器1010。候選者選擇器1010從候選者清單中選擇運動候選者,並將所選擇的候選者的運動資訊或運動向量提供給預測生成器1020。候選者清單可以是當前區塊的GPM合併候選者或AMVP候選者。候選者從存儲在MV暫存器965中的先前使用的運動向量得到。候選者選擇器1010可基於運動估計模組935的決定來選擇候選者,而該選擇由熵編碼器990在位元流995中明示標示。候選者選擇器1010也可基於由候選者成本計算器1030計算的成本來暗示選擇候選者 例如,選擇最低成本的候選者
候選者成本計算器1030可通過執行範本匹配 TM 過程或邊界匹配 BM 過程,基於從重構畫面暫存器950獲取的樣本和在預測像素資料913處可得的最新預測,來計算候選者的成本。當計算候選者的TM成本時,候選者成本計算器1030比較在鄰近當前區塊的當前範本中的樣本和鄰近參考區塊的參考範本中的樣本,參考區塊由候選者的運動資訊引用。當計算候選者的BM成本時,候選者成本計算器1030依據候選者測量鄰近當前區塊的重構樣本和當前區塊的預測子樣本的不連續性。
預測生成器1020基於由候選者選擇器1010提供的選定候選者從重構畫面暫存器950中獲取預測子樣本。所選擇的候選者可以是雙向預測的運動向量之一(MV0或MV1),或MHP下的任何附加假設的運動向量。預測生成器1020將預測樣本提供給預測混合器1040。該預測混合器1040可將當前累積預測1050( P bi P n )與預測樣本( h 3 h n+1 )混合,以形成新的預測。混合可依據由候選者選擇器1010提供的混合權重比 來執行。如果不存在更多的假設要添加,則新預測可用作預測像素資料913。新預測也可被存儲,因此可作為當前累積的預測1050,用於隨後添加假設。
第11圖概念性示出了過程1100。該過程1100執行基於成本的多假設預測的候選者選擇。在一些實施例中,實施編碼器900的計算設備的一個或複數個處理單元 例如,處理器 通過執行存儲在電腦可讀介質中的指令來執行該過程1100。在一些實施例中,實施編碼器900的電子裝置執行該過程1100。
編碼器(在框1110處)接收待編碼為當前畫面中的當前像素區塊的資料。
編碼器(在框1120處)生成第一預測。該第一預測可以為基於當前區塊的第一運動向量和第二運動向量的雙向預測。
編碼器基於來自當前區塊的鄰域的資訊,(在框1130處)計算複數個候選假設中的每個候選假設的成本。複數個候選假設可以是當前區塊的合併候選者,特別是在幾何分割預測(GPM)模式下為當前區塊確定的合併候選者。複數個候選假設可以是進階運動向量預測(AMVP)模式的候選者。每個候選假設都指定了(要與運動向量差值(MVD)相結合)的候選運動向量預測子的選擇。
候選假設的成本可以是TM成本,該TM成本基於與當前區塊相鄰的當前範本區域中的重構樣本和與參考區塊相鄰的參考範本區域中的重構樣本之間的差值。該參考區塊由候選假設定位。候選假設的成本可以是BM成本,該BM成本基於在與當前區塊相鄰的當前範本區域中的重構樣本和由候選假設生成的沿當前區塊邊界的當前區塊預測樣本之間的不連續性。
編碼器基於計算出來的成本從複數個候選假設中(在框1140處)選擇候選假設。在一些實施例中,編碼器通過以下方式選擇候選假設:依據為每個候選假設計算的第一類成本(例如TM)和第二類成本(例如BM)將權杖或票券分配給複數個候選假設;以及,確定在複數個候選假設中與其他候選假設相比具有更多權杖的候選假設。在一些實施例中,編碼器通過基於第一類成本 例如,TM 確定複數個候選假設的子集,且基於第二類成本 例如,BM 從該子集中選擇候選假設來選擇候選假設。
編碼器(在框1150處)基於第一預測和第二預測生成混合預測。該第二預測基於所選擇的候選假設生成。混合預測基於在第一預測和第二預測之間的混合比 生成。在一些實施例中,當用於選定候選假設的計算成本小於閾值時,混合比具有第一比值,而當用於選定候選假設的計算成本大於閾值時,混合比具有第二比值。第一比值大於第二比值。
在一些實施例中,為複數個候選混合預測中的每一個計算成本。這些候選混合預測基於複數個候選假設之一和複數個混合比值之一的不同組合生成。基於在複數個候選混合預測中具有最低計算成本的候選混合預測,聯合選擇一個候選假設和混合比。候選混合預測的成本是BM成本,該BM成本基於在候選混合預測的樣本和鄰近當前區塊的重構樣本之間的不連續性。
編碼器(在框1160處)通過使用混合預測對當前區塊進行編碼,以生成和產生預測殘量。 VII 、示例視頻解碼器
在一些實施例中,編碼器可在位元流中標示(或生成)一個或複數個語法元素,使得解碼器可從位元流中解析該一個或複數個語法元素。
第12圖示出可執行多假設預測的示例視頻解碼器1200。如第12圖所示,視頻解碼器1200是畫面解碼電路或視頻解碼電路。視頻解碼器1200接收位元流1295並將位元流的內容解碼成用於顯示的視頻畫格的像素資料。視頻解碼器1200具有用於解碼位元流1295的若干元件或模組,包括如下中的一些元件:逆量化模組1211、逆變換模組1210、畫面內預測模組1225、運動補償模組1230、環內濾波器1245、畫面暫存器解碼畫面暫存器1250、MV暫存器1265、MV預測模組1275以及解析器1290。運動補償模組1230是畫面間預測模組1240的一部分。
在一些實施例中,模組1210-1290是被計算設備的一個或複數個處理單元 例如,處理器 執行的軟體指令的模組。在一些實施例中,模組1210-1290是由電子裝置的一個或複數個IC實施的硬體電路的模組。雖然模組1210-1290被示出為是獨立模組,但一些模組可組合成單個模組。
解析器1290(或熵解碼器)接收位元流1295,且依據視頻編解碼或畫面編解碼標準定義的語法進行初始解析。被解析的語法元素包括各種標頭元素、標誌以及量化資料(或量化係數)1212。解析器1290通過使用熵編碼技術,諸如基於上下文的自我調整二進位算術編碼(CABAC)或Huffman編碼,解析出各種語法元素。
逆量化模組1211對量化資料(或量化係數)1212進行去量化,以獲得變換係數。逆變換模組1210對變換係數1216執行逆變換,以產生重構殘量訊號1219。重構殘量訊號1219與來自畫面內預測模組1225或運動補償模組1230的預測像素資料1213相加,以產生解碼像素資料1217。解碼像素資料1217由環內濾波器1245過濾且存儲在解碼畫面暫存器1250中。在一些實施例中,解碼畫面暫存器1250是視頻解碼器1200外部的存儲。在一些實施例中,解碼畫面暫存器1250是視頻解碼器1200內部的存儲。
畫面內預測模組1225從位元流1295接收畫面內預測資料,且依據該畫面內預測資料從存儲在解碼畫面暫存器1250中的解碼像素資料1217產生預測像素資料1213。在一些實施例中,解碼像素資料1217也被存儲在行暫存器中(未示出),用於畫面內預測和空間MV預測。
在一些實施例中,解碼畫面暫存器1250的內容被用於顯示。顯示裝置1255檢索解碼畫面暫存器1250的內容用於直接顯示,或者顯示裝置1255將解碼畫面暫存器的內容擷取到顯示暫存器中。在一些實施例中,顯示裝置通過像素傳輸從解碼畫面暫存器1250接收像素值。
運動補償模組1230依據運動補償MV(MC MV)從存儲在解碼畫面暫存器1250中的解碼像素資料1217產生預測像素資料1213。這些運動補償MV是通過將從位元流1295接收到的殘量運動資料與從MV預測模組1275接收到的預測MV相加而解碼。
MV預測模組1275基於為解碼先前視頻畫格而生成的參考MV,例如用於執行運動補償的運動補償MV,來生成預測MV。MV預測模組1275從MV暫存器1265檢索先前視頻畫格的參考MV。視頻解碼器1200將為解碼當前視頻畫格而生成的運動補償MV存儲在MV暫存器1265中,作為用於產生預測MV的參考MV。
環內濾波器1245對解碼像素資料1217執行過濾或平滑操作,以尤其在像素區塊的邊界處減少編碼雜訊。在一些實施例中,由環內濾波器1245執行的過濾或平滑操作包括去塊濾波(DBF)、樣本自我調整偏移(SAO)和/或自我調整環路濾波(ALF)。
第13圖示出了視頻解碼器1200的部分,這些部分實施基於成本的候選假設選擇。具體而言,第13圖示出視頻解碼器1200的運動補償模組1230的元件。
如第13圖所示,運動補償模組1230具有候選者選擇器1310。候選者選擇器1310從候選者清單中選擇運動候選者,並將所選擇的候選者的運動資訊或運動向量提供給預測生成器1320。候選者清單可以是當前區塊的GPM合併候選者或AMVP候選者。候選者從存儲在MV暫存器1265中的先前使用的運動向量得到。候選者選擇器1310可基於在位元流1295中的明示標示(從熵解碼器1290接收)選擇候選者。候選者選擇器1310也可基於由候選者成本計算器1330計算的成本來暗示選擇候選者(例如,通過選擇最低成本的候選者。)
候選者成本計算器1330可通過執行範本匹配(TM)過程或邊界匹配(BM)過程,基於從解碼畫面暫存器1250獲取的樣本和在預測像素資料1213處可得的最新預測,來計算候選者的成本。當計算候選者的TM成本時,候選者成本計算器1330比較在鄰近當前區塊的當前範本中的樣本和鄰近參考區塊的參考範本中的樣本。參考區塊由當前候選者的運動資訊引用。當計算候選者的BM成本時,候選者成本計算器1330依據候選者測量鄰近當前區塊的重構樣本和當前區塊的預測子樣本的不連續性。
預測生成器1320基於通過候選者選擇器1310提供的選定候選者,從解碼畫面暫存器1250中獲取預測子樣本。所選擇的候選者可以是雙向預測的運動向量之一(MV0或MV1),或MHP下的任何附加假設的運動向量。預測生成器1320將預測樣本提供給預測混合器1340。該預測混合器1340可將當前累積預測1350( P bi P n )與預測樣本( h 3 h n+1 )混合,以形成新預測( p 3 P n+1 )。混合可依據由候選者選擇器1310提供的混合權重比 執行。如果不存在更多的假設要添加,則新預測可用作預測像素資料1213。新預測也可被存儲,因此可作為當前累積的預測1350,用於隨後添加的假設。
第14圖概念性示出執行基於成本的多假設預測的候選項選擇的過程1400。在一些實施例中,實施解碼器1200的計算設備的一個或複數個處理單元 例如,處理器 通過執行存儲在電腦可讀介質中的指令來執行該過程1400。在一些實施例中,實施解碼器1200的電子裝置執行該過程1400。
解碼器(在框1410處)接收待編碼為當前畫面中的當前像素區塊的資料。
解碼器(在框1420處)生成第一預測。該第一預測可以為基於當前區塊的第一運動向量和第二運動向量的雙向預測。
解碼器基於來自當前區塊的鄰域的資訊,(在框1430處)計算複數個候選假設中的每個候選假設的成本。複數個候選假設可以是當前區塊的合併候選者,特別是在幾何分割預測(GPM)模式下為當前區塊確定的合併候選者。複數個候選假設可以是進階運動向量預測(AMVP)模式的候選者。每個候選假設都指定了(要與運動向量差值(MVD)相結合)的候選運動向量預測子的選擇。
候選假設的成本可以是TM成本。該TM成本基於與當前區塊相鄰的當前範本區域中的重構樣本和與參考區塊相鄰的參考範本區域中的重構樣本之間的差值。該參考區塊由候選假設定位。候選假設的成本可以是BM成本。該BM成本基於當前範本區域中鄰近當前區塊的重構樣本和由候選假設生成的沿當前區塊邊界的當前區塊預測樣本之間的不連續性。
解碼器基於計算出來的成本從複數個候選假設(在框1440處)選擇候選假設。在一些實施例中,解碼器通過如下方式選擇候選假設:依據為每個候選假設計算的第一類成本(例如TM)和第二類成本(例如BM)將權杖或票券分配給複數個候選假設,以及確定在複數個候選假設中具有比其他候選假設更多權杖的候選假設。在一些實施例中,解碼器通過基於第一類成本 例如,TM 確定複數個候選假設的子集,且基於第二類成本 例如,BM 從該子集中選擇候選假設來選擇候選假設。
解碼器(在框1450處)基於第一預測和第二預測生成混合預測。該第二預測基於所選擇的候選假設生成。混合預測基於在第一預測和第二預測之間的混合比 生成。在一些實施例中,當用於選定候選假設的計算成本小於閾值時,混合比具有第一比值,而當用於選定候選假設的計算成本大於閾值時,混合比具有第二比值。第一比值大於第二比值。
在一些實施例中,為複數個候選混合預測中的每一個計算成本。這些候選混合預測是基於複數個候選假設之一和複數個混合比值之一的不同組合生成的。基於在複數個候選混合預測中具有最低計算成本的候選混合預測,聯合選擇一個候選假設和混合比。候選混合預測的成本是BM成本。BM成本基於在候選混合預測的樣本和鄰近當前區塊的重構樣本之間的不連續性。
解碼器(在框1460處)通過使用混合預測重構當前區塊,以作為預測區塊。然後,解碼器可提供重構後的當前區塊,作為重構後的當前畫面的一部分進行顯示。 VIII 、示例電子系統
上述許多特徵和應用是作為軟體過程實施的。這些軟體過程被指定為記錄在電腦可讀存儲介質(也稱為電腦可讀介質)上的指令集。這些指令,當被一個或複數個計算或處理單元(例如,一個或複數個處理器、處理器芯或其他處理單元)執行時,導致處理單元執行指令中指示的動作。電腦可讀媒介的例子包括但不限於CD-ROM、快閃記憶體驅動器、隨機存取記憶體(RAM)晶片、硬碟、可擦除可程式設計唯讀記憶體(EPROM)、電可擦除可程式設計唯讀記憶體(EEPROM)等。電腦可讀媒介不包括以無線方式或通過有線連接傳遞的載波和電子訊號。
在該說明書中,術語「軟體」包括駐留在唯讀記憶體中的固件或存儲在磁性記憶體中的應用程式。該固件或應用程式可被讀入記憶體以便通過處理器處理。另外,在一些實施例中,複數個軟體發明可作為更大的程式的子部分來實施,同時保留為不同的軟體發明。在一些實施例中,複數個軟體發明也可作為單獨程式實施。最後,共同實施此處描述的軟體發明的獨立程式的任何組合,都在本發明的範圍內。在一些實施例中,軟體程式,在被安裝到一個或複數個電子系統上運行時,定義一個或複數個具體的機器實施方式。這些機器實施方式執行和進行軟體程式的操作。
第15圖概念性示出用以實施本發明的一些實施例的電子系統1500。電子系統1500可以是電腦(例如,臺式電腦、個人電腦、平板電腦等)、電話、PDA或任何其他種類的電子設備。這種電子系統包括各種類型的電腦可讀媒介和用於各種其他類型的電腦可讀媒介的介面。電子系統1500包括匯流排1505、處理單元1510、圖形處理單元(GPU)1515、系統記憶體1520、網路1525、唯讀記憶體1530、永久存放裝置1535、輸入裝置1540以及輸出設備1545。
匯流排1505總體上代表所有系統、外設和晶片組匯流排。匯流排1505對電子系統1500的眾多內部設備進行通信連接。例如,匯流排1505將處理單元1510與GPU 1515、唯讀記憶體1530、系統記憶體1520和永久存放裝置1535通信連接。
從這些不同的存儲單元中,處理單元1510檢索要執行的指令和要處理的資料,以便執行本發明的過程。在不同的實施例中,處理單元可以是單核處理器或多核處理器。一些指令被傳遞給GPU 1515並由其執行。GPU 1515可減輕各種計算的負擔,或補充由處理單元1510提供的影像處理。
唯讀記憶體(ROM)1530存儲靜態資料和指令。這些資料和指令由處理單元1510和電子系統的其他模組使用。另一方面,永久存放裝置1535是一種讀寫存放裝置。該設備是非易失性存儲單元,即使在電子系統1500關閉時也能存儲指令和資料。本發明的一些實施例使用大型存放區設備 諸如磁性或光學磁片及其對應磁碟機 作為永久存放裝置1535。
其他實施例使用卸除式存放裝置設備(諸如軟碟、快閃記憶體設備等及其對應磁碟機)作為永久存放裝置。與永久存放裝置1535一樣,系統記憶體1520是一種讀寫存放裝置。然而,與存放裝置1535不同,系統記憶體1520是易失性讀寫記憶體,諸如隨機存取記憶體。系統記憶體1520存儲處理器在運行時使用的一些指令和資料。在一些實施例中,依據本發明的過程被存儲在系統記憶體1520、永久存放裝置1535和/或唯讀記憶體1530中。例如,各種存儲單元包括依據一些實施例處理多媒體剪輯的指令。從這些不同的存儲單元中,處理單元1510檢索要執行的指令和要處理的資料,以便執行一些實施例的過程。
匯流排1505也連接到輸入裝置1540和輸出設備1545。輸入裝置1540使使用者能夠向電子系統傳達資訊和選擇命令。輸入裝置1540包括字母數位鍵盤和指示設備(也稱為「游標控制設備」)、攝像頭(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備1545顯示由電子系統生成的圖像或以其他方式輸出資料。輸出設備1545包括印表機和顯示裝置,諸如陰極射線管(CRT)或液晶顯示器(LCD),以及揚聲器或類似的音訊輸出設備。一些實施例包括諸如觸控式螢幕等既作為輸入裝置又作為輸出設備的設備。
最後,如第15圖所示,匯流排1505還通過網路適配器(未示出)將電子系統1500耦合到網路1525。以這種方式,電腦可以是電腦網路(諸如局域網(「LAN」)、廣域網路(「WAN」)或內聯網或網際網,諸如互聯網)的一部分。電子系統1500的任何或所有元件都可與本發明結合使用。
一些實施例包括電子元件,諸如微處理器、記憶體和記憶體。這些電子元件將電腦程式指令存儲在機器可讀介質或電腦可讀介質中(也可稱為電腦可讀存儲媒介、機器可讀媒介或機器可讀存儲媒介)。這些電腦可讀媒介的一些例子包括RAM、ROM、唯讀光碟(CD-ROM)、可錄光碟(CD-R)、可讀寫光碟(CD-RW)、唯讀數位多用途光碟(例如,DVD-ROM、雙層DVD-ROM)、各種可錄/可讀寫DVD(例如、DVD-RAM、DVD-RW、DVD+RW等)、快閃記憶體(例如,SD卡、迷你SD卡、微型SD卡等)、磁性和/或固態硬碟、唯讀和可錄藍光光碟、超密度光碟、任何其他光學或磁性媒介以及軟碟。電腦可讀媒介可存儲電腦程式。該電腦程式可由至少一個處理單元執行,且包括用於執行各種操作的指令集。電腦程式或電腦代碼的例子包括機器代碼,諸如由編譯器產生的機器代碼,以及包括由電腦、電子元件或微處理器使用解譯器執行的高級代碼的檔。
雖然上述討論主要涉及執行軟體的微處理器或多核處理器,但上述許多特徵和應用由一個或複數個積體電路執行,諸如專用積體電路(ASIC)或現場可程式設計閘陣列(FPGA)。在一些實施例中,這種積體電路執行存儲在電路本身的指令。此外,一些實施例執行存儲在可程式設計邏輯裝置(PLD)、ROM或RAM設備中的軟體。
在本說明書和本申請的任何請求項中使用的術語「電腦」、「伺服器」、「處理器」和「記憶體」均指稱電子或其他技術設備。這些術語不包括人或人群。就本說明書的目的而言,術語顯示或顯示的指在電子設備上顯示。在本說明書和本申請的任何請求項中使用的術語「電腦可讀介質」、「電腦可讀媒介」和「機器可讀媒介」完全限於以電腦可讀的形式存儲資訊的有形的物理物件。這些術語不包括任何無線訊號、有線下載訊號和任何其他瞬態訊號。
雖然本發明已參照許多具體細節進行了描述,但本領域通常知識者將認識到,本發明可在不脫離本發明的精神的情況下以其他具體形式實施。此外,若干圖式(包括第11圖和第14圖)概念性地示出了過程。這些過程的具體操作可不按照所示和所描述的確切循序執行。具體操作可不在一個連續的操作系列中執行。且不同的具體操作可在不同的實施例中執行。此外,該過程可使用若干子過程來實施,或作為一個更大的宏觀過程的一部分實施。因此,本領域通常知識者將理解,本發明不受前述示例性細節的限制,而是由所附請求項定義。 附加說明
本文所描述的主題有時表示不同的元件,其包含在或者連接到其他不同的元件。可以理解的是,所描述的結構僅是示例,實際上可以由許多其他結構來實施,以實作相同的功能。從概念上講,任何實作相同功能的元件的排列實際上是「相關聯的」,以便實作所需的功能。因此,不論結構或中間元件,為實作特定的功能而組合的任何兩個元件被視為「相互關聯」,以實作所需功能。同樣,任何兩個相關聯的元件被看作是相互「可操作連接」或「可操作耦接」,以實作所需功能。能相互關聯的任何兩個元件也被視為相互「可操作耦接」以實作所需功能。可操作耦接的具體例子包括但不限於物理可配對和/或物理相互作用的元件,和/或無線可交互和/或無線相互作用的元件,和/或邏輯上相互作用和/或邏輯上可交互的元件。
此外,關於本文中基本上任何複數和/或單數術語的使用,所屬技術領域中具有通常知識者可根據上下文和/或應用從複數轉換為單數和/或從單數到複數。為清楚起見,本文明確規定了不同的單數/複數排列。
此外,所屬技術領域中具有通常知識者可以理解,通常,本發明所使用的術語特別是請求項中的,如請求項的主體,通常用作「開放」術語,例如,「包括」應解釋為「包括但不限於」,「有」應理解為「至少有」,「包括」應解釋為「包括但不限於」等。所屬技術領域中具有通常知識者還將理解,如果引入之請求項列舉之具體數量係有意的,則這種意圖將在請求項中明確地列舉,並且在缺少這種列舉時不存在這種意圖。例如,為了有助於理解,所附之請求項可包括引入性短語「至少一個」和「一個或複數個」之使用,以引入請求項列舉。然而,這種短語之使用不應該被解釋為暗示請求項列舉透過不定冠詞「一」或者「一個」之引入,將包括這種所引入之請求項列舉之任何特定請求項限制於只包括一個這種列舉之實現方式,即使當同一請求項包括引入性短語「一個或複數個」或「至少一個」以及諸如「一」或「一個」這樣之不定冠詞時。例如,「一」和/或「一個」應被解釋為意指「至少一個」或「一個或複數個」,這同樣適用於用來引入請求項列舉之定冠詞之使用。此外,即使明確地列舉了具體數量之所引入之請求項列舉,所屬技術領域中具有通常知識者亦將認識到,這種列舉應被解釋為意指至少所列舉之數量,例如,在沒有其它之修飾語之情況下,「兩個列舉」之無遮蔽列舉意指至少兩個列舉或者兩個或者更多複數個列舉。此外,在使用類似於「A、B和C等中之至少一個」之慣例之情況下,在所屬技術領域中具有通常知識者將理解這個慣例之意義上,通常意指這樣解釋(例如,「具有A、B和C中之至少一個之系統」將包括但不限於單獨具有A的系統、單獨具有B的系統、單獨具有C的系統、一同具有A和B的系統、一同具有A和C的系統、一同具有B和C的系統和/或一同具有A、B和C的系統等)。在使用類似於「A、B或C等中之至少一個」之慣例之情況下,在所屬技術領域中具有通常知識者將理解這個慣例之意義上,通常意指這樣解釋(例如,「具有A、B或C中之至少一個之系統」將包括但不限於單獨具有A的系統、單獨具有B的系統、單獨具有C的系統、一同具有A和B的系統、一同具有A和C的系統、一同具有B和C的系統和/或一同具有A、B和C的系統等)。所屬技術領域中具有通常知識者還將理解,無論在說明書、請求項或附圖中,實際上表示兩個或者更多複數個可選術語之任何選言單詞和/或短語,應當被理解為考慮包括這些術語中的一個、任一個或者這兩個術語之可能性。例如,短語「A或B」應理解為包括「A」或「B」或「A和B」之可能性。
從前述可知,為了說明目的,此處已描述了各種實現方式,並且在不偏離本發明的範圍和精神的情況下,可以進行各種變形。因此,此處所公開的各種實施方式不用於限制,請求項表示真實的範圍和精神。
100:當前畫面 110:參考畫面 111:參考畫面 112:參考畫面 120:當前畫面 130:預測子 131:預測子 141:預測子 142:預測子 143:預測子 144:預測子 MV0:運動向量 MV1:運動向量 200:MHP編碼流程 300:用於MHP的低複雜度成本搜索的流程 400:區塊 500:當前畫面 501:參考畫格 505:當前CU 510:初始MV 511:優化MV 520:當前範本 530:參考範本 531:優化參考範本 700:單向預測候選者清單 900:視訊編碼器 905:視訊源 908:減法器 909:預測殘量 910:變換模組 911:量化模組 912:量化資料 913:預測像素資料 914:逆量化模組 915:逆變換模組 916:變換係數 917:重構像素資料 919:重構殘量 920:畫面內估計模組 925:畫面內預測模組 930:運動補償模組 935:運動估計模組 940:畫面間預測模組 945:環內濾波器 950:重構畫面暫存器 965:MV暫存器 975:MV預測模組 990:熵編碼器 995:位元流 1010:候選者選擇器 1020:預測生成器 1030:候選者成本計算器 1040:預測混合器 1050:當前累積預測 1100:過程 1110~1160:框 1200:視頻解碼器 1210:逆變換模組 1211:逆量化模組 1212:量化係數 1213:預測像素資料 1216:變換係數 1217:解碼像素資料 1219:重構殘量 1225:畫面內預測模組 1230:運動補償模組 1240:畫面間預測模組 1245:環內濾波器 1250:解碼畫面暫存器 1255:顯示裝置 1265:MV暫存器 1275:MV預測模組 1290:熵解碼器 1295:位元流 1310:候選者選擇器 1320:預測生成器 1330:候選者成本計算器 1340:預測混合器 1350:當前累積預測 1400:過程 1410~1460:框 1500:電子系統 1505:匯流排 1530:唯讀記憶體 1535:永久存放裝置 1520:系統記憶體 1545:輸出設備 1515:GPU 1510:處理單元 1525:網路 1540:輸入裝置
圖式被包含,以為了提供對本發明的進一步理解,並被納入到本發明中並構成本發明的一部分。圖式說明本發明的實施方式,並與說明書一起用於解釋本發明的原理。值得注意的是,圖式不一定是按比例繪製的,因為為了清楚地說明本發明的概念,一些部件可能會顯示出與實際實施方式中的尺寸不成比例。 第1圖概念性地示出了用於對當前區塊進行編解碼的多假設預測(MHP)。 第2圖概念性示出了一個MHP編碼流程。 第3圖示出MHP的低複雜度成本搜索的流程。 第4圖示出用於BM成本計算的像素樣本,尤其是沿當前區塊的邊界的像素樣本。 第5圖概念性示出範本匹配(TM)成本。 第6圖示出通過幾何分割模式(GPM)對CU進行的分割。 第7圖概念性示出用於GPM分割區的示例單向預測候選者清單以及用於GPM的單向預測MV的選擇。 第8圖概念性示出使用BM成本來選擇混合權重和候選假設的組合。 第9圖示出可執行多假設預測的示例視訊編碼器。 第10圖示出了視訊編碼器實施基於成本的候選假設選擇的部分。 第11圖概念性示出執行基於成本的多假設預測的候選項選擇的過程。 第12圖示出可執行多假設預測的示例視頻解碼器。 第13圖示出視頻解碼器實施基於成本的候選假設選擇的部分。 第14圖概念性示出執行基於成本的多假設預測的候選項選擇的過程。 第15圖概念性示出用以實施本發明的一些實施例的電子系統。
1400:過程
1410~1460:框

Claims (15)

  1. 一種視頻編解碼方法,包括: 接收待編碼或解碼的像素區塊的資料,作為視頻的當前畫面的當前區塊; 生成第一預測; 為複數個候選假設中的每個候選假設計算其成本; 基於計算出的該成本從該複數個候選假設中選擇候選假設; 基於該第一預測和第二預測生成混合預測,該第二預測基於該所選擇的候選假設而生成;以及 通過使用該混合預測對該當前區塊進行編碼或解碼。
  2. 如請求項1所述之視頻編解碼方法,其中,該第一預測為基於該當前區塊的第一運動向量和第二運動向量的雙向預測。
  3. 如請求項1所述之視頻編解碼方法,其中,候選假設的該成本是基於在(i)鄰近該當前區塊的當前範本區域中的重構樣本與(ii)鄰近參考區塊的參考範本區域中的重構樣本之間的差值,該參考區塊是通過該候選假設定位。
  4. 如請求項1所述之視頻編解碼方法,其中,候選假設的該成本是基於在(i)鄰近該當前區塊的當前範本區域中的重構樣本與(ii)通過該候選假設生成的沿該當前區塊的邊界的該當前區塊的預測樣本之間的不連續性。
  5. 如請求項1所述之視頻編解碼方法,其中,該複數個候選假設是該當前區塊的合併候選者。
  6. 如請求項5所述之視頻編解碼方法,其中,該複數個候選假設是在幾何分割預測(geometric partition prediction,GPM)模式下為該當前區塊辨認的合併候選者。
  7. 如請求項1所述之視頻編解碼方法,其中,該複數個候選假設是用於進階運動向量預測(advanced motion vector prediction,AMVP)模式的候選者,每個候選假設指定候選運動向量預測子的選擇。
  8. 如請求項1所述之視頻編解碼方法,其中,選擇該候選假設的操作包括: 依據為每個候選假設計算的第一類成本和第二類成本,為該複數個候選假設分配權杖;以及 在該複數個候選假設中,確認相比其他候選假設具有更多權杖的候選假設。
  9. 如請求項1所述之視頻編解碼方法,其中,選擇該候選假設的操作包括:基於第一類成本確認該複數個候選假設的子集;以及基於第二類成本從該子集中選擇候選假設。
  10. 如請求項1所述之視頻編解碼方法,其中: 該混合預測基於在該第一預測和該第二預測之間的混合比生成, 當所選擇的候選假設的計算成本小於閾值時,該混合比具有第一比值,且,當所選擇的候選假設的計算成本大於閾值時,該混合比具有第二比值,該第一比值大於該第二比值。
  11. 如請求項1所述之視頻編解碼方法, 其中,該混合預測基於在該第一預測和該第二預測之間的混合比生成,該混合比具有複數個候選混合比值中的其中一個, 其中,為複數個候選混合預測中的每一個而計算成本,其中該複數個候選混合預測是基於該複數個候選假設之一和該複數個混合比值之一的不同組合所生成, 其中,基於在該複數個候選混合預測中具有最低計算成本的候選混合預測,聯合選擇候選假設和混合比。
  12. 如請求項11所述之視頻編解碼方法,其中,候選混合預測的該成本是邊界匹配成本,該邊界匹配成本是基於在該候選混合預測的樣本和鄰近該當前區塊的重構樣本之間的不連續性。
  13. 一種電子裝置,包括: 視頻編解碼器電路,配置成執行: 接收待編碼或解碼的像素區塊的資料,作為視頻的當前畫面的當前區塊; 生成第一預測; 為複數個候選假設中的每個候選假設計算其成本; 基於計算出的該成本從該複數個候選假設中選擇候選假設; 基於該第一預測和第二預測生成混合預測,該第二預測基於該所選擇的候選假設而生成;以及 通過使用該混合預測對該當前區塊進行編碼或解碼。
  14. 一種視頻解碼方法,包括: 接收待解碼的像素區塊的資料,作為視頻的當前畫面的當前區塊; 生成第一預測; 為複數個候選假設中的每個候選假設計算成本; 基於計算出的該成本從該複數個候選假設中選擇候選假設; 基於該第一預測和第二預測生成混合預測,該第二預測基於該所選擇的候選假設而生成;以及 通過使用該混合預測對該當前區塊進行重構。
  15. 一種視頻編碼方法,包括: 接收待編碼的像素區塊的資料,作為視頻的當前畫面的當前區塊; 生成第一預測; 為複數個候選假設中的每個候選假設計算成本; 基於計算出的該成本從該複數個候選假設中選擇候選假設; 基於該第一預測和第二預測生成混合預測,該第二預測基於該所選擇的候選假設而生成;以及 通過使用該混合預測對該當前區塊進行編碼。
TW112121055A 2022-06-06 2023-06-06 多假設預測編解碼 TW202415066A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63/349,172 2022-06-06
WOPCT/CN2023/098396 2023-06-05

Publications (1)

Publication Number Publication Date
TW202415066A true TW202415066A (zh) 2024-04-01

Family

ID=

Similar Documents

Publication Publication Date Title
CN113455003B (zh) 视频编解码方法及电子设备
TWI688261B (zh) 用於簡化的合併候選發信的編解碼方法及裝置
US11172203B2 (en) Intra merge prediction
US11297348B2 (en) Implicit transform settings for coding a block of pixels
US20210051345A1 (en) Signaling for illumination compensation
US11245922B2 (en) Shared candidate list
KR20200113259A (ko) 하드웨어 친화적으로 제약된 모션 벡터 개선
US11109064B2 (en) Signaling of motion vector difference derivation
WO2019161798A1 (en) Intelligent mode assignment in video coding
TW202415066A (zh) 多假設預測編解碼
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement
WO2023202569A1 (en) Extended template matching for video coding
WO2023236916A1 (en) Updating motion attributes of merge candidates
WO2023236914A1 (en) Multiple hypothesis prediction coding
WO2023198187A1 (en) Template-based intra mode derivation and prediction
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
WO2023143173A1 (en) Multi-pass decoder-side motion vector refinement
WO2023208063A1 (en) Linear model derivation for cross-component prediction by multiple reference lines
WO2024017224A1 (en) Affine candidate refinement
WO2023241347A1 (en) Adaptive regions for decoder-side intra mode derivation and prediction
WO2024016955A1 (en) Out-of-boundary check in video coding
WO2023197998A1 (en) Extended block partition types for video coding
WO2024037641A1 (en) Out-of-boundary reference block handling
TW202402054A (zh) 用於候選清單的相似性閾值
TW202406348A (zh) 視訊編解碼方法及其裝置