TW202415075A - 基於區域的隱式幀內模式推導和預測 - Google Patents

基於區域的隱式幀內模式推導和預測 Download PDF

Info

Publication number
TW202415075A
TW202415075A TW112113849A TW112113849A TW202415075A TW 202415075 A TW202415075 A TW 202415075A TW 112113849 A TW112113849 A TW 112113849A TW 112113849 A TW112113849 A TW 112113849A TW 202415075 A TW202415075 A TW 202415075A
Authority
TW
Taiwan
Prior art keywords
intra
frame prediction
block
current block
prediction mode
Prior art date
Application number
TW112113849A
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 TW202415075A publication Critical patent/TW202415075A/zh

Links

Abstract

提供了一種用於隱式導出基於區域的幀內預測的方法。視訊編解碼器接收要編碼或解碼為視訊的當前圖片的當前塊的像素塊的資料。視訊編解碼器在當前圖片的已重建像素之中識別當前塊的上方模板區域和左側模板區域。視訊編解碼器基於上方模板區域導出第一幀內預測模式,並且基於左側模板區域導出第二幀內預測模式。視訊編解碼器基於第一和第二幀內預測模式生成當前塊的第一和第二預測子。視訊編解碼器通過使用第一預測子和第二預測子對當前塊進行編碼或解碼以重建當前塊。

Description

