TW201711468A - 使用一全文自適應二進位算術寫碼設計來寫碼資料 - Google Patents

使用一全文自適應二進位算術寫碼設計來寫碼資料 Download PDF

Info

Publication number
TW201711468A
TW201711468A TW105116832A TW105116832A TW201711468A TW 201711468 A TW201711468 A TW 201711468A TW 105116832 A TW105116832 A TW 105116832A TW 105116832 A TW105116832 A TW 105116832A TW 201711468 A TW201711468 A TW 201711468A
Authority
TW
Taiwan
Prior art keywords
full
text
video
transform
code
Prior art date
Application number
TW105116832A
Other languages
English (en)
Other versions
TWI699110B (zh
Inventor
章立
馬塔 卡茲維克茲
陳建樂
Original Assignee
高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201711468A publication Critical patent/TW201711468A/zh
Application granted granted Critical
Publication of TWI699110B publication Critical patent/TWI699110B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/102Methods 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/124Quantisation
    • 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/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream

Abstract

一種視訊寫碼裝置,其包括經組態以儲存視訊資料之一記憶體,及經組態以處理該所儲存視訊資料之至少一部分的(多個)處理器。該(等)處理器經組態以識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集。該(等)處理器經進一步組態以基於一變換大小與以下各者中之一者或兩者之一組合來判定該CG之一大小:(i)與該變換單元相關聯之一寫碼模式,或(ii)與該變換單元相關聯之一變換矩陣。

Description

使用一全文自適應二進位算術寫碼設計來寫碼資料
本申請案主張2015年5月29日申請之美國臨時申請案第62/168,571號之權益,該申請案之全部內容特此以引用的方式併入本文中。
本發明係關於視訊寫碼。
數位視訊能力可併入至廣泛範圍之裝置中,包含數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄裝置、數位媒體播放器、視訊遊戲裝置、視訊遊戲控制台、蜂巢式或衛星無線電電話、所謂的「智慧型電話」、視訊電話會議裝置、視訊串流裝置及其類似者。數位視訊裝置實施視訊寫碼技術,諸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分「進階視訊寫碼(AVC)」所定義之標準、目前正在開發之高效視訊寫碼(HEVC)標準及此等標準之擴展中所描述的彼等視訊寫碼技術。視訊裝置可藉由實施此類視訊寫碼技術來更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以減 少或移除視訊序列中固有之冗餘。對於基於區塊之視訊寫碼,可將視訊圖塊(例如,視訊圖框或視訊圖框之一部分)分割成視訊區塊(其亦可被稱作樹型區塊)、寫碼單元(CU)及/或寫碼節點。圖像之框內寫碼(I)圖塊中之視訊區塊使用關於同一圖像中之相鄰區塊中之參考樣本之空間預測來編碼。圖像之框間寫碼(P或B)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間或時間預測產生待寫碼之區塊之預測性區塊。殘餘資料表示待寫碼之原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本之區塊的運動向量及指示經寫碼區塊與預測性區塊之間的差異之殘餘資料來編碼經框間寫碼區塊。經框內寫碼區塊係根據框內寫碼模式與殘餘資料來編碼。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而導致殘餘變換係數,可接著量化該等殘餘變換係數。可掃描最初配置成二維陣列之經量化變換係數以便產生變換係數之一維向量,且可應用熵寫碼以達成甚至較多壓縮。
本發明描述與基於區塊之混合式視訊寫碼中之熵寫碼模組有關之實例技術。此等技術可應用於任何現有視訊編解碼器,諸如HEVC(高效率視訊寫碼),或此等技術可為任何未來視訊寫碼標準或其他專用或非專用寫碼技術中之高效寫碼工具。各種態樣係針對基於二進位算術寫碼(BAC)之寫碼裝置之全文模型化及全文初始化增強。本文中描述若干技術,且根據本發明,視訊寫碼裝置可分離或以各種組合實施技術。
在一個實例中,本發明係針對一種用於解碼視訊資料之方法,該方法包括:針對一當前變換係數之一語法元素之一值的複數個位元 子中之每一者,使用一或多個先前已解碼變換係數之該語法元素之值的各別對應位元子來判定全文,其中判定該等全文包含使用一先前已解碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數,且其中使用該先前已解碼變換係數之該語法元素之該值的該對應第i位元子包含僅使用該先前已解碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已解碼變換係數之該語法元素之該值的其他位元子。該方法可進一步包括使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行全文自適應二進位算術寫碼(CABAC)解碼。
在另一實例中,本發明係針對一種用於解碼視訊資料之方法,該方法包括:針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已編碼變換係數之該語法元素之值的各別對應位元子來判定全文,其中判定該等全文包含使用一先前已編碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數,且其中使用該先前已編碼變換係數之該語法元素之該值的該對應第i位元子包含僅使用該先前已編碼變換係數之該語法元素之該值的第i位元子且不使用該先前已編碼變換係數之該語法元素之該值的其他位元子。該方法可進一步包括使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC編碼。
在另一實例中,本發明係針對一種用於對視訊資料進行寫碼之裝置,該裝置包括經組態以儲存視訊資料之一記憶體,及一或多個處理器。該一或多個處理器可經組態以針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已寫碼變換係數之該語法元素之值的各別對應位元子來判定全文,其中為了判定 該等全文,該一或多個處理器經組態以使用一先前已寫碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數,且其中為了使用該先前已寫碼變換係數之該語法元素之該值的該對應第i位元子,該一或多個處理器經組態以僅使用該先前已寫碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已寫碼變換係數之該語法元素之該值的其他位元子。該(該等)處理器可經進一步組態以使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC寫碼。
在另一實例中,本發明係針對一種視訊寫碼設備。該視訊寫碼設備可包括用於針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已寫碼變換係數之該語法元素之值的各別對應位元子來判定全文的構件,其中用於判定該等全文的該構件包含用於使用一先前已寫碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文的構件,其中i包含一非負整數,且其中用於使用該先前已寫碼變換係數之該語法元素之該值的該對應第i位元子的該構件包含用於僅使用該先前已寫碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已寫碼變換係數之該語法元素之該值的其他位元子的構件。該視訊寫碼設備可進一步包括用於使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC寫碼的構件。
在另一實例中,本發明係針對一種編碼有指令之非暫時性電腦可讀儲存媒體。該等指令在執行時可使得一視訊寫碼裝置之一或多個處理器針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已寫碼變換係數之該語法元素之值的各別 對應位元子來判定全文,其中為了判定該等全文,該一或多個處理器經組態以使用一先前已寫碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數,且其中為了使用該先前已寫碼變換係數之該語法元素之該值的該對應第i位元子,該一或多個處理器經組態以僅使用該先前已寫碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已寫碼變換係數之該語法元素之該值的其他位元子。該等指令在執行時可進一步使得該視訊寫碼裝置之該一或多個處理器使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC寫碼。
在另一實例中,本發明係針對一種解碼視訊資料之方法。該方法可包括藉由繼承一先前已解碼圖塊之一先前已解碼區塊之全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,及使用該初始化全文資訊來解碼該當前圖塊之資料。
在另一實例中,本發明係針對一種編碼視訊資料之方法。該方法可包括藉由繼承一先前已編碼圖塊之一先前已編碼區塊之全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,及使用該初始化全文資訊來編碼該當前圖塊之資料。
在另一實例中,本發明係針對一種用於對視訊資料進行寫碼之裝置,該裝置包括經組態以儲存視訊資料之一記憶體,及一或多個處理器。該一或多個處理器可經組態以藉由繼承寫碼該所儲存視訊資料之一先前已寫碼圖塊之一先前已寫碼區塊之後的全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,且使用該初始化全文資訊對該當前圖塊之資料進行寫 碼。
在另一實例中,本發明係針對一種視訊寫碼設備。該視訊寫碼設備可包括用於藉由繼承寫碼一先前已寫碼圖塊之一先前已寫碼區塊之後的全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊的構件,及用於使用該初始化全文資訊對該當前圖塊之資料進行寫碼的構件。
在另一實例中,本發明係針對一種編碼有指令之非暫時性電腦可讀儲存媒體。該等指令在執行時可使得一視訊寫碼裝置之一或多個處理器藉由繼承寫碼一先前已寫碼圖塊之一先前已寫碼區塊之後的全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,及使用該初始化全文資訊對該當前圖塊之資料進行寫碼。
在另一實例中,本發明係針對一種處理視訊資料之方法。該方法可包括識別包括一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集。該方法可進一步包括基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
在另一實例中,本發明係針對一種用於對視訊資料進行寫碼之裝置,該裝置包括經組態以儲存視訊資料之一記憶體,及一或多個處理器。該一或多個處理器可經組態以識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集。該一或多個處理器可經進一步組態以基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
在另一實例中,本發明係針對一種編碼有指令之非暫時性電腦可讀儲存媒體。該等指令在執行時可使得一視訊寫碼裝置之一或多個處理器:識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集;且基於與該變換單元 相關聯之一變換大小來判定該CG之一大小。
在另一實例中,本發明係針對一種用於對視訊資料進行寫碼之設備。該設備可包括用於識別包括一當前變換係數之一係數群組(CG)的構件,該CG表示一變換單元內之變換係數之一子集。該設備可進一步包括用於基於與該變換單元相關聯之一變換大小來判定該CG之一大小的構件。
在另一實例中,本發明係針對一種儲存經編碼視訊位元串流之非暫時性電腦可讀儲存媒體。該位元串流在由一視訊解碼裝置處理時可使得該視訊解碼裝置之一或多個處理器:識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集;且基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
在另一實例中,本發明係針對一種儲存經編碼視訊位元串流之非暫時性電腦可讀儲存媒體。該位元串流在由一視訊解碼裝置處理時可使得該視訊解碼裝置之一或多個處理器藉由繼承寫碼一先前已寫碼圖塊之一先前已寫碼區塊之後的全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,及使用該初始化全文資訊對該當前圖塊之資料進行寫碼。
在另一實例中,本發明係針對一種儲存經編碼視訊位元串流之非暫時性電腦可讀儲存媒體。該位元串流在由一視訊解碼裝置處理時可使得該視訊解碼裝置之一或多個處理器針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已寫碼變換係數之該語法元素之值的各別對應位元子來判定全文,其中為了判定該等全文,該一或多個處理器經組態以使用一先前已寫碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數, 且其中為了使用該先前已寫碼變換係數之該語法元素之該值的該對應第i位元子,該一或多個處理器經組態以僅使用該先前已寫碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已寫碼變換係數之該語法元素之該值的其他位元子。該位元串流在由一視訊解碼裝置處理時可使得視訊解碼裝置之一或多個處理器使用該所判定之全文對該寫碼當前變換係數之該語法元素之該值的該第i位元子進行CABAC。
在隨附圖式及以下描述中闡述本發明之一或多個態樣的細節。本發明中所描述之技術的其他特徵、目標及優點將自描述及圖式且自申請專利範圍顯而易見。
10‧‧‧實例視訊編碼及解碼系統
12‧‧‧源裝置
14‧‧‧目的地裝置
16‧‧‧電腦可讀媒體
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
32‧‧‧顯示裝置
40‧‧‧模式選擇單元
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測單元
48‧‧‧分割單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反變換單元
62‧‧‧求和器
64‧‧‧參考圖像記憶體
70‧‧‧熵解碼單元
72‧‧‧運動補償單元
74‧‧‧框內預測單元
76‧‧‧反量化單元
78‧‧‧反變換單元
80‧‧‧求和器
82‧‧‧參考圖像記憶體
100‧‧‧實例
102‧‧‧實例
118‧‧‧語法元素
120‧‧‧二進位化器
122‧‧‧全文模型化器
124‧‧‧常規寫碼引擎
126‧‧‧旁路寫碼引擎
140‧‧‧本地範本
150‧‧‧基於表之二進位算術寫碼之實例程序
154‧‧‧決策區塊
218‧‧‧位元串流
220‧‧‧全文模型化器
222‧‧‧旁路寫碼引擎
224‧‧‧常規解碼引擎
300‧‧‧實施本發明之全文模型化技術中之一或多者的實例程序
320‧‧‧實施本發明之基於繼承之全文初始化技術中之一或多者之實例程序
330‧‧‧實施本發明之一或多種技術的實例程序
350‧‧‧實施本發明之一或多個係數群組(CG)大小判定技術之實例程序
圖1為說明實例視訊編碼及解碼系統之方塊圖,該系統可利用用於根據增強型全文自適應二進位算術寫碼(CABAC)設計而對資料進行寫碼之技術。
圖2A及圖2B為說明根據二進位算術寫碼(BAC)之範圍更新技術之概念圖。
圖3為展示取決於範圍之BAC輸出之實例的概念圖。
圖4為說明視訊編碼器之實例之方塊圖,該視訊編碼器可實施用於根據增強型CABAC設計對資料進行寫碼之技術。
圖5為根據本發明之技術的可經組態以執行CABAC之實例熵編碼單元之方塊圖。
圖6為說明視訊解碼器之實例之方塊圖,該視訊解碼器可實施用於根據增強型CABAC設計對資料進行寫碼之技術。
圖7為根據本發明之技術的可經組態以執行CABAC之實例熵編碼單元的方塊圖。
圖8為說明基於表之二進位算術寫碼之實例程序的流程圖。
圖9為說明基於殘餘四分樹結構之變換方案的概念圖。
圖10描繪熵解碼單元及/或熵編碼單元可關於本文中所描述之全文模型化技術使用之範本的一個實例。
圖11為說明基於係數群組之實例係數掃描的概念圖。
圖12為說明位元子導出之實例的概念圖。
圖13為說明針對不同明度位元子之在TU內之不同位置之全文索引之範圍的概念圖。
圖14為說明視訊寫碼裝置或其各種組件可執行以實施本發明之全文模型化技術中之一或多者之實例程序的流程圖。
圖15為說明視訊寫碼裝置或其各種組件可執行以實施本發明之基於繼承之全文初始化技術中之一或多者之實例程序的流程圖。
圖16為說明作為視訊解碼程序之部分的視訊寫碼裝置或其各種組件可執行以實施本發明之一或多種技術的實例程序之流程圖。
圖17為說明視訊寫碼裝置或其各種組件可執行以實施本發明之一或多個係數群組(CG)大小判定技術之實例程序的流程圖。
本發明之技術大體上係關於基於區塊之混合視訊寫碼中之熵寫碼。此等技術可應用於任何現有視訊編解碼器,諸如HEVC(高效率視訊寫碼),或此等技術可為任何未來視訊寫碼標準或其他專用或非專用寫碼技術中之高效寫碼工具。出於實例及解釋之目的,大體上關於HEVC(或ITU-T.265)及/或ITU-T H.264描述本發明之技術。
視訊寫碼標準包括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)擴展。
另外,ITU-T視訊寫碼專家組(VCEG)及ISO/IEC運動圖像專家組 (MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)最近已開發出了新視訊寫碼標準,即高效率視訊寫碼(HEVC)或ITU-T H.265,包括其範圍擴展、多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。在下文中被稱作HEVC WD之HEVC草案規範可自phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip獲得。
本發明之技術可克服與CABAC寫碼相關聯之各種問題。詳言之,此等技術包括可單獨或一起使用之增強型CABAC設計及更高效之變換係數全文模型化技術。在熵寫碼中,語法元素之值以二進位形式表示,且每一位元(或「位元子」)使用特定全文寫碼。根據本發明之各種態樣,語法元素之值之位元子集合之全文資訊可使用先前變換係數之語法元素之先前已寫碼值的各別位元子來判定。下文論述額外細節。
圖1為說明實例視訊編碼及解碼系統10之方塊圖,該實例視訊編碼及解碼系統可利用用於根據增強型CABAC設計對資料進行寫碼的技術。如圖1中所展示,系統10包括源裝置12,其提供稍後時間將由目的地裝置14解碼的經編碼視訊資料。詳言之,源裝置12經由電腦可讀媒體16將視訊資料提供至目的地裝置14。源裝置12及目的地裝置14可包含廣泛範圍之裝置中的任一者,包括桌上型電腦、筆記型(即,膝上型)電腦、平板電腦、機上盒、電話手持機(諸如所謂的「智慧型」電話)、所謂「智慧型」平板電腦、電視機、攝影機、顯示裝置、數位媒體播放器、視訊遊戲控制台、視訊串流裝置或類似者。在一些狀況下,源裝置12及目的地裝置14可能經裝備以用於無線通信。
目的地裝置14可經由電腦可讀媒體16接收待解碼之經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源裝置12移動至目的地裝置14的任一類型之媒體或裝置。在一個實例中,電腦可讀 媒體16可包含通信媒體以使源裝置12能夠即時地將經編碼視訊資料直接傳輸至目的地裝置14。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將該資料傳輸至目的地裝置14。通信媒體可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路,或諸如網際網路之全球網路)的一部分。通信媒體可包括路由器、交換器、基地台或可適用於有助於自源裝置12至目的地裝置14之通信之任何其他設備。
在一些實例中,經編碼資料可自輸出介面22輸出至儲存裝置。類似地,可由輸入介面自儲存裝置存取經編碼資料。儲存裝置可包括多種分散式或本端存取之資料儲存媒體中之任一者,諸如,硬碟機、Blu-ray碟片、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適數位儲存媒體。在再一實例中,儲存裝置可對應於檔案伺服器或可儲存由源裝置12產生之經編碼視訊的另一中間儲存裝置。目的地裝置14可經由串流或下載自儲存裝置存取所儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地裝置14之任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附加儲存(NAS)裝置或本端磁碟機。目的地裝置14可經由任何標準資料連接(包括網際網路連接)而存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者之結合。自儲存裝置的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有 線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP之動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存在資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用的應用。
在圖1之實例中,源裝置12包括視訊源18、視訊編碼器20及輸出介面22。目的地裝置14包括輸入介面28、視訊解碼器30及顯示裝置32。根據本發明,源裝置12之視訊編碼器20可經組態以應用用於根據增強型CABAC設計對資料進行寫碼的技術。在其他實例中,源裝置及目的地裝置可包括其他組件或配置。舉例而言,源裝置12可自外部視訊源18(諸如外部攝影機)接收視訊資料。同樣地,目的地裝置14可與外部顯示裝置介接,而非包括整合式顯示裝置。
圖1之所說明系統10僅為一個實例。可由任何數位視訊編碼及/或解碼裝置執行用於根據增強型CABAC設計對資料進行寫碼之技術。儘管本發明之技術一般由視訊編碼裝置執行,但該等技術亦可由通常被稱作「編碼解碼器」之視訊編碼器/解碼器執行。此外,本發明之技術亦可由視訊預處理器執行。源裝置12及目的地裝置14僅為源裝置12產生經寫碼視訊資料用於傳輸至目的地裝置14的此等寫碼裝置之實例。在一些實例中,裝置12、14可以大體上對稱之方式操作,使得裝置12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊裝置12、14之間的單向或雙向視訊傳輸用於(例如)視訊串流、視訊播放、視訊廣播或視訊電話。
源裝置12之視訊源18可包括視訊俘獲裝置,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊的視訊饋送介面。作為另一替代例,視訊源18可產生基於電腦圖形之資料作為源視訊、或實況視訊、存檔視訊及電腦產生之視訊的組 合。在一些狀況下,若視訊源18為視訊攝影機,則源裝置12及目的地裝置14可形成所謂的攝影機電話或視訊電話。然而,如上文所提及,本發明中所描述之技術一般可適用於視訊寫碼,且可應用於無線及/或有線應用。在每一狀況下,所俘獲、預先俘獲或電腦產生之視訊可由視訊編碼器20編碼。經編碼視訊資訊可接著由輸出介面22輸出至電腦可讀媒體16上。
電腦可讀媒體16可包括瞬時媒體,諸如,無線廣播或有線網路傳輸,或儲存媒體(亦即,非暫時性儲存媒體),諸如,硬碟、隨身碟、緊密光碟、數位影音光碟、Blu-ray光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未圖示)可自源裝置12接收經編碼視訊資料,且(例如)經由網路傳輸將經編碼視訊資料提供至目的地裝置14。類似地,媒體產生設施(諸如光碟衝壓設施)之計算裝置可自源裝置12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可理解為包括各種形式之一或多個電腦可讀媒體。
目的地裝置14之輸入介面28自電腦可讀媒體16接收資訊。電腦可讀媒體16之資訊可包括由視訊編碼器20定義之語法資訊,該語法資訊亦供視訊解碼器30使用,包括描述區塊及其他經寫碼單元(例如,GOP)之特性及/或處理的語法元素。顯示裝置32將經解碼視訊資料顯示給使用者,且可包含多種顯示裝置中之任一者,諸如,陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示裝置。
視訊編碼器20及視訊解碼器30可根據諸如亦被稱作ITU-T H.265之高效率視訊寫碼(HEVC)標準的視訊寫碼標準操作。替代地,視訊編碼器20及視訊解碼器30可根據其他專有或行業標準(諸如,ITU-T H.264標準,替代地被稱作MPEG-4,第10部分,進階視訊寫碼(AVC)) 或此類標準之擴展標準而操作。然而,本發明之技術不限於任何特定寫碼標準。視訊寫碼標準之其他實例包括MPEG-2及ITU-T H.263。儘管在圖1中未展示,但一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30各自可實施為多種合適的編碼器電路中之任一者,諸如,一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當該等技術部分以軟體實施時,裝置可將用於軟體之指令儲存於合適之非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器執行指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別裝置中的組合式編碼器/解碼器(編碼解碼器)之部分。
一般而言,根據ITU-T H.265,視訊圖框或圖像可被劃分成包括明度樣本及色度樣本兩者之樹形區塊或最大寫碼單元(LCU)的序列。位元串流內之語法資料可定義LCU之大小,LCU就像素之數目而言為最大寫碼單元。圖塊包括按寫碼次序之許多連續樹型區塊。視訊圖框或圖像可分割成一或多個圖塊。每一樹型區塊可根據四分樹而分裂成若干寫碼單元(CU)。一般而言,四分樹資料結構每CU包括一個節點,其中根節點對應於樹型區塊。若CU分裂成四個子CU,則對應於該CU之節點包括四個葉節點,該四個葉節點中之每一者對應於該等子CU中之一者。
該四分樹資料結構中之每一節點可提供針對對應CU之語法資 料。舉例而言,該四分樹中之節點可包括分裂旗標,從而指示對應於該節點之CU是否分裂成子CU。針對CU之語法元素可經遞迴地定義,且可取決於該CU是否分裂成子CU。若CU未經進一步分裂,則其被稱作葉CU。在本發明中,即使不存在原始葉CU之明顯分裂,葉CU之四個子CU亦將被稱作葉CU。舉例而言,若16×16大小之CU未進一步分裂,則四個8×8子CU亦將被稱作葉CU,儘管該16×16CU從未分裂。
除CU不具有大小區別外,CU具有與H.264標準之巨集區塊類似的用途。舉例而言,可將樹型區塊分裂成四個子節點(亦稱作子CU),且每一子節點又可為父代節點且可被分裂成另外四個子節點。被稱作四分樹之葉節點之最終的未分裂子節點包含亦被稱作葉CU之寫碼節點。與經寫碼位元串流相關聯之語法資料可界定可分裂樹型區塊之最大次數(其被稱作最大CU深度),且亦可界定該等寫碼節點之最小大小。因此,位元串流亦可界定最小寫碼單元(SCU)。本發明使用術語「區塊」以指HEVC之全文中之CU、預測單元(PU)或變換單元(TU)中之任一者,或指在其他標準之全文中的類似資料結構(例如,H.264/AVC中之巨集區塊及其子區塊)。
CU包括寫碼節點以及與該寫碼節點相關聯之預測單元(PU)及變換單元(TU)。CU之大小對應於寫碼節點之大小,且形狀通常為正方形。CU之大小範圍可為8×8像素達至最大大小為例如64×64像素或大於64×64像素的樹型區塊之大小。每一CU可含有一或多個PU及一或多個TU。與CU相關聯之語法資料可描述(例如)CU至一或多個PU之分割。分割模式可在CU經跳過或經直接模式編碼、經框內預測模式編碼抑或經框間預測模式編碼之間不同。PU可經分割成非正方形形狀。與CU相關聯之語法資料亦可描述(例如)CU根據四分樹至一或多個TU之分割。TU形狀可為正方形或非正方形(例如,矩形)。
HEVC標準允許根據TU進行變換,該等變換對於不同CU可不 同。通常基於針對經分割LCU所定義之給定CU內的PU之大小來對TU設定大小,但可並非總是此狀況。TU的大小通常與PU相同或比PU小。在一些實例中,可使用被稱為「殘餘四分樹」(RQT)之四分樹結構而將對應於CU之殘餘樣本再分為較小單元。可將RQT之葉節點稱作變換單元(TU)。與TU相關聯之像素差值可經變換以產生可加以量化之變換係數。
葉CU可包括一或多個預測單元(PU)。大體而言,PU表示對應於該對應的CU之全部或一部分之空間區域,且PU可包括用於對於PU擷取及/或產生參考樣本的資料。此外,PU包括與預測有關之資料。舉例而言,當PU經框內模式編碼時,PU之資料可包括於殘餘四分樹(RQT)中,該RQT可包括描述用於對應於該PU之TU的框內預測模式的資料。RQT亦可被稱作變換樹。在一些實例中,可在葉CU語法而非RQT中傳信框內預測模式。作為另一實例,當PU經框間模式編碼時,PU可包括界定PU之運動資訊(諸如一或多個運動向量)的資料。界定PU之運動向量之資料可描述(例如)運動向量之水平分量、運動向量之垂直分量、運動向量之解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量指向的參考圖像,及/或運動向量之參考圖像清單(例如,清單0、清單1或清單C)。
具有一或多個PU之葉CU亦可包括一或多個變換單元(TU)。如上文所論述,可使用RQT(亦稱作TU四分樹結構)來指定該等變換單元。舉例而言,分裂旗標可指示葉CU是否分裂成四個變換單元。接著,可將每一變換單元進一步分裂為進一步之子TU。當TU未進一步分裂時,可將其稱作葉TU。大體而言,對於框內寫碼,屬於葉CU之所有葉TU共用相同之框內預測模式。即,通常應用相同框內預測模式來計算葉CU之所有TU之預測值。對於框內寫碼,視訊編碼器可使用框內預測模式將每一葉TU之殘餘值計算為CU之對應於該TU的部分與原 始區塊之間的差。TU不必限於PU之大小。因此,TU可大於或小於PU。對於框內寫碼,PU可與用於同一CU之對應葉TU共置。在一些實例中,葉TU之最大大小可對應於對應葉CU之大小。
此外,葉CU之TU亦可與各別四分樹資料結構(稱作殘餘四分樹(RQT))相關聯。即,葉CU可包括指示該葉CU如何被分割成TU之四分樹。TU四分樹之根節點大體對應於葉CU,而CU四分樹之根節點大體對應於樹型區塊(或LCU)。將RQT之未被分裂的TU稱作葉TU。一般而言,除非另有指示,否則本發明分別使用術語CU及TU來指葉CU及葉TU。
視訊序列通常包括視訊圖框或圖像系列。圖像群組(GOP)大體上包含一系列一或多個視訊圖像。GOP可包括描述包括於GOP中之圖像之數目的語法資料於GOP之標頭、圖像中之一或多者之標頭中或別處。圖像之每一圖塊可包括描述該各別圖塊之編碼模式的圖塊語法資料。視訊編碼器20通常對個別視訊圖塊內之視訊區塊進行操作,以便編碼視訊資料。視訊區塊可對應於CU內之寫碼節點。視訊區塊可具有固定或變化之大小,且可根據指定寫碼標準而大小不同。
作為一實例,可針對各種大小之PU執行預測。假定特定CU之大小為2N×2N,則可在2N×2N或N×N之PU大小上執行框內預測,且在2N×2N、2N×N、N×2N或N×N之對稱PU大小上執行框間預測。亦可針對2N×nU、2N×nD、nL×2N及rR×2N的PU大小執行幀間預測之不對稱分割。在不對稱分割中,CU之一個方向未經分割,而另一方向分割成25%及75%。CU之對應於25%分割之部分由「n」繼之以「上(Up)」、「下(Down)」、「左(Left)」或「右(Right)」之指示來指示。因此,舉例而言,「2N×nU」指水平方向上以頂部之2N×0.5N PU及底部之2N×1.5N PU分割之2N×2N CU。
在本發明中,「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。
在使用CU之PU進行框內預測性或框間預測性寫碼之後,視訊編碼器20可計算CU之TU的殘餘資料。PU可包含描述在空間域(亦被稱作像素域)中產生預測性像素資料之方法或模式的語法資料,且TU可包含在對殘餘視訊資料應用變換(例如離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換)之後變換域中的係數。該殘餘資料可對應於未經編碼之圖像之像素與對應於PU之預測值之間的像素差。視訊編碼器20可形成TU以包括表示CU之殘餘資料的經量化變換係數。即,視訊編碼器20可計算殘餘資料(以殘餘區塊之形式)、變換殘餘區塊以產生變換係數之區塊,且接著量化變換係數以形成經量化變換係數。視訊編碼器20可形成包括經量化變換係數之TU,以及其他語法資訊(例如,TU之分裂資訊)。
如上文所提,在任何變換以產生變換係數後,視訊編碼器20可執行變換係數之量化。量化通常指變換係數經量化以可能減少用以表示變換係數的資料之量從而提供進一步壓縮之程序。量化程序可減少與一些或所有係數相關聯之位元深度。舉例而言,可在量化期間將n位元值降值捨位至m位元值,其中n大於m
在量化之後,視訊編碼器可掃描該等變換係數,從而自包括該等量化變換係數之二維矩陣產生一維向量。該掃描可經設計以將較高能量(且因此較低頻率)係數置於陣列前部,且將較低能量(且因此較高 頻率)係數置於陣列後部。在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描經量化之變換係數以產生可經熵編碼的串行化向量。在其他實例中,視訊編碼器20可執行自適應掃描。在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據描述於本發明中之增強型全文自適應二進位算術寫碼(CABAC)設計來熵編碼一維向量。視訊編碼器20亦可熵編碼與經編碼視訊資料相關聯之語法元素以供視訊解碼器30用於解碼視訊資料中。
大體而言,視訊解碼器30執行儘管與由視訊編碼器20執行之程序互逆但與其大體上類似的程序,以解碼經編碼資料。舉例而言,視訊解碼器30反量化且反變換所接收TU之係數以再生殘餘區塊。視訊解碼器30使用傳信預測模式(框內預測或框間預測)以形成預測區塊。接著,視訊解碼器30(在逐像素基礎上)使預測區塊與殘餘區塊組合以再生原始區塊。可執行額外處理,諸如執行解區塊程序以減少沿區塊邊界之視覺假影。另外,視訊解碼器30可以儘管與視訊編碼器20之CABAC編碼程序互逆但與其大體上類似之方式使用CABAC來解碼語法元素。
根據本發明之技術,視訊編碼器20及視訊解碼器30可經組態以根據增強型CABAC設計來對資料進行寫碼。下文論述可單獨或以任何組合應用之某些技術。本發明可大體上指視訊編碼器20將某些資訊「傳訊」至諸如視訊解碼器30之另一裝置。然而,應理解,視訊編碼器20可藉由將某些語法元素與視訊資料之各種經編碼部分相關聯來傳訊資訊。即,視訊編碼器20可藉由將某些語法元素儲存至視訊資料之各種經編碼部分的標頭來「傳訊」資料。在一些狀況下,此等語法元素可在由視訊解碼器30接收及解碼之前經編碼及儲存。因此,術語「傳訊」可大體上指用於解碼經壓縮視訊資料之語法或其他資料的傳達,而不管此傳達是即時抑或幾乎即時發生抑或歷時一時間跨度而發 生,諸如,可能在編碼時在將語法元素儲存至媒體時發生傳訊,接著可由解碼裝置在將語法元素儲存至此媒體之後的任何時間擷取語法元素。
以下段落更詳細地描述BAC及CABAC技術。大體而言,BAC為遞歸區間再分程序。BAC在H.264/AVC及H.265/HEVC視訊寫碼標準中之CABAC程序中用於編碼位元子。BAC寫碼器之輸出為表示最終經寫碼機率區間內之機率的值或指標之二進位串流。機率區間係由範圍及下端值指定。範圍為機率區間之擴展。「低點」為寫碼區間的下界限。
將算術寫碼應用於視訊寫碼係描述於D.Marpe、H.Schwarz及T.Wiegand之「Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard」(用於視訊技術之電路及系統,IEEE會報,2003年7月,第7期,第13卷)中。CABAC涉及三個主要功能,即,二進位化、全文模型化及算術寫碼。二進位化指將語法元素映射至二進位符號(或「位元子」)之功能。二進位符號亦可被稱作「位元子串」。全文模型化指估計各種位元子之機率的功能。算術寫碼指基於所估計機率將位元子壓縮至位元之後續功能。各種裝置及/或其模組(諸如,二進位算術寫碼器)可執行算術寫碼功能。
在HEVC中使用若干不同二進位化程序,包括一元(U)、截斷一元(TU)、k級(kth-order)指數哥倫布(EGk)及固定長度(FL)程序。各種二進位化程序之細節描述於V.Sze及M.Budagavi之「High throughput CABAC entropy coding in HEVC」(關於用於視訊技術之電路及系統之IEEE會報(TCSVT),2012年12月,第12期,第22卷,第1778至1791頁)中。
CABAC中之每一全文(亦即,機率模型)由狀態及最大可能符號(MPS)值來表示。每一狀態(σ)隱含地表示特定符號(例如,位元子)為 最不可能符號(LPS)的機率(pσ)。符號可為LPS或最可能符號(MPS)。符號為二進位符號,且因此,MPS及LPS可為0或1。機率針對對應全文經估計且(隱含地)用以使用算術寫碼器來對符號熵寫碼。
BAC之程序由取決於待寫碼之全文及正經寫碼之位元子之值改變其內部值「範圍」及「低點」的狀態機處理。取決於全文之狀態(亦即,其機率),將範圍劃分為rangeMPS σ (stateσ中最大可能符號之範圍)及rangeLPS σ (stateσ中最不可能符號之範圍)。理論上,機率stateσrangeLPS σ 值由乘法導出:rangeLPS σ =range×p σ ,其中p σ 為選擇LPS之機率。當然,MPS之機率為1-p σ 。等效地,rangeMPS σ 等於範圍減去rangeLPS σ 。BAC取決於待寫碼之全文位元子之狀態、當前範圍、正經寫碼之位元子(亦即,等於LPS或MPS之位元子)之值反覆地更新範圍。
視訊編碼器20可(例如)在圖框標頭、區塊標頭、圖塊標頭或GOP標頭中進一步將語法資料(諸如,基於區塊之語法資料、基於圖框之語法資料,及基於GOP之語法資料)發送至視訊解碼器30。GOP語法資料可描述各別GOP中之圖框數目,且圖框語法資料可指示用以編碼對應圖框之編碼/預測模式。
視訊編碼器20及視訊解碼器30在適用時各自可經實施為多種合適之編碼器或解碼器電路系統中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特定應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯電路、軟體、硬體、韌體或其任何組合。視訊編碼器20及視訊解碼器30中之每一者可包括在一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式編碼器/解碼器(CODEC)之部分。包括視訊編碼器20及/或視訊解碼器30之裝置可包含積體電路、微處理器及/或無線通信裝置(諸如蜂巢式電話)。
圖2A及圖2B為說明根據BAC之範圍更新技術之概念圖。圖2A及圖2B展示此程序在位元子n處之實例。在圖2A之實例100中,在位元子n處,在給出某全文狀態(σ)情況下,位元子2處之範圍包括由LPS之機率(p σ )給出的RangeMPS及RangeLPS。實例100展示當位元子n之值等於MPS時在位元子n+1處之範圍的更新。在此實例中,低點保持相同,但位元子n+1處之範圍的值減少至位元子n處之RangeMPS的值。圖2B之實例102展示當位元子n之值不等於MPS(亦即,等於LPS)時位元子n+1處之範圍的更新。在此實例中,低點移動至位元子n處之RangeLPS的較低範圍值。另外,位元子n+1處之範圍之值減少至位元子n處的RangeLPS之值。
在HEVC中,藉由9個位元表達範圍且藉由10個位元表達低點。存在以足夠精度維持範圍及低點值之再正規化程序。每當範圍小於256時,再正規化發生。因此,範圍在再正規化之後始終等於或大於256。取決於範圍及低點之值,BAC將「0」或「1」輸出至位元串流,或更新內部變數(被稱作BO:突出位元)以保留用於未來輸出。
圖3為展示取決於範圍之BAC輸出之實例的概念圖。舉例而言,當範圍及低點高於某臨限值(例如,512)時,將「1」輸出至位元串流。當範圍及低點低於某臨限值(例如,512)時,將「0」輸出至位元串流。當範圍及低點在某些臨限值之間時,不輸出任何值至位元串流。替代地,遞增BO值且編碼下一位元子。
在HEVC之CABAC全文模型中,存在128種狀態。存在可自0至63之64種可能的LPS機率(由狀態σ表示)。每一MPS可為零或一。因此,128種狀態為64個狀態機率乘以MPS之2個可能值(0或1)。因此,可將機率模型儲存為7位元條目。在每一7位元條目中,可分配6個位元以用於表示機率狀態,且可分配1個位元以用於適用全文記憶體中之最大可能符號(MPS)。
為減少導出LPS範圍(rangeLPS σ )之計算,針對所有狀況之結果經預先計算且儲存為HEVC中之查找表中的近似值。因此,可在無任何乘法之情況下藉由使用簡單表查找來獲得LPS範圍。對於一些裝置或應用而言避免乘法可為至關重要的,此係由於此運算可引起許多硬體架構中之顯著潛時。
可使用4行預先計算之LPS範圍表而非乘法運算。將範圍劃分為四個片段。可由問題(range>>6)&3導出片段索引。實際上,片段索引係藉由自實際範圍移位及丟棄位元來導出。以下表1展示可能範圍及其對應索引。
LPS範圍表接著具有64個條目(一個條目用於每一機率狀態)乘以4(一個用於每一範圍索引)。每一條目為範圍LPS,即,將範圍乘以LPS機率之值。以下表2中展示此表之部分的實例。表2描繪機率狀態9至12。在HEVC之一個提議中,機率狀態範圍可為0至63。
在每一片段(亦即,範圍值)中,每一機率狀態σ之LPS範圍為預定義的。換言之,機率狀態σ之LPS範圍經量化為四個值(亦即,一個值用於每一範圍索引)。在給定點處使用之特定LPS範圍取決於範圍屬於哪一片段。表中所使用之可能的LPS範圍之數目為表行數(亦即,可能的LPS範圍值之數目)與LPS範圍精度之間的折衷。大體而言,更多行 產生LPS範圍值之更少量化錯誤,且亦增加對用以儲存表之更多記憶體的需求。更少行增加量化錯誤,且亦減少儲存表所需要之記憶體。
如上文所述,每一LPS機率狀態具有對應機率。在HEVC中,64個代表性機率值p σ [0.01875,0.5]根據以下方程式(1)針對LPS(最不可能符號)導出,方程式(1)為遞歸方程式。
p σ =α*p σ-1,對於所有σ=1,...,63 (1) 其中
在以上實例中,所選定之縮放因數α 0.9492及機率集合之基數N=64兩者表示機率表示之準確度與對快速自適應之需要之間的良好折衷。在一些實例中,更逼近1之α值可產生具有較高準確度(「穩態狀態行為」)之緩慢自適應,而針對降低α值情況下之非固定狀況以經減少之準確度為代價實現更快速自適應。縮放因數α可對應於指示先前經編碼位元子之數目的窗口大小,該等先前經編碼位元子對當前更新具有顯著影響。MPS(最大可能符號)之機率等於1減去LPS(最不可能符號)之機率。換言之,可由公式(1-LPS)表示MPS之機率,其中「LPS」表示LPS之機率。因此,可由HEVC中之CABAC表示之機率範圍為[0.01875,0.98125(=1-0.01875)]。
由於用於對語法元素之值之位元(或「位元子」)寫碼的全文模型之機率狀態經更新以便遵循信號統計(亦即,先前已寫碼位元子之值,例如,對於語法元素而言),所以CABAC為自適應的。更新程序係如下。對於給定機率狀態,更新取決於狀態索引及經識別為LPS或MPS之經編碼符號的值。作為更新程序之結果,新的機率狀態經導出,其包括潛在經修改LPS機率估計及(必要時)經修改之MPS值。
全文切換可出現在寫碼每一位元子之後。倘若位元子值等於MPS,則給定狀態索引僅遞增1。此情形係針對除當MPS出現在狀態索引62處時之外的所有狀態,其中LPS機率已處於其最小值(或等效 地,達至最大MPS機率)。在此狀況下,狀態索引保持固定,直至LPS可見或最末位元子值經編碼(將特殊結束狀態用於最末位元子值之特殊狀況)。當LPS出現時,藉由以某量遞減狀態索引來改變狀態索引,如以下方程式中所展示。大體而言,此規則應用於具有以下例外之LPS的每一出現。假定已在具有索引σ=0之狀態處編碼LPS,該索引對應於等機率狀況,則狀態索引保持固定,但將切換MPS值使得LPS及MPS之值將被互換。在所有其他狀況下,不管哪一符號已經編碼,MPS值將不被變更。一般而言,視訊寫碼器可根據以下方程式(2)導出新機率狀態,該方程式(2)展示給定LPS機率p old 與其經更新對應機率p new 之間的關係。
為減少複雜度,視訊寫碼器可實施CABAC,使得可藉由各自具有多個條目之至多兩個表實現所有轉變規則。作為一個實例,可藉由各自具有7位元無正負號整數值之128個條目的至多兩個表(例如,以下表3及表4)實現所有轉變規則。作為另一實例,可藉由各自具有6位元無正負號整數值之63條目的至多兩個表(例如,HEVC中之表9-41)實現所有轉變規則。給定狀態索引i,在更新之後,視訊寫碼器可在MPS值經寫碼時定義為新的狀態索引TransIdxMPS[i],或在LPS值經寫碼時定義為TransIdxLPS[i]。
在一些實例中,視訊寫碼器可藉由單一表TransIdxLPS判定狀態轉變,該表在已觀測到LPS之狀況下針對給定狀態索引σ判定新的經更新狀態索引TransIdxLPS[σ]。可藉由使狀態索引僅(飽和)遞增固定值1獲得MPS驅動轉變,從而導致經更新狀態索引min(σ+1,62)。
如上文所論述,全文模型化提供準確機率估計,該估計為用於達成較高寫碼效率之促進因子。因此,全文模型化為自適應程序。不同全文模型可用於不同位元子,且全文模型之機率可基於先前已寫碼位元子的值來更新。具有類似分佈之位元子常常共用同一全文模型。可基於語法元素類型、語法元素中之位元子位置(binIdx)、明度/色度資訊,相鄰資訊等選擇每一位元子之全文模型。
在對給定圖塊寫碼之前,基於一或多個預定義值初始化機率模型。舉例而言,給定由qp指明之輸入量化參數及由initVal指明之預定義值,可根據以下方程式(3)導出機率模型(由狀態及MPS表示)之7位元條目。
qp=Clip3(0,51,qp);斜率=(initVal>>4)*5-45;偏移=((initVal &15)<<3)-16;initState=min(max(1,(((slope * qp)>>4)+offset)),126);MPS=(initState>=64);狀態索引=((mpState?(initState-64):(63-initState))<<1)+MPS; (3) 經導出狀態索引隱含地包括MPS資訊。更具體而言,當狀態索引為偶數(even)值時,MPS值等於0。相反地,當狀態索引為奇數(odd) 值時,MPS值等於1。「initVal」之值在8位元精度情況下在範圍[0,255]內。預定義值「initVal」為取決於圖塊的。換言之,使用機率模型之三組全文初始化參數,每一組分別在I圖塊、P圖塊及B圖塊中。以此方式,經組態以執行CABAC之視訊編碼裝置經啟用以在三個初始化表之間選擇此等圖塊類型,使得可達成對不同寫碼情境及/或不同類型之視訊內容的更佳擬合。
根據HEVC,另一工具可經應用以允許藉由B(或P)圖塊初始化一個P(或B)圖塊。舉例而言,工具可經應用以允許一個P圖塊藉由針對B圖塊所儲存之全文初始化參數集合來初始化。相反,工具可經應用以允許一個B圖塊藉由針對P圖塊儲存之全文初始化參數集合來初始化。相關語法元素描述於以下表5(其對應於HEVC之章節7.3.6.1)中,且相關語義及解碼程序在表5之後的下文中描述。
表5之語法元素的語義可定義如下:
cabac_init_present_flag等於1指定cabac_init_flag存在於提及PPS之圖塊標頭中。eabac_init_present_flag等於0指定cabac_init_flag不 存在於提及PPS之圖塊標頭中。
如下文描述之解碼程序中所定義,cabac_init_flag指定用於判定全文變數之初始化程序中所使用之初始化表的方法。當cabac_init_flag不存在時,推斷其為等於0。
描述符:
ae(v):經全文自適應算術熵寫碼之語法元素。
b(8):具有位元串(8個位元)之任何型樣的位元組。
f(n):使用n個位元撰寫(自左至右)之固定型樣位元串,其中首先為左方位元。
se(v):帶正負號整數0階指數哥倫布寫碼語法元素,其中首先為左方位元。
u(n):使用n個位元之無正負號整數。當n為語法表中之「v」時,位元數目以取決於其他語法元素之值的方式發生變化。
ue(v):無正負號整數0階指數哥倫布寫碼語法元素,其中首先為左方位元。
HEVC之表9-4列出針對三種初始化類型中之每一者需要初始化的全文索引(ctxIdx)。每一ctxIdx由對應於initType變數之變數指定於HEVC表9-4中。HEVC表9-4亦列出表號,該表號包括初始化所需之initValue之值中的每一者。對於P及B圖塊類型,initType之導出取決於cabac_init_flag語法元素之值。視訊寫碼器可使用由以下偽碼描述之操作來導出變數initType:若(slice_type==I) initType=0 否則若(slice_type==P) initType=cabac_init_flag?2:1 否則 initType=cabac_init_flag?1:2
諸如HEVC相容視訊解碼器之視訊寫碼裝置可於各種階段更新全文模型之機率狀態。對於給定機率狀態,更新取決於狀態索引及經識別為LPS或MPS之經編碼符號的值。藉由實施更新程序,視訊寫碼裝置導出對應全文模型之新機率狀態。新機率狀態可由經潛在地修改之LPS機率估計以及經修改MPS值(若適用)組成。LPS機率之轉變規則之導出係基於給定LPS機率p old 與LPS機率之經更新對應機率p new 之間的以下關係:
為了減小複雜度,視訊寫碼裝置可以一方式實施CABAC,使得所有轉變規則可使用至多兩個表來實現,其中每一表具有7位元無正負號整數值的128個條目。在給定狀態索引「i」情況下,視訊寫碼裝置可在更新之後在MPS值經寫碼時將新狀態索引定義為TransIdxMPS[i],或在LPS值經寫碼時定義為TransIdxLPS[i]。TransIdxMPS表及TransIdxLPS表說明如下。
};
算術寫碼是基於遞歸區間劃分。在習知算術寫碼中,具有為0至1之初始值的範圍基於位元子之機率被劃分成兩個子區間。經編碼位元提供偏移,該偏移在經轉換為二進位分率時提供對兩個子區間中之一者的選擇。所選定子區間指示經解碼位元子之值。在每一經解碼位元子之後,視訊解碼器可更新範圍以等於所選定子區間。又,視訊解碼器可重複區間劃分程序以實施區間劃分為遞歸程序。範圍及偏移具有有限之位元精確度,且因此視訊解碼器可在範圍降低至某值(例如,預定值)以下時實施再正規化以防止下溢。視訊解碼器可在每一位元子經解碼之後執行再正規化。
視訊寫碼裝置可基於以各種方式獲得之機率資訊而執行算術寫碼。根據算術寫碼之「常規寫碼模式」,視訊寫碼裝置可使用所估計機率。在根據常規寫碼模式之算術寫碼狀況下,位元子串據稱為經全文寫碼。根據算術寫碼之「旁路模式」,視訊寫碼裝置可使用0.5之假定相等機率。在根據旁路模式之算術寫碼狀況下,位元子串據稱為經旁路寫碼。對於經旁路寫碼位元子,視訊寫碼裝置可使用移位將範圍劃分成子區間。對比而言,在經全文寫碼位元子狀況下,視訊寫碼裝置可使用查找表來劃分範圍。根據HEVC之算術寫碼與根據H.264/AVC之算術寫碼相同。根據HEVC及H.264/AVC,視訊寫碼裝置可使用基於表之二進位算術寫碼,且針對算術寫碼之常規寫碼模式的流關於附圖在以下段落中進一步詳細地描述。
視訊編碼器20及視訊解碼器30(其任一者或兩者在本發明之各種部分處通常被稱作「視訊寫碼器」)可藉由本發明之用於變換係數資料之全文模型化的技術來組態。假定一個變換係數由其量值及正負號旗標表示,則量值在二進位化之後由具有自0至M(M為正整數)之位元子索引的位元子串來指明。本發明之各種CABAC增強下文關於視訊 編碼器20、視訊解碼器30及/或其一或多個組件來描述。應瞭解,本發明之各種技術可彼此單獨或以任何組合及/或藉由本文中所描述之任何其他技術來實施。
本發明認識到,如上文所論述之各種現有CABAC技術可遭遇某些問題。舉例而言,HEVC中之全文模型化方法具體針對不大於64×64之CTU來設計。當使用較大CTU(例如,128×128、256×256或甚至更大)時,直接重新使用當前全文模型化方法可為較低效的,及/或導致剖析問題。作為另一實例,儘管改變所提議之JCTVC-H0228(其在下文關於圖12進一步詳細地論述)可潛在地提供更好之寫碼效能,但多遍次寫碼由單一遍次寫碼之替代對於並行化為有害的,且不同全文模型化集合之切換減低輸貫量。作為另一實例,自預定義初始化值導出之初始化機率為圖塊類型相依的。然而,一個圖塊類型之固定初始化機率可能並非基於經寫碼資訊之統計為自適應的,其約束CABAC之寫碼效能。
圖4為說明視訊編碼器20之實例之方塊圖,該視訊編碼器可實施用於根據增強型CABAC設計對資料進行寫碼之技術。視訊編碼器20可執行視訊圖塊內之視訊區塊之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減少或移除給定視訊圖框或圖像內之視訊中的空間冗餘。框間寫碼依賴於時間預測以減少或移除視訊序列之相鄰圖框或圖像內之視訊中之時間冗餘。框內模式(I模式)可指若干基於空間之寫碼模式中之任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指若干基於時間之寫碼模式中的任一者。
如圖4中所示,視訊編碼器20接收待編碼之視訊圖框內之當前視訊區塊。在圖4之實例中,視訊編碼器20包括模式選擇單元40、參考圖像記憶體64(其亦可被稱作經解碼圖像緩衝器(DPB))、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40又包 括運動補償單元44、運動估計單元42、框內預測單元46及分割單元48。為了視訊區塊重建,視訊編碼器20亦包括反量化單元58、反變換單元60及求和器62。亦可包括解塊濾波器(圖4中未展示)以對區塊邊界濾波以自重建之視訊移除方塊效應假影。若需要,則解塊濾波器將通常對求和器62之輸出濾波。除瞭解塊濾波器外,亦可使用額外濾波器(迴路中或迴路後)。為簡潔起見未展示此等濾波器,但若需要,此等濾波器可對求和器50之輸出濾波(作為迴路內濾波器)。
在編碼程序期間,視訊編碼器20接收待寫碼之視訊圖框或圖塊。可將該圖框或圖塊劃分成多個視訊區塊。運動估計單元42及運動補償單元44執行所接收視訊區塊相對於一或多個參考圖框中之一或多個區塊的框間預測性編碼以提供時間預測。框內預測單元46可替代地執行所接收視訊區塊相對於與待寫碼區塊相同之圖框或圖塊中之一或多個鄰近區塊的框內預測性編碼以提供空間預測。視訊編碼器20可執行多個寫碼遍次,(例如)以選擇用於視訊資料之每一區塊的適當寫碼模式。
此外,分割單元48可基於對先前已寫碼遍次中之先前分割方案的評估而將視訊資料之區塊分割為子區塊。舉例而言,分割單元48可初始地將一圖框或圖塊分割成多個LCU,且基於位元率-失真分析(例如,位元率-失真最佳化)來將該等LCU中之每一者分割成子CU。模式選擇單元40可進一步產生指示將LCU分割為子CU之四分樹資料結構。四分樹之葉節點CU可包括一或多個PU及一或多個TU。
模式選擇單元40可(例如)基於錯誤結果選擇預測模式(框內或框間)中之一者,且將所得預測區塊提供至求和器50以產生殘餘資料且提供至求和器62以重構經編碼區塊以作為參考圖框使用。模式選擇單元40亦將語法元素(諸如,運動向量、框內模式指示符、分割資訊及其他此類語法資訊)提供至熵編碼單元56。
運動估計單元42及運動補償單元44可高度整合,但為概念目的而分開來說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。舉例而言,運動向量可指示在當前視訊圖框或圖像內之視訊區塊的PU相對於參考圖像(或其他經寫碼單元)內之預測性區塊之位移,該預測性區塊係相對於該當前圖像(或其他經寫碼單元)內正經寫碼的當前區塊。預測性區塊為依據像素差被發現緊密地匹配於待寫碼區塊之區塊,該像素差可藉由絕對差和(SAD)、平方差和(SSD)或其他差度量予以判定。在一些實例中,視訊編碼器20可計算儲存於參考圖像記憶體64中之參考圖像之次整數像素位置的值。舉例而言,視訊編碼器20可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分率像素位置的值。因此,運動估計單元42可執行關於全像素位置及分率像素位置之運動搜尋且輸出具有分率像素精確度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊的位置而計算經框間寫碼圖塊中之視訊區塊之PU的運動向量。參考圖像可係選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於參考圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計單元42判定之運動向量提取或產生預測性區塊。再次,在一些實例中,運動估計單元42與運動補償單元44可在功能上整合。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44便可在參考圖像清單中之一者中定位運動向量指向之預測性區塊。求和器50藉由自正經寫碼之當前視訊區塊的像素值減去預測性區塊之像素值來形成殘餘視訊區塊,從而形成像素差值,如下文所論述。一般而言,運動估計單元42 相對於明度分量而執行運動估計,且運動補償單元44將基於該等明度分量所計算之運動向量用於色度分量與明度分量兩者。模式選擇單元40亦可產生與視訊區塊及視訊圖塊相關聯之語法元素以供視訊解碼器30在解碼視訊圖塊之視訊區塊中使用。
作為由運動估計單元42及運動補償單元44執行之框間預測的替代方案,框內預測單元46可對當前區塊進行框內預測,如上文所描述。詳言之,框內預測單元46可判定待用以編碼當前區塊之框內預測模式。在一些實例中,框內預測單元46可(例如)在單獨編碼遍次期間使用各種框內預測模式編碼當前區塊,且框內預測單元46(或在一些實例中為模式選擇單元40)可自受測模式中選擇適當框內預測模式來使用。
舉例而言,框內預測單元46可使用對於各種受測框內預測模式之速率-失真分析來計算速率-失真值,且在受測模式之中選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析大體上判定經編碼區塊與原始、未編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元率(亦即,位元之數目)。框內預測單元46可自各種經編碼區塊之失真及速率來計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在為區塊選擇框內預測模式之後,框內預測單元46可將指示用於該區塊之選定框內預測模式之資訊提供至熵編碼單元56。熵編碼單元56可編碼指示選定框內預測模式之資訊。視訊編碼器20可在所傳輸之位元串流中包括以下各者:組態資料,其可包括複數個框內預測模式索引表及複數個經修改之框內預測模式索引表(亦稱作碼字映射表);編碼各種區塊之全文的定義;及待用於該等全文中之每一者的最大可能框內預測模式、框內預測模式索引表及經修改之框內預測模式索引表的指示。
視訊編碼器20藉由自正被寫碼之原始視訊區塊減去來自模式選擇單元40之預測資料而形成殘餘視訊區塊。求和器50表示執行此減法運算之一或多個組件。變換處理單元52將變換(諸如離散餘弦變換(DCT)或概念上類似之變換)應用於殘餘區塊,從而產生包含變換係數值之視訊區塊。可使用小波變換、整數變換、子頻帶變換、離散正弦變換(DST)或其他類型之變換而不是DCT。在任何狀況下,變換處理單元52將變換應用於殘餘區塊,從而產生變換係數區塊。該變換可將殘餘資訊自像素值域轉換至變換域,諸如,頻域。變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步減少位元速率。量化程序可減少與一些或所有係數相關聯之位元深度。可藉由調整量化參數來修改量化程度。
在量化之後,熵編碼單元56對經量化之變換係數熵寫碼。舉例而言,熵編碼單元56可執行根據本發明之技術的CABAC及/或增強型CABAC。在基於全文之熵寫碼的狀況下,全文可係基於鄰近區塊。在由熵編碼單元56進行熵寫碼之後,可將經編碼位元串流傳輸至另一裝置(例如,視訊解碼器30)或加以存檔以供稍後傳輸或擷取。
反量化單元58和反變換單元60分別地應用反量化及反變換以重建像素域中的殘餘區塊。特定言之,求和器62將重建之殘餘區塊添加至由運動補償單元44或框內預測單元46產生之運動補償預測區塊,以產生用於儲存於參考圖像記憶體64中之重建之視訊區塊。該重建之視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊以對後續視訊圖框中之區塊進行框間寫碼。
視訊編碼器20之諸如熵編碼單元56之各種組件可實施本發明之增強型CABAC技術以執行全文模型化。根據本發明之各種態樣,熵編碼單元56可使用一或多個先前已編碼變換係數之第i位元子的值執行針對變換係數之第i位元子的全文模型化。換言之,當前變換係數 之第i位元子的全文模型化取決於熵編碼單元56已經編碼之一或多個變換係數之對應第i位元子的值。第i位元子之全文模型化可排除使用先前編碼變換係數之值的其他位元子,以便允許針對變換係數之值的多個位元子之全文模型化被並行地執行。
藉由使用先前編碼變換之第i位元子之值執行針對當前變換係數之位元子的全文模型化,熵編碼單元56可實施本發明之技術以提供對現有CABAC寫碼器之一或多個潛在改良。作為此益處之實例,熵編碼單元56可藉由實施本發明之技術來改良全文模型化操作的並行化。更具體而言,熵編碼單元56可並行地執行當前經編碼之變換係數之多個位元子的全文模型化。舉例而言,若熵編碼單元56判定對應於多個位元子之位元子值可自先前編碼變換係數獲得,則熵編碼單元56可至少部分並行化當前經編碼變換係數之位元子的全文模型化操作。
熵編碼單元56可根據多遍次寫碼方案執行本發明之並行化全文模型化。更具體而言,多遍次寫碼方案指如下寫碼技術:熵編碼單元56藉由該寫碼技術將分離執行緒指派給每一特定位元子(例如,針對第一位元子指派執行緒1,針對第二位元子指派執行緒2等)。因此,根據多遍次寫碼,所有bin0例項可獨立於按順序寫碼之bin1例項按順序進行編碼,bin0例項及bin1例項均獨立於按順序編碼之bin2例項進行寫碼,等。在一些實例中,熵編碼單元56可關於單一區塊之變換單元執行多遍次寫碼。此外,對於根據常規模式編碼之位元子,熵編碼單元56可執行若干編碼遍次。每一遍次可係關於所有變換係數之單一對應位元子。換言之,在每一遍次中,熵編碼單元56並不利用關於其他遍次之資訊。舉例而言,熵編碼單元56在第一遍次中可編碼一個變換單元/CG內之所有變換係數的第一位元子(若需要)。在此實例中,在第二遍次中,熵編碼單元56可編碼一個變換單元/CG內之所有變換係數的第二位元子(若需要)等等。
在一個實例使用狀況下,熵編碼單元56可使用先前已寫碼相鄰變換係數之bin0之值來執行針對當前寫碼變換係數之bin0的全文模型化,使用先前已寫碼相鄰變換係數之bin1的值執行當前寫碼變換係數之bin1的全文模型化。為了允許如上文所論述之並行化,熵編碼單元56可經組態以便避免在執行特定位元子之全文模型化時使用不同位元子。舉例而言,熵編碼單元56可在不使用先前已寫碼變換係數之任一bin0值之情況下判定用於熵編碼當前變換係數之bin1的全文。在一組位元子經並行地熵編碼之狀況下,當用於判定位元子全文需要之個別位元子可用時,熵編碼單元56可使用先前已寫碼變換係數之各別可用位元子值,熵編碼單元56可並行地執行當前寫碼變換係數之多個位元子的全文模型化。在上文所描述之使用狀況情境下,若bin0及bin1皆自先前已寫碼相鄰變換係數可獲得,則熵編碼單元56可使當前寫碼變換係數之bin0及bin1的全文模型化並行化。以此方式,熵編碼單元56可實施本發明之技術以執行如HEVC中所描述多遍次寫碼之原則內的CABAC,同時藉由啟用且潛在地採用全文模型化操作之並行化而改良當前變換係數之位元子的全文選擇。
應瞭解,熵編碼單元56可但可能不必並行地執行所有此等位元子的整個全文模型化。更具體而言,熵編碼單元56可同時執行多個位元子之全文模型化的一些部分。以此方式,熵編碼單元56可實施本發明之技術以利用多核心處理技術及/或多個處理器以改良當前寫碼變換係數的全文模型化操作。
藉由用經啟用之並行化來編碼不同變換係數之對應位元子,熵編碼單元56可提供優於現有多遍次CABAC技術之一或多個優點。舉例而言,藉由在單一遍次中寫碼多個變換係數之對應位元子(例如,各別bin0),熵編碼單元56可避開於位元子轉變處頻繁地儲存並擷取新全文模型之需要。確切而言,熵編碼單元56可越過給定遍次使用單 一全文模型,此係因為遍次以越過多個變換係數之對應位元子(例如,各別bin0)為目標。以此方式,熵編碼單元56可實施本發明之並行化全文選擇技術以減輕或潛在地消除起因於頻繁全文切換之時間延遲及資源攪拌。對比而言,現有多遍次寫碼因為編碼第一變換係數之bin0、bin1、bin2等且接著編碼第二變換係數之bin0、bin1、bin2等,云云將要求頻繁全文模型儲存及擷取操作。
舉例而言,熵編碼單元56可產生或以其他方式存取一或多個預定義範本以用於本文中所描述之第i位元子全文模型化功能性。熵編碼單元56可用於當前寫碼變換係數之第i位元子之全文模型化的預定義範本之一個非限制性實例說明於圖10中。諸如圖10之本地範本140的預定義範本定義8×8變換區塊之對角線掃描次序,其中「L」指明最後有效掃描位置,「x」指明當前掃描位置,且「xi」指明由本地範本140覆蓋之相鄰掃描位置。關於xi,「i」之值範圍為零至4,且範圍約束表達為i є[0,4]。根據本發明之一或多個態樣,熵編碼單元56可使用位於本地範本140中之變換係數之第i位元子從而用於當前經編碼之變換係數之對應第i位元子的全文模型化。根據一些實施,熵編碼單元56可使用多個範本以執行本發明之並行化位元子全文模型化。在一個實例中,範本大小及/或形狀取決於以下準則中之一或多者:(i)變換單元之大小;或(ii)模式;或(iii)當前變換係數在當前變換單元或係數群組(CG)內的位置;或(iv)色彩分量資訊,諸如明度及/或色度分量資訊。
藉由使用一或多個預定義範本來遍歷位元子值之先前已寫碼TU,熵編碼單元56可實施本發明之技術以提供優於現有CABAC技術之一或多個增強。舉例而言,藉由使用諸如圖10之本地範本140之TU遍歷範本,熵編碼單元56可避開對關於不同寫碼遍次分離地判定遍歷方案之需要。因此,藉由實施本發明之基於範本之並行化全文選擇技 術,熵編碼單元56可關於位元子寫碼增加輸貫量,同時維持寫碼精確度。
根據另一實例實施,熵編碼單元56可僅將本發明之並行化全文模型化技術應用於當前寫碼變換係數之前「K」個位元子,其中「K」小於M,且其中「M」指明可用位元子索引之上限,且其中M自0開始。熵編碼單元56可使用另一全文模型化技術或根據旁路模式來編碼經寫碼之剩餘(M+1-K)個位元子。
根據另一實例實施,熵編碼單元56可定義先前已寫碼變換係數之全域為當前變換單元或CG內在編碼次序上在當前正編碼之變換係數之前的「N」個連續變換係數。替代地,熵編碼單元56可判定N為變數。在一個實例中,熵編碼單元56可判定,N之值取決於當前編碼變換係數在當前變換單元中之相對位置。在另一實例中,熵編碼單元56可判定N值取決於變換單元大小。
在另一實施中,熵編碼單元56可定義先前經編碼變換係數之全域為定位於當前變換單元或CG內之當前位置之鄰域處之彼等變換係數。在一個實例中,當前位置之鄰域受約束於直接鄰近於當前位置之彼等位置,或直接鄰近於當前位置或與當前位置分離之位置。在另一實例中,鄰域亦可包括此等位置,但擴展以包括一或多個空間相鄰變換單元中之位置。
根據本發明之各種態樣,熵編碼單元56可依據與一或多個先前已寫碼變換係數相關聯之值而定義位元子之全文索引。舉例而言,熵編碼單元56可使用產生先前已寫碼變換係數之所有第i位元子值之總和的函數。更具體而言,在此實例中,熵編碼單元56可執行TU/CG之所有先前編碼變換係數之可用第i位元子值之值的總和。又,熵編碼單元56可使用所得總和作為在當前寫碼變換係數之第i位元子之全文模型化期間的全文索引(CtIdx)。在另一實例中,熵編碼單元56可定義 截斷值。在此實例中,當函數之輸出超出預定義截斷值時,熵編碼單元56關於當前經寫碼之位元子可使用相同全文。在一些實例中,熵編碼單元56可判定,截斷值是基於(或取決於)位元子索引/變換單元大小/寫碼模式/一個變換單元內之變換係數位置。
在一些實例中,熵編碼單元56可編碼在不同遍次中寫碼之對應位元子,使得此等位元子共用相同全文模型。在一個實例中,熵編碼單元56可判定,針對不同遍次中之位元子之全文索引導出方法(例如,計算全文索引之函數)為不同的。根據一個實例,熵編碼單元56可判定,針對不同遍次中之位元子之全文索引導出方法(例如,計算全文索引之函數)可相同。
根據本發明之一些態樣,熵編碼單元56在不同大小之變換單元中對於相同遍次使全文索引導出規則保持不改變。然而,熵編碼單元56可將偏移應用至全文索引以執行針對當前寫碼位元子之全文模型化。舉例而言,熵編碼單元56可判定,兩個不同變換大小具有兩個全文模型集合。又,熵編碼單元56可定義偏移作為一個此集合中之全文模型之數目。舉例而言,若熵編碼單元56判定TU大小小於具有預定義尺寸M×M之正方形,則熵編碼單元56可判定每一此TU(小於M×M)之TU大小具有其自己之各別全文模型集合。相反,熵編碼單元56可判定具有等於或大於M×M之大小之所有TU共用相同全文模型集合。
在各種使用狀況情境下,熵編碼單元56可設定M之值為16。更具體而言,在此等實例中,若熵編碼單元56判定當前寫碼TU之大小小於16×16正方形,則熵編碼單元56可判定當前寫碼TU與對應於TU之特定大小的全文模型集合相關聯。相反,若熵編碼單元判定當前寫碼TU具有等於或大於16×16之大小,則熵編碼單元56已判定當前寫碼TU與具有等於或大於16×16之大小之所有其他TU共用相同全文模型集合。在一些實例中,熵編碼單元56可將僅基於TU大小之全文選擇 應用至明度區塊。
根據一些實例,用於對剩餘位元子寫碼之萊斯參數取決於變換大小。替代地或另外,萊斯參數可取決於寫碼模式。在一個實例中,替代將哥倫布-萊斯碼用於coeff_abs_level_remaining,熵編碼單元56可使用其他二進位化技術。替代地或另外,一個以上二進位方法可應用於對coeff_abs_level_remaining語法元素寫碼。在一個實例中,用於對coeff_abs_level_remaining寫碼之二進位方法(例如,萊斯參數)取決於寫碼模式。替代地,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)可取決於一個TU內之相對位置。替代地,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)可取決於在掃描次序上距第一經寫碼/解碼變換係數之距離。在一些情況下,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)取決於相對於變換單元之寫碼群組位置。
根據本發明之一些態樣,熵編碼單元56可基於變換大小而判定係數群組(CG)大小。換言之,根據此等態樣,CG大小取決於變換大小。替代地或另外,熵編碼單元56可基於寫碼模式來判定CG大小。在此等實例中,熵編碼單元56可判定CG大小為取決於變換大小及/或寫碼模式中之一者或兩者。替代地或另外,熵編碼單元56可基於變換矩陣而判定CG大小。
根據本發明之一些態樣,熵編碼單元56亦可應用經並行化全文模型化技術,該等經並行化全文模型化技術亦可應用至使用變換旁路模式(亦被稱作「變換跳過模式」)編碼之區塊。變換旁路模式指寫碼模式,根據該寫碼模式,視訊編碼器20可跳過編碼之變換及量化操作以提供無失真寫碼輸出。因此,根據本發明之某些態樣,熵編碼單元56可擴展並行化全文選擇技術以提供無失真寫碼之例項中的潛在所得優點。
本發明之各種變換係數全文模型化技術之實例細節下文進一步詳細地論述。下文描述根據多遍次寫碼之全文模型化之一個實例。根據此實例,熵編碼單元56可如HEVC中佈局一般應用寫碼元件及寫碼次序(多遍次寫碼及基於CG之寫碼)。另外,熵編碼單元56可應用二進位化技術同時保持變換係數之量值不改變。然而,熵編碼單元56可修改用於寫碼變換係數之量值的全文索引及萊斯參數計算方法。
bin0(有效旗標)之全文索引計算可取決於以下資訊:範本中非零係數(亦即,係數之量值大於0)之數目;當前係數在當前TU內之位置;明度分量之TU大小;及色彩分量。關於色彩分量相依性,明度及色度經分離地考慮。另外,在考慮針對明度分量之TU大小中,全文索引計算對於明度而言獨立於TU大小。明度分量之TU大小可包括三個集合,即4×4TU、8×8TU、16×16及更大TU。
對於bin1及bin2(大於1之Grt、大於2之Grt),全文索引計算取決於以下資訊:範本中大於1(對於bin1)且大於2(對於bin2)之absLevel之數目;當前係數在當前TU內之位置;以及色彩分量。萊斯參數導出程序取決於旁路寫碼資訊,且取決於sum_absolute_levelMinus1語法元素之值。
在一個實例中,熵編碼單元56可定義函數sum_template(k)以傳回範本中之係數之數目,使得係數之量值大於k。sum_template(k)之實例係如下:sum_template(k)=Σδ j (x i ,k) 其中, 另外,在此實例中,熵編碼單元56可定義函數f(x,y,n,t)以處置位置資訊且定義另一函數δ k (u,v)以處置分量資訊如下:
圖10描繪熵解碼單元70及/或熵編碼單元56可關於如本文中所描述之全文模型化技術使用之範本(本地範本140)之一個實例。當前變換係數標記為「X」且五個空間相鄰變換係數標記為「Xi」(其中「i」表示自0至4之整數)。若滿足以下條件中之一者,則熵編碼單元56可將Xi標識為不可用且不用於全文索引導出程序中:‧Xi之位置及當前變換係數X不位於同一變換單元中;或‧Xi之位置位於圖像之水平或垂直邊界外部;或‧變換係數Xi尚未經寫碼。在多遍次寫碼之狀況下,只要寫碼了同一寫碼遍次中之位元子,位元子便可用於全文索引導出程序中。因此,自解碼觀點,不必要的是充分解碼一個變換係數。
替代地,熵編碼單元56可應用可包括來自相鄰變換單元之資訊之一或多個其他範本。在各種實例中,相鄰TU可為空間相鄰TU或時間相鄰TU。根據本文中所描述之全文模型化技術中之一或多者,全文索引計算可如以下段落中所描述而定義。
關於bin0,熵編碼單元56可導出全文索引如下:c 0=min(sum_template(0),5)+f(x,y,6,2)+δ k (f(x,y,6,5),cIdx)+offset(cIdx,width)c 0=c 0+offset(cIdx,width)
其中
在一個實例中,基於c0之範圍,一個明度全文之集合可包括等於NumberLumaCtxOneset之值的數目個全文模型。舉例而言,明度全文之集合可包括18個全文模型。關於用於對明度bin0寫碼之不同變換大小(其中變換寬度由「w」指明),熵編碼單元56可選擇針對每一變換 大小之不同集合。另外,色度及明度全文經分離以進一步改良寫碼效能。對於YCbCr輸入,三個色彩分量(亦即,Y、Cb及Cr)分別由等於0、1及2之分量索引v表示。
在此等實例中,熵編碼單元56可導出bin1之全文索引如下:c 1=min(sum_template(1),4)+N c 1=c 1+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx)
另外、在此等實例中,熵編碼單元56可導出bin2之全文索引如下:c 2=min(sum_template(2),4)+N c 2=c 2+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx)
在一個實例中,N等於0。在另一實例中,N等於1。替代地或另外,當N等於1時,熵編碼單元56可藉由等於0之全文索引c1或c2而對第一bin1或bin2寫碼。在此實例中,熵編碼單元56可根據以上方程式對bin1及bin2之其他例項寫碼。
在一個實例中,熵編碼單元56可藉由同一全文模型集合但藉由不同索引而編碼bin1及bin2。替代地,bin1及bin2藉由兩個全文模型集合寫碼,且其之間不存在相依性。對於剩餘位元,熵編碼單元56可應用在HEVC中佈局之設計或在JCTVC-H0228中佈局之設計。在各種實例中,熵編碼單元56可在建置上文所描述之各種函數中使用不同恆定值。
本發明之額外態樣係針對全文初始化增強。本發明之全文初始化增強可獨立於上述並行化全文選擇技術而實施,或可與上述並行化全文選擇技術中之任何一或多者組合地實施。本發明之全文初始化技術中之一或多者係針對重新使用來自先前編碼資訊之全文資訊。舉例而言,熵編碼單元56可藉由複製來自先前已編碼圖塊之狀態而繼承或另外導出圖塊之全文資訊,該圖塊可屬於當前圖像或先前經編碼圖 像。在根據本發明之基於繼承之全文初始化之各種實例中,術語「狀態」指狀態資訊及最大可能符號(MPS)值之組合。在以下描述中,術語「圖塊」可與術語「貼塊」互換地使用。
藉由自先前已編碼圖塊繼承全文初始化資訊,熵編碼單元56可實施本發明之技術以相比於現有CABAC全文初始化技術提供增強型準確度。舉例而言,現有CABAC全文初始化技術依賴於自表獲得之全文狀態資訊。然而,表係使用靜態資訊形成。然而,根據本發明之基於繼承之全文初始化技術,熵編碼單元可自先前已編碼圖塊提取全文初始化資訊,該先前已編碼圖塊具有與當前編碼之圖塊相同之圖塊類型及/或具有相同的量化參數(QP)。以此方式,熵編碼單元56可實施本發明之技術以改良用於當前圖塊之全文初始化資訊的準確度。
根據一些實施,熵編碼單元56可識別先前已編碼圖塊之中心LCU為繼承全文初始化資訊所自的圖塊。在各種實例中,熵編碼單元56可自多個對應先前已編碼圖塊繼承當前圖像之多個圖塊的全文初始化。在一個實例中,熵編碼單元56可使用先前已編碼圖像之同一區塊(即,中心LCU),自該先前已編碼圖像繼承根據本發明之全文初始化技術編碼之多個圖塊之全部的全文初始化資訊。在另一實例中,熵編碼單元56可自來自先前已編碼圖像之對應圖塊中之每一者的各別中心LCU繼承針對多個圖塊中之每一者的全文初始化資訊。
舉例而言,在編碼先前已編碼圖像之中心LCU之後,熵編碼單元56可儲存關於圖塊全文初始化的全部狀態資訊。又,熵編碼單元56可存取或讀取經複製狀態資訊並將狀態資訊用於初始化當前經編碼之圖像之一或多個圖塊的全文。藉由使用來自先前經編碼圖像之狀態資訊來執行當前圖像之圖塊之全文初始化,熵編碼單元56可出於全文初始化之目的而減小對靜態資訊之固定表的依賴性。舉例而言,在將固定表用於初始化第一圖像以及任一經框內寫碼圖像之圖塊的全文之後, 熵編碼單元56可執行隨後經編碼之經框間寫碼圖像的全文初始化。熵編碼單元56可關於P圖塊及/或B圖塊來實施本發明之基於繼承之全文初始化技術。
下文描述本發明之全文初始化技術的額外實例細節。另外或可替代地,熵編碼單元56可經組態以執行根據本發明之技術用於全文初始化,如下文所論述。熵編碼單元56可實施本發明之全文初始化技術以在編碼位於先前已編碼圖像之一個區塊之後繼承全文資訊為用於對當前圖塊寫碼之初始化全文資訊。熵編碼單元56可將基於繼承之全文初始化技術應用至P及/或B圖塊。另外,上文提及之「一個區塊」之位置經預定義,且對於一個整個序列固定。舉例而言,最大寫碼單元大小(LCU)由「N×N」指明,圖像寬度由「W」指明,且圖像高度由「H」指明。在此實例中,藉由「PicWidthInCtbsY」指明之一個LCU列內之LCU的數目等於頂值函數即Ceil(W÷N)之輸出。另外,在此實例中,藉由「PicHeightInCtbsY」指明之LCU列的數目等於Ceil(H÷N),其中頂值函數Ceil(x)表示大於或等於x之最小整數。
根據一些實例,位置經界定為先前已寫碼圖像中之第一圖塊之中心LCU。假設numLCUinSlice表示第一圖塊中之LCU數目,位置經界定為:TargetCUAddr=numLCUinSlice/2。在一個實例中,位置經界定為:TargetCUAddr=(PicWidthInCtbsY* PicHeightInCtbsY)/2+PicWidthInCtbsY/2。此外,當TargetCUAddr等於或大於(PicWidthInCtbsY* PicHeightInCtbsY),(例如,PicHeightInCtbsY等於1)時,TargetCUAddr重設為(PicWidthInCtbsY* PicHeightInCtbsY-1),其對應於最後LCU。在一個實例中,位置定義為先前已寫碼圖像之最後LCU,或一個圖框內之中心LCU(亦即,PicWidthInCtbsY* PicHeightInCtbsY/2),或中心LCU列之最後LCU(亦即,PicWidthInCtbsY*(PicHeightInCtbsY/2)-1),或第k LCU列之最後 LCU(例如,k等於1)。根據一個實例,位置定義為在先前已編碼圖像中之第一圖塊的最後LCU。根據本發明之全文初始化技術之一些實施,不同解決方案可具有寫碼區塊之位置的不同定義。
在一些實例中,「一個區塊」之位置在諸如序列參數集(SPS)或圖片參數集(PPS)之參數集中予以傳信。諸如SPS及/或PPS之參數集可關於當前圖像之圖塊在頻帶外傳信。在一些實例中,「一個區塊」之位置可在圖塊標頭中傳信。圖塊標頭可關於對應圖塊在頻帶內傳信。在此等及其他實例中,諸如參考圖像索引、對應圖像次序計數差異(或△POC)之先前經編碼圖像的指示可在參數集或圖塊標頭中傳信。
在一些實例中,「先前已寫碼圖像」經定義為就(緊接)在當前圖像之前經編碼/解碼之圖像。在一些實例中,「先前已寫碼圖像」定義為係在當前圖像之前經編碼或解碼之最後圖像的圖像,使得先前圖像中之第一圖塊具有與當前圖塊相同之圖塊類型。根據一些實例,「先前已寫碼圖像」定義為當前圖像之前經編碼/經解碼圖像之圖像,且先前圖像中之第一圖塊具有與當前圖塊相同之初始化量化參數。根據一些實例,「先前已寫碼圖像」定義為含有先前已寫碼圖塊之圖像,該先前已寫碼圖塊具有與當前圖塊相同之圖塊類型或相同之圖塊類型及量化參數兩者,或相同之圖塊類型及時間層兩者,及/或相同之初始化量化參數。在一些實例中,「先前已寫碼圖像」定義為存在於緩衝器(諸如,經寫碼圖像緩衝器或經解碼圖像緩衝器)中之圖像,且可作為參考圖像用於當前圖像。根據此等實例,如在基於HEVC之平台中,先前圖塊必須屬於參考圖像集(RPS)中之圖像或以下RPS子集中之一者中的圖像:RefPicSetStCurrBefoqe、RefPicSetStCurrAfter及RefPicSetLtCurr。
根據本發明之全文初始化技術之一些實施,若在顯示次序上在一個經框內寫碼圖像之後寫碼之所有圖像並不具有相同圖塊類型及相 同初始化量化參數,則全文資訊之繼承可被禁用。在此狀況下,應用習知初始化方法,例如,熵編碼單元56可使用提取初始化狀態資訊所自之固定表。根據一些實施,熵編碼單元56可將本發明之基於繼承之全文初始化技術應用至特定全文模型,且不應用至其他全文模型。另外或替代地,「一個區塊」之位置對於不同全文模型可不同。應瞭解,根據本發明之全文初始化技術,上文列出之各種實施選項可單獨地或以各種組合實施。
在本發明之全文初始化技術之一些實例中,若熵編碼單元56判定cabac_init_present_flag經啟用,則熵編碼單元56可判定包括於「先前已編碼圖像」中之圖塊應具有與當前編碼圖塊相同之類型。換言之,在此實例中,若cabac_init_present_flag經啟用,則先前已編碼圖像之定義取決於匹配圖塊類型。另外,自解碼觀點,傳信之cabac_init_flag根據此實施並不予以考慮。在一些情況下,替代地,熵編碼單元56可首先基於cabac_init_flag及「先前已編碼圖像」之選定而修改當前圖塊之圖塊類型。
下文描述本發明之全文初始化技術的額外實例細節。根據一些實施,熵編碼單元56關於框內隨機存取圖像(IRAP)而不可應用本發明之基於繼承之全文初始化技術。舉例而言,關於三種類型IRAP中之任一者,即瞬時解碼再新(IDR)圖像、清潔隨機存取(CRA)圖像及斷鏈存取(BLA)圖像,熵編碼56可不實施基於繼承之全文初始化技術。
在基於先前已寫碼資訊之基於繼承之全文初始化的一個實例中,熵編碼單元56可藉由一個圖塊編碼一個圖像。在此實例中,熵編碼單元56可應用以下規則中之一或多者來導出全文模型之初始化狀態。第一規則為,先前已編碼圖像之圖塊具有與當前編碼圖塊之圖塊類型相同的圖塊類型。替代地或另外,初始化圖塊量化參數與用於對當前編碼圖塊寫碼之圖塊QP相同。
根據本發明之一些態樣,當不同QP用於當前圖塊及預測器圖塊時,熵編碼單元56可自先前已編碼圖塊繼承全文初始化資訊。在此等實例中,熵編碼單元56可在將全文初始化資訊用於編碼當前圖像之前關於全文狀態應用映射程序。舉例而言,熵編碼單元56可利用一或多個初始化函數(例如,HEVC中指定之初始化函數)以及兩個QP及全文以將一個狀態轉化至另一狀態。在一些情況下,熵編碼單元56可在藉由先前已寫碼圖像中之預定義位址編碼一個區塊之後記錄狀態資訊(例如,狀態),且使用所記錄狀態資訊作為用於當前編碼圖塊之初始化狀態資訊。
在一個實例中,「一個區塊」表示最大寫碼單元(LCU)。舉例而言,LCU大小(維度)可由「N×N」指明,圖像寬度由「W」指明,且圖像高度由「H」指明。一個LCU列內LCU的數目可由PicWInCtbsY指明,且等於頂值函數Ceil(W÷N)之輸出。藉由PicHInCtbsY指明的圖像中LCU列之數目等於頂值函數Ceil(H÷N)之輸出。一般而言,函數Ceil(x)傳回大於或等於x的最小整數。另外,以LCU為單位量測之圖像之寬度及以LCU量測之圖像之高度分別由使用上述頂值函數獲得之PicWInCtbsY及PicHInCtbsY值表示。在一個實例中,LCU之位址根據以下方程式來界定:TargetCUAddr=(PicWInCtbsY*PicHInCtbsY)/2+PicWInCtbsY/2
此外,當TargetCUAddr等於或大於(PicWInCtbsY*PicHInCtbsY)之值時,熵編碼單元56可重設,將TargetCUAddr重設為(PicWInCtbsY*PicHInCtbsY-1)的值。舉例而言,TargetCUAddr在PicHInCtbsY等於1之狀況下等於或超出以上值。另外,(PicWInCtbsY* PicHInCtbsY-1)的值對應於一個圖像中之最後LCU。
此外,在一些情況下,熵編碼單元56可不將上文描述之基於規則之全文初始化技術應用於在顯示次序上在新的經框內寫碼圖像之後 的前一或多個圖像。熵編碼單元56可不應用基於規則之全文初始化之實例為熵編碼單元56第一次遭遇新圖塊類型或新QP(例如,新圖塊類型或新QP已出現)的實例。舉例而言,熵編碼單元56可減輕或潛在地避免與隨機存取有關之問題。此項技術之實例展示於圖9中,其中對於具有自28至35之圖像次序計數(POC)值之圖像的寫碼(且藉此解碼)次序係如下:32,28,…30,29,31,40,36,34,33,35。
依據顯示次序,具有等於40之POC值之圖像為在具有等於32之POC值之I圖像之後解碼的第一圖像。儘管具有24之POC值的圖像具有與具有等於40之圖像相同之QP,且兩者共用相同圖塊類型,但熵編碼單元56可不使用具有等於24之POC之圖像的經寫碼資訊來預測具有等於40之POC值的圖像。類似地,熵編碼單元56可不使用具有等於31之POC之圖像的經寫碼資訊來預測具有等於33之POC的圖像。然而,熵編碼單元56可使用具有等於33之POC之圖像的經寫碼資訊來預測具有等於35之POC之圖像,此係因為兩個圖像在I圖像之後(按顯示次序)。
在來自先前已寫碼圖像之預測不被允許、禁用或以其他方式不可用於熵編碼單元56之情況下,熵編碼單元56可應用如HEVC中定義之全文初始化技術。如上文所描述,圖4之視訊編碼器20表示視訊編碼器之實例,該視訊編碼器可經組態以單獨或以任何組合執行本發明之各種技術中之任一者用於增強型CABAC。在一些實例中,視訊編碼器20經組態以選擇用於編碼變換單元之寫碼模式。在一些實例中,視訊編碼器20可包括一裝置、可為該裝置或可為該裝置之部分,該裝置包括經組態以捕獲該視訊資料之至少一部分的一攝影機。在一些實例中,視訊編碼器20可包括經組態以自該攝影機接收該所捕獲視訊資料的一記憶體裝置。
圖5為根據本發明之技術的可經組態以執行CABAC之實例熵編碼 單元56之方塊圖。將語法元素118輸入至熵編碼單元56中。若語法元素已為二進位值語法元素(例如,僅具有值0及1之旗標或其他語法元素),則可跳過二進位化步驟。若語法元素為非二進位值語法元素(例如,可具有除1或0以外之值的語法元素),則藉由二進位化器120對非二進位值語法元素進行二進位化。二進位化器120執行非二進位值語法元素至二進位決策序列之映射。此等二進位決策通常被稱作「位元子」。舉例而言,對於變換係數位準,可將位準之值分解為連續位元子,每一位元子指示係數位準之絕對值是否大於某一值。舉例而言,位元子0(有時被稱作有效旗標)指示變換係數位準之絕對值是否大於0。位元子1指示變換係數位準之絕對值是否大於1,等等。可針對每一非二進位值語法元素產生唯一映射。
由二進位化器120產生之每一位元子饋入至熵編碼單元56之二進位算術寫碼側。即,對於預定非二進位值語法元素集合,每一位元子類型(例如,位元子0)在下一位元子類型(例如,位元子1)之前經寫碼。可以常規模式或旁路模式執行寫碼。在旁路模式中,旁路寫碼引擎126使用固定機率模型(例如,使用哥倫布-萊斯或指數哥倫布寫碼)執行算術寫碼。旁路模式通常用於更可預測語法元素。
以常規模式進行寫碼涉及執行CABAC。在給定先前經編碼位元子之值情況下,在位元子之值之機率為可預測之處,常規模式CABAC用於寫碼位元子值。由全文模型化器(modeler)122判定位元子的機率為LPS。全文模型化器122針對全文模型輸出位元子值及機率狀態(例如,機率狀態σ,包括LPS之值及LPS出現之機率)。全文模型可為用於一連串二進位之初始全文模型,或可基於先前已寫碼位元子之經寫碼值而判定。如上文所述,全文模型化器122可基於所接收位元子為MPS抑或LPS而更新狀態。在藉由全文模型化器122判定全文模型及機率狀態σ之後,常規寫碼引擎124對位元子值執行BAC。
全文模型化器122可實施本發明之技術而以並行化方式執行全文模型化。根據本發明之各種態樣,全文模型化器122可使用一或多個先前編碼變換係數之第i位元子的值來執行針對變換係數之第i位元子的全文模型化。以此方式,當前變換係數之第i位元子的全文模型化取決於全文模型化器122已經選擇全文針對之一或多個變換係數之對應第i位元子的值。
藉由使用先前編碼變換之第i位元子之值執行當前變換係數之位元子的全文模型化,全文模型化器122可實施本發明之技術以提供對現有CABAC寫碼裝置之一或多個潛在改良。作為此益處之實例,全文模型化器122可藉由實施本發明之技術來改良全文模型化操作的並行化。舉例而言,全文模型化器122可並行地執行當前經編碼變換係數之多個位元子的全文模型化。作為一個實例,若全文模型化器122判定對應於多個位元子之位元子值可自先前編碼變換係數獲得,則全文模型化器122可至少部分並行化當前經編碼變換係數之位元子的全文模型化操作。
全文模型化器122可根據多遍次寫碼方案執行本發明之並行化全文模型化。更具體而言,多遍次寫碼方案指如下寫碼技術:熵編碼單元56藉由該寫碼技術將分離執行緒指派給每一特定位元子(例如,針對第一位元子指派執行緒1,針對第二位元子指派執行緒2等)。因此,根據多遍次寫碼,所有bin0例項可獨立於按順序寫碼之bin1例項按順序進行編碼,bin0例項及bin1例項均獨立於按順序編碼之bin2例項進行寫碼,等。在一些實例中,全文模型化器122可關於單一區塊之變換單元執行多遍次寫碼。此外,對於根據常規模式編碼之位元子,全文模型化器122可多遍次地執行全文選擇。每一遍次可係關於所有變換係數之單一對應位元子。換言之,在每一遍次期間,全文模型化器122並不利用與其他遍次相關之資訊。舉例而言,全文模型化 器122在第一遍次中可選擇一個變換單元/CG內之所有變換係數之第一位元子的全文。在此實例中,在第二遍次中,全文模型化器122可在需要時選擇一個變換單元/CG內所有變換係數之第二位元子的全文,等等。
在一個實例使用狀況下,全文模型化器122可使用先前已寫碼相鄰變換係數之bin0之值來執行當前寫碼變換係數之bin0的全文模型化,使用先前已寫碼相鄰變換係數之bin1之值來執行當前寫碼變換係數之bin1的全文模型化,等等。使用對於先前已寫碼變換係數可用之任何位元子值,全文模型化器122可並行地執行當前寫碼變換係數之多個位元子的全文模型化。在上文所描述之使用狀況情境下,若bin0及bin1皆自先前已寫碼相鄰變換係數可獲得,則全文模型化器122可使當前經寫碼變換係數之bin0及bin1的全文模型化並行化。以此方式,全文模型化器122可實施本發明之技術以在如HEVC中所描述之多遍次寫碼之原則內執行CABAC,同時藉由啟用且潛在地採用全文模型化操作之並行化而改良當前變換係數之位元子的全文選擇。
應瞭解,全文模型化器122可但可能不必要並行地執行所有此等位元子的整個全文模型化。更具體而言,全文模型化器122可並行地執行多個位元子之全文模型化的一些部分。以此方式,全文模型化器122可實施本發明之技術以利用多核心處理技術及/或多個處理器以改良當前經寫碼變換係數的全文模型化操作。
藉由在單一遍次中編碼不同變換係數之對應位元子,全文模型化器122可提供優於現有多遍次CABAC技術之一或多個優點。舉例而言,藉由在單一遍次中寫碼多個變換係數之對應位元子(例如,各別bin0),全文模型化器122可避開對在位元子轉變處頻繁地儲存並擷取新的全文模型之需要。確切而言,全文模型化器122可越過給定遍次使用單一全文模型,此係因為遍次以越過多個變換係數之對應位元子 (例如,各別bin0)為目標。以此方式,全文模型化器122可實施本發明之並行化全文選擇技術以減輕或潛在地消除起因於頻繁全文切換之時間延遲及資源攪拌。對比而言,現有多遍次寫碼因為編碼第一變換係數之bin0、bin1、bin2等且接著編碼第二變換係數之bin0、bin1、bin2等,將要求頻繁全文模型儲存及擷取操作。
舉例而言,全文模型化器122可產生或以其他方式存取一或多個預定義範本以用於本文中所描述之第i位元子全文模型化功能性。全文模型化器122可用於當前寫碼變換係數之第i位元子之全文模型化之預定義範本的一個非限制性實例說明於圖10中。諸如圖10之本地範本140的預定義範本定義8×8變換區塊之對角線掃描次序,其中「L」指明最後有效掃描位置,「x」指明當前掃描位置,且「xi」指明由本地範本140覆蓋之相鄰掃描位置。關於xi,「i」之值範圍為零至4,且範圍約束表達為i є[0,4]。根據本發明之一或多個態樣,全文模型化器122可將位於本地範本140中之變換係數之第i位元子用於當前經編碼之變換係數之對應第i位元子的全文模型化。根據一些實施,全文模型化器122可使用多個範本來執行本發明之並行化位元子全文模型化。在一個實例中,範本大小及/或形狀取決於以下準則中之一或多者:(i)變換單元之大小;(ii)模式;或(iii)當前變換係數在變換單元或係數群組(CG)內之位置。
藉由使用一或多個預定義範本來遍歷位元子值之先前已寫碼TU,全文模型化器122可實施本發明之技術以提供優於現有CABAC技術之一或多個增強。舉例而言,藉由使用諸如圖10之本地範本140之TU遍歷範本,全文模型化器122可避開對關於不同寫碼遍次分離地判定遍歷方案之需要。因此,藉由實施本發明之基於範本之並行化全文選擇技術,全文模型化器122可關於位元子寫碼增加輸貫量,同時維持寫碼精度。
根據另一實例實施,全文模型化器122可僅將本發明之並行化全文模型化技術應用至當前寫碼變換係數之前「K」個位元子,其中「K」小於M,且其中「M」指明可用位元子索引之上限。全文模型化器122可使用另一全文模型化技術或根據旁路模式編碼經寫碼之剩餘(M+1-K)個位元子。
根據另一實例實施,全文模型化器122可定義先前已寫碼變換係數之全域為當前變換單元或CG內在編碼次序上在當前編碼之變換係數之前的「N」個連續變換係數。替代地,全文模型化器122可判定N為變數。在一個實例中,全文模型化器122可判定,N之值取決於當前變換單元中當前經編碼變換係數之相對位置。在另一實例中,全文模型化器122可判定N之值取決於變換單元大小。
在另一實施中,全文模型化器122可定義先前經編碼變換係數之全域為定位於當前變換單元或CG內之當前位置之鄰域處之彼等變換係數。在一個實例中,當前位置之鄰域受約束於直接鄰近於當前位置之彼等位置,或直接鄰近於當前位置或與當前位置分離之位置。在另一實例中,鄰域亦可包括此等位置,但擴展以包括一或多個空間相鄰變換單元中之位置。
根據本發明之各種態樣,全文模型化器122可依據與一或多個先前已寫碼變換係數相關聯之值而定義位元子之全文索引。舉例而言,全文模型化器122可使用產生先前已寫碼變換係數之所有第i位元子值之總和之函數。更具體而言,在此實例中,全文模型化器122可執行TU/CG之所有先前經編碼變換係數之可用第k位元子值之值的求和。又,全文模型化器122可使用所得總和在當前寫碼變換係數之第i位元子之全文模型化期間作為全文索引(CtIdx)。
根據本發明之一些態樣,全文模型化器122在不同大小之變換單元中對於相同遍次使全文索引導出規則保持不改變。然而,全文模型 化器122可將偏移應用至全文索引以將全文模型化用於當前寫碼位元子。舉例而言,全文模型化器122可判定兩個不同變換大小具有兩個全文模型集合。又,全文模型化器122可定義偏移作為一個此集合中之全文模型之數目。舉例而言,若全文模型化器122判定TU大小小於具有預定義尺寸M×M之正方形,則全文模型化器122可判定,每一此TU(小於M×M)的TU大小具有其自身之各別全文模型集合。相反,熵編碼單元56可判定具有等於或大於M×M之大小之所有TU共用相同全文模型集合。
在各種使用狀況情境下,全文模型化器122可設定M之值為16。更具體而言,在此等實例中,若全文模型化器122判定當前寫碼TU之大小小於16×16正方形,則全文模型化器122可判定當前寫碼TU與對應於TU之特定大小的一組全文模型相關聯。相反,若熵編碼單元判定當前經寫碼TU具有等於或大於16×16之大小,則全文模型化器122可判定當前經寫碼TU與具有等於或大於16×16之大小之所有其他TU共用相同全文模型集合。在一些實例中,全文模型化器122可將基於TU大小之全文選擇僅應用至明度區塊。
根據本發明之一些態樣,全文模型化器122可基於變換大小來判定係數群組(CG)大小。換言之,根據此等態樣,CG大小取決於變換大小。替代地或另外,全文模型化器122可基於寫碼模式來判定CG大小。在此等實例中,全文模型化器122可判定CG大小為取決於變換大小及/或寫碼模式中之一者或兩者。替代地或另外,全文模型化器122可基於變換矩陣來判定CG大小。
根據本發明之一些態樣,全文模型化器122亦可應用經並行化全文模型化技術,亦可應用至使用變換旁路模式(亦被稱作「變換跳過模式」)編碼之區塊。變換旁路模式指寫碼模式,根據該寫碼模式,視訊編碼器20可跳過編碼之變換及量化操作以提供無失真寫碼輸出。 因此,根據本發明之某些態樣,全文模型化器122可擴展並行化全文選擇技術以提供無失真寫碼之情況下的潛在所得優點。
返回至圖4,在一些狀況下,熵編碼單元56或視訊編碼器20之另一單元可經組態以執行除熵寫碼之外的其他寫碼功能。舉例而言,熵編碼單元56可經組態以判定用於CU及PU之寫碼區塊型樣(CBP)值。又,在一些狀況下,熵編碼單元56可執行係數之延行長度寫碼。另外,熵編碼單元56或其他處理單元亦可寫碼其他資料,諸如量化矩陣之值。
如上文所論述,反量化單元58及反變換處理單元60分別應用反量化及反變換以重建像素域中之殘餘區塊(例如,供稍後用作參考區塊)。運動補償單元44可藉由將殘餘區塊添加至參考圖像記憶體64之圖框中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用至重建之殘餘區塊以計算用於在運動估計中使用之次整數像素值。求和器62將重建之殘餘區塊添加至由運動補償單元44產生之經運動補償的預測區塊,以產生重建之視訊區塊以用於儲存於參考圖像記憶體64中。重建之視訊區塊可由運動估計單元42及運動補償單元44用作參考區塊以對後續視訊圖框中之區塊框間寫碼。
圖6為說明視訊解碼器30之實例之方塊圖,該視訊解碼器可實施用於根據增強型CABAC設計對資料進行寫碼之技術。在圖3之實例中,視訊解碼器30包括熵解碼單元70、運動補償單元72、框內預測單元74、反量化單元76、反變換單元78、參考圖像記憶體82和求和器80。在一些實例中,視訊解碼器30可執行大體上與關於視訊編碼器20(圖4)所描述之編碼遍次互逆的解碼遍次。運動補償單元72可基於自熵解碼單元70接收之運動向量產生預測資料,而框內預測單元74可基於自熵解碼單元70接收之框內預測模式指示符產生預測資料。
在解碼程序期間,視訊解碼器30自視訊編碼器20接收表示經編 碼視訊圖塊之視訊區塊及相關聯之語法元素的經編碼視訊位元串流。視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符及其他語法元素。在一些實例中,熵解碼單元70可執行根據本發明之技術的CABAC及/或增強型CABAC。熵解碼單元70將運動向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可在視訊圖塊層級及/或視訊區塊層級接收語法元素。
當視訊圖塊經寫碼為框內寫碼(I)圖塊時,框內預測單元74可基於所傳信之框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。當視訊圖框經寫碼為經框間寫碼(亦即,B、P或GPB)圖塊時,運動補償單元72基於運動向量及自熵解碼單元70接收之其他語法元素產生用於當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單中之一者內的參考圖像中之一者產生。視訊解碼器30可基於儲存於參考圖像記憶體82中之參考圖像使用預設建構技術建構參考圖像清單(清單0及清單1)。運動補償單元72藉由剖析運動向量及其他語法元素判定用於當前視訊圖塊之視訊區塊的預測資訊,且使用預測資訊產生用於正解碼之當前視訊區塊的預測性區塊。舉例而言,運動補償單元72使用所接收語法元素中之一些以判定用以對視訊圖塊之視訊區塊寫碼之預測模式(例如,框內或框間預測)、框間預測圖塊類型(例如,B圖塊、P圖塊或GPB圖塊)、用於該圖塊之參考圖像清單中之一或多者之建構資訊、用於該圖塊之每一經框間編碼視訊區塊之運動向量、用於該圖塊之每一經框間寫碼視訊區塊之框間預測狀態及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
運動補償單元72亦可執行基於內插濾波器之內插。運動補償單元72可使用如由視訊編碼器20在視訊區塊之編碼期間所使用的內插濾波器,以計算參考區塊之次整數像素的內插值。在此狀況下,運動補 償單元72可自所接收之語法元素判定由視訊編碼器20使用之內插濾波器且使用該等內插濾波器來產生預測性區塊。
反量化單元76反量化(亦即,解量化)位元串流中所提供,並由熵解碼單元70解碼的經量化變換係數。反量化程序可包括使用由視訊解碼器30針對視訊圖塊中之每一視訊區塊計算之量化參數QPY以判定應進行應用的量化程度及(同樣地)反量化程度。
反變換單元78將反變換(例如,反DCT、反整數變換或概念上類似之反變換處理)應用於變換係數,以便在像素域中產生殘餘區塊。
在運動補償單元72基於運動向量及其他語法元素產生當前視訊區塊之預測性區塊後,視訊解碼器30藉由對來自反變換單元78之殘餘區塊與由運動補償單元72產生之對應預測性區塊求和而形成經解碼之視訊區塊。求和器80表示執行此求和運算之該或該等組件。若需要,亦可應用解塊濾波器來對經解碼區塊濾波以便移除區塊效應假影。亦可使用其他迴路濾波器(在寫碼迴路中抑或在寫碼迴路之後)以使像素轉變平滑,或以其他方式改良視訊品質。接著將給定圖框或圖像中之經解碼之視訊區塊儲存於參考圖像記憶體82中,該參考圖像記憶體儲存用於後續運動補償之參考圖像。參考圖像記憶體82亦儲存經解碼視訊以用於稍後在顯示裝置(諸如,圖1之顯示裝置32)上呈現。
圖6之視訊解碼器30表示視訊解碼器之實例,該視訊解碼器可經組態以單獨或以任何組合執行用於增強型CABAC之本發明之各種技術中的任一者。因此,上述技術可由視訊編碼器20(圖1及圖4)及/或視訊解碼器30(圖1及圖5)執行,其兩者可通常被稱作視訊寫碼器。同樣地,視訊寫碼可指視訊編碼或視訊解碼(在適用時)。視訊解碼器30之諸如熵解碼單元70之各種組件可實施本發明之增強型CABAC技術以執行全文模型化。根據本發明之各種態樣,熵解碼單元70可使用一或多個先前已解碼變換係數之第i位元子的值執行針對變換係數之第i位 元子的全文模型化。換言之,當前變換係數之第i位元子的全文模型化取決於熵解碼單元70已解碼之一或多個變換係數之對應第i位元子的值。
藉由使用先前已解碼變換之第i位元子之值執行針對當前變換係數之位元子的全文模型化,熵解碼單元70可實施本發明之技術以提供對現有CABAC寫碼器之一或多個潛在改良。作為此益處之實例,熵解碼單元70可藉由實施本發明之技術來改良全文模型化操作的並行化。更具體而言,熵解碼單元70可針對當前解碼之變換係數之多個位元子並行地執行全文模型化。舉例而言,若熵解碼單元70判定對應於多個位元子之位元子值可自先前已解碼變換係數獲得,則熵解碼單元70可至少部分並行化當前經解碼變換係數之位元子的全文模型化操作。
熵解碼單元70可根據多遍次寫碼方案執行本發明之並行化全文模型化。更具體而言,多遍次寫碼方案指如下寫碼技術:熵解碼單元70藉由該寫碼技術將分離執行緒指派給每一特定位元子(例如,針對第一位元子指派執行緒1,針對第二位元子指派執行緒2等)。因此,根據多遍次寫碼,所有bin0例項可獨立於按順序解碼之bin1例項按順序進行解碼,bin0例項及bin1例項均獨立於按順序解碼之bin2例項進行解碼,等。在一些實例中,熵解碼單元70可關於單一區塊之變換單元執行多遍次寫碼。此外,對於根據常規模式解碼之位元子,熵解碼單元70可執行若干解碼遍次。每一遍次可係關於所有變換係數之單一對應位元子。換言之,在每一遍次期間,熵解碼單元70並不利用關於其他遍次之資訊。舉例而言,熵解碼單元70在第一遍次中可解碼一個變換單元/CG內之所有變換係數的第一位元子(若需要)。在此實例中,在第二遍次中,熵解碼單元70可解碼一個變換單元/CG內之所有變換係數的第二位元子(若需要)等等。
在一個實例使用狀況下,熵解碼單元70可使用先前已寫碼相鄰變換係數之bin0之值來執行當前寫碼變換係數之bin0的全文模型化,使用先前已寫碼相鄰變換係數之bin1的值執行當前寫碼變換係數之bin1的全文模型化,等等。使用對於先前已寫碼變換係數可獲得之任何位元子值,熵解碼單元70可並行地執行當前寫碼變換係數之多個位元子的全文模型化。在上文所描述之使用狀況情境下,若bin0及bin1皆自先前已寫碼相鄰變換係數可獲得,則熵解碼單元70可使當前經寫碼變換係數之bin0及bin1的全文模型化並行化。以此方式,熵解碼單元70可實施本發明之技術以在如HEVC中所描述之多遍次寫碼之原則內執行CABAC,同時藉由啟用且潛在地採用全文模型化操作之並行化而改良當前變換係數之位元子的全文選擇。
應瞭解,熵解碼單元70可但可能不必並行地執行所有此等位元子的整個全文模型化。更具體而言,熵解碼單元70可並行地執行多個位元子之全文模型化的一些部分。以此方式,熵解碼單元70可實施本發明之技術以利用多核心處理技術及/或多個處理器以改良當前寫碼變換係數的全文模型化操作。
藉由在單一遍次中解碼不同變換係數之對應位元子,熵解碼單元70可提供優於現有多遍次CABAC技術之一或多個優點。舉例而言,藉由在單一遍次中解碼多個變換係數之對應位元子(例如,各別bin0),熵解碼單元70可避開在位元子轉變處頻繁地儲存並擷取新的全文模型之需要。確切而言,熵解碼單元70可越過給定遍次使用單一全文模型,此係因為遍次以越過多個變換係數之對應位元子(例如,各別bin0)為目標。以此方式,熵解碼單元70可實施本發明之並行化全文選擇技術以減輕或潛在地消除起因於頻繁全文切換之時間延遲及資源攪拌。對比而言,現有多遍次寫碼因為解碼第一變換係數之bin0、bin1、bin2等且接著解碼第二變換係數之bin0、bin1、bin2等, 云云而將要求頻繁之全文模型保存及擷取操作。
舉例而言,熵解碼單元70可產生或以其他方式存取一或多個預定義範本以用於本文中所描述之第i位元子全文模型化功能性。熵解碼單元70可用於當前寫碼變換係數之第i位元子之全文模型化的預定義範本之一個非限制性實例說明於圖10中。諸如圖10之本地範本140的預定義範本定義8×8變換區塊之對角線掃描次序,其中「L」指明最後有效掃描位置,「x」指明當前掃描位置,且「xi」指明由本地範本140覆蓋之相鄰掃描位置。關於xi,「i」之值範圍為零至4,且範圍約束表達為i є[0,4]。根據本發明之一或多個態樣,熵解碼單元70可使用位於本地範本140中之變換係數之第i位元子從而用於當前經解碼之變換係數之對應第i位元子的全文模型化。根據一些實施,熵解碼單元70可使用多個範本以執行本發明之並行化位元子全文模型化。在一個實例中,範本大小及/或形狀取決於以下準則中之一或多者:(i)變換單元之大小;(ii)模式;或(iii)當前變換係數在變換單元或係數群組(CG)內之位置。
藉由使用一或多個預定義範本來遍歷位元子值之先前已寫碼TU,熵解碼單元70可實施本發明之技術以提供優於現有CABAC技術之一或多個增強。舉例而言,藉由使用諸如圖10之本地範本140之TU遍歷範本,熵解碼單元70可避開對關於不同寫碼遍次分離地判定遍歷方案之需要。因此,藉由實施本發明之基於範本之並行化全文選擇技術,熵解碼單元70可關於位元子寫碼增加輸貫量,同時維持寫碼精度。
根據另一實例實施,熵解碼單元70可僅將本發明之並行化全文模型化技術應用至當前經寫碼變換係數之前「K」個位元子,其中「K」小於M,且其中「M」指明可用位元子索引之上限。熵解碼單元70可使用另一全文模型化技術或根據繞過模式解碼經寫碼之剩餘 (M+1-K)個位元子。
根據另一實例實施,熵解碼單元70可定義先前已寫碼變換係數之全域為當前變換單元或CG內在解碼次序上在當前經解碼變換係數之前的「N」個連續變換係數。替代地,熵解碼單元70可判定N為變數。在一個實例中,熵解碼單元70可判定,N之值取決於當前解碼變換係數在當前變換單元中之相對位置。在另一實例中,熵解碼單元70可判定N之值,使得N取決於變換單元大小。
在另一實施中,熵解碼單元70可定義先前已寫碼變換係數之全域為定位於當前變換單元或CG之當前位置之鄰域處之彼等變換係數。在一個實例中,當前位置之鄰域受約束於直接鄰近於當前位置之彼等位置,或直接鄰近於當前位置或與當前位置分離之位置。在另一實例中,鄰域亦可包括此等位置,但擴展以包括一或多個空間相鄰變換單元中之位置。
根據本發明之各種態樣,熵解碼單元70可依據與一或多個先前已寫碼變換係數相關聯之值而定義位元子的全文索引。舉例而言,熵解碼單元70可使用產生先前已寫碼變換係數之所有第i位元子值之總和的函數。更具體而言,在此實例中,熵解碼單元70可執行TU/CG之所有先前已解碼變換係數之可用第i位元子值之值的求和。又,熵解碼單元70可使用所得總和在當前寫碼變換係數之第i位元子之全文模型化期間作為全文索引(CtIdx)。在另一實例中,熵解碼單元70可定義截斷值。在此實例中,當函數之輸出超出預定義截斷值時,熵解碼單元70關於當前經寫碼之位元子可使用相同全文。在一些實例中,熵解碼單元70可判定,截斷值是基於(或取決於)位元子索引/變換單元大小/寫碼模式/一個變換單元內之變換係數位置。
在一些實例中,熵解碼單元70可在不同遍次中解碼經寫碼之對應位元子,使得此等位元子共用相同全文模型。在一個實例中,熵解 碼單元70可判定,不同遍次中針對位元子之全文索引導出方法(例如,計算全文索引之函數)不同。根據一個實例,熵解碼單元70可判定,不同遍次中針對位元子之全文索引導出方法(例如,計算全文索引之函數)可相同。
根據本發明之一些態樣,熵解碼單元70在不同大小之變換單元中對於相同遍次使全文索引導出規則保持不改變。然而,熵解碼單元70可將偏移應用至全文索引以執行針對當前經寫碼位元子之全文模型化。舉例而言,熵解碼單元70可判定兩個不同變換大小具有兩個全文模型集合。又,熵解碼單元70可定義偏移作為一個此集合中之全文模型之數目。舉例而言,若熵解碼單元70判定TU大小小於預定義尺寸M×M之正方形,則熵解碼單元70可判定每一此TU(小於M×M)的TU大小具有其自己的全文模型之各別集合。相反,熵解碼單元70可判定具有等於或大於M×M之大小之所有TU共用相同全文模型集合。
在各種使用狀況情境下,熵解碼單元70可設定M值為16。更具體而言,在此等實例中,若熵解碼單元70判定當前寫碼TU之大小小於16×16正方形,則熵解碼單元70可判定當前寫碼TU與對應於TU之特定大小之全文模型集合相關聯。相反,若熵解碼單元70判定當前解碼TU具有等於或大於16×16之大小,則熵解碼單元70可判定當前寫碼TU與具有等於或大於16×16之大小之所有其他TU共用相同全文模型集合。在一些實例中,熵解碼單元70可將僅基於TU大小之全文選擇應用至明度區塊。
根據一些實例,用於對剩餘位元子寫碼之萊斯參數取決於變換大小。替代地或另外,萊斯參數可取決於寫碼模式。在一個實例中,替代將哥倫布-萊斯碼用於coeff_abs_level_remaining,熵解碼單元70可使用其他二進位化技術。替代地或另外,一個以上二進位方法可應用於對coeff_abs_level_remaining語法元素寫碼。在一個實例中,用於 對coeff_abs_level_remaining寫碼之二進位方法(例如,萊斯參數)取決於寫碼模式。替代地,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)可取決於一個TU內之相對位置。替代地,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)可取決於在掃描次序上距第一經寫碼/解碼變換係數之距離。在一些情況下,用於對coeff_abs_level_remaining寫碼之二進位化方法(例如,萊斯參數)取決於相對於變換單元之寫碼群組位置。
根據本發明之一些態樣,熵解碼單元70可基於變換大小而判定係數群組(CG)大小。換言之,根據此等態樣,CG大小取決於變換大小。替代地或另外,熵解碼單元70可基於寫碼模式來判定CG大小。在此等實例中,熵解碼單元70可判定CG大小為取決於變換大小及/或寫碼模式中之一者或兩者。替代地或另外,熵解碼單元70可基於變換矩陣而判定CG大小。
根據本發明之一些態樣,熵解碼單元70亦可應用經並行化全文模型化技術至使用變換旁路模式(亦被稱作「變換跳過模式」)編碼之區塊。變換旁路模式指寫碼模式,視訊解碼器30可根據寫碼模式跳過解碼之反變換及反量化操作以處理視訊位元串流之無損編碼部分。因此,根據本發明之某些態樣,熵解碼單元70可擴展並行化全文選擇技術以在所接收經編碼視訊位元串流經無損編碼之例項中提供潛在所得優點。
本發明之各種變換係數全文模型化技術之實例細節下文進一步詳細地論述。下文描述根據多遍次寫碼之全文模型化之一個實例。根據此實例,熵解碼單元70可應用如HEVC中佈局之寫碼元件及寫碼次序(多遍次寫碼及基於CG之寫碼)。另外,熵解碼單元70可應用二進位化技術同時保持變換係數之量值不改變。然而,熵解碼單元70可修改用於對變換係數之量值寫碼的全文索引及萊斯參數計算方法。
針對bin0(有效旗標)之全文索引計算取決於以下資訊:範本中非零係數(亦即,係數之量值大於0)之數目;當前係數在當前TU內之位置;明度分量之TU大小;及色彩分量。關於色彩分量相依性,明度及色度經分離地考慮。另外,在考慮針對明度分量之TU大小中,全文索引計算對於明度而言獨立於TU大小。明度分量之TU大小可包括三個集合,即4×4TU、8×8TU、16×16及更大TU。
對於bin1及bin2(大於1之Grt、大於2之Grt),全文索引計算取決於以下資訊:範本中大於1(對於bin1)且大於2(對於bin2)之absLevel之數目;當前係數在當前TU內之位置;以及色彩分量。萊斯參數導出程序取決於旁路寫碼資訊,且取決於sum_absolute_levelMinus1語法元素之值。
在一個實例中,熵解碼單元70可定義函數sum_template(k)以傳回範本中之係數之數目,使得係數之量值大於ksum_template(k)函數之實例係如下:sum_template(k)=Σδ j (x i ,k) 其中, 另外,在此實例中,熵解碼單元70可定義函數f(x,y,n,t)以處置位置資訊,且定義另一函數δ k (u,v)以處置分量資訊如下:
圖10描繪熵解碼單元70可關於本文中所描述之全文模型化技術使用之範本(本地範本140)的一個實例。當前變換係數標記為「X」且五個空間相鄰變換係數標記為「Xi」(其中「i」表示自0至4之整數)。若滿足以下條件中之任一者,則熵解碼單元70可將Xi標記為不可用且不用於全文索引導出程序中: ‧Xi之位置及當前變換係數X不位於同一變換單元中;或、‧Xi之位置位於圖像之水平或垂直邊界外部;或‧變換係數Xi尚未經寫碼。在多遍次寫碼之狀況下,只要寫碼了同一寫碼遍次中之位元子,位元子便可用於全文索引導出程序中。因此,自解碼觀點,不必要的是充分解碼一個變換係數。
替代地,熵解碼單元70可應用一或多個其他範本,其他範本可包括來自相鄰變換單元之資訊。在各種實例中,相鄰TU可為空間相鄰TU或時間相鄰TU。根據本文中所描述之全文模型化技術中之一或多者,全文索引計算可如以下段落中所描述而定義。
關於bin0,熵解碼單元70可導出全文索引如下:c 0=min(sum_template(0),5)+f(x,y,6,2)+δ k (f(x,y,6,5),cIdx)+offset(cIdx,width)c 0=c 0+offset(cIdx,width)
其中
在一個實例中,基於c0之範圍,一個明度全文之集合可包括等於NumberLumaCtxOneset之值的數目個全文模型。舉例而言,明度全文之集合可包括18個全文模型。關於用於對明度bin0寫碼之不同變換大小(其中變換寬度由「w」標明),熵解碼單元70可選擇針對每一變換大小之不同集合。另外,色度及明度全文經分離以進一步改良寫碼效能。對於YCbCr輸入,三個色彩分量(亦即,Y、Cb及Cr)分別由等於0、1及2之分量索引v表示。
在此等實例中,熵解碼單元70可導出bin1之全文索引如下:c 1=min(sum_template(1),4)+N c 1=c 1+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx)
另外、在此等實例中,熵解碼單元70可導出bin2之全文索引如 下:c 2=min(sum_template(2),4)+N c 2=c 2+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx)
在一個實例中,N等於0。在另一實例中,N等於1。替代地或另外,當N等於1時,熵解碼單元70可藉由等於0之全文索引c1或c2而對第一bin1或bin2寫碼。在此實例中,熵解碼單元70可根據以上方程式對bin1及bin2之其他例項寫碼。
在一個實例中,熵解碼單元70可藉由同一全文模型集合但藉由不同索引而解碼bin1及bin2。替代地,bin1及bin2藉由兩個全文模型集合寫碼,且其之間不存在相依性。對於剩餘位元,熵解碼單元70可應用在HEVC中佈局之設計或在JCTVC-H0228中佈局之設計。在各種實例中,熵解碼單元70可在建置上文所描述之各種函數中使用不同恆定值。
本發明之額外態樣係針對全文初始化增強。本發明之全文初始化增強可獨立於上述並行化全文選擇技術而實施,或可與上述並行化全文選擇技術中之任何一或多者組合地實施。本發明之全文初始化技術中之一或多者係針對重新使用來自先前經解碼資訊之全文資訊。舉例而言,熵解碼單元70可藉由複製來自先前經解碼圖塊之狀態而繼承或另外導出圖塊之全文資訊,該圖塊可屬於當前圖像或先前經解碼圖像。
藉由自先前已解碼圖塊繼承全文初始化資訊,熵解碼單元70可實施本發明之技術以相比於現有CABAC全文初始化技術來提供增強型準確度。舉例而言,現有CABAC全文初始化技術依賴於自表獲得之全文狀態資訊。然而,表係使用靜態資訊形成。然而,根據本發明之基於繼承之全文初始化,熵解碼單元70可自先前已解碼圖塊提取全文初始化資訊,該先前已解碼圖塊具有與當前解碼之圖塊相同之圖塊 類型及/或具有相同的量化參數(QP)。以此方式,熵解碼單元70可實施本發明之技術以改良用於當前圖塊之全文初始化資訊的準確度。
根據一些實施,熵解碼單元70可識別先前已解碼圖塊之中心LCU為繼承全文初始化資訊所自的圖塊。在各種實例中,熵解碼單元70可自多個對應先前已解碼圖塊繼承當前圖像之多個圖塊的全文初始化。在一個實例中,熵解碼單元70可使用先前已解碼圖像之同一區塊(即,中心LCU),自該先前已解碼圖像繼承根據本發明之全文初始化技術解碼之多個圖塊之全部的全文初始化資訊。在另一實例中,熵解碼單元70可自來自先前已解碼圖像之對應圖塊中之每一者的各別中心LCU繼承針對多個圖塊中之每一者的全文初始化資訊。
舉例而言,在解碼先前已解碼圖像之中心LCU之後,熵解碼單元70可儲存關於圖塊全文初始化之全部狀態資訊。又,熵解碼單元70可存取或讀取經複製狀態資訊並將狀態資訊用於初始化當前經解碼之圖像之一或多個圖塊的全文。藉由使用來自先前經解碼圖像之狀態資訊來執行當前圖像之圖塊之全文初始化,熵解碼單元70可出於全文初始化之目的而減小對靜態資訊之固定表的依賴性。舉例而言,在將固定表用於初始化第一圖像以及任一經框內寫碼圖像之圖塊的全文之後,熵解碼單元70可執行隨後經解碼之經框間寫碼圖像的全文初始化。熵解碼單元70可關於P圖塊及/或B圖塊來實施本發明之基於繼承之全文初始化技術。
下文描述本發明之全文初始化技術的額外實例細節。另外或替代地,熵解碼單元70可經組態以執行用於全文初始化之根據本發明的技術,如下文所論述。熵解碼單元70可實施本發明之全文初始化技術以在編碼位於先前已解碼圖像中之一個區塊為用於寫碼當前圖塊之初始化全文資訊之後繼承全文資訊。熵解碼單元70可將基於繼承之全文初始化技術應用至P及/或B圖塊。另外,上文提及之「一個區塊」之 位置經預定義,且對於一個整個序列固定。舉例而言,最大寫碼單元大小(LCU)由「N×N」指明,圖像寬度由「W」指明,且圖像高度由「H」指明。在此實例中,藉由「PicWidthInCtbsY」指明之一個LCU列內之LCU的數目等於頂值函數即Ceil(W÷N)之輸出。另外,在此實例中,藉由「PicHeightInCtbsY」指明之LCU列的數目等於Ceil(H÷N),其中頂值函數Ceil(x)表示大於或等於x之最小整數。
根據一些實例,位置經界定為先前已解碼圖像中之第一圖塊之中心LCU。假設numLCUinSlice表示第一圖塊中之LCU數目,位置經界定為:TargetCUAddr=numLCUinSlice/2。在一個實例中,位置經界定為:TargetCUAddr=(PicWidthInCtbsY* PicHeightInCtbsY)/2+PicWidthInCtbsY/2。此外,當TargetCUAddr等於或大於(PicWidthInCtbsY* PicHeightInCtbsY),(例如,PicHeightInCtbsY等於1)時,TargetCUAddr重設為(PicWidthInCtbsY* PicHeightInCtbsY-1),其對應於最後LCU。在一個實例中,位置定義為先前已寫碼圖像之最後LCU,或一個圖框內之中心LCU(亦即,PicWidthInCtbsY* PicHeightInCtbsY/2),或中心LCU列之最後LCU(亦即,PicWidthInCtbsY*(PicHeightInCtbsY/2)-1),或第k LCU列之最後LCU(例如,k等於1)。根據一個實例,位置定義為先前已寫碼圖像中之第一圖塊的最後LCU。根據本發明之全文初始化技術之一些實施,不同解決方案可具有寫碼區塊之位置的不同定義。
在一些實例中,熵解碼單元70可自諸如序列參數集(SPS)或圖片參數集(PPS)之參數集獲得「一個區塊」之位置,該參數集在經編碼視訊位元串流中傳信。諸如SPS及/或PPS之參數集可關於當前圖像之圖塊在頻帶外傳信。在一些實例中,「一個區塊」之位置可在圖塊標頭中傳信。圖塊標頭可關於對應圖塊在頻帶內傳信。在此等及其他實例中,諸如參考圖像索引、對應圖像次序計數差異(或△POC)的先前 經解碼圖像之指示可在參數集或圖塊標頭中傳信。
在一些實例中,「先前已寫碼圖像」經定義為就(緊接)在當前圖像之前經解碼之圖像。在一些實例中,「先前已寫碼圖像」定義為係當前圖像之前經解碼之最後圖像之圖像,使得先前圖像中之第一圖塊具有與當前圖塊相同之圖塊類型。根據一些實例,「先前已寫碼圖像」定義為當前圖像之前的經解碼圖像之圖像,且先前圖像中之第一圖塊具有與當前圖塊相同之初始化量化參數。根據一些實例,「先前已寫碼圖像」定義為含有先前已寫碼圖塊之圖像,該先前已寫碼圖塊具有與當前圖塊相同之圖塊類型或相同之圖塊類型及量化參數兩者,或相同之圖塊類型及時間層兩者,及/或相同之初始化量化參數。在一些實例中,「先前已寫碼圖像」經定義為存在於圖像緩衝器(諸如,經解碼圖像緩衝器)中之圖像,且可用於當前圖像作為參考圖像。根據此等實例,如在基於HEVC之平台中,先前圖塊必須屬於參考圖像集(RPS)中之圖像或以下RPS子集中之一者中的圖像:RefPicSetStCurrBefore、RefPicSetStCurrAfter及RefPicSetLtCurr。
根據本發明之全文初始化技術之一些實施,若在顯示次序上在一個經框內寫碼圖像之後寫碼之所有圖像並不具有相同圖塊類型及相同初始化量化參數,則全文資訊之繼承可被禁用。在此狀況下,應用習知初始化方法,例如,熵解碼單元70可使用提取初始化狀態資訊所自之固定表。根據一些實施,熵解碼單元70可將本發明之基於繼承之全文初始化技術應用至特定全文模型,且不應用至其他全文模型。另外或替代地,「一個區塊」之位置對於不同全文模型可不同。應瞭解,根據本發明之全文初始化技術,上文列出之各種實施選項可單獨地或以各種組合實施。
在本發明之全文初始化技術之一些實例中,若熵解碼單元70判定cabac_init_present_flag經啟用,則熵解碼單元70可判定包括於「先 前已解碼圖像」中之圖塊應具有與當前編碼圖塊相同之類型。換言之,在此實例中,若cabac_init_present_flag經啟用,則先前已解碼圖像之定義取決於匹配圖塊類型。另外,自解碼觀點,傳信之cabac_init_flag根據此實施並不予以考慮。在一些情況下,替代地,熵解碼單元70可首先基於cabac_init_flag及「先前已解碼圖像」之選擇而修改當前圖塊之圖塊類型。
下文描述本發明之全文初始化技術的額外實例細節。根據一些實施,熵解碼單元70關於框內隨機存取圖像(IRAP)而可能不應用本發明之基於繼承之全文初始化技術。舉例而言,關於三種類型IRAP即瞬時解碼再新(IDR)圖像、清潔隨機存取(CRA)圖像及斷鏈存取(BLA)圖像中之任一者,熵解碼單元70可不實施基於繼承之全文初始化技術。
在基於先前已寫碼資訊之基於繼承之全文初始化的一個實例中,熵解碼單元70可藉由一個圖塊解碼一個圖像。在此實例中,熵解碼單元70可應用以下規則中之一或多者來導出全文模型之初始化狀態。第一規則為,先前已解碼圖像之圖塊具有與當前解碼圖塊之圖塊類型相同的圖塊類型。替代地或另外,初始化圖塊量化參數(QP)與用於對當前解碼圖塊寫碼之圖塊QP相同。在一些情況下,熵解碼單元70可記錄藉由先前經解碼圖像中之預定義位址解碼一個圖塊之後的狀態資訊(例如,狀態),且使用所記錄狀態資訊作為用於當前解碼圖塊之初始化狀態資訊。
在一個實例中,「一個區塊」表示最大寫碼單元(LCU)。舉例而言,LCU大小(維度)可由「N×N」指明,圖像寬度由「W」指明,且圖像高度由「H」指明。一個LCU列內LCU的數目可由PicWInCtbsY指明,且等於頂值函數Ceil(W÷N)之輸出。藉由PicHInCtbsY指明的圖像中LCU列之數目等於頂值函數Ceil(H÷N)之輸出。一般而言,函 數Ceil(x)傳回大於或等於x的最小整數。另外,以LCU為單位量測之圖像之寬度及以LCU量測之圖像之高度分別由使用上述頂值函數獲得之PicWInCtbsY及PicHInCtbsY值表示。在一個實例中,LCU之位址根據以下方程式來界定:TargetCUAddr=(PicWInCtbsY*PicHInCtbsY)/2+PicWInCtbsY/2
此外,當TargetCUAddr等於或大於(PicWInCtbsY* PicHInCtbsY)之值時,熵解碼單元70可重設,將TargetCUAddr重設為(PicWInCtbsY* PicHInCtbsY-1)的值。舉例而言,TargetCUAddr在PicHInCtbsY等於1之狀況下等於或超出以上值。另外,(PicWInCtbsY* PicHInCtbsY-1)的值對應於一個圖像中之最後LCU。
此外,在一些情況下,熵解碼單元70可不將上文描述之基於規則之全文初始化技術應用於在顯示次序上在新的經框內寫碼圖像之後的前一或多個圖像。熵解碼單元70可不應用基於規則之全文初始化的實例為熵解碼單元70第一次遭遇新圖塊類型或新QP(例如,新圖塊類型或新QP已出現)的實例。舉例而言,熵解碼單元70可減輕或潛在地避免與隨機存取有關之問題。此技術之實例展示於圖9中,在該實例中,具有自28至35之圖片次序計數(POC)值之圖像的解碼次序係如下:32,28,…30,29,31,40,36,34,33,35。
依據顯示次序,具有等於40之POC值之圖像為在具有等於32之POC值之I圖像之後解碼的第一圖像。儘管具有24之POC值的圖像具有與具有等於40之POC的圖像相同之QP,且兩者共用相同圖塊類型,但熵解碼單元70可不使用具有等於24之POC之圖像的經寫碼資訊來預測具有等於40之POC值的圖像。類似地,熵解碼單元70可不使用關於等於31之POC之圖像解碼的資訊而重建具有等於33之POC的圖像。然而,熵解碼單元70可使用具有等於33之POC之圖像的經寫碼資訊而重建具有等於35之POC的圖像,此係因為兩個圖像在I圖像之後 (在顯示次序上)。
在使用先前經解碼圖像之重建不被允許、禁用或以其他方式不可用於熵解碼單元70之情況下,熵解碼單元70可應用如HEVC中定義之全文初始化技術。如上文所描述,圖6之視訊解碼器30表示視訊解碼裝置之實例,該視訊解碼裝置經組態以單獨或以任何組合執行增強型CABAC之本發明之各種技術中的任一者。
圖7為實例熵解碼單元70之方塊圖,該實例熵解碼單元可經組態以執行根據本發明之技術的CABAC。圖7之熵解碼單元70為圖6之熵解碼單元70的一個實例實施。在各種實例中,熵解碼單元70以與圖5中所描述之熵解碼單元70之方式互逆的方式執行CABAC。將來自位元串流218之經寫碼位元輸入至熵解碼單元70中。基於經寫碼位元是使用旁路模式抑或常規模式經熵寫碼而將其饋入至全文模型化器220或旁路寫碼引擎222。若經寫碼位元以旁路模式寫碼,則旁路解碼引擎將使用哥倫布-萊斯或指數哥倫布解碼(例如)以擷取非二進位語法元素之二進位值語法元素或位元子。
若經寫碼位元以常規模式寫碼,則全文模型化器220可判定經寫碼位元之機率模型及常規解碼引擎224可解碼該等經寫碼位元以產生非二進位值語法元素之位元子(或在二進位值的情況下為語法元素)。在藉由全文模型化器220判定全文模型及機率狀態σ之後,常規解碼引擎224對位元子值執行BAC。
圖5為實例熵解碼單元70之方塊圖,該實例熵解碼單元可經組態以根據本發明之技術執行CABAC。將語法元素118輸入至熵解碼單元70中。若語法元素已為二進位值語法元素(例如,僅具有值0及1之旗標或其他語法元素),則可跳過二進位化步驟。若語法元素為非二進位值語法元素(例如,可具有除1或0以外之值的語法元素),則藉由二進位化器120對非二進位值語法元素進行二進位化。二進位化器120執 行非二進位值語法元素至二進位決策序列之映射。此等二進位決策通常被稱作「位元子」。舉例而言,對於變換係數位準,可將位準之值分解為連續位元子,每一位元子指示係數位準之絕對值是否大於某一值。舉例而言,位元子0(有時被稱作有效旗標)指示變換係數位準之絕對值是否大於0。位元子1指示變換係數位準之絕對值是否大於1,等等。可針對每一非二進位值語法元素產生唯一映射。
由二進位化器120產生之每一位元子饋入至熵編碼單元56之二進位算術寫碼側。即,對於預定非二進位值語法元素集合,每一位元子類型(例如,位元子0)在下一位元子類型(例如,位元子1)之前經寫碼。可以常規模式或旁路模式執行寫碼。在旁路模式中,旁路寫碼引擎126使用固定機率模型(例如,使用哥倫布-萊斯或指數哥倫布寫碼)執行算術寫碼。旁路模式通常用於更可預測語法元素。
以常規模式進行寫碼涉及執行CABAC。在給定先前經解碼位元子之值的情況下,在可重建位元子之值之機率之處,常規模式CABAC用於對位元子值寫碼。由全文模型化器220判定為LPS之位元子的機率。全文模型化器220針對全文模型輸出位元子值及機率狀態(例如,機率狀態σ,包括LPS之值及LPS出現之機率)。全文模型可為針對一連串位元子之初始全文模型,或可基於先前重建之位元子之值來判定。如上文所述,全文模型化器220可基於所接收位元子為MPS抑或LPS而更新狀態。在藉由全文模型化器220判定全文模型及機率狀態σ之後,常規解碼引擎224對位元子值執行BAC。
全文模型化器220可實施本發明之技術而以並行化方式執行全文模型化。根據本發明之各種態樣,全文模型化器220可使用一或多個先前已解碼變換係數之第i位元子的值來執行針對變換係數之第i位元子的全文模型化。以此方式,當前變換係數之第i位元子的全文模型化取決於全文模型化器220已經選擇全文針對之一或多個變換係數之 對應第i位元子的值。
藉由使用先前已解碼變換之第i位元子之值執行當前變換係數之位元子的全文模型化,全文模型化器220可實施本發明之技術以提供對現有CABAC寫碼裝置之一或多個潛在改良。作為此益處之實例,全文模型化器220可藉由實施本發明之技術來改良全文模型化操作的並行化。舉例而言,全文模型化器220可並行地執行當前經解碼變換係數之多個位元子的全文模型化。作為一個實例,若全文模型化器220判定對應於多個位元子之位元子值可自先前已解碼變換係數獲得,則全文模型化器220可至少部分並行化當前經解碼變換係數之位元子的全文模型化操作。
全文模型化器220可根據多遍次解碼方案執行本發明之並行化全文模型化。更具體而言,多遍次解碼方案指如下解碼技術:藉由該解碼技術,熵解碼單元70d將分離執行緒指派給每一特定位元子(例如,針對第一位元子執行緒1,針對第二位元子指派執行緒2等)。因此,根據多遍次寫碼,所有bin0例項可獨立於按順序解碼之bin1例項按順序進行解碼,bin0例項及bin1例項均獨立於按順序解碼之bin2例項進行解碼,等。在一些實例中,全文模型化器220可關於單一區塊之變換單元執行多遍次解碼。此外,對於根據常規模式解碼之位元子,全文模型化器220可以多遍次執行全文選擇。每一遍次可係關於所有變換係數之單一對應位元子。換言之,在每一遍次期間,全文模型化器220並不利用與其他遍次相關之資訊。舉例而言,全文模型化器220在第一遍次中可選擇一個變換單元/CG內之所有變換係數之第一位元子的全文。在此實例中,在第二遍次中,全文模型化器220可在需要時選擇一個變換單元/CG內所有變換係數之第二位元子的全文,等等。
在一個實例使用狀況下,全文模型化器220可使用先前已寫碼相 鄰變換係數之bin0之值來執行當前寫碼變換係數之bin0的全文模型化,使用先前已寫碼相鄰變換係數之bin1之值來執行當前寫碼變換係數之bin1的全文模型化,等等。使用可用於先前已寫碼變換係數之任何位元子值,全文模型化器220可並行地執行當前寫碼變換係數之多個位元子的全文模型化。在上文所描述之使用狀況情境下,若bin0及bin1皆自先前已寫碼相鄰變換係數可獲得,則全文模型化器220可使當前經寫碼變換係數之bin0及bin1的全文模型化並行化。以此方式,全文模型化器220可實施本發明之技術以在如HEVC中所描述之多遍次解碼之原則內執行CABAC,同時藉由啟用且潛在地採用全文模型化操作之並行化而改良當前變換係數之位元子的全文選擇。
應瞭解,全文模型化器220可但可能不必要並行地執行所有此等位元子的整個全文模型化。更具體而言,全文模型化器220可同時執行多個位元子之全文模型化的一些部分。以此方式,全文模型化器220可實施本發明之技術以利用多核心處理技術及/或多個處理器以改良當前經寫碼變換係數的全文模型化操作。
藉由在單一遍次中解碼不同變換係數之對應位元子,全文模型化器220可提供優於現有多遍次CABAC技術之一或多個優點。舉例而言,藉由在單一遍次中解碼多個變換係數之對應位元子(例如,各別bin0),全文模型化器220可避開對在位元子轉變處頻繁地儲存並擷取新全文模型之需要。確切而言,全文模型化器220可越過給定遍次使用單一全文模型,此係因為遍次以越過多個變換係數之對應位元子(例如,各別bin0)為目標。以此方式,全文模型化器220可實施本發明之並行化全文選擇技術以減輕或潛在地消除起因於頻繁全文切換之時間延遲及資源攪拌。對比而言,現有多遍次寫碼因為解碼第一變換係數之bin0、bin1、bin2等且接著解碼第二變換係數之bin0、bin1、bin2等,云云而將要求頻繁之全文模型保存及擷取操作。
舉例而言,全文模型化器220可產生或以其他方式存取一或多個預定義範本以用於本文中所描述之第i位元子全文模型化功能性。全文模型化器220可用於當前寫碼變換係數之第i位元子之全文模型化之預定義範本的一個非限制性實例說明於圖10中。諸如圖10之本地範本140的預定義範本定義8×8變換區塊之對角線掃描次序,其中「L」指明最後有效掃描位置,「x」指明當前掃描位置,且「xi」指明由本地範本140覆蓋之相鄰掃描位置。關於xi,「i」之值範圍為零至4,且範圍約束表達為i є[0,4]。根據本發明之一或多個態樣,全文模型化器220可將位於本地範本140中之變換係數之第i位元子用於當前經解碼之變換係數之對應第i位元子的全文模型化。根據一些實施,全文模型化器220可使用多個範本以執行本發明之並行化位元子全文模型化。在一個實例中,範本大小及/或形狀取決於以下準則中之一或多者:(i)變換單元之大小;(ii)模式;或(iii)當前變換係數在變換單元或係數群組(CG)內之位置。
藉由使用一或多個預定義範本來遍歷位元子值之先前已寫碼TU,全文模型化器220可實施本發明之技術以提供優於現有CABAC技術之一或多個增強。舉例而言,藉由使用諸如圖10之本地範本140之TU遍歷範本,全文模型化器220可避開對關於不同解碼遍次分離地判定遍歷方案之需要。因此,藉由實施本發明之基於範本之並行化全文選擇技術,全文模型化器220可關於位元子解碼增加輸貫量,同時維持圖像準確度。
根據另一實例實施,全文模型化器220可僅將本發明之並行化全文模型化技術應用至當前寫碼變換係數之前「K」個位元子,其中「K」小於M,且其中「M」指明可用位元子索引之上限。全文模型化器220可使用另一全文模型化技術或根據旁路模式來解碼經寫碼的剩餘(M+1-K)個位元子。
根據另一實例實施,全文模型化器220可定義先前已寫碼變換係數之全域為當前變換單元或CG內在解碼次序上在當前解碼之變換係數之前的「N」個連續變換係數。替代地,全文模型化器220可判定N為變數。在一個實例中,全文模型化器220可判定,N之值取決於當前變換單元中當前經解碼變換係數之相對位置。在另一實例中,全文模型化器220可判定N值取決於變換單元大小。
在另一實施中,全文模型化器220可定義先前經解碼變換係數之全域為定位於當前變換單元或CG之當前位置之鄰域處之彼等變換係數。在一個實例中,當前位置之鄰域受約束於直接鄰近於當前位置之彼等位置,或直接鄰近於當前位置或與當前位置分離之位置。在另一實例中,鄰域亦可包括此等位置,但擴展以包括一或多個空間相鄰變換單元中之位置。
根據本發明之各種態樣,全文模型化器220可依據與一或多個先前已寫碼變換係數相關聯之值而定義位元子之全文索引。舉例而言,全文模型化器220可使用產生先前已寫碼變換係數之所有第i位元子值之總和之函數。更具體而言,在此實例中,全文模型化器220可執行TU/CG之所有先前經解碼變換係數之可用第i位元子值之值的求和。又,全文模型化器220可使用所得總和在當前經寫碼變換係數之第i位元子之全文模型化期間作為全文索引(CtIdx)。
根據本發明之一些態樣,全文模型化器220在不同大小之變換單元中對於相同遍次可使全文索引導出規則保持不改變。然而,全文模型化器220可將偏移應用至全文索引以將全文模型化用於當前寫碼位元子。舉例而言,全文模型化器220可判定兩個不同變換大小具有兩個全文模型集合。又,全文模型化器220可定義偏移作為一個此集合中之全文模型之數目。舉例而言,若全文模型化器220判定TU大小小於具有預定義尺寸M×M之正方形,則全文模型化器220可判定,每一 此TU(小於M×M)的TU大小具有其自身之各別全文模型集合。相反,熵解碼單元70可判定具有等於或大於M×M之大小之所有TU共用相同全文模型集合。
在各種使用狀況情境下,全文模型化器220可設定M之值為16。更具體而言,在此等實例中,若全文模型化器220判定當前寫碼TU之大小小於16×16正方形,則全文模型化器220可判定當前寫碼TU與對應於TU之特定大小的全文模型集合相關聯。相反,若熵解碼單元70判定當前經寫碼TU具有等於或大於16×16之大小,則全文模型化器220可判定當前經寫碼TU與具有等於或大於16×16之大小之所有其他TU共用相同全文模型集合。在一些實例中,全文模型化器220可將僅基於TU大小之全文選擇僅應用至明度區塊。
根據本發明之一些態樣,全文模型化器220可基於變換大小來判定係數群組(CG)大小。換言之,根據此等態樣,CG大小取決於變換大小。替代地或另外,全文模型化器220可基於寫碼模式來判定CG大小。在此等實例中,全文模型化器220可判定CG大小為取決於變換大小及/或寫碼模式中之一者或兩者。替代地或另外,全文模型化器220可基於變換矩陣來判定CG大小。
根據本發明之一些態樣,全文模型化器220亦可應用經並行化全文模型化技術,該等並行化全文模型化技術亦可應用至使用變換旁路模式(亦被稱作「變換跨越模式」)解碼之區塊。變換旁路模式指如下寫碼模式:視訊解碼器30可根據該寫碼模式跳過解碼之反變換及反量化操作,諸如在位元串流218經無損地編碼之狀況下。因此,根據本發明之某些態樣,全文模型化器220可擴展並行化全文選擇技術以在位元粗寒流218經無損地編碼之例項中提供潛在所得優點。
圖8為說明基於表之二進位算術寫碼之實例程序150的流程圖。即,圖8說明二進位算術編碼程序,該程序包括使用常規寫碼模式之 單一位元子值(binVal)之機率估計的更新程序(在針對步驟158及160之灰色加陰影方框中)。詳言之,圖8之程序150說明使用常規寫碼模式之用於給定位元子值binVal之二進位算術編碼程序。算術編碼引擎之內部狀態由兩個量來表徵:當前寫碼區間之當前區間範圍R及基點(較低端點)L。然而,儲存此等暫存器於CABAC引擎中(以常規模式及旁路模式)需要之精度可被分別減小高達9個位元及10個位元。在機率狀態索引δ及MPS之值(δ%2)情況下在全文中觀測到之給定二進位值binVal之編碼以四個基本步驟之序列執行如下。
程序150可開始於步驟處152處,在該步驟處,視訊寫碼裝置根據給定機率估計再分當前區間。此區間再分程序涉及如程序150之步驟152處所展示的三個基本操作。首先,當前區間範圍R使用整個範圍28 R 29至四個單元之相等分割由經量化值Q(R)來近似。但並非在CABAC引擎中明確地使用對應代表性經量化範圍值Q0、Q1、Q2及Q3,而是僅由其量化器索引ρ來解決,其可藉由移位及位元遮蔽運算之組合來有效地計算,亦即:ρ=(R≫6)& 3 (4.5)
接著,將此索引ρ及機率狀態索引δ用作2-D表TabRangeLPS中之條目,以判定(近似)LPS相關子區間範圍R LPS ,如圖8中所展示。此處,表TabRangeLPS在8位元精度下對於0(δ≫1)63及0 ρ 3含有p σ Q ρ 之所有64×4個預計算乘積值。在給定MPS之雙子區間範圍情況下,在程序150之決策區塊94中選擇對應於給定位元子值binVal之子區間。若binVal等於MPS值(決策區塊154之否分支),則視訊寫碼裝置可選擇下部子區間,使得L不改變。否則(決策區塊154之是分支),視訊寫碼裝置可選擇具有等於R LPS之範圍的上部子區間(156)。
在程序90之步驟158及160處,機率狀態之更新如ITU-T H.264,§ 1.2.2.2中所描述執行(使用灰色加陰影區塊所說明)。步驟162由暫存器 LR之再正規化(圖1中之「RenormE」方框)組成。步驟164表示程序150之結束。
如下定義2-D表TabRangeLPS:
解碼程序描述於HEVC規範之章節9.3.4.3.2.2中。
圖9為說明基於殘餘四分樹結構之變換方案的概念圖。為了調適殘餘區塊之各種特性,使用殘餘四分樹(RQT)之變換寫碼結構應用於HEVC中。殘餘四分樹結構描述如下。額外細節在www.hhi.fraunhofer.de/fields-of-competence/image-processing/researchgroups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.html處描述並可獲得。
根據說明於圖9中之殘餘四分樹結構,每一圖像經劃分成寫碼樹單元(CTU)。圖像之CTU對於特定貼塊或圖塊以光柵掃描次序寫碼(例 如,經編碼及/或解碼)。CTU為正方形區塊且表示四分樹或寫碼樹之根部。CTU大小範圍可為8×8至64×64,其中寬度及長度以明度樣本為單位來表達。64×64維度通常由HEVC順應性寫碼裝置使用。每一CTU可進一步分裂成被稱作寫碼單元(CU)之更小正方形區塊。在CTU經分裂成CU(有時遞歸地)之後,每一CU經進一步劃分成預測單元(PU)及變換單元(TU)。PU及CU亦具有方塊外觀形狀。CU至TU之分割基於四分樹方法經遞歸地進行。因此,每一CU之殘餘信號使用樹狀結構即殘餘四分樹(RQT)來寫碼。RQT允許自4×4直至32×32之TU大小(以明度樣本為單位表示為正方形維度)。
圖9展示CU包括10個TU之實例。TU藉由字母a至j標識出,且每一TU標記在對應區塊分割內部說明。RQT之每一節點為變換單元(TU)。個別TU以深度優先樹遍歷次序進行處理。深度優先樹遍歷關於圖9之結果根據字母次序說明於圖9中。更具體而言,圖9說明深度優先遍歷情況下遞歸Z掃描之實例。說明於圖9中之四分樹方法啟用變換之調適以使殘餘信號之空間頻率特性發生變化。
在許多實例中,具有更大空間支援之更大變換區塊大小提供更佳頻率解析度。然而,具有更小空間支援之更小變換區塊大小提供更佳空間解析度。兩個解析度(空間解析度及頻率解析度)之間的折衷借助於編碼器模式決策來選擇。舉例而言,編碼器模式決策可係基於速率-失真(RD)最佳化技術。速率-失真最佳化技術計算寫碼位元與重建失真之經加權總和。舉例而言,模式選擇單元40可使模式選擇決策基於每一寫碼模式之速率-失真成本。在一些實例中,可使每一可用模式之速率-失真成本相關於與每一寫碼模式相關聯之特定RQT分裂結構。在基於RD成本之決策方案中,模式選擇單元可選擇具有最低(或最小)速率-失真成本之寫碼模式作為最佳可用模式。
三個參數定義於RQT分割方案中。參數為:樹之最大深度、最小 所允許變換大小及最大所允許變換大小。根據HEVC之一些態樣,最小及最大變換大小可在自4×4個樣本至32×32個樣本之範圍內發生變化。自4×4個樣本至32×32個樣本之範圍對應於上文所論述之所支援區塊變換。RQT之最大所允許深度限制或約束RQT分割方案可產生之TU的數目。最大深度等於零意謂:若每一所包括TU達至最大允許變換大小(例如,32×32),則不可更進一步分裂CTU。
上文所論述之所有參數互動(例如,經協同地使用),且影響RQT結構。下文所描述為如下使用狀況情境:根CTU大小為64×64,最大深度等於零,且最大變換大小等於32×32。在此狀況下,視訊寫碼裝置將需要分割CUT至少一次。若CTU並未被分割,則RQT按第三參數將產生64×64TU,其不被准許。視訊編碼器20可以序列參數集(SPS)位準包括RQT參數(包括但不限於最大深度以及最小變換大小及最大變換大小)於位元串流中。視訊編碼器20可關於框內寫碼及框間寫碼CU針對RQT深度指定並傳信不同值。又,視訊解碼器30可自所接收位元串流恢復RQT參數,並使用在經傳信參數中指定之約束而執行RQT分割。
視訊編碼器20及/或視訊解碼器30可將四分樹變換應用於框內殘餘區塊及框間殘餘區塊。在許多實例中,視訊編碼器20及/或視訊解碼器30可應用具有與應用於殘餘區塊之當前殘餘四分樹分區相同之大小的DCT-II變換。然而,若當前殘餘四分樹區塊為4×4且由框內預測產生,則視訊編碼器20及/或視訊解碼器30可應用上述4×4 DST-VII變換。在HEVC中,更大之大小變換(例如,64×64變換)主要歸因於其受限之益處及對於相對較小解析度視訊之相對高的複雜度不採用。
圖10為描繪視訊寫碼裝置可關於本文中所描述之全文模型化技術使用之實例範本(本地範本140)之概念圖。當前變換係數標記為「X」且五個空間相鄰變換係數標記為「Xi」(其中「i」表示自0至4 之整數)。若一組條件中之任一條件被滿足,則視訊寫碼裝置可將Xi標記為不可用,且不用於全文索引導出程序中。該組條件中之第一條件為Xi之位置及當前變換係數X並不位於同一變換單元中。該組條件中之第二條件為Xi之位置位於圖像之水平邊界或垂直邊界外部。該組條件中之第三條件為尚未對變換係數Xi寫碼。在多遍次寫碼之狀況下,只要寫碼了同一寫碼遍次中之位元子,位元子便可用於全文索引導出程序中。因此,自解碼觀點,不必要的是充分解碼一個變換係數。
圖11為說明基於係數群組之實例係數掃描的概念圖。無論TU大小,藉由非重疊係數群組(CG)來寫碼變換單元之殘餘部分,每一係數群組含有TU之4×4區塊之係數。舉例而言,32×32TU總共具有64個CG,且16×16TU總共具有16個CG。根據某特定預定義掃描次序可對TU內部之CG寫碼。當對每一CG寫碼時,根據用於4×4區塊之某預定義掃描次序掃描且寫碼當前CG內部之係數。圖11說明用於含有4個CG之8×8TU的係數掃描。
將語法元素表定義如下:
7.3.8.11 殘餘寫碼語法
對於每一色彩分量,視訊編碼器20可首先傳信一個旗標以指示當前TU是否具有至少一個非零係數。若在當前TU中存在至少一個非零係數,則視訊編碼器20可藉由相對於變換單元之左上角之座標在TU中以係數掃描次序明確地編碼最後有效係數之位置。座標之垂直或水平分量由其首碼及後綴表示,其中首碼藉由經截斷之萊斯(TR)二進位化,且後綴藉由固定長度二進位化。
語義:
last_sig_coeff_x_prefix指定變換區塊內掃描次序中之最後有效係 數之行位置的首碼。last_sig_coeff_x_prefix之值應在0至(log2TrafoSize<<1)-1(包括)之範圍內。
last_sig_coeff_y_prefix指定變換區塊內掃描次序中之最後有效係數之列位置的首碼。last_sig_coeff_y_prefix之值應在0至(log2TrafoSize<<1)-1(包括)的範圍內。
last_sig_coeff_x_suffix指定變換區塊內掃描次序中之最後有效係數之行位置之後綴。last_sig_coeff_x_suffix之值應在0至(1<<((last_sig_coeff_x_prefix>>1)-1))-1(包括)的範圍內。
變換區塊內掃描次序中之最末有效係數之行位置LastSignificantCoeffX經導出如下:- 若不存在last_sig_coeff_x_suffix,則應用以下情形:LastSignificantCoeffX=last_sig_coeff_x_prefix- 否則,(存在last_sig_coeff_x_suffix),應用以下情形:LastSignificantCoeffX=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix & 1))+last_sig_coeff_x_suffix
last_sig_coeff_y_suffix指定變換區塊內掃描次序中之最後有效係數之列位置的後綴。last_sig_coeff_y_suffix之值應在0至(1<<((last_sig_coeff_y_prefix>>1)-1))-1(包括)之範圍內。
變換區塊內掃描次序中之最後有效係數之列位置LastSignificantCoeffY經導出如下:- 若不存在last_sig_coeff_y_suffix,則應用以下情形:LastSignificantCoeffY=last_sig_coeff_y_prefix- 否則(存在last_sig_coeff_y_suffix),應用以下情形:LastSignificantCoeffY=(1<<((last_sig_coeff_y_prefix>>1)-1))*(2+(last_sig_coeff_y_prefix & 1))+last_sig_coeff_y_suffix
當scanIdx等於2時,座標被調換如下: (LastSignificantCoeffX,LastSignificantCoeffY)=Swap(LastSignificantCoeffX,LastSignificantCoeffY)
藉由經寫碼之此位置且又CG之係數掃描次序,進一步傳信一個旗標以用於除最後CG(以掃描次序)外之CG,該CG指示其是否含有非零係數。
CG旗標之全文模型化。當寫碼一個CG是否具有非零係數(亦即,CG旗標(HEVC規範中之coded_sub_block_flag)時,利用相鄰CG之資訊以建置全文。為了為更特定的,將用於對CG旗標寫碼之全文選擇定義如下:(右側CG可用&&右側CG之旗標等於1)∥(下方CG可用&&下方CG之旗標等於1)
此處,右下CG為接近於當前CG之兩個相鄰CG。舉例而言,在圖11中,當編碼左上4×4區塊時,視訊編碼器20可定義右側CG為右上4×4區塊且下方CG經定義為左下4×4區塊。色度及明度使用全文模型之不同集合,但藉由同一規則選擇該等全文模型之一者。全文索引增量之導出的細節可發現於HEVC之9.3.4.2.4中。
一個CG內之變換係數寫碼:對於可含有非零係數之彼等CG,視訊編碼器20可根據預定義4×4係數掃描次序進一步編碼(且視訊解碼器30可進一步解碼)針對每一係數的有效旗標(significant_flag)、係數之絕對值(包括coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag及coeff_abs_level_remaining)及正負號資訊(coeff_sign_flag)。變換係數層級之寫碼(例如,編碼及/或解碼)經分離成多個掃描遍次。
第一位元子寫碼之第一遍次:在此遍次中,除可導出特定變換係數等於0以外,對一個CG內之每一位置處之變換係數的所有第一位元子(或位元子索引0,bin0)寫碼。變數sigCtx取決於相對於當前TU之左上位置之當前方位、色彩分量索引cIdx、變換區塊大小及語法元素 coded_sub_block_flag之先前經解碼位元子。取決於TU大小應用不同規則。全文索引增量之選擇的實例細節定義於HEVC之9.3.4.2.5中。
第二位元子寫碼之第二遍次:在此遍次中應用coeff_abs_level_greater1_flags之寫碼。全文模型化取決於當前子區塊內之色彩分量索引、當前子區塊掃描索引及當前係數掃描索引。全文索引增量之選擇的實例細節定義於HEVC之9.3.4.2.6中。
第三位元子寫碼之第三遍次:在此遍次中應用coeff_abs_level_greater2_flags之寫碼。全文模型化類似於coeff_abs_level_greater1_flags所使用之全文模型化。全文索引增量之選擇的實例細節定義於HEVC之9.3.4.2.7中。為改善輸貫量,第二及第三遍次可能不會處理CG中之所有係數。以常規模式對CG中之前八個coeff_abs_level_greater1_flag寫碼。此後,維持該等值,從而在第五遍次中藉由語法coeff_abs_level_remaining以旁路模式對該等值寫碼。類似地,僅對CG中具有大於1之量值的第一係數之coeff_abs_level_greater2_flag寫碼。CG之具有大於1之量值的剩餘係數使用coeff_abs_level_remaining對該值寫碼。此方法將係數位準之常規位元子的數目限制為每CG最多9個:8個用於coeff_abs_level_greater1_flag且1個用於coeff_abs_level_greater2_flag。
正負號資訊之第四遍次:在HEVC之一些實例中,在第四掃描遍次中以旁路模式對每一非零係數之正負號寫碼。對於每一CG,且取決於準則,當使用正負號資料隱藏(SDH)時,簡單地省略最後非零係數(以反向掃描次序)之正負號的編碼。確切而言,使用預定義定則將正負號值嵌入於CG之位準之總和的同位檢查中:偶數對應於「+」且奇數對應於「-」。使用SDH之準則為CG之第一非零係數與最後非零係數之間的在掃描次序上之距離。若此距離等於或大於四(4),則使用SDH。由於值四(4)對HEVC測試序列提供最大增益,故選擇該值。
剩餘位元子之最後遍次:在另一掃描遍次中寫碼剩餘位元子。將係數之baseLevel定義為:baseLevel=significant_flag+coeff_abs_level_greater1_flag+coeff_abs_level_greater2_flag
其中旗標具有值0或1,且若不存在,則推斷為0。接著,係數之絕對值定義如下:absCoeffLevel=baseLevel+coeff_abs_level_remaining.
在每一CG之開始處將萊斯參數設定為0,且其取決於參數之先前值及當前絕對層級經條件性地更新如下:若absCoeffLevel>3×2m,則m=min(4,m+1).
可以旁路模式對語法元素coeff_abs_level_remaining寫碼。另外,HEVC之一些實例針對小值使用哥倫布-萊斯碼且針對較大值切換至指數哥倫布碼。碼之間的轉變點通常在一元碼長度等於4時。參數更新程序在分佈中觀測到較大值時允許二進位化適應於係數統計。
inter_pred_idc之全文模型化。inter_pred_ide指定list0、list1或雙向預測是否用於當前預測單元。語法元素具有高達兩個位元子,該等位元子兩者均經CABAC全文寫碼。將二進位化位元子串定義如下:
其中nPbW及nPbH分別表示當前明度預測區塊之寬度及高度。
對於每一經框間寫碼圖塊(例如,P圖塊或B圖塊),全文選擇係基於以下規則:
若求和(nPbW+nPbH)不等12,則使用四個全文對第一位元子寫碼且藉由一個全文對第二位元子寫碼。第一位元子之全文選擇係根據當前CU深度。在HEVC中,CU深度範圍為0至3(包括)。0至3之包括 性範圍可表達為[0,3]。
在JCTVC-H0228(T.Nguyen、D.Marpe、T.Wiegand之「Non-CE11:Proposed Cleanup for Transform Coefficient Coding」,JCTVC-H0228,第八次會議:美國聖何塞,2012年2月1日至10日)中,提議一個掃描遍次寫碼。根據所提議之一個掃描遍次,關於變換係數位準之所有資訊在單一步驟而非如HEVC中之多遍次寫碼中經寫碼。對於每一掃描位置,由本地範本覆蓋之相鄰位置經評估,如同在HEVC之當前設計中針對bin0(亦被稱作significant_coeff_flagcoeff_abs_greater0_flag之位元子串之第一位元子)所進行。自此評估,全文模型及控制剩餘絕對值之自適應二進位化之萊斯參數被導出。為了為更特定的,用於bin0bin1bin2及萊斯參數之全文模型皆基於位於本地範本中之變換係數量值而選擇(bin1bin2亦被稱作coeff_abs_greater1_flagcoeff_abs_greater2_flag)。
本地範本140之實例在對角線掃描情況下針對8×8變換區塊給出於圖10中,其中L指明最後有效掃描位置,x指明當前掃描位置,且x i (其中i є[0,4])指明由本地範本覆蓋之相鄰掃描位置。
指示相鄰者之絕對總和之sum_absolute_level及指示每一位準之絕對總和減去1之sum_absolute_levelMinus1用以導出針對bin0bin1bin2之全文索引並判定萊斯參數r
sum_absolute_level=Σ|x i |sum_absolute_levelMinus1=Σδ j (x i ) (5) 其中
對於bin0,來自本地範本評估之所得sum_absolute_level直接映射至具有為5之截斷值之全文模型索引。相同規則藉由使用sum_absolute_levelMinus1及為4之截斷值而應用於計算bin1bin2之 全文模型索引。此導出規則在以下內容中概述,其中c 0 表示bin0之全文模型索引,c 1 表示bin1之全文模型索引,且c 2 表示bin2之全文模型索引。
c 0=min(sum_absolute_level,5)c 1=min(sum_absolute_levelMinus1,4)+1 c 2=min(sum_absolute_levelMinus1,4)+1 (6)
圖12為說明位元子導出之實例的概念圖。bin1bin2之導出規則為相同的。接著,對於明度分量,計算針對明度變換位準之bin0bin1bin2的額外偏移。額外全文索引(亦即,偏移)取決於當前掃描位置之方位。圖12說明此程序之實例。詳言之,圖12展示在針對明度bin0之一個TU(a)、針對明度bin1及bin2(並非向前掃描次序上之最後係數)之TU(b)內之不同區的全文索引範圍。
簡言之,整個概念以如下方程式概述,其中x指明當前掃描位置內之變換區塊內部之水平空間方位,y指明垂直空間方位,且cIdx指明具有0之當前平面類型代表明度。另外,對於不同位置之全文索引範圍在圖13中標記出。
c 0=c 0+f(x,y,6,2)+δ k (f(x,y,6,5),cIdx)c 1=c 1+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx)c 2=c 2+δ k (f(x,y,5,3),cIdx)+δ k (f(x,y,5,10),cIdx) (7) 其中
如上文所展示,針對c 1 之公式與針對c 2 之公式相同。除針對bin1bin2之相同全文模型索引外,相同全文模型用於bin1bin2之寫碼。另外,對於寫碼次序上之第一掃描位置(亦即,最後有效掃描位置);分離全文模型索引用於bin1bin2。第一位元子索引(bin0)針對 最後有效掃描位置而推斷出。此分離全文模型從不由全文模型選擇方案再次選擇,且被指派為c 1 =0。全文模型之總數在以下表中列表:
萊斯參數r導出如下。對於每一掃描位置,參數設定為0。接著,比較sum_absolute_levelMinus1與臨限值集合t R ={3,9,21}。換言之,萊斯參數在sum_absolute_levelMinus1降低至第一區間中情況下為0,在sum_absolute_levelMinus1降低至第二區間中情況下為1,等等。萊斯參數r之導出概述如下:
其中x=sum_abslolite_levelminus1。
圖13為說明針對不同明度位元子之在TU內之不同位置之全文索引之範圍的概念圖。在圖13之實例中,左側之區塊說明針對明度bin0之TU內不同區的全文索引範圍。右側之區塊說明針對明度bin1及bin2之TU內之不同區的全文索引範圍。特定位置使用圖13之明度位元子內之數字來調用,且不同區使用加陰影來區分。
在一或多個實例中,所描述之功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體進行傳輸,且藉由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體,其對應於諸如資料儲存媒體之有形媒體或包括例如根據通信協定促進將電腦程式自一處傳送至另一處之任何媒體的通信媒體。以此方 式,電腦可讀媒體大體可對應於(1)為非暫時性的有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術的指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
圖14說明視訊寫碼裝置或其各種組件可執行以實施本發明之全文模型化技術中之一或多者的實例程序300。雖然程序300可由多種裝置執行,但程序300本文中關於視訊解碼器30描述。程序300可在視訊解碼器30對第一TU寫碼(例如,解碼)時開始(302)。又,視訊解碼器30可開始對第二TU寫碼之第一遍次(304)。因此,第一TU表示關於第二TU的先前已寫碼區塊。
視訊解碼器30可使用第一TU之第i位元子以在寫碼之第一遍次內寫碼第二TU的所有第i位元子(306)。舉例而言,視訊解碼器30可使用第一TU之bin0以在針對第二TU之多遍次解碼程序之第一編次期間選擇第二TU之所有變換係數之各別第i位元子的全文索引。以此方式,視訊解碼器30可藉由將先前已寫碼區塊之位元子用於完成當前寫碼之TU之所有變換係數之所有第i位元子之全文選擇來實施本發明之全文模型化技術從而改良並行化。
以此方式,視訊解碼器30表示視訊寫碼裝置之一實例,該視訊寫碼裝置包括經組態以儲存視訊資料之一記憶體,及一或多個處理器。該(該等)處理器可經組態以針對一當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已寫碼變換係數之該語法元素之值的各別對應位元子來判定全文。為了判定該等全文,該一或多個處理器經組態以使用一先前已寫碼變換係數之該語法元素之值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中「i」包含一非負整數,且其中為 了使用該先前已寫碼變換係數之該語法元素之該值的該對應第i位元子,該一或多個處理器經組態以僅使用該先前已寫碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已寫碼變換係數之該語法元素之該值的其他位元子。該(該等)處理器經進一步組態以使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC寫碼(例如,CABAC解碼)。
在一些實例中,為了判定該當前變換係數之該語法元素該之值的該第i位元子之該全文,該一或多個處理器經組態以使用一範本來判定該當前變換係數之該語法元素之該值的該第i位元子之該全文,該範本識別待用於對該當前變換係數進行CABAC解碼之一或多個相鄰變換係數。在一些實例中,該一或多個處理器經進一步組態以基於以下各者中之至少一者來判定該範本之一大小或一形狀中之至少一者:包括該當前變換係數之一變換單元之一大小、與包括該變換單元之一寫碼單元相關聯之一寫碼模式、該當前變換係數在包括該當前變換係數之該變換單元中的一位置,或該當前變換係數在包括該當前變換係數之一係數群組中的一位置。在一些實例中,該一或多個處理器經進一步組態以基於色彩分量資訊來判定該範本之一大小或一形狀中之至少一者,該色彩分量資訊包括明度分量資訊或色度分量資訊中的一者或兩者。
在一些實例中,該當前變換係數包括於一變換單元中,其中該變換單元之一些或所有位元子係根據一常規模式進行CABAC編碼,且為了對該當前變換係數之該語法元素之該值的該第i位元子進行CABAC寫碼,該一或多個處理器經組態以在一第i寫碼遍次期間對該當前變換係數之該語法元素之該值的該第i位元子進行寫碼,在該第i寫碼遍次期間,對該變換單元之所有變換係數之所有對應第i位元子進行CABAC寫碼。在一些實例中,為了判定該當前變換係數之該語 法元素之該值的該第i位元子之該全文,該一或多個處理器經組態以使用該等先前已寫碼變換係數之一函數來判定該當前變換係數之該語法元素之該值的該第i位元子之一全文索引。在一些實例中,該等先前已寫碼變換係數定位於一範本中。在一些實例中,為了使用該等先前已寫碼變換係數之該函數,該一或多個處理器經組態以使用前「M」個先前已寫碼變換係數之該函數,且其中「M」表示一非負值。在一些實例中,該函數包含一求和函數,且先前已寫碼變換係數之該語法元素之該值的該對應第i位元子包括於複數個先前已寫碼變換係數之語法元素之值的複數個對應第i位元子中。
在一些實例中,為了使用該求和函數來判定該當前變換係數之該語法元素之該值的該第i位元子之該全文索引,該一或多個處理器經組態以將該當前變換係數之該語法元素之該值的該第i位元子之該全文索引定義為該複數個該等先前已寫碼變換係數之該等語法元素之值的該複數個該等對應第i位元子之全部的一總和。在一些實例中,該一或多個處理器經進一步組態以截割該求和函數之一結果以形成在一預定義範圍內之一經截割總和。換言之,該一或多個處理器可執行一方法,該方法包括截割該求和函數之該結果以形成在一預定義範圍內之一經截割總和。在一些實例中,為了判定該當前變換係數之該語法元素之該值的該第i位元子之該全文,該一或多個處理器經組態以判定該當前變換係數之該語法元素之該值的該第i位元子之一全文索引且將一偏移添加至該所判定之全文索引。在一些實例中,該一或多個處理器經進一步組態以基於包括該當前變換係數之一變換單元之一大小來判定該偏移。
在一些實例中,該一或多個處理器經進一步組態以判定該變換單元是否在一臨限大小內,且若該變換單元在該臨限大小內,則判定該變換單元與一全文模型集合相關聯,該全文模型集合由該臨限大小 內之所有變換單元共用。在一些實例中,該臨限大小與一16×16維度相關聯。在一些實例中,該所儲存視訊資料包含經編碼視訊資料,該一或多個處理器經進一步組態以解碼該經編碼視訊資料之至少一部分以形成重建之視訊資料,且視訊解碼器30可包括一裝置、可為該裝置或可為該裝置之部分,該裝置包括經組態以顯示該重建之視訊資料之至少一部分的顯示裝置。在一些實例中,該一或多個處理器經進一步組態以編碼該所儲存視訊資料之至少一部分,且該先前已寫碼變換係數包含一先前已編碼變換係數。
圖15為說明視訊寫碼裝置或其各種組件可執行以實施本發明之基於繼承之全文初始化技術中之一或多者之實例程序320的流程圖。雖然程序320可由多種裝置執行,但程序320在本文中係關於視訊解碼器30描述。程序320可在視訊解碼器30寫碼(例如,解碼)第一圖像(322)時開始。因此,第一圖像表示關於視訊解碼器30可隨後重建之圖像的先前已寫碼(例如,先前已解碼)圖像。又,視訊解碼器30可識別第一之區塊,自該第一圖像繼承第二圖像之當前圖塊之全文資訊(324)。因此,第二圖像可表示「當前圖像」,因為視訊解碼器30當前正解碼第二圖像,且當前圖塊可表示視訊解碼器30正解碼之第二圖像之特定圖塊。
視訊解碼器30可使用自第一圖像繼承之全文資訊來初始化當前圖塊之全文資訊(326)。舉例而言,視訊解碼器30可儲存所繼承全文資訊之一或多個狀態,且擷取所儲存狀態以初始化當前圖塊之全文。又,視訊解碼器30可使用初始化全文資訊對當前圖塊進行寫碼(328)。
以此方式,視訊解碼器30表示視訊寫碼裝置之一實例,該視訊寫碼裝置包括經組態以儲存視訊資料之一記憶體,及一或多個處理器。該(該等)處理器經組態以藉由繼承寫碼該所儲存視訊資料之一先 前已寫碼圖塊之一先前已寫碼區塊之後的全文資訊作為一當前圖像之一當前圖塊之初始化全文資訊來初始化該當前圖像之該當前圖塊之全文資訊,且使用該初始化全文資訊對該當前圖塊之資料進行寫碼。在一些實例中,該先前已寫碼區塊包括一最大寫碼單元(LCU),其在該先前已寫碼圖塊內之一中心位置處或在與該先前已寫碼圖塊相關聯之一先前已寫碼圖像內之一中心位置處。在一些實例中,該當前圖塊包括一單向預測圖塊(P圖塊),且該先前已寫碼圖塊包括一雙向預測圖塊(B圖塊)。在一些實例中,該當前圖塊包括一雙向預測圖塊(B圖塊),且該先前已寫碼圖塊包括一單向預測圖塊(P圖塊)。
在一些實例中,該當前圖塊包括於該當前圖像之複數個圖塊中,該當前圖像之全文資訊係繼承自該先前已寫碼圖像,且該(該等)處理器經進一步組態以藉由繼承寫碼該LCU之後的該全文資訊來初始化該複數個圖塊之全部的各別全文資訊,該LCU在該先前已寫碼圖塊內之該中心位置處。在一些實例中,該(該等)處理器經進一步組態以判定該當前圖塊是否經框間寫碼,且初始化該當前圖像之該當前圖塊之該全文資訊,該(該等)處理器經組態以基於該當前圖塊經框間寫碼之一判定而繼承寫碼該先前已寫碼區塊之後的該全文資訊以作為該當前圖像之該當前圖塊之該初始化全文資訊。
在一些實例中,該(該等)處理器經組態以判定該先前已寫碼圖塊是否經框間寫碼。在一些實例中,該(該等)處理器經進一步組態以判定該當前圖塊及該先前已寫碼圖塊是否共用相同量化參數(QP),且初始化該當前圖像之該當前圖塊之該全文資訊,該(該等)處理器經組態以基於該當前圖塊及該先前已寫碼圖塊共用相同QP之一判定而繼承寫碼該先前已寫碼區塊之後的該全文資訊以作為該當前圖像之該當前圖塊之該初始化全文資訊。在一些實例中,該(該等)處理器經進一步組態以判定一框內隨機存取圖像(IRAP)按輸出次序是否定位於該當前 圖像與相關聯於該先前已寫碼圖塊之一先前已寫碼圖像之間。
在一些實例中,為了初始化該當前圖像之該當前圖塊之該全文資訊,該(該等)處理器經組態以基於無IRAP按該輸出次序定位於該當前圖像與該先前已寫碼圖像之間的一判定而繼承該先前已寫碼圖像之該先前已寫碼區塊之該全文資訊以作為該當前圖像之該當前圖塊之該初始化全文資訊。在一些實例中,該(該等)處理器經進一步組態以根據以下方程式界定該先前已寫碼區塊之一位置:TargetCUAddr=(PicWidthInCtbsY* PicHeightInCtbsY)/2+PicWidthInCtbsY/2,其中「PicWidthInCtbsY」指明包括於該先前已寫碼區塊之一單一列中之最大寫碼單元(LCU)的一數目,且其中「PicHeightInCtbsY」指明包括於該先前已寫碼區塊中之LCU列的一總數。在一些實例中,該全文資訊包括與該當前圖塊相關聯之一或多個全文狀態。
在一些實例中,該全文資訊進一步包括與最或然狀態(MPS)資訊相關聯之值。在一些實例中,為了藉由繼承寫碼該先前已寫碼區塊之後的該全文資訊來初始化該當前圖塊之該全文資訊,該(該等)處理器經組態以藉由繼承寫碼該先前已寫碼區塊之後的該全文資訊來初始化該當前圖塊之該全文資訊的一些但非所有全文。在一些實例中,該先前已寫碼圖塊包括以下各者中之一者:(i)該當前圖像中之一圖塊,其中該先前已寫碼圖塊不同於該當前圖塊,或(ii)一先前已寫碼圖像中之一圖塊。在一些實例中,該(該等)處理器經進一步組態以藉由識別該先前已寫碼圖像而選擇該先前已寫碼圖像作為按輸出次序在該當前圖像之前的一最後圖像,該最後圖像與該當前圖像共用相同的量化參數(QP)及圖塊類型。在一些實例中,該所儲存視訊資料包括經編碼視訊資料,該(該等)處理器經進一步組態以解碼該經編碼視訊資料之至少一部分以形成重建之視訊資料,且該視訊寫碼裝置進一步包括經組態以顯示該重建之視訊資料之至少一部分的一顯示裝置。
圖16為說明作為視訊解碼程序之部分的視訊寫碼裝置或其各種組件可執行以實施本發明之一或多種技術的實例程序330之流程圖。雖然程序330可由多種裝置執行,但程序330本文中關於視訊解碼器30予以描述。程序330可在視訊解碼器30接收當前區塊之熵編碼資料(332)時開始。另外,視訊解碼器30可擷取當前區塊之變換係數之熵編碼資料(334)。
又,視訊解碼器30可熵解碼當前區塊之變換係數之經編碼資料(336)。舉例而言,為了熵解碼變換係數,視訊解碼器30可使用先前已解碼變換係數之位元子以判定當前變換係數之對應當前位元子的全文資訊(336)。視訊解碼器30(例如,藉由調用反變換單元78)可將反變換應用至變換係數以形成殘餘區塊(338)。又,視訊解碼器30可預測當前區塊以形成預測區塊(340)。視訊解碼器30可組合預測區塊與殘餘區塊以解碼當前塊(342)。
圖17為說明視訊寫碼裝置或其各種組件可執行以實施本發明之一或多個係數群組(CG)大小判定技術之實例程序350的流程圖。雖然程序320可由多種裝置執行,但程序350在本文中係關於視訊解碼器30描述。程序350可在視訊解碼器30識別變換單元(TU)(352)時開始。舉例而言,視訊解碼器30可識別當前TU,諸如當前正在解碼之TU。另外,視訊解碼器30可識別包括當前TU之係數群組,其中係數群組表示當前TU之變換係數之子集(354)。視訊解碼器30可基於與變換單元相關聯之變換大小與以下各者中之一者或兩者之一組合來判定CG之大小:(i)與變換單元相關聯之寫碼模式,或(ii)與變換單元相關聯之變換矩陣(356)。
以此方式,視訊解碼器30表示視訊寫碼裝置之一實例,該視訊寫碼裝置包括經組態以儲存視訊資料之一記憶體裝置,及一或多個處理器。該(該等)處理器經組態以:識別包括該視訊資料之一當前變換 係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集;且基於與該變換單元相關聯之一變換大小來判定該CG之一大小。在一些實例中,該(該等)處理器可基於與該變換單元相關聯之該變換大小與以下各者中之一者或兩者之一組合來判定該CG之該大小:(i)與該變換單元相關聯之一寫碼模式,或(ii)與該變換單元相關聯之一變換矩陣。在一些實例中,該所儲存視訊資料包含經編碼視訊資料,且該一或多個處理器經組態以解碼該經編碼視訊資料之至少一部分以形成經解碼視訊資料。
在一些實例中,該變換單元包含一經編碼變換單元,且其中與該變換單元相關聯之該寫碼模式包含用於形成該經編碼變換單元之一寫碼模式。在一些實例中,視訊解碼器30包括一裝置、為該裝置或為該裝置之部分,該裝置包含經組態以顯示該經解碼視訊資料之至少一部分的一顯示器。在一些實例中,一或多個處理器經進一步組態以針對當前變換係數之一語法元素之一值的複數個位元子中之每一者,使用一或多個先前已解碼變換係數之語法元素之值的各別對應位元子來判定全文。在一些實例中,為了判定該等全文,該一或多個處理器經組態以使用一先前已解碼變換係數之該語法元素之一值的一對應第i位元子來判定該當前變換係數之該語法元素之該值的一第i位元子之一全文,其中i包含一非負整數。在一些實例中,為了使用該先前已解碼變換係數之該語法元素之該值的該對應第i位元子,該(該等)處理器僅使用該先前已解碼變換係數之該語法元素之該值的該第i位元子且不使用該先前已解碼變換係數之該語法元素之該值的其他位元子。在一些此等實例中,該(該等)處理器可使用該所判定之全文對該當前變換係數之該語法元素之該值的該第i位元子進行全文自適應二進位算術寫碼(CABAC)解碼。在一些實例中,該CG包含區塊之一正方形區,且該CG之該大小以區塊為單位表示為4×4。
在一些實例中,該寫碼模式包含一基於CG之寫碼模式。在一些實例中,視訊解碼器30包括一裝置、為該裝置或為該裝置之部分,該裝置包括以下各者中之一或多者:一或多個積體電路;一或多個數位信號處理器(DSP);一或多個場可程式化閘陣列(FPGA);一桌上型電腦;一膝上型電腦;一平板電腦;一電話;一電視;一攝影機;一顯示裝置;一數位媒體播放器;一視訊遊戲控制台;一視訊遊戲裝置;一視訊串流裝置;或一無線通信裝置。
藉由實例但非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置、快閃記憶體或可用於儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。另外,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是針對非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟使用雷射以光學方式再現資料。以上之組合亦應包括於電腦可讀媒體之範疇內。
指令可由一或多個處理器執行,諸如由一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他等效整合或離散邏輯電路執行。因此,如本文中所使用之術語「處理器」可指前述結構或適合於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文中所描 述之功能性可提供於經組態用於編碼及解碼之專用硬體及/或軟體模組內,或併入組合式編解碼器中。此外,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可在廣泛之多種裝置或設備中實施,該等裝置或設備包括無線手機、積體電路(IC)或IC集合(例如,晶片組)。本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之裝置的功能態樣,但未必要求由不同硬體單元來實現。確切而言,如上文所描述,可將各種單元組合於編解碼器硬體單元中,或由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合結合合適之軟體及/或韌體來提供該等單元。
各種實例已予以了描述。此等及其他實例係在以下申請專利範圍之範疇內。
350‧‧‧實施本發明之一或多個係數群組(CG)大小判定技術之實例程序

