TW202406334A - 電子設備和視訊編解碼的方法 - Google Patents
電子設備和視訊編解碼的方法 Download PDFInfo
- Publication number
- TW202406334A TW202406334A TW112120537A TW112120537A TW202406334A TW 202406334 A TW202406334 A TW 202406334A TW 112120537 A TW112120537 A TW 112120537A TW 112120537 A TW112120537 A TW 112120537A TW 202406334 A TW202406334 A TW 202406334A
- Authority
- TW
- Taiwan
- Prior art keywords
- intra prediction
- current block
- intra
- gradient
- hog
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 241000282887 Suidae Species 0.000 abstract description 65
- 238000009795 derivation Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 description 34
- 238000012545 processing Methods 0.000 description 21
- 238000009825 accumulation Methods 0.000 description 16
- 238000013139 quantization Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 7
- 238000005192 partition Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一種使用基於複數個梯度直方圖(HoG)的解碼器側幀內模式導出(DIMD)的視訊編解碼方法。視訊編解碼器接收待編碼或解碼的資料作為視訊的當前圖片的當前區塊。視訊編解碼器導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與當前區塊相鄰的不同組重建像素來導出。視訊編解碼器從複數個梯度直方圖中選擇一梯度直方圖。視訊編解碼器基於所選擇的梯度直方圖識別一或多個幀內預測模式。視訊編解碼器基於所識別的一或多個幀內預測模式產生當前區塊的幀內預測。視訊編解碼器使用所產生的幀內預測對當前區塊進行編碼或解碼。
。
Description
本揭露是關於視訊編解碼,特別是關於通過幀內模式對像素區塊進行編解碼的方法。
除非本揭露另有說明,否則本節中描述的方法不是之後列出的申請專利範圍的先前技術,並且亦不因包含在本節中而被認定為先前技術。
高效率視訊編解碼(high-efficiency video coding;HEVC)是一個由聯合視訊編解碼小組(Joint Collaborative Team on Video Coding;JCT-VC)開發的國際視訊編解碼標準。HEVC是基於區塊的類離散餘弦轉換(discrete cosine transform;DCT)混合式移動補償編解碼架構。壓縮的基本單元稱為編解碼單元(coding unit;CU),是一個2Nx2N像素的方形區塊(像素區塊),且每一個CU可被不斷分割成更小的CU單元,直到達到預先定義的最小大小。每一個CU包括一或多個預測單元(prediction unit;PU)。
多功能視訊編解碼(versatile video coding;VVC)是最新的視訊編解碼標準,由ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的聯合視訊專家團隊(Joint Video Expert Team;JVET)開發。輸入視訊訊號由重建訊號進行預測,上述重建訊號來自被編解碼過的圖片區域。預測殘量(residual)訊號由區塊轉換進行處理。轉換係數和其他資訊一起在位元流(bitstream)中量化和熵量編解碼化(quantized and entropy coded)。上述重建訊號由預測訊號和重建的殘量訊號經過去量化(de-quantized)轉換係數的反向轉換後產生。上述重建訊號更由迴圈內濾波進行處理,以移除編解碼副產物(coding artifact)。解碼後的圖片被存在畫格緩衝器(frame buffer),以用於預測上述輸入視訊訊號的後續圖片。
在VVC中,一個編解碼過的圖片會被分割成不重疊的方形區塊區域,上述方形區塊區域由相關的編解碼樹單元(coding tree unit;CTU)代表。一個編解碼樹上的複數葉子單元(leaf node)對應於上述編解碼單元(coding unit;CU)。一個編解碼過的圖片可被表示為一組切片(slice),每一個切片對應正整數個CTU。一個切片裡的獨立CTU以光柵掃描順序(raster-scan order)處理。一個雙向預測(B)切片可利用幀內預測或幀間預測和至多兩個動態向量(motion vectors)及參考索引(indices)進行解碼,以預測每個區塊的樣本數值。一個預測(P)切片利用幀內預測或幀間預測和至多一個動態向量及參考索引進行解碼,以預測每個區塊的樣本數值。一個幀內(I)切片只利用幀內預測進行解碼。
可利用巢狀(nested)多類型樹(multi-type-tree;MTT)結構的四元樹(quadtree;QT)將一個CTU分配成一或多個不重疊的編解碼單元(coding unit;CU),以適應多種局部動態和質感特徵。一個CU更可以用五種方式被分割為更小的CU:四元樹分區、垂直二元樹分區、水平二元樹分區、垂直中心側(center-side)三元樹分區以及水平中心側三元樹分區。
每一個CU包括一或多個預測單元(prediction unit;PU)。上述預測單元和相關的CU語法構成一個傳遞預測變量之資訊(signaling the predictor information)的基本單元。特定(specified)預測程式被用於預測PU內部相關像素樣本的數值。每一個CU可以包括一或多個轉換單元(transform unit;TU),用以代表預測殘量區塊。一個轉換單元(TU)包括一個亮度樣本的轉換區塊(transform block;TB)以及兩個對應色度樣本的轉換區塊,並且每一個TB對應一個單一顏色元件(component)的樣本殘量區塊。一個正整數轉換被應用於一個轉換區塊。量化係數的等級數值和其他資訊一起在位元流中熵量編解碼化。其中,編解碼樹區塊(coding tree block;CTB)、編解碼區塊(coding block;CB)、預測區塊(prediction block;PB)以及轉換區塊(transform block;TB)被定義以特指分別和CTU、CU、PU以及TU相關的單一顏色元件二維樣本陣列。因此,一個CTU由一個亮度CTB、兩個色度CTB以及相關語法元素(element)所構成。CU、PU以及TU可以此類推。
對於每一個幀間預測CU,由動態向量、參考圖片索引以及參考圖片列表使用索引組成的動態參數,和其他額外資訊被用於幀間預測樣本的生成。上述動態參數可以用明確或隱含的方法被通知(signaled)。當一個CU被編入跳過模式(skip mode),則上述CU和一個PU相關,且沒有重要殘量係數、已編解碼的動態向量差量(delta)或參考圖片索引。若當前CU的上述動態參數來自相鄰CU(包括時間上和空間上的相鄰)及VVC帶來的額外排程時,會指定(specified)一個合併模式。上述合併模式可應用於任何幀間預測CU。上述合併模式的替代方案是動態參數的明確傳遞,其中動態向量、每一個參考圖片列表的對應參考圖片索引、參考圖片列表使用旗標以及其他必要資訊會明確地傳遞給每一個CU。
以下發明內容僅是說明性的,並不旨在以任何方式進行限制。也就是說,以下發明內容僅供介紹本文描述的新穎和非顯而易見之技術的概念、亮點、好處和優勢。在下面的實施方式中進一步描述了選擇的且不是所有的實施例。因此,以下發明內容不旨在表明要求保護的申請專利範圍(claimed subject matter)之基本特徵,也不旨在用於確定要求保護的申請專利範圍。
本揭露提供一種視訊編解碼方法,包括:接收待編碼或解碼的資料作為視訊的當前圖片的當前區塊;導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出;從該複數個梯度直方圖中選擇一梯度直方圖;基於所選擇的該梯度直方圖識別一或多個幀內預測模式;基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及使用所產生的該幀內預測對該當前區塊進行編碼或解碼。
在一些實施例中,基於當前區塊上側的重建像素導出第一梯度直方圖(histograms of gradient,簡稱HoG),基於當前區塊左側的重建像素導出第二HoG,以及基於當前區塊左側和上側的重建像素導出第三HoG 。在一些實施例中,多個HoG包括使用當前區塊的不同數量的相鄰線導出的HoG。
在一些實施例中,HoG的選擇基於位元流中用通知的語法元素。在一些實施例中,編碼器通過識別HoG中具有最高振幅的N個候選幀內預測模式,然後基於成本從N個候選幀內預測模式中選擇M個幀內預測模式,來從HoG識別一種或多種幀內預測模式。在一些實施例中,當前區塊的左上角處的重建像素不被用於導出第三HoG。
在一些實施例中,編碼器計算基於多個HoG識別的幀內預測模式的成本,並且基於計算的成本從多個HoG中選擇HoG。在一些實施例中,幀內預測模式的成本是藉由比較模板重建樣本與模板預測樣本之間的差異來計算的TM成本,其中該模板重建樣本與該當前區塊相鄰,該模板預測樣本由使用在該模板附近的L形參考區域的該幀內預測模式所產生。
在一些實施例中,多個HoG包括基於當前區塊的不同相鄰線導出的HoG。不同的相鄰線與不同的HoG產生索引相關聯。在一些實施例中,如果使用基於與第一HoG產生索引相關聯的相鄰線導出的HoG來導出第一幀內預測模式,則基於第一幀內預測模式的當前區塊的幀內預測是基於根據第一HoG產生索引識別出的L形參考區域。
本揭露還提供一種電子設備,包括:視訊編解碼器電路,配置為執行以下操作:接收要編碼或解碼的資料以作為視訊的當前圖片的當前區塊;導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出;從該複數個梯度直方圖中選擇一梯度直方圖;基於所選擇的該梯度直方圖識別一或多個幀內預測模式;基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及使用所產生的該幀內預測對該當前區塊進行編碼或解碼。
本揭露還提供一種視訊解碼方法,包括:接收待解碼的資料以作為視訊的當前圖片的當前區塊;導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出;從該複數個梯度直方圖中選擇一梯度直方圖;基於所選擇的該梯度直方圖識別一或多個幀內預測模式;基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及使用所產生的該幀內預測對該當前區塊進行重建。
本揭露還提供一種視訊編碼方法,包括:接收待編碼到位元流中的資料作為視訊的當前圖片的當前區塊;導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出;從該複數個梯度直方圖中選擇一梯度直方圖;基於所選擇的該梯度直方圖識別一或多個幀內預測模式;基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及使用所產生的該幀內預測對該當前區塊進行編碼以產生預測殘差。
在以下詳細描述中,通過範例的方式闡述了許多具體細節,以便提供對相關教導(teachings)的透徹理解。基於本文描述的教導的任何變化、推導及/或擴展都在本揭露的保護範圍內。在一些情況下,與此處揭露的一或多個實施案範例相關的眾所周知的方法、程式、元件及/或電路會以相對較高的層級進行描述而沒有細節,以避免不必要地模糊本揭露的教導的實施例。
一、幀內預測模式
幀內預測方法利用和當前預測單元(prediction unit;PU)相鄰的一參考層(reference tier)和複數幀內預測模式之一者來產生當前預測單元的預測變量(predictor)。幀內預測的方向可在一組模式中選擇,上述模式包括複數預測方向。對於每一個利用幀內預測進行編解碼的PU,一個索引會被使用並被編碼,用以從上述幀內預測模式選擇一者,由此產生對應的預測,接著可以推導和轉換殘量。
第1圖示出了不同方向的幀內預測模式。這些幀內預測模式被稱為方向性模式,且不被包括在DC模式或平面(planar)模式中。參照第1圖,共有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。每一個上述幀內預測模式也可被稱為一個幀內預測角度。為了捕捉自然生成的影片中展示的隨機邊緣方向,方向性幀內模式的數量可由33個(如同HEVC中所使用的)被拓展至65個,使得k的範圍變成±1至±16。這些更加密集的方向性幀內預測模式應用於所有大小的區塊,也同時應用於光度和色度幀內預測(luma and chroma intra predictions)。加上DC模式和平面模式,上述幀內預測模式的數量是35(或67)個。
在35個(或67個)幀內預測模式之中,一些(例如,3個或5個)模式被識別為用於當前預測塊中的幀內預測的最可能模式(most probable mode,簡稱MPM)的集合。編碼器可能會藉由通知(signaling)一個索引以選擇上述MPM之一者來降低位元率,而非藉由通知一個索引以選擇上述35(或67)個幀內預測模式之一者來降低位元率。例如,用於左方預測區塊的幀內預測模式和用於上方預測區塊的幀內預測模式會被用做MPM。當上述兩個相鄰區塊的幀內預測模式使用相同的幀內預測模式,上述幀內預測模式就能被用作MPM。當只有上述兩個相鄰區塊之一者可用且被編解碼為方向性模式時,上述方向性模式相鄰的兩個方向性模式可用做MPM。DC模式和平面模式也被認定為MPM以填入MPM集合的可用欄位中,尤其當上方或上部的相鄰區塊不可用或並非編解碼為幀內預測,或是當相鄰區塊內的幀內預測模式並非方向性模式時。若上述當前預測區塊的幀內預測模式是上述MPM集合中的模式之一者,一或二個位元將被用於指示上述模式是哪一個。否則,當前區塊的幀內預測模式和上述MPM集合的任何一種模式都不相同,並且上述當前區塊會被編解碼為非MPM模式。上述非MPM模式總共有32個,並且有一固定長度(五位元)的編解碼方法被應用於指示這個模式。
MPM列表是基於左方和上方相鄰區塊的幀內模式建構。假設左方相鄰區塊的模式被標示為Left,上方相鄰區塊的模式被標示為Above,而統一的MPM列表可以被建構如下:
– 當相鄰區塊不可用時,其幀內模式默認設置為平面。
– 如果「Left」和「Above」模式都是非角度模式:
l MPM 列表→{平面,DC,V,H,V−4,V+4}。
– 如果「Left」和「Above」模式中之一個是角度模式,而另一個是非角度模式:
l 將模式 Max 設置為「Left」和「Above」中較大的模式。
l MPM 列表→{平面,Max,Max−1,Max+1,Max–2,Max+2}。
– 如果Left和Above皆為角度性模式且兩者相異:
l 將模式 Max 設置為「Left」和「Above」中較大的模式。
l 將模式「Min」設置為「Left」和「Above」中較小的模式。
l 如果 Max−Min 等於 1:
– MPM 列表→{平面,Left,Above,Min−1,Max+1,Min−2}
l 否則,如果 Max−Min 大於或等於 62:
– MPM 列表→{平面,Left,Above,Min+1,Max−1,Min+2}
l 否則,如果 Max−Min 等於 2:
– MPM 列表→{平面,Left,Above,Min+1,Min−1,Max+1}
l 否則:
– MPM 列表→{平面,Left,Above,Min−1,Min+1,Max−1}
– 如果Left和Above都是有角度的並且它們是相同的:
l MPM 列表→{平面,Left,Left-1,Left+1,Left-2,Left+2}
傳統角度性幀內預測方向被定義為順時針45度至-135度。在VVC中,一些傳統角度性幀內預測模式被自適應地替換成用於非方形區塊的廣角性幀內預測模式。替換的上述模式可利用原始模式索引來指示,上述索引在解析後被重新映射至廣角性模式的索引。
對於一些實施例,幀內預測模式的總數量是不會改變的(即67個),並且幀內模式編解碼方法不會改變。為了支援這些預測方向,定義一個長度為2W+1的上部參考模板和一個長度為2H+1的左方參考模板。第2A圖及第2B圖概念性地展示了為支援不同長寬比例(aspect ratio)非方形區塊的廣角方向性模式而被延展長度的上述上部參考模板和上述左方參考模板。
廣角方向性模式被替換的數量取決於一個區塊的長寬比例。不同長寬比例的不同區塊被替換的幀內預測模式如下表1所示。
[表1]被廣角模式替換的幀內預測模式
二、 基於模板的幀內模式推導 (TIMD)
長寬比例 | 被替換的幀內預測模式 |
W / H == 16 | 模式2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 |
W / H == 8 | 模式2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 |
W / H == 4 | 模式2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
W / H == 2 | 模式2, 3, 4, 5, 6, 7, 8, 9 |
W / H == 1 | 無 |
W / H == 1/2 | 模式59, 60, 61, 62, 63, 64, 65, 66 |
W / H == 1/4 | 模式57, 58, 59, 60, 61, 62, 63, 64, 65, 66 |
W / H == 1/8 | 模式55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66 |
W / H == 1/16 | 模式53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66 |
對於模式選擇,可以通過計算重建樣本和預測樣本之間的成本來應用模板匹配方法。示例之一是基於模板的幀內模式推導(TIMD)。 TIMD 是一種編解碼方法,其中通過使用編碼器和解碼器兩處的相鄰模板來間接導出 CU 的幀內預測模式,而不是由編碼器向解碼器發送準確的幀內預測模式。
第3圖示出了使用基於模板的幀內模式推導(TIMD)來間接地為當前區塊300推導一個幀內預測模式。如圖所示,當前區塊300的相鄰像素被用作模板310。對於每個候選幀內模式,使用位於模板310上側和左側的L形參考區域320中的參考樣本來產生模板310的預測樣本。這些參考樣本位於模板310上側和左側的L形參考區域320中。根據模板的重建樣本和由候選幀內模式產生的模板的預測樣本之間的差異(例如,絕對變換差值之和(Sum of Absolute Transformed Difference,簡稱SATD))來計算候選幀內模式成本的模板匹配(template matching,簡稱TM)成本。選擇成本最小的候選幀內預測模式(如在DIMD模式中)並用於CU的幀內預測。候選模式可能包括67種幀內預測模式(如在VVC中)或擴展到131種幀內預測模式。MPM可能被用來指示CU的方向資訊。因此,為了減少幀內模式搜索空間並利用CU的特性,從MPM列表間接地推導出幀內預測模式。
在一些實施例中,對於MPM列表中的每個幀內預測模式,計算模板的預測樣本和重建樣本之間的SATD作為幀內模式的TM成本。選擇具有最小SATD的前兩種幀內預測模式作為TIMD模式。這兩種TIMD模式在應用位置相關幀內預測組合(Position dependent intra prediction combination,簡稱PDPC)過程後與權重融合,並且這種加權幀內預測用於對當前CU進行編解碼。位置相關幀內預測組合(PDPC)包含在 TIMD 模式的推導中。
將兩個選定模式(模式1和模式2)的成本與閾值進行比較,在測試中應用成本因子2,如下所示:
模式2成本<2*模式1成本
如果此條件為真,則應用預測融合,否則僅使用模式1。模式的權重根據其 SATD 成本計算如下:
權重1 =模式2成本/(模式1成本+模式2成本)
權重2 = 1 - 權重1
三、解碼器端幀內模式推導 (DIMD)
解碼器端幀內模式推導(decoder side intra mode derivation;DIMD)是指兩個幀內預測模式/角度/方向由一個區塊的相鄰重建樣本(或模板)推導而來的一種技術,並且上述兩個預測變量被與平面模式預測變量組合,權重則來自梯度(gradient)。上述DIMD模式被用以作為一替代預測模式且始終在高複雜度位元率失真最佳化(rate distortion optimization;RDO)模式下檢查。為了間接(implicitly)推導一個區塊的幀內預測模式,編碼器和解碼器端皆會執行一個材質梯度分析。這個程式始於一個具有65個條目(entry)的空白梯度直方圖(histogram of gradient;HoG),對應65個角度性/方向性幀內預測模式。在材質梯度分析期間判定這些條目的振幅。
執行DIMD的視訊編解碼器執行以下步驟:在第一步驟中,視訊編解碼器(coder)分別從當前區塊的左側和上側挑選T=3行(column)和線(line)的模板。該區域用作基於梯度的幀內預測模式推導的參考。在第二步驟中,將水平和垂直索伯(Sobel)濾波器應用於所有 3×3 視窗位置,以模板的中間的線的像素為中心。在每個視窗位置, 索伯濾波器將純水平和垂直方向的強度分別計算為G
x和G
y。然後,視窗的材質角度計算如下:
角度(angle) = arctan(Gx/Gy)
它可以轉換為 65 種角度幀內預測模式之一。一旦當前視窗的幀內預測模式索引被導出為idx ,則其在 HoG[idx] 中的條目的振幅會被下述加法更新:
振幅(ampl) = |Gx| + |Gy|
第4圖示出了使用解碼器端幀內模式推導(DIMD)來間接導出當前區塊的幀內預測模式。該圖示出了在對模板415中的所有像素位置應用上述操作之後計算的示例梯度直方圖(HoG)410,模板415包括當前區塊400周圍的像素樣本的相鄰線。一旦計算了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 的預測融合或組合預測可寫為:
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)列表中,因此DIMD過程在建構MPM列表之前執行。 DIMD 塊的基本(primary)推導幀內模式被儲存在一個區塊中,且被用於建構相鄰區塊的MPM列表。
四、具有多個 HoG 的 DIMD
本揭露的一些實施例提供了一種用於提高DIMD預測精度或編解碼性能的方法。在一些實施例中,為了減少計算,HoG計算基於部分選擇的相鄰視窗位置。對於一些實施例,視訊編解碼器可以選擇中上、右上、左中、左下相鄰視窗位置來應用索伯濾波器來構建HoG。視訊編碼器還可以選擇偶數或奇數相鄰視窗位置來應用索伯濾波器來構建 HoG。
在一些實施例中,當對視訊進行編碼時,構建三個HoG,包括:左側HoG、上側HoG和原始左上側HoG。從這些HoG中的每一個導出兩個或更多個DIMD幀內模式(例如,第4圖的M 1和M2)。為了決定最終的DIMD模式,將成本評估過程(例如,高複雜性RDO過程)應用於從三個HoG中的每一個導出的兩個或更多個DIMD模式中的每一個。在一些實施例中,在位元流中添加額外的語法元素以指示哪一側(左/上/左上)用於HoG累積以導出DIMD幀內模式。
第5A-5C圖概念性地示出了從當前區塊500的複數個不同HoG導出的DIMD幀內模式。第5A圖示出了基於模板區域515A累積的HoG 510A。模板區域515A的像素樣本包括當前區塊在其上側和左側的相鄰線。(因此,HoG 510A是左上側HoG。)基於HoG 510A的兩個最高累積振幅來識別幀內模式M
A1和M
A2。
第5B圖示示出了基於模板區域515B累積的HoG 510B。模板區域515B的像素樣本由當前區塊左側的相鄰線構成。(因此,HoG 510B是左側HoG。)基於HoG 510B的兩個最高累積振幅來識別兩個幀內模式M
B1和M
B2。
第5C圖示示出了基於模板區域515C累積的HoG 510C。模板區域515C的像素樣本由當前區塊在其上側的相鄰線構成。(因此,HoG 510C是上側HoG。)基於HoG 510C的兩個最高累積振幅來識別兩個幀內模式M
C1和M
C2。
在一些實施例中,為了判定最終的DIMD幀內模式,由三個HoG導出的DIMD幀內模式的模板匹配(TM)成本可以用於選擇三個(左/上/左上)HoG之一來導出最終DIMD 幀內模式。(幀內模式的TM成本已在上面的第二節中描述。)如第5A-5C圖所示,視訊編解碼器可以基於針對DIMD幀內模式M
A1、M
A2、M
B1、M
B2、M
C1、M
C2計算的TM成本來選擇三個HoG 510A~510C之一。(TM成本是基於分別與模板區域515A、515B和515C相鄰的L形參考區域520A、520B和520C計算的)。
例如,在一些實施例中,評估並比較了三個HoGs(例如,具有最高累積的幀內方向,分別為HoG 510A~510C的M
A1、M
B1、M
C1)。選擇TM成本在三個HoGs中最低的HoG為第一DIMD幀內模式,以為當前區塊提供最終的DIMD幀內模式。(因此,如果M
B1成本最低,則選擇HoG 510B)。亦可於每個HoG使用其他的成本評估選擇三個HoG中的一個,例如使用第一DIMD幀內模式的TM成本加上第二DIMD幀內模式的TM成本、或者兩個TM成本的加權和之類的。
在一些實施例中,通過上述顯式HoG側或間接HoG側選擇,不同側的HoG被約束為不同的可選擇的幀內模式集合。下面的表2顯示了一種可能的實現方式。
[表2]
DIMD HoG 側 | 可選擇的幀內模式 |
左+上 | 2, 3, 4, 5, ……, 64, 65, 66 |
左 | 2, 3, 4, 5, ……, 33, 34, 35 |
上 | 33, 34, 35, ……, 64, 65, 66 |
利用模式選擇約束,從左側HoG導出的DIMD幀內模式與從上側HoG導出的DIMD幀內模式不同的可能性更高。在表2中,左側的可選模式和上側的可選模式之間存在一些重疊(模式33、34、35)。因此,左側HoG和上側HoG仍然有機會導出相同的DIMD幀內模式。
在一些實施例中,使用表3並且從左側和從上側導出的幀內模式是不同的(無重疊)。
[表3]
DIMD HoG 側 | 可選擇的幀內模式 |
左+上 | 2, 3, 4, 5, ……, 64, 65, 66 |
左 | 2, 3, 4, 5, ……, 32, 33, 34 |
上 | 35, 36, 37, ……, 64, 65, 66 |
為了決定使用哪個表(表2或表3),在一些實施例中視訊編解碼器可以壓縮視訊資料庫以檢查編解碼增益並選擇預定義表用於編解碼。在一些實施例中,定義一組可能的表並且視訊編解碼器可以用通知語法元素以選擇用於編解碼的最佳表。
在一些實施例中,使用上述的顯式或間接HoG側選擇,與三個DIMD HoG側相關的可選擇的幀內/DIMD模式是完全不同的(沒有重疊)。表4顯示了一種對於131個角度模式領域的實現,其中不同HoGs的幀內模式沒有重疊:
[表4]
DIMD HoG 側 | 於 131 個角度模式領域可選擇的幀內模式 |
左 | 2, 6, 10, 14, 18, 22, …, 130 |
上 | 4, 8, 12, 16, 20, 24, …, 128 |
左+上 | 3, 5, 7, 9, 11, 13, …, 131 |
在表4中,DIMD過程應用於131個幀內角度模式領域,左側的HoG提供了來自(4××i+2)幀內模式的兩個幀內模式,其中i=0…32,右側的HoG提供了來自(4×j+4)幀內模式的兩個幀內模式,其中j=0…32,左上側的HoG提供了來自(2×k +3)幀內模式的兩個幀內模式,其中k=0…64。表5顯示了67個角度模式領域的實現方式,其中不同HoG的幀內/DIMD模式沒有重疊:
[表5]
DIMD HoG 側 | 於 67 個角度模式領域可選擇的幀內模式 |
左 | 2, 6, 10, 14, 18, 22, …, 66 |
上 | 4, 8, 12, 16, 20, 24, …, 64 |
左+上 | 3, 5, 7, 9, 11, 13, …, 65 |
在表5中,假設DIMD過程應用於67個幀內角度模式領域,左側的HoG提供了來自(4×i+2)幀內模式的兩個幀內模式,其中i=0…16,右側的HoG提供了來自(4×j+4)幀內模式的兩個幀內模式,其中j=0…16,左上側的HoG提供了來自(2×k+3)幀內模式的兩個幀內模式,其中k=0…63。
在一些實施例中,用於在DIMD過程中計算HoG的相鄰線的數量可以在PPS、SPS、圖片標頭、切片標頭、CTU級語法中用訊號通知,或者根據其他語法間接導出。例如,在當前區塊大小小於或大於閾值時,DIMD過程可能使用更多的鄰近線(亦即,超過3條線)來計算HoG。第6A-6C圖示出了一些實施例中的當存在額外相鄰線時的DIMD過程。
如圖所示,原始的3x3索伯濾波器被應用到額外相鄰線以產生額外HoG,因此存有多個左側HoG 610A~612A、多個上側HoG 610B~612B、以及多個左上側HoG 610C~612C(所以總共有九個 HoG)。每個HoG對應於距當前區塊不同距離處的索伯視窗的一次掃描。在一些實施例中,當前區塊的複數個相鄰線中的每一個被分配一HoG產生索引,例如,與當前區塊直接相鄰的相鄰線被分配一HoG產生索引0,而與當前區塊最接近的下一條相鄰線被分配一HoG產生索引1等。在該示例中,HoG 610A、610B、610C對應於以相鄰線1(HoG產生索引1)為中心的索伯掃描,HoG 611A、611B、611C對應於以相鄰線2(HoG產生索引2)為中心的索伯掃描,HoG 612A、612B、612C對應於以相鄰線3(HoG產生索引3)為中心的索伯掃描。
每個 HoG 用於識別兩個(或多個)DIMD幀內模式。第二節中描述的TM成本過程用於判定這些 DIMD 幀內模式的成本。視訊編解碼器可以選擇九個HoG之一作為產生最終DIMD幀內模式的基礎。例如,如果HoG 611B具有最低成本,則從選自當前區塊的HoG 611B(HoG產生索引2)中選擇最終的DIMD幀內模式。
在一些實施例中,可以使用更大的視窗(以及具有更大內核的索伯濾波器)來累積HoG,使得提供最終(例如,兩個)DIMD幀內模式的HoG的選擇仍然來自三個HoG(左/上/左上) 之一。
對於一些實施例,DIMD HoG累積和幀內預測產生過程是正交的。 DIMD HoG累積可以基於當前區塊的最近的L形參考區域或相鄰線來執行,而幀內預測產生可以參考多個L形參考區域或相鄰線。在一些實施例中,多個L形區域可以應用於DIMD HoG累積和幀內預測產生兩者,使得L形的HoG產生的一索引(或多個索引)可以從DIMD HoG累積過程攜帶到幀內預測產生過程。此外,與所選擇的L形的HoG產生的一索引(或多個索引)相對應的產生預測可以在幀內預測產生過程中被重複使用。兩個進程(DIMD HoG 和幀內預測)之間的共享計算可以重複使用,以減少計算負載。更一般地,用於產生當前區塊的幀內預測像素(用於各個候選幀內模式的TM成本或用於當前區塊的最終幀內預測)的相鄰線或參考區域,可以基於通過該相鄰線累積的DIMD HoG和識別DIMD幀內模式的HoG產生索引來識別。
第7A-7B圖示出了基於用於導出當前區塊600的DIMD幀內模式的相鄰線來識別用於產生幀內預測的參考區域。圖7A示出了通過索伯掃描以HoG產生索引2產生的HoG 611A。HoG 611A用於識別兩個DIMD幀內模式M
A3和M
A4。基於幀內模式M
A3和M
A4(用於TM成本和/或用於最終幀內預測)的幀內預測像素是基於L形區域712來產生的,L形區域712是基於HoG產生索引2來識別的。
圖7B示出了通過索伯掃描以HoG產生索引3產生的HoG 612A。HoG 612A用於識別兩個DIMD幀內模式M
A5和M
A6。基於幀內模式M
A5和M
A6(用於TM成本和/或用於最終幀內預測)的幀內預測像素是基於L形區域713來產生的,L形區域713是基於HoG產生索引3來識別的,其更遠比基於HoG產生索引2識別的L形區域712更遠離當前區塊600。
在一些實施例中,為了減少HoG的計算量,從HoG累積中消除了來自左上角位置的梯度。第8A-8B圖示出了從HoG累積中消除左上角的位置。對於當前區塊800,圖8A示出了當沒有位置被消除時,使用於左上側HoG的位置。圖8B示出了當從HoG累積中消除左上角的位置時,所消除的用於左上側HoG的位置。在一些實施例中,這些位置總是從HoG積累中消除。在一些實施例中,從HoG累積中消除這些位置是依據基於區塊大小的某些判定。例如,如果當前區塊寬度加上當前區塊高度或者當前區塊面積大於預定義的閾值,則丟棄這些角落位置的梯度,亦即只有來自上側和左側的梯度才會被包含在HoG計算中。
在一些實施例中,當DIMD用於當前區塊時,從重建的相鄰樣本判定具有最高梯度值的兩個幀內模式,並且這兩個幀內模式的預測進一步與平面模式預測器組合(作為加權和)以產生最終的幀內預測器。當決定前兩個幀內模式時,視訊編解碼器可以將每個幀內模式(作為當前候選幀內模式)的梯度與當前最佳和第二最佳幀內模式(就具有最高梯度值而言)進行比較。如果當前候選幀內模式的梯度與當前最佳和/或第二最佳幀內模式相同,則視訊編解碼器還可以將當前幀內預測模式的TIMD成本與當前最佳和/或第二最佳幀內模式的TIMD成本進行比較。具體而言,如果當前候選幀內模式具有與當前最佳和/或第二最佳幀內模式相同的梯度振幅,則計算候選幀內模式的模板成本作為模板的預測樣本和重建樣本之間的SATD 。如果當前候選幀內模式具有比當前最佳和/或第二最佳幀內模式更低的模板成本,則選擇當前候選幀內模式作為當前最佳或第二最佳幀內模式。
在一些實施例中,在構建DIMD HoG之後,選擇具有最高梯度值的K個候選幀內模式,並對這K個候選幀內模式應用TM過程來決定最終的幀內模式作為 DIMD 幀內模式。具體而言,針對具有最高梯度值的這K個候選幀內模式計算TM成本(如第二節所述)。如果具有非零振幅的候選幀內模式的數量小於K ,則視訊編碼器將僅計算具有非零振幅的候選幀內模式的TM成本。
在一些實施例中,如上所述的DIMD過程可以用作第一遍(first pass)選擇以產生具有最高和第二高梯度值的兩個角度模式候選。然後將 TM 過程用作第二遍(second pass)選擇,以完善在第一遍中選擇的幀內模式。在一些實施例中,如果在第一遍中由DIMD過程選擇的兩個幀內模式是M和N,則將TM應用於幀內模式{M-1,M,M+1}和{N-1,N,N+1}用於完善兩種幀內模式DIMD。然而,兩種改進的DIMD幀內模式可以是相同的。在這種情況下,為了具有兩種不同的DIMD幀內模式,可以應用預定義的規則來選擇第二幀內模式。例如,視訊編解碼器可以從列表{M,N,M-1,M+1,N-1,N+1}中選擇與精煉的單DIMD幀內模式不同的第二模式。
五、視訊編碼器之一例
第9圖示出了可以實現解碼器端幀內模式推導(DIMD)的示例視訊編碼器(video encoder)900。如圖所示,視訊編碼器900從視訊源905接收輸入視訊訊號,並將該訊號編碼為位元流995。視訊編碼器900具有用於對來自視訊源905的訊號進行編碼的若干構件或模組,至少包括選自以下的一些構件:變換模組910、量化模組911、逆量化模組914、逆變換模組915、幀內圖片估計模組920、幀內預測模組925、動態補償模組930、動態估計模組935、迴路內濾波器945、重建圖片緩衝器950、動態向量(motion vector,簡稱MV)緩衝器965、MV預測模組975以及熵(entropy)編碼器990。動態補償模組930和動態估計模組935是幀間預測模組940的一部分。
在一些實施例中,此些模組910~990是由一個或多個處理單元(例如處理器)的計算設備或電子設備執行的軟體指令模組。在一些實施例中,此些模組910~990是由電子設備的一個或多個積體電路(integrated circuit,簡稱IC)實現的硬體電路模組。雖然模組910~990被描繪為分開的模組,但是一些模組可以合併成一個單一的模組。
視訊源905提供了一個原始視訊訊號,該訊號呈現了未進行壓縮的每個視訊幀的像素資料。減法器908計算視訊源905的原始視訊像素資料與來自動態補償模組930或幀內預測模組925的預測像素資料之間的差異以作為預測殘差909。變換模組910將差異(或殘差像素資料或殘差訊號)轉換成變換係數916(例如,進行離散餘弦變換,亦稱DCT)。量化模組911將變換係數916量化成量化資料(或量化係數)912,該量化資料由熵編碼器990編碼成位元流995。
逆量化模組914對量化資料(或量化係數)912進行逆量化以得到變換係數,並且逆變換模組915對變換係數進行逆變換以產生重建殘差919。重建殘差919與預測像素資料913相加以產生重建像素資料917。在一些實施例中,重建像素資料917被臨時儲存在一個(圖中未描繪的)線緩衝器(line buffer)中以進行幀內圖片預測和空間MV預測。重建像素經由迴路內濾波器945過濾並儲存在重建圖片緩衝器950中。在一些實施例中,重建圖片緩衝器950是視訊編碼器900外部的儲存器。在一些實施例中,重建圖片緩衝器950是視訊編碼器900內部的儲存器。
幀內圖片估計模組920根據重建像素資料917進行幀內預測以產生幀內預測資料。幀內預測資料被提供給熵編碼器990以編碼成位元流995。幀內預測資料也被幀內預測模組925用來產生預測像素資料913。
動態估計模組935通過產生對儲存在重建圖片緩衝器950中的先前解碼幀的參考像素資料的MV來執行幀間預測。這些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(motion compensation MV,簡稱MC MV)之間的差被熵編碼器990編碼到位元流995中。
熵編碼器990通過使用諸如上下文自適應二進制算術編解碼(context-adaptive binary arithmetic coding,簡稱 CABAC)或霍夫曼編碼(Huffman encoding)之類的熵編解碼技術將各種參數和資料編碼到位元流995中。熵編碼器990將各種標頭元素、標誌以及量化係數912和殘餘動態資料作為語法元素編碼到位元流995中。位元流995接著被儲存在儲存器件中或通過通訊媒體如網路傳輸到解碼器。
迴路內濾波器945對重建的像素資料917執行濾波或平滑操作以減少編解碼的偽影,特別是在像素區塊的邊界處。在一些實施例中,由迴路內濾波器945執行的濾波或平滑操作包括解塊濾波器(deblock filter,簡稱DBF)、樣本自適應偏移(sample adaptive offset,簡稱SAO)和/或自適應迴路濾波器(adaptive loop filter,簡稱ALF)。
第10圖示出了基於多個HoG實現DIMD的視訊編碼器900的一部分。具體而言,該圖示出了視訊編碼器900的幀內預測模組925的構件。如圖所示,幀內預測模組925包括梯度累積模組1030、候選HoG儲存器1020、幀內模式選擇模組1010和幀內預測產生模組1040。幀內預測模組925可以使用這些模組來對亮度和色度分量兩者執行DIMD幀內預測。
梯度累積模組1030從重建圖片緩衝器950接收當前區塊的相鄰樣本並且計算不同幀內模式方向的梯度振幅。為候選HoG儲存器1020中的不同HoG產生並累積梯度振幅。不同HoG基於相鄰樣本的不同子集和/或不同數量的相鄰線。在一些實施例中,每個HoG與一個HoG產生索引相關聯,其標識了用於導出HoG的相鄰線。
幀內模式選擇模組1010從候選HoG儲存器1020中儲存的不同HoG檢查候選幀內模式1025。幀內模式選擇模組1010可以從每個HoG識別具有最高累積振幅的一組幀內模式。幀內模式選擇模組1010然後計算那些識別出的幀內模式的模板匹配(TM)成本。TM成本是基於由重建圖片緩衝器950提供的參考樣本(在L形參考區域中)和當前區塊的相鄰樣本來計算的。在一些實施例中,用於候選幀內模式的TM成本計算的參考樣本是基於提供候選幀內模式的HoG的HoG產生索引來識別。基於所計算的TM成本,幀內模式選擇模組1010從所選擇的HoG中選擇一HoG和一組DIMD幀內模式作為最終幀內預測模式1015。
幀內預測產生模組1040使用最終幀內預測模式1015來產生當前區塊的幀內預測1045。最終預測模式1015可以包括兩個或更多個DIMD幀內模式,並且幀內預測產生模組1040可以基於多個DIMD幀內模式從重建圖片緩衝器950取得多個預測/預測器。所取得的多個預測器被混合以產生要用作預測像素資料913的幀內預測1045。
第11圖概念性地示出了使用多個HoG來對當前區塊執行幀內預測的過程1100。在一些實施例中,實現編碼器900的計算設備的一個或多個處理單元(例如,處理器)通過執行儲存在計算機可讀媒體中的指令來執行過程1100。在一些實施例中,實現編碼器900的電子設備執行過程1100。
在步驟1110,編碼器接收資料,其要被編碼為視訊的當前圖片中的當前像素區塊。
在步驟1120,編碼器導出不同幀內預測角度的複數個梯度直方圖(HoG)。不同的HoG是基於與當前區塊相鄰的不同組重建像素而導出的。在一些實施例中,第一HoG是基於在當前區塊上側的重建像素導出的,第二HoG是基於在當前區塊左側的重建像素導出的,第三HoG是基於在當前區塊左側和上側的重建像素導出的。在一些實施例中,多個HoG包括使用當前區塊的不同數量的相鄰線導出的HoG。
在步驟1130,編碼器從多個HoG中選擇一個HoG。在步驟1135,編碼器基於選定的HoG識別一個或多個幀內預測模式。在一些實施例中,HoG的選擇是基於位元流中訊號化的語法元素。在一些實施例中,編碼器藉由識別HoG中振幅最高的N個候選幀內預測模式,然後從N個候選幀內預測模式中基於成本選擇M個幀內預測模式,而從HoG中識別一個或多個幀內預測模式。在一些實施例中,未使用位於當前區塊左上角的重建像素來導出第三HoG。
在一些實施例中,編碼器計算基於多個HoG識別出來的幀內預測模式的成本,並根據計算出來的成本從多個HoG中選擇HoG。在一些實施例中,幀內預測模式的成本是藉由比較模板重建樣本與模板預測樣本之間的差異來計算,其中,模板重建樣本與當前區塊相鄰,模板預測樣本由使用在模板附近的L形參考區域的幀內預測模式所產生。
在步驟1140,編碼器基於所選擇的HoG識別出來的一個或多個幀內預測模式產生當前區塊的幀內預測。在一些實施例中,多個HoG包括基於當前區塊的不同相鄰線導出來的HoG,不同相鄰線與不同HoG產生索引相關聯。在一些實施例中,如果基於與第一HoG產生索引相關聯的相鄰線導出的一HoG用於導出第一幀內預測模式,則當前區塊的基於此第一幀內預測模式的幀內預測是基於由第一HoG產生索引識別出來的L形參考區域產生的。
在步驟1150,編碼器使用所產生的幀內預測對當前區塊進行編碼以產生預測殘差。
六、視訊解碼器之一例
在一些實施例中,編碼器可以用訊號通知(或產生)位元流中的一個或多個語法元素,使得解碼器可以從位元流解析所述一個或多個語法元素。
第12圖示出了可以實現解碼器端幀內模式推導(DIMD)的示例視訊解碼器1200。如圖所示,視訊解碼器1200是圖片解碼或視訊解碼電路,其接收位元流1295並將位元流的內容解碼成視訊幀的像素資料以供顯示。視訊解碼器1200具有用於解碼位元流1295的數個構件或模組,包括選自以下的一些構件:逆量化模組1211、逆變換模組1210、幀內預測模組1225、動態補償模組1230、迴路內濾波器1245、解碼圖片緩衝器1250、MV緩衝器1265、MV預測模組1275和解析器1290。動態補償模組1230是幀間預測模組1240的一部分。
在一些實施例中,模組1210~1290是由計算設備的一個或多個處理單元(例如,處理器)執行的軟體指令模組。在一些實施例中,模組1210~1290是由電子設備的一個或多個積體電路實現的硬體電路模組。儘管模組1210~1290被描繪為分開的模組,但某些模組可以合併成單一模組。
解析器(或熵解碼器)1290接收位元流1295並根據視訊編碼或圖片編碼標準定義的語法進行初始解析。解析出來的語法元素包括各種標頭元素、標誌以及量化資料(或量化係數)1212。解析器1290使用如上下文自適應二進制算術編碼(CABAC)或霍夫曼編碼等熵編碼技術來解析出各種語法元素。
逆量化模組1211對量化資料(或量化係數)1212進行逆量化以得到變換係數,逆變換模組1210對變換係數1216進行逆變換以產生重建殘差訊號1219。重建殘差訊號1219與來自幀內預測模組1225或動態補償模組1230的預測像素資料1213相加以產生解碼像素資料1217。解碼像素資料由迴路內濾波器1245進行濾波並儲存在解碼圖片緩衝器1250中。在一些實施例中,解碼圖片緩衝器1250是視訊解碼器1200外部的儲存器。在一些實施例中,解碼圖片緩衝器1250是視訊解碼器1200內部的儲存器。
幀內預測模組1225從位元流1295接收幀內預測資料,並根據此資料從解碼圖片緩衝器1250中儲存的解碼像素資料1217產生預測像素資料1213。在一些實施例中,解碼像素資料1217也儲存在一個線緩衝器(圖式未描繪)中,用於幀內圖片預測和空間MV預測。
在一些實施例中,解碼圖片緩衝器1250的內容用於顯示。顯示器件1255可檢索解碼圖片緩衝器1250的內容用於直接顯示,或者檢索解碼圖片緩衝器的內容到顯示緩衝器。在一些實施例中,顯示器件通過像素傳輸從解碼圖片緩衝器1250接收像素值。
動態補償模組1230根據動態補償MV(MC MV)從儲存在解碼圖片緩衝器1250中的解碼像素資料1217產生預測像素資料1213。藉由將從位元流1295接收到的殘餘動態資料與從MV預測模組1275接收到的預測MV相加來解碼出這些動態補償MV。
MV預測模組1275基於為解碼先前視訊幀而產生的參考MV(例如,用於執行動態補償的動態補償MV)來產生預測MV。 MV預測模組1275從MV緩衝器1265檢索先前視訊幀的參考MV。視訊解碼器1200將用於解碼當前視訊幀而產生的動態補償MV儲存在MV緩衝器1265中作為用於產生預測MV的參考MV。
迴路內濾波器1245對解碼像素資料1217執行濾波或平滑操作以減少編解碼偽影,特別是在像素區塊的邊界處。在一些實施例中,由迴路內濾波器1245執行的濾波或平滑操作包括解塊濾波器(DBF)、樣本自適應偏移(SAO)和/或自適應迴路內濾波器(ALF)。
第13圖示出了基於多個HoG實現DIMD的視訊解碼器1200的一部分。具體而言,該圖示出了視訊解碼器1200的幀內預測模組1225的構件。如圖所示,幀內預測模組1225包括梯度累積模組1330、候選HoG儲存器1320、幀內模式選擇模組1310和幀內預測產生模組1340。幀內預測模組1225可以使用這些模組來對亮度和色度分量兩者執行DIMD幀內預測。
梯度累積模組1330從解碼圖片緩衝器1250接收當前區塊的重建相鄰樣本並且計算不同幀內模式方向的梯度振幅。為候選HoG儲存器1320中的不同HoG產生和累積梯度振幅。不同HoG基於相鄰樣本的不同子集和/或不同數量的相鄰線。在一些實施例中,每個HoG與一個HoG產生索引相關聯,其標識了用於導出HoG的相鄰線。
幀內模式選擇模組1310從候選HoG儲存器1320中儲存的不同HoG檢查候選幀內模式1325。幀內模式選擇模組1310可以從每個HoG識別具有最高累積振幅的一組幀內模式。幀內模式選擇模組1310然後計算那些識別出的幀內模式的模板匹配(TM)成本。 TM成本是基於由解碼圖片緩衝器1250提供的參考樣本(在L形參考區域中)和當前區塊的相鄰樣本來計算的。在一些實施例中,用於候選幀內模式的TM成本計算的參考樣本是基於提供候選幀內模式的HoG的HoG產生索引來識別。基於所計算的TM成本,幀內模式選擇模組1310從所選擇的HoG中選擇一HoG和一組DIMD幀內模式作為最終幀內預測模式1315。
幀內預測產生模組1340使用最終幀內預測模式1315來產生當前區塊的幀內預測1345。最終幀內預測模式1315可以包括兩個或更多個DIMD幀內模式,並且幀內預測產生模組1340可以基於多個DIMD幀內模式從解碼圖片緩衝器1250取得多個預測/預測器。所取得的多個預測器被混合以產生要用作預測像素資料1213的幀內預測1345。
第14圖概念性地示出了使用多個HoG來對當前區塊執行幀內預測的過程1400。在一些實施例中,實現解碼器900的計算設備的一個或多個處理單元(例如,處理器)通過執行儲存在計算機可讀媒體中的指令來執行過程1400 。在一些實施例中,實現解碼器900的電子設備執行過程1400。
在步驟1410,解碼器接收資料,其要被解碼為視訊的當前圖片中的當前像素區塊。
在步驟1420,解碼器導出不同幀內預測角度的複數個梯度直方圖(HoG)。不同的HoG是基於與當前區塊相鄰的不同組重建像素而導出的。在一些實施例中,第一HoG是基於在當前區塊上側的重建像素導出的,第二HoG是基於在當前區塊左側的重建像素導出的,第三HoG是基於在當前區塊左側和上側的重建像素導出的。在一些實施例中,多個HoG包括使用當前區塊的不同數量的相鄰線導出的HoG。
在步驟1430,解碼器從多個HoG中選擇一個HoG。在步驟1435,解碼器基於所選擇的HoG來識別一種或多種幀內預測模式。在一些實施例中,HoG的選擇基於位元流中訊號化的語法元素。在一些實施例中,解碼器藉由識別HoG中振幅最高的N個候選幀內預測模式,然後從N個候選幀內預測模式中基於成本選擇M個幀內預測模式,而從HoG中識別一個或多個幀內預測模式。在一些實施例中,未使用位於當前區塊左上角的重建像素來導出第三HoG。
在一些實施例中,解碼器計算基於多個HoG識別的幀內預測模式的成本,並根據計算出來的成本從多個HoG中選擇HoG。在一些實施例中,幀內預測模式的成本是藉由比較模板重建樣本與模板預測樣本之間的差異來計算,其中,模板重建樣本與當前區塊相鄰,模板預測樣本由使用在模板附近的L形參考區域的幀內預測模式所產生。
在步驟1440,解碼器基於所選擇的HoG識別出來的一個或多個幀內預測模式產生當前區塊的幀內預測。在一些實施例中,多個HoG包括基於當前區塊的不同相鄰線導出來的HoG,不同相鄰線與不同HoG產生索引相關聯。在一些實施例中,如果基於與第一HoG產生索引相關聯的相鄰線導出的一HoG用於導出第一幀內預測模式,則當前區塊的基於此第一幀內預測模式的幀內預測是基於由第一HoG產生索引識別出來的L形參考區域產生的。
在步驟1450,解碼器通過使用所產生的幀內預測來重建當前區塊。解碼器然後可以提供重建的當前區塊以作為重建的當前圖片的一部分進行顯示。
七、電子系統之一例
許多上述特徵和應用被實現為軟體過程,這些軟體過程被指定為記錄在計算機可讀儲存媒體(也稱為計算機可讀媒體)上的一組指令。當這些指令由一或多個計算或處理單元(例如,一或多個處理器、處理器核心或其他處理單元)執行時,它們會導致處理單元執行指令中表示的動作。計算機可讀媒體的一例包括但不限於唯讀光碟 (read-only compact disc,簡稱CD-ROM)、快閃碟、隨機存取記憶體(random-access memory,簡稱RAM) 晶片、硬碟、可抹除可編程唯讀記憶體(erasable programmable read only memory,簡稱EPROM)、電性可抹除可編程唯讀記憶體(electrically erasable programmable read-only memory,簡稱EEPROM))等。計算機可讀媒體不包括無線或通過有線連接傳遞的載波和電子訊號。
在本說明書中,術語「軟體」意味著包括駐留在唯讀記憶體中的韌體或儲存在磁性儲存器中的應用程式,其可以被讀入記憶體以供處理器處理。此外,在一些實施例中,複數個軟體發明可以作為較大程式的子部分來實現,同時保留不同的軟體發明。在一些實施例中,複數個軟體發明也可以被實現為獨立的程式。最後,一起實現這裡描述的軟體發明的獨立程式的任何組合都在本揭露的範圍內。在一些實施例中,當軟體程式被安裝以在一或多個電子系統上運行時,定義了一或多個特定的機器實現,該機器實行並執行軟體程式的操作。
第15圖概念性地描繪了實現本揭露的一些實施例的電子系統1500。電子系統1500可以是電腦(例如,桌上型電腦、個人電腦、平板電腦等)、電話、PDA或任何其他種類的電子設備。這樣的電子系統包括各種類型的計算機可讀媒體和用於各種其他類型的計算機可讀媒體的介面。電子系統1500包括匯流排1505、處理單元1510、圖形處理單元(graphics-processing unit,簡稱GPU) 1515、系統記憶體1520、網路1525、唯讀記憶體(read only memory,簡稱ROM)1530、永久儲存器件1535、輸入器件1540和輸出器件 1545。
匯流排 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包括影印機和顯示器件,例如陰極射線管(cathode ray tubes,簡稱CRT)顯示器或液晶顯示器(liquid crystal displays,簡稱LCD),以及揚聲器或類似的音訊輸出器件。一些實施例包括同時用作輸入和輸出器件的器件,例如觸控螢幕。
最後,如第15圖所示,匯流排1505還通過網路適配器(圖式中未描繪)將電子系統1500耦合到網路1525。以這種方式,計算機可以是計算機網路的一部分(例如區域網路(local area network,簡稱LAN)、廣域網路(wide area network,簡稱WAN)或內聯網路,或複數個網路例如網際網路中的一個網路。電子系統1500的任何或所有元件皆可以結合本揭露使用。
一些實施例包括電子元件,例如微處理器、儲存器和記憶體,其將計算機程式指令儲存在機器可讀或計算機可讀媒體(或者稱為計算機可讀儲存媒體、機器可讀媒體、或機器可讀儲存媒體)中。此類計算機可讀媒體的一些示例包括 RAM、ROM、唯讀光碟 (read-only compact disc,簡稱CD-ROM)、可記錄光碟 (recordable compact disc,簡稱CD-R)、可重寫光碟 (rewritable compact disc,簡稱CD-RW)、唯讀數位多功能光碟(read-only digital versatile disc,例如 DVD-ROM、雙層 DVD-ROM),各種可刻錄/可重寫 DVD (recordable/rewritable DVD,例如DVD-RAM、DVD-RW、DVD+RW等等),快閃記憶體(flash memory,例如SD卡、mini-SD卡、微型 SD卡等)、磁性和/或固態硬碟驅動器、唯讀和可記錄 Blu-Ray® 光碟、超密度光碟、任何其他光學或磁性媒體以及軟碟。計算機可讀媒體可以儲存可由至少一個處理單元執行並且包括用於執行各種操作的指令集的計算機程式。計算機程式或計算機代碼的示例包括機器代碼,例如由編譯器產生的機器代碼,以及包括由計算機、電子元件或使用解釋器的微處理器執行的高級代碼的檔案。
雖然上述討論主要涉及執行軟體的微處理器或多核處理器,但上述許多功能和應用都是由一或多個積體電路執行的,例如專用積體電路 (application specific integrated circuit,簡稱ASIC) 或現場可編程閘陣列 (field programmable gate array,簡稱FPGA)。在一些實施例中,這樣的積體電路執行儲存在電路本身上的指令。此外,一些實施例執行儲存在可編程邏輯器件(programmable logic device,簡稱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」的可能性。
從上文中可以理解,為了說明的目的,本揭露已經描述了本揭露的各種實施方式,並且在不脫離本揭露的範圍和精神的情況下可以進行各種修改。因此,本揭露公開的各種實施方式並非旨在限制,真正的範圍和精神由所附申請專利範圍表示。
900:視訊編碼器
905:視訊源
908:減法器
909:預測殘差
910:變換模組
911:量化模組
916:變換係數
917:重建像素資料
919:重建殘差
920:幀內圖片估計模組
935:動態估計模組
950:重建圖片緩衝區
990:熵編碼器
1200:視訊解碼器
1217:解碼像素資料
1219:重建殘差訊號
1250:解碼圖片緩衝區
1255:顯示器設備
1290:解析器
1500:電子系統
1505:匯流排
1510:處理單元
1515:圖形處理單元(GPU)
1520:系統記憶體
1525:網路
1530:唯讀記憶體
1535:永久儲存器件
1540:輸入器件
1545:輸出器件
310,415:模板
712,713:L形區域
912,1212:量化資料(量化係數)
913,1213:預測像素資料
914,1211:逆量化模組
915,1210:逆變換模組
925,1225:幀內預測模組
930,1230:動態補償模組
940,1240:幀間預測模組
945,1245:迴路內濾波器
965,1265:MV緩衝區
975,1275:MV預測模組
995,1295:位元流
1010,1310:幀內模式選擇模組
1015,1315:最終幀內預測模式
1020,1320:候選HoG儲存器
1025,1325:候選幀內模式
1030,1330:梯度累積模組
1040,1340:幀內預測產生模組
1045,1345:幀內預測
1100,1400:過程
300,400,500,600:當前區塊
1110,1120,1130,1135,1140,1150:步驟
1410,1420,1430,1435,1440,1450:步驟
320,520A,520B,520C:L形參考區域
410,510A,510B,510C,610A~612A,610B~612B,610C~612C:梯度直方圖(HoG)
515A,515B,515C:模板區域
M1,M2,MA1~MA6,MB1~MB6,MC1~MC6:直方圖條
以下所包括的圖式是為了提供對本揭露進一步理解,並且被併入並構成本揭露的一部分。圖式展示了本揭露的實施例,並且與其描述一起用於解釋本揭露的原理。值得注意的是,圖式不一定是按比例繪製的,因為為了清楚地說明本揭露的概念,一些元件可能被顯示為與實際實施例中的尺寸不成比例。
第1圖示出了不同方向的幀內預測模式。
第2A-2B圖概念性地示出了具有擴展長度的上側和左側參考模板,用於支持不同縱橫比的非正方形塊的廣角方向模式。
第3圖示出了使用基於模板的幀內模式推導(template-based intra mode derivation,簡稱TIMD)來間接地導出當前區塊300的幀內預測模式。
第4圖示出了使用解碼器端幀內模式推導(decoder-side intra mode derivation,簡稱DIMD)來間接導出當前區塊的幀內預測模式。
第5A-5C圖概念性地示出了從當前區塊的複數個不同的HoG導出的DIMD幀內模式。
第6A-6C圖示出了一些實施例的當存在額外相鄰線時的DIMD過程。
第7A-7B圖示出了如何基於用於推導當前區塊的DIMD幀內模式的相鄰線來識別用於產生幀內預測的參考區域。
第8A-8B圖示出了從HoG累積中消除左上角的位置。
第9圖示出了可以實現DIMD幀內預測的示例視訊編碼器。
第10圖示出了基於多個HoG實現DIMD的視訊編碼器的一部分。
第11圖概念性地示出了使用多個HoG來對當前區塊執行幀內預測的過程。
第12圖示出了可以實現DIMD幀內預測的示例視訊解碼器。
第13圖示出了基於多個HoG實現DIMD的視訊解碼器的一部分。
第14圖概念性地示出了使用多個HoG來對當前區塊執行幀內預測的過程。
第15圖概念性地示出了用於實現本揭露的一些實施例的電子系統。
1400:過程
1410,1420,1430,1435,1440,1450:步驟
Claims (13)
- 一種視訊編解碼方法,包括: 接收待編碼或解碼的資料作為視訊的當前圖片的當前區塊; 導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出; 從該複數個梯度直方圖中選擇一梯度直方圖; 基於所選擇的該梯度直方圖識別一或多個幀內預測模式; 基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及 使用所產生的該幀內預測對該當前區塊進行編碼或解碼。
- 如請求項1之視訊編解碼方法,其中,該等梯度直方圖中的每一者用於識別不同組的一或多個幀內預測模式。
- 如請求項2之視訊編解碼方法,更包括:計算基於該複數個梯度直方圖所識別的該複數個幀內預測模式的成本,其中該所選擇的梯度直方圖是基於所計算的該成本從該複數個梯度直方圖中選擇。
- 如請求項3之視訊編解碼方法,其中,該複數個幀內預測模式的每一者的該成本是藉由比較模板重建樣本與模板預測樣本之間的差異來計算,其中該模板重建樣本與該當前區塊相鄰,該模板預測樣本由使用在該模板附近的L形參考區域的該幀內預測模式所產生。
- 如請求項2之視訊編解碼方法,更包括: 從具有最高振幅的該梯度直方圖中識別出N個候選幀內預測模式; 計算該N個候選幀內預測模式的每一者的成本; 基於所計算出來的成本,從該N個候選幀內預測模式中選擇M個幀內預測模式作為基於該梯度直方圖識別出的該複數個幀內預測模式。
- 如請求項1之視訊編解碼方法,其中該複數個梯度直方圖更包括: 第一梯度直方圖,基於在該當前區塊上側的重建像素而導出; 第二梯度直方圖,基於在該當前區塊左側的重建像素而導出;以及 第三梯度直方圖,基於在該當前區塊左側和上側的重建像素而導出。
- 如請求項6之視訊編解碼方法,其中在該當前區塊左上角的重建像素未用於導出該第三梯度直方圖。
- 如請求項1之視訊編解碼方法,其中該複數個梯度直方圖包括使用該當前區塊的不同數量的相鄰線導出的梯度直方圖。
- 如請求項1之視訊編解碼方法,其中該複數個梯度直方圖包括基於該當前區塊的不同相鄰線導出的梯度直方圖,該不同相鄰線與不同梯度直方圖產生索引相關聯,其中基於與該第一梯度直方圖產生索引相關聯的該相鄰線導出的該第一梯度直方圖用於導出第一幀內預測模式,其中該當前區塊的基於該第一幀內預測模式的幀內預測是基於由該第一梯度直方圖產生索引識別出的L形參考區域所產生的。
- 如請求項1之視訊編解碼方法,其中該梯度直方圖是基於在位元流中訊號化的語法元素所選擇的。
- 一種電子設備,包括: 視訊編解碼器電路,被配置為執行: 接收待編碼或解碼的資料以作為視訊的當前圖片的當前區塊; 導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出; 從該複數個梯度直方圖中選擇一梯度直方圖; 基於所選擇的該梯度直方圖識別一或多個幀內預測模式; 基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及 使用所產生的該幀內預測對該當前區塊進行編碼或解碼。
- 一種視訊解碼方法,包括: 接收待解碼的資料以作為視訊的當前圖片的當前區塊; 導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出; 從該複數個梯度直方圖中選擇一梯度直方圖; 基於所選擇的該梯度直方圖識別一或多個幀內預測模式; 基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及 使用所產生的該幀內預測對該當前區塊進行重建。
- 一種視訊編碼方法,包括: 接收待編碼到位元流中的資料以作為視訊的當前圖片的當前區塊; 導出針對不同幀內預測角度的複數個梯度直方圖,其中不同的梯度直方圖是基於與該當前區塊相鄰的不同組重建像素來導出; 從該複數個梯度直方圖中選擇一梯度直方圖; 基於所選擇的該梯度直方圖識別一或多個幀內預測模式; 基於所識別的該一或多個幀內預測模式產生該當前區塊的幀內預測;以及 使用所產生的該幀內預測對該當前區塊進行編碼以產生預測殘差。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263351505P | 2022-06-13 | 2022-06-13 | |
US63/351,505 | 2022-06-13 | ||
US202263369526P | 2022-07-27 | 2022-07-27 | |
US63/369,526 | 2022-07-27 | ||
PCT/CN2023/097019 WO2023241347A1 (en) | 2022-06-13 | 2023-05-30 | Adaptive regions for decoder-side intra mode derivation and prediction |
WOPCT/CN2023/097019 | 2023-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202406334A true TW202406334A (zh) | 2024-02-01 |
Family
ID=89192096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112120537A TW202406334A (zh) | 2022-06-13 | 2023-06-01 | 電子設備和視訊編解碼的方法 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202406334A (zh) |
WO (1) | WO2023241347A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10567801B2 (en) * | 2018-03-07 | 2020-02-18 | Tencent America LLC | Method and apparatus for video coding with primary and secondary transforms |
EP4009632A4 (en) * | 2019-08-06 | 2023-03-01 | Hyundai Motor Company | METHOD AND DEVICE FOR INTRA PREDICTION CODING OF VIDEO DATA |
US11051013B2 (en) * | 2019-11-12 | 2021-06-29 | Realtek Semiconductor Corp. | Device and method of selecting an intra mode of a coding unit |
CN115804093A (zh) * | 2020-06-03 | 2023-03-14 | 诺基亚技术有限公司 | 用于视频编码和视频解码的方法、装置和计算机程序产品 |
-
2023
- 2023-05-30 WO PCT/CN2023/097019 patent/WO2023241347A1/en unknown
- 2023-06-01 TW TW112120537A patent/TW202406334A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023241347A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI677234B (zh) | 二次轉換核心尺寸選擇 | |
US11936890B2 (en) | Video coding using intra sub-partition coding mode | |
US11778235B2 (en) | Signaling coding of transform-skipped blocks | |
US11785214B2 (en) | Specifying video picture information | |
US10999604B2 (en) | Adaptive implicit transform setting | |
US20240187576A1 (en) | Method, apparatus, and medium for video processing | |
TW202406334A (zh) | 電子設備和視訊編解碼的方法 | |
WO2023198187A1 (en) | Template-based intra mode derivation and prediction | |
TWI826079B (zh) | 視訊編解碼方法及裝置 | |
WO2023208063A1 (en) | Linear model derivation for cross-component prediction by multiple reference lines | |
WO2023197998A1 (en) | Extended block partition types for video coding | |
WO2023198105A1 (en) | Region-based implicit intra mode derivation and prediction | |
WO2023217235A1 (en) | Prediction refinement with convolution model | |
WO2023241340A1 (en) | Hardware for decoder-side intra mode derivation and prediction | |
WO2023131299A1 (en) | Signaling for transform coding | |
US20240187569A1 (en) | Method, apparatus, and medium for video processing | |
WO2023143173A1 (en) | Multi-pass decoder-side motion vector refinement | |
US20240031564A1 (en) | Method and apparatus for video coding using adaptive intra prediction precision | |
WO2021047590A1 (en) | Signaling of subpicture structures | |
TW202349953A (zh) | 視訊編解碼方法及其裝置 | |
TW202412524A (zh) | 使用複數條參考線進行預測 | |
TW202402054A (zh) | 用於候選清單的相似性閾值 | |
TW202408232A (zh) | 更新合併候選的運動屬性 | |
TW202349954A (zh) | 自適應編解碼的圖像以及視訊資料 | |
TW202408242A (zh) | 隱式多通道解碼器端運動向量細化 |