TWI478588B - 在視訊寫碼中波前平行處理之使用的指示 - Google Patents

在視訊寫碼中波前平行處理之使用的指示 Download PDF

Info

Publication number
TWI478588B
TWI478588B TW101150670A TW101150670A TWI478588B TW I478588 B TWI478588 B TW I478588B TW 101150670 A TW101150670 A TW 101150670A TW 101150670 A TW101150670 A TW 101150670A TW I478588 B TWI478588 B TW I478588B
Authority
TW
Taiwan
Prior art keywords
image
syntax element
ctb
image block
slice
Prior art date
Application number
TW101150670A
Other languages
English (en)
Other versions
TW201338560A (zh
Inventor
Ye-Kui Wang
Muhammed Zeyd Coban
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201338560A publication Critical patent/TW201338560A/zh
Application granted granted Critical
Publication of TWI478588B publication Critical patent/TWI478588B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit

Description

在視訊寫碼中波前平行處理之使用的指示
本發明係關於視訊寫碼(亦即,視訊資料之編碼及/或解碼)。
本申請案主張於2012年1月18日申請之美國臨時專利申請案第61/588,096號之權利,該申請案之全部內容藉此以引用之方式併入本文中。
可將數位視訊能力併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型電腦或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話、所謂之「智慧型電話」、視訊電傳會議器件、視訊串流器件及其類似者。數位視訊器件實施視訊壓縮技術,諸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(進階視訊寫碼(AVC))定義之標準、目前在開發中之高效率視訊寫碼(HEVC)標準及此等標準之擴展中所描述的視訊壓縮技術。視訊器件可藉由實施此等視訊壓縮技術來更有效率地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊壓縮技術執行空間(圖像內)預測及/或時間(圖像間)預測以減少或移除視訊序列中所固有之冗餘。對於基於區塊之視訊寫碼,可將視訊切片(亦即,視訊圖框或視訊圖 框之一部分)分割成視訊區塊,視訊區塊亦可被稱作樹區塊、寫碼單元(CU)及/或寫碼節點。圖像之經框內寫碼(I)切片中的視訊區塊係使用相對於相同圖像中之相鄰區塊中之參考樣本的空間預測來編碼。圖像之經框間寫碼(P或B)切片中的視訊區塊可使用相對於相同圖像中之相鄰區塊中的參考樣本之空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間或時間預測產生待寫碼之區塊的預測性區塊。殘餘資料表示待寫碼之原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本的區塊之運動向量及指示經寫碼區塊與預測性區塊之間的差之殘餘資料來編碼經框間寫碼區塊。根據框內寫碼模式及殘餘資料來編碼經框內寫碼區塊。為了進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生殘餘係數,該等殘餘係數接著可經量化。可按次序掃描最初配置成二維陣列之經量化係數以便產生係數之一維向量,且可應用熵寫碼以達成甚至更多壓縮。
大體而言,本發明描述用於視訊寫碼之技術,其中不允許一單一圖像內之影像塊及波前平行處理(WPP)之組合。更具體言之,一視訊編碼器產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP 來完整地編碼該圖像。在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊。一視訊解碼器自該位元串流剖析該語法元素,且判定該語法元素是否具有一特定值。回應於判定該語法元素具有該特定值,該視訊解碼器使用WPP來完整地解碼該圖像。回應於判定該語法元素不具有該特定值,該視訊解碼器在不使用WPP的情況下解碼該圖像之每一影像塊。
在一態樣中,本發明描述一種用於解碼視訊資料之方法。該方法包含自包括該視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素。另外,該方法包含回應於判定該語法元素具有一特定值,使用WPP來完整地解碼該圖像。該方法亦包含回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種用於編碼視訊資料之方法。該方法包含產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該圖像。在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種包含一或多個處理器之視訊解碼器件,該一或多個處理器經組態以自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元 素。該一或多個處理器經組態以回應於判定該語法元素具有一特定值,使用WPP來完整地解碼該圖像。另外,該一或多個處理器經組態以回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種包含一或多個處理器之視訊編碼器件,該一或多個處理器經組態以產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該圖像。在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種視訊解碼器件,其包含用於自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素的構件。該視訊解碼器件亦包含用於回應於判定該語法元素具有一特定值而使用WPP來完整地解碼該圖像之構件。另外,該視訊解碼器件包含用於回應於判定該語法元素不具有該特定值而在不使用WPP的情況下解碼該圖像之每一影像塊的構件,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種視訊編碼器件,其包含用於產生包括一語法元素之一位元串流的構件,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該 圖像。在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,本發明描述一種儲存指令之電腦可讀儲存媒體,該等指令在由一視訊解碼器件之一或多個處理器執行時,組態該視訊解碼器件以自視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素。該等指令亦使該視訊解碼器件回應於判定該語法元素具有一特定值,使用WPP來完整地解碼該圖像。另外,該等指令使該視訊解碼器件回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
在另一態樣中,一種儲存指令之電腦可讀儲存媒體,該等指令在由一視訊編碼器件之一或多個處理器執行時,組態該視訊編碼器件以產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該圖像。在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
本發明之一或多個實例之細節陳述於隨附圖式及以下描述中。其他特徵、目標及優勢將自該描述、該等圖式及申請專利範圍而顯而易見。
在視訊寫碼期間,可將圖像分割成多個影像塊、波前平 行處理(WPP)波及/或熵切片。藉由穿過圖像之水平及/或垂直影像塊邊界定義圖像之影像塊。根據光柵掃描次序寫碼圖像之影像塊,且亦根據光柵掃描次序寫碼每一影像塊內之寫碼樹區塊(CTB)。在WPP中,圖像中之CTB的每一列為一「WPP波」。在視訊寫碼器使用WPP來寫碼圖像時,視訊寫碼器可在視訊寫碼器已寫碼緊接之較高WPP波的兩個或兩個以上CTB之後,開始自左至右寫碼WPP波之CTB。熵切片可包括根據光柵掃描次序之一系列連續CTB。來自跨越熵切片邊界之資訊的使用被禁止用於選擇熵寫碼上下文,但可被允許用於達成其他目的。
在現有視訊寫碼系統中,圖像可具有影像塊、WPP波及熵切片之任何組合。舉例而言,可將圖像分割成複數個影像塊。在此實例中,可根據光柵掃描次序寫碼影像塊中之一些影像塊中的CTB,而可使用WPP來寫碼影像塊中之其他影像塊中的CTB。允許圖像包括影像塊、WPP波及熵切片之組合可不必要地增加此等視訊寫碼系統之實施方案複雜度及成本。
本發明之技術可解決此問題。亦即,根據本發明之技術,不允許在圖像內的兩個或兩個以上影像塊、WPP波及熵切片中之任一者之組合。舉例而言,一視訊編碼器可產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該圖像。在該第二寫碼模式中,該圖像具有一或多個影像塊,且在不使用 WPP的情況下編碼該圖像之每一影像塊。
此外,在此實例中,視訊解碼器可自包括圖像之經寫碼表示的位元串流剖析語法元素。回應於判定該語法元素具有特定值,該視訊解碼器可使用WPP來完整地解碼該圖像。回應於判定該語法元素不具有該特定值,該視訊解碼器可在不使用WPP的情況下解碼該圖像之每一影像塊。圖像可具有一或多個影像塊。
附加圖式說明實例。在附加圖式中藉由參考數字指示之元件對應於以下描述中藉由相似參考數字指示之元件。在本發明中,具有以序數詞(例如,「第一」、「第二」、「第三」等)開始之名稱的元件未必暗示元件具有特定次序。更確切而言,此等序數詞僅用以指代相同或類似類型之不同元件。
圖1為說明可利用本發明之技術的實例視訊寫碼系統10之方塊圖。如本文中所描述地使用,術語「視訊寫碼器」一般地指代視訊編碼器與視訊解碼器兩者。在本發明中,術語「視訊寫碼」或「寫碼」可一般地指代視訊編碼或視訊解碼。
如圖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之類型之伺服器。實例檔案伺服器包括web伺服器(例如,用於網站)、檔案傳送協定(FTP)伺服器、網路附接儲存(NAS)器件及本端磁碟機。
目的地器件14可經由諸如網際網路連接之標準資料連接存取經編碼視訊資料。資料連接之實例類型包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等)或無線頻道與有線連接兩者之組合。經編碼視訊資料自檔案伺服器之傳輸可為串流傳輸、下載傳輸或串流傳輸與下載傳輸兩者之組合。
本發明之技術不限於無線應用或設定。該等技術可應用於視訊寫碼以支援多種多媒體應用,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、串流視訊傳輸(例如,經由網際網路)、編碼視訊資料以儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之視訊資料,或其他應用。在一些實例中,視訊寫碼系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在圖1之實例中,源器件12包括視訊源18、視訊編碼器 20及輸出介面22。在一些實例中,輸出介面22可包括調變器/解調變器(數據機)及/或傳輸器。視訊源18可包括視訊俘獲器件(例如,視訊攝影機)、含有先前俘獲之視訊資料的視訊存檔、自視訊內容提供者接收視訊資料之視訊饋入介面及/或用於產生視訊資料之電腦圖形系統,或視訊資料之此等源的組合。
視訊編碼器20可編碼來自視訊源18之視訊資料。在一些實例中,源器件12經由輸出介面22將經編碼視訊資料直接傳輸至目的地器件14。經編碼視訊資料亦可儲存至儲存媒體或檔案伺服器上以供稍後由目的地器件14存取以用於解碼及/或播放。
在圖1之實例中,目的地器件14包括輸入介面28、視訊解碼器30及顯示器件32。在一些實例中,輸入介面28包括接收器及/或數據機。輸入介面28可經由頻道16接收經編碼視訊資料。顯示器件32可與目的地器件14整合或可在目的地器件14外部。大體而言,顯示器件32顯示經解碼視訊資料。顯示器件32可包含多種顯示器件,諸如液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
視訊編碼器20及視訊解碼器30可根據諸如目前在開發中之高效率視訊寫碼(HEVC)標準之視訊壓縮標準操作,且可遵照HEVC測試模型(HM)。被稱作「HEVC工作草案5」或「WD5」之即將到來的HEVC標準之草案描述於Bross等人的「WD5:Working Draft 5 of High-Efficiency Video Coding」(ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11視訊寫碼聯合協作小組(JCT-VC)於2011年11月在瑞士日內瓦的第7次會議)中,該草案可自2012年10月10日起自http://phenix.int-evry.fr/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1103-v3.zip下載,該草案之全部內容以引用之方式併入本文中。被稱作「HEVC工作草案9」之即將到來的HEVC標準之另一草案描述於Bross等人的「High Efficiency Video Coding(HEVC)text specification draft 9」(ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11視訊寫碼聯合協作小組(JCT-VC)於2012年10月在中國上海的第11次會議)中,該草案可自2012年11月7日起自http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip下載,該草案之全部內容以引用之方式併入本文中。
或者,視訊編碼器20及視訊解碼器30可根據其他專屬或工業標準來操作,其他專屬或工業標準包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(亦稱作ISO/IEC MPEG-4 AVC),包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。然而,本發明之技術不限於任何特定寫碼標準或技術。
此外,圖1僅為實例且本發明之技術可應用於未必包括編碼器件與解碼器件之間的任何資料通信之視訊寫碼設定 (例如,視訊編碼或視訊解碼)。在其他實例中,資料係自本端記憶體擷取,經由網路或其類似者而串流傳輸。編碼器件可編碼資料且將資料儲存至記憶體,及/或解碼器件可自記憶體擷取資料且解碼資料。在許多實例中,藉由並不彼此通信而是簡單地將資料編碼至記憶體及/或自記憶體擷取資料且解碼資料之器件執行編碼及解碼。
視訊編碼器20及視訊解碼器30各自可實施為諸如以下各者之多種合適電路中之任一者:一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、硬體或其任何組合。若部分地以軟體實施技術,則器件可將軟體之指令儲存於合適的非暫時性電腦可讀儲存媒體中且可使用一或多個處理器以硬體執行指令從而執行本發明之技術。前文中之任一者(包括硬體、軟體、硬體及軟體之組合等)可被視為一或多個處理器。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可作為組合式編碼器/解碼器(CODEC)之部分而整合於各別器件中。
本發明大體上可涉及視訊編碼器20將特定資訊「用信號發出」至諸如視訊解碼器30之另一器件。術語「用信號發出」大體上可指代語法元素及/或表示經編碼視訊資料之其他資料之傳達。此傳達可即時地或近即時地發生。或者,此傳達可在時間跨度內發生,諸如可在編碼時在將語法元素儲存至電腦可讀儲存媒體時在經編碼位元串流中發 生,接著可在將語法元素儲存至此媒體之後的任何時間藉由解碼器件擷取語法元素。
如上文簡要地提及,視訊編碼器20編碼視訊資料。視訊資料可包含一或多個圖像。圖像中之每一者可為靜態影像。在一些例子中,圖像可被稱作視訊「圖框」。視訊編碼器20可產生包括形成視訊資料之經寫碼表示的位元序列之位元串流。位元串流可包括經寫碼圖像及相關聯之資料。經寫碼圖像為圖像之經寫碼表示。相關聯的資料可包括序列參數集(SPS)、圖像參數集(PPS)及其他語法結構。SPS可含有適用於圖像之零個或零個以上序列的參數。PPS可含有適用於零個或零個以上圖像之參數。
為了產生圖像之經編碼表示,視訊編碼器20可將圖像分割成寫碼樹區塊(CTB)之柵格。在一些例子中,CTB可被稱作「樹區塊」、「最大寫碼單元」(LCU)或「寫碼樹單元」。HEVC之CTB可廣泛地類似於諸如H.264/AVC之先前標準的巨集區塊。然而,CTB未必限於特定大小且可包括一或多個寫碼單元(CU)。
CTB中之每一者可與圖像內之大小相等的一不同像素區塊相關聯。每一像素可包含一明度(luminance或luma)樣本及兩個色度(chrominance或chroma)樣本。因此,每一CTB可與明度樣本之一區塊及色度樣本之兩個區塊相關聯。為了便於解釋,本發明可將像素之二維陣列稱作像素區塊且可將樣本之二維陣列稱作樣本區塊。視訊編碼器20可使用四分樹分割來將與CTB相關聯之像素區塊分割成與CU相關 聯的像素區塊(因此名稱為「寫碼樹區塊」)。
可將圖像之CTB分群成一或多個切片。在一些實例中,切片中之每一者包括整數個CTB。作為編碼圖像之部分,視訊編碼器20可產生圖像之每一切片的經編碼表示(亦即,經寫碼切片)。為了產生經寫碼切片,視訊編碼器20可編碼切片之每一CTB以產生切片之CTB中的每一者之經編碼表示(亦即,經寫碼CTB)。
為了產生經寫碼CTB,視訊編碼器20可對與CTB相關聯之像素區塊遞迴地執行四分樹分割以將像素區塊劃分成逐步減小的像素區塊。較小像素區塊中之每一者可與一CU相關聯。經分割CU可為像素區塊經分割成與其他CU相關聯之像素區塊的CU。未經分割CU可為像素區塊未經分割成與其他CU相關聯之像素區塊的CU。
視訊編碼器20可針對每一未經分割CU產生一或多個預測單元(PU)。CU之PU中的每一者可與CU之像素區塊內的一不同像素區塊相關聯。視訊編碼器20可針對CU之每一PU產生預測性像素區塊。PU之預測性像素區塊可為像素之區塊。
視訊編碼器20可使用框內預測或框間預測來產生PU之預測性像素區塊。若視訊編碼器20使用框內預測來產生PU之預測性像素區塊,則視訊編碼器20可基於與PU相關聯之圖像的經解碼像素而產生PU之預測性像素區塊。若視訊編碼器20使用框間預測來產生PU之預測性像素區塊,則視訊編碼器20可基於不同於與PU相關聯之圖像的一或多個圖像 之經解碼像素而產生PU之預測性像素區塊。
視訊編碼器20可基於CU之PU的預測性像素區塊而產生CU之殘餘像素區塊。CU之殘餘像素區塊可指示CU之PU的預測性像素區塊中之樣本與CU之原始像素區塊中的對應樣本之間的差。
此外,作為編碼未經分割CU之部分,視訊編碼器20可對CU之殘餘像素區塊執行遞迴四分樹分割以將CU的殘餘像素區塊分割成與CU之變換單元(TU)相關聯之一或多個較小殘餘像素區塊。因為與TU相關聯之像素區塊中之像素各自包括一明度樣本及兩個色度樣本,所以TU中的每一者可與明度樣本之一殘餘樣本區塊及色度樣本之兩個殘餘樣本區塊相關聯。
視訊寫碼器20可對與TU相關聯之殘餘樣本區塊應用一或多個變換以產生係數區塊(亦即,係數之區塊)。視訊編碼器20可對係數區塊中之每一者執行量化程序。量化大體上指代對係數進行量化以可能減少用以表示係數之資料的量從而提供進一步壓縮的程序。
視訊編碼器20可產生表示經量化係數區塊中之係數的語法元素之集合。視訊編碼器20可將諸如上下文自適應性二進位算術寫碼(CABAC)操作之熵編碼操作應用於此等語法元素中之至少一些語法元素。作為執行熵編碼操作之部分,視訊編碼器20可選擇寫碼上下文。在CABAC之狀況下,寫碼上下文可指示值0及值1分格的機率。
由視訊編碼器20產生之位元串流可包括一系列網路抽象 層(NAL)單元。NAL單元中之每一者可為含有NAL單元中之資料的類型之指示及含有資料之位元組的語法結構。舉例而言,NAL單元可含有表示SPS、PPS、經寫碼切片、補充增強資訊(SEI)、存取單元定界符、填充資料或另一類型之資料的資料。經寫碼切片NAL單元為包括經寫碼切片之NAL單元。
視訊解碼器30可接收位元串流。位元串流可包括由視訊編碼器20編碼之視訊資料的經寫碼表示。視訊解碼器30可剖析位元串流以自位元串流提取語法元素。作為自位元串流提取一些語法元素之部分,視訊解碼器30可熵解碼(例如,CABAC解碼、指數哥倫布解碼等)位元串流中之資料。視訊解碼器30可基於自位元串流提取之語法元素而重建構視訊資料之圖像。
基於語法元素而重建構視訊資料之程序可與由視訊編碼器20執行以產生語法元素之程序大體上互反。舉例而言,視訊解碼器30可基於與CU相關聯之語法元素而產生CU之PU的預測性像素區塊。另外,視訊解碼器30可對與CU之TU相關聯的係數區塊進行反量化。視訊解碼器30可對係數區塊執行反變換以重建構與CU之TU相關聯的殘餘像素區塊。視訊解碼器30可基於預測性像素區塊及殘餘像素區塊而重建構CU之像素區塊。
在一些實例中,視訊編碼器20可將圖像劃分成複數個熵切片。本發明可使用術語「規則切片」來區分切片與熵切片。熵切片可包括規則切片之CU的子集。在一些實例 中,視訊編碼器20可在熵切片當中分割CU,以使得熵切片中無一者包括比上限多的分格(例如,經熵寫碼位元)。在一單獨NAL單元中可包括每一熵切片。
在本發明中,圖像中預測可指代使用與圖像之第一單元(例如,CTB、CU、PU等)相關聯之資訊以用於寫碼同一圖像的第二單元。允許跨越熵切片邊界之圖像中預測,用於達成熵寫碼之目的除外。舉例而言,若視訊寫碼器(例如,視訊編碼器20或視訊解碼器30)正對特定PU執行框內預測,則視訊寫碼器可使用來自相鄰PU之樣本,即使相鄰PU在不同於特定PU之熵切片中亦如此。在此實例中,若相鄰PU在不同於特定PU之切片中,則視訊寫碼器可能不能夠使用來自相鄰PU之樣本。
然而,在視訊寫碼器正對與特定PU相關聯之資料執行熵寫碼時,若特定PU與相鄰PU在相同熵切片中,則僅允許視訊寫碼器基於與相鄰PU相關聯之資訊而選擇寫碼上下文。因為此限制,所以視訊寫碼器可能能夠對切片之多個熵切片平行地執行熵寫碼(亦即,熵編碼或解碼)操作。因此,視訊解碼器30可能能夠平行地剖析多個熵切片之語法元素。然而,視訊解碼器30不能夠平行地重建構切片之多個熵切片的像素區塊。
如上文所指示,經寫碼切片NAL單元可含有經寫碼切片。此切片可為熵切片或規則切片。經寫碼切片NAL單元中之切片標頭可包括指示切片為熵切片抑或規則切片之語法元素(例如,entropy_slice_flag)。舉例而言,若語法元 素等於1,則經寫碼切片NAL單元中之切片可為熵切片。
每一經寫碼切片可包括一切片標頭及切片資料。熵切片之切片標頭可不同於規則切片之切片標頭。舉例而言,熵切片之切片標頭中的語法元素可包括規則切片之切片標頭中的語法元素之子集。因為熵切片之切片標頭包括比規則切片之切片標頭少的語法元素,所以熵切片亦可被稱作輕量切片、具有短切片標頭之切片或短切片。熵切片可自按解碼次序在熵切片之前的規則切片之切片標頭繼承自熵切片之切片標頭省略的語法元素。
按照慣例,視訊編碼器針對每一熵切片產生單獨NAL單元。常常以單獨封包在網路上輸送個別NAL單元。換言之,在經由網路傳輸NAL單元期間,可存在每一封包一個NAL單元。此情形對於含有熵切片之NAL單元而言可為有問題的。若含有包括規則切片之NAL單元之封包在傳輸期間丟失,則視訊解碼器30可能不能夠使用自規則切片的切片標頭繼承語法元素之熵切片。此外,若對於圖像中預測,第一熵切片之一或多個CTB依賴於第二熵切片之一或多個CTB,且含有包括第二熵切片的NAL單元之封包在傳輸期間丟失,則視訊解碼器30可能不能夠解碼第一熵切片之CTB。
在一些實例中,視訊寫碼器可使用波前平行處理(WPP)來寫碼圖像之至少部分。下文中詳細描述之圖9為說明WPP之實例的概念圖。若視訊寫碼器使用WPP來寫碼圖像,則視訊寫碼器可將圖像之CTB劃分成複數個「WPP 波」。WPP波中之每一者可對應於圖像中之CTB的一不同列。若視訊寫碼器使用WPP來寫碼圖像,則視訊寫碼器可開始寫碼CTB之頂列。在視訊寫碼器已寫碼頂列之兩個或兩個以上CTB之後,視訊寫碼器可開始與寫碼CTB的頂列平行地寫碼CTB之次頂列。在視訊寫碼器已寫碼次頂列之兩個或兩個以上CTB之後,視訊寫碼器可開始與寫碼CTB的較高列平行地寫碼CTB之頂部起第三列。此型樣可沿圖像中之CTB的列往下繼續。
若視訊寫碼器正使用WPP,則只要空間上相鄰之CU在當前CTB之左方、左上方、上方或右上方,視訊寫碼器便可使用與在當前CTB之外的空間上相鄰之CU相關聯之資訊來對當前CTB中之特定CU執行圖像中預測。若當前CTB為不同於最頂列之列中的最左CTB,則視訊寫碼器可使用與緊接之較高列的第二CTB相關聯之資訊來選擇用於CABAC寫碼當前CTB之一或多個語法元素的上下文。否則,若當前CTB並非列中之最左CTB,則視訊寫碼器可使用與當前CTB左方之CTB相關聯的資訊來選擇用於CABAC寫碼當前CTB之一或多個語法元素的上下文。以此方式,視訊寫碼器可在編碼緊接之較高列的兩個或兩個以上CTB之後,基於緊接之較高列的CABAC狀態而初始化列之CABAC狀態。
因此,回應於判定第一CTB藉由單一CTB而與圖像之左邊界分離,視訊寫碼器可儲存與第一CTB相關聯之上下文變數。視訊寫碼器可至少部分基於與第一CTB相關聯之上 下文變數而熵寫碼(例如,熵編碼或熵解碼)第二CTB之一或多個語法元素,第二CTB鄰近於圖像之左邊界且比第一CTB低CTB之一列。
甚至在使用WPP時,通常根據光柵掃描次序將切片之經寫碼CTB配置於經寫碼切片NAL單元中。此情形可使實施WPP之視訊寫碼器的設計變得複雜。在WPP波之數目大於1且小於圖像之CTB列的數目時,CTB之經寫碼位元的位元串流次序(亦即,在藉由一個解碼器核心處理經寫碼圖像而非平行地解碼經寫碼圖像的情況下之解碼次序)與如下未應用WPP時之情形相比較而言改變了。按位元串流/解碼次序較遲之經寫碼CTB可能需要藉由按解碼次序較早之另一經寫碼CTB進行圖像中預測。此情形可打破無較早資料取決於按位元串流/解碼次序較遲到來之資料的位元串流因果關係。位元串流因果關係已為包括視訊寫碼標準之視訊寫碼設計中之大體遵循的原理。雖然解碼程序起作用,但在指示在位元串流中之當前位置的位元串流指標可在與經寫碼切片NAL單元相關聯之位元串流的部分內前後移動時,解碼程序可更複雜。
在一些實例中,視訊編碼器20可將圖像劃分成一或多個影像塊。影像塊可包含圖像之CTB的非重疊集合。視訊編碼器20可藉由界定兩個或兩個以上垂直影像塊邊界及兩個或兩個以上水平影像塊邊界而將圖像劃分成影像塊。圖像之每一垂直側可為垂直影像塊邊界。當前圖像之每一水平側可為水平影像塊邊界。舉例而言,若視訊編碼器20界定 圖像之四個垂直影像塊邊界及三個水平影像塊邊界,則將當前圖像劃分成六個影像塊。
諸如視訊編碼器20或視訊解碼器30之視訊寫碼器可根據影像塊掃描次序寫碼圖像之影像塊的CTB。為了根據影像塊掃描次序寫碼CTB,視訊寫碼器可根據光柵掃描次序寫碼圖像之影像塊。亦即,視訊寫碼器可按左至右次序寫碼影像塊之列中的每一影像塊,自影像塊之頂列開始且接著沿圖像向下進行。此外,視訊寫碼器可根據光柵掃描次序寫碼影像塊內之每一CTB。以此方式,視訊寫碼器可在寫碼圖像之另一影像塊的任何CTB之前,寫碼圖像之給定影像塊的每一CTB。換言之,影像塊掃描次序按影像塊內之CTB光柵掃描次序遍歷CTB,且按圖像內之影像塊光柵掃描次序遍歷影像塊。因此,視訊寫碼器寫碼圖像之CTB的次序在將圖像分割成多個影像塊的情況下與在不將圖像分割成多個影像塊的情況下可不同。下文所描述之圖10為說明在將圖像分割成複數個影像塊時之實例影像塊掃描次序的概念圖。
在一些例子中,視訊寫碼器可執行跨越影像塊邊界但不跨越切片邊界之圖像中預測。在其他例子中,禁止跨越影像塊邊界及切片邊界之圖像中預測。在禁止跨越影像塊邊界及切片邊界之圖像中預測的例子中,視訊寫碼器可能能夠平行地寫碼多個影像塊。
在一些實例中,藉由旗標(例如,「tile_boundary_independence_idc」)控制跨越影像塊邊界 之圖像中預測。若旗標等於1,則在圖像內不允許跨越影像塊邊界之圖像中預測。否則,允許跨越影像塊邊界之圖像中預測,亦為圖像邊界或切片邊界之影像塊邊界除外。若允許跨越影像塊邊界之圖像中預測,則影像塊之功能性可為與圖像不具有影像塊或等效地具有僅一個影像塊的狀況相比較而言改變CTB之掃描次序。若不允許跨越影像塊邊界之圖像中預測,則除改變CTB之掃描次序之外,影像塊亦可提供可用於影像塊之平行寫碼(編碼及/或解碼)之獨立分割。因此,若將圖像分割成至少第一影像塊及第二影像塊,則在視訊解碼器30在不使用WPP的情況下解碼影像塊時,視訊解碼器30可平行地解碼第一影像塊之CTB及第二影像塊之CTB。
在一些例子中,可將圖像分割成影像塊、WPP波及熵切片之組合。舉例而言,可將圖像分割成一影像塊及WPP波之一集合。在另一實例中,可將圖像分割成兩個影像塊及一熵切片。允許圖像內之影像塊、WPP波及熵切片的組合可為有問題的,此係因為允許此等組合可增加視訊編碼器及/或視訊解碼器之複雜度及成本。
本發明之技術可解決上文所描述之問題。根據本發明之技術,可不將圖像分割成影像塊、WPP波及熵切片之任何組合。換言之,可將圖像分割成一或多個影像塊,可將圖像分割成WPP波,或可將圖像分割成一或多個熵切片。然而,可不將圖像分割成以下組合中之任一者:(a)影像塊、WPP波及熵切片、(b)影像塊及WPP波、(c)影像塊及熵切 片或(d)WPP波及熵切片。
為了實現此情形,視訊編碼器20可在位元串流中包括一語法元素,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像。在該第一寫碼模式中,使用WPP來完整地編碼該圖像。亦即,可將圖像中之CTB的每一列編碼為一WPP波。在第二寫碼模式中,圖像可具有一或多個影像塊。此外,在該第二寫碼模式中,可在不使用WPP的情況下編碼該圖像之每一影像塊。舉例而言,在第二寫碼模式中,視訊編碼器20可針對圖像之每一影像塊,按跨越CTB之列自左至右且沿影像塊的CTB之列向下之次序順序地編碼影像塊內的CTB。為了便於解釋,此語法元素可在本文中被稱作寫碼模式語法元素。
視訊解碼器30可自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素。回應於判定該語法元素具有特定值,視訊解碼器30可使用WPP來完整地解碼該圖像。回應於判定該語法元素不具有該特定值,視訊解碼器30可在不使用WPP的情況下解碼該圖像之每一影像塊,其中圖像具有一或多個影像塊。
位元串流之各個部分可包括寫碼模式語法元素。舉例而言,視訊編碼器20可產生包括寫碼模式語法元素之SPS。在此實例中,視訊解碼器30可自位元串流剖析包括寫碼模式語法元素之SPS。在另一實例中,視訊編碼器20可產生包括寫碼模式語法元素之PPS。在此實例中,視訊解碼器30可自位元串流剖析包括寫碼模式語法元素之PPS。此 外,若根據第二寫碼模式編碼圖像,則位元串流可包括指示針對圖像是否啟用熵切片之一或多個語法元素。位元串流之各個部分可包括指示針對圖像是否啟用熵切片之一或多個語法元素。舉例而言,SPS可包括指示針對與SPS相關聯之圖像啟用熵切片之一或多個語法元素。在另一實例中,PPS可包括指示針對與PPS相關聯之圖像啟用熵切片之一或多個語法元素。舉例而言,在此實例中,PPS可包括指示參考PPS之經寫碼切片是否可由熵切片組成之entropy_slice_enabled_flag語法元素。
若圖像包括一或多個熵切片,則與圖像之切片相關聯的每一熵切片可包括於一單一經寫碼切片NAL單元中,而非包括於單獨NAL單元中。因此,可將熵切片定義為切片之子集,其中熵切片之熵解碼程序獨立於相同切片中之其他熵切片。
如上文簡要地提及,位元串流可包括包括經寫碼切片之經寫碼切片NAL單元。經寫碼切片可包含切片標頭及切片資料。切片資料可包括一或多個子流。根據本發明之技術,若在第一寫碼模式中編碼圖像(亦即,使用WPP來完整地編碼圖像),則藉由子流中之單一子流來表示切片之CTB的每一列。若在第二寫碼模式中編碼圖像(亦即,在不使用WPP的情況下編碼圖像之每一影像塊),則藉由子流中之單一子流表示具有切片中之一或多個CTB的圖像之每一影像塊。
此外,根據本發明之技術,經寫碼切片之切片標頭可包 括指示經寫碼切片NAL單元之切片資料內的影像塊、WPP波或熵切片之入口點之語法元素的集合。子流之入口點可為子流之第一位元。此外,經寫碼切片NAL單元之切片資料內的影像塊、WPP波或熵切片可包括確保影像塊、WPP波或熵切片位元組對準之填補位元。
圖2為說明經組態以實施本發明之技術的實例視訊編碼器20之方塊圖。出於解釋之目的而提供圖2且不應將圖2視為限制如本發明中廣泛地例示及描述之技術。出於解釋之目的,本發明在HEVC寫碼之上下文中描述視訊編碼器20。然而,本發明之技術可適用於其他寫碼標準或方法。
在圖2之實例中,視訊編碼器20包括預測處理單元100、殘餘產生單元102、變換處理單元104、量化單元106、反量化單元108、反變換處理單元110、重建構單元112、濾波器單元113、經解碼圖像緩衝器114及熵編碼單元116。預測處理單元100包括框間預測處理單元121及框內預測處理單元126。框間預測處理單元121包括運動估計單元122及運動補償單元124。在其他實例中,視訊編碼器20可包括更多、更少或不同功能組件。
視訊編碼器20可接收視訊資料。為了編碼視訊資料,視訊編碼器20可編碼視訊資料之每一圖像的每一切片。作為編碼切片之部分,視訊編碼器20可編碼切片中之每一CTB。作為編碼CTB之部分,預測處理單元100可對與CTB相關聯之像素區塊執行四分樹分割,以將像素區塊劃分成逐步減小的像素區塊。較小像素區塊可與CU相關聯。舉 例而言,預測處理單元100可將CTB之像素區塊分割成四個大小相等之子區塊,將子區塊中之一或多者分割成四個大小相等之子子區塊,等等。
視訊編碼器20可編碼CTB之CU以產生CU之經編碼表示(亦即,經寫碼CU)。視訊編碼器20可根據z掃描次序編碼CTB之CU。換言之,視訊編碼器20可按左上方CU、右上方CU、左下方CU及接著右下方CU之彼次序編碼該等CU。在視訊編碼器20編碼經分割CU時,視訊編碼器20可根據z掃描次序編碼與經分割CU之像素區塊的子區塊相關聯之CU。
作為編碼CU之部分,預測處理單元100可在CU之一或多個PU當中分割CU之像素區塊。視訊編碼器20及視訊解碼器30可支援各種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大小的非對稱分割以供框間預測。
框間預測處理單元121可藉由對CU之每一PU執行框間預測來產生PU之預測性資料。PU之預測性資料可包括對應於PU的預測性像素區塊及PU之運動資訊。切片可為I切片、P切片或B切片。框間預測單元121可取決於PU在I切片中、在P切片中抑或在B切片中而對CU之PU執行不同操作。在I切片中,對所有PU進行框內預測。因此,若PU在I 切片中,則框間預測單元121不對PU執行框間預測。
若PU在P切片中,則運動估計單元122可搜尋參考圖像清單(例如,「清單0」)中的參考圖像以查找PU之參考區塊。PU之參考區塊可為最緊密地對應於PU之像素區塊的像素區塊。運動估計單元122可產生指示含有PU的參考區塊之清單0中之參考圖像的參考圖像索引,及指示PU之像素區塊與參考區塊之間的空間移位之運動向量。運動估計單元122可輸出參考圖像索引及運動向量作為PU之運動資訊。運動補償單元124可基於藉由PU之運動資訊指示的參考區塊而產生PU之預測性像素區塊。
若PU在B切片中,則運動估計單元122可對PU執行單向框間預測或雙向框間預測。為了對PU執行單向框間預測,運動估計單元122可搜尋第一參考圖像清單(「清單0」)或第二參考圖像清單(「清單1」)的參考圖像以查找PU之參考區塊。運動估計單元122可輸出以下各者作為PU之運動資訊:指示參考圖像之清單0或清單1中含有參考區塊之位置的參考圖像索引、指示PU之像素區塊與參考區塊之間的空間移位之運動向量,及指示參考圖像在清單0抑或清單1中之預測方向指示符。
為了對PU執行雙向框間預測,運動估計單元122可搜尋清單0中之參考圖像以查找PU之參考區塊,且亦可搜尋清單1中之參考圖像以查找PU之另一參考區塊。運動估計單元122可產生指示參考圖像之清單0及清單1中含有參考區塊之位置的參考圖像索引。另外,運動估計單元122可產 生指示參考區塊與PU之像素區塊之間的空間移位之運動向量。PU之運動資訊可包括PU之參考圖像索引及運動向量。運動補償單元124可基於藉由PU之運動資訊指示的參考區塊而產生PU之預測性像素區塊。
框內預測處理單元126可藉由對PU執行框內預測來產生PU之預測性資料。PU之預測性資料可包括PU之預測性像素區塊及各種語法元素。框內預測處理單元126可對I切片、P切片及B切片中之PU執行框內預測。
為了對PU執行框內預測,框內預測處理單元126可使用多個框內預測模式來產生PU之預測性資料的多個集合。為了使用框內預測模式來產生PU之預測性資料的集合,框內預測處理單元126可使樣本在與框內預測模式相關聯之方向上自相鄰PU之樣本區塊跨越PU之樣本區塊延伸。假定PU、CU及CTB之左至右、上至下編碼次序,則相鄰PU可在PU之上方、右上方、左上方或左方。框內預測處理單元126可使用各種數目個框內預測模式,例如,33個定向框內預測模式。在一些實例中,框內預測模式之數目可取決於PU之像素區塊的大小。
預測處理單元100可自CU之PU之由框間預測處理單元121產生的預測性資料或PU之由框內預測處理單元126產生的預測性資料當中選擇PU之預測性資料。在一些實例中,預測處理單元100基於預測性資料之集合的位元率/失真量度而選擇CU之PU的預測性資料。所選定預測性資料之預測性像素區塊可在本文中被稱作所選定預測性像素區塊。
殘餘產生單元102可基於CU之像素區塊及CU之PU的所選定預測性像素區塊而產生CU之殘餘像素區塊。舉例而言,殘餘產生單元102可產生CU之殘餘像素區塊,以使得殘餘像素區塊中之每一樣本具有等於CU的像素區塊中之樣本與CU之PU的所選定預測性像素區塊中之對應樣本之間的差之值。
預測處理單元100可執行四分樹分割以將CU之殘餘像素區塊分割成子區塊。每一未經劃分之殘餘像素區塊可與CU之一不同TU相關聯。與CU之TU相關聯的殘餘像素區塊之大小及位置可或可不基於CU之PU的像素區塊之大小及位置。
因為TU之殘餘像素區塊之像素可包含一明度樣本及兩個色度樣本,所以TU中的每一者可與明度樣本之一區塊及色度樣本之兩個區塊相關聯。變換處理單元104可藉由將一或多個變換應用於與TU相關聯之殘餘樣本區塊而產生CU之每一TU的係數區塊。變換處理單元104可將各種變換應用於與TU相關聯之殘餘樣本區塊。舉例而言,變換處理單元104可將離散餘弦變換(DCT)、定向變換或概念上類似之變換應用於殘餘樣本區塊。
量化單元106可對與TU相關聯之係數區塊中的係數進行量化。量化程序可減小與係數中之一些或全部相關聯的位元深度。舉例而言,可在量化期間將n 位元係數降值捨位至m 位元係數,其中n 大於m 。量化單元106可基於與CU相關聯之量化參數(QP)值而對與CU之TU相關聯的係數區塊 進行量化。視訊編碼器20可藉由調整與CU相關聯之QP值來調整應用於與CU相關聯的係數區塊之量化之程度。
反量化單元108及反變換處理單元110可分別將反量化及反變換應用於係數區塊以自係數區塊重建構殘餘樣本區塊。重建構單元112可將經重建構殘餘樣本區塊與來自由預測處理單元100產生的一或多個預測性樣本區塊之對應樣本相加以產生與TU相關聯之經重建構樣本區塊。藉由以此方式重建構CU之每一TU的樣本區塊,視訊編碼器20可重建構CU之像素區塊。
濾波器單元113可執行解區塊操作以減少與CU相關聯之像素區塊中的區塊假影。經解碼圖像緩衝器114可在濾波器單元113對經重建構像素區塊執行一或多個解區塊操作之後,儲存經重建構像素區塊。框間預測單元121可使用含有經重建構像素區塊之參考圖像來對其他圖像之PU執行框間預測。另外,框內預測處理單元126可使用經解碼圖像緩衝器114中之經重建構像素區塊來對與CU相同之圖像中的其他PU執行框內預測。
熵編碼單元116可自視訊編碼器20之其他功能組件接收資料。舉例而言,熵編碼單元116可自量化單元106接收係數區塊且可自預測處理單元100接收語法元素。熵編碼單元116可對資料執行一或多個熵編碼操作以產生經熵編碼資料。舉例而言,熵編碼單元116可對資料執行以下操作:上下文自適應性可變長度寫碼(CAVLC)操作、CABAC操作、可變至可變(V2V)長度寫碼操作、基於語法之上下 文自適應性二進位算術寫碼(SBAC)操作、機率區間分割熵(PIPE)寫碼操作、指數哥倫布編碼操作或另一類型之熵編碼操作。
視訊編碼器20可輸出包括由熵編碼單元116產生之經熵編碼資料的位元串流。位元串流可包括一系列NAL單元。NAL單元可包括經寫碼切片NAL單元、SPS NAL單元、PPS NAL單元等等。為了確保圖像不包括影像塊、WPP波及熵切片之組合,位元串流可包括指示是否使用WPP來完整地編碼圖像或是否在不使用WPP的情況下編碼圖像之每一影像塊之語法元素。
圖3為說明經組態以實施本發明之技術的實例視訊解碼器30之方塊圖。出於解釋之目的而提供圖3且圖3並不限制如本發明中廣泛地例示及描述之技術。出於解釋之目的,本發明在HEVC寫碼之上下文中描述視訊解碼器30。然而,本發明之技術可適用於其他寫碼標準或方法。
在圖3之實例中,視訊解碼器30包括熵解碼單元150、預測處理單元152、反量化單元154、反變換處理單元156、重建構單元158、濾波器單元159及經解碼圖像緩衝器160。預測處理單元152包括運動補償單元162及框內預測處理單元164。在其他實例中,視訊解碼器30可包括更多、更少或不同功能組件。
視訊解碼器30可接收位元串流。熵解碼單元150可剖析位元串流以自位元串流提取語法元素。作為剖析位元串流之部分,熵解碼單元150可熵解碼位元串流中之經熵編碼 語法元素。預測處理單元152、反量化單元154、反變換處理單元156、重建構單元158及濾波器單元159可基於自位元串流提取之語法元素而產生經解碼視訊資料。
位元串流可包含一系列NAL單元。位元串流之NAL單元可包括經寫碼切片NAL單元。作為剖析位元串流之部分,熵解碼單元150可自經寫碼切片NAL單元提取語法元素且熵解碼語法元素。經寫碼切片中之每一者可包括一切片標頭及切片資料。切片標頭可含有關於切片之語法元素。切片標頭中之語法元素可包括識別與含有切片之圖像相關聯的PPS之語法元素。
另外,視訊解碼器30可對未經分割CU執行重建構操作。為了對未經分割CU執行重建構操作,視訊解碼器30可對CU之每一TU執行重建構操作。藉由對CU之每一TU執行重建構操作,視訊解碼器30可重建構與CU相關聯之殘餘像素區塊。
作為對CU之TU執行重建構操作之部分,反量化單元154可對與TU相關聯之係數區塊進行反量化(亦即,解量化)。反量化單元154可使用與TU之CU相關聯的QP值來判定量化之程度,且同樣地,判定反量化單元154將應用之反量化的程度。
在反量化單元154對係數區塊進行反量化之後,反變換處理單元156可將一或多個反變換應用於係數區塊以便產生與TU相關聯之殘餘樣本區塊。舉例而言,反變換處理單元156可將反DCT、反整數變換、反卡忽南-拉維變換 (KLT)、反旋轉變換、反定向變換或另一反變換應用於係數區塊。
若使用框內預測來編碼PU,則框內預測處理單元164可執行框內預測以產生PU之預測性樣本區塊。框內預測處理單元164可使用框內預測模式來基於空間上相鄰之PU之像素區塊而產生PU的預測性像素區塊。框內預測處理單元164可基於自位元串流剖析之一或多個語法元素而判定PU之框內預測模式。
運動補償單元162可基於自位元串流提取之語法元素而建構第一參考圖像清單(清單0)及第二參考圖像清單(清單1)。此外,若使用框間預測來編碼PU,則熵解碼單元150可提取PU之運動資訊。運動補償單元162可基於PU之運動資訊而判定PU之一或多個參考區塊。運動補償單元162可基於PU之一或多個參考區塊而產生PU之預測性像素區塊。
重建構單元158可在可適用時,使用與CU之TU相關聯的殘餘像素區塊及CU之PU的預測性像素區塊(亦即,框內預測資料或框間預測資料)來重建構CU之像素區塊。詳言之,重建構單元158可將殘餘像素區塊之樣本與預測性像素區塊的對應樣本相加以重建構CU之像素區塊。
濾波器單元159可執行解區塊操作以減少與CU之像素區塊相關聯之區塊假影。視訊解碼器30可將CU之像素區塊儲存於經解碼圖像緩衝器160中。經解碼圖像緩衝器160可提供用於後續運動補償、框內預測及呈現於顯示器件(諸 如,圖1之顯示器件32)上的參考圖像。舉例而言,視訊解碼器30可基於經解碼圖像緩衝器160中之像素區塊而對其他CU之PU執行框內預測或框間預測操作。
如上文所提及,視訊解碼器30可接收包括寫碼模式語法元素之位元串流。若寫碼模式語法元素具有特定值,則寫碼模式語法元素指示使用WPP來完整地編碼圖像。在各種實例中,寫碼模式語法元素可在位元串流之各個部分中。舉例而言,SPS可包括寫碼模式語法元素。下文之表1提供包括寫碼模式語法元素(「tile_mode」)之SPS的實例語法。
具有類型描述符ue(v)之語法元素為使用指數哥倫布寫碼 編碼之無正負號可變長度值,其中左位元居首。具有類型描述符u(1)及u(2)之語法元素為長度分別為1個位元或2個位元之無正負號值。在表1之實例語法中,inter_4×4_enabled_flag語法元素指定是否可將框間預測應用於具有4×4明度樣本之大小的區塊。
此外,在表1之實例語法中,tile_mode語法元素指定與SPS相關聯之圖像的影像塊模式。若tile_mode語法元素等於0,則在與SPS相關聯之圖像中的每一者中存在僅一個影像塊。在不使用WPP的情況下根據光柵掃描次序寫碼每一圖像之單一影像塊中的CTB。若tile_mode語法元素等於1,則與SPS相關聯之圖像處於均勻隔開之影像塊模式中。在圖像處於均勻隔開之影像塊模式中時,影像塊行邊界及影像塊列邊界均勻地分佈於與SPS相關聯之每一圖像中。因此,在圖像處於均勻隔開之影像塊模式中時,圖像之影像塊具有相同大小。可在不使用WPP的情況下根據光柵掃描次序編碼均勻分佈之影像塊中之每一者內的CTB。若tile_mode語法元素等於2,則與SPS相關聯之圖像處於不均勻隔開之影像塊模式中。在圖像處於不均勻隔開之影像塊模式中時,影像塊行邊界及影像塊列邊界跨越圖像不均勻地分佈,但可使用SPS之column_width[i]及row_height[i]語法元素顯式地用信號發出。可在不使用WPP的情況下根據光柵掃描次序編碼不均勻隔開之影像塊中之每一者內的CTB。
若tile_mode語法元素等於3,則使用WPP模式來寫碼與 SPS相關聯之圖像。換言之,若tile_mode語法元素具有特定值(例如,3),則使用WPP來完整地編碼與SPS相關聯之圖像。若tile_mode語法元素具有除了3之外的任一值,則與SPS相關聯之任何圖像中無一影像塊係使用WPP來編碼。此外,在使用WPP來寫碼圖像時,在解碼圖像之CTB之列中的兩個CTB之後調用特定記憶程序。另外,在解碼圖像之CTB之列中的第一CTB之前調用特定同步程序。另外,在已寫碼列之最右CTB時,調用內部變數之特定CABAC狀態重新初始化程序。
在上文所提及之特定記憶程序中,視訊寫碼器可回應於判定第一CTB藉由單一CTB而與圖像之左邊界分離,儲存與第一CTB相關聯之特定上下文變數。在特定同步程序中,視訊寫碼器可至少部分基於與第一CTB相關聯之上下文變數而熵寫碼(亦即,熵編碼或熵解碼)第二CTB之一或多個語法元素,第二CTB定位於鄰近於圖像之左邊界處且定位於比第一CTB低CTB之一列處。
此外,在表1之實例語法中,num_tile_columns_minus1語法元素指定分割與SPS相關聯之圖像中的每一者之影像塊行之數目。在tile_mode語法元素等於0或3時,可推斷num_tile_columns_minus1語法元素之值等於0。此係因為:在tile_mode語法元素等於0時,在圖像中存在僅一單一影像塊,且在tile_mode語法元素等於3時,圖像之每一CTB列為一單一影像塊。num_tile_rows_minus1語法元素指定分割與SPS相關聯之圖像中之每一者的影像塊列之數 目。在tile_mode語法元素等於0時,可推斷num_tile_rows_minus1語法元素之值等於0。在tile_mode語法元素等於3時,視訊解碼器30可自動地判定(亦即,推斷)num_tile_rows_minus1語法元素之值等於CTB中之圖像的高度減去1所得值。此外,在tile_mode語法元素等於1或2時,num_tile_columns_minus1語法元素及num_tile_rows_minus1語法元素中之至少一者大於0。
視訊解碼器30可基於column_width[i]語法元素及row_height[i]語法元素而判定與SPS相關聯之圖像之影像塊的寬度及高度。column_width[i]語法元素指示與SPS相關聯之圖像之影像塊行的寬度。視訊解碼器30可至少部分基於column_width[i]語法元素而產生指示與SPS相關聯之圖像中之影像塊的行之寬度之columnWidth向量。視訊解碼器30可使用以下偽碼自SPS之column_width[i]語法元素產生columnWidth向量。
視訊解碼器30可產生指示與SPS相關聯之圖像中之影像塊的高度之rowHeight向量。在一些實例中,視訊解碼器30可使用以下偽碼來產生rowHeight向量。
此外,視訊解碼器30可產生指示影像塊之每一行之最左行邊界的在與SPS相關聯之圖像內的位置之colBd向量。在一些實例中,視訊解碼器30可使用以下偽碼來判定colBd向量。
視訊解碼器30可產生指示影像塊之每一列之頂列邊界的在與SPS相關聯之圖像內之位置的rowBd向量。在一些實例中,視訊解碼器30可使用以下偽碼來判定rowBd向量。
rowBd[i+1]=rowBd[i]+rowHeight[i]
在表1之實例語法中,tile_boundary_independence_flag語法元素指示是否可獨立地解碼影像塊。舉例而言,若tile_boundary_independence_flag等於1,則可獨立地解碼影像塊。舉例而言,若tile_boundary_independence_flag等於1且視訊解碼器30正解碼特定CTB,則判定不在與特定CTB相同之影像塊內的與特定CTB相鄰之所有CTB不可用於圖像中預測。此外,若tile_boundary_independence_flag等於1,則視訊解碼器30在熵解碼影像塊中之第一CTB之前重新初始化熵寫碼上下文。
若tile_boundary_independence_flag語法元素等於0,則用於圖像中預測之CTB之可用性不受影像塊邊界影響。換言之,若tile_boundary_independent_flag語法元素等於0,則視訊解碼器30可執行跨越影像塊邊界之圖像中預測。此外,若tile_boundary_independence_flag語法元素等於0,則熵解碼單元150可在解碼影像塊中之第一CTB時調用同步程序,圖像中之第一樹區塊除外。在此同步程序中,熵解碼單元150可使用與先前影像塊之最後CTB相關聯的資訊來選擇用於熵解碼影像塊中之第一CTB之一或多個語法元素的寫碼上下文。另外,熵解碼單元150可在解碼影像塊中之第二CTB列中的第一CTB時執行記憶程序。記憶程序可儲存上下文變數,以用於在選擇用於CABAC寫碼CTB之下一較低列中的最左CTB之一或多個語法元素之上下文中使用。
若tile_mode語法元素等於0(亦即,每一圖像存在僅一個影像塊),則在表1之實例語法中,SPS不包括tile_boundary_independence_flag語法元素。然而,若tile_mode語法元素等於0,則視訊解碼器30可自動地判定tile_boundary_independence_flag語法元素之值等於1。類似地,若tile_mode語法元素等於3(亦即,使用WPP來完整地編碼圖像),則在表1之實例語法中,SPS不包括tile_boundary_independence_flag語法元素。然而,若tile_mode語法元素等於3,則視訊解碼器30可自動地判定tile_boundary_independence_flag語法元素之值等於0。
在表1之實例語法中,loop_filter_across_tile_flag語法元素指定視訊解碼器30是否將執行跨越影像塊邊界之迴路內濾波操作。舉例而言,若loop_filter_across_tile_flag語法元素等於1,則視訊解碼器30可執行跨越影像塊邊界之迴路內濾波操作。否則,若loop_filter_across_tile_flag語法元素等於0,則視訊解碼器30可不執行跨越影像塊邊界之迴路內濾波操作。實例迴路內濾波操作可包括解區塊濾波器、樣本自適應性偏移及自適應性迴路濾波器。
若tile_mode語法元素等於0(亦即,每一圖像存在僅一個影像塊)或等於3(亦即,使用WPP來完整地編碼與SPS相關聯之每一圖像),則在表1之實例語法中,SPS不包括loop_filter_across_tile_flag語法元素。然而,若tile_mode語法元素等於0,則視訊解碼器30可自動地判定loop_filter_across_tile_flag語法元素之值等於0。若 tile_mode語法元素等於3,則視訊解碼器30可自動地判定loop_filter_across_tile_flag語法元素之值等於1。
或者,或除接收包括寫碼模式語法元素之SPS之外,視訊解碼器30亦可接收包括寫碼模式語法元素之PPS。在視訊解碼器30接收應用於相同圖像之SPS及PPS且SPS與PPS兩者包括寫碼模式語法元素之一些實例中,視訊解碼器30可將優先權給予藉由PPS指定之寫碼模式語法元素。下文之表2呈現包括寫碼模式語法元素(「tile_mode」)之PPS的實例語法。
在表2之實例語法中,若tile_partition_info_present_flag語法元素等於1,則存在tile_mode語法元素。另外,若tile_partition_info_present_flag語法元素等於1,則num_tile_columns_minus1、num_tile_rows_minus1、column_width[i]及row_height[i]語法元素可存在於PPS中。tile_mode語法元素、num_tile_columns_minus1語法元素、num_tile_rows_minus1語法元素、column_width語法元素及row_height之語意可與上文關於表1之實例SPS語法所描述的彼等語意相同。若tile_partition_info_present_flag語法元素等於0,則tile_mode、num_tile_columns_minus1、num_tile_rows_minus1、column_width[i]及row_height[i]語法元素不存在於PPS中。
以此方式,視訊解碼器30可至少部分基於具有指示圖像中無CTB係使用WPP來編碼之值的寫碼模式語法元素(例如,tile_mode),判定參數集(例如,SPS或PPS)包括影像塊行數語法元素及影像塊列數語法元素。視訊解碼器30亦可基於影像塊行數語法元素而判定影像塊行之數目。與參 數集相關聯之每一圖像之影像塊的行之數目可等於影像塊行之數目。視訊解碼器30亦可基於影像塊列數語法元素而判定影像塊列之數目。與參數集相關聯之每一圖像之影像塊的列之數目可等於影像塊列之數目。此外,視訊解碼器30可判定參數集(例如,SPS或PPS)包括一系列一或多個行寬度語法元素及一系列一或多個影像塊高度語法元素。另外,視訊解碼器30可至少部分基於行寬度語法元素而判定與參數集相關聯之每一圖像的影像塊之行之寬度。此外,視訊解碼器30可至少部分基於影像塊高度語法元素而判定與參數集相關聯之每一圖像的影像塊之高度。
類似地,視訊編碼器20可產生包括影像塊行數語法元素及影像塊列數語法元素之參數集。參數集可為圖像參數集(PPS)或序列參數集(SPS)。影像塊行之數目可基於影像塊行數語法元素而判定,且與參數集相關聯之每一圖像之影像塊的行之數目等於影像塊行之數目。影像塊列之數目可基於影像塊列數語法元素而判定,且與參數集相關聯之每一圖像之影像塊的列之數目等於影像塊列之數目。在視訊編碼器20產生參數集時,視訊編碼器20可產生一系列一或多個行寬度語法元素及一系列一或多個列高度語法元素。與參數集相關聯之每一圖像之影像塊的行之寬度可至少部分基於行寬度語法元素而判定。與參數集相關聯之每一圖像之影像塊的列之高度可至少部分基於列高度語法元素而判定。
此外,在表2之實例語法中,若 tile_control_info_present_flag語法元素等於1,則tile_boundary_independence_flag及loop_filter_across_tile_flag語法元素可存在於PPS中。若tile_control_info_present_flag語法元素等於0,則tile_boundary_independence_flag及loop_filter_across_tile_flag語法元素不存在於PPS中。
在表2之實例語法中,若entropy_slice_enabled_flag等於1,則參考PPS之經寫碼切片可包括一或多個熵切片(且可由一或多個熵切片組成)。若entropy_slice_enabled_flag語法元素等於0,則參考PPS之經寫碼切片不含有熵切片。在entropy_slice_enabled_flag語法元素不存在時,視訊解碼器30可自動地判定(亦即,推斷)entropy_slice_enabled_flag語法元素等於0。PPS之其他語法元素的語意可與HEVC WD5中所定義之語意相同。
在表2之實例語法中,若tile_mode語法元素等於0,則PPS僅包括entropy_slice_enabled_flag語法元素。如上文所論述,視訊解碼器30可基於tile_mode語法元素而判定是否使用WPP來解碼圖像之每一影像塊的CTB。因此,視訊解碼器30可基於具有特定值之寫碼模式語法元素(例如,tile_mode)而判定位元串流包括額外語法元素(例如,entropy_slice_enabled_flag),該額外語法元素指示針對參考包括寫碼模式語法元素及額外語法元素之參數集(例如,SPS或PPS)的圖像之經編碼表示是否啟用熵切片。
如上文所描述,經寫碼切片NAL單元可包括切片之經寫 碼表示。切片之經寫碼表示可包括切片標頭,繼之以切片資料。在一些實例中,視訊解碼器30可至少部分基於寫碼模式語法元素(例如,tile_mode)而判定切片標頭是否包括複數個入口偏移語法元素,可自該複數個入口偏移語法元素判定切片資料中之子流的入口點。回應於判定切片標頭包括入口偏移語法元素,視訊解碼器30可使用複數個入口偏移語法元素來判定切片資料中之子流的入口點。換言之,視訊解碼器30可至少部分基於偏移語法元素而判定子流之在記憶體中的位置。若寫碼模式語法元素具有一值(例如,3),則藉由子流中的單一子流來表示圖像之CTB之每一列。若寫碼模式語法元素具有不同值(例如,0、1或2),則藉由子流中之單一子流來表示具有切片中之一或多個CTB的圖像之每一影像塊。切片標頭可遵照下文表3之實例語法。
在表3之實例語法中,切片標頭語法元素「pic_parameter_set_id」、「frame_num」、「idr_pic_id」、「pic_order_cnt_lsb」、「delta_pic_order_cnt[0]」及「delta_pic_order_cnt[1]」之值在經寫碼圖像之所有切片標頭中相同。此外,在表3之實例語法中, first_slice_in_pic_flag語法元素指示切片是否包括涵蓋圖像之左上方明度樣本的CU。若first_slice_in_pic_flag語法元素等於1,則視訊解碼器30可將變數SliceAddress與LCUAddress兩者設定為0,且視訊解碼器30可以圖像中之第一CTB開始解碼。
此外,在表3之實例語法中,slice_address語法元素以切片細微度解析度指定切片開始之位址。切片細微度解析度為切片經定義而具有之細微度。slice_address語法元素之位元的數目可等於(Ceil(Log2(NumLCUsInPicture))+SliceGranularity),其中「NumLCUsInPicture」為圖像中之CTB的數目。
在表3之實例語法中,視訊解碼器30將LCUAddress變數設定為(slice_address>>SliceGranularity)。LCUAddress變數指示按光柵掃描次序之切片之切片位址的LCU部分。視訊解碼器30將GranularityAddress變數設定為(slice_address-(LCUAddress<<SliceGranularity))。GranularityAddress變數表示切片位址之子LCU部分。按z掃描次序表達GranularityAddress變數。
視訊解碼器30將SliceAddress變數設定為(LCUAddress<<(log2_diff_max_min_coding_block_size<<1))+(GranularityAddress<<((log2_diff_max_min_coding_block_size<<1)-SliceGranularity))。值log2_diff_max_min_coding_block_size指定最大CU大小與最小CU大小之間的差。視訊解碼器30可以切片開始座標處可能的最大 CU開始解碼切片。切片開始座標可為切片之第一CU的左上方像素之座標。
此外,在表3之實例語法中,cabac_init_idc語法指定用於判定用於上下文變數之初始化程序中的初始化表之索引。cabac_init_idc語法元素之值可在0至2之範圍中,包括0及2。
在表3之實例語法中,num_entry_offsets語法元素指定切片標頭中之entry_offset[i]語法元素的數目。換言之,複數個入口偏移語法元素中之入口偏移語法元素的數目可基於num_entry_offsets語法元素而判定。當不存在num_entry_offsets語法元素時,視訊解碼器30可判定num_entry_offsets語法元素之值等於0。以此方式,視訊解碼器30可基於num_entry_offsets語法元素而判定在複數個入口偏移語法元素中有多少個偏移語法元素。offset_len_minus8語法元素加上8指定entry_offset[i]語法元素之以位元為單位之長度。換言之,入口偏移語法元素中之每一者的以位元為單位之長度可基於offset_len_minus8語法元素而判定。以此方式,視訊解碼器30可基於offset_len_minus8語法元素而判定偏移語法元素之以位元為單位之長度。entry_offset[i]語法元素指定第i個入口偏移(以位元組為單位)。
視訊解碼器30可至少部分基於複數個偏移語法元素中有多少個偏移語法元素及偏移語法元素之以位元為單位之長度,自位元串流剖析偏移語法元素。經寫碼切片NAL單元 中之子流的數目可等於num_entry_offsets+1。子流之索引值可在0至num_entry_offsets之範圍中,包括0及num_entry_offsets。經寫碼切片NAL單元之子流0可由以下各者組成:經寫碼切片NAL單元之切片資料的位元組0至entry_offset[0]-1,包括0及entry_offset[0]-1。經寫碼切片NAL單元之子流k (其中k 在1至num_entry_offsets-1之範圍中,包括1及num_entry_offsets-1)可由以下各者組成:經寫碼切片NAL單元之切片資料的位元組entry_offset[k -1]至entry_offset[k ]-1,包括entry_offset[k -1]及entry_offset[k ]-1。經寫碼切片NAL單元之最後子流(其中子流索引等於num_entry_offsets)可由經寫碼切片NAL單元之切片資料的位元組中之其餘部分組成。
在表3之實例語法中,若tile_mode語法元素大於0,則具有在1至num_entry_offsets-1之範圍中的子流索引之每一子流含有一個影像塊之每一經寫碼位元,且具有子流索引0之子流含有影像塊之每一經寫碼位元或影像塊之若干個末尾經寫碼位元。影像塊之末尾經寫碼位元為在影像塊之末尾處經寫碼的經寫碼位元。此外,若tile_mode語法元素大於0,則最後子流(亦即,具有等於num_entry_offsets之子流索引的子流)含有影像塊之所有經寫碼位元或影像塊之若干個開始經寫碼位元。影像塊之開始經寫碼位元為在影像塊之開始處經寫碼的經寫碼位元。子流不含有一個以上影像塊之經寫碼位元。在表3之實例語法中,子流0中始終包括經寫碼切片NAL單元之NAL單元標頭及切片標頭。若 tile_mode語法元素等於0且entropy_slice_enabled_flag語法元素等於1,則每一子流含有一個熵切片之每一經寫碼位元且不含有另一熵切片之任何經寫碼位元。
在表3之實例語法中,entropy_slice_address[i]語法元素以切片細微度解析度指定經寫碼切片NAL單元中之第(i+1)個熵切片的開始位址。entropy_slice_address[i]語法元素中之每一者的以位元為單位之大小可等於(Ceil(Log2(NumLCUsInPicture))+SliceGranularity)。
此外,在表3之實例語法中,「entropy_slice_cabac_init_idc[i]」語法元素指定經寫碼切片NAL單元中之第(i+1)個熵切片的用於判定用於上下文變數之初始化程序中的初始化表之索引。entropy_slice_cabac_init_idc[i]之值在0至2之範圍中,包括0及2。切片標頭之其他語法元素的語意可與HEVC WD5中所定義之語意相同。
在一些實例中,entry_offset[i]語法元素指示就位元而言的子流之偏移。此外,在一些實例中,切片標頭可包括指示「entry_offset[i]」之單位為位元組(在等於1時)抑或位元(在等於0時)的旗標。此旗標可位於切片標頭中在offset_len_minus8語法元素之後。
此外,在一些實例中,切片標頭可包括每一子流(包括子流0)之語法元素,該語法元素用以指示各別子流之子流類型。在此實例中,若子流之語法元素具有第一值,則子流為影像塊。若子流之語法元素具有第二值,則子流為熵切片。
如上文所提及,經寫碼表示可包括切片標頭及切片資料。切片資料可包括一或多個子流。若寫碼模式語法元素具有第一值(例如,3),則圖像之CTB之每一列藉由子流中的一單一子流來表示。若語法元素具有第二值(例如,0、1或2),則具有切片中之一或多個CTB的圖像之每一影像塊藉由子流中之一單一子流來表示。為了促進WPP或平行地解碼切片之影像塊,切片資料中之子流可包括確保子流之位元組對準的填補位元。然而,在圖像中存在僅一個影像塊且不啟用熵切片之例子中,可能不需要包括此等填補位元。因此,視訊解碼器30可至少部分基於寫碼模式語法元素(例如,tile_mode)而判定切片資料中之子流是否包括確保子流之位元組對準的填補位元。
切片資料可遵照下文表4之實例語法。
在表4之實例語法中,切片資料包括coding_tree()函數。在視訊解碼器30剖析切片資料時,視訊解碼器30可執行迴圈。在迴圈之每一反覆期間,視訊解碼器30調用coding_tree()函數以剖析切片資料中之經寫碼CTB。在視訊解碼器30調用coding_tree()函數以剖析特定經寫碼CTB時,視訊解碼器30可自切片資料剖析end_of_slice_flag語法元素。若end_of_slice_flag語法元素等於0,則在切片或熵切片中存在在特定經寫碼CTB之後的另一CTB。若end_of_slice_flag語法元素等於1,則特定經寫碼CTB為切片或熵切片之最後經寫碼CTB。
此外,表4之實例語法包括byte_index()函數。byte_index()函數可傳回NAL單元之位元內的當前位置之位元組索引。NAL單元之位元內的當前位置可為NAL單元之第一未經剖析位元。若位元串流中之下一位元為NAL單元標頭之第一位元組的任何位元,則byte_index()函數傳回等於0之值。
表4之切片資料語法為實例。在切片資料語法之其他實例中,用條件「if(tile_mode==1 ∥ tile_mode==2 ∥ entropy_slice_enabled_flag)」來替換表4之條件「if(tile_mode!=0 ∥ entropy_slice_enabled_flag)」。
圖4為說明根據本發明之一或多個態樣之用於編碼視訊資料的視訊編碼器20之實例操作200之流程圖,其中不允許單一圖像內之影像塊及WPP波的組合。作為實例提供圖4。在其他實例中,可使用比圖4之實例中所展示的步驟多、比該等步驟少或不同於該等步驟之步驟來實施本發明之技術。
在圖4之實例中,視訊編碼器20藉由根據第一寫碼模式編碼圖像產生第一經寫碼圖像(202)。在視訊編碼器20根據第一寫碼模式編碼圖像時,使用WPP完整地編碼圖像。另外,視訊編碼器20可藉由根據第二寫碼模式編碼圖像產生第二經寫碼圖像(204)。在視訊編碼器20根據第二寫碼模式編碼圖像時,視訊編碼器20可將圖像分割成一或多個影像塊。視訊編碼器20可在不使用WPP的情況下編碼圖像之每一影像塊(亦即,編碼影像塊中之每一者中的每一CTB)。舉例而言,視訊編碼器20可在不使用WPP的情況下根據光柵掃描次序編碼影像塊中之每一者的CTB。視訊編碼器20接著可選擇第一經寫碼圖像或第二經寫碼圖像(206)。在一些實例中,視訊編碼器20可基於第一經寫碼圖像及第二經寫碼圖像之位元率/失真分析而選擇第一經寫碼圖像或第二經寫碼圖像。視訊編碼器20可產生位元串流,位元串流包括所選定經寫碼圖像及指示是根據第一寫碼模式抑或第二寫碼模式編碼圖像之語法元素(208)。
圖5為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器30之實例操作220之流程圖,其中不允 許單一圖像內之影像塊及WPP的組合。作為實例提供圖5。
在圖5之實例中,視訊解碼器30可自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素(222)。視訊解碼器30可判定語法元素是否具有特定值(224)。回應於判定該語法元素具有特定值(224之「是」),視訊解碼器30可使用WPP來完整地解碼該圖像(226)。回應於判定該語法元素不具有該特定值(224之「否」),視訊解碼器30可在不使用WPP的情況下解碼該圖像之每一影像塊,其中圖像具有一或多個影像塊(228)。
圖6為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器30之實例操作230之流程圖,其中不允許單一圖像內之影像塊及WPP的組合。作為實例提供圖6。在其他實例中,可使用比圖6之實例中所展示的步驟多、比該等步驟少或不同於該等步驟之步驟來實施本發明之技術。圖6可為圖5之操作220之更特定實例。
在圖6之實例中,視訊解碼器30接收位元串流(231)。視訊解碼器30可自位元串流剖析語法元素(232)。在一些實例中,位元串流包括包括語法元素之SPS。在其他實例中,位元串流包括包括語法元素之PPS。
隨後,視訊解碼器30可判定語法元素是否具有第一值(例如,0)(234)。在圖6之實例中,若語法元素具有第一值(234之「是」),則圖像具有單一影像塊,且視訊解碼器30可在不使用WPP的情況下解碼圖像之單一影像塊(236)。
然而,若語法元素不具有第一值(234之「否」),則視訊解碼器30可判定語法元素是否具有第二值(例如,1)(238)。回應於判定語法元素具有第二值(238之「是」),視訊解碼器30可判定圖像具有多個均勻隔開之影像塊,且視訊解碼器30可在不使用WPP的情況下解碼均勻隔開之影像塊中的每一者(240)。
另一方面,若語法元素不具有第二值(238之「否」),則視訊解碼器30可判定語法元素是否具有第三值(例如,2)(242)。回應於判定語法元素具有第三值(242之「是」),視訊解碼器30可判定圖像具有多個不均勻隔開之影像塊,且視訊解碼器30可在不使用WPP的情況下解碼圖像之不均勻隔開之影像塊(244)。然而,回應於判定該語法元素不具有第三值(242之「否」),視訊解碼器30可使用WPP來完整地解碼該圖像(246)。以此方式,若語法元素具有第一值(例如,3),則使用WPP完整地編碼圖像,且若語法元素具有不同於第一值之第二值(例如,0、1或2),則將圖像分割成一或多個影像塊,且在不使用WPP的情況下編碼圖像。
圖7為說明根據本發明之一或多個態樣之用於編碼視訊資料的視訊編碼器20之實例操作270之流程圖,其中圖像之CTB的每一列在一單獨子流中。在一些視訊寫碼系統中,存在用信號發出影像塊及WPP波之入口點的不同方式。此情形可增加此等視訊寫碼系統之複雜度。本發明之技術(且如關於圖7及圖8所解釋)可藉由提供用於指示影像 塊、WPP波及(在一些實例中)熵切片之入口點的統一語法來解決此等問題。
在圖7之實例中,視訊編碼器20用信號發出:使用WPP來編碼視訊圖像序列中的圖像(272)。視訊編碼器20可以各種方式用信號發出使用WPP來編碼圖像。舉例而言,視訊編碼器20可產生包括指示是否使用WPP來完整地解碼圖像之語法元素(例如,「tile_mode」)之SPS。在另一實例中,視訊編碼器20可產生包括指示是否使用WPP來解碼圖像之語法元素(例如,「tile_mode」)之PPS。
此外,視訊編碼器20可執行WPP以產生複數個子流(274)。子流中之每一者可包括表示圖像之切片中的CTB之一經編碼列之位元的連續系列。因此,CTB之每一列經編碼為一子流。視訊編碼器20可產生包括複數個子流之經寫碼切片NAL單元(276)。經寫碼切片NAL單元可包括遵照上文表3及表4之實例語法的切片標頭及切片資料。
圖8為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器30之實例操作280之流程圖,其中圖像之CTB的每一列在一單獨子流中。在圖8之實例中,視訊解碼器30接收包括經寫碼切片NAL單元之位元串流(282)。經寫碼切片NAL單元包括複數個子流。子流中之每一者可包括表示圖像之切片中的CTB之一列之位元的連續系列。此外,在圖8之實例中,視訊解碼器30基於位元串流中之一或多個語法元素而判定切片係使用WPP而編碼(284)。舉例而言,視訊解碼器30可基於等於3之tile_mode語法元素 而判定切片係使用WPP而編碼。在此實例中,若tile_mode語法元素不等於3,則視訊解碼器30可在不使用WPP的情況下解碼圖像之一或多個影像塊中之每一者。
接下來,視訊解碼器30可使用WPP解碼切片(286)。在視訊解碼器30解碼切片時,視訊解碼器30可剖析與切片之CTB相關聯的語法元素。視訊解碼器30可作為剖析與CTB相關聯之語法元素的部分對語法元素中之一些語法元素執行CABAC剖析程序。
圖9A為說明根據本發明之一或多個態樣之用以剖析切片資料的實例CABAC剖析程序300之第一部分之流程圖。當剖析切片資料中及寫碼樹語法中之具有描述符ae(v)的語法元素時,視訊解碼器30可執行圖9A之程序。圖9A之程序可輸出語法元素之值。
在圖9A之實例中,視訊解碼器30之熵解碼單元150執行CABAC剖析程序之初始化(302)。在一些實例中,CABAC剖析程序之初始化與HEVC WD5之子條款9.2.1中所描述的初始化相同。
另外,熵解碼單元150可判定相鄰CTB之位址(304)。相鄰CTB可為含有在左方、左上方、上方或右上方相鄰於當前CTB(亦即,視訊解碼器30當前正解碼之CTB)的區塊之CTB。在一些實例中,熵解碼單元150可將相鄰CTB之位址判定為:tbAddrT=cuAddress(x0+2 *(1<<Log2MaxCUSize)-1,y0-1)
在上文公式中,tbAddrT表示相鄰CTB之位址,x0表示 當前CTB之左上方明度樣本的x座標,y0表示當前CTB之左上方明度樣本的y座標,且Log2MaxCUSize表示CU之最大大小的底數為2之對數。函數cuAddress傳回CU之位址,該位址包括藉由第一參數指定之x座標及藉由第二參數指定之y座標。
接下來,熵解碼單元150可使用相鄰CTB之位址來判定用於圖像中預測之相鄰CTB之可用性(306)。換言之,熵解碼單元150可判定與相鄰CTB相關聯之資訊是否可用於在選擇CABAC上下文中使用。
熵解碼單元150可以各種方式判定用於圖像中預測之相鄰CTB之可用性。舉例而言,熵解碼單元150可執行WD5之子條款6.4.3中所描述的程序(其中tbAddrT作為輸入),以判定用於圖像中預測之相鄰CTB之可用性。在另一實例中,除非以下條件中之一者為真,否則熵解碼單元150可判定CTB可用於圖像中預測。若以下條件中之一者為真,則熵解碼單元150可判定CTB不可用於圖像中預測。第一,若CTB之位址小於0,則熵解碼單元150可判定CTB不可用於圖像中預測。第二,若CTB之位址大於熵解碼單元150當前正剖析之CTB的位址,則熵解碼單元150可判定CTB不可用於圖像中預測。第三,若特定CTB屬於不同於熵解碼單元150當前正剖析之CTB的切片,則熵解碼單元150可判定特定CTB不可用於圖像中預測。舉例而言,若將特定CTB之位址表示為tbAddr且將熵解碼單元150當前正剖析之CTB的位址表示為CurrTbAddr,則熵解碼單元150 可判定具有位址tbAddr之CTB屬於不同於具有位址CurrTbAddr之CTB的切片。第四,若位元串流中之一或多個語法元素指示可獨立地解碼視訊解碼器30當前正解碼之圖像的影像塊,且CTB在不同於熵解碼單元150當前正剖析之CTB的影像塊中,則熵解碼單元150可判定CTB不可用於圖像中預測。舉例而言,若表1之實例語法的tile_boundary_independence_flag語法元素等於1且具有位址tbAddr之CTB含於不同於具有位址CurrTbAddr的CTB之影像塊中,則熵解碼單元150可判定CTB不可用於圖像中預測。
此外,熵解碼單元150可判定熵解碼單元150當前正剖析之語法元素(亦即,當前語法元素)是否在寫碼樹語法結構中(308)。若當前語法元素不在寫碼樹語法結構中(308之「否」),則熵解碼單元150可執行圖9B中所展示之CABAC剖析程序300的部分。另一方面,若當前語法元素在寫碼樹結構中(308之「是」),則熵解碼單元150可判定是否可獨立地解碼當前圖像(亦即,包括當前CTB之圖像)之影像塊(310)。舉例而言,在表1之實例SPS語法中,若與當前圖像相關聯之SPS包括等於1的tile_boundary_independence_flag語法元素,則熵解碼單元150可判定可獨立地解碼當前圖像之影像塊。回應於判定可獨立地解碼當前圖像之影像塊(310之「是」),熵解碼單元150可執行圖9B中所展示之CABAC剖析程序300的部分。
然而,回應於判定不可獨立地解碼當前圖像之影像塊(310之「否」),熵解碼單元150可判定tbAddr % picWidthInLCUs是否等於0,其中tbAddr為相鄰CTB之位址,%表示模數運算子,且picWidthInLCUs指示CTB(亦即,LCU)中之當前圖像的寬度(312)。
回應於判定tbAddr % picWidthInLCUs等於0(312之「是」),熵解碼單元150可判定相鄰CTB是否可用於圖像中預測(314)。在一些實例中,熵解碼單元150可在動作306中執行程序以判定指示相鄰CTB是否可用於圖像中預測之變數availableFlagT的值。若變數availableFlagT等於1,則相鄰CTB可用於圖像中預測。在動作314中,熵解碼單元150可判定變數availableFlagT是否等於1。
回應於判定相鄰CTB可用於圖像中預測(314之「是」),熵解碼單元150可執行CABAC剖析程序之同步程序(316)。在一些實例中,熵解碼單元150可執行HEVC WD5之子條款9.2.1.3中所描述的同步程序。在執行同步程序之後或回應於判定相鄰CTB不可用於圖像中預測(314之「否」),熵解碼單元150可執行在終止之前的二進位決策之解碼程序(318)。大體而言,在終止之前的二進位決策之解碼程序為用於熵解碼end_of_slice_flag及pcm_flag語法元素的特殊解碼程序。視訊解碼器30可使用end_of_slice_flag及pcm_flag來在剖析切片資料之程序的終止之前作出二進位決策。在一些實例中,熵解碼單元150可執行如HEVC WD5之子條款9.2.3.2.4中所指定的在終止之前的二進位決策之解碼程 序。
在執行在終止之前的二進位決策之解碼程序(318)之後,熵解碼單元150可執行算術解碼引擎之初始化程序(320)。在一些實例中,熵解碼單元150可執行HEVC WD5之子條款9.2.1.4中所定義的初始化程序。在執行算術解碼引擎之初始化程序之後,熵解碼單元150可執行圖9B中所展示之CABAC剖析程序300的部分。
若tbAddr % picWidthInLCUs不等於0(312之「否」),則熵解碼單元150可判定tbAddr % picWidthInLCUs是否等於2(322)。換言之,熵解碼單元150可判定相鄰CTB之CTB位址模除CTB中之當前圖像的寬度所得值是否等於2。回應於判定tbAddr % picWidthInLCUs不等於2,熵解碼單元150可執行圖9B中所展示之CABAC剖析程序300的部分。然而,回應於判定tbAddr % picWidthInLCUs等於2(322之「是」),熵解碼單元150可執行記憶程序(324)。大體而言,記憶程序輸出用於指派給不同於end_of_slice_flag語法元素之語法元素的上下文變數之初始化程序中之變數。在一些實例中,熵解碼單元150可執行HEVC WD5之子條款9.2.1.2中所定義的記憶程序。在執行記憶程序之後,熵解碼單元150可執行圖9B中所展示之CABAC剖析程序300的部分。
圖9B為說明圖9A之實例CABAC剖析程序300之接續部分的流程圖。如圖9B中所展示,熵解碼單元150可使當前語法元素二進位化(330)。換言之,熵解碼單元150可導出當 前語法元素之二進位化。語法元素之二進位化可為語法元素之所有可能值的分格字串之集合。分格字串係為來自語法元素之二進位化的語法元素之值之中間表示的分格之字串。在一些實例中,熵解碼單元150可執行HEVC WD5之子條款9.2.2中所定義的程序,以導出當前語法元素之二進位化。
另外,熵解碼單元150可判定寫碼程序流程(332)。熵解碼單元150可基於當前語法元素之二進位化及經剖析分格之序列而判定寫碼程序流程。在一些實例中,熵解碼單元150可判定如HEVC WD5之子條款9.2.2.9中所描述的寫碼程序流程。
此外,熵解碼單元150可判定當前語法元素之二進位化的每一分格之上下文索引(334)。藉由變數binIdx對當前語法元素之二進位化之分格中的每一者標以索引,且可將當前語法元素之二進位化之分格的上下文索引表示為ctxIdx。在一些實例中,熵解碼單元150可判定如HEVC WD5之子條款9.2.3.1中所指定的當前語法元素之二進位化之分格的上下文索引。
熵解碼單元150可執行每一上下文索引之算術解碼程序(336)。在一些實例中,熵解碼單元150可執行如HEVC WD5之子條款9.2.3.2中所指定的每一上下文索引之算術解碼程序。藉由執行每一上下文索引之算術解碼程序,熵解碼單元150可產生經剖析分格之序列。
熵解碼單元150可判定經剖析分格之序列是否匹配藉由 當前語法元素之二進位化產生的分格字串之集合中之分格字串(340)。若經剖析分格之序列匹配藉由當前語法元素之二進位化產生的分格字串之集合中之分格字串(340之「是」),則熵解碼單元150可將對應值指派給當前語法元素(342)。在將對應值指派給當前語法元素之後或回應於判定經剖析分格之序列不匹配藉由當前語法元素之二進位化產生的分格字串之集合中之任何分格字串(340之「否」),熵解碼單元150已完成剖析當前語法元素。
在一些實例中,若當前語法元素為mb_type語法元素,且mb_type語法元素之經解碼值等於I_PCM,則可在解碼任何pcm_alignment_zero_bit語法元素及所有pcm_sample_luma及pcm_sample_chroma資料之後初始化熵解碼單元150,如HEVC WD5之子條款9.2.1.2中所指定。
圖10為說明WPP之實例的概念圖。如上文所描述,可將圖像分割成像素區塊,該等像素區塊中之每一者與一CTB相關聯。圖10將與CTB相關聯之像素區塊說明為白色正方形之柵格。圖像包括CTB列350A至350E(統稱為「CTB列350」)。
第一平行處理執行緒(例如,由複數個平行處理核心中之一者執行)可能正寫碼CTB列350A中之CTB。與此同時,其他執行緒(例如,由其他平行處理核心執行)可能正寫碼CTB列350B、350C及350D中之CTB。在圖10之實例中,第一執行緒當前正寫碼CTB 352A,第二執行緒當前正寫碼CTB 352B,第三執行緒當前正寫碼CTB 352C,且 第四執行緒當前正寫碼CTB 352D。本發明可將CTB 352A、352B、352C及352D通稱為「當前CTB 352」。因為視訊寫碼器可在已寫碼緊接之較高列的兩個以上CTB之後開始寫碼CTB列,所以將當前CTB 352彼此水平地移位達兩個CTB之寬度。
在圖10之實例中,執行緒可使用來自藉由粗灰色箭頭指示的CTB之資料來對當前CTB 352中之CU執行框內預測或框間預測。(執行緒亦可使用來自一或多個參考圖框之資料來執行CU之框間預測。)為了寫碼給定CTB,執行緒可基於與先前經寫碼CTB相關聯之資訊而選擇一或多個CABAC上下文。執行緒可使用一或多個CABAC上下文來對與給定CTB之第一CU相關聯的語法元素執行CABAC寫碼。若給定CTB並非列之最左CTB,則執行緒可基於與在給定CTB左方的CTB之最後CU相關聯之資訊而選擇一或多個CABAC上下文。若給定CTB為列之最左CTB,則執行緒可基於與在給定CTB上方及右方之兩個CTB處的CTB之最後CU相關聯之資訊而選擇一或多個CABAC上下文。執行緒可使用來自藉由細黑色箭頭指示之CTB的最後CU之資料來選擇當前CTB 352之第一CU的CABAC上下文。
圖11為說明經分割成多個影像塊402A、402B、402C、402D、402E及402F(統稱為「影像塊402」)之圖像400的實例CTB寫碼次序之概念圖。圖像400中之每一正方形區塊表示與CTB相關聯之一像素區塊。粗虛線指示實例影像塊邊界。不同類型之交叉影線對應於不同切片。
像素區塊中之編號指示按圖像400之影像塊寫碼次序的對應CTB(LCU)之位置。如圖11之實例中所說明,首先寫碼影像塊402A中之CTB,繼之寫碼影像塊402B中之CTB,繼之寫碼影像塊402C中之CTB,繼之寫碼影像塊402D中之CTB,繼之寫碼影像塊402E中之CTB,繼之寫碼影像塊402F中之CTB。在影像塊402中之每一者內,根據光柵掃描次序寫碼CTB。
視訊編碼器可針對圖像400產生四個經寫碼切片NAL單元。第一經寫碼切片NAL單元可包括CTB 1至18之經編碼表示。第一經寫碼切片NAL單元之切片資料可包括兩個子流。第一子流可包括CTB 1至9之經編碼表示。第二子流可包括CTB 10至18之經編碼表示。因此,第一經寫碼切片NAL單元可包括含有多個影像塊之切片的經編碼表示。
第二經寫碼切片NAL單元可包括CTB 19至22之經編碼表示。第二經寫碼切片NAL單元之切片資料可包括一單一子流。第三經寫碼切片NAL單元可包括CTB 23至27之經編碼表示。第三經寫碼切片NAL單元之切片資料可包括僅一單一子流。因此,影像塊402C可含有多個切片。
第四經寫碼切片NAL單元可包括CTB 28至45之經編碼表示。第四經寫碼切片NAL單元之切片資料可包括三個子流,影像塊402D、402E及402F中之每一者一個子流。因此,第四經寫碼切片NAL單元可包括含有多個影像塊之切片的經編碼表示。
在一或多個實例中,所描述之功能可以硬體、軟體、韌 體或其任何組合來實施。若以軟體來實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體予以傳輸,且由基於硬體之處理單元來執行。電腦可讀媒體可包括電腦可讀儲存媒體或通信媒體,電腦可讀儲存媒體對應於諸如資料儲存媒體之有形媒體,通信媒體包括促進電腦程式(例如)根據通信協定自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上可對應於:(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術之指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
作為實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體,或可用於儲存呈指令或資料結構之形式的所要程式碼且可由電腦存取之任何其他媒體。又,任何連接可適當地被稱作電腦可讀媒體。舉例而言,若使用同軸電纜、光纖纜線、雙絞線、數位用戶線(DSL),或諸如紅外線、無線電及微波之無線技術而自網站、伺服器或其他遠端源傳輸指令,則同軸電纜、光纖纜線、雙絞線、DSL,或諸如紅外線、無線電及微波之無線技術包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是針對非暫時性有形儲存媒體。如 本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟藉由雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
可藉由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用,術語「處理器」可指代前述結構或適於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,可將本文所描述之功能性提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編碼解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可實施於廣泛多種器件或裝置中,該等器件或裝置包括無線手機、積體電路(IC)或IC之集合(例如,晶片組)。本發明中描述各種組件、模組或單元以強調經組態以執行所揭示之技術的器件之功能態樣,但未必需要藉由不同硬體單元實現。更確切而言,如上文所描述,各種單元可組合於一編碼解碼器硬體單元中或由互操作性硬體單元之集合(包括如上文所描述之一或多個處理器)結合合適的軟體及/或韌體來提供。
已描述各種實例。此等及其他實例在以下申請專利範圍之範疇內。
10‧‧‧視訊寫碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧頻道
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
32‧‧‧顯示器件
100‧‧‧預測處理單元
102‧‧‧殘餘產生單元
104‧‧‧變換處理單元
106‧‧‧量化單元
108‧‧‧反量化單元
110‧‧‧反變換處理單元
112‧‧‧重建構單元
113‧‧‧濾波器單元
114‧‧‧經解碼圖像緩衝器
116‧‧‧熵編碼單元
121‧‧‧框間預測處理單元
122‧‧‧運動估計單元
124‧‧‧運動補償單元
126‧‧‧框內預測處理單元
150‧‧‧熵解碼單元
152‧‧‧預測處理單元
154‧‧‧反量化單元
156‧‧‧反變換處理單元
158‧‧‧重建構單元
159‧‧‧濾波器單元
160‧‧‧經解碼圖像緩衝器
162‧‧‧運動補償單元
164‧‧‧框內預測處理單元
200‧‧‧用於編碼視訊資料的視訊編碼器之實例操作
220‧‧‧用於解碼視訊資料的視訊解碼器之實例操作
230‧‧‧用於解碼視訊資料的視訊解碼器之實例操作
270‧‧‧用於編碼視訊資料的視訊編碼器之實例操作
280‧‧‧用於解碼視訊資料的視訊解碼器之實例操作
300‧‧‧用以剖析切片資料的實例上下文自適應性二進位算術寫碼(CABAC)剖析程序
350‧‧‧寫碼樹區塊(CTB)列
350A‧‧‧寫碼樹區塊(CTB)列
350B‧‧‧寫碼樹區塊(CTB)列
350C‧‧‧寫碼樹區塊(CTB)列
350D‧‧‧寫碼樹區塊(CTB)列
350E‧‧‧寫碼樹區塊(CTB)列
352‧‧‧當前寫碼樹區塊(CTB)
352A‧‧‧寫碼樹區塊(CTB)
352B‧‧‧寫碼樹區塊(CTB)
352C‧‧‧寫碼樹區塊(CTB)
352D‧‧‧寫碼樹區塊(CTB)
400‧‧‧圖像
402‧‧‧影像塊
402A‧‧‧影像塊
402B‧‧‧影像塊
402C‧‧‧影像塊
402D‧‧‧影像塊
402E‧‧‧影像塊
402F‧‧‧影像塊
圖1為說明可利用本發明中所描述之技術的實例視訊寫碼系統之方塊圖。
圖2為說明可實施本發明中所描述之技術的實例視訊編碼器之方塊圖。
圖3為說明可實施本發明中所描述之技術的實例視訊解碼器之方塊圖。
圖4為說明根據本發明之一或多個態樣之用於編碼視訊資料的視訊編碼器之實例操作之流程圖,其中不允許單一圖像內之影像塊及波前平行處理(WPP)的組合。
圖5為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器之實例操作之流程圖,其中不允許單一圖像內之影像塊及WPP的組合。
圖6為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器之另一實例操作之流程圖,其中不允許單一圖像內之影像塊及WPP的組合。
圖7為說明根據本發明之一或多個態樣之用於編碼視訊資料的視訊編碼器之實例操作之流程圖,其中圖像之寫碼樹區塊(CTB)的每一列在單獨子流中。
圖8為說明根據本發明之一或多個態樣之用於解碼視訊資料的視訊解碼器之實例操作之流程圖,其中圖像之CTB的每一列在單獨子流中。
圖9A為說明根據本發明之一或多個態樣之用以剖析切片資料的實例上下文自適應性二進位算術寫碼(CABAC)剖析 程序之第一部分之流程圖。
圖9B為說明圖9A之實例CABAC剖析程序之接續部分的流程圖。
圖10為說明WPP之實例的概念圖。
圖11為說明在將圖像分割成複數個影像塊時之實例寫碼次序的概念圖。
220‧‧‧用於解碼視訊資料的視訊解碼器之實例操作

Claims (40)

  1. 一種用於解碼視訊資料之方法,該方法包含:自包括該視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素;回應於判定該語法元素具有一特定值,使用波前平行處理(WPP)來完整地解碼該圖像;及回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  2. 如請求項1之方法,其進一步包含自該位元串流剖析包括該語法元素之一圖像參數集。
  3. 如請求項1之方法,其進一步包含自該位元串流剖析包括該語法元素之一序列參數集。
  4. 如請求項1之方法,其中該圖像經分割成至少一第一影像塊及一第二影像塊,且在不使用WPP的情況下解碼該圖像之每一影像塊包含平行地解碼該第一影像塊之一寫碼樹區塊(CTB)及該第二影像塊的一CTB。
  5. 如請求項1之方法,其進一步包含:判定一參數集包括一影像塊行數語法元素及一影像塊列數語法元素;基於該影像塊行數語法元素而判定影像塊行之一指定數目,其中與該參數集相關聯之每一圖像之影像塊的行之一數目等於影像塊行之該指定數目;及基於該影像塊列數語法元素而判定影像塊列之一指定 數目,其中與該參數集相關聯之每一圖像之影像塊的列之一數目等於影像塊列之該指定數目。
  6. 如請求項1之方法,其中該語法元素為一第一語法元素,該特定值為一第一值,且該方法進一步包含基於具有一第二值之該第一語法元素而判定該圖像包括僅一個影像塊且該位元串流包括一第二語法元素,該第二語法元素指示針對參考包括該第一語法元素及該第二語法元素之一參數集的該等圖像之經編碼表示是否啟用熵切片。
  7. 如請求項1之方法,其中該位元串流包括一經寫碼切片NAL單元,該經寫碼切片NAL單元包括該圖像之一切片的一經寫碼表示,該經寫碼切片NAL單元包含一切片標頭及切片資料,且該方法進一步包含:至少部分基於該語法元素而判定該切片標頭是否包括複數個偏移語法元素;及回應於判定該切片標頭包括該複數個偏移語法元素,使用該複數個偏移語法元素來判定該切片資料中之子流的入口點,其中若該語法元素具有該特定值,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素不具有該特定值,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊。
  8. 如請求項1之方法,其中:該位元串流包括一經寫碼切片NAL單元,該經寫碼切 片NAL單元包括複數個子流,若該語法元素具有該特定值,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素不具有該特定值,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊,該方法進一步包含至少部分基於該語法元素而判定該等子流是否包括確保該等子流之位元組對準的填補位元。
  9. 如請求項1之方法,其中使用WPP解碼該圖像包含:回應於判定一第一CTB藉由一單一CTB而與該圖像之一左邊界分離,儲存與該第一CTB相關聯之上下文變數;及至少部分基於與該第一CTB相關聯之該等上下文變數而熵解碼一第二CTB之一或多個語法元素,該第二CTB鄰近於該圖像之該左邊界且比該第一CTB低CTB之一列。
  10. 一種用於編碼視訊資料之方法,該方法包含產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像,其中在該第一寫碼模式中,使用波前平行處理(WPP)來完整地編碼該圖像,其中在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  11. 如請求項10之方法,其中產生該位元串流包含產生包括該語法元素之一圖像參數集。
  12. 如請求項10之方法,其中產生該位元串流包含產生包括該語法元素之一序列參數集。
  13. 如請求項10之方法,其中該圖像經分割成至少一第一影像塊及一第二影像塊,且該方法進一步包含平行地編碼該第一影像塊之一寫碼樹區塊(CTB)及該第二影像塊的一CTB。
  14. 如請求項10之方法,其中:該圖像係根據該第二寫碼模式而編碼,產生該位元串流包含產生包括一影像塊行數語法元素及一影像塊列數語法元素之一參數集,影像塊行之數目可基於該影像塊行數語法元素而判定,且與該參數集相關聯之每一圖像之影像塊的行之數目等於影像塊行之該數目,且影像塊列之數目可基於該影像塊列數語法元素而判定,且與該參數集相關聯之每一圖像之影像塊的列之數目等於影像塊列之該數目。
  15. 如請求項10之方法,其中該語法元素為一第一語法元素,該語法元素指示根據該第二寫碼模式編碼該圖像,該圖像經分割成一單一影像塊,且該位元串流包括一第二語法元素,該第二語法元素指示針對參考包括該第一語法元素及該第二語法元素之一參數集的該等圖像之經編碼表示是否啟用熵切片。
  16. 如請求項10之方法,其中:產生該位元串流包含產生包括該圖像之一切片之一經寫碼表示的一經寫碼切片NAL單元,該經寫碼切片NAL單元包含一切片標頭及切片資料,且該切片標頭包括複數個偏移語法元素,可自該複數個偏移語法元素判定該切片資料中之子流的入口點,其中若該語法元素指示在該第一寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素指示在該第二寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊。
  17. 如請求項10之方法,其中產生該位元串流包含產生包括複數個子流之一經寫碼切片NAL單元,若該語法元素指示在該第一寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且該等子流包括確保該等子流之位元組對準的填補位元。
  18. 如請求項10之方法,其進一步包含使用WPP來編碼該圖像,其中使用WPP來編碼該圖像包含:回應於判定一第一CTB藉由一單一CTB而與該圖像之一左邊界分離,儲存與該第一CTB相關聯之上下文變數;及至少部分基於與該第一CTB相關聯之該等上下文變數而熵編碼一第二CTB之一或多個語法元素,該第二CTB鄰近於該圖像之該左邊界且比該第一CTB低CTB之一 列。
  19. 一種視訊解碼器件,其包含經組態以進行以下操作之一或多個處理器:自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素;回應於判定該語法元素具有一特定值,使用波前平行處理(WPP)來完整地解碼該圖像;及回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  20. 如請求項19之視訊解碼器件,其中該一或多個處理器經組態以自該位元串流剖析包括該語法元素之一圖像參數集。
  21. 如請求項19之視訊解碼器件,其中該一或多個處理器經組態以自該位元串流剖析包括該語法元素之一序列參數集。
  22. 如請求項19之視訊解碼器件,其中該圖像經分割成至少一第一影像塊及一第二影像塊,且該一或多個處理器經組態以使得當該一或多個處理器在不使用WPP的情況下解碼該圖像之每一影像塊時,該一或多個處理器平行地解碼該第一影像塊之一寫碼樹區塊(CTB)及該第二影像塊的一CTB。
  23. 如請求項19之視訊解碼器件,其中該一或多個處理器經進一步組態以: 判定一參數集包括一影像塊行數語法元素及一影像塊列數語法元素;基於該影像塊行數語法元素而判定影像塊行之一指定數目,其中與該參數集相關聯之每一圖像之影像塊的行之一數目等於影像塊行之該指定數目;及基於該影像塊列數語法元素而判定影像塊列之一指定數目,其中與該參數集相關聯之每一圖像之影像塊的列之一數目等於影像塊列之該指定數目。
  24. 如請求項19之視訊解碼器件,其中該語法元素為一第一語法元素,該特定值為一第一值,且該一或多個處理器經組態以基於具有一第二值之該第一語法元素而判定該圖像包括僅一個影像塊且該位元串流包括一第二語法元素,該第二語法元素指示針對參考包括該第一語法元素及該第二語法元素之一參數集的該等圖像之經編碼表示是否啟用熵切片。
  25. 如請求項19之視訊解碼器件,其中該位元串流包括一經寫碼切片NAL單元,該經寫碼切片NAL單元包括該圖像之一切片的一經寫碼表示,該經寫碼切片NAL單元包含一切片標頭及切片資料,且該一或多個處理器經進一步組態以:至少部分基於該語法元素而判定該切片標頭是否包括複數個偏移語法元素;及回應於判定該切片標頭包括該複數個偏移語法元素,使用該複數個偏移語法元素來判定該切片資料中之子流 的入口點,其中若該語法元素具有該特定值,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素不具有該特定值,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊。
  26. 如請求項19之視訊解碼器件,其中:該位元串流包括一經寫碼切片NAL單元,該經寫碼切片NAL單元包括複數個子流,若該語法元素具有該特定值,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素不具有該特定值,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊,該一或多個處理器經進一步組態以至少部分基於該語法元素而判定該等子流是否包括確保該等子流之位元組對準的填補位元。
  27. 如請求項19之視訊解碼器件,其中當該一或多個處理器使用WPP來解碼該圖像時,該一或多個處理器:回應於判定一第一CTB藉由一單一CTB而與該圖像之一左邊界分離,儲存與該第一CTB相關聯之上下文變數;及至少部分基於與該第一CTB相關聯之該等上下文變數而熵解碼一第二CTB之一或多個語法元素,該第二CTB鄰近於該圖像之該左邊界且比該第一CTB低CTB之一列。
  28. 一種包含一或多個處理器之視訊編碼器件,該一或多個處理器經組態以產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像,其中在該第一寫碼模式中,使用波前平行處理(WPP)來完整地編碼該圖像,其中在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  29. 如請求項28之視訊編碼器件,其中該一或多個處理器經組態以產生包括該語法元素之一圖像參數集。
  30. 如請求項28之視訊編碼器件,其中該一或多個處理器經組態以產生包括該語法元素之一序列參數集。
  31. 如請求項28之視訊編碼器件,其中該圖像經分割成至少一第一影像塊及一第二影像塊,且該一或多個處理器經進一步組態以平行地編碼該第一影像塊之一寫碼樹區塊(CTB)及該第二影像塊的一CTB。
  32. 如請求項28之視訊編碼器件,其中:該圖像係根據該第二寫碼模式而編碼,該一或多個處理器經組態以產生包括一影像塊行數語法元素及一影像塊列數語法元素之一參數集,影像塊行之數目可基於該影像塊行數語法元素而判定,且與該參數集相關聯之每一圖像之影像塊的行之數目等於影像塊行之該數目,且 影像塊列之數目可基於該影像塊列數語法元素而判定,且與該參數集相關聯之每一圖像之影像塊的列之數目等於影像塊列之該數目。
  33. 如請求項28之視訊編碼器件,其中該語法元素為一第一語法元素,該語法元素指示根據該第二寫碼模式編碼該圖像,該圖像經分割成一單一影像塊,且該位元串流包括一第二語法元素,該第二語法元素指示針對參考包括該第一語法元素及該第二語法元素之一參數集的該等圖像之經編碼表示是否啟用熵切片。
  34. 如請求項28之視訊編碼器件,其中:該一或多個處理器經組態以產生包括該圖像之一切片之一經寫碼表示的一經寫碼切片NAL單元,該經寫碼切片NAL單元包含一切片標頭及切片資料,且該切片標頭包括複數個偏移語法元素,可自該複數個偏移語法元素判定該切片資料中之子流的入口點,其中若該語法元素指示在該第一寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且若該語法元素指示在該第二寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示具有該切片中之一或多個CTB的該圖像之每一影像塊。
  35. 如請求項28之視訊編碼器件,其中該位元串流包含包括複數個子流之一經寫碼切片NAL單元,若該語法元素指示在該第一寫碼模式中編碼該圖像,則藉由該等子流中之一單一子流表示該圖像中之CTB的每一列,且該等子 流包括確保該等子流之位元組對準的填補位元。
  36. 如請求項28之視訊編碼器件,其中當該一或多個處理器使用WPP來編碼該圖像之每一影像塊的該等CTB時,該一或多個處理器:回應於判定一第一CTB藉由一單一CTB而與該圖像之一左邊界分離,儲存與該第一CTB相關聯之上下文變數;及至少部分基於與該第一CTB相關聯之該等上下文變數而熵編碼一第二CTB之一或多個語法元素,該第二CTB鄰近於該圖像之該左邊界且比該第一CTB低CTB之一列。
  37. 一種視訊解碼器件,其包含:用於自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素的構件;用於回應於判定該語法元素具有一特定值,使用波前平行處理(WPP)來完整地解碼該圖像之構件;及用於回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊的構件,其中該圖像具有一或多個影像塊。
  38. 一種視訊編碼器件,其包含用於產生包括一語法元素之一位元串流之構件,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像,其中在該第一寫碼模式中,使用波前平行處理(WPP)來完整地編碼該圖像, 其中在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  39. 一種儲存指令之電腦可讀儲存媒體,該等指令在由一視訊解碼器件之一或多個處理器執行時組態該視訊解碼器件以:自包括視訊資料中之一圖像的一經寫碼表示之一位元串流剖析一語法元素;回應於判定該語法元素具有一特定值,使用波前平行處理(WPP)來完整地解碼該圖像;及回應於判定該語法元素不具有該特定值,在不使用WPP的情況下解碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
  40. 一種儲存指令之電腦可讀儲存媒體,該等指令在由一視訊編碼器件之一或多個處理器執行時組態該視訊編碼器件以產生包括一語法元素之一位元串流,該語法元素指示是根據一第一寫碼模式抑或一第二寫碼模式來編碼一圖像,其中在該第一寫碼模式中,使用波前平行處理(WPP)來完整地編碼該圖像,其中在該第二寫碼模式中,在不使用WPP的情況下編碼該圖像之每一影像塊,其中該圖像具有一或多個影像塊。
TW101150670A 2012-01-18 2012-12-27 在視訊寫碼中波前平行處理之使用的指示 TWI478588B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261588096P 2012-01-18 2012-01-18
US13/718,883 US9332259B2 (en) 2012-01-18 2012-12-18 Indication of use of wavefront parallel processing in video coding

Publications (2)

Publication Number Publication Date
TW201338560A TW201338560A (zh) 2013-09-16
TWI478588B true TWI478588B (zh) 2015-03-21

Family

ID=48779951

Family Applications (2)

Application Number Title Priority Date Filing Date
TW101150670A TWI478588B (zh) 2012-01-18 2012-12-27 在視訊寫碼中波前平行處理之使用的指示
TW101150668A TWI561064B (en) 2012-01-18 2012-12-27 Sub-streams for wavefront parallel processing in video coding

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW101150668A TWI561064B (en) 2012-01-18 2012-12-27 Sub-streams for wavefront parallel processing in video coding

Country Status (20)

Country Link
US (2) US9749661B2 (zh)
EP (2) EP2805489B1 (zh)
JP (2) JP6203755B2 (zh)
KR (2) KR102057352B1 (zh)
CN (2) CN104054347B (zh)
AU (2) AU2012366142B2 (zh)
BR (2) BR112014017379B1 (zh)
CA (2) CA2860762C (zh)
ES (1) ES2952775T3 (zh)
HK (2) HK1198236A1 (zh)
IL (2) IL233321B (zh)
MY (2) MY168215A (zh)
PH (2) PH12014501531B1 (zh)
PL (1) PL2805488T3 (zh)
RU (2) RU2612616C1 (zh)
SG (3) SG11201403349SA (zh)
TW (2) TWI478588B (zh)
UA (2) UA111879C2 (zh)
WO (2) WO2013109383A1 (zh)
ZA (1) ZA201406023B (zh)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661033B (zh) * 2009-12-10 2018-02-06 Sk电信有限公司 使用树形结构的解码装置
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
KR102375821B1 (ko) 2011-12-29 2022-03-16 엘지전자 주식회사 비디오 인코딩 및 디코딩 방법과 이를 이용하는 장치
US9749661B2 (en) 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
CA3007679C (en) 2012-01-30 2020-07-07 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
KR20240038130A (ko) 2012-02-04 2024-03-22 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
KR102312989B1 (ko) 2012-03-22 2021-10-14 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US9736482B2 (en) 2012-06-26 2017-08-15 Lg Electronics Inc. Video encoding method, video decoding method, and apparatus using same
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
KR101825575B1 (ko) * 2013-01-07 2018-02-05 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 방법 및 장치
KR102107286B1 (ko) * 2013-07-15 2020-05-06 소니 주식회사 비트스트림을 처리하기 위한 장치 및 방법
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
US9305325B2 (en) 2013-09-25 2016-04-05 Apple Inc. Neighbor context caching in block processing pipelines
US9299122B2 (en) 2013-09-25 2016-03-29 Apple Inc. Neighbor context processing in block processing pipelines
US9218639B2 (en) 2013-09-27 2015-12-22 Apple Inc. Processing order in block processing pipelines
US9571846B2 (en) 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
US9215472B2 (en) 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
EP3058740B1 (en) 2013-10-14 2020-06-03 Microsoft Technology Licensing, LLC Features of base color index map mode for video and image coding and decoding
RU2654129C2 (ru) 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
KR101718830B1 (ko) * 2013-10-30 2017-03-23 한국전자통신연구원 부호화 모드에 따른 적응적 병렬처리가 적용된 고속 비디오 복호화 방법 및 장치
AU2014376061B8 (en) 2014-01-03 2019-05-30 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
EP3158734A1 (en) 2014-06-19 2017-04-26 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
MY180962A (en) 2014-06-20 2020-12-14 Sony Corp Image encoding apparatus and method, and image decoding apparatus and method
US10257529B2 (en) * 2014-06-30 2019-04-09 Intel Corporation Techniques for generating wave front groups for parallel processing a video frame by a video encoder
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US20160014415A1 (en) * 2014-07-08 2016-01-14 Mediatek Inc. Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection
CA2952847A1 (en) 2014-08-07 2016-02-11 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
US10123028B2 (en) * 2014-09-17 2018-11-06 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
GB2531001B (en) 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US20160105678A1 (en) * 2014-10-13 2016-04-14 Microsoft Technology Licensing, Llc Video Parameter Techniques
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
JP6717562B2 (ja) * 2015-02-06 2020-07-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US10200711B2 (en) * 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
US10574993B2 (en) * 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
EP3308540B1 (en) 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
US20170019679A1 (en) * 2015-07-15 2017-01-19 Mediatek Inc. Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
US9451291B1 (en) * 2015-08-31 2016-09-20 Radmilo Bozinovic Fast DWT-based intermediate video codec optimized for massively parallel architecture
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
US10855989B2 (en) * 2016-06-09 2020-12-01 Qualcomm Incorporated Substream multiplexing for display stream compression
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
WO2018074291A1 (ja) * 2016-10-18 2018-04-26 パナソニックIpマネジメント株式会社 画像符号化方法、伝送方法および画像符号化装置
JP2018107500A (ja) * 2016-12-22 2018-07-05 キヤノン株式会社 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN115442599A (zh) * 2017-10-20 2022-12-06 韩国电子通信研究院 图像编码、解码方法以及存储比特流的记录介质
CN116527898A (zh) * 2018-04-03 2023-08-01 华为技术有限公司 基于子图像码流视角相关视频编码中的误差抑制
WO2019234613A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partition tree with partition into 3 sub-blocks by horizontal and vertical splits
JP7384902B2 (ja) * 2018-09-14 2023-11-21 華為技術有限公司 映像符号化におけるスライシング及びタイリング
WO2020130139A1 (ja) * 2018-12-21 2020-06-25 シャープ株式会社 動画像符号化装置および動画像復号装置
CN113273193A (zh) 2018-12-31 2021-08-17 华为技术有限公司 用于分块配置指示的编码器,解码器及对应方法
KR102648032B1 (ko) * 2019-01-09 2024-03-14 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩의 서브 픽처 레벨 지표 시그널링
WO2020149783A1 (en) * 2019-01-16 2020-07-23 Telefonaktiebolaget Lm Ericsson (Publ) Video coding comprising uniform tile split with remainder
EP3922037A1 (en) * 2019-02-07 2021-12-15 InterDigital VC Holdings, Inc. Processing a point cloud
CN113632489A (zh) * 2019-03-06 2021-11-09 夏普株式会社 在视频编码中用于发送信号通知图块组信息的系统和方法
AU2019201649A1 (en) 2019-03-11 2020-10-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
CN113615203A (zh) * 2019-03-11 2021-11-05 华为技术有限公司 视频译码中的子图像配置指示
WO2020219737A1 (en) 2019-04-24 2020-10-29 Bytedance Inc. Constraints on quantized residual differential pulse code modulation representation of coded video
EP3942799A4 (en) 2019-05-01 2022-06-08 ByteDance Inc. INTRACODED VIDEO USING QUANTIZED RESIDUAL PULSE CODE MODULATION ENCODING
KR20220002917A (ko) 2019-05-02 2022-01-07 바이트댄스 아이엔씨 코딩 트리 구조 유형을 기반으로 한 코딩 모드
WO2020226930A1 (en) * 2019-05-03 2020-11-12 Futurewei Technologies, Inc. Wavefront parallel processing for tile, brick, and slice
US11197009B2 (en) * 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels
US11202070B2 (en) * 2019-05-30 2021-12-14 Hulu, LLC Parallel bi-directional intra-coding of sub-partitions
US11212530B2 (en) * 2019-06-24 2021-12-28 Tencent America LLC Method for slice, tile and brick signaling
CN114208196B (zh) 2019-08-10 2023-11-14 北京字节跳动网络技术有限公司 帧间编解码模式的位置限制
US11153576B2 (en) * 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
US11356685B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorproated Signaling number of sub-pictures in high-level syntax for video coding
KR102609308B1 (ko) 2019-10-02 2023-12-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 비트스트림에서의 서브픽처 시그널링을 위한 신택스
JP2022552537A (ja) * 2019-10-18 2022-12-16 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
CN113038140A (zh) * 2019-12-24 2021-06-25 扬智电子科技(中国)有限公司 视频解码方法与视频解码装置
WO2021164783A1 (en) 2020-02-21 2021-08-26 Beijing Bytedance Network Technology Co., Ltd. Signaling of slice and tile picture partitions
CA3169481A1 (en) * 2020-02-28 2021-09-02 Semih Esenlik A decoder and corresponding methods to signal picture partitioning information for slices
WO2021204136A1 (en) 2020-04-07 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Signaling for inter prediction in high level syntax
CN115428457A (zh) 2020-04-09 2022-12-02 抖音视界有限公司 基于颜色格式的自适应参数集的约束
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
CN115868159A (zh) 2020-04-17 2023-03-28 抖音视界有限公司 自适应参数集单元的存在
JP2023523409A (ja) 2020-04-26 2023-06-05 バイトダンス インコーポレイテッド 映像コーディング構文要素の条件付き信号通知
US11924435B2 (en) * 2020-05-15 2024-03-05 Intel Corporation High quality advanced neighbor management encoder architecture
WO2022222989A1 (en) * 2021-04-21 2022-10-27 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
CN117676146A (zh) * 2022-09-08 2024-03-08 华为技术有限公司 一种编解码方法及装置
CN115499667B (zh) * 2022-11-17 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种视频处理方法、装置、设备及可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831728B1 (fr) * 2001-10-25 2004-03-12 Canon Kk Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse
US8000388B2 (en) 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
US8582663B2 (en) 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US7991236B2 (en) 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
HUE061663T2 (hu) 2007-04-12 2023-08-28 Dolby Int Ab Csempézés videó kódolásnál és dekódolásnál
US8150172B2 (en) 2007-05-04 2012-04-03 Qualcomm Incorporated Video coding mode selection using estimated coding costs
EP2156672A1 (en) * 2007-05-04 2010-02-24 QUALCOMM Incorporated Video coding mode selection using estimated coding costs
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US20110280314A1 (en) 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
CN101867821B (zh) 2010-06-18 2011-11-16 上海交通大学 基于稀疏采样和纹理重建的视频编码系统
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
WO2012048053A2 (en) * 2010-10-05 2012-04-12 Massachusetts Institute Of Technology System and method for optimizing context-adaptive binary arithmetic coding
US9300976B2 (en) 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US9325999B2 (en) 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
CA2854426A1 (en) 2011-11-08 2013-05-16 Telefonaktiebolaget L M Ericsson (Publ) Tile size in video coding
US9749661B2 (en) 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Weixing Wan, Ying Chen, Ye-Kui Wang, Miska M. Hannuksela, Houqiang Li, and Moncef Gabbouj, "EFFICIENT HIERARCHICAL INTER PICTURE CODING FOR H.264/AVC BASELINE_PROFILE", 2009, http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5167469 Chenghao Liu, Ye-Kui Wang, Miska M. Hannuksela, Ying Chen, Mate Sujeet, Moncef Gabbouj, "RTP/AVPF Compliant Feedback for Error Resilient_Video Coding in Conversational Applications", 2009, http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5341256 *

Also Published As

Publication number Publication date
CA2860840C (en) 2019-12-31
SG10201605295XA (en) 2016-08-30
JP6203755B2 (ja) 2017-09-27
JP2015507906A (ja) 2015-03-12
AU2012366142B2 (en) 2017-05-18
KR20140120338A (ko) 2014-10-13
PL2805488T3 (pl) 2023-12-04
MY165064A (en) 2018-02-28
EP2805489B1 (en) 2024-02-14
CN104054348B (zh) 2017-10-31
CA2860762C (en) 2019-07-02
JP6151276B2 (ja) 2017-06-21
SG11201403349SA (en) 2014-09-26
WO2013109382A2 (en) 2013-07-25
RU2014133720A (ru) 2016-03-10
AU2012366143B2 (en) 2017-04-20
EP2805489C0 (en) 2024-02-14
KR20140120339A (ko) 2014-10-13
US9332259B2 (en) 2016-05-03
MY168215A (en) 2018-10-15
CN104054347A (zh) 2014-09-17
IL233360A0 (en) 2014-08-31
WO2013109383A1 (en) 2013-07-25
SG11201403351VA (en) 2014-08-28
US9749661B2 (en) 2017-08-29
BR112014017379B1 (pt) 2022-09-27
RU2609073C2 (ru) 2017-01-30
AU2012366143A1 (en) 2014-08-07
CN104054347B (zh) 2018-08-28
BR112014017521B1 (pt) 2022-09-20
EP2805488A2 (en) 2014-11-26
UA111879C2 (uk) 2016-06-24
IL233321B (en) 2018-04-30
CA2860762A1 (en) 2013-07-25
KR102057352B1 (ko) 2019-12-18
EP2805488B1 (en) 2023-08-02
IL233321A0 (en) 2014-08-31
PH12014501531A1 (en) 2014-10-08
US20130182775A1 (en) 2013-07-18
HK1198403A1 (zh) 2015-04-17
TW201338560A (zh) 2013-09-16
IL233360B (en) 2018-03-29
AU2012366142A1 (en) 2014-08-07
PH12014501528A1 (en) 2014-10-08
CN104054348A (zh) 2014-09-17
RU2612616C1 (ru) 2017-03-09
BR112014017521A8 (pt) 2017-07-04
US20130182774A1 (en) 2013-07-18
PH12014501528B1 (en) 2014-10-08
HK1198236A1 (zh) 2015-03-13
UA112675C2 (uk) 2016-10-10
TWI561064B (en) 2016-12-01
WO2013109382A3 (en) 2013-10-10
JP2015507907A (ja) 2015-03-12
BR112014017379A8 (pt) 2017-07-04
EP2805489A1 (en) 2014-11-26
PH12014501531B1 (en) 2014-10-08
BR112014017521A2 (pt) 2017-06-13
CA2860840A1 (en) 2013-07-25
EP2805488C0 (en) 2023-08-02
BR112014017379A2 (pt) 2017-06-13
TW201336312A (zh) 2013-09-01
KR101676547B1 (ko) 2016-11-15
ZA201406023B (en) 2017-09-27
ES2952775T3 (es) 2023-11-06

Similar Documents

Publication Publication Date Title
TWI478588B (zh) 在視訊寫碼中波前平行處理之使用的指示
RU2678490C2 (ru) Определение размера палитры, записей палитры и фильтрование блоков, кодированных на основе палитры, при кодировании видео
RU2633100C2 (ru) Применимость битового субпотока к вложенным sei-сообщениям при кодировании видео
TWI511572B (zh) 具有包含多個編碼圖案區段之網路提取層之視訊寫碼
TWI520583B (zh) 用於解碼及編碼視訊資料之方法、器件及電腦可讀儲存媒體
TWI527465B (zh) 已寫碼區塊旗標寫碼
TWI481223B (zh) 用於樣本自適應偏移語法元素之旁路寫碼位元子的分組
KR101589851B1 (ko) 코딩된 슬라이스 nal 유닛들에서의 세그먼트들의 패딩
TWI590651B (zh) 基於乾淨隨機存取(cra)圖像之串流適應
TW201515440A (zh) 多層內容脈絡中之影像塊及波前處理
TW201440487A (zh) 在視訊寫碼中之非巢套式補充增強資訊訊息
US20160150234A1 (en) Palette mode coding