TWI835902B - 廣角內預測平滑及內插 - Google Patents
廣角內預測平滑及內插 Download PDFInfo
- Publication number
- TWI835902B TWI835902B TW108138733A TW108138733A TWI835902B TW I835902 B TWI835902 B TW I835902B TW 108138733 A TW108138733 A TW 108138733A TW 108138733 A TW108138733 A TW 108138733A TW I835902 B TWI835902 B TW I835902B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- video data
- intra
- prediction mode
- prediction
- Prior art date
Links
- 238000009499 grossing Methods 0.000 title claims description 60
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 98
- 239000013074 reference sample Substances 0.000 claims description 71
- 230000015654 memory Effects 0.000 claims description 56
- 238000003860 storage Methods 0.000 claims description 31
- 239000000523 sample Substances 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 description 30
- 238000013139 quantization Methods 0.000 description 30
- 238000000638 solvent extraction Methods 0.000 description 29
- 239000013598 vector Substances 0.000 description 22
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 241000023320 Luma <angiosperm> Species 0.000 description 16
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 16
- 238000005192 partition Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000011449 brick Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction 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
- 238000013461 design Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
一種用於解碼視訊資料之器件可經組態以:判定視訊資料之一區塊之一大小,其中視訊資料之該區塊包含一矩形的非正方形區塊;判定用於視訊資料之該區塊的一內預測模式;將對應於經判定內預測模式的參考樣本定位於視訊資料之該區塊之一相鄰區塊中;回應於用於視訊資料之該區塊的該內預測模式為一廣角內預測模式且對應於該區塊之一對角線方向,對該等參考樣本濾波以判定經濾波參考樣本;自該等經濾波參考樣本產生用於視訊資料之該區塊的一預測性區塊;自該預測性區塊判定視訊資料之該區塊的經解碼版本;及輸出視訊資料之該區塊之該經解碼版本。
Description
本發明係關於視訊編碼及視訊解碼。
數位視訊能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放機、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電傳會議器件、視訊串流器件及其類似者。數位視訊器件實施視訊寫碼技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分進階視訊寫碼(AVC)所定義之標準、高效率視訊寫碼(HEVC)標準、ITU-T H.265/高效率視訊寫碼(HEVC)及此等標準之擴展中描述的彼等視訊寫碼技術。視訊器件可藉由實施此類視訊寫碼技術來更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以減少或移除為視訊序列所固有的冗餘。對於基於區塊之視訊寫碼,視訊圖塊(例如,視訊圖像或視訊圖像的一部分)可分割成視訊區塊,視訊區塊亦可被稱作寫碼樹單元(CTU)、寫碼單元(CU)及/或寫碼節點。使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)之圖塊中的視訊區塊。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中的參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
一般而言,本發明描述用於編碼及解碼視訊資料之技術。詳言之,本發明描述使用廣角內預測的用於編碼及解碼視訊資料之實例技術。本發明之技術藉由組態視訊編碼器及解碼器以在此等濾波有利之更多寫碼情境中執行濾波(例如,內平滑濾波)來潛在地改良視訊寫碼品質。
根據一個實例,一種解碼視訊資料之方法包括:判定視訊資料之一區塊之一大小,其中視訊資料之該區塊包含一矩形的非正方形區塊;判定用於視訊資料之該區塊的一內預測模式;將對應於經判定內預測模式的參考樣本定位於視訊資料之該區塊之一相鄰區塊中;回應於用於視訊資料之該區塊的該內預測模式為一廣角內預測模式且對應於該區塊之一對角線方向,對該等參考樣本濾波以判定經濾波參考樣本;自該等經濾波參考樣本產生用於視訊資料之該區塊的一預測性區塊;自該預測性區塊判定視訊資料之該區塊的經解碼版本;及輸出視訊資料之該區塊之該經解碼版本。
根據另一實例,一種用於解碼視訊資料之器件包括一記憶體,其用於儲存視訊資料;及一或多個處理器,其經組態以執行以下操作:判定該視訊資料之一區塊的一大小,其中該視訊資料之該區塊包含一矩形的非正方形區塊;判定用於該視訊資料之該區塊的一內預測模式;將對應於經判定內預測模式的參考樣本定位於該視訊資料之該區塊之一相鄰區塊中;回應於用於該視訊資料之該區塊的該內預測模式為一廣角內預測模式且對應於該區塊之一對角線方向,對該等參考樣本濾波以判定經濾波參考樣本;自該等經濾波參考樣本產生用於該視訊資料之該區塊的一預測性區塊;自該預測性區塊判定該視訊資料之該區塊的經解碼版本;及輸出該視訊資料之該區塊之該經解碼版本。
一種儲存指令之電腦可讀儲存媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器:判定該視訊資料之一區塊的一大小,其中該視訊資料之該區塊包含一矩形的非正方形區塊;判定用於該視訊資料之該區塊的一內預測模式;將對應於經判定內預測模式的參考樣本定位於該視訊資料之該區塊之一相鄰區塊中;回應於用於該視訊資料之該區塊的該內預測模式為一廣角內預測模式且對應於該區塊之一對角線方向,對該等參考樣本濾波以判定經濾波參考樣本;自該等經濾波參考樣本產生用於該視訊資料之該區塊的一預測性區塊;自該預測性區塊判定該視訊資料之該區塊的經解碼版本;及輸出該視訊資料之該區塊之該經解碼版本。
根據另一實例,一種用於解碼視訊資料之裝置包括:用於判定視訊資料之一區塊之一大小的構件,其中視訊資料之該區塊包含一矩形的非正方形區塊;用於判定用於視訊資料之該區塊之一內預測模式的構件;用於將對應於經判定內預測模式的參考樣本定位於視訊資料之該區塊之一相鄰區塊中的構件;用於回應於用於視訊資料之該區塊的該內預測模式為一廣角內預測模式且對應於該區塊之一對角線方向,對該等參考樣本濾波以判定經濾波參考樣本的構件;用於自該等經濾波參考樣本產生用於視訊資料之該區塊的一預測性區塊的構件;用於自該預測性區塊判定視訊資料之該區塊的經解碼版本的構件;及用於輸出視訊資料之該區塊之該經解碼版本的構件。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優勢自實施方式、圖式及申請專利範圍將為顯而易見的。
本申請案主張以下項之權益:
2018年10月25日申請的美國臨時專利申請案62/750,749;及
2019年6月24日申請的美國臨時專利申請案62/865,872,
該等申請案之全部內容係以引用之方式併入本文中。
各種視訊寫碼標準(包括最近開發之高效視訊寫碼(HEVC)標準及當前處於開發中之多功能視訊寫碼(VVC)標準)包括用於視訊區塊之預測性寫碼模式,其中當前正經寫碼(亦即,經編碼或經解碼)之區塊係基於已經寫碼視訊資料區塊而預測。在內預測模式中,基於與當前區塊相同之圖像中的一或多個先前經寫碼相鄰區塊預測當前區塊,而在框間預測模式中,基於不同圖像中的已經寫碼區塊預測當前區塊。在框間預測模式中,判定先前經寫碼圖框之區塊以用作預測性區塊的過程有時被稱作運動估計,該運動估計通常由視訊編碼器執行,且識別及擷取預測性區塊之過程有時被稱作運動補償,該運動補償由視訊編碼器及視訊解碼器兩者執行。
為了使用內預測產生預測性區塊,視訊寫碼器(亦即,視訊編碼器或視訊解碼器)可基於參考樣本集而判定預測性區塊之樣本的值。該參考樣本集可包括在當前區塊左側成一行的當前圖像之樣本及在當前區塊上方成一列的當前圖像之樣本。視訊寫碼器使用參考樣本以取決於預測性區塊之內預測模式以不同方式判定預測性區塊之樣本的值。內預測之較早實施僅僅使用緊鄰正被寫碼之區塊的樣本之列或行。然而,內預測之較新實施可利用多個參考線,且另外或替代地亦可使用不緊鄰正被寫碼之區塊的線。
本發明描述用於使用內預測寫碼視訊資料之區塊的技術,且更特定言之,本發明描述用於改良廣角內預測之若干技術。本發明之技術藉由組態視訊編碼器及解碼器以在此等濾波有利之更多寫碼情境中執行濾波(例如,內平滑濾波)來潛在地改良視訊寫碼品質。
如本發明中所使用,術語視訊寫碼一般指視訊編碼或視訊解碼。類似地,術語視訊寫碼器可一般指代視訊編碼器或視訊解碼器。此外,本發明中關於視訊解碼所描述之某些技術亦可應用於視訊編碼,且反之亦然。舉例而言,視訊編碼器及視訊解碼器時常經組態以執行相同程序或互逆程序。又,作為判定如何編碼視訊資料之程序的部分,視訊編碼器通常執行視訊解碼。因此,除非相反地陳述,否則不應假定關於視訊解碼描述之技術亦無法作為視訊編碼之部分而執行,或反之亦然。
本發明亦可使用諸如當前層、當前區塊、當前圖像、當前圖塊等之術語。在本發明之情形中,術語當前意欲識別相較於(例如)經先前或已寫碼區塊、圖像及圖塊或尚待寫碼之區塊、圖像及圖塊的當前正被寫碼之區塊、圖像、圖塊等。
圖1為說明可進行本發明之技術的實例視訊編碼及解碼系統100的方塊圖。本發明之技術大體上係針對寫碼(編碼及/或解碼)視訊資料。大體而言,視訊資料包括用於處理視訊之任何資料。因此,視訊資料可包括原始未經編碼的視訊、經編碼視訊、經解碼(例如經重建構)視訊及視訊後設資料,諸如傳信資料。
如圖1中所示,在此實例中,系統100包括源器件102,其提供待由目的地器件116解碼及顯示之經編碼視訊資料。特定言之,源器件102經由電腦可讀媒體110將視訊資料提供至目的地器件116。源器件102及目的地器件116可包含廣泛範圍器件中之任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、電話手持機(諸如智慧型電話)、電視、攝影機、顯示器件、數位媒體播放機、視訊遊戲主控台、視訊串流器件或類似者。在一些情況下,源器件102及目的地器件116可經裝備用於無線通信,且由此可稱為無線通信器件。
在圖1之實例中,源器件102包括視訊源104、記憶體106、視訊編碼器200及輸出介面108。目的地器件116包括輸入介面122、視訊解碼器300、記憶體120及顯示器件118。根據本發明,源器件102之視訊編碼器200及目的地器件116之視訊解碼器300可經組態以應用本發明中描述的用於廣角內預測平滑及內插之技術。由此,源器件102表示視訊編碼器件之實例,而目的地器件116表示視訊解碼器件之實例。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件102可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣地,目的地器件116可與外部顯示器件介接,而非包括整合式顯示器件。
如圖1中所示的系統100僅為一個實例。大體而言,任何數位視訊編碼及/或解碼器件可執行用於廣角內預測平滑及內插之技術。源器件102及目的地器件116僅僅為此類寫碼器件之實例,其中源器件102產生經寫碼視訊資料以供傳輸至目的地器件116。本發明將「寫碼」器件稱為對資料執行寫碼(編碼及/或解碼)之器件。由此,視訊編碼器200及視訊解碼器300表示寫碼器件之實例,特定而言分別表示視訊編碼器及視訊解碼器之實例。在一些實例中,源器件102及目的地器件116可以實質上對稱之方式操作,使得源器件102及目的地器件116中之每一者包括視訊編碼及解碼組件。因此,系統100可支援源器件102與目的地器件116之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
大體而言,視訊源104表示視訊資料源(亦即,原始未經編碼的視訊資料)且將視訊資料之依序圖像(亦稱為「圖框」)提供至視訊編碼器200,該視訊編碼器編碼圖像之資料。源器件102之視訊源104可包括視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之原始視訊的視訊存檔及/或用於自視訊內容提供者接收視訊的視訊饋入介面。作為另一替代,視訊源104可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在每一狀況下,視訊編碼器200編碼所俘獲、所預先俘獲或電腦產生之視訊資料。視訊編碼器200可將圖像之接收次序(有時稱作「顯示次序」)重新配置成寫碼次序以供寫碼。視訊編碼器200可產生包括經編碼視訊資料之位元串流。源器件102接著可經由輸出介面108將經編碼視訊資料輸出至電腦可讀媒體110上以供藉由例如目的地器件116之輸入介面122接收及/或擷取。
源器件102之記憶體106及目的地器件116之記憶體120表示通用記憶體。在一些實例中,記憶體106、120可儲存原始視訊資料,例如來自視訊源104之原始視訊及來自視訊解碼器300之原始經解碼視訊資料。另外或可替代地,記憶體106、120可儲存可分別由例如視訊編碼器200及視訊解碼器300執行之軟體指令。儘管在此實例中記憶體106及記憶體120展示為與視訊編碼器200及視訊解碼器300分開,但應理解,視訊編碼器200及視訊解碼器300亦可包括功能上類似或等效目的之內部記憶體。此外,記憶體106、120可儲存例如自視訊編碼器200輸出及輸入至視訊解碼器300的經編碼視訊資料。在一些實例中,可分配記憶體106、120之部分作為一或多個視訊緩衝器,以例如儲存原始、經解碼及/或經編碼視訊資料。
電腦可讀媒體110可表示能夠將經編碼視訊資料自源器件102傳送至目的地器件116的任何類型的媒體或器件。在一個實例中,電腦可讀媒體110表示用以使源器件102能即時例如經由射頻網路或基於電腦之網路直接傳輸經編碼視訊資料至目的地器件116的通信媒體。輸出介面108可調變包括經編碼視訊資料之傳輸信號,且輸入介面122可根據通信標準(諸如無線通信協定)將所接收傳輸信號解調。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件102至目的地器件116的通信之任何其他裝備。
在一些實例中,源器件102可將經編碼資料自輸出介面108輸出至儲存器件112。類似地,目的地器件116可經由輸入介面122自儲存器件112存取經編碼資料。儲存器件112可包括各種分佈式或本端存取之資料儲存媒體中之任一者,諸如硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。
在一些實例中,源器件102可將經編碼視訊資料輸出至檔案伺服器114或另一中間儲存器件,其可儲存由源器件102產生之經編碼視訊。目的地器件116可經由串流傳輸或下載而自檔案伺服器114存取所儲存之視訊資料。檔案伺服器114可為能夠儲存經編碼視訊資料並將該經編碼視訊資料傳輸至目的地器件116的任何類型之伺服器器件。檔案伺服器114可表示網頁伺服器(例如用於網站)、檔案傳送協定(FTP)伺服器、內容遞送網路器件,或網路附接儲存(NAS)器件。目的地器件116可經由包括網際網路連接之任何標準資料連接自檔案伺服器114存取經編碼視訊資料。此可包括無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線(DSL)、電纜數據機等),或適合於存取儲存於檔案伺服器114上之經編碼視訊資料的兩者之一組合。檔案伺服器114及輸入介面122可經組態以根據串流傳輸協定、下載傳輸協定或其組合操作。
輸出介面108及輸入介面122可表示無線傳輸器/接收器、數據機、有線網路連接組件(例如乙太網路卡)、根據各種IEEE 802.11標準中之任一者而操作之無線通信組件,或其他實體組件。在輸出介面108及輸入介面122包含無線組件之實例中,輸出介面108及輸入介面122可經組態以根據蜂巢式通信標準(諸如4G、4G-LTE(長期演進)、LTE進階、5G,或其類似者)來傳送資料,諸如經編碼視訊資料。在輸出介面108包含無線傳輸器的一些實例中,輸出介面108及輸入介面122可經組態以根據諸如IEEE 802.11規範、IEEE 802.15規範(例如,ZigBee™)、Bluetooth™標準或其類似者的其他無線標準傳送資料(諸如經編碼視訊資料)。在一些實例中,源器件102及/或目的地器件116可包括各別晶片上系統(SoC)器件。舉例而言,源器件102可包括SoC器件以執行歸於視訊編碼器200及/或輸出介面108之功能性,且目的地器件116可包括SoC器件以執行歸於視訊解碼器300及/或輸入介面122之功能性。
本發明之技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP之動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。
目的地器件116之輸入介面122接收自電腦可讀媒體110 (例如,通信媒體、儲存器件112、檔案伺服器114或類似者)之經編碼視訊位元串流。經編碼視訊位元串流可包括由視訊編碼器200定義之發信資訊(其亦由視訊解碼器300使用),諸如具有描述視訊區塊或其他經寫碼單元(例如,圖塊、圖像、圖像群組、序列或其類似者)之特性及/或處理的值的語法元素。顯示器件118向使用者顯示經解碼視訊資料之經解碼圖像。顯示器件118可表示各種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
儘管圖1中未示出,但在一些實例中,視訊編碼器200及視訊解碼器300可各自與音訊編碼器及/或音訊解碼器整合,且可包括適合的MUX-DEMUX單元或其他硬體及/或軟體,以處置在共同資料串流中包括音訊及視訊兩者之多工串流。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器200及視訊解碼器300各自可被實施為各種合適編碼器及/或解碼器電路系統中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術部分以軟體實施時,器件可將用於軟體之指令儲存於合適之非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器執行指令以執行本發明之技術。視訊編碼器200及視訊解碼器300中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別器件中之組合式編碼器/解碼器(編碼解碼器)的部分。包括視訊編碼器200及/或視訊解碼器300之器件可包含積體電路、微處理器及/或無線通信器件(諸如蜂巢式電話)。
視訊編碼器200及視訊解碼器300可根據視訊寫碼標準操作,諸如ITU-T H.265,亦被稱作高效視訊寫碼(HEVC)或其擴展,諸如多視圖及/或可調式視訊寫碼擴展。替代地,視訊編碼器200及視訊解碼器300可根據其他專屬或工業標準操作,諸如聯合探索測試模型(JEM)或ITU-T H.266,其亦被稱作多功能視訊寫碼(VVC)。VVC標準之最新草案描述於2019年7月3日至12日於東南部哥德堡的ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之聯合視訊專家小組(JVET)第15次會議JVET-O2001-vE上,Bross等人之「多功能視訊寫碼(草案6)」中(在下文中「VVC草案6」)。然而,本發明之技術不限於任何特定寫碼標準。
一般而言,視訊編碼器200及視訊解碼器300可執行圖像之基於區塊寫碼。術語「區塊」一般係指包括待處理(例如編碼、解碼或以其他方式在編碼及/或解碼程序中使用)之資料的結構。舉例而言,區塊可包括明度及/或色度資料之樣本的二維矩陣。一般而言,視訊編碼器200及視訊解碼器300可寫碼以YUV (例如Y、Cb、Cr)格式表示之視訊資料。亦即,視訊編碼器200及視訊解碼器300可寫碼明度及色度分量,而非寫碼圖像之樣本的紅色、綠色及藍色(RGB)資料,其中該等色度分量可包括紅色調及藍色調色度分量兩者。在一些實例中,視訊編碼器200在編碼之前將所接收的RGB格式資料轉換成YUV表示,且視訊解碼器300將YUV表示轉換成RGB格式。可替代地,預處理單元及後處理單元(圖中未示)可執行此等轉換。
本發明一般可指對圖像進行寫碼(例如編碼及解碼)以包括編碼或解碼圖像之資料的過程。類似地,本發明可指寫碼圖像之區塊以包括編碼或解碼區塊之資料的程序(例如,預測及/或殘餘寫碼)。經編碼視訊位元串流一般包括表示寫碼決策(例如寫碼模式)及圖像至區塊之分割的語法元素的一系列值。因此,對寫碼圖像或區塊之提及一般應理解為寫碼形成該圖像或區塊之語法元素的值。
HEVC定義各種區塊,包括寫碼單元(CU)、預測單元(PU),及變換單元(TU)。根據HEVC,視訊寫碼器(諸如視訊編碼器200)根據四分樹結構將寫碼樹單元(CTU)分割成CU。亦即,視訊寫碼器將CTU及CU分割成四個相同的非重疊正方形,且四分樹之每一節點具有零個或四個子節點。不具有子節點之節點可被稱作「葉節點」,且此類葉節點之CU可包括一或多個PU及/或一或多個TU。視訊寫碼器可進一步分割PU及TU。舉例而言,在HEVC中,殘餘四分樹(RQT)表示TU之分割。在HEVC中,PU表示框間預測資料,而TU表示殘餘資料。經內預測之CU包括內預測資訊,諸如框內模式指示。
作為另一實例,視訊編碼器200及視訊解碼器300可經組態以根據JEM或VVC操作。根據JEM或VVC,視訊寫碼器(諸如視訊編碼器200)將圖像分割成複數個寫碼樹型單元(CTU)。視訊編碼器200可根據樹型結構分割CTU,諸如四分樹二元樹型(QTBT)結構或多類型樹型(MTT)結構。QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU及TU之間的間距。QTBT結構包括兩個層級:根據四分樹分割進行分割的第一層級,及根據二元樹分割進行分割的第二層級。QTBT結構之根節點對應於CTU。二元樹之葉節點對應於寫碼單元(CU)。
在MTT分割結構中,區塊可使用四分樹(QT)分割、二元樹(BT)分割及一或多種類型之三重樹(TT) (亦稱為三元樹(TT))分割來分割。三重或三元樹分割為區塊分裂成三個子區塊之分割。在一些實例中,三重或三元樹分割在不經由中心分隔原始區塊之情況下將區塊分隔成三個子區塊。MTT中之分割類型(例如QT、BT及TT)可為對稱或不對稱的。
在一些實例中,視訊編碼器200及視訊解碼器300可使用單一QTBT或MTT結構以表示明度及色度分量中之每一者,而在其他實例中,視訊編碼器200及視訊解碼器300可使用兩個或更多個QTBT或MTT結構,諸如用於明度分量之一個QTBT/MTT結構及用於兩個色度分量之另一QTBT/MTT結構(或用於各別色度分量之兩個QTBT/MTT結構)。
視訊編碼器200及視訊解碼器300可經組態以使用根據HEVC之四分樹分割、QTBT分割、MTT分割,或其他分割結構。出於解釋之目的,關於QTBT分割呈現本發明之技術的描述。然而,應理解,本發明之技術亦可應用於經組態以使用四分樹分割亦或其他類型之分割的視訊寫碼器。
區塊(例如CTU或CU)可在圖像中以各種方式分組。作為一個實例,磚可指圖像中之特定圖像塊內的CTU列之矩形區。圖像塊為圖像中之特定圖像塊行及特定圖像塊列內的CTU之矩形區。圖像塊行係指高度等於圖像之高度且寬度藉由語法元素(例如,諸如在圖像參數集合中)指定的CTU之矩形區。圖像塊列係指具有藉由語法元素(例如圖像參數集合)指定的高度及等於圖像之寬度的寬度的CTU之矩形區。
在一些實例中,圖像塊可分割成多個磚,該多個磚中之每一者可包括圖像塊內之一或多個CTU列。未分割成多個磚之圖像塊亦可稱為磚。然而,為圖像塊之真子集的磚可不被稱作圖像塊。
在圖像中之磚亦可配置於圖塊中。圖塊可為獨佔地含於單一網路抽象層(NAL)單元中的圖像之整數數目個磚。在一些實例中,圖塊包括數個完整圖像塊或僅包括一個圖像塊之完整磚的連續序列。
本發明可互換地使用「N×N」及「N乘N」以指區塊(諸如CU或其他視訊區塊)在豎直及水平尺寸方面之樣本尺寸,例如16×16樣本或16乘16樣本。大體而言,16×16 CU在豎直方向上將具有16個樣本(y = 16)且在水平方向上將具有16個樣本(x = 16)。同樣地,N×N CU大體在豎直方向上具有N個樣本且在水平方向上具有N個樣本,其中N表示非負整數值。可按列及行來配置CU中之樣本。此外,CU不一定在水平方向上及豎直方向上具有相同數目個樣本。舉例而言,CU可包含N×M個樣本,其中M未必等於N。
視訊編碼器200編碼CU之表示預測及/或殘餘資訊及其他資訊的視訊資料。預測資訊指示將如何對CU進行預測以便形成CU之預測區塊。殘餘資訊通常表示編碼前CU與預測區塊之樣本之間的逐樣本差。
為預測CU,視訊編碼器200可一般經由框間預測或內預測形成CU之預測區塊。框間預測一般係指自先前經寫碼圖像之資料預測CU,而內預測一般係指自同一圖像之先前經寫碼資料預測CU。為了執行框間預測,視訊編碼器200可使用一或多個運動向量來產生預測區塊。視訊編碼器200可一般執行運動搜尋以識別緊密匹配CU的參考區塊(例如,在CU與參考區塊之間的差方面)。視訊編碼器200可使用絕對差總和(SAD)、平方差總和(SSD)、平均絕對差(MAD)、均方差(MSD)或其他此類差計算來計算差度量,以判定參考區塊是否緊密匹配當前CU。在一些實例中,視訊編碼器200可使用單向預測或雙向預測來預測當前CU。
JEM及VVC之一些實例亦提供仿射運動補償模式,其可經認為框間預測模式。在仿射運動補償模式中,視訊編碼器200可判定表示非平移運動(諸如放大或縮小、旋轉、透視運動或其他不規則運動類型)之兩個或大於兩個運動向量。
為了執行內預測,視訊編碼器200可選擇內預測模式以產生預測區塊。JEM及VVC之一些實例提供六十七種內預測模式,包括各種定向模式以及平面模式及DC模式。一般而言,視訊編碼器200選擇描述當前區塊(例如,CU之區塊)的相鄰樣本的內預測模式,其中自該當前區塊預測當前區塊之樣本。此類樣本一般可與當前區塊在同一圖像中,在當前區塊之上方、左上方或左側,假定視訊編碼器200以光柵掃描次序(左至右、上至下)寫碼CTU及CU。
視訊編碼器200編碼表示當前區塊之預測模式的資料。舉例而言,針對框間預測模式,視訊編碼器200可編碼表示使用多種可用框間預測模式中之何者以及對應模式之運動資訊的資料。舉例而言,對於單向或雙向框間預測,視訊編碼器200可使用進階運動向量預測(AMVP)或合併模式來編碼運動向量。視訊編碼器200可使用類似模式編碼仿射運動補償模式之運動向量。
在區塊之預測(諸如內預測或框間預測)之後,視訊編碼器200可計算用於該區塊之殘餘資料。殘餘資料(諸如殘餘區塊)表示區塊與該區塊之使用對應預測模式所形成的預測區塊之間的逐樣本差。視訊編碼器200可將一或多個變換應用於殘餘區塊,以在變換域而非樣本域中產生經變換資料。舉例而言,視訊編碼器200可將離散餘弦轉換(DCT)、整數變換、小波變換或概念上類似的變換應用於殘餘視訊資料。另外,視訊編碼器200可在一級變換之後應用二級變換,諸如模式依賴不可分離二級變換(MDNSST)、信號依賴變換、Karhunen-Loeve變換(KLT)或其類似者。視訊編碼器200在應用一或多個變換之後產生變換係數。
如上文所提及,在任何變換以產生變換係數後,視訊編碼器200可執行變換係數之量化。量化大體上係指將變換係數量化以可能地減少用以表示變換係數之資料之量從而提供進一步壓縮的程序。藉由執行量化程序,視訊編碼器200可減少與變換係數中之一些或全部相關之位元深度。舉例而言,視訊編碼器200可在量化期間將n
位元值捨入至m
位元值,其中n
大於m
。在一些實例中,為了進行量化,視訊編碼器200可進行待量化值之按位元右移位。
在量化之後,視訊編碼器200可掃描變換係數,從而自包括經量化變換係數之二維矩陣產生一維向量。掃描可經設計以將較高能量(且因此較低頻率)變換係數置於向量前部,且將較低能量(且因此較高頻率)變換係數置於向量後部。在一些實例中,視訊編碼器200可利用預定義掃描次序來掃描經量化變換係數以產生串列化向量,且隨後熵編碼向量之經量化變換係數。在其他實例中,視訊編碼器200可執行自適應掃描。在掃描經量化轉換係數以形成一維向量之後,視訊編碼器200可(例如)根據上下文適應性二進位算術寫碼(CABAC)對一維向量進行熵編碼。視訊編碼器200亦可熵編碼描述與經編碼視訊資料相關聯的後設資料之語法元素之值,以供由視訊解碼器300用於解碼視訊資料。
為執行CABAC,視訊編碼器200可將上下文模型內之上下文指派給待傳輸之符號。該上下文可能涉及(例如)符號之鄰近值是否為零值。機率判定可基於經指派至符號之上下文而進行。
視訊編碼器200可進一步(例如)在圖像標頭、區塊標頭、圖塊標頭或其他語法資料(諸如序列參數集(SPS)、圖像參數集(PPS)或視訊參數集(VPS))中向視訊解碼器300產生語法資料(諸如基於區塊之語法資料、基於圖像之語法資料以及基於序列之語法資料)。視訊解碼器300可同樣地解碼此類語法資料以判定如何解碼對應視訊資料。
以此方式,視訊編碼器200可產生包括經編碼視訊資料(例如,描述圖像至區塊(例如,CU)之分割的語法元素及用於區塊之預測及/或殘餘資訊)之位元串流。最後,視訊解碼器300可接收位元串流並解碼經編碼視訊資料。
一般而言,視訊解碼器300執行與藉由視訊編碼器200執行之程序互逆的程序,以解碼位元串流之經編碼視訊資料。舉例而言,視訊解碼器300可使用CABAC以與視訊編碼器200之CABAC編碼程序實質上類似但互逆的方式解碼位元串流之語法元素的值。語法元素可定義圖像至CTU之分割資訊及每一CTU根據對應分區結構(諸如QTBT結構)之分割,以定義CTU之CU。語法元素可進一步定義視訊資料之區塊(例如,CU)的預測及殘餘資訊。
殘餘資訊可由例如經量化變換係數表示。視訊解碼器300可將區塊之經量化變換係數反量化及反變換,以再生區塊之殘餘區塊。視訊解碼器300使用經發信預測模式(框內或框間預測)及相關預測資訊(例如,用於框間預測之運動資訊),以形成用於該區塊之預測區塊。然後,視訊解碼器300可(在逐樣本基礎上)使經預測區塊與殘餘區塊組合以再生初始區塊。視訊解碼器300可執行額外處理,諸如執行解區塊程序以減少沿區塊邊界之視覺假影。
本發明通常可指「發信」某些資訊,諸如語法元素。術語「發信」一般可指用於解碼經編碼視訊資料之語法元素及/或其他資料的值之傳達。亦即,視訊編碼器200可在位元串流中發信語法元素的值。大體而言,發信係指在位元串流中產生值。如上文所提及,源器件102可實質上實時將位元串流運送至目的地器件116,或不實時運送,諸如可在將語法元素儲存至儲存器件112以供目的地器件116稍後擷取時發生。
圖2A及圖2B為說明實例四分樹二元樹(QTBT)結構130及對應寫碼樹型單元(CTU) 132之概念圖。實線表示四分樹分裂,且點線指示二元樹分裂。在二元樹之每一分裂(亦即,非葉)節點中,一個旗標經發信以指示使用哪一分裂類型(亦即,水平或豎直),其中在此實例中,0指示水平分裂且1指示豎直分裂。對於四分樹分裂,不存在對於指示分裂類型之需要,此係由於四分樹分裂始終將區塊水平地及豎直地分裂成具有相等大小之4個子區塊。因此,視訊編碼器200可編碼,且視訊解碼器300可解碼用於QTBT結構130之區樹層級(亦即實線)的語法元素(諸如分裂資訊)及用於QTBT結構130之預測樹層級(亦即虛線)的語法元素(諸如分裂資訊)。視訊編碼器200可編碼,且視訊解碼器300可解碼用於由QTBT結構130之端葉節點表示之CU的視訊資料(諸如預測及變換資料)。
一般而言,圖2B之CTU 132可與定義對應於在第一及第二層級處的QTBT結構130之節點的區塊之大小的參數相關聯。此等參數可包括CTU大小(表示樣本中之CTU 132之大小)、最小四分樹大小(MinQTSize,表示最小允許四分樹葉節點大小)、最大二元樹大小(MaxBTSize,表示最大允許二元樹根節點大小)、最大二元樹深度(MaxBTDepth,表示最大允許二元樹深度),及最小二元樹大小(MinBTSize,表示最小允許二元樹葉節點大小)。
對應於CTU之QTBT結構的根節點可具有在QTBT結構之第一層級處的四個子節點,該等節點中之每一者可根據四分樹分割來分割。亦即,第一層級之節點為葉節點(不具有子節點)或具有四個子節點。QTBT結構130之實例表示諸如包括具有用於分枝之實線之父節點及子節點的節點。若第一層級之節點不大於最大允許二元樹根節點大小(MaxBTSize),則該等節點可藉由各別二元樹進一步分割。一個節點之二元樹分裂可重複,直至由分裂產生之節點達至最小允許之二元樹葉節點大小(MinBTSize),或最大允許之二元樹深度(MaxBTDepth)為止。QTBT結構130之實例表示諸如具有用於分枝之虛線的節點。二元樹葉節點被稱作寫碼單元(CU),其用於在無更進一步分割之情況下的預測(例如,圖像內或圖像間預測)及變換。如上文所論述,CU亦可被稱為「視訊區塊」、「寫碼區塊」或「區塊」。
在QTBT分割結構之一個實例中,CTU大小經設定為128×128明度樣本及兩個對應64×64色度樣本),MinQTSize經設定為16×16,MaxBTSize經設定為64×64,MinBTSize (對於寬度及高度兩者)經設定為4,且MaxBTDepth經設定為4。四分樹分割首先應用於CTU以產生四分樹葉節點。四分樹葉節點可具有16×16 (亦即,MinQTSize)至128×128 (亦即,CTU大小)之大小。若葉四分樹節點為128×128,則葉四分樹節點不會藉由二元樹進一步分裂,因為大小超過MaxBTSize(亦即,在此實例中,64×64)。否則,葉四分樹節點將藉由二元樹進一步分割。因此,四分樹葉節點亦為二元樹之根節點並具有為0之二元樹深度。當二元樹深度達至MaxBTDepth (在此實例中為4)時,不准許進一步分裂。當二元樹節點具有等於MinBTSize (在此實例中為4)之寬度時,其意指不准許進一步水平分裂。類似地,具有等於MinBTSize之高度的二元樹節點意指不准許對該二元樹節點進行進一步豎直分裂。如上文所提及,二元樹之葉節點被稱作CU,且根據預測及變換來進一步處理而不進一步分割。
本發明描述用於改良廣角內預測之若干技術。在廣角內預測中,視訊編碼器200及視訊解碼器300可使用超出典型-135度至45度之角的預測角來判定經框內模式預測之樣本。
圖3展示用於內預測之方向之實例,其中箭頭指向參考樣本。圖3展示使用當前區塊的介於-135度至45度之間的預測角的用於正方形區塊之定向預測模式,如J. Chen、Y. Ye、S. Kim在2018年7月於斯洛文尼亞盧布爾雅那的第11次JVET會議的「Algorithm description for Versatile Video Coding and Test Model 2(VTM2)」 JVET-K1002中所描述。內預測模式亦包括DC預測模式及平面預測模式,以及圖3中所示之定向(或角)預測模式。如在下文將更詳細地解釋,視訊編碼器200及視訊解碼器300可經組態以使用圖3中未示出的額外角度預測模式執行廣角內預測模式。
在VTM2中,用於指定用於內預測之預測區塊的區塊結構不限於正方形。對於正方形區塊,寬度(w)等於高度(h)。非正方形的矩形預測區塊(w>h或w<h)可基於內容的特性提高寫碼效率。
在此等矩形區塊中,將內預測之方向限定於-135度至45度內可導致將較遠參考樣本而非較近參考樣本用於內預測的情境此設計可對寫碼效率產生影響。因此,可能更有益的係改變角度限制範圍以使得較近參考樣本(超出-135至45度的角度)可用於預測。圖4中展示此狀況之一實例。
圖4展示4×8矩形當前區塊400之實例,其中歸因於內預測方向被限於-135度至45度之範圍內,未使用「較近」參考樣本(圓402),但可使用較遠參考樣本(圓404)。
在第12次JVET會議期間,L. Zhao、X. Zhao、S. Liu、X. Li在2018年10月於中國澳門第12次JVET會議中的「CE3-related: Unification of angular intra prediction for square and non-square blocks」 JVET-L0279中提議廣角內預測之修改,且該修改被採用於VTM3中。VTM3描述於J. Chen、Y. Ye、S. Kim在2018年10月於中國澳門第12次JVET會議的「Algorithm description for Versatile Video Coding and Test Model 3 (VTM3)」 JVET-L1002中。
此提議包括用以統一用於正方形及非正方形區塊之角度內預測的兩次修改。第一,角度預測方向經修改以涵蓋所有區塊形狀之對角線方向。第二,所有角度方向針對所有區塊縱橫比(正方形及非正方形)保持在介於左下方對角線方向與右上方對角線方向之間的範圍內,如圖5A至圖5C中所說明。另外,對於所有區塊形狀,頂部參考列及左側參考行中的參考樣本之數目可限於2*寬度+1及2*高度+1。
圖5A至圖5C展示針對對角線方向範圍之外的模式的模式映射程序之實例。視訊編碼器200及視訊解碼器300可實施模式映射程序以針對各種形狀及CU之大小判定可用的內預測模式。圖5A展示不需要角度模式重映射之正方形區塊。圖5B展示用於水平非正方形區塊之角度模式重映射。圖5C展示用於豎直非正方形區塊之角度模式重映射。在圖5B及圖5C中,模式A及B經替換為映射模式A及B,從而使得仍僅僅存在65個可用角度模式,但彼等65個可用模式在圖5A、圖5B及圖5C之間係不同的。
在圖5A之實例中,CU 502為正方形區塊(亦即,w=h)。對角線方向504對應於45度預測角度,且對角線方向506對應於-135度預測角度。CU 502的所有可用預測模式介於對角線方向504與對角預測506之間,且因此無需模式重映射。
在圖5B之實例中,CU 512為非正方形的矩形區塊,其中w大於h。對角線方向514表示自CU 512之左下角延行至CU 512之右上角的對角線方向,且對角線方向516表示自CU 512之右上角延行至CU 512之左下角的對角線方向。由於模式A及B並非介於對角線方向514與516之間,因此模式A及B經替換為映射模式A及B,從而使得用於CU 512的所有可用預測模式介於對角線方向514與對角線方向516之間。
在圖5C之實例中,CU 522為非正方形的矩形區塊,其中h大於w。對角線方向524表示自CU 522之左下角延行至CU 522之右上角的對角線方向,且對角線方向526表示自CU 522之右上角延行至CU 522之左下角的對角線方向。由於模式A及B並非介於對角線方向524與526之間,因此模式A及B經替換為映射模式A及B,從而使得用於CU 522的所有可用預測模式介於對角線方向524與對角線方向526之間。
圖6為被採用於VTM2中的廣角之圖示。圖6展示除65個角度模式之外所描繪的廣角模式(在圖6中標記為-1至-10及67至76)。在圖6之實例中,模式50對應於預測角度-90度。模式66對應於預測角度-135度,且模式2對應於預測角度45度。
圖7展示VTM3中的對於總共93個角度模式而言超出模式2及66的廣角之實例(在圖7中標記為-1至-14及67至80)。在圖7之實例中,模式50對應於預測角度-90度。模式66對應於預測角度-135度,且模式2對應於預測角度45度。
圖7展示採用於VTM3中之較廣角度的圖示。儘管VTM3定義95個模式,但針對任何區塊大小僅僅允許67個模式。所允許的準確模式視區塊寬度與高度比而定。此藉由基於區塊大小限定模式範圍來達成。
表1規定VTM3中的predModeIntra與角度參數intraPredAngle之間的映射表。VTM3描述於J.Chen、S.Liu在2018年10月於中國澳門第12次JVET會議中的「Versatile Video Coding(Draft3)」 JVET-L1001中,且特此以全文引用之方式併入。
對應於非正方形區塊對角線的角度模式展示為插入點符號(^)。豎直及水平模式展示為井號標誌(#)以供參考。正方形區塊對角模式在表1中展示為星號(*)。
predModeIntra | -14^ | -13 | -12^ | -11 | |||||||||||||
intraPredAngle | 512^ | 341 | 256^ | 171 | |||||||||||||
predModeIntra | −10^ | −9 | −8 | −7 | −6^ | −5 | −4 | −3 | −2 | −1 | 2* | 3 | 4 | 5 | 6 | 7 | 8^ |
intraPredAngle | 128^ | 102 | 86 | 73 | 64^ | 57 | 51 | 45 | 39 | 35 | 32* | 29 | 26 | 23 | 20 | 18 | 16^ |
predModeIntra | 9 | 10 | 11 | 12^ | 13 | 14^ | 15 | 16^ | 17 | 18# | 19 | 20^ | 21 | 22^ | 23 | 24^ | 25 |
intraPredAngle | 14 | 12 | 10 | 8^ | 6 | 4^ | 3 | 2^ | 1 | 0# | −1 | −2^ | −3 | −4^ | −6 | −8^ | −10 |
predModeIntra | 26 | 27 | 28^ | 29 | 30 | 31 | 32 | 33 | 34* | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
intraPredAngle | −12 | −14 | −16^ | −18 | −20 | −23 | −26 | −29 | −32* | −29 | −26 | −23 | −20 | −18 | −16 | −14 | −12 |
predModeIntra | 43 | 44^ | 45 | 46^ | 47 | 48^ | 49 | 50# | 51 | 52^ | 53 | 54^ | 55 | 56^ | 57 | 58 | 59 |
intraPredAngle | −10 | −8^ | −6 | −4^ | −3 | −2^ | −1 | 0# | 1 | 2^ | 3 | 4^ | 6 | 8^ | 10 | 12 | 14 |
predModeIntra | 60^ | 61 | 62 | 63 | 64 | 65 | 66* | 67 | 68 | 69 | 70 | 71 | 72^ | 73 | 74 | 75 | 76^ |
intraPredAngle | 16^ | 18 | 20 | 23 | 26 | 29 | 32* | 35 | 39 | 45 | 51 | 57 | 64^ | 73 | 86 | 102 | 128^ |
predModeIntra | 77 | 78^ | 79 | 80^ | |||||||||||||
intraPredAngle | 171 | 256^ | 341 | 512^ |
反角度參數invAngle基於intraPredAngle衍生如下:
invAngle = Round(1-1)
應注意,作為32之倍數(0、32、64、128、256、512)的intraPredAngle值對應於來自非分數參考陣列樣本的預測,如同VTM3規範中的狀況。
表2展示對應於各種區塊縱橫比之對角模式。
區塊縱橫比 (W/H) | 對角模式 |
1 (正方形) | 2, 34, 66 |
2 | 8, 28, 72 |
4 | 12, 24, 76 |
8 | 14, 22, 78 |
16 | 16, 20, 80 |
1/2 | -6, 40, 60 |
1/4 | -10, 44, 56 |
1/8 | -12, 46, 54 |
1/16 | -14, 48, 52 |
視訊編碼器200及視訊解碼器300可經組態以執行模式相關內平滑(MDIS)及參考樣本內插。平滑濾波器一般以減小樣本之間的變體的方式更改樣本值。相比之下,內插濾波器針對樣本值尚未知曉抑或並不存在的位置(例如,樣本之間的位置)自已知樣本值判定樣本值。在HEVC中,在內預測之前,使用2抽頭線性或3抽頭(1,2,1)/4濾波器潛在地濾波相鄰參考樣本。此程序稱為內參考平滑,或MDIS。在MDIS中,在給定內預測模式指數predModeIntra及區塊大小nTbS之情況下,視訊編碼器200及視訊解碼器300判定是否執行參考平滑程序,且若如此使用哪個平滑濾波器。以下文字為來自HEVC規格之相關段落:“8.4.4.2.3 相鄰樣本之濾波程序
對此程序之輸入為:
- 相鄰樣本p[x][y],其中x = −1,y = −1..nTbS * 2 - 1且x = 0..nTbS * 2 - 1,y = −1,
- 指定變換區塊大小之變數nTbS。
此程序之輸出係經濾波樣本pF[x][y],其中x = −1,y = −1..nTbS * 2 - 1且x = 0..nTbS * 2 - 1,y = −1。
如下導出變數filterFlag:
- 若以下條件中之一或多者為真,則將filterFlag設定為等於0:
– predModeIntra等於INTRA_DC。
– nTbS等於4。
- 否則,以下適用:
– 將變數minDistVerHor設定為等於Min(Abs(predModeIntra - 26), Abs(predModeIntra - 10))。
– 在表8-3中指定變數intraHorVerDistThres[nTbS]。
– 如下導出變數filterFlag:
– 若minDistVerHor大於intraHorVerDistThres[nTbS],則將filterFlag設定為等於1。
– 否則,將filterFlag設定為等於0。表 8-3- 用於各種變換區塊大小之 intraHorVerDistThres[nTbS] 的 規範
當filterFlag等於1時,以下情形適用:
- 如下導出變數biIntFlag:
- 若以下條件中之全部為真,則將biIntFlag設定為等於1:
– strong_intra_smoothing_enabled_flag等於1
– nTbS等於32
– Abs( p[ −1 ][ −1 ] + p[ nTbS * 2 − 1 ][ −1 ] - 2 * p[ nTbS − 1 ][ −1 ] ) < ( 1 << ( BitDepthY
− 5 ) )
– Abs( p[ −1 ][ −1 ] + p[ −1 ][ nTbS * 2 − 1 ] - 2 * p[ −1 ][ nTbS − 1 ] ) < ( 1 << ( BitDepthY
− 5 ) )
- 否則,將biIntFlag設定為等於0。
- 如下執行濾波:
- 若biIntFlag等於1,則如下導出經濾波樣本值pF[x][y],其中x=−1,y=−1..63且x = 0..63, y = −1:
pF[ −1 ][ −1 ] = p[ −1 ][ −1 ] (8-30)
pF[ −1 ][ y ] = ( ( 63 − y ) * p[ −1 ][ −1 ] + ( y + 1 ) * p[ −1 ][ 63 ] + 32 ) >> 6其中y = 0..62 (8-31)
pF[ −1 ][ 63 ] = p[ −1 ][ 63 ] (8-32)
pF[ x ][ −1 ] = ( ( 63 − x ) * p[ −1 ][ −1 ] + ( x + 1 ) * p[ 63 ][ −1 ] + 32 ) >> 6其中x = 0..62 (8-33)
pF[ 63 ][ −1 ] = p[ 63 ][ −1 ] (8-34)
- 否則(biIntFlag等於0),如下導出經濾波樣本值pF[x][y],其中x = −1,y = −1..nTbS * 2 − 1且x = 0..nTbS * 2 - 1,y = −1:
pF[ −1 ][ −1 ] = ( p[ −1 ][ 0 ] + 2 * p[ −1 ][ −1 ] + p[ 0 ][ −1 ] + 2 ) >> 2 (8-35)
pF[ −1 ][ y ] = ( p[ −1 ][ y + 1 ] + 2 * p[ −1 ][ y ] + p[ −1 ][ y − 1 ] + 2 ) >> 2其中y = 0..nTbS * 2 − 2 (8-36)
pF[ −1 ][ nTbS * 2 − 1 ] = p[ −1 ][ nTbS * 2 − 1 ] (8-37)
pF[ x ][ −1 ] = ( p[ x − 1 ][ −1 ] + 2 * p[ x ][ −1 ] + p[ x + 1 ][ −1 ] + 2 ) >> 2其中x = 0..nTbS * 2 − 2 (8-38)
pF[ nTbS * 2 − 1 ][ −1 ] = p[ nTbS * 2 − 1 ][ −1 ] (8-39)”
nTbS = 8 | nTbS = 16 | nTbS = 32 | |
intraHorVerDistThres[ nTbS ] | 7 | 1 | 0 |
在上文實例中,將filterFlag設定為0意謂不執行MDIS,且將filterFlag設定為1意謂執行MDIS。
在聯合視訊探索小組(JVET)活動期間,擬定聯合探索測試模型版本7 (JEM7)以包括用於明度區塊的MDIS表之以下版本:
sizeIndex | Threshold[sizeIndex] |
0 | 20 |
1 | 20 |
2 | 14 |
3 | 2 |
4 | 0 |
5 | 20 |
6 | 0 |
JEM7描述於J. Chen、E. Alshina、G. J. Sullivan、J.-R. Ohm、J. Boyce在2017年7月於義大利都靈第7次JVET會議的「Algorithm描述of Joint Exploration Test Model 7」 JVET-G1001中,其特此以全文引用之方式併入。
視訊編碼器200及視訊解碼器300可經組態以如下根據JEM 7判定大小指數:
sizeIndex = (log2(BlockWidth) - 2 + log2(BlockHeight) - 2) / 2 + 2 - 1
視訊編碼器200及視訊解碼器300可經組態以藉由判定框內模式差值來如下判定是否將[1 2 1]/4平滑濾波器應用於框內參考樣本:
IntraModeDiff = min(abs(IntraModeIdx - HOR_IDX), abs(IntraModeIdx - VER_IDX))
在JEM7中以及在圖6及圖7中,HOR_IDX=18且VER_IDX=50,因為JEM7具有65個定向框內模式(IntraModeIdx2-66)以及平面(IntraModeIdx=0)及DC(IntraModeIdx=1)模式。
視訊編碼器200及視訊解碼器300可經組態以基於以下條件判定是否應用平滑濾波器:
若IntraModeDiff>Threshold[sizeIndex],則「應用平滑濾波器」
VTM3包括以下MDIS表:
sizeIndex | Threshold[sizeIndex] |
0 | 20 |
1 | 20 |
2 | 20 |
3 | 14 |
4 | 2 |
5 | 0 |
6 | 0 |
7 | 0 |
在VTM3中如下定義區塊大小指數:
sizeIndex = (log2(BlockWidth) + log2(BlockHeight)) / 2
視訊編碼器200及視訊解碼器300可經組態以判定將[1 2 1]/4平滑濾波器應用於非分數框內參考樣本,抑或針對分數參考樣本方位在平滑(例如,高斯內插)與非平滑(例如,立方內插)之間切換內插濾波器,如下且如2018年9月14日申請的美國臨時專利申請案62/731,723及A.Filippov等人、G.Van der Auwera等人在2018年10月於中國澳門第12次JVET會議的「CE3: A combination of tests 3.1.2 and 3.1.4 for intra reference sample interpolation filter」JVET-L0628中所描述:
IntraModeDiff = min(abs(IntraModeIdx - HOR_IDX), abs(IntraModeIdx - VER_IDX))
其中HOR_IDX=18且VER_IDX=50且條件為:
若IntraModeDiff> Threshold[sizeIndex],則「應用平滑」
在VTM3中,對於指數<2或>66的廣角模式,將內平滑條件設定為等於真。原因在於兩個豎直鄰近經預測樣本可在廣角內預測的狀況下使用兩個非鄰近參考樣本。
用於實施廣角模式之現有技術具有潛在問題。舉例而言,對於VTM3中之廣角模式,根據上文所描述之MDIS條件啟用參考樣本內平滑。然而,VTM3引入用於非正方形區塊的廣角對角模式,其導致自非分數(亦即,整數)相鄰參考樣本陣列方位的預測(參見表2)。此亦為多個參考線被用於VTM3中之預測的狀況。
若在典型實施中,僅在預測係來自分數相鄰參考樣本時才應用內插濾波器(平滑或非平滑),則將不會自經平滑參考樣本預測自非分數參考樣本方位預測的廣角對角模式。
提議以下技術來解決上文引入的問題。所描述技術可適用於明度及/或色度預測。
根據一個實例,可針對廣角模式形成對應於非正方形區塊之對角線且藉由運用諸如3抽頭平滑濾波器[1 2 1]/4之平滑濾波器預先濾波參考樣本而自非分數參考樣本方位預測的一例外狀況。在此狀況下,視訊編碼器200及視訊解碼器300可經組態以判定不應用平滑或非平滑內插濾波,及將非分數樣本自參考樣本陣列複製至預測區塊陣列中。舉例而言,此例外狀況可針對包括於表1中的廣角模式-6、-10、-12、-14、72、76、78、80而形成。因此,視訊編碼器200及視訊解碼器300可經組態以運用廣角模式以不同於運用其他角度模式之內預測的方式執行內預測。
在一些實例中,視訊編碼器200及視訊解碼器300可經組態以不將濾波應用於上述非分數廣角模式,此意謂著非分數未經濾波參考樣本被複製至預測區塊中。類似地,可省略用於表1中之非分數非廣角(正方形區塊對角線)模式2、34、66的平滑濾波,以供與非分數廣角模式一致。
在一些實例中,視訊編碼器200及視訊解碼器300可經組態以將平滑內插濾波器之零相位設定為等於平滑濾波器,例如,[1 2 1 0]/4 (4抽頭濾波器)。在此狀況下,平滑內插濾波器在無例外狀況之情況下用於自參考樣本陣列中的非分數及分數樣本方位兩者之預測中。類似地,非平滑內插濾波器之零相位(標識濾波器,例如,在4抽頭濾波器之情況下具有濾波器抽頭[0 1 0 0])可針對其他模式應用於非分數方位中。
在一些實例中,當自非分數樣本方位預測時,視訊編碼器200及視訊解碼器300可經組態以在自非分數參考樣本方位之預測的狀況下即時應用內平滑濾波器,例如,具有抽頭[1 2 1]/4之3抽頭濾波器。在此實例中,對於非分數方位,參考樣本之預先濾波及內插濾波兩者均繞過。
在所提議的上文所描述之技術中,具有抽頭[1 2 1]/4之內平滑濾波器被用作一實例。替代性內平滑濾波可產生較佳預測,諸如具有更強平滑性質及/或具有較寬支架(更多濾波器抽頭)的濾波器,例如具有抽頭[1 3 3 1]/8之濾波器。類似地,具有較寬支架之內插濾波可針對廣角模式產生較佳預測。
用於廣角模式的MDIS條件在VTM3中如下:「若模式指數<2或>66,則將內平滑條件設定為等於真」。提議將此廣角條件與MDIS角度差條件整合如下:
區塊大小指數如下定義:
sizeIndex = (log2(BlockWidth) + log2(BlockHeight)) / 2
是否將例如[1 2 1]/4平滑濾波器應用於非分數框內參考樣本,抑或針對分數參考樣本方位在平滑(例如,高斯內插)與非平滑(例如,立方內插)之間切換內插濾波器判定如下(參見2018年9月14日申請的美國臨時專利申請案62/731,723及A.Filippov等人、G.Van der Auwera等人在2018年10月於中國澳門第12次JVET會議的「CE3: A combination of tests 3.1.2 and 3.1.4 for intra reference sample interpolation filter」JVET-L0628中):
IntraModeDiff = min(abs(IntraModeIdx - HOR_IDX), abs(IntraModeIdx - VER_IDX))
其中HOR_IDX=18且VER_IDX=50且條件為:
若IntraModeDiff> Threshold[sizeIndex],則「應用平滑」
其中sizeIndex 0、1、2之表項經修改成值16,從而使得廣角模式始終針對所有區塊大小得以平滑:
sizeIndex | Threshold[sizeIndex] |
0 | 20 → 16 |
1 | 20 → 16 |
2 | 20 → 16 |
3 | 14 |
4 | 2 |
5 | 0 |
6 | 0 |
7 | 0 |
圖8為說明可執行本發明之技術的實例視訊編碼器200之方塊圖。出於解釋之目的而提供圖8,且不應將其視為對如本發明中廣泛例示及描述之技術的限制。出於解釋之目的,本發明在諸如HEVC視訊寫碼標準及研發中之H.266視訊寫碼標準的視訊寫碼標準之情況下描述視訊編碼器200。然而,本發明之技術不限於此等視訊寫碼標準,且大體可適用於視訊編碼及解碼。
在圖8之實例中,視訊編碼器200包括視訊資料記憶體230、模式選擇單元202、殘餘產生單元204、變換處理單元206、量化單元208、反量化單元210、反變換處理單元212、重建構單元214、濾波器單元216、經解碼圖像緩衝器(DPB) 218及熵編碼單元220。
視訊資料記憶體230可儲存待由視訊編碼器200之組件編碼之視訊資料。視訊編碼器200可自例如視訊源104 (圖1)接收儲存於視訊資料記憶體230中之視訊資料。DPB 218可充當參考圖像記憶體,其儲存參考視訊資料以用於由視訊編碼器200預測後續視訊資料。視訊資料記憶體230及DPB 218可由多種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM)或其他類型之記憶體器件。視訊資料記憶體230及DPB 218可由同一記憶體器件或單獨記憶體器件提供。在各種實例中,視訊資料記憶體230可與視訊編碼器200之其他組件一起在晶片上,如所說明,或相對於彼等組件在晶片外。
在本發明中,對視訊資料記憶體230之參考不應解譯為將記憶體限於在視訊編碼器200內部(除非特定地如此描述),或將記憶體限於在視訊編碼器200外部(除非特定地如此描述)。實情為,對視訊資料記憶體230之參考應理解為對儲存視訊編碼器200所接收以用於編碼的視訊資料(例如,待被編碼的當前區塊之視訊資料)記憶體的參考。圖1之記憶體106亦可提供來自視訊編碼器200之各種單元之輸出的臨時儲存。
圖8之各種單元經說明以輔助理解藉由視訊編碼器200執行的操作。單元可經實施為固定功能電路、可程式化電路或其組合。固定功能電路係指提供特定功能性,且在可執行之操作上預設定的電路。可程式化電路係指可經程式化以執行各種任務並在可執行之操作中提供可撓式功能性的電路。舉例而言,可程式化電路可實行促使可程式化電路以由軟體或韌體之指令定義的方式操作的軟體或韌體。固定功能電路可執行軟體指令(例如,以接收參數或輸出參數),但固定功能電路執行的操作之類型一般係不可變的。在一些實例中,單元中之一或多者可為不同電路區塊(固定功能或可程式化),且在一些實例中,一或多個單元可為積體電路。
視訊編碼器200可包括由可程式化電路形成的算術邏輯單元(ALU)、基本功能單元(EFU)、數位電路、類比電路及/或可程式化核心。在視訊編碼器200之操作係使用由可程式化電路執行之軟體執行的實例中,記憶體106 (圖1)可儲存視訊編碼器200接收並執行的軟體之目標程式碼,或視訊編碼器200內之另一記憶體(未展示)可儲存此類指令。
視訊資料記憶體230經組態以儲存所接收視訊資料。視訊編碼器200可自視訊資料記憶體230擷取視訊資料之圖像,並將視訊資料提供至殘餘產生單元204及模式選擇單元202。視訊資料記憶體230中之視訊資料可為待編碼之原始視訊資料。
模式選擇單元202包括運動估計單元222、運動補償單元224及內預測單元226。模式選擇單元202可包括額外功能單元以根據其他預測模式執行視訊預測。舉例而言,模式選擇單元202可包括調色板單元、區塊內拷貝單元(其可為運動估計單元222及/或運動補償單元224之部分)、仿射單元、線性模型(LM)單元或其類似者。
模式選擇單元202大體協調多個編碼遍次,以測試編碼參數之組合,及用於此等組合之所得速率失真值。編碼參數可包括CTU至CU之分割、用於CU之預測模式、用於CU之殘餘資料的變換類型、用於CU之殘餘資料的量化參數等。模式選擇單元202可最終選擇相比其他所測試組合具有更佳速率失真值的編碼參數之組合。
視訊編碼器200可將自視訊資料記憶體230擷取之圖像分割成一系列CTU,並將一或多個CTU囊封於圖塊內。模式選擇單元202可根據諸如上文所描述之HEVC的QTBT結構或四分樹結構之樹狀結構來分割圖像之CTU。如上文所描述,視訊編碼器200可用根據樹狀結構分割CTU來形成一或多個CU。此CU大體亦可被稱作「視訊區塊」或「區塊」。
大體而言,模式選擇單元202亦控制其組件(例如,運動估計單元222、運動補償單元224及內預測單元226)以產生用於當前區塊之預測區塊(例如,當前CU、或在HEVC中,PU與TU之重疊部分)。對於當前區塊之框間預測,運動估計單元222可執行運動搜尋以識別一或多個參考圖像(例如,儲存於DPB 218中之一或多個先前經寫碼圖像)中的一或多個緊密匹配之參考區塊。詳言之,運動估計單元222可(例如)根據絕對差總和(SAD)、平方差總和(SSD)、平均值絕對差(MAD)、均方差(MSD)或其類似者,計算表示潛在參考區塊與當前區塊類似程度的值。運動估計單元222可使用當前區塊與所考慮之參考區塊之間的逐樣本差大體執行此等計算。運動估計單元222可識別具有由此等計算產生之最低值的參考區塊,從而指示最緊密匹配當前區塊之參考區塊。
運動估計單元222可形成一或多個運動向量(MV),其關於當前圖像中之當前區塊的位置定義參考圖像中之參考區塊的位置。運動估計單元222可接著將運動向量提供至運動補償單元224。舉例而言,對於單向框間預測,運動估計單元222可提供單個運動向量,而對於雙向框間預測,運動估計單元222可提供兩個運動向量。運動補償單元224可接著使用運動向量產生預測區塊。舉例而言,運動補償單元224可使用運動向量擷取參考區塊之資料。作為另一實例,若運動向量具有分數樣本精確度,則運動補償單元224可根據一或多個內插濾波器為預測區塊內插值。此外,對於雙向框間預測,運動補償單元224可擷取用於藉由各別運動向量識別之兩個參考區塊的資料,並(例如)經由逐樣本求平均值或經加權求平均值來組合所擷取之資料。
作為另一實例,對於內預測,或內預測寫碼,內預測單元226可自鄰近當前區塊之樣本產生預測區塊。舉例而言,對於定向模式,內預測單元226可在數學上大體組合相鄰樣本之值,且在橫跨當前區塊之所定義方向上填入此等計算值以產生預測區塊。如在本發明別處更詳細地解釋,內預測單元226可執行廣角內預測,且可經組態以針對廣角內預測模式執行平滑濾波。作為另一實例,對於DC模式,內預測單元226可計算至當前區塊之相鄰樣本的平均值,並產生預測區塊以針對預測區塊之每一樣本包括此所得平均值。
模式選擇單元202將預測區塊提供至殘餘產生單元204。殘餘產生單元204自視訊資料記憶體230接收當前區塊之原始的未經寫碼版本,且自模式選擇單元202接收預測區塊之原始的未經寫碼版本。殘餘產生單元204計算當前區塊與預測區塊之間的逐樣本差。所得逐樣本差定義用於當前區塊之殘餘區塊。在一些實例中,殘餘產生單元204亦可判定殘餘區塊中之樣本值之間的差,以使用殘餘差分脈碼調變(RDPCM)產生殘餘區塊。在一些實例中,可使用執行二進位減法之一或多個減法器電路形成殘餘產生單元204。
在模式選擇單元202將CU分割成PU之實例中,每一PU可與明度預測單元及對應色度預測單元相關聯。視訊編碼器200及視訊解碼器300可支援具有各種大小之PU。如上文所指示,CU之大小可指CU之明度寫碼區塊的大小,且PU之大小可指PU之明度預測單元的大小。假定特定CU之大小為2N×2N,則視訊編碼器200可支援用於內預測的2N×2N或N×N之PU大小,及用於框間預測的2N×2N、2N×N、N×2N、N×N或類似大小之對稱PU大小。視訊編碼器200及視訊解碼器300亦可支援用於框間預測的2N×nU、2N×nD、nL×2N以及nR×2N之PU大小的不對稱分割。
在模式選擇單元未將CU進一步分割為PU的實例中,每一CU可與明度寫碼區塊及對應色度寫碼區塊相關聯。如上,CU之大小可指CU之明度寫碼區塊的大小。視訊編碼器200及視訊解碼器300可支援2N×2N、2N×N或N×2N之CU大小。
對於諸如區塊內拷貝模式寫碼、仿射模式寫碼及線性模型(LM)模式寫碼之其他視訊寫碼技術,如少數實例,模式選擇單元202經由與寫碼技術相關聯之各別單元產生用於正編碼之當前區塊的預測區塊。在諸如調色板模式寫碼的一些實例中,模式選擇單元202可能不會產生預測區塊,而是產生指示基於所選擇調色板重建構區塊之方式的語法元素。在此等模式中,模式選擇單元202可將此等語法元素提供至熵編碼單元220以待編碼。
如上文所描述,殘餘產生單元204接收用於當前區塊及對應預測區塊之視訊資料。殘餘產生單元204隨後產生用於當前區塊之殘餘區塊。為產生殘餘區塊,殘餘產生單元204計算預測區塊與當前區塊之間的逐樣本差。因此,
變換處理單元206將一或多個變換應用於殘餘區塊以產生變換係數之區塊(在本文中被稱作「變換係數區塊」)。變換處理單元206可將各種變換應用於殘餘區塊以形成變換係數區塊。舉例而言,變換處理單元206可將離散餘弦變換(DCT)、定向變換、Karhunen-Loeve變換(KLT)或概念上類似之變換應用於殘餘區塊。在一些實例中,變換處理單元206可向殘餘區塊執行多個變換,(例如)主要變換及二級變換,諸如旋轉變換。在一些實例中,變換處理單元206不將變換應用於殘餘區塊。
量化單元208可量化變換係數區塊中之變換係數,以產生經量化變換係數區塊。量化單元208可根據與當前區塊相關聯之量化參數(QP)值量化變換係數區塊之變換係數。視訊編碼器200可(例如經由模式選擇單元202)藉由調整與CU相關聯的QP值而調整應用於與當前區塊相關聯的係數區塊之量化程度。量化可引入資訊之損耗,且因此,經量化變換係數可相比由變換處理單元206產生之原始變換係數具有較低精確度。
反量化單元210及反變換處理單元212可將反量化及反變換分別應用於經量化變換係數區塊,以用變換係數區塊重建構殘餘區塊。重建構單元214可基於經重建構殘餘區塊及藉由模式選擇單元202產生之預測區塊,產生對應於當前區塊之經重建構區塊(儘管可能具有一些程度的失真)。舉例而言,重建構單元214可將經重建構殘餘區塊之樣本添加至來自模式選擇單元202產生之預測區塊的對應樣本,以產生經重建構區塊。
濾波器單元216可對經重建構區塊執行一或多個濾波操作。舉例而言,濾波器單元216可執行解區塊操作以沿CU之邊緣減少區塊效應假影。在一些實例中,可跳過濾波器單元216之操作。
視訊編碼器200將經重建構區塊儲存於DPB 218中。舉例而言,在不執行濾波器單元216之操作的實例中,重建構單元214可將經重建構區塊儲存至DPB 218。在執行濾波器單元216之操作的實例中,濾波器單元216可將經濾波的經重建構區塊儲存至DPB 218。運動估計單元222及運動補償單元224可自DPB 218擷取參考圖像,由經重建構(及可能經濾波)區塊形成,至隨後進行編碼之圖像的框間預測區塊。另外,內預測單元226可使用當前圖像之DPB 218中的經重建構區塊,以對當前圖像中之其他區塊內預測。
大體而言,熵編碼單元220可熵編碼自視訊編碼器200之其他功能組件接收的語法元素。舉例而言,熵編碼單元220可熵編碼來自量化單元208之經量化變換係數區塊。作為另一實例,熵編碼單元220可熵編碼來自模式選擇單元202的預測語法元素(例如,用於框間預測之運動資訊或用於內預測之框內模式資訊)。熵編碼單元220可對語法元素(其為視訊資料之另一實例)執行一或多個熵編碼操作以產生經熵編碼資料。舉例而言,熵編碼單元220可對資料執行上下文自適應性可變長度寫碼(CAVLC)操作、CABAC操作、可變至可變(V2V)長度寫碼操作、基於語法的上下文自適應性二進位算術寫碼(SBAC)操作、機率區間分割熵(PIPE)寫碼操作、指數-哥倫布編碼操作或另一類型之熵編碼操作。在一些實例中,熵編碼單元220可在旁路模式中操作,其中語法元素未經熵編碼。
視訊編碼器200可輸出位元串流,其包括重建構圖塊或圖像之區塊所需的經熵編碼語法元素。詳言之,熵編碼單元220可輸出該位元串流
上文所描述之操作相對於區塊進行描述。此描述應理解為用於明度寫碼區塊及/或色度寫碼區塊的操作。如上文所描述,在一些實例中,明度寫碼區塊及色度寫碼區塊為CU之明度及色度分量。在一些實例中,明度寫碼區塊及色度寫碼區塊為PU之明度分量及色度分量。
在一些實例中,無需針對色度寫碼區塊重複相對於明度寫碼區塊進行之操作。作為一項實例,無需重複識別明度寫碼區塊之運動向量(MV)及參考圖像的操作用於識別色度區塊之MV及參考圖像。實情為,明度寫碼區塊之MV可經按比例縮放以判定色度區塊之MV,且參考圖像可為相同的。作為另一實例,內預測程序可針對明度寫碼區塊及色度寫碼區塊係相同的。
圖9為說明可執行本發明之技術的實例視訊解碼器300之方塊圖。出於解釋之目的而提供圖9,且其並不限制如本發明中所廣泛例示及描述之技術。出於解釋之目的,本發明描述視訊解碼器300係根據JEM及HEVC之技術來描述的。然而,本發明之技術可由經組態為其他視訊寫碼標準的視訊寫碼器件執行。
在圖9之實例中,視訊解碼器300包括經寫碼圖像緩衝器(CPB)記憶體320、熵解碼單元302、預測處理單元304、反量化單元306、反變換處理單元308、重建構單元310、濾波器單元312及經解碼圖像緩衝器(DPB)314。預測處理單元304包括運動補償單元316及內預測單元318。預測處理單元304可包括根據其他預測模式執行預測的疊加單元。舉例而言,預測處理單元304可包括調色板單元、區塊內拷貝單元(其可形成運動補償單元316之部分)、仿射單元、線性模型(LM)單元或其類似者。在其他實例中,視訊解碼器300可包括更多、更少或不同的功能組件。
CPB記憶體320可儲存待由視訊解碼器300之組件解碼之視訊資料,諸如經編碼視訊位元串流。可(例如)自電腦可讀媒體110 (圖1)獲得儲存於CPB記憶體320中之視訊資料。CPB記憶體320可包括儲存來自經編碼視訊位元串流之經編碼視訊資料(例如,語法元素)的CPB。又,CPB記憶體320可儲存除經寫碼圖像之語法元素之外的視訊資料,諸如表示來自視訊解碼器300之各種單元之輸出的臨時資料。DPB 314一般儲存經解碼圖像,視訊解碼器300可在解碼經編碼視訊位元串流之後續資料或圖像時輸出該等經解碼圖像及/或將其用作參考視訊資料。CPB記憶體320及DPB 314可由諸如動態隨機存取記憶體(DRAM)之多種記憶體器件中之任一者形成,包括同步DRAM (SDRAM)、磁阻式RAM (MRAM)、電阻式RAM (RRAM)或其他類型之記憶體器件。CPB記憶體320及DPB 314可藉由同一記憶體器件或獨立記憶體器件提供。在各種實例中,CPB記憶體320可與視訊解碼器300之其他組件一起在晶片上,或相對於彼等組件在晶片外。
另外地或可替代地,在一些實例中,視訊解碼器300可自記憶體120 (圖1)擷取經寫碼視訊資料。亦即,記憶體120可利用CPB記憶體320儲存如上文所論述之資料。同樣,當視訊解碼器300之一些或所有功能性實施於軟體中以藉由視訊解碼器300之處理電路系統執行時,記憶體120可儲存待由視訊解碼器300執行之指令。
圖9中所示之各種單元經說明為輔助理解由視訊解碼器300執行之操作。單元可經實施為固定功能電路、可程式化電路或其組合。類似於圖8,固定功能電路指代提供特定功能性,且在可執行之操作上預設定的電路。可程式化電路係指可經程式化以執行各種任務並在可執行之操作中提供可撓式功能性的電路。舉例而言,可程式化電路可實行促使可程式化電路以由軟體或韌體之指令定義的方式操作的軟體或韌體。固定功能電路可執行軟體指令(例如,以接收參數或輸出參數),但固定功能電路執行的操作之類型一般係不可變的。在一些實例中,單元中之一或多者可為不同電路區塊(固定功能或可程式化),且在一些實例中,一或多個單元可為積體電路。
視訊解碼器300可包括ALU、EFU、數位電路、類比電路及/或由可程式化電路形成之可程式化核心。在視訊解碼器300之操作係由在可程式化電路上執行之軟體執行的實例中,晶片上或晶片外記憶體可儲存視訊解碼器300接收並執行的軟體之指令(例如目標程式碼)。
熵解碼單元302可自CPB接收經編碼視訊資料,並熵解碼視訊資料以再生語法元素。預測處理單元304、反量化單元306、反變換處理單元308、重建構單元310、及濾波器單元312可基於自位元串流提取之語法元素產生經解碼視訊資料。
大體而言,視訊解碼器300在逐區塊基礎上重建構圖像。視訊解碼器300可個別地對每一區塊執行重建構操作(其中,當前正重建構(亦即,解碼)之區塊可被稱作「當前區塊」)。
熵解碼單元302可熵解碼定義經量化變換係數區塊之經量化變換係數的語法元素以及變換資訊,諸如量化參數(QP)及/或變換模式指示。反量化單元306可使用與經量化變換係數區塊相關聯之QP判定量化程度,且同樣判定反量化程度供反量化單元306應用。反量化單元306可(例如)執行按位元左移操作以將經量化變換係數反量化。反量化單元306可從而形成包括變換係數之變換係數區塊。
在反量化單元306形成變換係數區塊後,反變換處理單元308可將一或多個反變換應用於變換係數區塊以產生與當前區塊相關聯的殘餘區塊。舉例而言,反變換處理單元308可將反DCT、反整數變換、反Karhunen-Loeve變換(KLT)、反旋轉變換、反定向變換或另一反變換應用於係數區塊。
此外,預測處理單元304根據藉由熵解碼單元302熵解碼之預測資訊語法元素產生預測區塊。舉例而言,若預測資訊語法元素指示當前區塊經框間預測,則運動補償單元316可產生預測區塊。在此狀況下,預測資訊語法元素可指示DPB 314中之參考圖像(自其擷取參考區塊),以及運動向量,其識別參考圖像中之參考區塊相對於當前圖像中之當前區塊之位置的位置。運動補償單元316可總體上以實質上類似於關於運動補償單元224所描述之方式的方式執行框間預測程序(圖8)。
作為另一實例,若預測資訊語法元素指示當前區塊經內預測,則內預測單元318可根據藉由預測資訊語法元素指示之內預測模式產生預測區塊。如在本發明別處更詳細地解釋,內預測單元318可執行廣角內預測,且可經組態以針對廣角內預測模式執行平滑濾波。同樣,內預測單元318可總體上以實質上類似於關於內預測單元226 (圖8)所描述之方式的方式執行內預測程序。內預測單元318可將相鄰樣本之資料自DPB 314擷取至當前區塊。
重建構單元310可使用預測區塊及殘餘區塊重建構當前區塊。舉例而言,重建構單元310可將殘餘區塊之樣本添加至預測區塊之對應樣本以重建構當前區塊。
濾波器單元312可對經重建構區塊執行一或多個濾波操作。舉例而言,濾波器單元312可執行解區塊操作以沿經重建構區塊之邊緣減少區塊效應假影。濾波器單元312之操作不一定在所有實例中執行。
視訊解碼器300可將經重建構區塊儲存於DPB 314中。如上文所論述,DPB 314可將參考資訊提供至預測處理單元304,諸如用於內預測之當前圖像及用於後續運動補償之經先前解碼圖像的樣本。此外,視訊解碼器300可輸出來自DPB之經解碼圖像以用於隨後呈現於諸如圖1之顯示器件118的顯示器件上。
圖10為說明用於編碼視訊資料之當前區塊之實例程序的流程圖。當前區塊可包括當前CU。儘管關於視訊編碼器200 (圖1及圖8)所描述,但應理解,其他器件可經組態以執行類似於圖10之程序的程序。
在此實例中,視訊編碼器200初始地預測當前區塊(350)。舉例而言,視訊編碼器200可形成當前區塊之預測區塊。視訊編碼器200隨後可計算當前區塊之殘餘區塊(352)。為了計算殘餘區塊,視訊編碼器200可計算當前區塊的初始未經寫碼區塊與預測區塊之間的差。視訊編碼器200可接著變換並量化殘餘區塊之係數(354)。接著,視訊編碼器200可掃描殘餘區塊之經量化變換係數(356)。在掃描期間或在掃描之後,視訊編碼器200可熵編碼係數(358)。舉例而言,視訊編碼器200可使用CAVLC或CABAC來編碼係數。視訊編碼器200可接著輸出區塊之經熵寫碼資料(360)。
圖11為說明用於解碼視訊資料之當前區塊之實例程序的流程圖。當前區塊可包括當前CU。儘管關於視訊解碼器300 (圖1及圖9)所描述,但應理解,其他器件可經組態以執行類似於圖11之程序的程序。
視訊解碼器300可接收當前區塊之經熵寫碼資料,諸如經熵寫碼預測資訊及對應於當前區塊之殘餘區塊的係數之經熵寫碼資料(370)。視訊解碼器300可熵解碼經熵寫碼資料,以判定當前區塊之預測資訊且再生殘餘區塊之係數(372)。視訊解碼器300可例如使用如由當前區塊之預測資訊所指示的框內或框間預測來預測當前區塊(374),以計算當前區塊之預測區塊。視訊解碼器300接著可反掃描經再生之係數(376)以產生經量化變換係數之區塊。視訊解碼器300可接著反量化及反變換係數以產生殘餘區塊(378)。視訊解碼器300可最後藉由組合預測區塊及殘餘區塊來解碼當前區塊(380)。
圖12為說明用於解碼視訊資料之當前區塊之實例程序的流程圖。當前區塊可包括當前CU。儘管關於視訊解碼器300 (圖1及圖9)所描述,但應理解,其他器件可經組態以執行類似於圖12之程序的程序。作為一個實例,圖12之程序亦可由視訊編碼器200執行,作為用於判定如何編碼視訊資料之當前區塊的程序之部分。
在圖12之實例中,視訊解碼器300判定視訊資料之區塊的大小,其中視訊資料之區塊包含矩形的非正方形區塊(382)。視訊解碼器300可例如藉由基於區塊之高度及區塊之寬度而判定大小指數,來判定視訊資料之區塊的大小。視訊解碼器300可例如藉由將大小指數判定為等於(log2(BlockWidth) + log2(BlockHeight)) / 2來基於區塊之高度及區塊之寬度判定大小指數,其中BlockWidth為區塊之寬度,且BlockHeight為區塊之高度。
視訊解碼器300判定用於視訊資料之區塊的內預測模式(384)。視訊解碼器300將對應於經判定內預測模式之參考樣本定位於視訊資料之區塊的相鄰區塊中(386)。參考樣本可為非分數參考樣本。參考樣本可為在無內插濾波之情況下進行判定的樣本。
回應於用於視訊資料之區塊的內預測模式為廣角內預測模式且對應於區塊之對角線方向,視訊解碼器300對參考樣本濾波以判定經濾波參考樣本(388)。廣角內預測模式可為具有介於-135度與-180度之間或45度與90度之間的預測角度的內預測模式。
如技術方案1之方法,其中對該等參考樣本濾波以判定經濾波參考樣本包含將一平滑濾波器應用於該等參考樣本。該平滑濾波器可例如為一3抽頭濾波器。在一些實例中,為了將平滑濾波器應用於參考樣本,視訊解碼器300可在將內插濾波器應用於參考樣本之前或在無該應用之情況下應用平滑濾波。在其他實例中,為了將平滑濾波器應用於參考樣本,視訊解碼器300可將平滑內插濾波器應用於參考樣本。
視訊解碼器300自經濾波參考樣本產生視訊資料之區塊的預測性區塊(390)。視訊解碼器300可以上文所描述之方式使用內預測產生預測性區塊。
視訊解碼器300自預測性區塊判定視訊資料之區塊的經解碼版本(392)。視訊解碼器300可(例如)藉由將視訊資料之殘餘區塊添加至預測性區塊來判定視訊資料之區塊的經解碼版本。
在一個實例中,視訊解碼器300可基於該大小指數判定一臨限值;基於用於該內預測模式之一框內模式指數與一水平指數值之間的一差及用於該內預測模式之該框內模式指數與一豎直指數值之間的一差判定一框內模式差值;及回應於該框內模式差值大於該臨限值,對該等參考樣本濾波以判定該等經濾波參考樣本。為了判定框內模式差值,視訊解碼器300可將框內模式差值判定為等於min(abs(IntraModeIdx - HOR_IDX), abs(IntraModeIdx - VER_IDX)),其中IntraModeIdx為用於內預測模式的框內模式指數,HOR_IDX為水平指數值,且VER_IDX為豎直指數值。在一個實例中,回應於判定大小指數小於或等於2,視訊解碼器300判定臨限值等於16。
視訊解碼器300輸出視訊資料之區塊的經解碼版本(394)。視訊解碼器300可例如作為用於顯示之圖像之部分,或藉由將視訊資料之區塊的經解碼版本作為參考圖像之部分儲存於參考圖像記憶體中,來輸出視訊之區塊的經解碼版本。當由視訊編碼器執行時,視訊編碼器可藉由將視訊資料之區塊的經解碼版本作為可用於編碼視訊資料之未來圖像的參考圖像之部分儲存於參考圖像記憶體中,來輸出區塊之經解碼版本。
將認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列經執行、可經添加、合併或完全省去(例如並非全部所描述動作或事件均為實踐該等技術所必要)。此外,在某些實例中,可(例如)經由多執行緒處理、中斷處理或多個處理器同時而非依序執行動作或事件。
在一或多個實例中,所描述之功能可實施於硬體、軟體、韌體或其任何組合中。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體,其對應於有形媒體(諸如,資料儲存媒體),或包括有助於將電腦程式自一處傳送至另一處(例如,根據通信協定)的任何媒體之通信媒體。以此方式,電腦可讀媒體大體可對應於(1)為非暫時形的有形電腦可讀儲存媒體,或(2)通信媒體,諸如,信號或載波。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
以實例說明而非限制,此等電腦可讀儲存媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用以儲存呈指令或資料結構形式之所要程式碼且可藉由電腦存取的任何其他媒體中之一或多者。又,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟碟及Blu-ray光碟,其中磁碟通常以磁性方式再生資料,而光碟藉由雷射以光學方式再生資料。以上之組合亦應包括於電腦可讀媒體之範疇內。
指令可由一或多個處理器執行,諸如一或多個DSP、通用微處理器、ASIC、FPGA或其它等效整合或離散邏輯電路系統。因此,如本文所用之術語「處理器」可指前述結構或適用於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文所描述之功能可經提供於經組態以供編碼及解碼或併入於經組合編解碼器中之專用硬體及/或軟體模組內。又,可在一或多個電路或邏輯元件中充分實施該等技術。
本發明之技術可實施於廣泛多種器件或裝置中,包括無線手持機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必要求由不同硬體單元來實現。確切而言,如上文所描述,各種單元可與合適的軟體及/或韌體一起組合於編解碼器硬體單元中或由互操作性硬體單元之集合提供,該等硬體單元包括如上文所描述之一或多個處理器。
各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。
100:視訊編碼及解碼系統
102:源器件
104:視訊源
106:記憶體
108:輸出介面
110:電腦可讀媒體
112:儲存器件
114:檔案伺服器
116:目的地器件
118:顯示器件
120:記憶體
122:輸入介面
130:四分樹二元樹(QTBT)結構
132:寫碼樹型單元(CTU)
200:視訊編碼器
202:模式選擇單元
204:殘餘產生單元
206:變換處理單元
208:量化單元
210:反量化單元
212:反變換處理單元
214:重建構單元
216:濾波器單元
218:經解碼圖像緩衝器(DPB)
220:熵編碼單元
222:運動估計單元
224:運動補償單元
226:內預測單元
230:視訊資料記憶體
300:視訊解碼器
302:熵解碼單元
304:預測處理單元
306:反量化單元
308:反變換處理單元
310:重建構單元
312:濾波器單元
314:經解碼圖像緩衝器(DPB)
316:運動補償單元
318:內預測單元
320:經寫碼圖像緩衝器(CPB)記憶體
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
370:步驟
372:步驟
374:步驟
376:步驟
378:步驟
380:步驟
382:步驟
384:步驟
386:步驟
388:步驟
390:步驟
392:步驟
394:步驟
400:矩形當前區塊
402:圓
404:圓
502:寫碼單元(CU)
504:對角線方向
506:對角線方向/對角預測
512:寫碼單元(CU)
514:對角線方向
516:對角線方向
522:寫碼單元(CU)
524:對角線方向
526:對角線方向
圖1為說明可執行本發明之技術的實例視訊編碼及解碼系統之方塊圖。
圖2A及圖2B為說明實例四分樹二元樹(QTBT)結構及對應寫碼樹型單元(CTU)之概念圖。
圖3展示內預測之方向之實例,其中箭頭指向參考樣本。
圖4展示8×4矩形區塊之實例,其中不將「較近」參考樣本用於內預測,而是可使用較遠參考樣本。
圖5A至圖5C展示針對對角線方向範圍之外的模式的模式映射程序之實例。
圖6為用於內預測的廣角之圖示。
圖7為用於內預測的廣角之圖示。
圖8為說明可執行本發明之技術的實例視訊編碼器之方塊圖。
圖9為說明可執行本發明之技術的實例視訊解碼器之方塊圖。
圖10為說明用於編碼視訊資料之當前區塊之實例程序的流程圖。
圖11為說明用於解碼視訊資料之當前區塊之實例程序的流程圖。
圖12為說明用於解碼視訊資料之當前區塊之實例程序的流程圖。
382:步驟
384:步驟
386:步驟
388:步驟
390:步驟
392:步驟
394:步驟
Claims (42)
- 一種解碼視訊資料之方法,該方法包含:判定視訊資料之一第一區塊之一第一大小,其中視訊資料之該第一區塊包含一第一矩形非正方形區塊;判定用於視訊資料之該第一區塊的一第一內預測模式;將對應於經判定的該第一內預測模式的第一參考樣本定位於視訊資料之該第一區塊之一第一相鄰區塊中;回應於用於視訊資料之該第一區塊的該第一內預測模式為一第一廣角內預測模式,且具有對應於該第一區塊之一對角線方向的一框內模式指數,對該第一參考樣本濾波以判定經濾波參考樣本,其中該第一廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第一內預測模式;自該等經濾波參考樣本,產生用於視訊資料之該第一區塊的一第一預測性區塊;自該第一預測性區塊,判定視訊資料之該第一區塊的經解碼版本;判定視訊資料之一第二區塊之一第二大小,其中視訊資料之該第二區塊包含一第二矩形非正方形區塊;判定用於視訊資料之該第二區塊的一第二內預測模式;將對應於經判定的該第二內預測模式的第二參考樣本定位於視訊資料之該第二區塊之一第二相鄰區塊中;回應於用於視訊資料之該第二區塊的該第二內預測模式為一第二廣角內預測模式,且具有對應於該第二區塊之一非對角線方向的一框內模式指數,自該相鄰區塊之未經濾波參考樣本產生用於視訊資料之該第二區塊的 一第二預測性區塊,其中該第一廣角內預測模式與該第二廣角內預測模式不同,且該第二廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第二內預測模式;自該第二預測性區塊,判定視訊資料之該第二區塊的經解碼版本;以及輸出視訊資料之該第一區塊之該經解碼版本及視訊資料之該第二區塊之該經解碼版本。
- 如請求項1之方法,其中該第一參考樣本包含非分數參考樣本。
- 如請求項1之方法,其中該第一參考樣本包含在無內插濾波之情況下進行判定的樣本。
- 如請求項1之方法,其中對該第一參考樣本濾波以判定經濾波參考樣本包含將一平滑濾波器應用於該第一參考樣本。
- 如請求項4之方法,其中該平滑濾波器包含一3抽頭濾波器。
- 如請求項4之方法,其中將該平滑濾波器應用於該第一參考樣本包含在將一內插濾波器應用於該第一參考樣本之前或在無該應用之情況下應用平滑濾波。
- 如請求項4之方法,其中將該平滑濾波器應用於該第一參考樣本包含將一平滑內插濾波器應用於該第一參考樣本。
- 如請求項1之方法,其中該第一內預測模式具有小於-135度且大於-180度的一預測角度或大於45度且小於90度的一預測角度,並且該第二內預測模式具有小於-135度且大於-180度的一預測角度或大於45度 且小於90度的一預測角度。
- 如請求項1之方法,其中判定視訊資料之該第一區塊的該第一大小包含基於該第一區塊之一高度及該第一區塊之一寬度判定一大小指數。
- 如請求項9之方法,其進一步包含:基於該大小指數判定一臨限值;基於用於該第一內預測模式之該框內模式指數與一水平指數值之間的一差,以及用於該第一內預測模式之該框內模式指數與一豎直指數值之間的一差,判定一框內模式差值;回應於該框內模式差值大於該臨限值,對該第一參考樣本濾波以判定該等經濾波參考樣本。
- 如請求項10之方法,其中判定該框內模式差值包含將該框內模式差值判定為等於:min(abs(IntraModeIdx-HOR_IDX),abs(IntraModeIdx-VER_IDX)),其中IntraModeIdx為用於該第一內預測模式之該框內模式指數,HOR_IDX為該水平指數值,且VER_IDX為該豎直指數值。
- 如請求項10之方法,該方法進一步包含:回應於判定該大小指數小於或等於2,判定該臨限值等於16。
- 如請求項9之方法,其中基於該第一區塊之該高度及該第一區塊之該寬度判定該大小指數包含將該大小指數判定為等於(log2(BlockWidth)+log2(BlockHeight))/2,其中BlockWidth為該第一區塊之該寬度,且BlockHeight為該第一區塊之該高度。
- 如請求項1之方法,其中該解碼方法係作為一編碼程序 之部分而予以執行,且其中輸出視訊資料之該第一區塊的該經解碼版本以及輸出視訊資料之該第二區塊的該經解碼版本包含:儲存視訊資料之該第一區塊的該經解碼版本作為一第一參考圖像之部分,且儲存視訊資料之該第二區塊的該經解碼版本作為一第二參考圖像之部分。
- 一種用於解碼視訊資料之器件,該器件包含:一記憶體,其用於儲存視訊資料;及一或多個處理器,其經組態以執行以下操作:判定該視訊資料之一第一區塊的一第一大小,其中視訊資料之該第一區塊包含一第一矩形非正方形區塊;判定用於視訊資料之該第一區塊的一第一內預測模式;將對應於經判定之該第一內預測模式的一第一參考樣本定位於視訊資料之該第一區塊之一第一相鄰區塊中;回應於用於視訊資料之該第一區塊的該第一內預測模式為一第一廣角內預測模式,且具有對應於該第一區塊之一對角線方向的一框內模式指數,對該第一參考樣本濾波以判定經濾波參考樣本,其中該第一廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第一內預測模式;自該等經濾波參考樣本,產生用於視訊資料之該第一區塊的一第一預測性區塊;自該第一預測性區塊,判定視訊資料之該第一區塊的經解碼版本;判定視訊資料之一第二區塊之一第二大小,其中視訊資料之該第二區塊包含一第二矩形非正方形區塊; 判定用於視訊資料之該第二區塊的一第二內預測模式;將對應於經判定的該第二內預測模式的第二參考樣本定位於視訊資料之該第二區塊之一第二相鄰區塊中;回應於用於視訊資料之該第二區塊的該第二內預測模式為一第二廣角內預測模式,且具有對應於該第二區塊之一非對角線方向的一框內模式指數,自該相鄰區塊之未經濾波參考樣本產生用於視訊資料之該第二區塊的一第二預測性區塊,其中該第一廣角內預測模式與該第二廣角內預測模式不同,且該第二廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第二內預測模式;自該第二預測性區塊,判定視訊資料之該第二區塊的經解碼版本;以及輸出該視訊資料之該第一區塊之該經解碼版本及視訊資料之該第二區塊之該經解碼版本。
- 如請求項15之器件,其中該第一參考樣本包含非分數參考樣本。
- 如請求項15之器件,其中該第一參考樣本包含在無內插濾波之情況下進行判定的樣本。
- 如請求項15之器件,其中為了對該第一參考樣本濾波以判定經濾波參考樣本,該一或多個處理器經進一步組態以將一平滑濾波器應用於該第一參考樣本。
- 如請求項18之器件,其中該平滑濾波器包含一3抽頭濾波器。
- 如請求項18之器件,其中為了將該平滑濾波器應用於 該第一參考樣本,該一或多個處理器經進一步組態以:在將一內插濾波器應用於該第一參考樣本之前或在無該應用之情況下應用該平滑濾波。
- 如請求項18之器件,其中為了將該平滑濾波器應用於該第一參考樣本,該一或多個處理器經進一步組態以將一平滑內插濾波器應用於該第一參考樣本。
- 如請求項15之器件,其中該第一內預測模式具有小於-135度且大於-180度的一預測角度或大於45度且小於90度的一預測角度,並且該第二內預測模式具有小於-135度且大於-180度的一預測角度或大於45度且小於90度的一預測角度。
- 如請求項15之器件,其中為了判定視訊資料之該第一區塊的該第一大小,該一或多個處理器經進一步組態以基於該第一區塊之一高度及該第一區塊之一寬度判定一大小指數。
- 如請求項23之器件,其中該一或多個處理器經進一步組態以:基於該大小指數判定一臨限值;基於用於該第一內預測模式之該框內模式指數與一水平指數值之間的一差,以及用於該第一內預測模式之該框內模式指數與一豎直指數值之間的一差,判定一框內模式差值;回應於該框內模式差值大於該臨限值,對該第一參考樣本濾波以判定該等經濾波參考樣本。
- 如請求項24之器件,其中為了判定該框內模式差值,該一或多個處理器經進一步組態以將該框內模式差值判定為等於:min(abs(IntraModeIdx-HOR_IDX),abs(IntraModeIdx-VER_IDX)),其 中IntraModeIdx為用於該內預測模式之該框內模式指數,HOR_IDX為該水平指數值,且VER_IDX為該豎直指數值。
- 如請求項24之器件,其中該一或多個處理器經進一步組態以:回應於判定該大小指數小於或等於2,判定該臨限值等於16。
- 如請求項23之器件,其中為了基於該第一區塊之該高度及該第一區塊之該寬度判定該大小指數,該一或多個處理器經進一步組態以將該大小指數判定為等於(log2(BlockWidth)+log2(BlockHeight))/2,其中BlockWidth為該第一區塊之該寬度,且BlockHeight為該第一區塊之該高度。
- 如請求項15之器件,其中該一或多個處理器經組態以解碼該視訊資料作為一編碼程序之部分,且其中為了輸出視訊資料之該第一區塊的該經解碼版本以及輸出視訊資料之該第二區塊的該經解碼版本,該一或多個處理器經進一步組態以:儲存視訊資料之該第一區塊的該經解碼版本作為一第一參考圖像之部分,且儲存視訊資料之該第二區塊的該經解碼版本作為一第二參考圖像之部分。
- 一種儲存指令之非暫時性電腦可讀儲存媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器:判定視訊資料之一第一區塊的一第一大小,其中視訊資料之該第一區塊包含一第一矩形非正方形區塊;判定用於視訊資料之該第一區塊的一第一內預測模式;將對應於經判定的該第一內預測模式的第一參考樣本定位於視訊資料之該第一區塊之一第一相鄰區塊中; 回應於用於視訊資料之該第一區塊的該第一內預測模式為一第一廣角內預測模式,且具有對應於該第一區塊之一對角線方向的一框內模式指數,對該第一參考樣本濾波以判定經濾波參考樣本,其中該第一廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第一內預測模式;自該等經濾波參考樣本產生用於視訊資料之該第一區塊的一第一預測性區塊;自該第一預測性區塊判定視訊資料之該第一區塊的經解碼版本;判定視訊資料之一第二區塊之一第二大小,其中視訊資料之該第二區塊包含一第二矩形非正方形區塊;判定用於視訊資料之該第二區塊的一第二內預測模式;將對應於經判定的該第二內預測模式的第二參考樣本定位於視訊資料之該第二區塊之一第二相鄰區塊中;回應於用於視訊資料之該第二區塊的該第二內預測模式為一第二廣角內預測模式,且具有對應於該第二區塊之一非對角線方向的一框內模式指數,自該相鄰區塊之未經濾波參考樣本產生用於視訊資料之該第二區塊的一第二預測性區塊,其中該第一廣角內預測模式與該第二廣角內預測模式不同,且該第二廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第二內預測模式;自該第二預測性區塊,判定視訊資料之該第二區塊的經解碼版本;以及輸出視訊資料之該第一區塊之該經解碼版本及視訊資料之該第二區塊之該經解碼版本。
- 如請求項29之非暫時性電腦可讀儲存媒體,其中該第一參考樣本包含非分數參考樣本。
- 如請求項29之非暫時性電腦可讀儲存媒體,其中該第一參考樣本包含在無內插濾波之情況下進行判定的樣本。
- 如請求項29之非暫時性電腦可讀儲存媒體,其中為了對該第一參考樣本濾波以判定經濾波參考樣本,該等指令使得該一或多個處理器將一平滑濾波器應用於該第一參考樣本。
- 如請求項32之非暫時性電腦可讀儲存媒體,其中該平滑濾波器包含一3抽頭濾波器。
- 如請求項32之非暫時性電腦可讀儲存媒體,其中為了將該平滑濾波器應用於該第一參考樣本,該等指令使得該一或多個處理器在將一內插濾波器應用於該第一參考樣本之前或在無該應用之情況下應用該平滑濾波。
- 如請求項32之非暫時性電腦可讀儲存媒體,其中為了將該平滑濾波器應用於該第一參考樣本,該等指令使得該一或多個處理器將一平滑內插濾波器應用於該第一參考樣本。
- 如請求項29之非暫時性電腦可讀儲存媒體,其中為了判定視訊資料之該第一區塊的該大小,該等指令使得該一或多個處理器基於該第一區塊之一高度及該第一區塊之一寬度判定一大小指數。
- 如請求項36之非暫時性電腦可讀儲存媒體,其儲存當經執行時使得該一或多個處理器執行以下操作的其他指令:基於該大小指數判定一臨限值;基於用於該第一內預測模式之該框內模式指數與一水平指數值之間的 一差,以及用於該內預測模式之該框內模式指數與一豎直指數值之間的一差,判定一框內模式差值;回應於該框內模式差值大於該臨限值,對該等參考樣本濾波以判定該等經濾波參考樣本。
- 如請求項37之非暫時性電腦可讀儲存媒體,其中為了判定該框內模式差值,該等指令使得該一或多個處理器將該框內模式差值判定為等於:min(abs(IntraModeIdx-HOR_IDX),abs(IntraModeIdx-VER_IDX)),其中IntraModeIdx為用於該第一內預測模式之該框內模式指數,HOR_IDX為該水平指數值,且VER_IDX為該豎直指數值。
- 如請求項37之非暫時性電腦可讀儲存媒體,其儲存當經執行時使得該一或多個處理器執行以下操作的其他指令:回應於判定該大小指數小於或等於2,判定該臨限值等於16。
- 如請求項36之非暫時性電腦可讀儲存媒體,其中為了基於該第一區塊之該高度及該第一區塊之該寬度判定該大小指數,該等指令使得該一或多個處理器將該大小指數判定為等於(log2(BlockWidth)+log2(BlockHeight))/2,其中BlockWidth為該第一區塊之該寬度,且BlockHeight為該第一區塊之該高度。
- 如請求項29之非暫時性電腦可讀儲存媒體,其中該等指令使得該一或多個處理器解碼該視訊資料作為一編碼程序之部分,且其中為了輸出視訊資料之該第一區塊的該經解碼版本及視訊資料之該第二區塊的該經解碼版本,該一或多個處理器經進一步組態以儲存視訊資料之該第一區塊的該經解碼版本作為一第一參考圖像之部分,且儲存視訊資料之 該第二區塊的該經解碼版本作為一第二參考圖像之部分。
- 一種用於解碼視訊資料之裝置,該裝置包含:用於判定視訊資料之一第一區塊之一第一大小的構件,其中視訊資料之該第一區塊包含一第一矩形非正方形區塊;用於判定用於視訊資料之該第一區塊之一第一內預測模式的構件;用於將對應於經判定的該第一內預測模式的第一參考樣本定位於視訊資料之該第一區塊之一第一相鄰區塊中的構件;用於回應於用於視訊資料之該第一區塊的該第一內預測模式為一第一廣角內預測模式,且具有對應於該第一區塊之一對角線方向的一框內模式指數,對該第一參考樣本濾波以判定經濾波參考樣本的構件,其中該第一廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第一內預測模式;用於自該等經濾波參考樣本產生用於視訊資料之該第一區塊的一第一預測性區塊的構件;用於自該第一預測性區塊判定視訊資料之該第一區塊的經解碼版本的構件;用於判定視訊資料之一第二區塊之一第二大小的構件,其中視訊資料之該第二區塊包含一第二矩形非正方形區塊;用於判定用於視訊資料之該第二區塊的一第二內預測模式的構件;用於將對應於經判定的該第二內預測模式的第二參考樣本定位於視訊資料之該第二區塊之一第二相鄰區塊中的構件;用於回應於用於視訊資料之該第二區塊的該第二內預測模式為一第二廣角內預測模式,且具有對應於該第二區塊之一非對角線方向的一框內模 式指數,自該相鄰區塊之未經濾波參考樣本產生用於視訊資料之該第二區塊的一第二預測性區塊的構件,其中該第一廣角內預測模式與該第二廣角內預測模式不同,且該第二廣角內預測模式包含具有小於-135度或大於45度的一預測角度的一第二內預測模式;用於自該第二預測性區塊判定視訊資料之該第二區塊的經解碼版本的構件;以及用於輸出視訊資料之該第一區塊之該經解碼版本及視訊資料之該第二區塊之該經解碼版本的構件。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862750749P | 2018-10-25 | 2018-10-25 | |
US62/750,749 | 2018-10-25 | ||
US201962865872P | 2019-06-24 | 2019-06-24 | |
US62/865,872 | 2019-06-24 | ||
US16/663,193 | 2019-10-24 | ||
US16/663,193 US11303885B2 (en) | 2018-10-25 | 2019-10-24 | Wide-angle intra prediction smoothing and interpolation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202031041A TW202031041A (zh) | 2020-08-16 |
TWI835902B true TWI835902B (zh) | 2024-03-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120082224A1 (en) | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Intra smoothing filter for video coding |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120082224A1 (en) | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Intra smoothing filter for video coding |
Non-Patent Citations (1)
Title |
---|
網路文獻 Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer Ohm, Jill Boyce Algorithm description of Joint Exploration Test Model 7 (JEM7) Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT 13–21 July 2017 https://jvet-experts.org/doc_end_user/documents/7_Torino/wg11/JVET-G1001-v1.zip |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI821324B (zh) | 結合模式相依內平滑濾波與內插濾波器內切換 | |
US11303885B2 (en) | Wide-angle intra prediction smoothing and interpolation | |
KR20220006060A (ko) | 아핀 선형 가중 인트라 예측에서의 예측 신호 필터링 | |
US11190764B2 (en) | Merged mode dependent intra smoothing (MDIS) and intra interpolation filter switching with position dependent intra prediction combination (PDPC) | |
CN114128286A (zh) | 视频编解码中的环绕运动补偿 | |
US20200288130A1 (en) | Simplification of sub-block transforms in video coding | |
US11228768B2 (en) | Restriction on block size of lossless coding | |
US11671592B2 (en) | Position-dependent intra-prediction combination for angular intra-prediction modes for video coding | |
TW202044833A (zh) | 使用不同色度格式之三角預測單元模式中之視訊寫碼 | |
US11991387B2 (en) | Signaling number of subblock merge candidates in video coding | |
KR20220061130A (ko) | 비디오 코딩을 위한 하이-레벨 신택스에서의 서브픽처 시그널링 | |
CN114391256A (zh) | 用于视频编解码的变换单元设计 | |
US11627327B2 (en) | Palette and prediction mode signaling | |
KR20230002323A (ko) | 비디오 코딩을 위한 적응적 스케일링 리스트 제어 | |
KR20220159965A (ko) | 비디오 코딩에서 저주파 분리 불가능 변환 인덱스 시그널링 | |
US11356685B2 (en) | Signaling number of sub-pictures in high-level syntax for video coding | |
TWI835902B (zh) | 廣角內預測平滑及內插 | |
CN115462072A (zh) | 视频译码中的高级去块滤波(dbf)、自适应环路滤波(alf)和采样自适应偏移(sao)控制以及自适应参数集(aps)数量约束 | |
US20230328244A1 (en) | Flexible activation of multiple transform selection for inter-coding in video coding | |
US20210176468A1 (en) | Residual coding selection and low-level signaling based on quantization parameter | |
TW202345599A (zh) | 視訊譯碼中在參考圖片重取樣與基於範本的訊框間預測技術之間的互動 | |
TW202418805A (zh) | 視頻編解碼複雜性降低的幀內預測融合 | |
TW202123697A (zh) | 在用於視訊寫碼之較高語法層級處經信令傳輸之恆定圖塊標頭參數 | |
CN116724551A (zh) | 用于视频译码的帧内预测的最可能模式 |