Claims (20)

  1. 一種處理視訊資料之方法,該方法包含:識別包括一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集;及基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
  2. 如請求項1之方法,其中基於該變換大小來判定該CG之該大小包含基於與該變換單元相關聯之該變換大小與以下各者中之一者或兩者之一組合來判定該CG之該大小:(i)與該變換單元相關聯之一寫碼模式,或(ii)與該變換單元相關聯之一變換矩陣。
  3. 如請求項1之方法,其中處理該視訊資料包含解碼該視訊資料之至少一部分。
  4. 如請求項3之方法,其中該視訊資料包含經編碼視訊資料,其中該變換單元包含一經編碼變換單元,且其中與該變換單元相關聯之該寫碼模式包含用於形成該經編碼變換單元之一寫碼模式。
  5. 如請求項1之方法,其中處理該視訊資料包含編碼該視訊資料之至少一部分。
  6. 如請求項5之方法,其中該寫碼模式包含經選擇用於編碼該變換單元之一寫碼模式。
  7. 如請求項1之方法,其中該CG包含區塊之一正方形區,且其中該CG之該大小以區塊為單位表示為4×4。
  8. 如請求項1之方法,其中該寫碼模式包含一基於CG之寫碼模式。
  9. 一種視訊寫碼裝置,其包含:一記憶體裝置,其經組態以儲存視訊資料;及 一或多個處理器,該一或多個處理器經組態以:識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內之變換係數之一子集;及基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
  10. 如請求項9之視訊寫碼裝置,其中為了基於與該變換單元相關聯之該變換大小來判定該CG之該大小,該一或多個處理器經組態以基於與該變換單元相關聯之該變換大小與以下各者中之一者或兩者之一組合來判定該CG之該大小:(i)與該變換單元相關聯之一寫碼模式,或(ii)與該變換單元相關聯之一變換矩陣。
  11. 如請求項9之視訊寫碼裝置,其中該所儲存視訊資料包含經編碼視訊資料,且其中該一或多個處理器經組態以解碼該經編碼視訊資料之至少一部分以形成經解碼視訊資料。
  12. 如請求項11之視訊寫碼裝置,其中該變換單元包含一經編碼變換單元,且其中與該變換單元相關聯之該寫碼模式包含用於形成該經編碼變換單元之一寫碼模式。
  13. 如請求項10之視訊寫碼裝置,其進一步包含經組態以顯示該經解碼視訊資料之至少一部分的一顯示器。
  14. 如請求項9之視訊寫碼裝置,其中該一或多個處理器經組態以編碼該所儲存視訊資料之至少一部分。
  15. 如請求項14之視訊寫碼裝置,其中該一或多個處理器經組態以選擇用於編碼該變換單元之該寫碼模式。
  16. 如請求項14之視訊寫碼裝置,其進一步包含經組態以捕獲該視訊資料之至少一部分的一攝影機,其中為了儲存該視訊資料,該記憶體裝置經組態以自該攝影機接收該所捕獲視訊資料。
  17. 如請求項9之視訊寫碼裝置,其中該CG包含區塊之一正方形區,且其中該CG之該大小以區塊為單位表示為4×4。
  18. 如請求項9之視訊寫碼裝置,其中該寫碼模式包含一基於CG之寫碼模式。
  19. 如請求項9之視訊寫碼裝置,其進一步包含以下各者中之至少一者:一或多個積體電路;一或多個數位信號處理器(DSP);一或多個場可程式化閘陣列(FPGA);一桌上型電腦;一膝上型電腦;一平板電腦;一電話;一電視;一攝像機;一顯示裝置;一數位媒體播放器;一視訊遊戲控制台;一視訊遊戲裝置;一視訊串流裝置;或一無線通信裝置。
  20. 一種編碼有指令之非暫時性電腦可讀儲存媒體,該等指令在執行時使得一視訊寫碼裝置之一或多個處理器:識別包括該視訊資料之一當前變換係數之一係數群組(CG),該CG表示一變換單元內變換係數之一子集;及基於與該變換單元相關聯之一變換大小來判定該CG之一大小。