基於區域的隱式幀內模式推導和預測
本發明有關於視訊編解碼。更具體而言,本發明有關於幀內模式預測。
除非本文另外指出,本節中描述的方法不是後面列出的申請專利范圍的先前技術並且不被承認為包含在本節中的先前技術。
高效視訊編解碼(High-Efficiency Video Coding,簡寫為HEVC)是由視訊編解碼聯合協作組(JCT-VC)開發的國際視訊編解碼標準。HEVC 基於混合的基於塊的運動補償的類 DCT 變換編解碼架構。壓縮的基本單元稱為編解碼單元 (CU),是一個 2Nx2N 的像素方形塊,每個 CU 可以遞歸地分割為四個較小的 CU,直到達到預定義的最小尺寸。每個 CU 包含一個或多個預測單元 (PU)。
通用視訊編解碼(versatile video coding,簡寫為VVC)是由ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的聯合視訊專家組(JVET)制定的最新國際視訊編解碼標準。輸入視訊信號是根據重建的信號預測的,重建的信號是從編碼的圖像區域導出的。通過塊變換來處理預測殘差信號。變換係數與位元流中的其他輔助資訊(side  infomation)一起被量化和熵編碼。重建的信號是根據預測信號和對去量化變換係數進行逆變換之後的重建的殘差信號生成的。通過環路濾波進一步處理重建的信號以消除編解碼偽影。解碼後的圖片存儲在幀緩衝器中,用於預測輸入視訊信號中的未來圖片。
在VVC中,編碼圖片被劃分為由相關聯的編解碼樹單元(CTU)表示的非重疊方形塊區域。編解碼樹的葉節點對應於編解碼單元(CU)。編碼圖片可以由片的集合來表示,每個片包含整數個CTU。切片中的各個 CTU 按光柵掃描順序進行處理。可以使用幀內預測或具有至多兩個運動向量和參考索引的幀間預測來對雙向預測(bi-predictive,簡寫為B)切片進行解碼,以預測每個塊的樣本值。使用幀內預測或具有至多一個運動向量和參考索引的幀間預測對預測(predictive,簡寫為P)切片進行解碼,以預測每個塊的樣本值。僅使用幀內預測對幀內 (intra,簡寫為I) 切片進行解碼。
可以使用具有嵌套多類型樹(MTT)結構的四叉樹(QT)將CTU劃分為一個或多個非重疊編解碼單元(CU),以適應各種局部運動和紋理特性。可以使用五種分割類型之一將CU進一步分割成更小的CU:四叉樹分割、垂直二叉樹分割、水平二叉樹分割、垂直中心側三叉樹分割、水平中心側三叉樹分割。
每個CU包含一個或多個預測單元(PU)。預測單元與相關聯的 CU 語法一起用作用於傳訊預測子資訊的基本單元。採用指定的預測過程來預測 PU 內相關像素樣本的值。每個CU可以包含一個或多個用於表示預測殘差塊的變換單元(TU)。變換單元(TU)由亮度樣本的變換塊(TB)和色度樣本的兩個相應的變換塊組成,並且每個TB對應於來自一種顏色分量的樣本的一個殘差塊。將整數變換應用於變換塊。量化係數的級別值(level value)與其他輔助資訊一起在位元流中進行熵編解碼。術語編解碼樹塊 (CTB)、編解碼塊 (CB)、預測塊 (PB) 和變換塊 (TB) 被定義為指定分別與 CTU、CU、PU和TU相關聯的一種顏色分量的 2-D 樣本數組。因此,一個 CTU 由一個亮度 CTB、兩個色度 CTB 以及關聯的語法元素組成。類似的關係對於 CU、PU 和 TU 也有效。
對於每個幀間預測的CU,由運動向量、參考圖片索引和參考圖片列表使用索引組成的運動參數以及附加資訊被用於幀間預測的樣本生成。可以以顯式或隱式方式傳訊運動參數。當使用跳躍(skip)模式對CU進行編解碼時,該CU與一個PU相關聯並且沒有顯著的殘差係數(significant residual coefficient)、沒有編解碼的運動矢量增量或參考圖片索引。指定合併模式,由此從相鄰 CU 獲得當前 CU 的運動參數,包括空間和時間候選以及 VVC 中引入的附加調度。合併模式可以應用於任何幀間預測的CU。合併模式的替代方案是運動參數的顯式傳輸,其中運動矢量、每個參考圖片列表的相應參考圖片索引和參考圖片列表使用標記以及其他所需資訊是針對每個CU顯式地傳訊的。
以下概述僅是說明性的並且不旨在以任何方式進行限制。即,提供以下概述來介紹本文描述的新穎且非顯而易見的技術的概念、亮點、益處和優點。下面在詳細描述中進一步描述選擇的而非所有的實現方式。因此,以下概述並不旨在識別所要求保護的主題的基本特徵,也不旨在用於確定所要求保護的主題的範圍。
本公開的一些實施例提供了用於隱式導出基於區域的幀內預測的方法。視訊編解碼器接收要編碼或解碼為視訊的當前圖片的當前塊的像素塊的資料。視訊編解碼器在當前圖片的已重建像素之中識別當前塊的上方模板區域和左側模板區域。視訊編解碼器基於上方模板區域導出第一幀內預測模式,並且基於左側模板區域導出第二幀內預測模式。視訊編解碼器基於第一和第二幀內預測模式生成當前塊的第一和第二預測子。視訊編解碼器通過使用第一預測子和第二預測子對當前塊進行編碼或解碼以重建當前塊。
在一些實施例中,通過基於模板的幀內模式導出(TIMD)過程基於候選幀內預測模式的成本來識別第一和第二幀內預測模式。基於上方模板區域的重建樣本和上方模板區域的預測樣本來計算第一幀內預測模式的候選的成本,其中上方模板區域的預測樣本是通過使用第一幀內預測模式的候選識別的參考樣本生成的。基於左側模板區域的重建樣本和左側模板區域的預測樣本來計算第二幀內預測模式的候選的成本,其中左側模板區域的預測樣本是通過使用第二幀內預測模式的候選識別的參考樣本來生成的。從包括上方模板區域上方的區域、左側模板區域左側的區域、或者上方和左側模板區域的上方和左側的區域的參考區域中識別參考樣本。
在一些實施例中,第一和第二幀內預測模式由解碼器側幀內模式推導(DIMD)過程基於不同幀內預測角度的梯度直方圖(HoG)來識別。 具體地,基於沿著上方模板區域的不同像素位置處的梯度幅值的第一HoG來識別第一幀內預測模式,並且基於沿左側模板區域的不同像素位置處的梯度幅值的第二HoG來識別第二幀內預測模式。
在一些實施例中,解碼器通過混合第一預測子和第二預測子來生成當前塊的組合的幀內預測,並且使用組合的幀內預測來重建當前塊。在一些實施例中,組合預測是第一和第二預測子的加權和,其中分配給第一和第二預測子的權重值是基於距上方模板區域和距左側模板區域的距離來確定的。
在一些實施例中,從角度和偏移參數導出的幾何定位的直線將當前塊劃分成第一分區和第二分區。第一預測子用於重建第一分區,第二預測子用於重建第二分區,其中沿著第一分區和第二分區之間的邊界的樣本通過使用組合的幀內預測來重建。
在一些實施例中,當前塊是較大塊的多個子塊中的第一個子塊,並且上方模板區域是較大塊上方的多個子模板中的一個子模板, 左側模板區域是該較大塊左側的多個子模板中的一個子模板。在一些實施例中,使用混合預測來重建沿著第一子塊和第二子塊之間的邊界的樣本,該混合預測是(i)當前塊的組合的幀內預測和(ii) 使用第二子塊的幀內預測模式生成的當前塊的幀內預測或者第二子塊的幀內預測的加權和,其中,該第二子塊是與第一子塊(當前塊)相鄰的,其中該第二子塊的該幀內預測是從第三和第四幀內預測模式導出的,該第三和第四幀內預測模式不同於該第一和第二幀內預測模式。
在下面的詳細描述中,通過示例闡述了許多具體細節,以便提供對相關教導的透徹理解。基於本文描述的教導的任何變化、派生和/或擴展都在本公開的保護範圍內。在一些情況下,與本文公開的一個或多個示例實現相關的眾所周知的方法、過程、組件和/或電路可以在相對高的水平上描述而沒有細節,以避免不必要地模糊本公開的教導的各方面 。 I. 幀內預測
幀內預測方法利用與當前預測單元(PU)相鄰的一個參考層(reference tier)和一種幀內預測模式來生成當前PU的預測子。幀內預測方向可以在包含多個預測方向(角度)和/或多個非角度預測模式(例如DC模式和平面模式)的模式集中選擇。對於通過幀內預測編解碼的每個PU,將使用一個索引並對其進行編碼以選擇幀內預測模式之一。將生成相應的預測,然後可以導出和變換殘差。
第1圖示出了不同方向的幀內預測模式。這些幀內預測模式稱為方向模式,不包括 DC 模式或平面模式(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。這樣的幀內預測模式中的每一個也可以被稱為幀內預測角度。為了捕捉自然視訊中呈現的任意邊緣方向,方向(directional)幀內模式的數量可以從HEVC中使用的33個方向模式擴展到65個方向模式,使得k的範圍從±1到±16。這些更密集的方向幀內預測模式適用於所有塊大小以及亮度和色度幀內預測。通過包括 DC 和 平面模式,幀內預測模式的數量為 35(或 67)。
在35(或67)個幀內預測模式中,3個模式被認為是用於預測當前預測塊中的幀內預測模式的最可能模式(most probable modes,簡寫為MPM)。這三種模式被選為 MPM 集。例如,在左預測塊中使用的幀內預測模式和在上方預測塊中使用的幀內預測模式被用作MPM。當兩個相鄰塊的幀內預測模式使用相同的幀內預測模式時,該幀內預測模式可以用作MPM。當兩個相鄰塊中只有一個可用並且以方向模式編解碼時,緊鄰該方向模式的兩個相鄰方向可以用作MPM。DC模式和平面模式也被視為 MPM,以填充 MPM 集中的可用點,特別是如果上方或頂部相鄰塊不可用或未使用幀內預測編解碼,或者如果相鄰塊中的幀內預測模式不是方向模式。如果當前預測塊的幀內預測模式是MPM集中的模式之一,則使用1或2位元來傳訊它是哪一種。否則,當前塊的幀內預測模式與MPM集合中的任何條目(entry)都不相同,並且當前塊將被編解碼為非MPM(non-MPM)模式。總共有 32 種這樣的非 MPM 模式,並且應用(5 位元)固定長度編解碼方法來傳訊該模式。 II. 解碼器端幀內模式導出 (Decoder-Side Intra Mode Derivation ,簡寫為 DIMD)
解碼器端幀內模式導出 (DIMD) 是一種從塊的重建的相鄰樣本(模板)導出出兩個幀內預測模式/角度/方向的技術,並且這兩個預測子與具有從梯度導出的權重的平面模式預測子相結合。DIMD 模式用作替代預測模式,並且始終在高複雜性 RDO 模式下進行檢查。為了隱式導出塊的幀內預測模式,在編碼器和解碼器側都執行紋理梯度分析。該過程從具有 65 個條目的空梯度直方圖 (Histogram of Gradient,簡寫為HoG) 開始,對應於 65 個角度/方向幀內預測模式。這些條目的幅度是在紋理梯度分析期間確定的。
執行DIMD的視訊編解碼器執行以下步驟:在第一步中,視訊編解碼器分別從當前塊的左側和上方挑選T=3列和行的模板。該區域用作基於梯度的幀內預測模式導出的參考。第二步,將水平和垂直 Sobel 濾波器應用於所有 3×3 窗口位置,以模板中線的像素為中心。在每個窗口位置,Sobel 濾波器將純水平和垂直方向的強度分別計算為 。然後,窗口的紋理角度計算如下:
其可以被轉換成65種角度幀內預測模式之一。一旦當前窗口的幀內預測模式索引被導出為 idx,HoG[ idx] 中其條目的幅度將通過加法更新:
第2圖示出了使用解碼器側幀內模式導出(DIMD)來隱式導出當前塊的幀內預測模式。該圖示出了示例梯度直方圖(HoG)210,其是在對當前塊200周圍的模板215中的所有像素位置應用上述操作之後計算的。一旦計算出HoG,兩個最高直方圖條的索引(M 1和M 2)被選擇為該塊的兩個隱式導出的幀內預測模式(intra prediction mode,簡寫為IPM)。兩個IPM的預測進一步與平面模式結合作為DIMD模式的預測。預測融合應用為上述三個預測子(M 1預測、M 2預測和平面模式預測)的加權平均值。為此,平面的權重可以設置為 21/64 (~1/3)。然後,剩餘的權重 43/64 (~2/3) 在兩個 HoG IPM 之間分配,與其 HoG 條的幅度成比例。DIMD 的預測融合(prediction fusion)或組合的預測(combined prediction)可以是: Pred DIMD= (43*(w1* pred M1+ w2* pred M2) + 21* pred planar) >>6 w1 = amp M1/ (amp M1+amp M2) w2 = amp M2/ (amp M1+amp M2)
另外,將兩種隱式導出的幀內預測模式添加到最可能模式(MPM)列表中,因此在構建MPM列表之前執行DIMD過程。DIMD 塊的主要導出的幀內模式(primary derived intra mode)與塊一起存儲,並用於鄰近塊的 MPM 列表構建。 III. 基於模板的幀內模式導出 ( Template-based Intra Mode Derivation ,簡寫為 TIMD)
基於模板的幀內模式導出(TIMD)是一種編解碼方法,其中通過使用編碼器和解碼器處的鄰近模板來隱式導出CU的幀內預測模式,而不是編碼器給解碼器傳訊準確的幀內預測模式。
第3圖示出了使用基於模板的幀內模式導出(TIMD)來隱式地導出當前塊300的幀內預測模式。如圖所示,當前塊300的鄰域像素被用作模板310。對於每個候選模式,使用位於模板310上方和左側的參考區域中的參考樣本320來生成模板310的預測樣本。基於模板的預測樣本和重建樣本之間的差(例如,SATD)來計算成本。選擇成本最小的幀內預測模式(作為DIMD模式中直方圖最大的幀內預測模式)用於CU的幀內預測。候選模式可以包括67種幀內預測模式(如在VVC中)或者擴展到131種幀內預測模式。MPM可以用於指示CU的方向資訊。因此,為了減少幀內模式搜索空間並利用CU的特性,幀內預測模式是從MPM列表隱式導出的。即,候選模式包括MPM列表的全部或任意子集。
對於MPM中的每個幀內預測模式,計算模板的預測樣本和重建樣本之間的SATD。選擇具有最小SATD的前兩種幀內預測模式作為TIMD模式。這兩種TIMD模式在應用PDPC過程後與權重融合,並且這種加權的幀內預測用於對當前CU進行編解碼。位置相關幀內預測組合 (Position dependent intra prediction combination,簡寫為PDPC) 包含在 TIMD 模式的導出中。當生成對候選模式的模板的預測時,可以簡化預測生成過程。例如,在預測生成過程中使用的參考樣本沒有通過諸如[1,2,1]濾波的參考樣本濾波過程進行濾波。又例如,用於從非整數位置生成預測樣本的插值濾波器被預定義為僅一個插值濾波器,例如三次插值濾波(cubic interpolation filtering)。又例如,僅當當前塊具有大於預定義閾值的塊尺寸(塊寬度和/或高度)時,在預測生成過程中應用PDPC。
將兩個選定模式(模式1和模式2)的成本與閾值進行比較,在測試中,按如下方式應用成本因子2: costMode2 < 2*costMode1
如果該條件為真,則應用預測融合,否則僅使用模式1。模式的權重根據其 SATD 成本計算如下: weight1 = costMode2/(costMode1+ costMode2) weight2 = 1 - weight1 IV. 改善 DIMD/TIMD 預測性能
本公開的一些實施例提供了一種提高TIMD/DIMD預測精度或編解碼性能的方法。當使用TIMD/DIMD導出當前塊的一個或多個幀內預測模式時,候選幀內預測模式可以包括在部分I(幀內預測)中指定的幀內預測模式的全部、任何子集或任何擴展。例如,候選幀內預測模式僅包括或至少包括MPM或MPM的任意子集。又例如,候選幀內預測模式僅包括或至少包括DC模式、平面模式、水平模式、垂直模式、對角線模式和/或上述的任意子集。又例如,候選幀內預測模式僅包括或至少包括被非正方形塊所允許的WAIP模式(例如(塊寬度除以塊高度)等於2、(塊寬度除以塊高度)等於4、(塊寬度除以塊高度)等於1/2,或者(塊寬度除以塊高度)等於1/4)。在一種情況下,當當前塊是非正方形塊時,將WAIP模式添加到候選幀內預測模式中。在另一種情況下,根據對當前塊的右上和/或左下參考樣本和/或當前塊的模板的可用性的檢查,將WAIP模式添加到候選幀內預測模式中。如果右上參考樣本的檢查合格,則將(塊寬度除以塊高度)等於K1的塊的WAIP模式添加到TIMD搜索中,其中K1是大於1的預定義的正整數 。當VVC中的幀內預測模式為67種幀內預測模式時,新增的WAIP模式的模式編號大於67種幀內預測模式中最大角度模式編號66。 如果左下參考樣本的檢查合格,則將(塊寬度除以塊高度)等於1/K2的塊的WAIP模式添加到 TIMD 搜索,其中K2是大於1的預定義的正整數 。 當VVC中的幀內預測模式為67種幀內預測模式時,增加的WAIP模式的模式編號小於67種幀內預測模式中最小角度模式編號2或模式編號0。K1和K2分別是根據右上參考樣本和左下參考樣本的可用情況預先定義的。
A. 子塊 DIMD/TIMD
在一些實施例中,應用垂直或水平分割來將塊劃分為子塊,並且應用DIMD/TIMD來導出每個子塊的幀內預測角度或模式。在一些實施例中,當將一個塊劃分為子塊用於TIMD和/或DIMD時,可以使用幀內子分區(intra sub-partitions,簡寫為ISP)的分割方法 (取決於塊大小,ISP模式將亮度幀內預測塊垂直或水平地劃分為2或4個子分區)。
在一些實施例中,當使用TIMD和/或DIMD來導出子塊的幀內預測模式時,當前子塊的空間上相鄰的參考L形狀(上方和左方的鄰近重建樣本)被用作TIMD/DIMD的模板。在一些實施例中,每個子塊的幀內預測模式可以根據每個子塊的TIMD/DIMD導出結果而不同。在一些實施例中,收集每個子塊的幀內預測模式,並且特定區域中最多子塊使用(例如,投票)的幀內預測模式可以是整個塊的幀內預測模式。
B. 多區域 DIMD/TIMD
根據DIMD和TIMD,當前塊的預定義模板(鄰近區域)用於確定幀內預測模式。在一些實施例中,預定義模板被分成多個模板區域。對於每個模板區域,應用DIMD/TIMD導出操作來確定推薦的幀內預測模式。在一些實施例中,當前塊被分割成多個塊區域。通過應用DIMD/TIMD導出過程可以針對不同的塊區域導出不同的幀內預測模式。導出的不同幀內預測模式可以是具有最小TIMD成本或具有最高DIMD直方圖條的幀內預測模式。
在一些實施例中,為了將模板分割或劃分成多個模板區域(模板部分)或者將當前塊分割或分割成多個塊區域,應用基於角度的分割。第4圖示出了將當前塊基於角度分割成多個塊區域以應用DIMD/TIMD導出過程。該圖示出了當前塊400被分割線1和分割線2分割成多個塊區域421-423。該圖還示出了當前塊400的模板410被沿著相同的分割線1和2分割成多個模板部分431-434。模板部分432可以用於塊區域421以通過使用TIMD或DIMD來獲得幀內預測模式。模板部分431和433可以用於塊區域422以通過使用TIMD/DIMD來獲得幀內預測模式。模板部分434可以用於塊區域423以通過使用TIMD/DIMD來獲得幀內預測模式。在一些實施例中,基於角度的分割中使用的角度被設置為具有較小TIMD成本(或具有較高DIMD直方圖條)的角度。
在一些實施例中,當前塊的預測是通過混合來自兩個不同幀內預測模式(例如,兩個不同角度或來自DC模式、平面模式和/或角度的兩個不同幀內預測模式)的預測的組合預測,這兩個不同幀內預測模式是通過在兩個不同的模板區域上應用 TIMD/DIMD 導出過程而導出的。第5A-B圖概念性地示出了從兩個不同的模板區域導出兩種不同的幀內預測模式(例如,兩種不同的角度或來自DC模式、平面模式和/或角度的兩種不同的幀內預測模式)。在一些情況下,組合預測不被用作當前塊的預測。在一種情況下,兩種幀內預測模式相同。在另一種情況下,左側的模板區域或頂部的模板區域不可用。在這種情況下,當前塊的預測來自左側或頂部的可用模板區域。
如圖所示,當前塊500具有被劃分為頂部模板區域511和左側模板區域512的模板510。通過TIMD/DIMD從頂部模板區域511導出第一幀內預測角度或模式( 表示為角度1或ModeA),並且通過TIMD/DIMD導出過程從左側模板區域512導出第二幀內預測角度或模式是(表示為角度2或ModeL)。然後,將通過使用ModeA對當前塊的預測和通過使用ModeL對當前塊的預測利用加權混合以產生對當前塊的最終組合的預測。
第5A圖概念性地示出了使用TIMD導出過程來導出兩種幀內預測模式。兩種幀內預測模式都是基於位於模板510頂部和左側的參考樣本520來確定的。ModeA幀內預測模式是基於頂部模板區域511和參考樣本520的全部或任何子集來確定的,而ModeL幀內預測模式是基於左側模板區域512和參考樣本520的所有或任何子集來確定的。為了確定ModeA,對於每個候選幀內預測模式,基於模板511的預測(通過使用候選幀內預測模式以及參考樣本520的全部或任何子集)和模板511的重建樣本之間的差(例如,SATD)來計算成本。候選幀內預測模式可以僅包括角度、僅非角度模式(DC模式和/或平面模式),或者上述模式的全部或任何子集。選擇具有最小(最低)成本的候選幀內預測模式/角度作為ModeA。為了確定ModeL,對於每個候選幀內預測模式,基於模板511的預測(通過使用候選幀內預測模式以及參考樣本520的全部或任何子集)和模板512的重建樣本之間的差(例如,SATD)來計算成本。候選幀內預測模式可以僅包括角度、僅包括非角度模式(DC模式和/或平面模式)、或者上述模式的全部或任何子集。選擇具有最小(最低)成本的候選幀內預測模式/角度作為ModeL。用於生成對模板511和/或512的預測的參考樣本可以被稱為參考樣本520。以另一種方式,用於生成對模板511的預測的參考樣本可以是空間上與對應的模板511相鄰的參考樣本,並且 /或用於生成對模板512的預測的參考樣本可以是空間上與對應模板512相鄰的參考樣本。
第5B圖概念性地示出了使用DIMD導出過程來導出兩種幀內預測模式。兩種幀內預測模式都是通過識別不同幀內預測角度的梯度直方圖(HoG)中最高的條來確定的。具體地,通過使用沿著頂部模板區域511的像素位置計算的梯度幅度的HoG 531來識別ModeA幀內預測角度,而通過使用沿著左側模板區域512的像素位置計算的梯度幅度的HoG 532來識別ModeL幀內預測角度。
第6圖概念性地示出了來自從頂部模板區域和左側模板區域導出的兩種不同幀內模式(ModeA和ModeL)的兩個幀內預測預測子的混合。該圖示出了當前塊500的兩個幀內預測的混合。如圖所示,當前塊500被劃分為ModeA預測區域541和ModeL預測區域542。跨越ModeA預測區域541和ModelL預測區域542之間的邊界或邊緣的像素可以通過加權方案來混合。兩個幀內預測區域的劃分和混合可以類似於幾何分割模式(GPM)、組合的幀間/幀內預測(CIIP)模式、具有CU級別權重的雙向預測(BCW)模式或另一類型的分割/或混合方案。
在一些實施例中,當前塊500可以通過從角度和偏移參數以數學方式導出的幾何定位的直線以類似GPM的方式被分成兩個分區。一個幾何分區通過ModeA幀內預測模式進行預測,另一幾何分區通過ModeL幀內預測模式進行預測。CU 每個位置的混合權重是根據各個樣本位置與分區邊界之間的距離得出的。
在一些實施例中,當前塊500可以不被分割成兩個分區。相反,ModeA和ModeL兩者都被用來生成整個塊500的兩個幀內預測 P ModeA P ModeL 。在一些實施例中,兩個幀內預測信號 P ModeA P ModeL 可以根據下式被組合或混合成整個塊的組合預測P: P(x,y) = (w modeA(x,y) * P modeA(x,y)+ w modeL(x,y) * P modeL(x,y) + 32) >> 6
基於其與上方模板區域511和左側模板區域512的距離,當前塊中的每個位置(x,y)處的預測(x從0到塊寬度-1並且y從0到塊高度-1)被分配權重值w modeA(x,y)和w modeL(x,y)。在一些實施例中,當樣本(x,y)靠近上方模板區域511時, w modeA(x,y) 被分配較大的值; 當樣本(x,y)靠近左側模板區域512時,w modeL(x,y)被分配較大的值。偏移值32和右移值6取決於權重值。偏移值是每個預測的權重值總和的一半。右移值是每個預測的權重值總和的 log2 數(log2 number)。當權重值的總和等於64時,32和6偏移值的示例值和右移值的示例值。本發明不僅限於該示例。這種基於位置的加權方案的示例指定:(W和H指塊的寬度和高度,以像素/樣本為單位)
在一些實施例中,兩個幀內預測信號 P ModeA P ModeL 可以以類似CIIP的方式組合,以根據下式使用加權平均來生成幀內預測 P
其中,權重值 wt根據頂部和左側鄰近塊的編解碼模式計算。例如,如果僅對左鄰近塊進行幀內編解碼,則 wt可以為3; 如果左側和上方鄰近塊都被幀內編解碼,則 wt可以為2; 如果僅對上方鄰近塊進行幀內編解碼,則 wt可以為1。
在一些實施例中,兩個幀內預測信號 P ModeA P ModeL 可以根據下式使用加權平均以類似BCW的方式組合:
權重因子 w可以從一組允許的數字中選擇,例如{-2,3,4,5,10}或{3,4,5}。可以使用權重索引來表示該選擇。可以基於合併候選索引從鄰近塊推斷權重索引。
在一些實施例中,應用基於樣本或基於區域的分割來將模板或當前塊分割(劃分)為多個模板區域或多個塊區域。例如,由特定模板區域導出的幀內預測模式/角度被應用於特定塊區域。
在一些實施例中,塊被分割成多個網格(區域),並且對於每個網格,通過使用DIMD和/或TIMD導出過程,使用相應的L形模板(鄰近重建樣本)來導出網格的幀內預測模式。
第7圖概念性地示出了被劃分為網格的塊700以及針對不同網格導出的不同幀內預測模式。如圖所示,塊700被劃分為grid 11、grid 21、grid 12、grid 22。塊700上方和左側的L形區域被劃分為模板區域A 1、A 2、L 1、L 2。參考第5A-B圖描述的TIMD/DIMD過程可以用於導出每個網格的ModeA和ModeL幀內預測模式/角度。用於在每個模板區域上生成預測的參考樣本可以被稱為參考樣本520。即,不同的模板區域共享參考樣本520,並且分別在模板區域上計算不同模板區域的成本。換句話說,用於對每個模板區域生成預測的參考樣本可以是與每個對應的模板區域空間上相鄰的參考樣本。ModeA i是在A i上具有最小SATD的模式(例如,ModeA 1、ModeA 2),而ModeL i是在L i上具有最小SATD的模式(例如,ModeL 1、ModeL 2)。因此,模板區域A 1用於導出ModeA 1,模板區域A 2用於導出ModeA 2,模板區域L 1用於導出ModeL 1,模板區域L 2用於導出ModeL 2。這是將當前塊劃分為4個網格的示例。本發明不僅限於該示例。又例如,僅劃分上方模板區域。又例如,僅劃分左側模板區域。又例如,當當前塊的塊寬度大於預定義閾值(例如2、4、16或標準中指定的或位元流中傳訊的任何大於1的正整數)時,上方模板區域分為N1個子區域。N1 固定為預定義的數字(例如 2、4 或標準中指定的或位元流中傳訊的任何大於 1 的正整數)。當當前塊的塊高度大於預定義閾值(例如2、4或標準中指定的或位元流中傳訊的任何大於1的正整數)時,左側模板區域被劃分為N2個子區域。N2 固定為預定義的數字(例如,2、4 或標準中指定的或位元流中傳訊的任何大於 1 的正整數)。N1和N2可以相同或不同。當前塊按照模板上的劃分進行劃分。在第7圖的例子中,N1和N2等於2。
對於每個grid ij,相應的ModeAi和ModeLj幀內預測根據以下公式在當前塊中的位置(x,y) (x從0到塊寬度-1並且y從0到塊高度-1)或當前網格中的位置(x,y) (x 從 0 到網格寬度-1,y從 0 到網格高度-1)處進行組合/混合: P(x,y) = (w modeAi(x,y) * P modeAi(x,y)+ w modeLj(x,y) * P modeLj(x,y) + 32) >> 6
因此,對於grid 11,將ModeA 1和ModeL 1的幀內預測結合起來; 對於grid 21,結合了ModeA 2和ModeL 1的幀內預測; 對於grid 12, ModeA 1和ModeL 2的幀內預測,對於grid 22;結合 ModeA 2和ModeL 2的幀內預測。
由於不同的幀內預測模式可以應用於當前塊內的不同網格,所以一些實施例沿著網格邊界應用混合。第8圖示出了沿著網格邊界混合不同的幀內預測。如圖所示,塊700的grid 11可以被劃分為四個分量811、812、821和822。分量811遠離與其他網格的邊界/邊緣,因此不混合。分量812位於grid 12的邊界處,因此與(1)通過使用grid 12的幀內預測模式為當前網格(grid 11)生成的幀內預測或(2) grid 12的幀內預測混合。顯示了 (1) 的示例。分量812的混合預測(blended prediction)為: P(x, y) = (48*(來自ModeA 1和ModeL 1的混合prediction(x, y)) + 16*(來自ModeA 1和ModeL 2的混合prediction(x, y)) +32) >> 6
分量821位於grid 21的邊界處,因此與(1)通過使用grid 21的幀內預測模式為當前網格(grid 11)生成的幀內預測或(2) grid 21的幀內預測混合。顯示了 (1) 的示例。分量821的混合預測為: P(x, y) = (48*(來自ModeA 1和ModeL 1的混合prediction(x, y)) + 16*(來自ModeA 2和ModeL 1的混合prediction(x, y)) +32) >> 6
分量822位於grid 21和grid 12的邊界處,因此與(1)通過使用grid 21和grid 12兩者的幀內預測模式為當前網格生成的幀內預測或(2) grid 21和grid 12兩者的幀內預測混合。顯示了 (1) 的示例。分量822的混合預測如下: P(x, y) = (32*(來自ModeA 1和ModeL 1的混合prediction(x, y)) +16*(來自ModeA 2和ModeL 1的混合prediction(x, y)) +16*(來自ModeA 1和ModeL 2的混合prediction(x, y)) +32) >> 6
在一些實施例中,不沿著當前塊的頂部和/或左邊界定位的網格可以從它們的相鄰網格繼承它們的幀內預測模式。因此,例如,grid 21可以從grid 11繼承幀內預測模式,並且grid 22可以從grid 12和grid 21繼承幀內預測模式。
C.   k 用於不規則劃分的模板和塊的 DIMD/TIMD
在一些實施例中,在諸如GPM分割之類的不規則劃分之後,模板或當前塊可以被分割成多個模板區域或多個塊區域。第9圖示出了通過不規則分區對模板和/或當前塊的分割。如圖所示,當前塊900的模板905通過使用GPM分割被分割成多個模板區域(或模板部分)911-914。相同的GPM分割還將當前塊900劃分為對應的多個塊區域921-923。來自模板部分911(或913)的幀內預測角度、來自模板部分912的幀內預測角度和來自部分914的幀內預測角度被分別應用於對應的塊區域921、922和923以得到它們自己的預測。當前整個塊900的最終預測是通過混合多個塊區域的多個預測來形成的。在一些實施例中,根據GPM的權重來執行混合。
在一些實施例中,大塊可以用QT隱式地劃分,並且然後每個QT葉子塊可以具有其自己的幀內預測模式。在一些實施例中,當當前塊包含多個塊區域時,每個塊區域可以具有其自己的幀內預測模式和其自己的變換模式(聯合變換(union transform)可能存在分佈問題,因為分割多個塊區域會導致基於子塊的分佈。)。如果每個子塊都有自己的變換模式,則每個子塊可以被視為單獨的變換塊(TB)。在一些實施例中,為了避免用於變換的子TB開銷,可以使用合併的變換塊(merged-transform-block)。合併的變換塊將在下面的第 IV-F 節中進一步描述。
D. 基於鄰近的( n eighbor-based DIMD/TIMD
在一些實施例中,為了應用DIMD/TIMD的目的,大塊或者其長邊遠大於其短邊的塊可以被分割成多個子塊。對於每個這樣的子塊,默認模式被初始化為鄰近幀內預測模式。然後使用 TIMD/DIMD 細化默認模式。
第10圖示出了將DIMD/TIMD應用於大塊的子塊。如圖所示,作為當前塊的具有4:1縱橫比的大塊1000通過垂直分割被分割成兩個子塊1010和1020。對於左子塊1010,幀內預測角度A繼承自靠近左子塊1010的左側和頂部邊界的一個或多個鄰近1011-1013。對於右子塊1020,幀內預測角度B繼承自接近頂部邊界的一個或多個鄰近1021。TIMD/DIMD可用於細化幀內預測角度A。例如,在TIMD導出過程中嘗試的候選模式包括角度A或角度A的相鄰模式(角度A的+n到-n模式(+n through –n modes),其中n可以是任何正整數)。TIMD/DIMD 也可用於細化幀內預測角度 B。例如,在 TIMD 導出過程中嘗試的候選模式包括角度 B 或角度 B 的相鄰模式(角度 B 的 +n 到 –n 模式,其中 n 可以是任何正整數)。
E. 具有搜索範圍的基於子塊的 TIMD
在一些實施例中,基於為預定義搜索範圍中的子塊選擇的幀內預測模式來為當前塊選擇幀內預測模式。第11圖示出了當前塊1100,其幀內預測模式是基於預定義範圍1110中的子塊模板1121-1123的幀內預測模式來確定的。在一些實施例中,具有最小TIMD成本或具有最高DIMD直方圖條的幀內預測模式被識別並選擇為預定義搜索範圍1110中的某個(或每個)子塊模板的幀內預測模式。在一些實施例中,一個或多個選擇的幀內預測模式用於當前塊,其中選擇的幀內預測模式是由預定義搜索範圍1110中最多子塊模板選擇或識別的那些。
在一些實施例中,如果預定義搜索範圍1110中的子塊模板1121-1123推薦非常不同的幀內預測模式(這可能意味著當前塊周圍的紋理是複雜的),則平面預測與TIMD/DIMD預測混合 。當前塊的TIMD/DIMD預測可以是來自預定義搜索範圍中的每個子塊模板的一個或多個選擇的幀內預測模式的混合預測。在一些實施例中,混合權重取決於預定義搜索範圍中選擇該幀內預測模式的子塊的數量。在一些實施例中,混合權重可以取決於該模式的SATD成本。
F. 大塊的多種幀內預測模式
在一些實施例中,針對大塊使用多種幀內預測模式,以提高幀內預測的準確性,從而帶來編解碼增益。在一些實施例中,大塊被劃分為多個子塊,然後對於每個子塊,傳訊或解析幀內預測模式和/或變換模式。在一些實施例中,每個子塊具有其自己的變換模式,並且每個子塊可以被視為單獨的變換塊(TB)。
本公開的一些實施例提供了一種合併的變換塊方法以避免用於變換的TB開銷。合併的變換包括使用多個變換塊,並且合併變換塊內的每個變換塊使用統一的變換模式和/或共享相同的變換語法和/或共享相同的變換隱式規則。
在一些實施例中,為了避免子塊幀內預測角度語法開銷,DIMD/TIMD導出過程被用於通過對幀內預測模式的索引重新排序來減少語法開銷。DIMD/TIMD導出過程可用於選擇或推薦候選模式的優先級順序。在一些實施例中,對於DIMD,具有較高直方圖條的候選模式獲得較高的優先級順序,而對於TIMD,具有較小SATD成本的候選模式獲得較高的優先級順序。可以傳訊或解析基於優先級順序的候選模式。在一些實施例中,用最短碼字(codeword)來傳訊或解析具有最高優先級的候選模式。在一些實施例中,具有最高優先級的候選模式被推斷為當前子塊的所選模式。
第12圖示出了通過多個幀內預測模式和合併的變換塊對大塊進行的編解碼。如圖所示,當前塊1200是被劃分為四個子塊1211-1214的大塊。在編碼器側,為每個子塊確定幀內預測模式/角度(使用DIMD或TIMD)。基於四個子塊的幀內預測來計算四個子塊的殘差1220。對四個子塊的殘差進行變換,得到四個子塊的變換係數。四個子塊的變換係數被合併以形成一個合併的變換塊1230。
在解碼器側,對合併的變換塊1230進行逆變換以獲得殘差1220,殘差1220被分成四個子塊1211-1214。編碼器還使用重新排序的索引向解碼器傳訊一個幀內預測模式,以最小化碼字長度。該一個幀內預測模式用於基於子塊的殘差重建四個子塊中的第一個(第一子塊1211)。在第一子塊被重建並且可以用作第二子塊1212的鄰近模板的情況下,執行DIMD以確定第二子塊的幀內預測角度。然後使用幀內預測角度基於其殘差來重建第二子塊,依此類推,直到所有四個子塊都被重建。
G. 迭代 DIMD
由於DIMD使用當前塊的模板(鄰近樣本)來建議當前塊的幀內預測模式,因此更準確的模板可以建議當前塊的更合適的幀內預測模式。本公開的一些實施例提供了改進DIMD模板的迭代方法。為了執行迭代方法,解碼器(1)使用DIMD來導出第一幀內預測模式或角度; (2)採用第一幀內預測模式生成模板(當前塊的鄰近L形)的第一預測; (3)(可以或可以不)將殘差添加到第一預測中; (4)使用DIMD通過使用模板和第一預測(例如,通過使用模板和第一預測的加權平均)來導出第二幀內預測模式或角度。
在編碼器處,源資料用於獲得最準確的幀內預測角度(“angle_best”)。然後編碼器通過angle_best計算最終預測子,並使用最終預測子獲得最終殘差。然後編碼器執行迭代方法的步驟(1)-(4)以導出第二幀內預測模式。如果第二幀內預測模式(來自步驟4)與angle_best匹配,則該導出的第二幀內預測模式是有效的。如果第二幀內預測模式與angle_best不匹配,則編碼器將不選擇導出的第二幀內預測模式。
H.   DIMD 模式的反向子塊掃描( Reversed Subblock Scan
在一些實施例中,當塊被分成幾個子塊時,DIMD/TIMD過程可以按照相反的順序應用於每個子塊。第一子塊的模板區域比原始的大並且對於第一子塊可以是準確的。在一些實施例中,相反的順序是從右到左。第13圖示出了以相反順序應用於塊的子塊的DIMD/TIMD。該圖還顯示了應用 DIMD/TIMD 過程時用於每個子塊的模板。
在一些實施例中,上述任何方法或所提出的方法的任何組合可以應用於其他幀內模式(不限於TIMD/DIMD),例如正常幀內模式、WAIP(廣角幀內預測模式)、幀內角度模式、ISP、MIP 或 VVC/HEVC 中指定的任何幀內模式。可以根據隱式規則(例如,基於塊寬度、高度或面積)或根據顯式規則(例如,基於塊、圖塊、切片、圖片、SPS、 或 PPS 級別)啟用或禁用上述方法。例如,根據顯式的CU級別或CB級別標誌,支持上述多區域DIMD/TIMD作為DIMD/TIMD的可選模式。如果顯式標誌指示啟用,則上述多區域 DIMD / TIMD 將應用於當前塊。傳訊(例如傳訊的啟用條件或上下文選擇)可以取決於當前塊的編解碼資訊、塊寬度、塊高度、塊面積和/或當前塊的塊位置、編解碼資訊、塊寬度、塊高度、塊面積 ,和/或鄰近塊的編解碼資訊、塊寬度、塊高度、塊面積和/或當前塊的塊位置、編解碼資訊、塊寬度、塊高度、塊面積。僅當滿足顯式標誌的所有啟用條件時,才在位元流中傳訊/解析顯式標誌。啟用條件可以包括塊位置(cbX,cbY)不在邊界情況(boundary case)中。邊界情況是指(1)當前塊位於當前圖片、CTU、切片或圖塊的最左側和最頂部位置(0, 0)或(2)當前塊位於當前圖片、CTU、切片或圖塊的最左側或最頂部位置。cbX和cbY指的是當前圖片、CTU、切片或圖塊中的塊位置。啟用條件可以包括當前塊已經被選擇用TIMD/DIMD編解碼。又例如,根據隱式規則,支持上述多區域DIMD/TIMD作為DIMD/TIMD的替換模式。如果滿足隱式規則,則將上述多區域DIMD/TIMD應用於當前塊(如果當前塊是用TIMD/DIMD編解碼的)。隱式規則可以取決於當前塊的編解碼資訊、塊寬度、塊高度、塊面積和/或塊位置、鄰近塊的編解碼資訊、塊寬度、塊高度、塊面積和/或塊位置。對於隱式規則的示例,當塊寬度、高度和/或面積大於閾值(例如2、4、…、512、1024、最大變換塊大小或標準中指定的或位元流中指示的任何正整數)時,應用上述多區域DIMD/TIMD 。對於隱式規則的另一個示例,當塊位置不處於邊界情況時,應用上述多區域DIMD/TIMD。本公開中的術語“塊”可以指TU/TB、CU/CB、PU/PB、預定義區域或CTU/CTB。
可以應用本發明中所提出的方法的任何組合。任何前述提出的方法可以在編碼器和/或解碼器中實現。例如,任何所提出的方法可以在編碼器的幀間/幀內/預測模組和/或解碼器的幀間/幀內/預測模組中實現。或者,任何所提出的方法可以被實現為耦合到編碼器的幀間/幀內/預測模組和/或解碼器的幀間/幀內/預測模組的電路,以便提供幀間/幀內/預測模組所需的資訊。 V. 示例的視訊編碼器
第14圖示出了可以實施基於區域的隱式幀內預測的示例視訊編碼器1400。如圖所示,視訊編碼器 1400 從視訊源 1405 接收輸入視訊信號並將該信號編碼為位元流 1495。視訊編碼器 1400 具有用於對來自視訊源 1405 的信號進行編碼的若干組件或模組,至少包括選自以下的一些組件:變換模組1410、量化模組1411、逆量化模組1414、逆變換模組1415、圖片內估計模組1420、幀內預測模組1425、運動補償模組1430、運動估計模組1435、環路濾波器 1445、重建圖片緩衝器 1450、MV 緩衝器 1465、MV 預測模組 1475 和熵編碼器 1490。運動補償模組 1430 和運動估計模組 1435 是幀間預測模組 1440 的一部分。
在一些實施例中,模組1410-1490是由計算設備或電子設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1410-1490是由電子裝置的一個或多個集體電路(IC)實現的硬體電路模組。儘管模組1410-1490被示為單獨的模組,但是一些模組可以組合成單個模組。
視訊源1405提供原始視訊信號,該原始視訊信號在沒有壓縮的情況下呈現每個視訊幀的像素資料。減法器 1408 計算視訊源 1405 的原始視訊像素資料與來自運動補償模組 1430 或幀內預測模組 1425 的預測的像素資料 1413 之間的差異。變換模組 1410 將差異(或殘差像素資料或殘差信號1408)轉換成變換係數(例如,通過執行離散餘弦變換,或DCT)。量化模組1411將變換係數量化為量化的資料(或量化的係數)1412,其由熵編碼器1490編碼為位元流1495。
逆量化模組1414對量化的資料(或量化的係數)1412進行逆量化以獲得變換係數,逆變換模組1415對變換係數進行逆變換以產生重建的殘差1419。將重建的殘差1419與預測的像素資料1413相加,一起生成重建的像素資料1417。在一些實施例中,重建的像素資料1417被臨時存儲在行緩衝器(未示出)中用於幀內預測和空間MV預測。重建的像素由環路濾波器1445濾波並存儲在重建圖片緩衝器1450中。在一些實施例中,重建圖片緩衝器1450是視訊編碼器1400外部的記憶體。在一些實施例中,重建圖片緩衝器1450是視訊編碼器1400的內部記憶體。
圖片內估計模組1420基於重建的像素資料1417執行幀內預測以產生幀內預測資料。幀內預測資料被提供給熵編碼器1490以被編碼成位元流1495。幀內預測資料也被幀內預測模組1425用來產生預測的像素資料1413。
運動估計模組1435通過產生MV以參考存儲在重建圖片緩衝器1450中的先前解碼幀的像素資料來執行幀間預測。這些MV被提供給運動補償模組1430以產生預測的像素資料。
視訊編碼器1400不是在位元流中編碼完整的實際MV,而是使用MV預測來生成預測的MV,並且用於運動補償的MV與預測的MV之間的差異被編碼為殘差運動資料並存儲在位元流 1495中。
MV預測模組1475基於為編碼先前視訊幀而生成的參考MV,即用於執行運動補償的運動補償MV,生成預測的MV。MV預測模組1475從MV緩衝器1465中擷取來自先前視訊幀的參考MV。視訊編碼器1400將為當前視訊幀生成的MV存儲在MV緩衝器1465中作為用於生成預測的MV的參考MV。
MV預測模組1475使用參考MV來創建預測的MV。預測的 MV 可以通過空間 MV 預測或時間 MV 預測來計算。熵編碼器1490將當前幀的預測的MV和運動補償MV(MC MV)之間的差異(殘差運動資料)編碼到位元流1495中。
熵編碼器1490通過使用諸如上下文自適應二進制算術編解碼(CABAC)或霍夫曼編碼的熵編解碼技術將各種參數和資料編碼到位元流1495中。熵編碼器 1490 將各種報頭元素、標誌連同量化的變換係數 1412 和殘差運動資料作為句法元素編碼到位元流 1495 中。位元流 1495 又存儲在存儲設備中或通過諸如網路的通信媒介傳輸到解碼器。
環路濾波器1445對重建的像素資料1417執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本自適應偏移(SAO)。在一些實施例中,濾波操作包括自適應環路濾波(ALF)。
第15圖示出了視訊編碼器1400的實現基於區域的隱式幀內預測的部分。具體地,該圖示出了視訊編碼器1400的幀內預測模組1425的組件。如圖所示,幀內預測模組1425從重建圖片緩衝器1450擷取內容,重建圖片緩衝器1450提供來自當前塊附近的區域的重建的像素資料作為模板。
如圖所示,幀內預測模組1425包括上方幀內預測模組1510和左側幀內預測模組1520。上方幀內預測模組1510使用上方模板區域(例如,511)和/或當前塊的參考區域(例如,520)中的樣本以計算不同幀內預測模式的成本或累積不同幀內預測模式的HoG。基於存儲在ModeA成本/Hog記憶體1515中的成本或HoG,上方幀內預測模組1510識別TIMD或DIMD過程中的ModeA幀內預測模式。同樣,左側幀內預測模組1520使用當前塊的左側模板區域(例如,512)和/或參考區域(例如,520)中的樣本來計算成本或累積的HoG。基於存儲在ModelL成本/HoG記憶體1525中的成本或HoG,左側幀內預測模組1520識別TIMD或DIMD過程中的ModelL幀內預測模式。
幀內預測混合模組1530接收所識別的ModeA和ModeL幀內預測模式,並基於重建圖片緩衝器1450的內容生成對應的預測子。幀內預測混合模組1530將兩個預測子混合為加權和(weighted sum)作為組合的預測。幀內預測混合的結果可以用作預測的像素資料1413。
當前塊可以是被劃分為子塊或網格的較大塊的子塊或網格。幀內預測混合模組1530可以將沿當前塊的邊界的預測樣本存儲在子塊預測記憶體1535中以供稍後用於與其他子塊或網格混合。以另一種方式,幀內預測混合模組1530可以生成尺寸大於當前塊(當前子塊或當前網格)的預測,並且可以將沿著當前塊的邊界和當前塊外部的預測樣本存儲至子塊預測記憶體1535以稍後用於與其他子塊或網格混合。
第16圖概念性地示出了用於使用基於區域的隱式導出的幀內預測來對像素塊進行編碼的過程1600。在一些實施例中,實現編碼器1400的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程1600。在一些實施例中,實現編碼器1400的電子裝置執行過程1600。
編碼器(在步驟1610) 接收將被編碼為視訊的當前圖片中的當前像素塊的資料。
編碼器(在步驟1620)在當前圖片的已經重建的像素之中識別當前塊的上方模板區域和左側模板區域。
編碼器(在步驟1630)基於上方模板區域導出第一幀內預測模式。編碼器(在步驟1640)基於左側模板區域導出第二幀內預測模式。在一些實施例中,第一和第二幀內預測模式由TIMD過程基於候選幀內預測模式的成本來識別。基於上方模板區域的重建樣本和上方模板區域的預測樣本來計算第一幀內預測模式的候選的成本,其中上方模板區域的預測樣本是通過使用第一幀內預測模式的候選識別的參考樣本生成的。基於左側模板區域的重建樣本和左側模板區域的預測樣本來計算第二幀內預測模式的候選的成本,其中左側模板區域的預測樣本是通過使用第二幀內預測模式的候選識別的參考樣本來生成的。從包括上方模板區域上方的區域、左側模板區域左側的區域、或者上方和左側模板區域的上方和左側的區域的參考區域中識別參考樣本。
在一些實施例中,通過基於不同幀內預測角度的梯度直方圖(HoG)的DIMD過程來識別第一和第二幀內預測模式。具體地,基於沿著上方模板區域的不同像素位置處的梯度幅值的第一HoG來識別第一幀內預測模式,並且基於沿左側模板區域的不同像素位置處的梯度幅值的第二HoG來識別第二幀內預測模式。
編碼器(在步驟1650)基於第一和第二幀內預測模式生成當前塊的第一和第二預測子。然後編碼器(在步驟1660)通過使用第一和第二預測子對當前塊進行編碼以產生預測殘差並重建當前塊。
在一些實施例中,編碼器通過混合第一預測子和第二預測子來生成當前塊的組合的幀內預測,並且使用組合的幀內預測來產生當前塊的預測殘差。在一些實施例中,組合的預測是第一和第二預測子的加權和,其中分配給第一和第二預測子的當前塊中的樣本的權重值是基於距上方模板區域和距左側模板區域的距離來確定的。
在一些實施例中,從角度和偏移參數導出的幾何定位的直線將當前塊劃分成第一分區和第二分區。第一預測子用於重建第一分區,第二預測子用於重建第二分區,而沿著第一分區和第二分區之間的邊界的樣本則通過使用組合的幀內預測來重建。
在一些實施例中,當前塊是較大塊的多個子塊中的第一子塊,並且上方模板區域是該較大塊上方的多個子模板中的一個子模板, 左側模板區域是該較大塊左側的多個子模板中的一個子模板。在一些實施例中,使用混合預測來重建沿著第一子塊和第二子塊之間的邊界的樣本,該混合預測是(i)當前塊的組合的幀內預測和(ii) 使用第二子塊的幀內預測模式生成的當前塊的幀內預測或者第二子塊的幀內預測的加權和,其中,該第二子塊是與第一子塊(當前塊)相鄰的。第二子塊的幀內預測是從第三和第四幀內預測模式導出的。 VI. 示例的視訊解碼器
在一些實施例中,編碼器可以傳訊(或生成)位元流中的一個或多個句法元素,使得解碼器可以從位元流解析所述一個或多個句法元素。
第17圖圖示了可以實施基於區域的隱式幀內預測的示例視訊解碼器1700。如圖所示,視訊解碼器1700是圖像解碼或視訊解碼電路,其接收位元流1795並將位元流的內容解碼成視訊幀的像素資料以供顯示。視訊解碼器1700具有用於解碼位元流1795的若干組件或模組,包括選自逆量化模組1711、逆變換模組1710、幀內預測模組1725、運動補償模組1730、環路濾波器1745、解碼圖片緩衝器1750、MV緩衝器1765、MV預測模組1775和解析器1790的一些組件。運動補償模組1730是幀間預測模組1740的一部分。
在一些實施例中,模組1710-1790是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1710-1790是由電子裝置的一個或多個IC實現的硬體電路模組。儘管模組1710-1790被圖示為單獨的模組,但是一些模組可以組合成單個模組。
解析器1790(或熵解碼器)接收位元流1795並根據由視訊編解碼或圖像編解碼標准定義的句法執行初始解析。解析的句法元素包括各種報頭元素、標誌以及量化的資料(或量化的係數)1712。解析器1790通過使用諸如上下文自適應二進制算法(CABAC)或霍夫曼編解碼的熵編解碼技術解析出各種句法元素。
逆量化模組1711對量化的資料(或量化的係數)1712進行去量化以獲得變換係數,並且逆變換模組1710對變換係數1716執行逆變換以產生重建的殘差信號1719。重建的殘差信號1719與來自幀內預測模組1725或運動補償模組1730的預測像素資料1713相加以產生解碼的像素資料1717。解碼的像素資料由環路濾波器1745濾波並存儲在解碼圖片緩衝器1750中。在一些實施例中,解碼圖片緩衝器1750是視訊解碼器1700外部的存儲組件。在一些實施例中,解碼圖片緩衝器1750是視訊解碼器1700內部的組件。
幀內預測模組1725從位元流1795接收幀內預測資料,並據此從解碼圖片緩衝器1750中存儲的解碼的像素資料1717產生預測的像素資料1713。在一些實施例中,解碼的像素資料1717也存儲在行緩衝器(未示出)中用於圖片內預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1750的內容用於顯示。顯示設備1755或者擷取解碼圖片緩衝器1750的內容以直接顯示,或者擷取解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示設備通過像素傳輸從解碼圖片緩衝器1750接收像素值。
運動補償模組1730根據運動補償MV (MC MV)從存儲在解碼圖片緩衝器1750中的解碼的像素資料1717產生預測的像素資料1713。通過將從位元流1795接收的殘差運動資料與從MV預測模組1775接收的預測MV相加來解碼這些運動補償MV。
MV預測模組1775基於為解碼先前視訊幀而生成的參考MV生成預測的MV,例如,用於執行運動補償的運動補償MV。MV預測模組1775從MV緩衝器1765中擷取先前視訊幀的參考MV。視訊解碼器1700將為解碼當前視訊幀而生成的運動補償MV存儲在MV緩衝器1765中作為用於產生預測的MV的參考MV。
環路濾波器1745對解碼的像素資料1717執行濾波或平滑操作以減少編解碼的偽影,特別是在像素塊的邊界處。在一些實施例中,執行的濾波操作包括樣本自適應偏移(SAO)。在一些實施例中,濾波操作包括自適應環路濾波(ALF)。
第18圖示出了視訊解碼器1700的實現基於區域的隱式幀內預測的部分。具體地,該圖示出了視訊解碼器1700的幀內預測模組1725的組件。如圖所示,幀內預測模組1725從解碼圖片緩衝器1750擷取內容,解碼圖片緩衝器1750提供來自當前塊附近的區域的重建像素資料作為模板。
如圖所示,幀內預測模組1725包括上方幀內預測模組1810和左側幀內預測模組1820。上方幀內預測模組1810使用上方模板區域(例如,511)和/或當前塊的參考區域(例如,520)中的樣本以計算不同幀內預測模式的成本或累積不同幀內預測模式的HoG。基於存儲在ModeA成本/Hog記憶體1815中的成本或HoG,上方幀內預測模組1810識別TIMD或DIMD過程中的ModeA幀內預測模式。同樣,左側幀內預測模組1820使用當前塊的左側模板區域(例如,512)和/或參考區域(例如,520)中的樣本來計算成本或累積的HoG。基於存儲在ModelL成本/HoG記憶體1825中的成本或HoG,左側幀內預測模組1820識別TIMD或DIMD過程中的ModelL幀內預測模式。
幀內預測混合模組1830接收所識別的ModeA和ModeL幀內預測模式,並基於重建圖片緩衝器1750的內容生成對應的預測子。幀內預測混合模組1830將兩個預測子混合為加權和作為組合的預測。幀內預測混合的結果可以用作預測的像素資料1713。
當前塊可以是被劃分為子塊或網格的較大塊的子塊或網格。幀內預測混合模組1830可以將沿當前塊的邊界的預測樣本存儲在子塊預測記憶體1835中以供稍後用於與其他子塊或網格混合。以另一種方式,幀內預測混合模組1830可以生成尺寸大於當前塊(當前子塊或當前網格)的預測,並且可以將沿著當前塊的邊界和當前塊外部的預測樣本存儲至子塊預測記憶體1835以稍後用於與其他子塊或網格混合。
第19圖概念性地示出了用於使用基於區域的隱式導出的幀內預測來對像素塊進行解碼的過程1900。在一些實施例中,實現解碼器1700的計算設備的一個或多個處理單元(例如,處理器)通過執行存儲在計算機可讀介質中的指令來執行過程1900。在一些實施例中,實現解碼器1700的電子裝置執行過程1900。
解碼器(在步驟1910)接收要被解碼為視訊的當前圖片中的當前像素塊的資料。
解碼器(在步驟1920)在當前圖片的已經重建的像素之中識別當前塊的上方模板區域和左側模板區域。
解碼器(在步驟1930)基於上方模板區域導出第一幀內預測模式。解碼器(在步驟1940)基於左側模板區域導出第二幀內預測模式。在一些實施例中,第一和第二幀內預測模式由TIMD過程基於候選幀內預測模式的成本來識別。基於上方模板區域的重建樣本和上方模板區域的預測樣本來計算第一幀內預測模式的候選的成本,其中上方模板區域的預測樣本是通過使用第一幀內預測模式的候選識別的參考樣本生成的。基於左側模板區域的重建樣本和左側模板區域的預測樣本來計算第二幀內預測模式的候選的成本,其中左側模板區域的預測樣本是通過使用第二幀內預測模式的候選識別的參考樣本來生成的。從包括上方模板區域上方的區域、左側模板區域左側的區域、或者上方和左側模板區域的上方和左側的區域的參考區域中識別參考樣本。
在一些實施例中,通過基於不同幀內預測角度的梯度直方圖(HoG)的DIMD過程來識別第一和第二幀內預測模式。具體地,基於沿著上方模板區域的不同像素位置處的梯度幅值的第一HoG來識別第一幀內預測模式,並且基於沿左側模板區域的不同像素位置處的梯度幅值的第二HoG來識別第二幀內預測模式。
解碼器(在步驟1950)基於第一和第二幀內預測模式生成當前塊的第一和第二預測子。
然後解碼器(在步驟1960)通過使用第一和第二預測子來重建當前塊。解碼器然後可以提供重建的當前塊以作為重建的當前圖片的一部分進行顯示。
在一些實施例中,編碼器通過混合第一預測子和第二預測子來生成當前塊的組合的幀內預測,並且使用組合的幀內預測來重建當前塊。在一些實施例中,組合的預測是第一和第二預測子的加權和,其中分配給第一和第二預測子的當前塊中的樣本的權重值是基於距上方模板區域和距左側模板區域的距離來確定的。
在一些實施例中,從角度和偏移參數導出的幾何定位的直線將當前塊劃分成第一分區和第二分區。第一預測子用於重建第一分區,第二預測子用於重建第二分區,而沿著第一分區和第二分區之間的邊界的樣本則通過使用組合的幀內預測來重建。
在一些實施例中,當前塊是較大塊的多個子塊中的第一子塊,並且上方模板區域是該較大塊上方的多個子模板中的一個子模板, 左側模板區域是該較大塊左側的多個子模板中的一個子模板。在一些實施例中,使用混合的預測來重建沿著第一子塊和第二子塊之間的邊界的樣本,該混合預測是(i)當前塊的組合的幀內預測和(ii) 使用第二子塊的幀內預測模式生成的當前塊的幀內預測或者第二子塊的幀內預測的加權和,其中,該第二子塊是與第一子塊(當前塊)相鄰的。第二子塊的幀內預測是從第三和第四幀內預測模式導出的。 VII. 示例的電子系統
許多上述特徵和應用被實現為軟體過程,這些軟體過程被指定為記錄在計算機可讀存儲介質(也稱為計算機可讀介質)上的一組指令。當這些指令由一個或多個計算或處理單元(例如,一個或多個處理器、處理器核心或其他處理單元)執行時,它們會導致處理單元執行指令中指示的動作。計算機可讀介質的示例包括但不限於 CD-ROM、閃存驅動器、隨機存取記憶體 (RAM) 晶片、硬盤驅動器、可擦除可程式化只讀記憶體 (EPROM)、電可擦除可程式化只讀記憶體 (EEPROM) )等。計算機可讀介質不包括無線或通過有線連接傳遞的載波和電子信號。
在本說明書中,術語“軟體”意味著包括駐留在只讀記憶體中的韌體或存儲在磁記憶體中的應用程式,其可以讀入記憶體以供處理器處理。此外,在一些實施例中,多個軟體發明可以作為較大程式的子部分來實現,同時保留不同的軟體發明。在一些實施例中,多個軟體發明也可以被實現為單獨的程式。最後,一起實現這裡描述的軟體發明的單獨程式的任何組合都在本公開的範圍內。在一些實施例中,當軟體程式被安裝以在一個或多個電子系統上運行時,定義了一個或多個執行和執行軟體程式的操作的特定機器實現。
第20圖概念性地圖示了實現本公開的一些實施例的電子系統2000。電子系統2000可以是計算機(例如台式計算機、個人計算機、平板計算機等)、電話、PDA或任何其他種類的電子設備。這樣的電子系統包括各種類型的計算機可讀介質和用於各種其他類型的計算機可讀介質的介面。電子系統2000包括匯流排2005、處理單元2010、圖形處理單元(GPU)2015、系統記憶體2020、網路2025、只讀記憶體2030、永久存儲設備2035、輸入設備2040 , 和輸出設備 2045。
匯流排 2005 共同表示通信連接電子系統 2000 的眾多內部設備的所有系統、外圍設備和晶片組匯流排。例如,匯流排 2005 通信連接處理單元 2010 與 GPU 2015、只讀記憶體2030、系統記憶體2020和永久存儲設備2035。
從這些不同的記憶體單元,處理單元2010擷取要執行的指令和要處理的資料以便執行本公開的過程。在不同的實施例中,處理單元可以是單個處理器或多核處理器。一些指令被傳遞到 GPU 2015 並由其執行。GPU 2015 可以卸載各種計算或補充由處理單元 2010 提供的圖像處理。
只讀記憶體(ROM)2030存儲由處理單元2010和電子系統的其他模組使用的靜態資料和指令。另一方面,永久存儲設備2035是讀寫存儲設備。該設備是即使在電子系統2000關閉時也存儲指令和資料的非易失性存儲單元。本公開的一些實施例使用大容量存儲設備(例如磁盤或光碟及其相應的磁盤驅動器)作為永久存儲設備2035。
其他實施例使用可移動存儲設備(例如軟盤、閃存設備等,及其對應的磁盤驅動器)作為永久存儲設備。與永久存儲設備2035一樣,系統記憶體2020是讀寫存儲設備。然而,與存儲設備2035不同,系統記憶體2020是易失性讀寫記憶體,例如隨機存取記憶體。系統記憶體2020存儲處理器在運行時使用的一些指令和資料。在一些實施例中,根據本公開的過程存儲在系統記憶體2020、永久存儲設備2035和/或只讀記憶體2030中。例如,各種記憶體單元包括用於處理多媒體剪輯的指令與一些實施例。從這些不同的記憶體單元,處理單元2010擷取要執行的指令和要處理的資料以便執行一些實施例的過程。
匯流排 2005 還連接到輸入和輸出設備 2040 和 2045。輸入設備 2040 使用戶能夠向電子系統傳送資訊和選擇命令。輸入設備 2040 包括字母數位鍵盤和定點設備(也稱為“滑鼠控制設備”)、相機(例如,網路攝像頭)、麥克風或用於接收語音命令的類似設備等。輸出設備 2045 顯示由電子系統生成的圖像或否則輸出資料。輸出設備2045包括打印機和顯示設備,例如陰極射線管(CRT)或液晶顯示器(LCD),以及揚聲器或類似的音頻輸出設備。一些實施例包括同時用作輸入和輸出設備的設備,例如觸摸屏。
最後,如第20圖所示,匯流排2005還通過網路適配器(未示出)將電子系統2000耦合到網路2025。以這種方式,計算機可以是計算機網路的一部分(例如局域網(“LAN”)、廣域網(“WAN”)或內聯網,或網路網。例如電子系統2000的任何或所有組件可結合本公開使用。
一些實施例包括電子組件,例如微處理器、存儲裝置和記憶體,其將計算機程式指令存儲在機器可讀或計算機可讀介質(或者稱為計算機可讀存儲介質、機器可讀介質或機器可讀存儲介質)中。此類計算機可讀介質的一些示例包括 RAM、ROM、只讀光碟 (CD-ROM)、可記錄光碟 (CD-R)、可重寫光碟 (CD-RW)、只讀數位多功能光碟(例如, DVD-ROM, 雙層 DVD-ROM)、各種可刻錄/可重寫 DVD (例如, DVD-RAM, DVD-RW, DVD+RW, 等等), 閃存(例如, SD 卡, mini-SD卡、微型 SD 卡等)、磁性和/或固態硬盤驅動器、只讀和可刻錄 Blu-Ray® 光碟、超密度光碟、任何其他光學或磁性介質以及軟盤。計算機可讀介質可以存儲可由至少一個處理單元執行並且包括用於執行各種操作的指令集的計算機程式。計算機程式或計算機代碼的示例包括機器代碼,例如由編譯器生成的機器代碼,以及包括由計算機、電子組件或使用解釋器的微處理器執行的高級代碼的文件。
雖然上述討論主要涉及執行軟體的微處理器或多核處理器,但許多上述特徵和應用是由一個或多個集體電路執行的,例如專用集體電路(ASIC)或現場可程式化門陣列 (FPGA)。在一些實施例中,這樣的集體電路執行存儲在電路本身上的指令。此外,一些實施例執行存儲在可程式化邏輯設備(PLD)、ROM或RAM設備中的軟體。
如在本說明書和本申請的任何申請專利範圍中所使用的,術語“計算機”、“服務器”、“處理器”和“記憶體”均指電子或其他技術設備。這些術語不包括人或人群。出於說明書的目的,術語顯示或顯示表示在電子設備上顯示。如本說明書和本申請的任何申請專利範圍中所使用,術語“計算機可讀介質”、“計算機可讀存儲介質”和“機器可讀介質”完全限於以可讀形式存儲資訊的有形實體對象。這些術語不包括任何無線信號、有線下載信號和任何其他臨時信號。
雖然本公開已經參考許多具體細節進行了描述,但是所屬領域具有通常知識者將認識到,在不脫離本公開的精神的情況下,本公開可以以其他具體形式實施。此外,多個附圖(包括第11圖和第14圖)概念性地說明了過程。這些過程的特定操作可能不會按照所示和描述的確切順序執行。具體操作可以不在一個連續的系列操作中執行,並且可以在不同的實施例中執行不同的具體操作。此外,該過程可以使用多個子過程或作為更大的宏過程的一部分來實現。因此,所屬領域具有通常知識者將理解本公開不受前述說明性細節的限制,而是由所附申請專利範圍限定。
本文描述的主題有時說明不同的組件包含在不同的其他組件內或與不同的其他組件連接。應當理解,這樣描繪的架構僅僅是示例,並且實際上可以實現實現相同功能的許多其他架構。從概念上講,實現相同功能的組件的任何佈置都被有效地“關聯”,從而實現了所需的功能。因此,此處組合以實現特定功能的任何兩個組件可以被視為彼此“相關聯”以使得實現期望的功能,而不管架構或中間組件如何。同樣,如此關聯的任何兩個組件也可被視為彼此“可操作地連接”或“可操作地耦合”以實現期望的功能,並且能夠如此關聯的任何兩個組件也可被視為“可操作地連接”耦合”,彼此實現所需的功能。可操作地耦合的具體示例包括但不限於實體上可配合和/或實體上交互的組件和/或無線上可交互和/或無線上交互的組件和/或邏輯上交互和/或邏輯上可交互的組件。
此外,關於本文中基本上任何復數和/或單數術語的使用,所屬領域具有通常知識者可以根據上下文從復數翻譯成單數和/或從單數翻譯成複數和/或申請。為了清楚起見,可以在本文中明確地闡述各種單數/複數排列。
此外,所屬領域具有通常知識者將理解,一般而言,本文使用的術語,尤其是所附申請專利範圍中使用的術語,例如所附申請專利範圍的主體,通常意在作為“開放”術語,例如, “包括”一詞應解釋為“包括但不限於”,“有”一詞應解釋為“至少有”,“包括”一詞應解釋為“包括但不限於”,等。所屬領域具有通常知識者將進一步理解,如果意圖引入特定數量的申請專利範圍陳述,則該意圖將在申請專利範圍中明確地陳述,並且在沒有該陳述的情況下不存在該意圖。例如,為了幫助理解,以下所附申請專利範圍可能包含使用介紹性短語“至少一個”和“一個或多個”來介紹申請專利範圍的敘述。然而,使用此類短語不應被解釋為暗示通過不定冠詞“a”或“an”引入的申請專利範圍將包含此類引入的申請專利範圍的任何特定申請專利範圍限制為僅包含一個此類陳述的實現,即使當同一申請專利範圍包括介紹性短語“一個或多個”或“至少一個”和不定冠詞如“一個(a)”或“一個(an)”,例如,“一個(a)”和/或“一個(an)”應解釋為“至少”一個或“一個或多個”;這同樣適用於使用定冠詞來引入索賠陳述。此外,即使明確引用了引入的申請專利範圍記載的具體數目,所屬領域具有通常知識者將認識到,這種記載應被解釋為至少表示引用的數目,例如,“兩次引用(recitation)”,而不包含其他修飾語,表示至少兩次引用,或者兩次或更多次引用。此外,在那些約定類似於“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 在一起、A 和 C 在一起、B 和 C 在一起和/或 A、B 和 C 在一起等。所屬領域具有通常知識者將進一步理解實際上無論是在說明書、申請專利範圍書還是附圖中,任何出現兩個或更多替代術語的分離詞和/或短語都應該被理解為考慮包括一個術語、一個術語或兩個術語的可能性。例如,短語“A 或 B”將被理解為包括“A”或“B”或“A 和 B”的可能性。
從上文中可以理解,為了說明的目的,本文已經描述了本公開的各種實施方式,並且各種在不脫離本公開的範圍和精神的情況下可以進行修改。因此,本文公開的各種實施方式並非旨在限制,真正的範圍和精神由所附申請專利範圍指示。
200、300、400、500、900、1100、1200:當前塊 210、531、532:梯度直方圖 215、310、410、510、905:模板 320、520:參考樣本 421~423、921、922、923:塊區域 431~434、911~914:模板部分 511:頂部模板區域 512:左側模板區域 541、542:預測區域 700:塊 811、812、821、822:分量 1000:大塊 1010、1020、1211~1214:子塊 1011~1013:鄰近 1110:預定義範圍 1121~1123:子塊模板 1220:殘差 1230:變換塊 1400:視訊編碼器 1405:視訊源 1495、1795:位元流 1410:變換模組 1411:量化模組 1412、1712:量化的係數 1413:預測的像素資料 1414、1711:逆量化模組 1415、1710:逆變換模組 1416、1716:變換係數 1417:重構的像素資料 1419:殘差 1420:圖片內估計模組 1425、1725:幀內預測模組 1430、1730:運動補償模組 1435:運動估計模組 1440、1740:幀間預測模組 1445、1745:環路濾波器 1450:重構圖片緩衝器 1465、1765:MV 緩衝器 1475、1775:MV 預測模組 1490:熵編碼器 1510、1810:上方幀內預測模組 1520、1820:左側幀內預測模組 1515、1525、1815、1825:ModeA成本/Hog記憶體 1530、1830:幀內預測混合模組 1535、1835:子塊預測記憶體 1600、1900:過程 1610~1660、1910~1960:步驟 1700:視訊解碼器 1750:解碼圖片緩衝器 1790:解析器 1713:預測像素資料 1717:解碼的像素資料 2000:電子系統 2005:匯流排 2010:處理單元 2015:圖形處理單元 2020:系統記憶體 2025:網路 2030:只讀記憶體 2035:永久存儲設備 2040:輸入設備 2045:輸出設備
附圖被包括以提供對本公開的進一步理解,並且被併入並構成本公開的一部分。附圖示出了本公開的實施方式,並且與說明書一起用於解釋本公開的原理。應當理解的是,附圖不一定按比例繪製,因為為了清楚地說明本公開的概念,一些部件可能被示出為與實際實施中的尺寸不成比例。 第1圖示出了不同方向的幀內預測模式。 第2圖示出了使用解碼器側幀內模式導出(DIMD)來隱式導出當前塊的幀內預測模式。 第3圖示出了使用基於模板的幀內模式導出(TIMD)來隱式地導出當前塊的幀內預測模式。 第4圖示出了將當前塊基於角度分割成多個塊區域以應用DIMD/TIMD導出過程。 第5A-B圖概念性地示出了從兩個不同的模板區域導出兩種不同的幀內預測模式。 第6圖概念性地示出了來自從頂部模板區域和左側模板區域導出的兩種不同幀內模式的兩個幀內預測預測子的混合。 第7圖概念性地示出了被劃分為網格的塊以及針對不同網格導出的不同幀內預測模式。 第8圖示出了沿著網格邊界混合不同的幀內預測。 第9圖示出了通過不規則分區對模板和/或當前塊的分割。 第10圖示出了將DIMD/TIMD應用於大塊的子塊。 第11圖示出了基於預定義範圍內的子塊模板的幀內預測模式來確定其幀內預測模式的當前塊。 第12圖出了通過多個幀內預測模式和合併的變換塊對大塊進行的編解碼。 第13圖示出了以相反順序應用於塊的子塊的DIMD/TIMD。 第14圖示出了可以實現基於區域的隱式幀內預測的示視訊編碼器。 第15圖示出了實現基於區域的隱式幀內預測的視訊編碼器的部分。 第16圖概念性地示出了使用基於區域的隱式導出的幀內預測來對像素塊進行編碼的過程。 第17圖示出了可以實現基於區域的隱式幀內預測的示例視訊解碼器1700。 第18圖示出了視訊解碼器1700的實現基於區域的隱式幀內預測的部分。 第19圖概念性地示出了用於使用基於區域的隱式導出的幀內預測來對像素塊進行解碼的過程1900。 第20圖概念性地示出了用於實現本公開的一些實施例的電子系統。
1600:過程
1610~1660:步驟

Claims (12)

  1. 一種視訊編解碼方法,包括: 接收要編碼或解碼為視訊的當前圖片的當前塊的像素塊的資料; 識別該當前圖片的已重建像素中該當前塊的上方模板區域和左側模板區域; 基於該上方模板區域導出第一幀內預測模式; 基於該左側模板區域導出第二幀內預測模式; 基於該第一幀內預測模式和該第二幀內預測模式生成該當前塊的第一和第二預測子;以及 通過使用該第一預測子和該第二預測子對該當前塊進行編碼或解碼以重建該當前塊。
  2. 如請求項1所述之視訊編解碼方法,其中: 基於候選幀內預測模式的成本來識別該第一幀內預測模式和該第二幀內預測模式, 基於該上方模板區域的重建樣本和該上方模板區域的預測樣本來計算該第一幀內預測模式的候選的該成本,其中該上方模板區域的該預測樣本是通過使用由該第一個幀內預測模式的候選識別的參考樣本生成的, 基於該左側模板區域的重建樣本和該左側模板區域的預測樣本來計算該第二幀內預測模式的候選的該成本,其中該左側模板區域的該預測樣本是通過使用由該第二幀內預測模式的候選識別的參考樣本生成的。
  3. 如請求項2所述之視訊編解碼方法,其中,從包括該上方模板區域上方的區域、該左側模板區域左側的區域、或者該上方模板區域和該左側模板區域的上方和左側區域的參考區域中識別該參考樣本。
  4. 如請求項1所述之視訊編解碼方法,其中: 基於針對不同幀內預測角度的第一梯度直方圖來識別該第一幀內預測模式,該第一梯度直方圖基於沿著該上方模板區域的不同像素位置處的梯度幅度, 基於針對不同幀內預測角度的第二梯度直方圖來識別該第二幀內預測模式,該第二梯度直方圖基於沿著該左側模板區域的不同像素位置處的梯度幅度。
  5. 如請求項1所述之視訊編解碼方法,其中,還包括: 通過混合該第一預測子和該第二預測子來生成該當前塊的組合的幀內預測;以及 使用該組合的幀內預測來重建該當前塊。
  6. 如請求項5所述之視訊編解碼方法,其中從角度和偏移參數導出的幾何定位的直線將該當前塊劃分為第一分區和第二分區,其中該第一預測子用於重建該第一分區,而該第二預測子用於重建該第二分區,其中通過使用該組合的幀內預測來重建沿著該第一分區和該第二分區之間的邊界的樣本。
  7. 如請求項5所述之視訊編解碼方法,其中: 該當前塊是較大塊的多個子塊中的第一子塊, 該上方模板區域是該較大塊之上的多個子模板中一子模板, 該左側模板區域是該較大塊左側的多個子模板中一子模板。
  8. 如請求項7所述之視訊編解碼方法,其中使用混合預測來重建沿該第一子塊與第二子塊之間的邊界的樣本,該混合預測是(i)該當前塊的該組合的幀內預測和(ii)使用第二子塊的幀內預測模式生成的該當前塊的幀內預測或者該第二子塊的幀內預測的加權和,其中,該第二子塊是與該當前塊相鄰的,其中該第二子塊的該幀內預測是從第三和第四幀內預測模式導出的,該第三和第四幀內預測模式不同於該第一和第二幀內預測模式。
  9. 如請求項5所述之視訊編解碼方法,其中該組合的幀內預測是該第一預測子和該第二預測子的加權和,其中分配給該第一預測子和該第二預測子的權重值是基於距該上方模板區域和距該左側模板區域的距離來確定的。
  10. 一種電子裝置,包括: 接收要編碼或解碼為視訊的當前圖片的當前塊的像素塊的資料; 識別該當前圖片的已重建像素中該當前塊的上方模板區域和左側模板區域; 基於該上方模板區域導出第一幀內預測模式; 基於該左側模板區域導出第二幀內預測模式; 基於該第一幀內預測模式和該第二幀內預測模式生成該當前塊的第一和第二預測子;以及 通過使用該第一預測子和該第二預測子對該當前塊進行編碼或解碼以重建該當前塊。
  11. 一種視訊解碼方法,包括: 接收要解碼為視訊當前圖片的當前塊的像素塊的資料; 識別該當前圖片的已重建像素中該當前塊的上方模板區域和左側模板區域; 基於該上方模板區域導出第一幀內預測模式; 基於該左側模板區域導出第二幀內預測模式; 基於該第一幀內預測模式和該第二幀內預測模式生成該當前塊的第一和第二預測子;以及 通過使用該第一預測子和該第二預測子來重建該當前塊。
  12. 一種視訊編碼方法,包括: 接收要編碼為視訊當前圖片的當前塊的像素塊的資料; 識別該當前圖片的已重建像素中該當前塊的上方模板區域和左側模板區域; 基於該上方模板區域導出第一幀內預測模式; 基於該左側模板區域導出第二幀內預測模式; 基於該第一幀內預測模式和該第二幀內預測模式生成該當前塊的第一預測子和第二預測子;以及 通過使用該第一預測子和該第二預測子對該當前塊進行編碼以生成殘差以重建該當前塊。
TW112113849A 2022-04-14 2023-04-13 基於區域的隱式幀內模式推導和預測 TW202415075A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63/330,825 2022-04-14
WOPCT/CN2023/087809 2023-04-12

Publications (1)

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

Family

ID=

Similar Documents

Publication Publication Date Title
TWI706667B (zh) 隱式變換設置
US10887594B2 (en) Entropy coding of coding units in image and video data
US11936890B2 (en) Video coding using intra sub-partition coding mode
CN110839160B (zh) 扩展四叉树分割的强制边界分割
CN110999295B (zh) 边界强制分区的改进
TWI802271B (zh) 具有應用的塊設定以及運動儲存設定的三角形預測
CN117750022A (zh) 在区块分割中条件式编码或解码视频区块的方法和装置
JP7337163B2 (ja) ビデオサンプルのツリー若しくはブロックを符号化および復号する方法、装置、およびシステム
TW202415075A (zh) 基於區域的隱式幀內模式推導和預測
WO2023198105A1 (en) Region-based implicit intra mode derivation and prediction
WO2023198187A1 (en) Template-based intra mode derivation and prediction
WO2023197998A1 (en) Extended block partition types for video coding
WO2024016955A1 (en) Out-of-boundary check in video coding
WO2023241347A1 (en) Adaptive regions for decoder-side intra mode derivation and prediction
JP2014049875A (ja) 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
WO2023236916A1 (en) Updating motion attributes of merge candidates
WO2024131778A1 (en) Intra prediction with region-based derivation
WO2024022144A1 (en) Intra prediction based on multiple reference lines
WO2024037645A1 (en) Boundary sample derivation in video coding
WO2024146511A1 (en) Representative prediction mode of a block of pixels
WO2023208063A1 (en) Linear model derivation for cross-component prediction by multiple reference lines
TW202402054A (zh) 用於候選清單的相似性閾值
TW202404354A (zh) 利用卷積模型的預測改進
TW202423114A (zh) 基於多參考線的幀內預測
TW202412524A (zh) 使用複數條參考線進行預測