TWI686080B - 用於大的寫碼樹單元之內容 - Google Patents
用於大的寫碼樹單元之內容 Download PDFInfo
- Publication number
- TWI686080B TWI686080B TW105102622A TW105102622A TWI686080B TW I686080 B TWI686080 B TW I686080B TW 105102622 A TW105102622 A TW 105102622A TW 105102622 A TW105102622 A TW 105102622A TW I686080 B TWI686080 B TW I686080B
- Authority
- TW
- Taiwan
- Prior art keywords
- depth
- current
- coding
- content
- coding unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
Abstract
在一實例中,一種寫碼視訊資料之方法可包括:作為一熵寫碼程序之部分,基於相關於與一當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與該當前CU相關聯之一語法元素的一內容。該語法元素可表示該當前CU是否被分裂成子CU。該方法可包括基於該所選擇內容熵寫碼該語法元素。
Description
本申請案主張2015年1月27日申請的美國臨時專利申請案第62/108,465號之權益,該申請案之全部內容特此以引用之方式併入本文中。
本發明係關於視訊寫碼。
數位視訊能力可併入至廣泛範圍之器件中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主機、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電話會議器件、視訊串流器件及其類似者。數位視訊器件實施視訊壓縮技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分進階視訊寫碼(AVC)、ITU-T H.265高效視訊寫碼(HEVC)所界定的標準及此等標準之擴展中所描述的彼等技術。視訊器件可藉由實施此等視訊壓縮技術更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊壓縮技術包括空間(圖像內)預測及/或時間(圖像間)預測來減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,可將視訊圖塊(亦即,視訊圖框或視訊圖框之一部分)分割成視訊區塊。使用
相對於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)之圖塊中的視訊區塊。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用相對於同一圖像中之相鄰區塊中的參考樣本的空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間或時間預測產生待寫碼之區塊的預測性區塊。殘餘資料表示待寫碼之原始區塊與預測性區塊之間的像素差。經框間寫碼區塊係根據指向形成預測性區塊之參考樣本之區塊的運動向量來編碼,且殘餘資料指示經寫碼區塊與預測性區塊之間的差。根據框內寫碼模式及殘餘資料來編碼經框內寫碼區塊。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生可接著進行量化之殘餘係數。最初配置成二維陣列的經量化係數可經掃描以便產生係數的一維向量,且可應用熵寫碼以達成甚至更多壓縮。
本發明之技術涉及視訊寫碼。舉例而言,本發明中描述之該等技術可包括用於藉由執行一熵寫碼程序來編碼或解碼一視訊資料區塊的一或多種技術。舉例而言,本文中所描述之一或多種技術可包括基於與一寫碼單元(CU)有關之一空間相鄰CU或與該CU有關之一時間相鄰CU的資訊中之至少一者,執行與該CU相關聯之一語法元素的內容自適應二進位算術寫碼(CABAC)內容模型化。
在一個實例中,本發明描述一種寫碼視訊資料之方法,該方法包含:作為一熵寫碼程序之部分,基於相關於與一當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與該當前CU相關聯之一語法元素的一內容,其中該語法元素表示該當前CU是否被分裂成子CU;及基於該所選擇內容熵寫碼該語法元素。
在另一實例中,本發明描述一種用於寫碼視訊資料之器件,該
器件包含:一記憶體,其經組態以儲存該視訊資料;及一視訊寫碼器,其與該記憶體通信,其中該視訊寫碼器經組態以:作為一熵寫碼程序之部分,基於相關於與儲存在該記憶體中之一當前寫碼單元(CU)有關之一或多個相鄰CU的CU深度的資訊,選擇用於與該當前CU相關聯之一語法元素的一內容,其中該語法元素表示該當前CU是否被分裂成子CU;及基於該所選擇內容熵寫碼該語法元素。
在另一實例中,本發明描述一種寫碼視訊資料之裝置,該裝置包含:用於作為一熵寫碼程序之部分,基於相關於與一當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與該當前CU相關聯之一語法元素的一內容的構件,其中該語法元素表示該當前CU是否被分裂成子CU;及用於基於該所選擇內容熵寫碼該語法元素的構件。
在另一實例中,本發明描述一種非暫時性電腦可讀儲存媒體,其上儲存有指令,該等指令在被執行時,使得一或多個處理器作為一熵寫碼程序之部分,基於相關於與一當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與該當前CU相關聯之一語法元素的一內容,其中該語法元素表示該當前CU是否被分裂成子CU;及基於該所選擇內容熵寫碼該語法元素。
在附圖及以下描述中闡明本發明之一或多個實例的細節。本發明之其他特徵、目標及優勢將自描述及圖式及申請專利範圍顯而易見。
10‧‧‧視訊寫碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧頻道
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
26‧‧‧儲存器件
28‧‧‧輸入介面
30‧‧‧視訊解碼器
32‧‧‧顯示器件
100‧‧‧預測處理單元
101‧‧‧視訊資料記憶體
102‧‧‧殘餘產生單元
104‧‧‧變換處理單元
106‧‧‧量化單元
108‧‧‧逆量化單元
110‧‧‧逆變換處理單元
112‧‧‧重建構單元
114‧‧‧濾波器單元
116‧‧‧經解碼圖像緩衝器
118‧‧‧熵編碼單元
120‧‧‧框間預測處理單元
126‧‧‧框內預測處理單元
150‧‧‧熵解碼單元
151‧‧‧視訊資料記憶體
152‧‧‧預測處理單元
154‧‧‧逆量化單元
156‧‧‧逆變換處理單元
158‧‧‧重建構單元
160‧‧‧濾波器單元
162‧‧‧經解碼圖像緩衝器
164‧‧‧運動補償單元
166‧‧‧框內預測處理單元
圖1為說明可利用本發明中描述之技術之實例視訊寫碼系統的方塊圖。
圖2為說明可實施本發明中描述之技術之實例視訊編碼器的方塊圖。
圖3為說明可實施本發明中所描述之技術之實例視訊解碼器的方塊圖。
圖4為說明符合本發明之技術的用於寫碼視訊資料之實例程序的流程圖。
圖5為說明符合本發明之技術的用於解碼視訊資料之實例程序的流程圖。
圖6為說明符合本發明之技術的用於編碼視訊資料之實例程序的流程圖。
本發明之技術大體上涉及視訊寫碼及壓縮。更特定而言,本發明涉及當(例如)支援大的寫碼樹型單元(CTU)之寫碼時在基於區塊之視訊寫碼中語法元素之發信。舉例而言,本發明描述用於寫碼與CTU有關之語法元素的技術。作為另一實例,本發明描述用於熵寫碼語法元素之技術。作為另一實例,本發明描述與語法元素之二進位化、內容模型化,及算術寫碼相關的技術。作為又一實例,本發明描述與使用熵寫碼程序(諸如內容自適應二進位算術寫碼(CABAC))的語法元素之二進位化、內容模型化,及算術寫碼相關之技術。本發明之技術可應用於現有視訊編碼解碼器或視訊寫碼標準(例如,ITU-T H.265HEVC),或可應用於未來視訊編碼解碼器或視訊寫碼標準中。
內容自適應二進位算術寫碼(CABAC)為一種熵寫碼方法,該方法首先在H.264/AVC中被引入,且現用於最新HEVC標準中。CABAC大體上涉及三個主要功能:二進位化、內容模型化,及算術寫碼。二進位化將語法元素映射至二進位符號(位元子),該等二進位符號可被稱作位元子字串。內容模型化估計該等位元子之機率。作為內容模型化程序之部分,視訊寫碼器選擇或每一位元子之內容模型。內容模型表示機率。可針對不同位元子選擇不同內容模型。算術寫碼基於所估
計之機率將位元子壓縮至位元。換言之,算術寫碼基於對應於每一位元子的所選擇之內容模型而將位元子壓縮至位元。
本發明之技術可改良寫碼語法元素之位元串流效率。舉例而言,本發明之技術可改良寫碼與CTU及寫碼單元(CU)有關之語法元素的位元串流效率。作為另一實例,本發明之技術可尤其改良CABAC寫碼效率。作為另一實例,本發明之技術可尤其改良在(例如)大的CTU大小被啟用時與CTU及CU有關之語法元素的CABAC寫碼效率。
圖1為說明可利用本發明之技術之實例視訊寫碼系統10的方塊圖。如本文所使用,術語「視訊寫碼器」泛指視訊編碼器及視訊解碼器兩者。在本發明中,術語「視訊寫碼」可泛指視訊編碼或視訊解碼。類似的,術語「寫碼」可泛指編碼或解碼。舉例而言,對熵寫碼之提及可指熵編碼或熵解碼。視訊寫碼系統10之視訊編碼器20及視訊解碼器30表示可經組態以執行本發明之一或多種技術之器件的實例。舉例而言,視訊編碼器20及視訊解碼器30可經組態以執行根據本發明中描述之各種實例的用於寫碼與CTU及CU有關之資料的技術。作為一個實例,視訊編碼器20及視訊解碼器30可經組態以限制CTU大小及/或執行與CTU及/或CU有關之語法元素的CABAC內容模型化。
視訊編碼器20及/或視訊解碼器30可經組態以根據本發明中描述之技術來操作。視訊解碼器30可經組態以執行與本文中所描述的視訊編碼器20之程序大體上互逆的程序。類似的,視訊編碼器20可經組態以執行與本文中所描述之視訊解碼器30之程序大體上互逆的程序。
本文中所描述之技術可由視訊編碼器20及/或視訊解碼器30執行,其分別在圖1至圖3中予以說明。應理解,本文所描述之所有技術可單獨地或以組合方式使用。舉例而言,視訊編碼器20及/或其一或多個組件及視訊解碼器30及/或其一或多個組件可以任何組合執行本發明中所描述之技術。作為另一實例,視訊編碼器20及/或視訊解碼
器30可經組態以作為熵寫碼程序之部分,基於相關於與一當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與該當前CU相關聯之語法元素的內容。該語法元素可表示該當前CU是否被分裂成子CU。在此實例中,視訊編碼器20及/或視訊解碼器30可經組態以基於所選擇之內容熵寫碼語法元素。如本文所使用,CU深度可指CU之四分樹深度。舉例而言,當前CU之CU深度可指當前CU之四分樹深度,且相鄰區塊(例如,相鄰CU)之CU深度可指相鄰區塊之四分樹深度。作為另一實例,分別展示於圖1至圖3中的視訊編碼器20及/或視訊解碼器30可經組態以分別執行圖4至圖6中所示的以任何組合之一或多個步驟及/或可能未描繪的關於圖4至圖6描述之任何步驟。
如圖1中所示,視訊寫碼系統10包括源器件12及目的地器件14。源器件12產生經編碼視訊資料。因此,源器件12可被稱作視訊編碼器件或視訊編碼裝置。目的地器件14可解碼由源器件12所產生的經編碼視訊資料。因此,目的地器件14可被稱作視訊解碼器件或視訊解碼裝置。源器件12及目的地器件14可為視訊寫碼器件或視訊寫碼裝置之實例。
源器件12及目的地器件14可包括廣泛範圍的器件,包含桌上型電腦、行動計算器件、筆記型(例如,膝上型)電腦、平板電腦、機上盒、諸如所謂「智慧型」電話之電話手機、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲主機、車載電腦(in-car computer)或其類似者。
目的地器件14可經由頻道16自源器件12接收經編碼視訊資料。頻道16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任何類型媒體及/或一或多個媒體或器件。在一個實例中,頻道16可包含允許源器件12將經編碼視訊資料直接即時傳輸至目的地器件14的一或多個通信媒體。在此實例中,源器件12可根據通信標準(諸
如,無線通信協定)調變經編碼視訊資料,且可將經調變視訊資料傳輸至目的地器件14。一或多個通信媒體可包括無線及/或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。一或多個通信媒體可形成基於封包之網路(諸如區域網路、廣域網路或全球網路(例如,網際網路)的部分。一或多個通信媒體可包括路由器、交換器、基地台,或促進自源器件12至目的地器件14之通信的其他設備。
在另一實例中,頻道16可包括儲存由源器件12所產生之經編碼視訊資料的儲存媒體。在此實例中,目的地器件14可(例如)經由磁碟存取或卡存取而存取儲存媒體。儲存媒體可包括多種本端存取之資料儲存媒體,諸如藍光光碟、DVD、CD-ROM、快閃記憶體,或用於儲存經編碼視訊資料之其他合適的數位儲存媒體。
在另一實例中,頻道16可包括儲存由源器件12產生之經編碼視訊資料的檔案伺服器或另一中間儲存器件。在此實例中,目的地器件14可經由串流傳輸或下載來存取儲存於檔案伺服器或另一中間儲存器件處的經編碼視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將經編碼視訊資料傳輸至目的地器件14之類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、檔案傳送協定(FTP)伺服器、網路附接儲存(NAS)器件及本端磁碟機。
目的地器件14可經由標準資料連接(諸如,網際網路連接)來存取經編碼視訊資料。資料連接之實例類型可包括適用於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等等),或兩者的組合。經編碼視訊資料自檔案伺服器的傳輸可為串流傳輸、下載傳輸或兩者的組合。
本發明之技術並不限於無線應用或設定。本發明之技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,該等應用諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、(例如)經由網際網路之串
流視訊傳輸、用於儲存於資料儲存媒體上之視訊資料的編碼、儲存於資料儲存媒體上之經編碼視訊資料的解碼或其他應用。在一些實例中,視訊寫碼系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
圖1中所說明之視訊寫碼系統10僅為實例,且本發明之技術可應用於未必包括編碼器件與解碼器件之間的任何資料通信的視訊寫碼設定(例如,視訊編碼或視訊解碼)。在其他實例中,資料係自區域記憶體擷取、經由網路串流傳輸或類似者。視訊編碼器件可編碼資料且將資料儲存至記憶體,及/或視訊解碼器件可自記憶體擷取資料且解碼資料。在許多實例中,由並不彼此通信,而是簡單地將資料編碼至記憶體及/或自記憶體擷取資料並解碼資料之器件來執行編碼及解碼。
在圖1之實例中,源器件12包括視訊源18、視訊編碼器20及輸出介面22。在一些實例中,輸出介面22可包括調變器/解調變器(數據機)及/或傳輸器。視訊源18可包括例如視訊攝影機之視訊俘獲器件、含有先前所俘獲之視訊資料的視訊存檔、用以自視訊內容提供者接收視訊資料之視訊饋入介面,及/或用於產生視訊資料之電腦圖形系統,或視訊資料之此等源的組合。
視訊編碼器20可編碼來自視訊源18之視訊資料。在一些實例中,源器件12經由輸出介面22直接將經編碼視訊資料傳輸至目的地器件14。在其他實例中,經編碼視訊資料亦可儲存於儲存媒體上或檔案伺服器上,以稍後供目的地器件14存取以用於解碼及/或播放。
在圖1之實例中,目的地器件14包括輸入介面28、視訊解碼器30及顯示器件32。在一些實例中,輸入介面28包括接收器及/或數據機。輸入介面28可經由頻道16接收經編碼視訊資料。經由頻道16傳達或由儲存器件26提供之經編碼視訊資料可包括由視訊編碼器20產生以供視訊解碼器(諸如視訊解碼器30)用於解碼視訊資料的多種語法元
素。此等語法元素可與在通信媒體上傳輸、儲存於儲存媒體上或儲存於檔案伺服器上之經編碼視訊資料包括在一起。
顯示器件32可與目的地器件14整合或在目的地器件14外部。通常,顯示器件32顯示經解碼視訊資料。顯示器件32可包含多種顯示器件,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
視訊編碼器20及視訊解碼器30各自可實施為多種合適電路中的任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、硬體或其任何組合。若部分地以軟體來實施技術,則器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀儲存媒體中,且可在硬體中使用一或多個處理器來執行該等指令以執行本發明之技術。可將前述各者(包括硬體、軟體、硬體與軟體之組合等)中之任一者視為一或多個處理器。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別器件中的組合式編碼器/解碼器(CODEC)之部分。
本發明可大體上指視訊編碼器20將某一資訊「發信」或「傳輸」至另一器件,諸如視訊解碼器30。術語「發信」或「傳輸」可大體上指用以解碼經壓縮視訊資料之語法元素及/或其他資料的通信。此通信可即時地或接近即時地發生。替代地,可歷時時間跨度發生此通信,諸如此通信可當在編碼時在經編碼位元串流中將語法元素儲存至電腦可讀儲存媒體時發生,接著,在儲存至此媒體之後可由解碼器件在任何時間擷取該等語法元素。因此,雖然視訊解碼器30可被稱作「接收」某些資訊,但資訊之接收未必即時或接近即時發生且可在儲存之後的某一時間處自媒體擷取。
在一些實例中,視訊編碼器20及視訊解碼器30根據視訊壓縮標
準(諸如,上文所提及且HEVC草案10中所描述之HEVC標準)操作。除了基本HEVC標準之外,正持續努力產生用於HEVC之可調式視訊寫碼、多視圖視訊寫碼及3D寫碼擴展。
在HEVC及其他視訊寫碼標準中,視訊序列通常包含一系列圖像。圖像亦可被稱作「圖框」。圖像可包含三個樣本陣列,表示為SL、SCb及SCr。SL為明度樣本之二維陣列(亦即,區塊)。SCb係Cb色度樣本之二維陣列。SCr係Cr色度樣本之二維陣列。色度樣本亦可在本文中被稱作「色度」樣本。在其他情況下,圖像可為單色的,且可僅包括明度樣本陣列。
為產生圖像之經編碼表示,視訊編碼器20可產生一組CTU。CTU中之每一者可為明度樣本之寫碼樹型區塊、色度樣本之兩個對應寫碼樹型區塊及用於對寫碼樹型區塊之樣本進行寫碼的語法結構。寫碼樹型區塊可為樣本之N×N區塊。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。HEVC之CTU可廣泛地類似於諸如H.264/AVC之其他標準之巨集區塊。然而,CTU不必限於特定大小且可包括一或多個CU。在單色圖像或具有三個單獨色彩平面之圖像中,CTU可包含單一寫碼區塊及用於寫碼該寫碼區塊之樣本的語法結構。圖塊可包括在光柵掃描中連續排序之整數數目個CTU。
在一些實例中,CU可包括一寫碼節點及與該寫碼節點相關聯之一或多個預測單元(PU)及/或變換單元(TU)。CU之大小可對應於寫碼節點之大小,且形狀可為正方形。CU之大小可介於(例如)8×8像素達至具有最大64×64像素或更多像素之樹型區塊之大小的範圍內。每一CU可含有一或多個PU及一或多個TU。與CU相關聯之語法資料可描述(例如)CU至一或多個PU之分割。分割模式可在CU經跳過或直接模式編碼、框內預測模式編碼或是框間預測模式編碼之間不同。PU可分割成正方形或非正方形。與CU相關聯之語法資料亦可描述(例如)根
據四分樹將CU分割成一或多個TU。TU的形狀可為正方形或非正方形。
一般而言,PU可包括與預測程序有關之資料。舉例而言,當PU經框內模式編碼時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當PU經框間模式編碼時,PU可包括界定PU之運動向量的資料。界定PU之運動向量之資料可描述(例如)運動向量之水平分量、運動向量之垂直分量、運動向量之解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考圖像,及/或運動向量之參考圖像清單(例如,清單0、清單1或清單C)。
一般而言,TU可用於變換及量化程序。具有一或多個PU之給定CU亦可包括一或多個變換單元(TU)。在預測之後,視訊編碼器20可計算對應於PU之殘餘值。殘餘值可包含像素差值,該等像素差值可使用TU變換成變換係數、經量化且掃描以產生串列化變換係數供熵寫碼。
本發明可使用術語「視訊單元」、「視訊區塊」、「寫碼區塊」或「區塊」以指代一或多個樣本區塊及用以寫碼該一或多個樣本區塊之樣本的語法結構。視訊單元或區塊之實例類型可包括寫碼樹型單元(CTU)、寫碼單元(CU)、預測單元(PU)、變換單元(TU)、巨集區塊(MB)、巨集區塊分割區等等。在一些情形中,PU之論述可與巨集區塊或巨集區塊分割區之論述互換。
在一些實例中,一組運動資訊可供用於視訊資料之每一區塊。該組運動資訊可包括用於前向及後向預測方向之運動資訊。前向及後向預測方向可為雙向預測模式之兩個預測方向。前向及後向預測方向可為單向預測模式之兩個預測方向中的一者。術語「前向」及「後向」不一定具有幾何意義,而是其對應於(例如)當前圖像之參考圖像清單0(RefPicList0)及參考圖像清單1(RefPicList1)。當僅僅一個參考
圖像清單可供用於圖像或圖塊時,僅僅RefPicList0可為可用的,且該圖像或圖塊之每一區塊之運動資訊可為前向的。
對於每一預測方向(例如,前向或後向),運動資訊可含有一預測方向、一參考索引,及一運動向量。在一些實例中,為簡單起見,可以假定運動向量具有相關聯參考索引的方式參考該運動向量自身。參考索引用以識別當前參考圖像清單(例如,RefPicList0或RefPicList1)中之參考圖像。運動向量可具有水平分量及垂直分量。
本文中所描述之視訊區塊可具有固定或變化的大小,且根據所指定之寫碼標準可在大小上不同。作為一實例,特定CU之大小可為2N×2N。在此實例中,視訊編碼器20可經組態以執行具有大小2N×2N或N×N之PU的框內預測,且可經組態以執行具有大小2N×2N、2N×N、N×2N或N×N之PU的框間預測。在其他實例中,PU之可用大小可相同或不同。
在本發明中,「N×N」與「N乘N」可互換地使用以指視訊區塊在垂直維度與水平維度方面之像素尺寸,例如,16×16像素或16乘16像素。一般而言,16×16區塊在垂直方向上將具有16個像素(y=16)且在水平方向上將具有16個像素(x=16)。同樣地,N×N區塊通常在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示正整數值。可按列及行來配置區塊中之像素。此外,區塊未必需要在水平方向上與垂直方向上具有相同數目個像素。舉例而言,區塊可包含N×M個像素,其中M等於N或不等於N,且其中M為正整數值。
參看圖1,為了產生經寫碼CTU,視訊編碼器20可對CTU之寫碼樹型區塊遞迴地執行四分樹分割,以將寫碼樹型區塊劃分成寫碼區塊,因此命名為「寫碼樹型單元」。寫碼區塊可為樣本之N×N(或N×M)區塊。CU可為具有明度樣本陣列、Cb樣本陣列及Cr樣本陣列之圖像的明度樣本之寫碼區塊及色度樣本之兩個對應寫碼區塊,及用以
寫碼該等寫碼區塊之樣本的語法結構。視訊編碼器20可將CU之寫碼區塊分割成一或多個PU。PU可為被應用相同預測技術的正方形或非正方形樣本區塊。CU之PU可為圖像之明度樣本的預測區塊、色度樣本的兩個對應預測區塊,及用以預測該等預測區塊樣本之語法結構。視訊編碼器20可針對CU之每一PU的明度預測區塊、Cb預測區塊及Cr預測區塊產生預測性明度區塊、預測性Cb區塊及預測性Cr區塊。
視訊編碼器20可使用框內預測或框間預測來產生PU之預測性區塊。若視訊編碼器20使用框內預測產生PU之預測性區塊,則視訊編碼器20可基於與PU相關聯之圖像之經解碼樣本產生PU之預測性區塊。
若視訊編碼器20使用框間預測來產生PU之預測性區塊,則視訊編碼器20可基於不同於相關聯於PU之圖像的一或多個圖像之經解碼樣本而產生PU之預測性區塊。視訊編碼器20可使用單向預測或雙向預測來產生PU之預測性區塊。當視訊編碼器20使用單向預測來產生PU之預測性區塊時,PU可具有單一運動向量(MV)。當視訊編碼器20使用雙向預測來產生PU之預測性區塊時,PU可具有兩個MV。
在視訊編碼器20產生CU之一或多個PU的預測性區塊(例如,預測性明度、Cb及Cr區塊)之後,視訊編碼器20可產生CU之殘餘區塊。CU之殘餘區塊中之每一樣本可指示CU之PU之預測性區塊中的樣本與CU之寫碼區塊中的對應樣本之間的差異。舉例而言,視訊編碼器20可產生CU之明度殘餘區塊。CU之明度殘餘區塊中的每一樣本指示CU之預測性明度區塊中之一者中的明度樣本與CU之原始明度寫碼區塊中的對應樣本之間的差異。另外,視訊編碼器20可產生CU之Cb殘餘區塊。CU之Cb殘餘區塊中的每一樣本可指示CU之預測性Cb區塊中之一者中的Cb樣本與CU之原始Cb寫碼區塊中之對應樣本之間的差異。視訊編碼器20亦可產生CU之Cr殘餘區塊。CU之Cr殘餘區塊中之每一
樣本可指示CU之預測性Cr區塊之一者中的Cr樣本與CU之原始Cr寫碼區塊中之對應樣本之間的差異。
視訊編碼器20可使用四分樹分割將CU之殘餘區塊(例如,明度、Cb及Cr殘餘區塊)分解成一或多個變換區塊(例如,明度、Cb及Cr變換區塊)。如本文所使用,CU深度可指CU之四分樹深度。舉例而言,當前CU之CU深度可指當前CU之四分樹深度,且相鄰區塊(例如,相鄰CU)之CU深度可指相鄰區塊之四分樹深度。變換區塊可為被應用相同變換的樣本區塊。CU之變換單元(TU)可為明度樣本之變換區塊、色度樣本之兩個對應變換區塊,及用於對變換區塊樣本進行變換的語法結構。因此,CU之每一TU可與明度變換區塊、Cb變換區塊及Cr變換區塊相關聯。與TU相關聯之明度變換區塊可為CU之明度殘餘區塊之子區塊。Cb變換區塊可為CU之Cb殘餘區塊之子區塊。Cr變換區塊可為CU之Cr殘餘區塊之子區塊。
視訊編碼器20可將一或多個變換應用於變換區塊以產生TU之係數區塊。係數區塊可為變換係數之二維陣列。變換係數可為純量。舉例而言,視訊編碼器20可將一或多個變換應用於TU之明度變換區塊以產生TU之明度係數區塊。視訊編碼器20可將一或多個變換應用至TU之Cb變換區塊,以產生TU之Cb係數區塊。視訊編碼器20可將一或多個變換應用至TU之Cr變換區塊以產生TU之Cr係數區塊。
在一些實例中,在使用CU之PU的框內預測性或框間預測性寫碼之後,視訊編碼器20可計算CU之TU的殘餘資料。PU可包含空間域(亦被稱作像素域)中之像素資料,且TU可包含在將變換(例如,離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換)應用於殘餘視訊資料之後在變換域中之係數。該殘餘資料可對應於未經編碼之圖像之像素與對應於PU之預測值之間的像素差。視訊編碼器20可形成包括CU之殘餘資料的TU,且接著變換該等TU以產生CU之變換係
數。
在產生係數區塊(例如,明度係數區塊、Cb係數區塊或Cr係數區塊)之後,視訊編碼器20可量化該區塊中之係數。量化大體上指對變換係數進行量化以可能減少用以表示變換係數的資料之量,從而提供進一步壓縮之程序。在視訊編碼器20量化係數區塊之後,視訊編碼器20可經組態以熵編碼指示經量化變換係數之語法元素。舉例而言,視訊編碼器20可對指示經量化變換係數之語法元素執行內容自適應二進位算術寫碼(CABAC)。視訊編碼器20可在位元串流中輸出經熵編碼之語法元素。
視訊編碼器20可輸出包括經熵編碼語法元素之位元串流。該位元串流可包括形成經寫碼圖像及相關聯資料之表示的位元序列。位元串流可包含網路抽象層(NAL)單元之一序列。該等NAL單元中之每一者包括NAL單元標頭且囊封原始位元組序列酬載(RBSP)。NAL單元標頭可包括指示NAL單元類型碼之語法元素。由NAL單元之NAL單元標頭指定的NAL單元類型碼指示NAL單元之類型。RBSP可為囊封於NAL單元內之含有整數數目個位元組的語法結構。在一些情況下,RBSP包括零個位元。
不同類型之NAL單元可囊封不同類型之RBSP。舉例而言,第一類型之NAL單元可囊封圖像參數集(PPS)之RBSP,第二類型之NAL單元可囊封經寫碼圖塊之RBSP,第三類型之NAL單元可囊封SEI之RBSP,等等。囊封視訊寫碼資料之RBSP(而非參數集及SEI訊息之RBSP)的NAL單元可被稱作視訊寫碼層(VCL)NAL單元。
視訊解碼器30可接收由視訊編碼器20產生之位元串流。此外,視訊解碼器30可剖析位元串流以自位元串流解碼語法元素。視訊解碼器30可至少部分基於自位元串流解碼之語法元素而重建構視訊資料之圖像。重建構視訊資料之程序可與由視訊編碼器20執行之程序大體上
互逆。舉例而言,視訊解碼器30可使用PU之MV來判定當前CU之經框間預測PU的預測性區塊。同樣,視訊解碼器30可產生當前CU之PU的經框內預測區塊。另外,視訊解碼器30可逆量化與當前CU之TU相關聯的變換係數區塊。視訊解碼器30可對變換係數區塊執行逆變換以重建構與當前CU之TU相關聯的變換區塊。視訊解碼器30可藉由將當前CU之PU的預測性區塊之樣本添加至自當前CU之TU之變換區塊的逆量化及逆變換所獲得的對應殘餘值,來重建構當前CU之寫碼區塊。藉由重建構圖像之每一CU的寫碼區塊,視訊解碼器30可重建構圖像。
在一些實例中,視訊編碼器20可利用預定義掃描次序(例如,水平掃描次序、垂直掃描次序或任何其他掃描次序)來掃描經量化變換係數,以產生可進行熵編碼之串列化向量。在其他實例中,視訊編碼器20可執行自適應掃描。在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據內容自適應可變長度寫碼(CAVLC)、內容自適應二進位算術寫碼(CABAC)、基於語法之內容自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼方法來對一維向量進行熵編碼。視訊編碼器20亦可熵編碼與經編碼視訊資料相關聯的語法元素以供視訊解碼器30用於解碼視訊資料。
為了執行CABAC,視訊編碼器20可將內容模型內之內容指派給待傳輸之符號。該內容可能係關於(例如)符號之相鄰值是否為非零。為了執行CAVLC,視訊編碼器20可選擇用於待傳輸之符號的可變長度碼。可建構VLC中之碼字使得相對較短碼對應於更有可能的符號,而較長碼對應於較不可能的符號。以此方式,相對於(例如)針對待傳輸之每一符號使用相等長度碼字,使用VLC可達成位元節省。機率判定可基於指派給符號之內容而進行。
視訊編碼器20及/或視訊解碼器30可經組態以根據本發明中描述
之技術來操作。一般而言,視訊編碼器20及/或視訊解碼器30可經組態以執行本文中以任何組合描述之一或多種技術。在一些實例中,視訊編碼器20及視訊解碼器30可經組態以執行本發明的與寫碼相關聯於CTU及CU之資訊有關的技術。舉例而言,視訊編碼器20及視訊解碼器30可經組態以基於與寫碼單元(CU)有關之空間相鄰CU或與該CU有關之時間相鄰CU的資訊中之至少一者,執行與該CU相關聯之語法元素的內容自適應二進位算術寫碼(CABAC)內容模型化,且基於經模型化之內容對語法元素進行CABAC寫碼。在另一實例中,視訊編碼器20及視訊解碼器30可經組態以:回應於判定CTU大小大於64×64,判定包含以下項之一組約束:CTU之最大CU深度及最小CU深度;且基於該組約束中的至少一些對該CTU進行寫碼。
應理解,本發明之技術可利用HEVC術語或其他視訊標準術語,以易於解釋。然而,應理解,本發明之技術不受限於HEVC或其他視訊標準。本發明之技術可實施於HEVC及其擴展之後續標準以及無論過去、現在抑或將來的其他視訊標準中。
圖2為說明可實施本發明之技術之實例視訊編碼器20的方塊圖。出於解釋之目的而提供圖2,且不應將其視為對如本發明中廣泛例示及描述之技術的限制。出於解釋之目的,本發明在HEVC寫碼之內容脈絡中描述視訊編碼器20。然而,本發明之技術可適用於其他寫碼標準或方法。
視訊編碼器20表示可經組態以執行根據本發明中描述之各種實例的與寫碼CTU及CU(包括CTU及CU之CABAC寫碼)有關之技術之器件的實例。
舉例而言,視訊編碼器20可經組態以基於與寫碼單元(CU)有關之空間相鄰CU或與該CU有關之時間相鄰CU的資訊中之至少一者,執行與該CU相關聯之語法元素的內容自適應二進位算術寫碼(CABAC)
內容模型化,且基於經模型化之內容對語法元素進行CABAC編碼。
在另一實例中,視訊編碼器20可經組態以:回應於判定CTU大小大於64×64,判定包含以下項之一組約束:CTU之最大CU深度及最小CU深度;且基於該組約束中的至少一些編碼該CTU。
在圖2之實例中,視訊編碼器20包括預測處理單元100、視訊資料記憶體101、殘餘產生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重建構單元112、濾波器單元114、經解碼圖像緩衝器116及熵編碼單元118。預測處理單元100包括框間預測處理單元120及框內預測處理單元126。框間預測處理單元120包括運動估計單元及運動補償單元(圖中未示)。在其他實例中,視訊編碼器20可包括較多、較少或不同之功能組件。
視訊資料記憶體101可儲存待由視訊編碼器20之組件編碼的視訊資料。可(例如)自視訊源18獲得儲存於視訊資料記憶體101中之視訊資料。經解碼圖像緩衝器116可為儲存供視訊編碼器20在編碼視訊資料(例如,以框內或框間寫碼模式)時使用之參考視訊資料的參考圖像記憶體。視訊資料記憶體101及經解碼圖像緩衝器116可由多種記憶體器件中之任一者形成,諸如,動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可由同一記憶體器件或獨立記憶體器件提供視訊資料記憶體101及經解碼圖像緩衝器116。在各種實例中,視訊資料記憶體101可與視訊編碼器20之其他組件一起在晶片上,或相對於彼等組件在晶片外。
視訊編碼器20可接收視訊資料。視訊編碼器20可編碼視訊資料之圖像之圖塊中的每一CTU。CTU中之每一者可與圖像之具有相等大小之明度寫碼樹型區塊(CTB)及對應CTB相關聯。作為編碼CTU之部分,預測處理單元100可執行四分樹分割以將CTU之CTB劃分成逐漸
變小的區塊。更小區塊可為CU之寫碼區塊。舉例而言,預測處理單元100可將與CTU相關聯的CTB分割成四個相等大小的子區塊,將子區塊中之一或多者分割成四個相等大小的子子區塊,等等。
視訊編碼器20可編碼CTU之CU以產生該等CU之經編碼表示(亦即,經寫碼CU)。作為編碼CU之部分,預測處理單元100可將與CU相關聯之寫碼區塊分割至CU之一或多個PU中。因此,每一PU可與明度預測區塊及對應的色度預測區塊相關聯。視訊編碼器20及視訊解碼器30可支援具有各種大小之PU。如上文所指示,CU之大小可指CU之明度寫碼區塊的大小,且PU之大小可指PU之明度預測區塊的大小。假定特定CU之大小為2N×2N,則視訊編碼器20及視訊解碼器30可支援用於框內預測的2N×2N或N×N之PU大小,及用於框間預測的2N×2N、2N×N、N×2N、N×N或類似大小之對稱PU大小。視訊編碼器20及視訊解碼器30亦可支援用於框間預測的2N×nU、2N×nD、nL×2N及nR×2N之PU大小的不對稱分割。
框間預測處理單元120可藉由對CU之每一PU執行框間預測而產生用於PU之預測性資料。用於PU之預測性資料可包括PU之預測性區塊及PU之運動資訊。取決於CU之PU係在I圖塊中、P圖塊中抑或B圖塊中,框間預測單元121可針對PU執行不同操作。在I圖塊中,所有PU經框內預測。因此,若PU在I圖塊中,則框間預測單元121並不對PU執行框間預測。因此,對於在I模式中編碼之區塊,經預測區塊係使用空間預測自同一圖框內的先前經編碼之相鄰區塊形成。
若PU在P圖塊中,則框間預測處理單元120之運動估計單元可在參考圖像清單(例如,「RefPicList0」)中的參考圖像中搜尋用於PU之參考區。用於PU之參考區可為參考圖像內含有最緊密地對應於PU之樣本區塊的樣本區塊之區。框間預測處理單元120之運動估計單元可產生參考索引,該參考索引指示含有用於PU之參考區的參考圖像在
RefPicList0中的位置。另外,運動估計單元可產生指示PU之寫碼區塊與相關聯於參考區之參考位置之間的空間移位的MV。舉例而言,MV可為用以提供自當前經解碼圖像中之座標至參考圖像中之座標的偏移的二維向量。運動估計單元可輸出參考索引及MV作為PU之運動資訊。框間預測處理單元120之運動補償單元可基於由PU之運動向量指示之參考位置處的實際或經內插樣本而產生PU之預測性區塊。
若PU在B圖塊中,則運動估計單元可針對PU執行單向預測或雙向預測。為針對PU執行單向預測,運動估計單元可在RefPicList0或第二參考圖像清單(「RefPicList1」)之參考圖像中搜尋用於PU之參考區。運動估計單元可輸出以下各者作為PU之運動資訊:指示含有參考區之參考圖像在RefPicList0或RefPicList1中的位置之參考索引、指示PU之預測區塊與相關聯於參考區之參考位置之間的空間移位之MV,及指示參考圖像在RefPicList0中抑或在RefPicList1中之一或多個預測方向指示符。框間預測處理單元120之運動補償單元可至少部分地基於由PU之運動向量指示之參考區處的實際或內插樣本而產生PU之預測性區塊。
為了針對PU執行雙向框間預測,運動估計單元可在RefPicList0中的參考圖像中搜尋用於PU之參考區,且亦可在RefPicList1中的參考圖像中搜尋用於PU之另一參考區。運動估計單元可產生指示含有參考區之參考圖像在RefPicList0及RefPicList1中之位置的參考圖像索引。另外,運動估計單元可產生指示相關聯於參考區之參考位置與PU之樣本區塊之間的空間位移的MV。PU之運動資訊可包括參考索引及PU之MV。運動補償單元可至少部分地基於由PU之運動向量指示之參考區處之實際或內插樣本而產生PU之預測性區塊。
框內預測處理單元126可藉由對PU執行框內預測而產生用於PU之預測性資料。用於PU之預測性資料可包括PU之預測性區塊及各種語
法元素。框內預測處理單元126可對I圖塊、P圖塊及B圖塊中之PU執行框內預測。
為了對PU執行框內預測,框內預測處理單元126可使用多個框內預測模式來產生用於PU之預測性資料的多個集合。框內預測處理單元126可使用來自相鄰PU之樣本區塊的樣本來產生用於PU之預測性區塊。假定PU、CU及CTU的自左至右、自上而下之編碼次序,則相鄰PU可在PU上方、右上方、左上方或左邊。框內預測處理單元126可使用各種數目之框內預測模式,例如,33個定向框內預測模式。在一些實例中,框內預測模式之數目可取決於與PU相關聯之區的大小。
預測處理單元100可自由框間預測處理單元120針對PU產生之預測性資料或由框內預測處理單元126針對PU產生之預測性資料當中選擇用於CU之PU的預測性資料。在一些實例中,預測處理單元100基於數組預測性資料之速率/失真量度而選擇用於CU之PU的預測性資料。選定之預測性資料的預測性區塊在本文中可被稱作選定之預測性區塊。
殘餘產生單元102可基於CU之明度寫碼區塊、Cb寫碼區塊及Cr寫碼區塊及CU之PU的選定預測性明度區塊、Cb區塊及Cr區塊產生CU的明度殘餘區塊、Cb殘餘區塊及Cr殘餘區塊。舉例而言,殘餘產生單元102可產生CU之殘餘區塊,以使得殘餘區塊中之每一樣本具有等於CU之寫碼區塊中的樣本與CU之PU之對應選定預測性區塊中的對應樣本之間的差的值。
變換處理單元104可執行四分樹分割以將與CU相關聯之殘餘區塊分割成與CU之TU相關聯的變換區塊。因此,在一些實例中,TU可與明度變換區塊及兩個色度變換區塊相關聯。CU之TU的明度變換區塊及色度變換區塊的大小及位置可或可不基於CU之PU的預測區塊之大小及位置。被稱為「殘餘四分樹」(RQT)的四分樹結構可包括與區中
之每一者相關聯的節點。CU之TU可對應於RQT之分葉節點。
變換處理單元104可藉由將一或多個變換應用於TU之變換區塊而產生用於CU之每一TU的變換係數區塊。變換處理單元104可將各種變換應用至與TU相關聯的變換區塊。舉例而言,變換處理單元104可將離散餘弦變換(DCT)、定向變換或概念上類似之變換應用至變換區塊。在一些實例中,變換處理單元104並不將變換應用於變換區塊。在此等實例中,變換區塊可被當作變換係數區塊處理。
量化單元106可將係數區塊中之變換係數量化。量化程序可減少與變換係數中之一些或全部相關聯的位元深度。舉例而言,n位元變換係數可在量化期間被捨入至m位元變換係數,其中n大於m。量化單元106可基於與CU相關聯之量化參數(QP)值將與CU之TU相關聯之係數區塊量化。視訊編碼器20可藉由調整與CU相關聯之QP值來調整應用於與CU相關聯之係數區塊的量化程度。量化可使得資訊丟失,因此經量化變換係數可具有比原始變換係數較低之精確度。
逆量化單元108及逆變換處理單元110可分別將逆量化及逆變換應用於係數區塊,以自係數區塊重建構殘餘區塊。重建構單元112可將經重建構殘餘區塊添加至來自由預測處理單元100所產生之一或多個預測性區塊的對應樣本,以產生與TU相關聯的經重建構變換區塊。藉由以此方式重建構用於CU之每一TU的變換區塊,視訊編碼器20可重建構CU之寫碼區塊。
濾波器單元114可執行一或多個解區塊操作以減少與CU相關聯之寫碼區塊中的區塊假影。在濾波器單元114對經重建構寫碼區塊執行一或多個解區塊操作之後,經解碼圖像緩衝器116可儲存經重建構寫碼區塊。框間預測處理單元120可使用含有經重建構寫碼區塊之參考圖像,以對其他圖像之PU執行框間預測。另外,框內預測處理單元126可使用經解碼圖像緩衝器116中之經重建構寫碼區塊,以對處於與
CU相同之圖像中的其他PU執行框內預測。
熵編碼單元118可自視訊編碼器20之其他功能組件接收資料。舉例而言,熵編碼單元118可自量化單元106接收係數區塊,且可自預測處理單元100接收語法元素。此等語法元素可包括與CTU及CU之大小及分割有關的語法元素。熵編碼單元118可對資料執行一或多個熵編碼操作,以產生經熵編碼資料。舉例而言,熵編碼單元118可對資料執行內容自適應寫碼操作,諸如CABAC操作、內容自適應可變長度寫碼(CAVLC)操作、CABAC操作、可變至可變(V2V)長度寫碼操作、基於語法之內容自適應二進位算術寫碼(SBAC)操作、機率區間分割熵(PIPE)寫碼操作、指數-哥倫布編碼操作,或其他類型熵編碼操作。視訊編碼器20可輸出包括由熵編碼單元118產生的經熵編碼之資料的位元串流。舉例而言,位元串流可包括表示CU之RQT的資料。
本發明之一些技術涉及與(例如)CTU及CU有關之資訊的CABAC寫碼。熵編碼單元118執行之CABAC寫碼大體上涉及三個主要功能:二進位化、內容模型化及算術寫碼。二進位化將語法元素映射至二進位符號(位元子),該等二進位符號可被稱作位元子字串。內容模型化估計位元子之機率。作為內容模型化程序之部分,視訊寫碼器選擇或每一位元子之內容模型。內容模型表示機率。可針對不同位元子選擇不同內容模型。算術寫碼基於所估計之機率將位元子壓縮至位元。換言之,算術寫碼基於對應於每一位元子的所選擇之內容模型而將位元子壓縮至位元。
在一些實例中,二進位化可指多種二進位化程序,諸如一元二進位化、經截短一元二進位化、k階指數-哥倫布(EGk)二進位化,及固定長度二進位化。在內容模型化期間,熵編碼單元118在被稱作內容模型化之程序中導出對於每一位元子的機率估計(例如,內容模型)。內容模型化程序可為高度自適應性。
熵編碼單元118可針對不同位元子使用不同內容模型。熵編碼單元118可基於經先前寫碼之位元子的值更新內容模型之機率。具有類似分佈之位元子常常共用同一內容模型。熵編碼單元118可基於語法元素之類型、語法元素中之位元子位置(binIdx)、明度/色度、相鄰資訊及其他語法元素選擇用於每一位元子的內容模型。
在熵寫碼期間,熵編碼器或熵解碼器(例如,熵編碼單元118及熵解碼單元150)可將待編碼或解碼之符號之位元置於一或多個位元子中。在一些實例中,位元子指示符號之值是否等於零。熵編碼器或熵解碼器可使用位元子之值來調整熵寫碼程序。在其他實例中,熵編碼器或熵解碼器亦可使用位元子來指示值是否大於一特定值,例如,大於零、大於一,等等。
熵編碼單元118可經組態以執行被稱作「內容切換」之程序。舉例而言,熵編碼單元118可經組態以在編碼每一位元子之後執行內容切換。在一些實例中,熵編碼單元118將機率模型(例如,內容模型)作為7位元項(6位元用於機率狀態且1位元用於最可能符號(MPS))儲存於內容記憶體中。在此等實例中,熵編碼單元118使用由內容選擇邏輯計算出的內容索引來定址機率模型(例如,內容模型)。
在編碼視訊資料(例如,視訊資料之圖塊)之前,熵編碼單元118基於一些預定義值而初始化機率模型(例如,內容模型)。舉例而言,在給定表示為「qp」的輸入量化參數及表示為「initVal」的預定義值的情況下,熵編碼單元118可如下導出機率模型之7位元項(由值「-state」及「MPS」表示):qp=Clip3(0,51,qp);slope=(initVal>>4)*5-45;offset=((initVal &15)<<3)-16;initState=min(max(1,(((slope * qp)>>4)+offset)),126);
MPS=(initState>=64);state=((mpState?(initState-64):(63-initState))<<1)+mpState;熵編碼單元118可經組態以基於(例如)遞歸區間劃分程序而執行算術寫碼。作為算術寫碼程序之部分,熵編碼單元118可經組態以基於位元子之機率而將範圍劃分成兩個子區間。在一些實例中,該範圍可最初介於0至1之範圍內。熵編碼單元118可經組態以基於被轉換成二進位分式之偏移而選擇兩個子區間中的一者。該偏移為自經編碼位元子導出,且所選擇子區間由位元子之值指示。
熵編碼單元118可經組態以在每一位元子之後更新該範圍,使得經更新範圍等於所選擇之子區間。熵編碼單元118可經組態以重複區間劃分程序。範圍及偏移具有有限的位元精確度,因此熵編碼單元118可經組態以在每當範圍降低至某一值以下時執行再正規化,以防止下溢。
熵編碼單元118可在每一位元子被編碼之後執行再正規化。類似的,熵解碼單元150可在每一位元子被編碼之後執行再正規化。熵編碼單元118可使用經估計機率(經內容寫碼)或假設0.5的相等機率(經旁路寫碼)來執行算術寫碼。對於經旁路寫碼之位元子,熵編碼單元118可藉由使用算術移位來執行範圍至子區間之劃分,而查找表可用於經內容寫碼之位元子。
在運動補償及運動估計期間,預測處理單元100判定CU是否應被劃分成子區塊(例如,預測單元(PU)或更小)。舉例而言,預測處理單元100可執行多種編碼遍次,在此期間,寫碼樹型單元(CTU)被以不同方法分裂,且接著每一遍次之速率-失真特性可與其他遍次進行比較,以判定用於CTU之何分割方案產生最佳速率-失真量度。split_cu_flag語法元素(旗標)之值指示CU是否被分裂成相對於父CU具
有一半水平大小及一半垂直大小的寫碼單元。對於每一圖塊類型(例如,I圖塊、P圖塊及B圖塊),熵編碼單元118可經組態以藉由基於空間相鄰圖塊之資訊的三個內容使用CABAC來對split_cu_flag語法元素進行寫碼。
如HEVC說明書中所定義,熵編碼單元118可經組態以基於位於當前區塊左側之區塊及位於當前區塊上方之區塊的可用性(例如,availableL,其指定位於當前區塊正左側之區塊的可用性,或availableA,其指定位於當前區塊正上方之區塊的可用性)及左側/上方相鄰區塊之分裂資訊(亦即,CtDepth[xNbL/A][yNbL/A]>cqtDepth)而導出內容索引偏移(例如,ctxInc)。自HEVC標準複製而來的表9-38如下描述ctxInc語法元素之導出。
另一語法元素inter_pred_idc指示list0、list1或雙向預測是否被用於當前預測單元。語法元素具有多達兩個位元子,該等位元子兩者均經CABAC內容寫碼。二進位化位元子字串係根據如下自HEVC標準複製而來的表9-36進行定義,其中nPbW及nPbH分別表示當前明度預測區塊寬度及高度:
對於每一經框間寫碼圖塊(例如,P圖塊或B圖塊),熵編碼單元118可經組態以基於判定是否(nPbW+nPbH)!=12或是否(nPbW+
nPbH)!=12而執行上文的二進位化位元子字串之內容選擇導出。舉例而言,若(nPbW+nPbH)並不等於12,則熵編碼單元118可經組態以使用四個內容(例如,0、1、2及3)對第一位元子進行寫碼,且使用一個內容對第二位元子進行寫碼。在一些實例中,第一位元子之內容選擇係根據當前區塊之CU深度。在HEVC中,CU深度處於0至3之範圍內(包括端點)。作為另一實例,若(nPbW+nPbH)等於12,則熵編碼單元118可經組態以使用與上文實例中由第二位元子使用之內容相同的內容來對第一位元子及第二位元子進行寫碼。
雖然熵編碼單元118及熵解碼單元150可經組態以如上文舉例描述的根據HEVC執行熵寫碼之一或多個態樣,但HEVC中之內容模型化存在若干問題。HEVC中之內容模型化經專門設計以用於不大於64×64之CTU。因此,當使用較大CTU大小(例如,128×128、256×256或甚至更大)時,直接再使用當前的內容模型化程序(諸如由HEVC描述之彼等程序)效率較低或產生剖析問題。
作為一個實例,當CTU大於64×64時,直接再使用如由HEVC所定義的當前的split_cu_flag之內容模型化程序並不有效。作為另一實例,當CTU大於64×64時,最大CU深度實際上增大,使得inter_pred_idc需要更多內容。然而,額外內容不一定引入額外寫碼效率。因此,本文中的一些技術涉及限制內容之數目,而本文中的其他技術涉及增大內容之數目。
本發明描述若干不同技術,該等技術在下文更詳細地予以描述,且如上文所論述,該等技術可解決與CTU之熵寫碼相關聯的問題。可單獨使用或以任何組合使用此等技術。以下技術可適用於寫碼較大CTU,以及用於寫碼64×64或更小CTU。可單獨應用或以任何組合應用以下技術。
在根據本發明之技術的一個實例中,熵編碼單元118可在執行
split_cu_flag及/或具有相同語義之語法元素的內容模型化時考慮當前CU之空間及/或時間相鄰者的最大及/或最小CU深度資訊。
在此實例中,熵編碼單元118可經組態以基於當前CU之空間及/或時間相鄰者之最大及/或最小CU深度或CU大小(意謂著在一些實例中對應於當前CU之所有空間及/或時間相鄰者的CU深度,而在其他實例中對應於當前CU之一或多個空間及/或時間相鄰者的一或多個CU深度)而判定CU是否被進一步分裂成子CU的可能性(例如,機率或似然性)。基於判定當前CU之CU深度小於當前CU之一或多個空間及/或時間相鄰者(例如,所有此等相鄰者)之最小CU深度,熵編碼單元118可經組態以判定CU極有可能被進一步分裂。基於判定當前CU之CU深度大於當前CU之一或多個空間及/或時間相鄰者(例如,所有此等相鄰者)之最大CU深度,熵編碼單元118可經組態以判定CU極不可能被進一步分裂。
在一個實例中,熵編碼單元118可經組態以在判定當前CU極有可能被進一步分裂時(例如,在當前CU之CU深度小於當前CU之空間相鄰者及/或時間相鄰者之最小CU深度時)使用一個專用內容模型來對split_cu_flag語法元素進行寫碼。替代性地或另外,熵編碼單元118可經組態以將與內容模型相關聯的位元子值等於「1」之初始機率設定為1或非常接近於1的值。舉例而言,在使用上文引入之初始化方法的情況下,熵編碼單元118可經組態以使用值「0」(initVal=0)將內容模型初始化至「極不可能」(initState=1),且使用值「255」將內容初始化至「極有可能」(initState=126)。
在另一實例中,熵編碼單元118可經組態以在判定當前CU極不可能被進一步分裂時(例如,在當前CU之CU深度大於當前CU之空間相鄰者及/或時間相鄰者之最大CU深度時)使用一個專用內容模型來對split_cu_flag語法元素進行寫碼。替代性地或另外,熵編碼單元118可
經組態以將與內容相關聯的位元子值等於「1」之初始機率設定為等於0或非常接近於0的值。
在根據本發明之技術的一些實例中,熵編碼單元118可經組態以基於inter_pred_idc語法元素的當前CU之CU深度之均勻或不均勻量化而判定內容索引偏移,而非將內容索引偏移設定為等於CU深度。舉例而言,熵編碼單元118可經組態以將內容索引偏移設定為:min(CU深度,M),其中M為正整數值,且min函數傳回兩個輸入之最小值。在一些實例中,熵編碼單元118可將M設定為等於3。由於每一內容索引偏移對應於一內容,因此熵編碼單元118可經組態以藉由限制如上文所描述之內容索引偏移來限制用於熵編碼大於64×64之CTU之內容的數目。舉例而言,在M為3的情況下,內容之數目被限制為四個。作為另一實例,在M為5的情況下,內容之數目被限制為六個。
最大CU大小(CTU之大小)及最大CU分裂通常在序列參數集(SPS)或圖像參數集(PPS)中予以發信。視訊編碼器20或視訊解碼器30相應判定特定位元串流之CU大小。在根據本發明之技術的啟用大於64×64之CTU的一些實例中,視訊編碼器20可使最大及最小CU大小受到額外約束,使得CU深度被限制於某一範圍。現描述CTU及CU大小限制之各種實例。在一些實例中,下文描述的限制/約束中之一或多者可僅僅應用於經框間寫碼CU。
在一個實例中,視訊編碼器20可經組態以將最大CU大小設定為小於或等於小於所允許之最大CTU大小的大小。舉例而言,最大CU大小可經預定義,諸如64×64。藉由將最大CU大小設定為小於或等於小於最大CTU大小的大小,視訊編碼解碼器之一些模組(諸如自適應迴路濾波器)及樣本自適應偏移程序可在CTU層級下予以應用。
在另一實例中,視訊編碼器20可經組態以在PPS或任何其他高階語法參數集中將最大CU大小與CTU大小及最大CU深度一起發信。
在另一實例中,當當前CU具有大於最大CU大小的大小時,視訊編碼器20可經組態以不發信當前CU之split_cu_flag語法元素。在此實例中,視訊解碼器30可經組態以將split_cu_flag推斷為等於1。
現描述根據本發明之技術的對最大CU大小之約束的各種實例。在一實例中,視訊編碼器20及視訊解碼器30可將CU深度限制為小於M,其中在一些實例中M等於4。在另一實例中,視訊編碼器20及視訊解碼器30可將CU大小限制為不小於(1<<(N-M)),其中最大CTU大小等於(1<<N),「<<」為算術左移位,且M指示最大CU深度(例如,CTU可被進一步分裂多少次)。舉例而言,M=4意謂CTU可被分裂4次。在一實例中,M可被設定為等於4。舉例而言,CU深度為4的64×64CU可首先被分裂成兩個32×32區塊,該等32×32區塊可接著被分裂成16×16區塊,該等16×16區塊可接著被分裂成8×8區塊,該等8×8區塊可接著被分裂成4×4區塊,其具有4×4個區塊。此實例表明四個例示性CU深度(32×32處的第一深度、16×16處的第二深度、8×8處的第三深度及4×4處的第四深度)。在一些實例中,CU大小約束可僅僅被應用於經框間寫碼CU。在一些實例中,經框內寫碼CU及經框間寫碼CU的最大CU深度或最小CU大小可為不同的。
在根據本發明之技術中的各種實例中,熵編碼單元118可添加用於寫碼split_cu_flag或具有相同語義之語法元素的兩個額外內容。第一額外內容指示當前CU之進一步分裂具有高可能性(例如,極有可能)。第二額外內容指示當前CU之進一步分裂具有低可能性(例如,極不可能)。在此等實例中,視訊編碼器20之熵編碼單元118可經組態以將當前CU之空間相鄰(例如,左側、左下側、上部及右上側)CU的最大及最小深度分別定義為max_depth及min_depth。熵編碼單元118可經組態以根據以下偽碼選擇用於寫碼split_cu_flag之CABAC內容:if(cur-cu_depth<max(0,min_depth-1)){選擇用於具有高可能性
之進一步分裂的內容}
else if(cur_cu_depth>min(g_max_cu_depth,max_depth+1)){選擇用於具有低可能性之進一步分裂的內容}
else{使用HEVC中的split_cu_flag之內容選擇}
在上文偽碼中,cur_cu_depth指示當前CU之CU深度,且g_max_cu_depth表示位元串流中所允許的最大CU深度。在一個實例中,當空間相鄰CU不可用時,視訊編碼器20可經組態以在計算min-depth時將相鄰CU深度設定為等於0,且可經組態以在計算max_depth時將相鄰CU深度設定為等於g_max_cu_depth。在涉及兩個額外內容之實例中,視訊編碼器20可經組態以將具有高可能性的進一步分裂之內容的初始值(例如,上述initVal)設定為255。在此等實例中,視訊編碼器20可將具有低可能性的進一步分裂之內容的初始值(例如,上述initVal)設定為0。
對於大於64×64之CTU,CU深度可大於3。舉例而言,當CTU具有大小256×256時,CU深度可為0、1、2、3、4或5。在一些實例中,熵編碼單元118可仍將四個內容(例如,0、1、2及3)用於inter_pred_idc之第一位元子。熵編碼單元118可接著使用min(3,cur_cu_depth)選擇內容,其中cur_cu_depth指示當前CU之CU深度。
圖3為說明經組態以實施本發明之技術之實例視訊解碼器30的方塊圖。出於解釋之目的而提供圖3,且其並不限制如本發明中廣泛舉例說明及描述之技術。出於解釋之目的,本發明在HEVC寫碼之內容脈絡中描述視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。
視訊解碼器30表示可經組態以執行根據本發明中描述之各種實例的用於有效寫碼CTU及CU之技術之器件的實例。舉例而言,視訊解碼器30可經組態以基於與寫碼單元(CU)有關之空間相鄰CU或與該
CU有關之時間相鄰CU的資訊中之至少一者,執行與該CU相關聯之語法元素的內容自適應二進位算術寫碼(CABAC)內容模型化,且基於經模型化之內容對語法元素進行CABAC解碼。
在另一實例中,視訊解碼器30可經組態以:回應於判定CTU大小大於64×64,判定包含以下項之一組約束:CTU之最大CU深度及最小CU深度,且基於該組約束中的至少一些解碼該CTU。
在圖3之實例中,視訊解碼器30包括熵解碼單元150、視訊資料記憶體151、預測處理單元152、逆量化單元154、逆變換處理單元156、重建構單元158、濾波器單元160,及經解碼圖像緩衝器162。預測處理單元152包括運動補償單元164及框內預測處理單元166。在其他實例中,視訊解碼器30可包括更多、更少或不同的功能組件。
視訊資料記憶體151可儲存待由視訊解碼器30之組件解碼的視訊資料,諸如經編碼視訊位元串流。可(例如)自電腦可讀媒體(例如,自本端視訊源(諸如,攝影機))、經由視訊資料之有線或無線網路通信或藉由存取實體資料儲存媒體而獲得儲存於視訊資料記憶體151中之視訊資料。視訊資料記憶體151可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。經解碼圖像緩衝器162可為儲存供視訊解碼器30解碼視訊資料(例如,以框內或框間寫碼模式)時使用之參考視訊資料的參考圖像記憶體。視訊資料記憶體151及經解碼圖像緩衝器162可由多種記憶體器件中之任一者形成,諸如,動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可藉由相同記憶體器件或單獨記憶體器件來提供視訊資料記憶體151及經解碼圖像緩衝器162。在各種實例中,視訊資料記憶體151可與視訊解碼器30之其他組件一起在晶片上,或相對於彼等組件在晶片外。
經寫碼圖像緩衝器(CPB)可接收並儲存位元串流之經編碼視訊資
料(例如,NAL單元)。熵解碼單元150可自CPB接收經編碼視訊資料(例如,NAL單元)且剖析該等NAL單元以解碼語法元素。熵解碼單元150可對NAL單元中之經熵編碼語法元素進行熵解碼。預測處理單元152、逆量化單元154、逆變換處理單元156、重建構單元158及濾波器單元160可基於自位元串流提取之語法元素而產生經解碼視訊資料。熵解碼單元150可執行與如上文所描述之熵編碼單元118之程序大體上互逆的程序。
位元串流之NAL單元可包括經寫碼圖塊NAL單元。作為解碼位元串流之部分,熵解碼單元150可自經寫碼圖塊NAL單元提取語法元素且熵解碼該等語法元素。經寫碼圖塊中之每一者可包括圖塊標頭及圖塊資料。圖塊標頭可含有關於圖塊之語法元素。圖塊標頭中之語法元素可包括識別與含有圖塊之圖像相關聯之PPS的語法元素。
除了對來自位元串流之語法元素進行解碼之外,視訊解碼器30可對未經分割CU執行重建構操作。為了對未經分割CU執行重建構操作,視訊解碼器30可對CU之每一TU執行重建構操作。藉由對CU之每一TU執行重建構操作,視訊解碼器30可重建構CU之殘餘區塊。
作為對CU之TU執行重建構操作的部分,逆量化單元154可逆量化(亦即,解量化)與TU相關聯的係數區塊。逆量化單元154可使用與TU之CU相關聯的QP值來判定量化程度且,同樣地判定逆量化單元154欲應用的逆量化程度。亦即,可藉由調整在量化變換係數時使用之QP值來控制壓縮比,亦即,用於表示原始序列及壓縮序列的位元之數目之比。壓縮比亦可取決於所使用的熵寫碼之方法。
在逆量化單元154對係數區塊進行逆量化之後,逆變換處理單元156可將一或多個逆變換應用於係數區塊以便產生與TU相關聯之殘餘區塊。舉例而言,逆變換處理單元156可將逆DCT、逆整數變換、逆Karhunen-Loeve變換(KLT)、逆旋轉變換、逆定向變換或另一逆變換
應用於係數區塊。
若PU係使用框內預測進行編碼,則框內預測處理單元166可執行框內預測以產生用於PU之預測性區塊。框內預測處理單元166可使用框內預測模式以基於空間相鄰PU之預測區塊而產生PU的預測性明度區塊、Cb區塊及Cr區塊。框內預測處理單元166可基於自位元串流解碼之一或多個語法元素判定用於PU之框內預測模式。
預測處理單元152可基於自位元串流提取之語法元素建構第一參考圖像清單(RefPicList0)及第二參考圖像清單(RefPicList1)。此外,若PU係使用框間預測來進行編碼,則熵解碼單元150可提取PU之運動資訊。運動補償單元164可基於PU之運動資訊而判定用於PU之一或多個參考區。運動補償單元164可基於用於PU之一或多個參考區塊處的樣本區塊產生PU之預測性明度區塊、Cb區塊及Cr區塊。
重建構單元158可在適用時使用與CU之TU相關聯的明度變換區塊、Cb變換區塊及Cr變換區塊以及CU之PU的預測性明度區塊、Cb區塊及Cr區塊(亦即,框內預測資料或框間預測資料)來重建構CU之明度寫碼區塊、Cb寫碼區塊及Cr寫碼區塊。舉例而言,重建構單元158可將明度變換區塊、Cb變換區塊及Cr變換區塊之樣本添加至預測性明度區塊、Cb區塊及Cr區塊之對應樣本以重建構CU的明度寫碼區塊、Cb寫碼區塊及Cr寫碼區塊。
視訊解碼器30可經組態以執行與本文中所描述的視訊編碼器20之程序大體上互逆的程序。類似地,視訊編碼器20可經組態以執行與本文中描述之視訊解碼器30之程序大體上互逆的程序。舉例而言,關於視訊解碼器30可經組態以解碼位元串流中之經編碼語法元素的揭示內容同樣必定揭示視訊編碼器20可經組態以將語法元素編碼至位元串流中。
作為另一實例,熵解碼單元150可經組態以執行與本文中所描述
之熵編碼單元118之程序大體上互逆的程序。根據本發明之態樣,熵解碼單元150可經組態以熵解碼由熵編碼單元118產生之任何碼字。
濾波器單元160可執行解區塊操作以減少與CU之明度寫碼區塊、Cb寫碼區塊及Cr寫碼區塊相關聯的區塊假影。視訊解碼器30可在經解碼圖像緩衝器162中儲存CU之明度寫碼區塊、Cb寫碼區塊及Cr寫碼區塊。經解碼圖像緩衝器162可提供參考圖像以用於後續運動補償、框內預測及在顯示器件(諸如圖1之顯示器件32)上的呈現。舉例而言,視訊解碼器30可基於經解碼圖像緩衝器162中之明度區塊、Cb區塊及Cr區塊對其他CU之PU執行框內預測或框間預測操作。
圖4為說明符合本發明之技術的用於寫碼(例如,編碼及/或解碼)視訊資料之實例程序的流程圖。出於說明之目的,通常將圖4之程序描述為由視訊寫碼器執行,但多種其他處理器亦可執行圖4中所示之程序。如本文所使用,視訊寫碼器可指視訊編碼器及/或視訊解碼器,諸如(例如)關於圖1至圖3描述的視訊編碼器20及/或視訊解碼器30。在一些實例中,視訊資料記憶體101、預測處理單元100及/或熵編碼單元118可執行圖4中所示之一或多個程序。在一些實例中,視訊資料記憶體151、熵解碼單元150及/或預測處理單元152可執行圖4中所示之一或多個程序。
在圖4之實例中,視訊寫碼器(例如,視訊編碼器20及/或視訊解碼器30)可經組態以作為熵寫碼程序之部分,基於相關於與當前寫碼單元(CU)有關之一或多個相鄰CU之CU深度的資訊,選擇用於與當前CU相關聯之語法元素的內容(200)。在一些實例中,視訊寫碼器可經組態以基於相關於與當前CU有關之一或多個空間相鄰CU之CU深度的資訊,選擇用於該語法元素的內容。在其他實例中,視訊寫碼器可經組態以基於相關於與當前CU有關之一或多個時間相鄰CU之CU深度的資訊,選擇用於該語法元素的內容。舉例而言,與當前CU有關之一
或多個相鄰CU可為空間相鄰者,及/或與當前CU有關之一或多個相鄰CU可為時間相鄰者。
在一些實例中,語法元素可表示當前CU是否被分裂成子CU。在此等實例中,語法元素可為split_cu_flag語法元素。在一些實例中,與當前CU相關聯之CTU可具有大於64×64的大小。
在一些實例中,相關於一或多個相鄰CU之一或多個CU深度可等於及/或不等於當前CU之CU深度。舉例而言,相關於一或多個空間相鄰CU之一或多個CU深度可等於及/或不等於當前CU之CU深度。作為另一實例,相關於一或多個時間相鄰CU之一或多個CU深度可等於及/或不等於當前CU之CU深度。
視訊寫碼器可經組態以基於所選擇內容熵寫碼語法元素(202)。在一些實例中,熵寫碼程序可包含內容自適應二進位算術寫碼(CABAC)程序,且熵寫碼可包含CABAC寫碼。在此等實例中,CABAC寫碼可包含CABAC編碼或CABAC解碼。
在一些實例中,視訊寫碼器可經組態以判定當前CU之CU深度是否小於一或多個相鄰CU之最小CU深度。視訊寫碼器可經組態以基於當前CU之CU深度小於一或多個相鄰CU之最小CU深度的判定而選擇內容。視訊寫碼器可經組態以基於當前CU之CU深度小於一或多個相鄰CU之最小CU深度的判定而將對應於所選擇內容之初始值設定為等於255。在當前CU之CU深度小於一或多個相鄰CU之最小CU深度時,所選擇內容可對應於語法元素的等於一之機率值。在此等實例中,所選擇內容可包含專用內容或具有等於或非常接近於一之初始值的自適應內容中之一者。
在一些實例中,視訊寫碼器可經組態以判定當前CU之CU深度是否大於一或多個相鄰CU之最大CU深度。視訊寫碼器可經組態以基於當前CU之CU深度大於一或多個相鄰CU之最大CU深度的判定而選擇
內容。視訊寫碼器可經組態以基於當前CU之CU深度大於一或多個相鄰CU之最大CU深度的判定而將對應於所選擇內容之初始值設定為等於零。在當前CU之CU深度大於一或多個相鄰CU之最大CU深度時,所選擇內容可對應於語法元素的等於零之機率值。在此等實例中,所選擇內容可包含專用內容或具有等於或非常接近於零之初始值的自適應內容中之一者。
在其他實例中,視訊寫碼器可經組態以作為熵寫碼程序之部分,基於相關於與當前寫碼單元(CU)有關之一或多個空間相鄰CU之CU深度的資訊或相關於與當前CU有關之一或多個時間相鄰CU之CU深度的資訊中之至少一者,選擇用於與當前CU相關聯之語法元素的內容。在此等實例中,視訊寫碼器可經組態以判定當前CU之CU深度是否小於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最小CU深度。視訊寫碼器可經組態以基於當前CU之CU深度小於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最小CU深度的判定而選擇內容。視訊寫碼器可經組態以基於當前CU之CU深度小於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最小CU深度的判定,將對應於所選擇內容之初始值設定為等於255。
在一些實例中,在當前CU之CU深度小於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最小CU深度時,所選擇內容可對應於語法元素的等於或非常接近於一之機率值。在此等實例中,所選擇內容可包含專用內容或具有等於或非常接近於一之初始值的自適應內容中之一者。在其他實例中,在當前CU之CU深度大於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最大CU深度時,所選擇內容可對應於語法元素的等於或非常接近零之機率值。在此等實例中,所選擇內容可包含專用內容或具有等於或非常接近於零之初始值的自適應內容中之一者。
在一些實例中,視訊寫碼器可經組態以判定當前CU之CU深度是否大於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最大CU深度。視訊寫碼器可經組態以基於當前CU之CU深度大於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最大CU深度的判定而選擇內容。視訊寫碼器可經組態以基於當前CU之CU深度大於一或多個空間相鄰CU或一或多個時間相鄰CU中之至少一者的最大CU深度的判定,將對應於所選擇內容之初始值設定為等於零。
在一些實例中,視訊寫碼器可經組態以自一組至少四個可能的內容中選擇內容。在此等實例中,該組至少四個可能的內容包含六個可能的內容。
圖5為說明符合本發明之技術的用於對視訊資料進行解碼之實例程序的流程圖。出於說明的目的,通常將圖5之程序描述為由視訊解碼器(例如,視訊解碼器30)執行,但多種其他處理器亦可執行圖5中所示之程序。在一些實例中,視訊資料記憶體151、熵解碼單元150及/或預測處理單元152可執行圖5中所示之一或多個程序。
在圖5之實例中,視訊解碼器30可經組態以接收表示當前CU之寫碼樹型單元(CTU)(210)。視訊解碼器30可經組態以接收指示當前CU是否被分裂成複數個子CU的用於當前CU之語法元素(212)。在一些實例中,語法元素可為split_cu_flag語法元素。視訊解碼器30可經組態以基於相關於與當前CU有關之一或多個空間相鄰CU之CU深度的資訊或相關於與當前CU有關之一或多個時間相鄰CU之CU深度的資訊中之至少一者而判定用於熵解碼所接收語法元素的內容(214)。視訊解碼器30可經組態以使用所判定之內容來熵解碼語法元素(216)。
視訊解碼器30可經組態以基於經解碼語法元素判定當前CU是否被分裂成複數個子CU(218)。若當前CU被分裂成複數個CU,則視訊解碼器30可經組態以接收每一子CU之指示每一子CU是否被進一步分
裂成複數個子CU的語法元素(219)。視訊解碼器30可經組態以判定用於每一子CU之每一語法元素的內容,且可經組態以使用用於每一語法元素的每一所判定內容來熵解碼用於每一子CU之每一語法元素,如關於區塊214及216所描述。
若視訊解碼器30在區塊218處判定當前CU(或子CU)並未進一步被分裂成複數個子CU,則視訊解碼器30可經組態以熵解碼預測資訊及殘餘資訊(220)。視訊解碼器30可經組態以使用經解碼預測資訊來形成每一CU及/或子CU(例如,PU)(222)。視訊解碼器30可經組態以使用經解碼殘餘資訊來形成用於CU及/或子CU之變換單元(224)。視訊解碼器30可經組態以藉由組合各別子區塊(例如,PU)與TU來解碼每一CU(226)。
圖6為說明符合本發明之技術的用於編碼視訊資料之實例程序的流程圖。出於說明的目的,通常將圖6之程序描述為由視訊編碼器(例如,視訊編碼器20)執行,但多種其他處理器亦可執行圖6中所示之程序。在一些實例中,視訊資料記憶體101、預測處理單元100及/或熵編碼單元118可執行圖6中所示之一或多個程序。
在圖6之實例中,視訊編碼器20可經組態以將CTU分裂(例如,分割)成複數個CU(240)。視訊編碼器20可經組態以將一值指派至每一CU之指示每一CU是否被進一步分裂的語法元素(242)。在一些實例中,每一CU之語法元素可為split_cu_flag語法元素。視訊編碼器20可經組態以基於相關於與當前CU(例如,與語法元素相關聯的CU)有關之一或多個空間相鄰CU之CU深度的資訊或相關於與當前CU有關之一或多個時間相鄰CU之CU深度的資訊中之至少一者,判定用於熵編碼每一CU之每一語法元素的內容(244)。視訊編碼器20可經組態以使用用於每一CU之每一語法元素的所判定內容來熵編碼每一CU之每一語法元素(246)。
視訊編碼器20可經組態以形成用於每一CU及每一子CU(例如,PU)的預測資訊及殘餘資訊(248)。視訊編碼器20可經組態以編碼用於每一CU及每一子CU的預測資訊及殘餘資訊(250)。
實例1:根據本文中揭示之技術中的任一者或該等技術之任何組合或排列的一種處理視訊資料之方法。
實例2:一種寫碼視訊資料之方法,該方法包含:基於與一寫碼單元(CU)有關之一空間相鄰CU或與該CU有關之一時間相鄰CU的資訊中之至少一者,執行與該CU相關聯之一語法元素的內容自適應二進位算術寫碼(CABAC)內容模型化;且基於該經模型化內容對該語法元素進行CABAC寫碼。
實例3:如實例2之方法,其中CABAC寫碼包含CABAC編碼。
實例4:如實例2之方法,其中CABAC寫碼包含CABAC解碼。
實例5:如實例2至實例4中任一者之方法,其中該語法元素表示該CU是否被分裂成子CU,且其中CABAC寫碼包含基於在一當前CU深度小於用於該空間相鄰CU或該時間相鄰CU之一最小CU深度時對該CU有可能被分裂的一判定而對該語法元素進行CABAC寫碼。
實例6:如實例2至實例5中任一者之方法,其中該語法元素表示該CU是否被分裂成子CU,其中CABAC寫碼包含在該CU之一當前CU深度小於該空間相鄰CU或該時間相鄰CU之一最小CU深度時使用一內容模型來對該語法元素進行CABAC寫碼,該內容模型針對該語法元素指派等於或非常接近一之一機率值,且其中該內容模型包含一專用內容模型或具有等於或非常接近一之一初始值的一自適應內容模型中的一者。
實例7:如實例2至實例6中任一者之方法,其中該語法元素表示CU是否被分裂成子CU,且其中CABAC寫碼包含基於在一當前CU深度大於該空間相鄰CU或該時間相鄰CU之一最大CU深度時對該CU並
不可能被分裂的一判定對該語法元素進行CABAC寫碼。
實例8:如實例2至實例7中任一者之方法,其中該語法元素表示該CU是否被分裂成子CU,其中CABAC寫碼包含在該CU之一當前CU深度大於該空間相鄰CU或該時間相鄰CU之一最大CU深度時使用一內容模型來對該語法元素進行CABAC寫碼,該內容模型針對該語法元素指派等於或非常接近零之一機率值,且其中該內容模型包含一專用內容模型或具有等於或非常接近零之一初始值的一自適應內容模型中的一者。
實例9:實例2至實例8中任一者之方法,其中該語法元素包含該split_cu_flag語法元素。
實例10:回應於判定CU並非極有可能被分裂,及回應於判定該CU並非極不可能被分裂,使用如HEVC中所定義的該split_cu_flag之內容選擇來執行該語法元素之該內容模型化。
實例11:如實例2至實例10中任一者之方法,其進一步包含,回應於判定該CU可能被分裂,將與經進一步分裂之該CU相關聯之一內容設定為等於255,且回應於判定該CU不可能被分裂,將與不可能被分裂之該CU相關聯的一內容設定為等於0。
實例12:如實例2至實例11中任一者之方法,其中與該CU相關聯之一CTU具有大於64×64的一大小,該方法進一步包含:使用四個可能內容中之一者來模型化該語法元素。
實例13:如實例12之方法,其進一步包含根據:min(3,cur_cu_depth)選擇用於對該語法元素進行CABAC寫碼的一內容,其中cur_cu_depth指示該CU之一當前深度,且其中min為指示3與cur_cu_depth之一最小值的一函數。
實例14:如實例2之方法,其中該語法元素包含inter_pred_idc,該方法進一步包含:基於用於該CU之量化為均勻的抑或為不均勻
的,判定用於inter_pred_idc的一內容索引。
實例15:如實例14之方法,其中該內容索引等於:min(CU深度,M),其中CU深度為該CU之一深度,其中M為一正整數值,且其中min為傳回M與該CU深度之一最小值的一函數。
實例16:如實例15之方法,其中M等於3。
實例17:一種寫碼視訊資料之方法,該方法包含:回應於判定一CTU大小大於64×64,判定包含以下項之一組約束:該CTU之一最大CU深度及一最小CU深度,且基於該組約束中的至少一些寫碼該CTU。
實例18:如實例17之方法,其中該最大CU深度被約束至64×64之大小。
實例19:如實例17至實例18中任一者之方法,其進一步包含:在一參數集中寫碼該CTU之一最大CU大小、該CTU大小,及該最大CU深度。
實例20:如實例17至實例19中任一者之方法,其進一步包含:回應於判定該CTU之一CU具有大於一最大CU大小的一大小,在不寫碼該split_cu_flag元素的情況下推斷split_cu_flag之一值等於一。
實例21:如實例17至實例20中任一者之方法,其中該最大CU深度小於一可變M。
實例22:實例17至實例21中任一者之方法,其進一步包含:將該CTU之一CU大小限制為不小於(1<<(N-M)),其中該最大CTU大小等於(1<<N),其中N及M為整數值。
實例23:如實例17至實例22中任一者之方法,其中該受約束值僅僅應用於該CTU之經框間預測CU。
實例24:如實例17至實例22中任一者之方法,其中該最大CU大小或該最小CU中的至少一者針對該CTU之一經框內寫碼CU及該CTU
之一經框間寫碼CU為不同的。
實例25:如實例21之方法,其中M等於4。
應理解,本文所描述之所有技術可單獨地或以組合方式使用。本發明包括可取決於某些因素(諸如,區塊大小、調色盤大小、圖塊類型等)而改變之若干發信方法。發信或推斷語法元素之此等變化可被編碼器及解碼器事先知曉,或可在視訊參數集(VPS)、序列參數集(SPS)、圖像參數集(PPS)、圖塊標頭、圖像塊層級或其他處明確地發信。
應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列執行,可添加、合併或完全省略該等動作或事件(例如,並非所有所描述動作或事件對於該等技術之實踐皆係必要的)。此外,在某些實例中,可(例如)經由多執行緒處理、中斷處理或多個處理器同時而非依序執行動作或事件。另外,儘管出於清晰之目的,本發明之某些態樣被描述為由單一模組或單元執行,但應理解,本發明之技術可藉由與視訊寫碼器相關聯之單元或模組之組合來執行。
出於說明目的,已關於開發中的HEVC標準而描述本發明之某些態樣。然而,本發明中所描述之技術可用於其他視訊寫碼程序,包括尚未開發之其他標準或專有視訊寫碼程序。
上文所述之技術可藉由視訊編碼器20(圖1及圖2)及/或視訊解碼器30(圖1及圖3)執行,兩者通常可稱作視訊寫碼器。同樣地,視訊寫碼可在適用的情況下指視訊編碼或視訊解碼。
應理解,本文所描述之所有技術可單獨地或以組合方式使用。舉例而言,視訊編碼器20及/或其一或多個組件及視訊解碼器30及/或其一或多個組件可以任何組合執行本發明中所描述之技術。作為另一實例,本文中所描述之技術可由視訊編碼器20(圖1及圖2)及/或視訊
解碼器30(圖1及圖3)執行,該等兩者可大體上被稱作視訊寫碼器。同樣地,視訊寫碼可在適用的情況下指視訊編碼或視訊解碼。
將認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列執行、可添加、合併或完全省略(例如,對於實踐該等技術而言並非所有所描述動作或事件皆為必要的)。此外,在某些實例中,可(例如)經由多執行緒處理、中斷處理或多個處理器同時而非依序執行動作或事件。另外,儘管出於清晰之目的,本發明之某些態樣被描述為由單一模組或單元執行,但應理解,本發明之技術可由與視訊寫碼器相關聯之單元或模組之組合來執行。
出於說明之目的,已關於一或多個視訊寫碼標準(經釋出、開發中,抑或其類似者)描述本發明之某些態樣。然而,本發明中所描述之技術可用於其他視訊寫碼程序,包括尚未開發之其他標準或專有視訊寫碼程序。
根據本發明,在上下文並無其他指示的情況下,術語「或」可解譯為「及/或」。另外,雖然諸如「一或多個」或「至少一」或其類似者之片語可被用於本文中所揭示之一些特徵而並未用於其他特徵;但是在上下文並無其他指示的情況下,並未使用此語言之特徵可解釋為暗示了此含義。
雖然在上文描述技術的各種態樣之特定組合,但提供此等組合僅為了說明本發明中描述的技術之實例。因此,本發明之技術不應限於此等實例組合且可涵蓋本發明中描述之技術的各種態樣之任何可設想組合。
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而在一電腦可讀媒體上儲存或傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存
媒體之有形媒體)或通信媒體,通信媒體包括促進(例如)根據通信協定電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上可對應於(1)非暫時性有形電腦可讀儲存媒體,或(2)通信媒體(諸如,信號或載波)。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術的指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉由實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用於儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。又,將任何連接適當地稱為電腦可讀媒體。舉例而言,若使用同軸電纜、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸電纜、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是實際上有關非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟和藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟使用雷射以光學方式再生資料。以上之組合亦應包括於電腦可讀媒體之範疇內。
指令可由一或多個處理器執行,該一或多個處理器諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他等效的整合或離散邏輯電路。因此,如本文中所使用之術語「處理器」可指上述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些
態樣中,本文中所描述之功能性可提供於經組態用於編碼及解碼之專用硬體及/或軟體模組內,或併入組合式編碼解碼器中。此外,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可在廣泛多種器件或裝置中實施,該等器件或裝置包括無線手機、積體電路(IC)或一組IC(例如,晶片組)。本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必要求由不同硬體單元來實現。確切地說,如上文所描述,可將各種單元組合於編碼解碼器硬體單元中,或藉由結合適合之合適軟體及/或韌體的互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合來提供該等單元。
各種實例已於本文中予以描述。涵蓋所描述之系統、操作、功能或實例之任何組合。此等及其他實例係在以下申請專利範圍之範疇內。
Claims (36)
- 一種寫碼視訊資料之方法,該方法包含:判定一當前寫碼單元(CU)之一寫碼單元深度是否小於一或多個相鄰寫碼單元之一最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度;作為一熵寫碼程序之部分,基於相關於與該當前寫碼單元(CU)有關之一或多個相鄰寫碼單元之寫碼單元深度的資訊,選擇用於與該當前寫碼單元相關聯之一語法元素的一內容,其中該相關於與該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元之寫碼單元深度的資訊包含:該當前寫碼單元(CU)之該寫碼單元深度是否小於該一或多個相鄰寫碼單元之該最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度,其中該語法元素表示該當前寫碼單元是否被分裂成子寫碼單元;及基於該所選擇內容熵寫碼該語法元素。
- 如請求項1之方法,其中該熵寫碼程序包含一內容自適應二進位算術寫碼(CABAC)程序,且其中熵寫碼包含CABAC寫碼。
- 如請求項2之方法,其中CABAC寫碼包含CABAC編碼或CABAC解碼。
- 如請求項1之方法,其中相關於該一或多個相鄰CU之一或多個CU深度等於該當前CU之一CU深度。
- 如請求項1之方法,其中相關於該一或多個相鄰CU之一或多個CU深度不等於該當前CU之一CU深度。
- 如請求項1之方法,其進一步包含: 當該當前CU之該CU深度小於該一或多個相鄰CU之該最小CU深度時,將對應於該所選擇內容之一初始值設定為等於255。
- 如請求項1之方法,其中在該當前CU之該CU深度小於該一或多個相鄰CU之該最小CU深度時,該所選擇內容對應於該語法元素的等於一之一機率值。
- 如請求項7之方法,其中該所選擇內容包含一專用內容或具有等於一之一初始值的一自適應內容中之一者。
- 如請求項1之方法,其進一步包含:當該當前CU之該CU深度大於該一或多個相鄰CU之該最大CU深度時,將對應於該所選擇內容之一初始值設定為等於零。
- 如請求項1之方法,其中在該當前CU之該CU深度大於該一或多個相鄰CU之該最大CU深度時,該所選擇內容對應於該語法元素的等於零之一機率值。
- 如請求項10之方法,其中該所選擇內容包含一專用內容或具有等於零之一初始值的一自適應內容中之一者。
- 如請求項1之方法,其中該語法元素包含一split_cu_flag語法元素。
- 如請求項1之方法,其中與該當前CU相關聯之一CTU具有大於64×64的一大小。
- 如請求項13之方法,其進一步包含:自一組至少四個可能內容中選擇該內容。
- 如請求項14之方法,其中該組至少四個可能內容包含六個可能內容。
- 如請求項1之方法,其中選擇用於該語法元素之該內容係基於相關於與該當前CU有關之一或多個空間相鄰CU之CU深度的資訊。
- 如請求項1之方法,其中選擇用於該語法元素之該內容係基於相關於與該當前CU有關之一或多個時間相鄰CU之CU深度的資訊。
- 一種用於寫碼視訊資料之器件,該器件包含:一記憶體,其經組態以儲存該視訊資料;及一視訊寫碼器,其與該記憶體通信,其中該視訊寫碼器經組態以進行如下操作:判定一當前寫碼單元(CU)之一寫碼單元深度是否小於一或多個相鄰寫碼單元之一最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度;作為一熵寫碼程序之部分,基於相關於與儲存在該記憶體中之該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元的寫碼單元深度的資訊,選擇用於與該當前寫碼單元相關聯之一語法元素的一內容,其中該相關於與該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元之寫碼單元深度的資訊包含:該當前寫碼單元(CU)之該寫碼單元深度是否小於該一或多個相鄰寫碼單元之該最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度,其中該語法元素表示該當前寫碼單元是否被分裂成子寫碼單元;及基於該所選擇內容熵寫碼該語法元素。
- 如請求項18之器件,其中該熵寫碼程序包含一內容自適應二進位算術寫碼(CABAC)程序,且其中該視訊寫碼器經組態以熵寫碼包含該視訊寫碼器經組態以CABAC寫碼。
- 如請求項19之器件,其中該視訊寫碼器經組態以CABAC寫碼包 含該視訊寫碼器經組態以CABAC編碼或CABAC解碼。
- 如請求項18之器件,其中相關於該一或多個相鄰CU之一或多個CU深度等於該當前CU之一CU深度。
- 如請求項18之器件,其中相關於該一或多個相鄰CU之一或多個CU深度不等於該當前CU之一CU深度。
- 如請求項18之器件,其中該視訊寫碼器進一步經組態以進行如下操作:當該當前CU之該CU深度小於該一或多個相鄰CU之該最小CU深度時,將對應於該所選擇內容之一初始值設定為等於255。
- 如請求項18之器件,其中在該當前CU之該CU深度小於該一或多個相鄰CU之該最小CU深度時,該所選擇內容對應於該語法元素的等於一之一機率值。
- 如請求項24之器件,其中該所選擇內容包含一專用內容或具有等於一之一初始值的一自適應內容中之一者。
- 如請求項18之器件,其中該視訊寫碼器進一步經組態以進行如下操作:當該當前CU之該CU深度大於該一或多個相鄰CU之該最大CU深度時,將對應於該所選擇內容之一初始值設定為等於零。
- 如請求項18之器件,其中在該當前CU之該CU深度大於該一或多個相鄰CU之該最大CU深度時,該所選擇內容對應於該語法元素的等於零之一機率值。
- 如請求項27之器件,其中該所選擇內容包含一專用內容或具有等於零之一初始值的一自適應內容中之一者。
- 如請求項18之器件,其中該語法元素包含一split_cu_flag語法元素。
- 如請求項18之器件,其中與該當前CU相關聯之一CTU具有大於 64×64的一大小。
- 如請求項30之器件,其中該視訊寫碼器進一步經組態以進行如下操作:自一組至少四個可能內容中選擇該內容。
- 如請求項31之器件,其中該組至少四個可能內容包含六個可能內容。
- 如請求項18之器件,其中該視訊寫碼器經組態以基於相關於與該當前CU有關之一或多個空間相鄰CU之CU深度的資訊,選擇用於該語法元素之該內容。
- 如請求項18之器件,其中該視訊寫碼器經組態以基於相關於與該當前CU有關之一或多個時間相鄰CU之CU深度的資訊,選擇用於該語法元素之該內容。
- 一種用於寫碼視訊資料之裝置,該裝置包含:判定構件,其判定一當前寫碼單元(CU)之一寫碼單元深度是否小於一或多個相鄰寫碼單元之一最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度;用於作為一熵寫碼程序之部分,基於相關於與該當前寫碼單元(CU)有關之一或多個相鄰寫碼單元之寫碼單元深度的資訊,選擇用於與該當前寫碼單元相關聯之一語法元素的一內容的構件,其中該相關於與該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元之寫碼單元深度的資訊包含:該當前寫碼單元(CU)之該寫碼單元深度是否小於該或多個相鄰寫碼單元之該最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度,其中該語法元素表示該當前寫碼單元是否被分裂成子寫碼單元;及 用於基於該所選擇內容熵寫碼該語法元素的構件。
- 一種儲存有指令之非暫時性電腦可讀儲存媒體,該等指令在被執行時使得一或多個處理器進行如下操作:判定一當前寫碼單元(CU)之一寫碼單元深度是否小於一或多個相鄰寫碼單元之一最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度;作為一熵寫碼程序之部分,基於相關於與該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元之寫碼單元深度的資訊,選擇用於與該當前寫碼單元相關聯之一語法元素的一內容,其中該相關於與該當前寫碼單元(CU)有關之該一或多個相鄰寫碼單元之寫碼單元深度的資訊包含:該當前寫碼單元(CU)之該寫碼單元深度是否小於該一或多個相鄰寫碼單元之該最小寫碼單元深度,或該當前寫碼單元之該寫碼單元深度是否大於該一或多個相鄰寫碼單元之一最大寫碼單元深度,其中該語法元素表示該當前寫碼單元是否被分裂成子寫碼單元;及基於該所選擇內容熵寫碼該語法元素。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562108465P | 2015-01-27 | 2015-01-27 | |
US62/108,465 | 2015-01-27 | ||
US15/007,060 US9936201B2 (en) | 2015-01-27 | 2016-01-26 | Contexts for large coding tree units |
US15/007,060 | 2016-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201635798A TW201635798A (zh) | 2016-10-01 |
TWI686080B true TWI686080B (zh) | 2020-02-21 |
Family
ID=56433533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105102622A TWI686080B (zh) | 2015-01-27 | 2016-01-27 | 用於大的寫碼樹單元之內容 |
Country Status (11)
Country | Link |
---|---|
US (2) | US9936201B2 (zh) |
EP (1) | EP3251354B1 (zh) |
JP (1) | JP6462886B2 (zh) |
KR (1) | KR102452744B1 (zh) |
CN (1) | CN107211132B (zh) |
BR (1) | BR112017016159B1 (zh) |
CA (1) | CA2971764A1 (zh) |
EA (1) | EA034984B1 (zh) |
TN (1) | TN2017000309A1 (zh) |
TW (1) | TWI686080B (zh) |
WO (1) | WO2016123169A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9936201B2 (en) | 2015-01-27 | 2018-04-03 | Qualcomm Incorporated | Contexts for large coding tree units |
WO2016153251A1 (ko) * | 2015-03-23 | 2016-09-29 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 이를 위한 장치 |
US9942548B2 (en) * | 2016-02-16 | 2018-04-10 | Google Llc | Entropy coding transform partitioning information |
US10880548B2 (en) * | 2016-06-01 | 2020-12-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding video according to coding order |
WO2018066980A1 (ko) * | 2016-10-04 | 2018-04-12 | 김기백 | 영상 데이터 부호화/복호화 방법 및 장치 |
EP3306927A1 (en) * | 2016-10-05 | 2018-04-11 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
EP3522532A1 (en) | 2016-11-01 | 2019-08-07 | Samsung Electronics Co., Ltd. | Encoding method and device therefor, and decoding method and device therefor |
KR102354628B1 (ko) * | 2017-03-31 | 2022-01-25 | 한국전자통신연구원 | 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치 |
JP6680260B2 (ja) | 2017-04-28 | 2020-04-15 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
KR102205905B1 (ko) * | 2017-07-07 | 2021-01-21 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
EP3701719B1 (en) | 2017-10-27 | 2024-02-21 | Huawei Technologies Co., Ltd. | Methods and apparatuses for signaling partioning information for picture encoding and decoding |
US11445187B2 (en) * | 2018-02-28 | 2022-09-13 | Sharp Kabushiki Kaisha | Systems and methods for partitioning regions of a picture for video coding using different coding unit sizes |
ES2945186T3 (es) | 2018-06-15 | 2023-06-29 | Lg Electronics Inc | Método y aparato para la codificación de entropía basada en CABAC |
AU2018204786A1 (en) * | 2018-06-29 | 2020-01-16 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
CN111107378B (zh) * | 2018-10-26 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 分割信息的信令通知 |
MX2021008054A (es) * | 2019-01-02 | 2021-10-13 | Fraunhofer Ges Forschung | Codificacion y decodificacion de una imagen. |
TWI744827B (zh) * | 2019-03-18 | 2021-11-01 | 弗勞恩霍夫爾協會 | 用以壓縮類神經網路參數之方法與裝置 |
WO2020228762A1 (en) | 2019-05-14 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Context modeling for residual coding |
WO2020252270A1 (en) * | 2019-06-13 | 2020-12-17 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and system of subblock transform for video coding |
US11284077B2 (en) * | 2019-09-10 | 2022-03-22 | Mediatek Inc. | Signaling of subpicture structures |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130279577A1 (en) * | 2010-11-04 | 2013-10-24 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Picture coding supporting block merging and skip mode |
US20140126645A1 (en) * | 2011-07-01 | 2014-05-08 | Electronics And Telecommunications Research Institute | Video encoding and decoding methods and device using same |
US20140269928A1 (en) * | 2011-10-31 | 2014-09-18 | Samsung Electronics Co., Ltd. | Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding |
US20150022633A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Method of fast encoder decision in 3d video coding |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004030369A1 (en) | 2002-09-27 | 2004-04-08 | Videosoft, Inc. | Real-time video coding/decoding |
JP2004328498A (ja) | 2003-04-25 | 2004-11-18 | Mitsubishi Electric Corp | 基地局、端末、通信システム、及び通信方法 |
US8107535B2 (en) | 2003-06-10 | 2012-01-31 | Rensselaer Polytechnic Institute (Rpi) | Method and apparatus for scalable motion vector coding |
KR100703776B1 (ko) * | 2005-04-19 | 2007-04-06 | 삼성전자주식회사 | 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치 |
JP2008167149A (ja) | 2006-12-28 | 2008-07-17 | Matsushita Electric Ind Co Ltd | 通信方法及び通信装置 |
KR101356733B1 (ko) | 2007-03-07 | 2014-02-05 | 삼성전자주식회사 | 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치 |
US7941178B2 (en) | 2007-04-06 | 2011-05-10 | Intel Corporation | Systems and methods for scheduling transmissions for coexistence of differing wireless radio protocols |
US8483282B2 (en) | 2007-10-12 | 2013-07-09 | Qualcomm, Incorporated | Entropy coding of interleaved sub-blocks of a video block |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US9479786B2 (en) | 2008-09-26 | 2016-10-25 | Dolby Laboratories Licensing Corporation | Complexity allocation for video and image coding applications |
WO2010063184A1 (en) | 2008-12-03 | 2010-06-10 | Mediatek Inc. | Method for performing parallel cabac processing with ordered entropy slices, and associated apparatus |
US8787468B2 (en) | 2009-06-19 | 2014-07-22 | Motorola Mobility Llc | Method and apparatus for multi-radio coexistence |
US8626067B2 (en) | 2009-10-26 | 2014-01-07 | Mediatek Inc. | System and methods for enhancing coexistence efficiency for multi-radio terminals |
KR101700358B1 (ko) | 2009-12-09 | 2017-01-26 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
WO2011126277A2 (en) | 2010-04-05 | 2011-10-13 | Samsung Electronics Co., Ltd. | Low complexity entropy-encoding/decoding method and apparatus |
SG189135A1 (en) | 2010-09-30 | 2013-05-31 | Samsung Electronics Co Ltd | Video encoding method for encoding hierarchical-structure symbols and a device therefor, and video decoding method for decoding hierarchical-structure symbols and a device therefor |
US9497472B2 (en) | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
WO2012134246A2 (ko) | 2011-04-01 | 2012-10-04 | 엘지전자 주식회사 | 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 |
US8995523B2 (en) | 2011-06-03 | 2015-03-31 | Qualcomm Incorporated | Memory efficient context modeling |
CN106878731B (zh) * | 2011-06-23 | 2019-06-04 | 太阳专利托管公司 | 图像编码方法及图像编码装置 |
RU2635893C1 (ru) * | 2011-07-01 | 2017-11-16 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для энтропийного кодирования с использованием иерархической единицы данных и способ и устройство для декодирования |
DK3454561T3 (da) * | 2011-09-14 | 2020-02-17 | Samsung Electronics Co Ltd | Fremgangsmåde og indretning til at indkode en forudsigelsesenhed (PU) baseret på dens størrelse og tilsvarende afkodningsindretning |
US9936201B2 (en) | 2015-01-27 | 2018-04-03 | Qualcomm Incorporated | Contexts for large coding tree units |
-
2016
- 2016-01-26 US US15/007,060 patent/US9936201B2/en active Active
- 2016-01-27 CN CN201680006309.9A patent/CN107211132B/zh active Active
- 2016-01-27 EP EP16705368.5A patent/EP3251354B1/en active Active
- 2016-01-27 TN TNP/2017/000309A patent/TN2017000309A1/en unknown
- 2016-01-27 WO PCT/US2016/015034 patent/WO2016123169A1/en active Application Filing
- 2016-01-27 EA EA201791429A patent/EA034984B1/ru unknown
- 2016-01-27 KR KR1020177020569A patent/KR102452744B1/ko active IP Right Grant
- 2016-01-27 BR BR112017016159-1A patent/BR112017016159B1/pt active IP Right Grant
- 2016-01-27 CA CA2971764A patent/CA2971764A1/en active Pending
- 2016-01-27 JP JP2017539277A patent/JP6462886B2/ja active Active
- 2016-01-27 TW TW105102622A patent/TWI686080B/zh active
-
2018
- 2018-03-30 US US15/942,035 patent/US10298930B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130279577A1 (en) * | 2010-11-04 | 2013-10-24 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Picture coding supporting block merging and skip mode |
US20140126645A1 (en) * | 2011-07-01 | 2014-05-08 | Electronics And Telecommunications Research Institute | Video encoding and decoding methods and device using same |
US20140269928A1 (en) * | 2011-10-31 | 2014-09-18 | Samsung Electronics Co., Ltd. | Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding |
US20150022633A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Method of fast encoder decision in 3d video coding |
Also Published As
Publication number | Publication date |
---|---|
TN2017000309A1 (en) | 2019-01-16 |
BR112017016159B1 (pt) | 2023-11-07 |
US9936201B2 (en) | 2018-04-03 |
EP3251354B1 (en) | 2022-04-20 |
US20180227580A1 (en) | 2018-08-09 |
EA034984B1 (ru) | 2020-04-14 |
EA201791429A1 (ru) | 2017-11-30 |
KR20170108011A (ko) | 2017-09-26 |
CA2971764A1 (en) | 2016-08-04 |
JP2018506912A (ja) | 2018-03-08 |
TW201635798A (zh) | 2016-10-01 |
US10298930B2 (en) | 2019-05-21 |
KR102452744B1 (ko) | 2022-10-07 |
BR112017016159A2 (pt) | 2018-04-17 |
EP3251354A1 (en) | 2017-12-06 |
CN107211132B (zh) | 2019-10-18 |
CN107211132A (zh) | 2017-09-26 |
US20160219276A1 (en) | 2016-07-28 |
WO2016123169A1 (en) | 2016-08-04 |
JP6462886B2 (ja) | 2019-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI686080B (zh) | 用於大的寫碼樹單元之內容 | |
US10506246B2 (en) | Multi-type-tree framework for video coding | |
CN110720218B (zh) | 与视频译码中的变换处理一起应用的帧内滤波 | |
US10097842B2 (en) | Restriction of escape pixel signaled values in palette mode video coding | |
JP6396439B2 (ja) | 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和 | |
CN107810636B (zh) | 使用混合递归滤波器的视频帧内预测方法、装置和可读媒体 | |
TWI689195B (zh) | 用於調色板寫碼之寫碼逃脫像素 | |
CN107113436B (zh) | 用于解码视频数据的方法和装置以及计算机可读存储媒体 | |
US20180324464A1 (en) | Context modeling for transform coefficient coding | |
TWI520583B (zh) | 用於解碼及編碼視訊資料之方法、器件及電腦可讀儲存媒體 | |
JP6181150B2 (ja) | コード化ブロックフラグのコーディング | |
US9077998B2 (en) | Padding of segments in coded slice NAL units | |
CN112514386B (zh) | 网格编解码量化系数编解码 | |
TW201717626A (zh) | 幀內預測及幀內模式寫碼 | |
TW201717629A (zh) | 幀內預測及幀內模式寫碼 | |
CN114128286A (zh) | 视频编解码中的环绕运动补偿 | |
JP2017532896A (ja) | パレットインデックスのコーディングのためのパースの依存性の低減 | |
CA3080177A1 (en) | Intra-prediction with far neighboring pixels | |
JP2014535218A (ja) | ビデオコーディング用の断片化されたパラメータセット | |
CN114982240A (zh) | 用于视频译码的多重变换集信令 | |
TW202141977A (zh) | 視訊解碼中的變換跳過塊的係數編碼 | |
CN111713106A (zh) | 用信号发送360度视频信息 |