TW105116832A 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料 TWI699110B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562168571P 2015-05-29 2015-05-29
US62/168,571 2015-05-29
US15/166,144 2016-05-26
US15/166,144 US11233998B2 (en) 2015-05-29 2016-05-26 Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design

Publications (2)

Publication Number Publication Date
TW201711468A true TW201711468A (zh) 2017-03-16
TWI699110B TWI699110B (zh) 2020-07-11

Family

ID=57397705

Family Applications (3)

Application Number Title Priority Date Filing Date
TW105116832A TWI699110B (zh) 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW105116830A TW201711467A (zh) 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW105116831A TW201711464A (zh) 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW105116830A TW201711467A (zh) 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW105116831A TW201711464A (zh) 2015-05-29 2016-05-27 使用一全文自適應二進位算術寫碼設計來寫碼資料

Country Status (10)

Country Link
US (3) US10574993B2 (zh)
EP (3) EP3304916B1 (zh)
JP (3) JP2018521553A (zh)
KR (3) KR102600724B1 (zh)
CN (3) CN107660339B (zh)
AU (3) AU2016271140B2 (zh)
BR (3) BR112017025556A2 (zh)
ES (1) ES2905415T3 (zh)
TW (3) TWI699110B (zh)
WO (3) WO2016196379A1 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
US10574993B2 (en) 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
CN107710759B (zh) * 2015-06-23 2020-11-03 联发科技(新加坡)私人有限公司 转换系数编解码的方法及装置
WO2017195555A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置および画像符号化装置
US10616582B2 (en) 2016-09-30 2020-04-07 Qualcomm Incorporated Memory and bandwidth reduction of stored data in image/video coding
CN109997359B (zh) 2016-11-21 2023-05-09 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法及解码方法
EP3528498A1 (en) * 2016-11-21 2019-08-21 Panasonic Intellectual Property Corporation of America Coding device, decoding device, coding method, and decoding method
US10757412B2 (en) 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
US11265561B2 (en) * 2017-01-06 2022-03-01 Mediatek Inc. Method and apparatus for range derivation in context adaptive binary arithmetic coding
CN114449272B (zh) * 2017-07-04 2023-09-26 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
US10127913B1 (en) * 2017-07-07 2018-11-13 Sif Codec Llc Method of encoding of data stream, method of decoding of data stream, and devices for implementation of said methods
US10506258B2 (en) * 2017-07-13 2019-12-10 Google Llc Coding video syntax elements using a context tree
CN110915213B (zh) 2017-07-14 2021-11-02 联发科技股份有限公司 编解码符号的熵编解码的方法与装置
US11039143B2 (en) 2017-11-20 2021-06-15 Qualcomm Incorporated Memory reduction for context initialization with temporal prediction
EP3490253A1 (en) * 2017-11-23 2019-05-29 Thomson Licensing Encoding and decoding methods and corresponding devices
US10869062B2 (en) 2017-12-21 2020-12-15 Qualcomm Incorporated Probability initialization and signaling for adaptive arithmetic coding in video coding
EP3503557A1 (en) * 2017-12-22 2019-06-26 Thomson Licensing Method and apparatus for video encoding and decoding based on context switching
US10863199B2 (en) * 2018-03-26 2020-12-08 Qualcomm Incorporated Minimization of transform memory and latency via parallel factorizations
KR20240023238A (ko) 2018-03-29 2024-02-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 변환 계수 블록 코딩
TWI754803B (zh) 2018-03-29 2022-02-11 弗勞恩霍夫爾協會 相依量化技術
WO2019185821A1 (en) * 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for enhancing parallel coding capabilities
US20190313108A1 (en) 2018-04-05 2019-10-10 Qualcomm Incorporated Non-square blocks in video coding
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
US10992937B2 (en) * 2018-06-18 2021-04-27 Qualcomm Incorporated Coefficient coding with grouped bypass bins
CN110650343A (zh) 2018-06-27 2020-01-03 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及系统
WO2020004277A1 (ja) * 2018-06-28 2020-01-02 シャープ株式会社 画像復号装置、および画像符号化装置
US10687081B2 (en) * 2018-06-29 2020-06-16 Tencent America LLC Method, apparatus and medium for decoding or encoding
US10666981B2 (en) 2018-06-29 2020-05-26 Tencent America LLC Method, apparatus and medium for decoding or encoding
EP3818705A1 (en) * 2018-07-02 2021-05-12 InterDigital VC Holdings, Inc. Context-based binary arithmetic encoding and decoding
JP7313427B2 (ja) * 2018-08-16 2023-07-24 北京字節跳動網絡技術有限公司 変換行列選択の係数依存コーディング
TWI734178B (zh) * 2018-08-24 2021-07-21 聯發科技股份有限公司 具有產出限制的編碼轉換係數
US11483575B2 (en) * 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
US11336918B2 (en) * 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
CN117201786A (zh) 2018-09-11 2023-12-08 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
KR102613155B1 (ko) * 2018-09-24 2023-12-13 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩
WO2020067440A1 (ja) * 2018-09-27 2020-04-02 シャープ株式会社 動画像符号化装置および動画像復号装置
WO2020067167A1 (ja) * 2018-09-28 2020-04-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
CN113170131A (zh) * 2018-10-11 2021-07-23 Lg电子株式会社 变换系数编码方法及其装置
CN112970264A (zh) * 2018-11-05 2021-06-15 交互数字Vc控股公司 基于相邻样本相关参数模型的译码模式的简化
KR102349456B1 (ko) * 2018-11-12 2022-01-12 삼성전자주식회사 계수 레벨의 엔트로피 부호화 방법 및 장치, 엔트로피 복호화 방법 및 장치
WO2020135371A1 (zh) * 2018-12-24 2020-07-02 华为技术有限公司 一种标志位的上下文建模方法及装置
WO2020141856A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
US11523136B2 (en) 2019-01-28 2022-12-06 Hfi Innovation Inc. Methods and apparatuses for coding transform blocks
US11134273B2 (en) * 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
AU2019201653A1 (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
US11178399B2 (en) 2019-03-12 2021-11-16 Qualcomm Incorporated Probability initialization for video coding
TW202046730A (zh) * 2019-04-24 2020-12-16 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法
US10818083B1 (en) * 2019-04-30 2020-10-27 International Business Machines Corporation Pyramid generation via depth-first walk
CN117560489A (zh) 2019-05-14 2024-02-13 北京字节跳动网络技术有限公司 用于残差编解码的上下文建模
CN113906758A (zh) 2019-05-31 2022-01-07 字节跳动有限公司 调色板模式与帧内块复制预测
CN112118456B (zh) 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
US11368511B2 (en) * 2019-06-20 2022-06-21 Tencent America LLC Unification of rice parameter lookup table
WO2020253874A1 (en) * 2019-06-21 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Restriction on number of context coded bins
CN114026859A (zh) * 2019-06-28 2022-02-08 字节跳动有限公司 在变换跳过模式中修改量化参数的技术
CN117714698A (zh) 2019-06-28 2024-03-15 字节跳动有限公司 屏幕内容编解码中的色度帧内模式推导
CN114402605A (zh) * 2019-07-10 2022-04-26 Lg电子株式会社 图像编码系统中使用残差编码方法的标志的图像解码方法以及用于其的装置
WO2021040410A1 (ko) * 2019-08-31 2021-03-04 엘지전자 주식회사 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
US11146829B2 (en) * 2019-09-20 2021-10-12 Alibaba Group Holding Limited Quantization parameter signaling in video processing
WO2021059652A1 (ja) * 2019-09-25 2021-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、および復号方法
AU2019284053A1 (en) * 2019-12-23 2021-07-08 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
US11863789B2 (en) * 2020-03-31 2024-01-02 Tencent America LLC Method for signaling rectangular slice partitioning in coded video stream
US11785219B2 (en) 2020-04-13 2023-10-10 Qualcomm Incorporated Coefficient coding for support of different color formats in video coding
US11765370B2 (en) * 2021-07-27 2023-09-19 Mediatek Inc. Video residual decoding apparatus using neighbor storage device with smaller storage size to store neighbor data for context selection and associated method
WO2023172705A1 (en) * 2022-03-09 2023-09-14 Innopeak Technology, Inc. Attribute level coding for geometry point cloud coding
WO2023182673A1 (ko) * 2022-03-21 2023-09-28 현대자동차주식회사 컨텍스트 모델 초기화를 사용하는 비디오 코딩을 위한 방법 및 장치
WO2023193724A1 (en) * 2022-04-05 2023-10-12 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
CN114928747B (zh) * 2022-07-20 2022-12-16 阿里巴巴(中国)有限公司 基于av1熵编码的上下文概率处理电路、方法及相关装置

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122693A1 (en) 2002-12-23 2004-06-24 Michael Hatscher Community builder
KR100703773B1 (ko) 2005-04-13 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치
KR100703776B1 (ko) 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
US7983343B2 (en) * 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
JP4660433B2 (ja) 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
CA2629482A1 (en) * 2007-04-21 2008-10-21 Avid Technology, Inc. Using user context information to select media files for a user in a distributed multi-user digital media system
US8516505B2 (en) 2008-03-14 2013-08-20 Microsoft Corporation Cross-platform compatibility framework for computer applications
PL2346029T3 (pl) * 2008-07-11 2013-11-29 Fraunhofer Ges Forschung Koder sygnału audio, sposób kodowania sygnału audio i odpowiadający mu program komputerowy
ES2681693T3 (es) 2008-10-24 2018-09-14 Merial, Inc. Vacuna contra el virus de la peste equina africana
US8873626B2 (en) 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
TWI403170B (zh) 2010-05-21 2013-07-21 Univ Nat Chiao Tung 背景調適性二進制算術解碼裝置及其解碼方法
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
CN102231830B (zh) 2010-11-23 2013-04-17 浙江大学 用于上下文算术编解码的运算单元
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
US10499059B2 (en) 2011-03-08 2019-12-03 Velos Media, Llc Coding of transform coefficients for video coding
WO2012134246A2 (ko) 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2013003791A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during inter coding
US20130083856A1 (en) * 2011-06-29 2013-04-04 Qualcomm Incorporated Contexts for coefficient level coding in video compression
US9060173B2 (en) 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US8693401B2 (en) * 2011-07-20 2014-04-08 Connectem Inc. Method and system for optimized handling of context using hierarchical grouping (for machine type communications)
EP2773109B1 (en) * 2011-10-31 2016-12-14 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
US20130114691A1 (en) 2011-11-03 2013-05-09 Qualcomm Incorporated Adaptive initialization for context adaptive entropy coding
US20130272373A1 (en) 2011-11-15 2013-10-17 Intel Corporation Video encoder with 2-bin per clock cabac encoding
CA2773990C (en) 2011-11-19 2015-06-30 Research In Motion Limited Multi-level significance map scanning
KR101802334B1 (ko) * 2011-12-02 2017-12-29 삼성전자주식회사 적응적 탬플릿을 이용한 이진 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN103931188B (zh) 2012-01-16 2017-05-10 寰发股份有限公司 语法元素的基于上下文的自适应二进制算术编码装置及方法
WO2013106987A1 (en) * 2012-01-16 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of bypass coding and reducing contexts for some syntax elements
US9191670B2 (en) 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
US9332259B2 (en) * 2012-01-18 2016-05-03 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US9654772B2 (en) * 2012-01-19 2017-05-16 Qualcomm Incorporated Context adaptive entropy coding with a reduced initialization value set
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9106918B2 (en) 2012-01-20 2015-08-11 Sony Corporation Coefficient coding harmonization in HEVC
AU2012200345B2 (en) 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9866829B2 (en) * 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US9036710B2 (en) * 2012-03-08 2015-05-19 Blackberry Limited Unified transform coefficient encoding and decoding
CN103327316B (zh) 2012-03-22 2016-08-10 上海算芯微电子有限公司 视频宏块的上下文信息存取方法和系统
US9237344B2 (en) 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
IL301488B2 (en) 2012-04-13 2024-03-01 Ge Video Compression Llc Low-delay image coding
US9491463B2 (en) * 2012-04-14 2016-11-08 Qualcomm Incorporated Group flag in transform coefficient coding for video coding
EP2654296A1 (en) * 2012-04-16 2013-10-23 BlackBerry Limited Modified HEVC level coding of video data
US9124872B2 (en) 2012-04-16 2015-09-01 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9294779B2 (en) * 2012-06-15 2016-03-22 Blackberry Limited Multi-bit information hiding using overlapping subsets
US9088769B2 (en) * 2012-06-28 2015-07-21 Blackberry Limited Reduced worst-case context-coded bins in video compression with parity hiding
ES2953336T3 (es) 2012-09-26 2023-11-10 Sun Patent Trust Método de decodificación de imagen, dispositivo de decodificación de imagen y medio legible por ordenador
JP2014090326A (ja) 2012-10-30 2014-05-15 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
HUE045383T2 (hu) 2013-01-04 2019-12-30 Samsung Electronics Co Ltd Eljárás slice-szegmensek entrópiadekódolására
KR102218196B1 (ko) 2013-10-28 2021-02-23 삼성전자주식회사 인코더, 이의 동작 방법과, 상기 인코더를 포함하는 장치들
US20150334425A1 (en) 2014-05-14 2015-11-19 Blackberry Limited Adaptive context initialization
US9425822B2 (en) 2014-08-05 2016-08-23 Broadcom Corporation Simplified range and context update for multimedia context-adaptive binary arithmetic coding design
KR102464337B1 (ko) 2014-09-25 2022-11-07 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 파티션 식별자들의 결정을 위한 시스템 및 방법
US10574993B2 (en) 2015-05-29 2020-02-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design

Also Published As

Publication number Publication date
CN107690807A (zh) 2018-02-13
US20160353113A1 (en) 2016-12-01
US10334248B2 (en) 2019-06-25
AU2016271140A1 (en) 2017-11-16
AU2016271140B2 (en) 2020-12-03
US20160353112A1 (en) 2016-12-01
US20160353111A1 (en) 2016-12-01
WO2016196376A1 (en) 2016-12-08
JP2018521552A (ja) 2018-08-02
JP2018521553A (ja) 2018-08-02
KR102600724B1 (ko) 2023-11-09
TW201711467A (zh) 2017-03-16
TWI699110B (zh) 2020-07-11
BR112017025521A2 (pt) 2018-08-07
AU2016271130B2 (en) 2020-11-26
JP2018521554A (ja) 2018-08-02
JP6873051B2 (ja) 2021-05-19
KR20180013909A (ko) 2018-02-07
AU2016271137A1 (en) 2017-11-16
BR112017025484A2 (pt) 2018-08-07
EP3304901A1 (en) 2018-04-11
JP6619028B2 (ja) 2019-12-11
CN107690807B (zh) 2020-09-15
US10574993B2 (en) 2020-02-25
CN107660339A (zh) 2018-02-02
EP3304915A1 (en) 2018-04-11
BR112017025556A2 (pt) 2018-08-07
CN107667531B (zh) 2020-07-28
EP3304916A1 (en) 2018-04-11
KR20180013911A (ko) 2018-02-07
AU2016271137B2 (en) 2020-09-03
TW201711464A (zh) 2017-03-16
WO2016196369A1 (en) 2016-12-08
US11233998B2 (en) 2022-01-25
EP3304916B1 (en) 2022-01-05
ES2905415T3 (es) 2022-04-08
CN107660339B (zh) 2020-03-24
CN107667531A (zh) 2018-02-06
WO2016196379A1 (en) 2016-12-08
KR20180013910A (ko) 2018-02-07
BR112017025484B1 (pt) 2023-10-31
AU2016271130A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
TWI699110B (zh) 使用一全文自適應二進位算術寫碼設計來寫碼資料
TWI788302B (zh) 用於視訊寫碼之樹型寫碼
CN111357287B (zh) 针对通过时间预测进行的上下文初始化的存储器减小
JP6802260B2 (ja) ビデオコーディングにおける係数レベルのコーディング
JP6779918B2 (ja) 高度算術コーダ
US10764575B2 (en) Coding MCTS-nested SEI messages to exclude other SEI messages that are not MCTS-nested
RU2584498C2 (ru) Видеокодирование интра-режима
WO2018067714A1 (en) Variable number of intra modes for video coding
JP2018537908A (ja) ビデオデータの符号情報をコーディングすること
TWI558179B (zh) 對視訊寫碼發信長期參考圖像
TW201513639A (zh) 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化
JP2017523685A (ja) イントラブロックコピーイングのためのブロックベクトルコーディング
TW201349867A (zh) 用於係數掃描之係數群及係數寫碼
CN112514386A (zh) 网格编解码量化系数编解码