TWI554082B - 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新 - Google Patents

於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新 Download PDF

Info

Publication number
TWI554082B
TWI554082B TW103113479A TW103113479A TWI554082B TW I554082 B TWI554082 B TW I554082B TW 103113479 A TW103113479 A TW 103113479A TW 103113479 A TW103113479 A TW 103113479A TW I554082 B TWI554082 B TW I554082B
Authority
TW
Taiwan
Prior art keywords
value
rice parameter
coefficient
coefficients
block
Prior art date
Application number
TW103113479A
Other languages
English (en)
Other versions
TW201445979A (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 TW201445979A publication Critical patent/TW201445979A/zh
Application granted granted Critical
Publication of TWI554082B publication Critical patent/TWI554082B/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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

於視訊寫碼處理中用於係數階層寫碼之萊斯(RICE)參數更新
本申請案主張2013年4月12日申請的美國臨時專利申請案第61/811,632號、2013年6月7日申請的美國臨時專利申請案第61/832,652號、2013年7月12日申請的美國臨時專利申請案第61/845,850號及2014年3月14日申請的美國臨時專利申請案第61/953,647號的權利,該等專利申請案中之每一者的全部內容以引用的方式併入本文中。
本發明係關於視訊寫碼,且更特定言之係關於用於寫碼變換係數之技術。
數位視訊能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話、視訊電傳會議器件及其類似者。數位視訊器件實施視訊壓縮技術(諸如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(進階視訊寫碼(AVC))、當前在開發過程中之高效率視訊寫碼(HEVC)標準定義之標準及此等標準之擴展中所描述的彼等視訊壓縮技術)以更有效率地傳輸、接收及儲存數位視訊資訊。
視訊壓縮技術包括空間預測及/或時間預測以減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,可將視訊切片(亦即,視訊圖框或視訊圖框之一部分)分割為視訊區塊。可使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)切片中的視訊區塊。經框間寫碼(P或B)切片中之視訊區塊可使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間預測或時間預測導致寫碼用於區塊之預測性區塊。殘差資料表示待寫碼之原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本之區塊的運動向量,及指示經寫碼區塊與預測性區塊之間的差異之殘差資料來編碼經框間寫碼區塊。根據框內寫碼模式及殘差資料來編碼經框內寫碼區塊。為進行進一步壓縮,可將殘差資料自像素域變換至變換域,從而產生可接著進行量化之殘差變換係數。可以特定次序掃描最初配置成二維陣列的經量化變換係數,以產生變換係數之一維向量,且可應用熵寫碼以達成甚至更多之壓縮。
大體而言,本發明描述用於更新用以定義用於係數階層寫碼之哥倫布(Golomb)碼的一萊斯參數之一值的技術。特定言之,本發明描述用於更新該萊斯參數之該值的技術,該值用以定義用於寫碼係數之係數階層的剩餘絕對值的哥倫布碼,其中上下文自適應性二進位算術寫碼(CABAC)用於寫碼重要係數、大於1之係數階層及大於2之係數階層的指示。在一些實例中,可在高效率視訊寫碼(HEVC)標準之範圍擴展中,將該等技術應用於用於係數階層寫碼之一萊斯參數更新。由該萊斯參數所定義之該等哥倫布碼可用於寫碼一係數群組(CG)(亦即,係數之一區塊)中之至少一係數的一係數階層之一剩餘絕對值。 該CG可駐留於一變換單元(TU)之一變換區塊內。
根據本發明之該等技術,基於該萊斯參數之一最大值抑或該萊斯參數之該值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值。基於該萊斯參數之該值及正被寫碼之該當前係數的該係數階層之一絕對值而判定該可變增量之一量。本發明中所描述之該萊斯參數更新方案允許在寫碼該CG中之係數的係數階層之剩餘絕對值期間,該萊斯參數快速且有效地適應於自然內容與螢幕內容之間。
另外,本發明描述用於基於一變換是否應用於包括該CG之一變換區塊而調整用以定義用於係數階層寫碼之哥倫布碼的該萊斯參數之該值的技術。根據該等技術,若該變換並未應用於該變換區塊(亦即,在變換跳過或略過之狀況下),則本發明中所描述之該萊斯參數更新方案用於更新該萊斯參數之該值,以用於寫碼該CG中之後續係數的係數階層之剩餘絕對值。另外,根據該等技術,若該變換並未應用於該變換區塊,則可在寫碼該當前CG中之該等係數的係數階層之該等剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之一後續CG初始化該萊斯參數之該值。否則,若該變換應用於該變換區塊,則可根據該HEVC萊斯參數更新及初始化方案調整該萊斯參數。
在一實例中,本發明係關於一種在一視訊解碼處理中解碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來解碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換是否應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值。
在一另一實例中,本發明係關於一種在一視訊解碼處理中編碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來編碼該等係數中之至少一者的一係 數階層之一剩餘絕對值;及基於一變換是否應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值。
在一額外實例中,本發明係關於一種視訊寫碼器件,其包含經組態以儲存視訊資料之一記憶體及一或多個處理器。該等處理器經組態以:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換是否應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值。
在另一實例中,本發明係關於一種視訊寫碼器件,其包含:用於判定殘差視訊資料之係數之一區塊的構件;用於使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值的構件;及用於基於一變換是否應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值的構件。
在一額外實例中,本發明係關於一種包含指令之電腦可讀儲存媒體,該等指令在由一視訊寫碼器件之一或多個處理器執行時使該等處理器:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換是否應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值。
在另一實例中,本發明係關於一種在一視訊解碼處理中解碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來解碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被解碼之該係數的該係數階層之一絕對值而判定該可變增量。
在另一實例中,本發明係關於一種在一視訊編碼處理中編碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來編碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被編碼之該係數的該係數階層之一絕對值而判定該可變增量。
在一另一實例中,本發明係關於一種視訊寫碼器件,其包含經組態以儲存視訊資料之一記憶體及一或多個處理器。該等處理器經組態以:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之一絕對值而判定該可變增量。
一或多個實例之細節闡述於隨附圖式及以下描述中。自該描述及該等圖式以及自申請專利範圍將顯而易見其他特徵、目標及優勢。
10‧‧‧視訊編碼及解碼系統
12‧‧‧來源器件
14‧‧‧目的地器件
16‧‧‧通信頻道/電腦可讀媒體
18‧‧‧視訊來源
20‧‧‧視訊編碼器
22‧‧‧調變器/解調器/數據機
24‧‧‧傳輸器
26‧‧‧接收器
28‧‧‧數據機
29‧‧‧反曲折掃描型樣
30‧‧‧視訊解碼器
31‧‧‧反垂直掃描型樣
32‧‧‧顯示器件
33‧‧‧反水平掃描型樣
34‧‧‧儲存媒體
35‧‧‧反對角線掃描型樣
36‧‧‧檔案伺服器
37A‧‧‧子區塊
37B‧‧‧子區塊
37C‧‧‧子區塊
37D‧‧‧子區塊
38‧‧‧變換區塊
39‧‧‧係數群組(CG)
40‧‧‧模式選擇單元
41‧‧‧視訊資料記憶體
42‧‧‧運動估計單元
44‧‧‧運動補償單元
46‧‧‧框內預測處理單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化單元
56‧‧‧熵編碼單元
58‧‧‧反量化單元
60‧‧‧反變換處理單元
62‧‧‧求和器
64‧‧‧經解碼圖像緩衝器(DPB)
70‧‧‧熵解碼單元
71‧‧‧視訊資料記憶體
72‧‧‧運動補償單元
74‧‧‧框內預測處理單元
76‧‧‧反量化單元
78‧‧‧反變換單元
80‧‧‧求和器
82‧‧‧經解碼圖像緩衝器(DPB)
100‧‧‧步驟
102‧‧‧步驟
104‧‧‧步驟
110‧‧‧步驟
112‧‧‧步驟
114‧‧‧步驟
120‧‧‧步驟
122‧‧‧步驟
124‧‧‧步驟
130‧‧‧步驟
132‧‧‧步驟
134‧‧‧步驟
圖1為說明可利用本發明中所描述之用於寫碼係數階層之技術的實例視訊編碼及解碼系統之方塊圖。
圖2為展示用於係數階層寫碼之實例反掃描次序的概念圖。
圖3為展示用於係數群組(CG)之係數階層寫碼的實例基於子區塊之反對角線掃描次序的概念圖。
圖4為展示用於寫碼用於CG之係數階層的實例反對角線掃描次序之概念圖。
圖5為說明可實施本發明中所描述之用於編碼係數階層之技術的 實例視訊編碼器的方塊圖。
圖6為說明可實施本發明中所描述之用於解碼係數階層之技術的實例視訊解碼器的方塊圖。
圖7為說明根據本發明中所描述之技術的在係數階層之熵編碼期間更新萊斯參數之值之實例操作的流程圖。
圖8為說明根據本發明中所描述之技術的在係數階層之熵解碼期間更新萊斯參數之值之實例操作的流程圖。
圖9為說明根據本發明中所描述之技術的在係數階層之熵編碼期間調整萊斯參數之值之實例操作的流程圖。
圖10為說明根據本發明中所描述之技術的在係數階層之熵解碼期間調整萊斯參數之值之實例操作的流程圖。
本發明描述用於更新萊斯參數之值的技術,該值用以定義用於係數階層寫碼之哥倫布碼。特定言之,本發明描述用於更新萊斯參數之值的技術,該值用以定義用於寫碼係數之係數階層之剩餘絕對值的哥倫布碼,其中上下文自適應性二進位算術寫碼(CABAC)用於寫碼重要係數、大於1之係數階層及大於2之係數階層的指示。在一些實例中,可在高效率視訊寫碼(HEVC)標準之範圍擴展中,將技術應用於用於係數階層寫碼之萊斯參數更新。萊斯參數為用於自哥倫布碼之同族選擇碼字集的可調值。由萊斯參數所定義之哥倫布碼可用於寫碼係數群組(CG)中之至少一係數(亦即,係數區塊)的係數階層之剩餘絕對值。
根據本發明之技術,基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值。基於萊斯參數之值及正被寫碼之當前係數的係數階層之絕對值而判定可變增量之量。在一些實例中,可基於當前係數之係數階層的絕對值之右移位版本而 判定可變增量,其中右移位之量係基於萊斯參數之值。
可變增量使得萊斯參數之值能夠增加任何整數值,直至萊斯參數之最大值。舉例而言,萊斯參數之最大值可等於7,且取決於萊斯參數之值及當前係數之係數階層的絕對值,可變增量可等於0、1、2、3、4、5或6中之任一者。在其他實例中,萊斯參數之最大值可等於4或5。在另一實例中,本發明之技術可允許在更新期間減低或遞減萊斯參數。
在一些實例中,視訊編碼器可將殘差視訊資料之係數階層編碼成位元串流,以用於傳輸至視訊解碼器或儲存器件。在接收經編碼位元串流之後,視訊解碼器可以互逆於視訊編碼器之方式解碼殘差視訊資料之係數階層。在有損視訊寫碼之狀況下,係數可為經量化變換係數。在無損視訊寫碼或具有變換跳過或略過之有損視訊寫碼的狀況下,係數可具有具大絕對值之係數階層。當係數表示螢幕內容(其可包括圖形及文本區域)時,可並未良好地預測內容,從而產生係數之係數階層的大絕對值。
本發明中所描述之萊斯參數更新方案允許萊斯參數快速且有效地適應於大係數值,此情況可發生於螢幕內容之區塊中及具有變換跳過或略過之區塊中。根據技術,可基於可變增量更新萊斯參數之值,以便較快速地進行調適,來適應尚未經變換或經量化的螢幕內容及/或係數,但仍藉由類似於HEVC萊斯參數更新方案之執行而處置自然內容之變換係數之係數階層寫碼。舉例而言,當正被寫碼之當前係數的係數階層具有大絕對值時,可變增量可等於大於1之整數值,以便較快速地適應大係數值。藉由在萊斯參數更新期間減少或排除係數階層熵寫碼之迴路內的條件運算,本發明之技術亦提供較大之計算效率。
另外,本發明描述用於基於變換是否應用於包括CG之變換區塊 而調整用以定義用於係數階層寫碼之哥倫布碼的萊斯參數之值的技術。如本發明中所描述,調整萊斯參數之值可包括更新萊斯參數之值,以定義用於寫碼CG中之後續係數的係數階層之剩餘絕對值的哥倫布碼;或初始化萊斯參數之值,以定義用於寫碼後續CG中之至少一係數的係數階層之剩餘絕對值的哥倫布碼。
根據技術,若變換並未應用於變換區塊(亦即,在變換跳過或略過之狀況下),則本發明中所描述之萊斯參數更新方案用於更新萊斯參數之值。否則,若變換應用於變換區塊,則HEVC萊斯參數更新方案可用於更新萊斯參數之值。在另一實例中,根據技術,若變換並未應用於變換區塊,則對於變換區塊中之後續CG,可基於解碼當前CG中之係數的係數階層之剩餘絕對值之後的萊斯參數之值,初始化萊斯參數之值。否則,若變換應用於變換區塊,則可針對變換區塊中之後續CG而將萊斯參數之值初始化為等於零。
圖1為說明可利用本發明中所描述之用於寫碼係數階層之技術的實例視訊編碼及解碼系統10之方塊圖。如圖1中所展示,系統10包括將經編碼視訊經由通信頻道16傳輸至目的地器件14的來源器件12。按需要,經編碼視訊資料亦可儲存於儲存媒體34或檔案伺服器36上,且可由目的地器件14存取。當儲存至儲存媒體或檔案伺服器時,視訊編碼器20可將經寫碼視訊資料提供至另一器件(諸如網路介面、光碟(CD)、Blu-ray或數位視訊光碟(DVD)燒錄機或壓印設施器件,或其他器件),以用於將經寫碼視訊資料儲存至儲存媒體。同樣地,與視訊解碼器30分離之器件(諸如,網路介面、CD或DVD讀取器,或類似者)可自儲存媒體擷取經寫碼視訊資料,並將所擷取資料提供至視訊解碼器30。
來源器件12及目的地器件14可包含廣泛範圍之器件中的任一者,該等器件包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電 腦、機上盒、諸如所謂的智慧型手機之電話手機、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲主控台或其類似者。在許多狀況下,可裝備此等器件以用於無線通信。因此,通信頻道16可包含無線頻道、有線頻道或適於傳輸經編碼視訊資料之無線及有線頻道的組合。類似地,可由目的地器件14經由任何標準資料連接(包括網際網路連接)存取檔案伺服器36。此資料連接可包括無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等),或適於存取儲存於檔案伺服器上之經編碼視訊資料的該兩者之組合。
根據本發明之實例,用於寫碼係數階層之技術可應用於視訊寫碼以支援多種多媒體應用中的任一者,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、(例如)經由網際網路之串流視訊傳輸、數位視訊之編碼以供儲存於資料儲存媒體上、儲存於資料儲存媒體上之數位視訊的解碼,或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸,以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在圖1之實例中,來源器件12包括視訊來源18、視訊編碼器20、調變器/解調器22及傳輸器24。在來源器件12中,視訊來源18可包括諸如視訊捕捉器件(諸如,視訊攝影機)、含有先前所捕捉視訊之視訊封存檔、用以自視訊內容提供者接收視訊的視訊饋送介面,及/或用於將電腦圖形資料產生為來源視訊的電腦圖形系統之來源,或此等來源之組合。作為一實例,若視訊來源18為視訊攝影機,則來源器件12與目的地器件14可形成所謂的攝影機電話或視訊電話,該等電話可提供於(例如)智慧型電話或平板電腦內。然而,一般而言,本發明中所描述之技術可適用於視訊寫碼,且可應用於無線及/或有線應用,或經編碼視訊資料儲存於本機磁碟之應用。
可由視訊編碼器20編碼所捕捉視訊、預捕捉之視訊或電腦產生 之視訊。可由數據機22根據通信標準(諸如,有線或無線通信協定)調變經編碼視訊資訊,並經由傳輸器24將其傳輸至目的地器件14。數據機22可包括各種混合器、濾波器、放大器或經設計以用於信號調變的其他組件。傳輸器24可包括經設計以用於傳輸資料之電路,包括放大器、濾波器及(在無線通信的狀況下)一或多個天線。
由視訊編碼器20所編碼的所捕捉視訊、預捕捉之視訊或電腦產生之視訊亦可儲存至儲存媒體34或檔案伺服器36上,以用於稍後消耗。儲存媒體34可包括Blu-ray光碟、DVD、CD-ROM、快閃記憶體,或用於儲存經編碼視訊的任何其他合適之數位儲存媒體。儲存於儲存媒體34上之經編碼視訊可接著由目的地器件14存取,以用於解碼及播放。儘管圖1中未圖示,但在一些實例中,儲存媒體34及/或檔案伺服器36可儲存傳輸器24之輸出。
檔案伺服器36可為能夠儲存經編碼視訊,並將彼經編碼視訊傳輸至目的地器件14的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件、本機磁碟機,或能夠儲存經編碼視訊資料,並將其傳輸至目的地器件的任何其他類型之器件。來自檔案伺服器36的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或兩者之組合。可由目的地器件14經由任何標準資料連接(包括網際網路連接)存取檔案伺服器36。此標準資料連接可包括無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機、乙太網路、USB等),或適於存取儲存於檔案伺服器上之經編碼視訊資料的該兩者之組合。
在圖1之實例中,目的地器件14包括接收器26、數據機28、視訊解碼器30及顯示器件32。目的地器件14之接收器26經由頻道16接收資訊,且數據機28解調資訊以產生用於視訊解碼器30之經解調位元串流。經由頻道16所傳達的資訊可包括由視訊編碼器20所產生,以用於 由視訊解碼器30在解碼視訊資料時使用的多種語法資訊。此語法亦可包括於儲存於儲存媒體34或檔案伺服器36上的經編碼視訊資料中。視訊編碼器20及視訊解碼器30中之每一者可形成能夠編碼或解碼視訊資料之各別編碼器-解碼器(編解碼器)的部分。
顯示器件32可與目的地器件14整合在一起,或在目的地器件外部。在一些實例中,目的地器件14可包括整合式顯示器件,且亦經組態以與外部顯示器件介接。在其他實例中,目的地器件14可為顯示器件。大體而言,顯示器件32向使用者顯示經解碼視訊資料,且可包含多種顯示器件中之任一者,諸如,液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
在圖1之實例中,通信頻道16可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個實體傳輸線、或無線及有線媒體之任何組合。通信頻道16可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)的部分。通信頻道16大體上表示用於將視訊資料自來源器件12傳輸至目的地器件14之任何合適通信媒體或不同通信媒體之集合,包括有線或無線媒體之任何合適組合。通信頻道16可包括路由器、交換器、基地台或可用於促進自來源器件12至目的地器件14之通信的任何其他設備。
視訊編碼器20及視訊解碼器30可根據視訊壓縮標準(諸如,由ITU-T視訊寫碼專家群組(VCEG)及ISO/IEC運動圖像專家群組(MPEG)之視訊寫碼聯合合作小組(JCT-VC))開發的高效率視訊寫碼(HEVC)標準)而操作。文件JCTVC-L1003v34中的HEVC標準之草案(Bross等人之「High Efficiency Video Coding(HEVC)Text Specification Draft 10」,ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11之視訊寫碼聯合合作小組(JCT-VC),第12次會議,Geneva,CH,2013年1月14日至23日)獲得於http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003- v34.zip中。
儘管圖1中未圖示,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或獨立資料串流中之音訊及視訊兩者的編碼。若適用,則在一些實例中,MUX-DEMUX單元可符合ITU H.223多工器協定,或諸如使用者資料報協定(UDP)之其他協定。
視訊編碼器20及視訊解碼器30可各自實施為多種合適編碼器電路系統中之任一者,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。當在軟體中部分地實施技術時,器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且在硬體中使用一或多個處理器來執行該等指令以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,其中任一者可整合為各別器件中之組合編碼器/解碼器(編碼解碼器(CODEC))的部分。
視訊編碼器20可實施本發明之技術中的任一者或所有,以用於在視訊編碼處理中編碼係數階層。同樣地,視訊解碼器30可實施此等技術中之任一者或所有,以用於在視訊解碼處理中解碼係數階層。如本發明中所描述之視訊寫碼器可指視訊編碼器或視訊解碼器。類似地,視訊寫碼單元可指視訊編碼器或視訊解碼器。同樣地,視訊寫碼可指視訊編碼或視訊解碼。
數位視訊器件實施視訊壓縮技術以更有效率地編碼及解碼數位視訊資訊。視訊壓縮可應用空間(框內)預測及/或時間(框間)預測技術,以減少或移除視訊序列中所固有之冗餘。上文所描述之HEVC標準係基於視訊寫碼器件之演進模型,其被稱作HEVC測試模型(HM)。 HM假設視訊寫碼器件相對於根據(例如)ITU-T H.264/AVC之現有器件的若干額外能力。舉例而言,H.264提供九個框內預測編碼模式,而HEVC HM可提供多達三十三個框內預測編碼模式。以下章節將較詳細地論述HM之某些態樣。
對於根據HEVC標準之視訊寫碼,可將視訊圖框分割成寫碼單元。寫碼單元(CU)通常指充當各種寫碼工具應用至的,以用於視訊壓縮之基本單元的影像區域。CU通常具有表示為Y之亮度分量,及表示為U及V之兩個色度分量。取決於視訊取樣格式,U及V分量之大小可依據樣本之數目而與Y分量之大小相同或不同。
CU通常為正方形,且可認為其類似於(例如)其他視訊寫碼標準(諸如,ITU-T H.264)下的所謂的巨集區塊。出於說明之目的,根據正開發之HEVC標準之目前建議態樣中的一些之寫碼將描述於本申請案中。然而,本發明中所描述之技術可用於其他視訊寫碼處理,諸如根據H.264或其他標準或專屬視訊寫碼處理所定義之彼等處理。
根據HM,CU可包括一或多個預測單元(PU)及/或一或多個變換單元(TU)。位元串流內之語法資料可定義最大寫碼單元(LCU),最大寫碼單元為就像素之數目而言的最大CU。大體而言,除CU不具有大小區分之外,CU具有與H.264的巨集區塊相似之用途。因此,可將CU分裂成子CU。大體而言,本發明中對CU之參考可指圖像之最大寫碼單元或LCU之子CU。LCU可分裂為多個子CU,且每一子CU可進一步分裂為多個子CU。用於位元串流之語法資料可定義可分裂LCU之最大次數(稱為CU深度)。因此,位元串流亦可定義最小寫碼單元(SCU)。本發明亦使用術語「區塊」或「部分」來指CU、PU或TU中之任一者。大體而言,「部分」可指視訊圖框之任何子集。
LCU可與四元樹資料結構相關聯。大體而言,四元樹資料結構每CU包括一節點,其中根節點對應於LCU。若將CU分裂成四個子CU, 則對應於該CU之節點包括四個葉節點,該等葉節點中之每一者對應於該等子CU中之一者。四元樹資料結構中之每一節點可提供用於對應CU之語法資料。舉例而言,四元樹中之節點可包括分裂旗標,從而指示是否將對應於該節點之CU分裂成子CU。可遞歸地定義用於CU之語法元素,且該等語法元素可取決於CU是否分裂成子CU。若CU未進一步分裂,則該CU被稱作葉CU。在本發明中,儘管不存在原始葉CU之顯式分裂,但葉CU之四個子CU亦被稱作葉CU。舉例而言,若處於16×16大小之CU未進一步分裂,則儘管16×16 CU從未分裂,但四個8×8子CU亦將被稱作葉CU。
葉CU可包括一或多個預測單元(PU)。大體而言,PU表示對應CU之所有或一部分,且可包括用於擷取PU之參考樣本的資料。舉例而言,當PU經框間模式編碼時,PU可包括定義用於PU之運動向量的資料。定義運動向量之資料可描述(例如)運動向量之水平分量、運動向量之垂直分量、運動向量之解析度(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向之參考圖框,及/或運動向量之參考清單(例如,清單0或清單1)。定義PU的葉CU之資料亦可描述(例如)將CU分割成一或多個PU。取決於CU未經寫碼、經框內預測模式編碼抑或經框間預測模式編碼,分割模式可不同。對於框內寫碼,可相同於下文所描述之葉變換單元地對待PU。
新出現的HEVC標準允許根據變換單元(TU)變換,對於不同CU,TU可不同。通常基於針對經分割LCU所定義之給定CU內之PU的大小而設定TU大小,但可並非總是如此狀況。TU通常相同於PU的大小,或小於PU的大小。在一些實例中,可使用已知為「殘差四元樹」(RQT)之四元樹結構,將對應於CU之殘差樣本再分為較小單元。RQT之葉節點可被稱作變換單元(TU)。可變換與TU相關聯之像素差值以產生可量化之變換係數。TU包括明度變換區塊及兩個色度變換區 塊。因而,應用於TU的下文所論述之任何寫碼處理可實際上應用於明度及色度變換區塊。
大體而言,PU係指涉及預測處理之資料。舉例而言,當框內模式編碼PU時,PU可包括描述該PU的框內預測模式之資料。作為另一實例,當框間模式編碼PU時,PU可包括定義該PU的運動向量之資料。
大體而言,TU用於變換處理及量化處理。具有一或多個PU之給定CU亦可包括一或多個變換單元(TU)。在預測之後,視訊編碼器20可根據PU,自由寫碼節點所識別的視訊區塊計算殘差值。接著,更新寫碼節點以參考殘差值而非原始視訊區塊。殘差值包含像素差值,可使用TU中所指定之變換及其他變換資訊將該等像素差值變換成變換係數,將其量化及掃描,以產生串列化變換係數以供熵寫碼。可再次更新寫碼節點,以指此等串列化變換係數。本發明通常使用術語「視訊區塊」來指CU之寫碼節點。在一些特定狀況下,本發明亦可使用術語「視訊區塊」來指包括寫碼節點及PU及TU的樹型區塊(亦即,LCU或CU)。
視訊序列通常包括一系列視訊圖框或圖像。圖像群組(GOP)通常包含一系列視訊圖像中之一或多者。GOP可在GOP之標頭、圖像中之一或多者之標頭中或在別處包括描述包括於GOP中之圖像數目的語法資料。圖像之每一切片可包括描述各別切片之編碼模式的切片語法資料。視訊編碼器20通常對個別視訊切片內之視訊區塊進行操作,以便編碼視訊資料。視訊區塊可對應於CU內之寫碼節點。視訊區塊可具有固定或變化之大小,且可根據指定寫碼標準而在大小方面不同。
為寫碼區塊(例如,視訊資料之預測單元),首先導出用於區塊之預測子。可經由框內(I)預測(亦即,空間預測)抑或框間(P或B)預測(亦即,時間預測)導出預測子(亦稱作預測性區塊)。因此,可使用相對於 同一圖框(或切片)中之相鄰參考區塊中之參考樣本的空間預測框內寫碼(I)一些預測單元,且可相對於其他先前經寫碼圖框(或切片)中之參考樣本的區塊單向框間寫碼(P)或雙向框間寫碼(B)其他預測單元。在每一狀況下,參考樣本可用以形成用於待寫碼之區塊的預測性區塊。
在識別預測性區塊之後,判定原始視訊資料區塊中之像素與其預測性區塊中之像素之間的差。此差可被稱作預測殘差資料,且指示待寫碼之區塊中的像素值與所選擇以表示經寫碼區塊之預測性區塊中的像素值之間的像素差。為達成較好壓縮,可(例如)使用離散餘弦變換(DCT)、離散正弦變換(DST)、整數變換、K-L變換或另一變換對預測殘差資料進行變換,以產生變換係數。
可以駐留於空間像素域中之像素差值的二維(2D)陣列配置變換區塊(諸如,TU)中之殘差資料。變換將殘差像素值轉換為變換域(諸如,頻域)中之變換係數的二維陣列。為了進一步壓縮,可在熵寫碼之前量化變換係數。在一些實例中(諸如無損寫碼或具有變換跳過或略過之有損寫碼),可跳過係數之變換程序及量化程序兩者。
接著,熵寫碼器將熵寫碼應用於係數,諸如上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、機率區間分割熵寫碼(PIPE)或類似者。在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描係數,以產生可經熵編碼之串列化向量。在其他實例中,視訊編碼器20可執行自適應性掃描。在掃描係數以形成一維向量之後,視訊編碼器20可熵編碼一維向量,視訊編碼器20亦可熵編碼與用於由視訊解碼器30在解碼視訊資料時所使用的經編碼視訊資料相關聯之語法元素。
本發明涉及用於上下文自適應性二進位算術寫碼(CABAC)熵寫碼器或其他熵寫碼器(諸如,機率區間分割熵寫碼(PIPE)或相關寫碼器)之技術。算術寫碼為用於具有較高寫碼效率之許多壓縮演算法中 的一種形式之熵寫碼,此係因為其能夠將符號映射至非整數長度之碼字。算術寫碼演算法之實例為基於上下文之二進位算術寫碼(CABAC)。
大體而言,使用CABAC之熵寫碼資料符號涉及以下步驟中之一或多者:
(1)二進位化:若待寫碼之符號為非二進位值,則將其映射至一序列所謂的「位元子」。每一位元子可具有「0」或「1」之值。
(2)上下文指派:向每一位元子(常規模式中)指派上下文。上下文模型判定如何基於可用於位元子之資訊(諸如,先前經編碼符號之值或位元子數目),來計算用於給定位元子之上下文。
(3)位元子編碼:藉由算術編碼器編碼位元子。為編碼位元子,算術編碼器要求將位元子之值的機率作為輸入,亦即,位元子之值等於「0」之機率及位元子之值等於「1」之機率。由稱為「上下文狀態」之整數值表示每一上下文之所估計機率。每一上下文具有狀態,且因此對於指派至一上下文之位元子而言,狀態(亦即,所估計機率)係相同的,且在上下文之間不同。
(4)狀態更新:基於位元子之實際經寫碼值更新所選定上下文之機率狀態(例如,若位元子值為「1」,則增加「1's」之機率)。
在於略過模式中使用CABAC熵寫碼資料符號的狀況下,將待寫碼之符號二進位化為一序列位元子,並藉由固定相等機率模型(例如,藉由指數哥倫布碼或哥倫布萊斯碼)以算數方式對其進行寫碼。略過模式並不要求上下文指派或機率狀態更新。舉例而言,本發明描述用於使用由萊斯參數所定義之哥倫布碼來略過寫碼係數之係數階層的剩餘絕對值的技術。應注意,機率區間分割熵寫碼(PIPE)使用類似於算術寫碼之彼等原理的原理,且因此其亦可利用本發明之技術。
H.264/AVC及HEVC中之CABAC使用狀態,且每一狀態隱含地涉 及機率。存在CABAC之變化形式,其中直接使用符號之機率(「0」或「1」),亦即,機率或機率之整數版本為狀態。舉例而言,CABAC之此等變化形式描述於「由法國電信、NTT、NTT DOCOMO、松下和特藝提議的視訊寫碼技術之描述(Description of video coding technology proposal by France Telecom,NTT,NTT DOCOMO,Panasonic and Technicolor)」(JCTVC-A114,第一次JCT-VC會議,德國德雷斯頓(Dresden),2010年4月,在下文中被稱作「JCTVC-A114」)中,及A.Alshin and E.Alshina之「用於CABAC之多參數機率更新(Multi-parameter probability update for CABAC)」(JCTVC-F254,第六次JCT-VC會議,意大利都靈(Torino),2011年7月,在下文中被稱作「JCTVC-F254」)中。
為熵寫碼係數之區塊(無論經變換且經量化或既未經變換亦未經量化),通常執行掃描處理,使得根據特定掃描次序將區塊中的係數之二維(2D)陣列重排成係數之有序一維(1D)陣列,亦即,向量。接著,將熵寫碼應用於係數之向量。掃描變換單元中之係數串列化用於熵寫碼器的係數之2D陣列。可產生重要性映射以指示重要(亦即,非零)係數之位置。掃描可應用於重要(亦即,非零)係數之掃描階層,及/或重要係數之碼正負號。
在HEVC標準中,首先針對變換區塊寫碼重要變換(例如,重要性映射)之位置資訊,以指示掃描次序中之最後非零係數的位置。針對反掃描次序中之每一係數,寫碼重要性映射及階層資訊(亦即,係數之絕對值及正負號)。
圖2為展示用於係數階層寫碼之實例反掃描次序的概念圖。H.264標準定義曲折掃描。HEVC標準定義三種不同掃描:子區塊對角線掃描、子區塊水平掃描及子區塊垂直掃描。圖2說明各自應用於變換區塊之8×8子區塊的反曲折掃描型樣29、反垂直掃描型樣31、反水平掃 描型樣33及反對角線掃描型樣35。應注意,反對角線掃描型樣35、反曲折掃描型樣29、反垂直掃描型樣31及反水平掃描型樣33中之每一者自變換區塊之右下角的較高頻率係數至變換區塊之左上角的較低頻率係數進行。
子區塊對角線掃描型樣35、子區塊水平掃描型樣33及子區塊垂直掃描型樣31可應用於4×4及8×8變換區塊。在HEVC標準中,子區塊對角線掃描型樣35亦可應用於16×16及32×32變換區塊。在一些實例中,子區塊對角線掃描型樣35亦可應用於8×8 TU。在基於子區塊之掃描中,在進行至較大變換區塊內之另一4×4子區塊之前,掃描較大變換區塊之一4×4子區塊。在其他實例中,「子區塊」可由根據所使用之掃描次序的數個經連續掃描係數組成。舉例而言,「子區塊」可由沿著對角線掃描次序之16個經連續掃描係數組成。
圖3為展示用於係數群組(CG)之係數階層寫碼的實例基於子區塊之反對角線掃描次序的概念圖。圖3說明由四個4×4子區塊(37A、37B、37C、37D)組成之8×8變換區塊38。如圖3中所展示,在掃描子區塊37C中之係數之前掃描子區塊37D中之係數。接著,自子區塊37C至子區塊37B且最後至子區塊37A地進行掃描。圖3描繪每一子區塊中之反對角線掃描次序。在其他實例中,可使用任何掃描次序(例如,水平、垂直、曲折等)。在一些實例中,可在每一子區塊內使用前向掃描次序。
在HEVC標準中,可將係數分組成碎塊或子集。針對每一子集,寫碼係數之重要性映射及階層資訊(亦即,絕對值及正負號)。在本發明中,係數之子集可被稱作係數群組(CG)。CG可經定義為變換區塊在掃描次序中之16個連續係數,其可對應於4×4子區塊。在一實例中,子集由4×4變換區塊及8×8變換區塊沿著掃描次序(例如,前向或反對角線、水平或垂直掃描次序)之16個連續係數組成。對於16×16及 32×32變換區塊,將較大變換區塊內之係數的4×4子區塊對待為子集。在圖3之實例中,子區塊37中之每一者可為CG。
寫碼以下所描述之符號以表示CG內之係數階層資訊。在一實例中,以反掃描次序寫碼所有符號。可根據反掃描次序,在CG之單獨掃描中寫碼符號中之每一者。以下符號可被稱作「旗標」。應注意,本發明中所論述的「旗標」中之任一者未必限於二進位符號,而係亦可實施為多位元語法元素。
significant_coeff_flag(亦被稱作sigMapFlag)指示子集中之每一係數的重要性。具有大於零之絕對值的係數認為係重要的。作為一實例,0之sigMapFlag值(亦即,並不大於零)指示係數並不重要,而1之值(亦即,大於零)指示係數係重要的。此旗標可大體上被稱作重要性旗標。coeff_sign_flag(亦被稱作signFlag)指示任何非零係數(亦即,具有為1之sigMapFlag的係數)之正負號資訊。舉例而言,零之此旗標指示正號,而1指示負號。
coeff_abs_level_greater1_flag(亦被稱作gr1Flag)指示對於任何非零係數(亦即,具有為1之sigMapFlag的係數或其中將sigMapFlag隱含地導出為1),係數之絕對值是否大於1。作為一實例,0之gr1Flag值指示係數並不具有大於1之絕對值,而gr1Flag之1值指示係數確實具有大於1之絕對值。此旗標可大體上被稱作大於1旗標。
coeff_abs_level_greater2_flag(亦被稱作gr2Flag)指示對於具有大於1之絕對值的任何係數(亦即,具有為1之gr1Flag的係數),係數之絕對值是否大於2。作為一實例,0之gr2Flag值指示係數並不具有大於2之絕對值,而gr2Flag之1值指示係數確實具有大於2之絕對值。此旗標可大體上被稱作大於2旗標。可各自使用CABAC寫碼sigMapFlag、gr1Flag及gr2Flag。
coeff_abs_level_remaining語法元素(亦被稱作levelRem語法元素) 指示絕對值大於由先前旗標所寫碼之值的任何係數之係數階層的剩餘絕對值。大體而言,對於levelRem語法元素,寫碼具有大於2之絕對值的每一係數(亦即,具有為1之gr2Flag的係數)的係數階層之絕對值減去三(亦即,abs(階層)-3)。在一些實例中,當達到當前CG之gr1Flag及/或gr2Flag之最大數目時,levelRem語法元素可用於寫碼具有小於或等於二之絕對值的係數階層。可使用由萊斯參數之值所定義之哥倫布碼來寫碼levelRem語法元素。
圖4為展示用於寫碼用於CG 39之係數階層的實例反對角線掃描次序之概念圖。CG 39可為4×4變換區塊或可為8×8、16×16或32×32變換區塊中之4×4子區塊。表1中概述以反掃描次序掃描的用於圖4中展示之係數的經編碼符號。在表1中,scan_pos係指係數沿著圖4中展示的CG 39之反對角線掃描型樣的位置。Scan_pos 15為所掃描之第一係數,且位於CG 39之右下角處。scan_pos 15處之係數具有0之絕對值。Scan_pos 0為所掃描之最後係數,且位於CG 39之左上角處。scan_pos 0處之經量化係數具有10之絕對值。在4×4變換區塊或較大變換區塊中之最後4×4子區塊的狀況下,並不需要寫碼前四個sigMapFlags,此係由於已知最後非零係數之位置。亦即,sigMapFlag之寫碼可開始於最後非零係數處(在此實例中,為scan_pos 11處之係數)。
在此等符號中,藉由自適應性上下文模型(例如,使用CABAC)編碼sigMapFlag、gr1Flag及gr2Flag之位元子。經由藉由固定相等機率模型(例如,藉由指數哥倫布碼或哥倫布萊斯碼)之略過模式編碼 signFlag及levelRem之二進位化位元子。
如上文所論述,HEVC標準中之語法元素coeff_abs_level_remaining(亦即,levelRem)指示係數(若值大於用於係數寫碼之先前掃描遍次中所寫碼的彼值)之係數階層的剩餘絕對值。在略過模式中寫碼此語法元素以便增加輸送量。對於小值,HEVC標準利用哥倫布萊斯寫碼,且對於較大值,其切換至指數哥倫布(Exp-Golomb)寫碼。哥倫布萊斯碼與Exp-Golomb碼之間的轉變點為一元碼長度等於4時。萊斯參數為用以自哥倫布碼之同族選擇碼字集的可調值。
舉例而言,哥倫布萊斯碼為哥倫布碼之子集,且在給出可調萊斯參數m的情況下,將值n>=0表示為商q=底限(n/m)且餘數r=n-q×m,其中m為2之冪。商q為首碼且具有一元碼表示。餘數r為尾碼且具有固定長度表示。在Exp-Golomb碼中,藉由一元首碼接著固定長度尾碼而類似地形成碼結構,但在一元碼中之每一位元之後,加倍尾碼部分中之碼字的數目。因此,Exp-Golomb碼之碼字長度較慢地增長。大體而言,萊斯參數之較大值導致碼較慢增長,當寫碼大係數值時,此情況允許較大效率。關於萊斯參數之額外細節可發現於J.Sole、R.Joshi、M.Karczewicz、N.Nguyen、T.Ji、G.Clare、F.Henry、A.Duenas的HEVC中之變換係數寫碼(IEEE用於視訊傳輸之電路及系統匯刊(關於HEVC之特刊),2012年12月)中。
在HEVC標準中,在每一係數群組(CG)之開始處將萊斯參數設定為等於0之值,且在寫碼CG期間,取決於萊斯參數之值及如下所寫碼之當前係數的係數階層之絕對值,有條件地更新該參數:若absCoeffLevel>3*2cRiceParam,則cRiceParam=min(cRiceParam+1,4)
否則,cRiceParam=cRiceParam,其中cRiceParam為萊斯參數,absCoeffLevel為當前係數之係數階層的絕對值,且min()為選擇最小值之函數。當在分配中觀察到大絕 對值時,HEVC萊斯參數更新方案允許二進位化處理逐漸適應係數統計。如上文之方程式中可見,HEVC萊斯參數更新方案將萊斯參數之值更新1或0之固定增量。
下文展示C-碼中之HEVC萊斯參數更新處理之實例:
其中cRiceParam為萊斯參數,absCoeff為當前係數之係數階層的絕對值,min()為選擇最小值之函數,且<<為左位元移位運算。
在HEVC標準中,如下描述HEVC萊斯參數更新處理。
自cLastAbsLevel及cLastRiceParam如下導出變數cRiceParam:cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>(3 *(1<<cLastRiceParam))?1:0),4)
在上文之方程式中,cRiceParam為萊斯參數之經更新值,Min()為選擇最小值之函數,cLastRiceParam為萊斯參數之當前值,且cLastAbsLevel為當前經寫碼係數之係數階層的絕對值。使用術語「最後」指代參數,此係因為萊斯參數之經更新值可用以定義用於寫碼CG中之後續係數的哥倫布碼。「?」為條件「若則」陳述之速記。舉例而言,可認為上文之方程式陳述:若cLastAbsLevel大於(3 *(1<<cLastRicParam)),則cLastRiceParam遞增1,否則cLastRiceParam不變。
JCTVC-M0316(M.Budagavi之「AHG8:Coefficient level cRiceParam updates for screen content coding」(ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11之視訊寫碼聯合合作小組(JCT-VC),第13次會議,韓國仁川,2013年4月18日至26日,在下文為JCTVC- M0316))中所提議的技術描述用於萊斯參數之較快更新處理。JCTVC-M0316之技術靶向具有HEVC框內預測工具有時並未良好地預測之銳邊的圖形及文本區域。由於預測誤差,係數值可具有較高振幅增加。
JCTVC-M0316之貢獻呈現對用於寫碼coeff_abs_level_remaining語法元素之萊斯參數更新處理的兩個修改,以便當編碼螢幕內容視訊時,改良HEVC標準中之無損寫碼效率。兩個修改為:(1)快速更新萊斯參數之值及(2)將萊斯參數之最大值自4增加至5。
如下為用於JCTVC-M0316之修改(1)的經修改C-碼之實例。
如下為用於修改(1)之經修改HEVC標準的實例。
if(cLastAbsLevel>(25 *(1<<cLastRiceParam)))cRiceParam=4 else cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>(3 *(1<<cLastRiceParam))?1:0),4)
對於JCTVC-M0316之修改(1)及(2)的組合,如下為經修改C-碼之實例。
如下為用於修改(1)及(2)之組合的經修改HEVC標準之實例。
if(cLastAbsLevel>(25 *(1<<cLastRiceParam)))cRiceParam=4 else cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>(3 *(1<<cLastRiceParam))?1:0),4) if(cRiceParam==4)cRiceParam=5
JCTVC-M0316中所提議的快速更新技術展示對一些螢幕內容之良好效率。相比於HEVC萊斯參數更新方案,JCTVC-M0316之技術較好地適應一些視訊統計,此係由於當當前係數之係數階層的絕對值高於臨限時,萊斯參數直接行進至其最大值。當觀察到大係數時,JCTVC-M0316中之快速調適處理基本上將萊斯參數設定為最大值。在HEVC標準中,在寫碼每一係數之係數階層的剩餘絕對值時,萊斯參數(如上文之方程式中所展示)僅增加1或0。因此,在HEVC萊斯參數更新方案中,萊斯參數可不能快速地適應大係數值之寫碼。
JCTVC-M0316中所提議之方法的一潛在缺點為其在萊斯參數更新處理中併入條件檢查。此等檢查可使得視訊編碼器20及視訊解碼器30較慢。又,JCTVC-M0316之技術要求計算額外乘法。此等額外計算必須在係數熵寫碼之迴路(其為視訊寫碼中之至關重要迴路)內進行,且可為瓶頸。
鑒於此等缺點,本發明根據係數階層值或視訊內容,提出用於 基於可變增量之快速且有效萊斯參數更新方案的技術。本發明之技術並不要求在至關重要迴路中引入額外條件,且在一些狀況下可甚至移除HEVC萊斯參數更新方案中之一些現存條件。本發明在無需可較靈活之額外邏輯的情況下引入快速更新,此係因為可變增量允許萊斯參數之值增加任何量,直至達成萊斯參數之最大值。
在本發明之第一實例中,描述用於傳訊用於萊斯參數更新之參數的技術。如下重複HEVC標準中用於萊斯參數更新處理之當前技術:
其中在CG之開始處,cRiceParam等於0。
可藉由四個新參數表達本發明之技術。
●INIT_PARAM:萊斯參數在CG開始處之初始值
●INC_PARAM:萊斯參數之增量值
●MAX_PARAM:萊斯參數之最大值
●THRESH_ABS_COEFF:用於與係數階層之絕對值比較的更新方案中所使用之臨限值
根據本發明之技術,視訊編碼器20可經組態以在位元串流中傳訊此等參數中之一或多者,例如,在序列參數集(SPS)、圖像參數集(PPS)、切片標頭、LCU、CU、TU或變換區塊階層處進行傳訊。在此狀況下,視訊編碼器20可經組態以針對正被編碼之內容選擇最佳參數,並將選擇傳訊至視訊解碼器30。
如下為本發明之萊斯參數更新功能的C-碼中之表達的實例(包括所傳訊之參數)。
在一些實例中,視訊編碼器20及視訊解碼器30可儲存用於本發明之萊斯參數更新方案的參數之預設值。對於自然內容之經量化變換係數的HEVC標準寫碼,如下可為該等參數之值(其可為預設值)。
●INIT_PARAM=0
●INC_PARAM=1
●MAX_PARAM=4
●THRESH_ABS_COEFF=3
對於寫碼螢幕內容之尚未經變換或經量化係數或對於無損寫碼,預設參數可不同。舉例而言,如下可為預設參數。
●INIT_PARAM=2
●INC_PARAM=1
●MAX_PARAM=5
●THRESH_ABS_COEFF=3
上文之參數值僅僅為實例。在其他實例中,其他預設值可儲存於視訊編碼器20及視訊解碼器30處。舉例而言,MAX_PARAM可等於7之值。作為另一實例,INC_PARAM可等於大於1直至最大值之任何整數值。
在另一實例中,當以有損方式寫碼殘差時,視訊編碼器20及/或視訊解碼器30可經組態以使用值之一集合,且當以任一無損方式寫碼殘差時(亦即,當cu_transquant_bypass_flag起作用時),該等器件可使 用值之另一集合。在另一實例中,不同於用於有損寫碼之HEVC值的一集合之值可用於變換跳過或變換略過模式中之有損寫碼。在另一實例中,預設值之集合可取決於變換類型(例如,DCT、DST、跳過或類似者)。
如上文所描述,HEVC萊斯參數更新方案在每一更新時(亦即,在待於略過模式中使用由萊斯參數所定義之哥倫布碼寫碼的每一係數時)將萊斯參數至多增加1。當觀察到大係數時,JCTVC-M0316中之快速調適處理基本上將萊斯參數設定為最大值。
在另一實例中,本發明呈現可無需額外邏輯,或甚至藉由減少HEVC萊斯參數更新方案中之檢查數目而利用的快速更新技術。本發明提議用於快速且有效地更新靈活之萊斯參數之值的以下方法,此係因為其可將萊斯參數之值增加任何量直至達成最大值。
根據本發明之此實例,下文重複的用於HEVC萊斯參數更新方案之C-碼區:
將由如下方程式替換cRiceParam=min<UInt>((cRiceParam+(absCoeff>>(PARAM1 *(2<<cRiceParam)))),MAX_RICE_PARAM);其中(absCoeff>>(PARAM1 *(2<<cRiceParam)))定義基於萊斯參數之值(亦即,cRiceParam),及正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)所判定的萊斯參數之值的可變增量。在此實例中,基於正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)的右移位版本判定可變增量,其中右移位之量係基於萊斯參數之值(亦即, cRiceParam)。
在本發明之萊斯參數更新方案的上文表示中,自HEVC萊斯參數更新方案移除一檢查,且相對於JCTVC-M0316中所引入之萊斯參數更新方案移除兩個或三個檢查。基本上,基於萊斯參數之最大值(亦即,MAX_RICE_PARAM)抑或萊斯參數之值(亦即,cRiceParam)之可變增量中的最小者之選擇而更新cRiceParam,基於正被寫碼之係數的絕對值(亦即,absCoeff)除以(亦即,右移位「>>」)乘以(亦即,左移位「<<」)恆定參數值(PARAM1)的萊斯參數之函數(亦即,cRiceParam)而判定該可變增量。
HEVC標準將定義為如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(PARAM1 *(2<<cLastRiceParam))),MAX_RICE_PARAM)
在本發明之一實例中,將PARAM1設定為等於1,且將MAX_RICE_PARAM設定為等於4。如上文本發明之第一實例中所描述,可由視訊編碼器20將此等參數傳訊至視訊解碼器30,或可由視訊解碼器30在並未傳訊的情況下導出此等參數。舉例而言,對於有損寫碼,可將MAX_RICE_PARAM設定為等於4,且對於無損寫碼(亦即,當cu_transquant_bypass_flag起作用時)可將其設定為等於5。
在一實例中,使用上文給出之實例值,用於本發明之萊斯參數更新方案的C-碼公式將為如下。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>(2<<cRiceParam))),4);等效地,HEVC標準將經定義為如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2<<cLastRiceParam)),4)
應注意,如JCTVC-M0316中所呈現之萊斯參數更新僅將萊斯參 數之值增加1,或取決於條件將萊斯參數設定為等於其最大值4或5。本發明之技術可在任何更新時將可變增量之量增加任何整數值,亦即,1、2、3或以上,直至萊斯參數之最大值。在一些實例中,萊斯參數之最大值可為大於或等於4之整數值。在一具體實例中,萊斯參數之最大值等於7。可變增量之量可取決於正被寫碼之係數的絕對值。在一實例中,基於正解碼之係數的係數階層具有大絕對值,可判定可變增量具有大於1之整數值。因而,本發明之技術允許較多調適能力。
另外,如上文所提到,在表示HEVC更新處理及JCTVC-M0316之更新處理的函數中,「?」等效於「若則」條件陳述。本發明中所描述之技術並不要求執行任何條件運算。條件運算在係數熵寫碼之至關重要迴路中可係處理密集型及時間密集型的,且移除「若則」條件陳述可改良效率。
又,應注意,亦可由查找表實現將萊斯參數增加不同量之此能力。舉例而言,可使用查找表,其中至查找表之輸入為萊斯參數之值及正解碼之係數的係數階層之絕對值,且查找表之輸出為待應用於萊斯參數之值的可變增量之量,其可不同於0及1之習知增量。
可使用上文給出之實例中的任一者的組合。舉例而言,可由視訊編碼器20將上文給出之實例中之任一者中的參數傳訊至視訊解碼器30,或由視訊解碼器30在並未傳訊的情況下導出該等參數,如上文所描述。本發明之技術可特別適於經無損寫碼,或藉由不同於HEVC標準中之變換的變換寫碼的資料,此係歸因於彼等情況中觀察到之不同係數統計。作為一具體實例,萊斯參數更新方程式cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2<<cLastRiceParam)),4)可用於並未應用變換(亦即,在無損寫碼或具有變換跳過或略過之有損寫碼的狀況下)之CG;否則,應用HEVC萊斯 參數更新方法。本發明之技術可提供較多增益的另一情況為極高位元速率(亦即,較高品質)視訊寫碼之情況。因此,可取決於目標位元速率、目標峰值信雜比(PSNR),或寫碼殘差視訊資料之量化步長或量化參數(QP)而應用本發明之技術。
本發明之技術包括上文所描述之萊斯參數更新方案的變化形式,下文重複該等變化形式之C-碼公式。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>(PARAM1*(2<<cRiceParam)))),MAX_RICE_PARAM);在本發明之技術的一實例中,可擴展上文之基本公式,以獲得用於針對其而增加萊斯參數的係數之絕對值的不同臨限值。可將參數值添加至正被寫碼之係數的絕對值(亦即,absCoeff),或添加至或乘以藉由其而執行絕對值之右移位運算的值。如下給出C-碼公式之實例:cRiceParam=min<UInt>((cRiceParam+((absCoeff+Pl)>>(P2+P3*(P4<<cRiceParam)))),MAX_RICE_PARAM);其中參數值為P1、P2、P3及P4(其為整數值),且其中((absCoeff+P1)>>(P2+P3*(P4<<cRiceParam)))定義基於萊斯參數之值(亦即,cRiceParam),及正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)所判定的萊斯參數之值的可變增量。在此實例中,基於正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)的右移位版本判定可變增量,其中右移位之量係基於萊斯參數之值(亦即,cRiceParam)。參數MAX_RICE_PARAM設定萊斯參數可達成之最大值。
如上文之實例中所展示,可將P1添加至正被寫碼之係數的係數階層之絕對值(亦即,absCoeff),可將P2添加至藉由其而執行絕對值之右移位運算的值(亦即,(P4<<cRiceParam)),P3可乘以藉由其而執 行絕對值之右移位運算的值(亦即,(P4<<cRiceParam))。參數值P4及萊斯參數之值(亦即,cRiceParam)可判定藉由其而執行絕對值之右移位運算的值。
等效地,對於此最後狀況,HEVC標準可經定義為如下。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>(P2+P3 *(P4<<cLastRiceParam))),MAX_RICE_PARAM)
在此公式之一實施中,將參數值設定為P1=0、P2=1、P3=1、P4=1且MAX_RICE_PARAM=4。如下為用於此特定狀況之HEVC文本。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(1+(1<<cLastRiceParam))),4)
在MAX_RICE_PARAM等於5之實例中,可改良螢幕內容之無損寫碼的效能結果。為了在螢幕內容之無損寫碼的狀況下獲得甚至較大之效能,可將MAX_RICE_PARAM設定為等於7。
在另一實例中,藉由添加條件,可如下限制對由萊斯參數之值應用於絕對值的右移位之量的影響。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>(P2+P3 *(P4<<(cLastRiceParam>P5?P5:cLastRiceParam))),MAX_RICE_PARAM)
在上文之實例中,修改萊斯參數更新方案以包括條件(cLastRiceParam>P5?P5:cLastRiceParam),其中當萊斯參數之值大於P5時,由萊斯參數應用之右移位量限於P5之值。在一實施中,將參數值設定為P1=0、P2=1、P3=1、P4=1、P5=0且MAX_RICE_PARAM=4。如下為用於此特定狀況之HEVC文本。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2<<(cLastRiceParam>0?1:0)),4)
在此狀況下,對於大於或等於1(亦即,大於0)之任何萊斯參數而言,應用於絕對值之右移位的量相同(亦即,等於1)。
可在不同條件下使用用於更新萊斯參數之值的不同處理。可取決於變換是否應用於包括正被寫碼之CG的變換區塊,而應用本發明中所描述之萊斯參數更新方法。視訊寫碼器件(諸如,視訊編碼器20或視訊解碼器30)可基於以下各者中之一或多者,判定變換是否應用於變換區塊:無損寫碼狀態、變換略過狀態、變換跳過狀態或參數集(諸如SPS)中之設定檔集。使用本發明之萊斯參數更新方案的設定檔集可為用於HEVC之範圍擴展4:4:4的設定檔,或致力於螢幕內容之設定檔,但其他設定檔可使用HEVC萊斯參數更新方案。
在一實例中,基於變換是否應用於包括CG之變換區塊的條件可呈現為如下。
若transform_skip_flag等於1或cu_transquant_bypass_flag等於1,則自cLastAbsLevel及cLastRiceParam如下導出變數cRiceParam:cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(1+(1<<cLastRiceParam))),4)
否則,自cLastAbsLevel及cLastRiceParam如下導出變數cRiceParam:cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>(3 *(1<<cLastRiceParam))?1:0),4)
因此,當並未應用變換時(亦即,在無損寫碼或具有變換跳過之有損寫碼的狀況下),可應用本發明之萊斯參數更新方案的一變化形式,且當應用變換時(亦即,在經量化變換係數之有損寫碼的狀況下),可應用HEVC萊斯參數更新方案。
本發明之技術包括上文所描述之萊斯參數更新方案的額外變化形式,下文重複該等變化形式之C-碼公式。
cRiceParam=min<UInt>((cRiceParam+(absCoeff>>(PARAM1*(2<<cRiceParam)))),MAX_RICE_PARAM);本發明之技術進一步描述用以減低萊斯參數之值,並在每一CG之開始處設定或初始化萊斯參數的方法。
在本發明之技術的一實例中,可擴展上文之基本公式,以獲得用於針對其而增加萊斯參數的係數之絕對值的不同臨限值,並移除乘法運算(亦即,左位元移位運算「<<」)。如下給出C-碼公式之實例:cRiceParam=min((cRiceParam+((absCoeff+P1)>>(P2+P3 *cRiceParam))),MAX_RICE_PARAM);其中參數值為P1、P2及P2(其為整數值),且其中((absCoeff+P1)>>(P2+P3*cRiceParam))定義基於萊斯參數之值(亦即,cRiceParam),及正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)所判定的萊斯參數之值的可變增量。在此實例中,基於正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)的右移位版本判定可變增量,其中右移位之量係基於萊斯參數之值(亦即,cRiceParam)。參數MAX_RICE_PARAM設定萊斯參數可達成之最大值。
如上文之實例中所展示,可將P1添加至正被寫碼之係數的係數階層之絕對值(亦即,absCoeff),可將P2添加至藉由其而執行絕對值之右移位運算的萊斯參數之值(亦即,cRiceParam),P3可乘以藉由其而執行絕對值之右移位運算的萊斯參數之值(亦即,cRiceParam)。
HEVC標準將定義為如下。
cRiceParam=Min(cLastRiceParam+((cLastAbsLevel+P1)>>(P2+P3 * cLastRiceParam)),MAX_RICE_PARAM)
在上文之實例更新方法的一實施中,將參數值設定為P1=0、P2=2及P3=1,且MAX_RICE_PARAM=4。可由視訊編碼器20將此等參 數傳訊至視訊解碼器30,或可由視訊解碼器30在並未傳訊的情況下導出該等參數。在一些實例中,對於有損寫碼,可將MAX_RICE_PARAM設定為等於4,且對於無損寫碼,可將其設定為等於5。在一些其他實例中,可將MAX_RICE_PARAM設定為等於7。
如下為用於使用上文之預設值的本發明之萊斯參數更新方案的C-碼公式之實例。
cRiceParam=min((cRiceParam+(absCoeff>>(2+cRiceParam))),4);等效地,對於此最後狀況,HEVC標準將定義為如下。
cRiceParam=Min(cLastRiceParam+(cLastAbsLevel>>(2+cLastRiceParam)),4)
在另一實例中,可設定在萊斯參數之值之每一更新時的可變增量之量的上限。舉例而言,可施加額外限制,其中萊斯參數之值可在每一更新時(亦即,對於使用由萊斯參數所定義之哥倫布碼所寫碼的每一係數階層)至多增加最大增量值(亦即,MAX_INCREMENT)。如下可為用於經設定上限之萊斯參數更新方案的實例公式。
increment=Min((cLastAbsLevel>>(2+cLastRiceParam)),MAX_INCREMENT)
cRiceParam=Min(cLastRiceParam+increment,MAX_RICE_PARAM)
在其他實例中,引入藉由其而按比例調整可變增量之阻尼因子,而非在萊斯參數之值之每一更新時將可變增量之量設定上限至MAX_INCREMENT。如下可為經阻尼萊斯參數更新方案之實例。
cRiceParam=Min(cLastRiceParam+increment,MAX_RICE_PARAM)
在一些實例中,阻尼因子(亦即,damp_fact)小於或等於1。
在一更新步驟中設定cRiceParam之最大增量的上限,或阻尼增量之量的此概念可應用於本發明中所描述之萊斯參數更新方案的實例中 之任一者。亦可應用同一概念,以在允許萊斯參數減低之狀況下,設定萊斯參數之值的減量的上限或阻尼該減量,如下文所較詳細地描述。上文所描述之技術可應用於所有區塊中之CG,或僅應用於並未應用變換(亦即,用於無損寫碼或具有變換跳過或略過之有損寫碼)之區塊中的CG。
上文所描述之萊斯參數更新技術可不允許CG上之萊斯參數減低。實情為,已將更新功能描述為增加功能。本發明之技術進一步包括允許萊斯參數之值在一些狀況下減低的萊斯參數更新方法。概括地,允許遞增及遞減萊斯參數兩者之萊斯參數更新方案可經表示為:cRiceParam=F1(cRiceParam,absCoeff)
其中F1為在萊斯參數之一些輸入值(亦即,cRiceParam)及正被寫碼之係數的係數階層之絕對值(亦即,absCoeff)可正減低的情況下,使得cRiceParam之輸出值小於cRiceParam之輸入值的函數。
在較具體實例中,更新方案可描述為: 其中在函數F2上測試條件,且函數F3及F4將cRiceParam及absCoeff作為輸入,及潛在地其他輸入(諸如先前CG之統計),並輸出大於或等於0的萊斯參數之值。
在上文之實例更新方案的一實施中,簡單函數F2、F3及F4各自經定義為如下: 其中P1及P2為參數值。在一實例中,可將參數值設定為P1=1、P2=0,及MAX_RICE_PARAM=4以提供良好之寫碼效能增益。在其他實例中,尤其係對於無損寫碼,可將萊斯參數之最大值設定為等於大於4之整數值,諸如5或7。
在上文之實例中,可執行條件運算,以判定正被寫碼之當前係數的係數階層之絕對值(亦即,absCoeff)是否大於或等於萊斯參數之值(亦即,cRiceParam)。若當前係數之係數階層的絕對值大於或等於萊斯參數之值,則可基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值,如上文所詳細描述。若當前係數之係數階層的絕對值小於萊斯參數之值,則可基於零抑或萊斯參數之值之減量中的最大者之選擇而更新萊斯參數之值。
允許遞增及遞減萊斯參數兩者的萊斯參數更新方案之上文實例可包括用以決定是否增加或減低萊斯參數的一額外條件運算(亦即,若則/否則條件)。然而,該技術係基於本發明之萊斯參數更新方案,在該方案中相對於HEVC萊斯參數更新方案移除條件,使得條件之總數目保持與HEVC方案中之數目相同。在一些實例中,可修改其他萊斯參數更新方法,以遞增抑或遞減萊斯參數。
另外,在具有變換跳過之有損寫碼的狀況下,萊斯參數之值的減量可僅如下應用於變換跳過區塊: 其中transform_skip_flag傳訊CG或CG之變換區塊是否已跳過變 換。
在上文實例中,萊斯參數可僅減低1。在其他實例中,若萊斯參數之當前值大且當前係數之絕對值小,則可選擇函數F4,使得萊斯參數可減低大於1。
本發明之技術迄今集中於當寫碼CG或係數之區塊時更新萊斯參數之值。以下實例描述用於在CG之開始處初始化萊斯參數之值的技術。習知地,在HEVC標準中,在寫碼CG(例如,4×4變換區塊或變換區塊中之4×4子區塊)中之係數的剩餘絕對值之後,將萊斯參數重置至0之值。在寫碼螢幕內容之係數階層的狀況下或在無損寫碼或具有變換跳過或略過之有損寫碼的狀況下,將萊斯參數之值初始化至零可並非最佳的。本發明之技術可在變換區塊之每一CG的開始處,將萊斯參數之值初始化或設定為非零值。
作為本發明之萊斯參數初始化方案的一實例,在寫碼CG之後並不重置萊斯參數。根據本發明之技術,實情為,將用於後續CG的萊斯參數之值設定為相同於在寫碼當前CG之末端處獲得的萊斯參數之值。如在HEVC初始化方案中,可在後續CG之開始處將值設定為等於0。然而,不同於HEVC方案,並不要求將萊斯參數之值設定為0。
作為本發明之萊斯參數初始化方案的另一實例,將用於後續CG的萊斯參數之值設定為基於寫碼當前CG之後的萊斯參數之值的值。在具體實例中,如下設定每一CG之開始處的萊斯參數。
cRiceParam=max(0,cRiceParam-1);在上文之實例中,基於零抑或寫碼當前CG之後萊斯參數之值之減低中的最大者之選擇而針對後續CG初始化萊斯參數之值。在一些其他實例中,可如下文實例地設定萊斯參數之初始化值的上限。
cRiceParam=min(2,max(0,cRiceParam-1));在此實例中,將萊斯參數之初始化值設定上限為不大於2。
在一些實例中,除了1之值可用於減少萊斯參數之當前值(例如,值n),包括自萊斯參數之當前值減去2(亦即,n等於2)而非1。舉例而言,可基於後續CG是否包括於應用變換之變換區塊中,而變化用於初始化萊斯參數的減低值。如下可為實例公式。
基於變換是否應用於變換區塊,本發明中所描述之萊斯參數初始化方案的實例狀況可應用於包括於所有變換區塊中之CG,或可應用於CG。舉例而言,在具有變換跳過或變換略過之變換區塊的狀況下,可並不將用於區塊中之後續CG的萊斯參數之值重置為0,但對於已應用變換之變換區塊,可將用於區塊中之後續CG的萊斯參數重置為0。
舉例而言,在具有變換跳過之有損寫碼的狀況下,減低用於初始化後續CG的萊斯參數之值可僅應用於變換跳過區塊中之CG。如下可為實例公式。
大體而言,本發明描述用於基於變換是否應用於包括CG之變換區塊而調整用以定義用於係數階層寫碼之哥倫布碼的萊斯參數之值的技術。根據本發明,調整萊斯參數之值可包括更新萊斯參數之值,以定義用於寫碼CG中之後續係數的係數階層之剩餘絕對值的哥倫布碼;或初始化萊斯參數之值,以定義用於寫碼後續CG中之至少一係 數的係數階層之剩餘絕對值的哥倫布碼。
舉例而言,若變換並未應用於變換區塊(亦即,在變換跳過或略過之狀況下),則本發明中所描述之萊斯參數更新方案可用於針對CG中之後續係數更新萊斯參數之值。否則,若變換應用於變換區塊,則HEVC萊斯參數更新方案可用於針對CG中之後續係數更新萊斯參數之值。在另一實例中,若變換並未應用於變換區塊,則可基於寫碼當前CG之後的萊斯參數之值而針對變換區塊中之後續CG初始化萊斯參數之值。否則,若變換應用於變換區塊,則可針對變換區塊中之後續CG而將萊斯參數之值初始化為等於零。
儘管上文單獨地描述調整萊斯參數之值(例如,萊斯參數更新及初始化方案)的實例方法,但本發明之技術並不限於如此情況。大體而言,上文所描述之實例技術的各種組合可係可能的。亦可單獨地實施上文所描述之實例方法。另外,上文所描述之方法中的所有或其組合可應用於所有變換區塊,或僅跳過或略過變換之變換區塊內的CG。
圖5為說明可實施本發明中所描述之用於編碼係數階層之技術的視訊編碼器20之實例的方塊圖。出於說明之目的,將在HEVC寫碼之上下文中描述視訊編碼器20,但本發明關於可要求掃描變換係數之其他寫碼標準或方法不受限制。視訊編碼器20可執行視訊圖框內之CU的框內寫碼及框間寫碼。框內寫碼依賴於空間預測,以減少或移除給定視訊圖框內之視訊資料的空間冗餘。框間寫碼依賴於時間預測,以減少或移除視訊序列的當前圖框與先前經寫碼圖框之間的時間冗餘。框內模式(I模式)可指若干基於空間之視訊壓縮模式中的任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指若干基於時間之視訊壓縮模式中的任一者。
如圖5中所展示,視訊編碼器20接收待編碼的視訊圖框內之當前 視訊區塊。在圖5之實例中,視訊編碼器20包括模式選擇單元30、視訊資料記憶體41、運動補償單元44、運動估計單元42、框內預測處理單元46、經解碼圖像緩衝器(DPB)64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。圖5中所說明之變換處理單元52為將實際變換或變換之組合應用於殘差資料之區塊的單元,且不應與變換係數之區塊(其亦可被稱作CU之變換單元(TU))混淆。為了進行視訊區塊重新建構,視訊編碼器20亦包括反量化單元58、反變換處理單元60及求和器62。亦可包括解塊濾波器(圖5中未圖示),以濾波區塊邊界來自經重新建構視訊移除方塊效應假影。若需要,則解塊濾波器將通常對求和器62之輸出進行濾波。
視訊資料記憶體41可儲存待由視訊編碼器20之組件編碼的視訊資料。可(例如)自視訊來源18獲得儲存於視訊資料記憶體41中之視訊資料。經解碼圖像緩衝器64可為儲存用於由視訊編碼器20在編碼視訊資料(例如,以框內或框間寫碼模式)時使用的參考視訊資料之參考圖像記憶體。視訊資料記憶體41及經解碼圖像緩衝器64可由多種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可由同一記憶體器件或單獨記憶體器件提供視訊資料記憶體41及經解碼圖像緩衝器64。在各種實例中,視訊資料記憶體41可與視訊編碼器20之其他組件一起在晶片上,或相對於彼等組件在晶片外。
在編碼處理期間,視訊編碼器20接收待寫碼之視訊圖框或切片。可將圖框或切片劃分成多個視訊區塊,例如最大寫碼單元(LCU)。運動估計單元42及運動補償單元44相對於一或多個參考圖框中之一或多個區塊,來執行所接收視訊區塊之框間預測寫碼以提供時間壓縮。框內預測單元46可相對於與待寫碼之區塊相同的圖框或切片 中之一或多個相鄰區塊,執行所接收視訊區塊之框內預測寫碼以提供空間壓縮。
模式選擇單元40可選擇寫碼模式(框內或框間)中之一者(例如,基於每一模式之誤差(亦即,失真)結果),並將所得的經框內或框間預測區塊(例如,預測單元(PU))提供至求和器50以產生殘差區塊資料,及提供至求和器62以重新建構經編碼區塊以用於參考圖像。求和器62組合經預測之區塊與針對該區塊的來自反變換處理單元60之經反量化、經反變換之資料,以重新建構經編碼區塊,如下文所較詳細地描述。可將一些視訊圖框指定為I圖框,其中以框內預測模式編碼I圖框中之全部區塊。在一些狀況下,(例如)當由運動估計單元42執行之運動搜尋並未帶來對區塊之充分預測時,框內預測處理單元46可執行P或B圖框中之區塊的框內預測編碼。
運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。運動估計(或運動搜尋)為產生運動向量之處理,該等運動向量估計視訊區塊之運動。舉例而言,運動向量可指示當前圖框中之預測單元相對於參考圖框之參考樣本的移位。運動估計單元42藉由比較預測單元與儲存於經解碼圖像緩衝器64中之參考圖像的參考樣本,而計算經框間寫碼圖框之預測單元的運動向量。參考樣本可為發現緊密匹配包括依據像素差而寫碼之PU的CU之部分的區塊,可藉由絕對差總和(SAD)、平方差總和(SSD)或其他差異度量判定像素差。參考樣本可出現於參考圖框或參考切片內之任何處,且未必在參考圖框或切片之區塊(例如,寫碼單元)邊界處。在一些實例中,參考樣本可出現於分率像素位置處。
運動估計單元42將所計算運動向量發送至熵編碼單元56及運動補償單元44。由運動向量所識別的參考圖框之部分可被稱作參考樣本。運動補償單元44可(例如)藉由擷取由PU之運動向量所識別的參考 樣本來計算用於當前CU之預測單元的預測值。
作為對由運動估計單元42及運動補償單元44執行之框間預測的替代方案,框內預測處理單元46可框內預測所接收區塊。框內預測處理單元46可相對於相鄰之先前經寫碼區塊(例如,當前區塊上方、右上方、左上方或左方的區塊)預測所接收區塊,從而假定用於區塊之由左至右、由頂至底之編碼次序。框內預測處理單元46可經組態具有多種不同框內預測模式。舉例而言,基於正被編碼之CU的大小,框內預測處理單元46可經組態具有一定數目之方向預測模式,例如,三十三個方向預測模式。
框內預測處理單元46可藉由(例如)計算各種框內預測模式之誤差值,並選擇產生最低誤差值之模式來選擇框內預測模式。方向預測模式可包括用於組合空間相鄰像素之值,並將組合值應用於PU中的一或多個像素位置之功能。一旦已計算PU中的所有像素位置之值,框內預測處理單元46可基於PU與待編碼之所接收區塊之間的像素差而計算預測模式之誤差值。框內預測處理單元46可繼續測試框內預測模式,直至發現產生可接受之誤差值的框內預測模式。接著,框內預測處理單元46可將PU發送至求和器50。
視訊編碼器20藉由自正被寫碼之原始視訊區塊減去由運動補償單元44或框內預測處理單元46計算之預測資料而形成殘差區塊。求和器50表示執行此減法運算之(多個)組件。殘差區塊可對應於像素差值之二維矩陣,其中殘差區塊中之值的數目與對應於殘差區塊之PU中的像素之數目相同。殘差區塊中之值可對應於PU中與待寫碼之原始區塊中的協同定位之像素之值之間的差(亦即,誤差)。取決於經寫碼之區塊的類型,該等差可為色度差或明度差。
變換處理單元52可自殘差區塊形成一或多個變換單元(TU)。變換處理單元52自複數個變換選擇變換。可基於一或多個寫碼特性(諸 如,區塊大小、寫碼模式或類似者)選擇變換。接著,變換處理單元52將所選定變換應用於TU,從而產生包含變換係數之二維陣列的視訊區塊。變換處理單元52可將所得之變換係數發送至量化單元54。接著,量化單元54可量化變換係數。
接著,熵編碼單元56可根據掃描模式對矩陣中之係數執行掃描。在有損寫碼的狀況下,係數可為經量化變換係數。在無損寫碼或具有變換跳過或略過之有損寫碼的狀況下,係數可為尚未經變換或經量化之係數。本發明將熵編碼單元56描述為執行掃描。然而,應理解,在其他實例中,諸如量化單元54之其他處理單元可執行掃描。
一旦將變換係數掃描至一維陣列中,熵編碼單元56可將熵寫碼(諸如CABAC、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)或另一熵寫碼方法)應用於係數。熵編碼單元56可經組態以根據本發明之技術寫碼係數。在CABAC之實例中,熵編碼單元56可使用常規寫碼模式抑或略過模式編碼係數。為執行CABAC,熵編碼單元56可選擇用以應用一定上下文的上下文模型,以編碼待傳輸之符號。舉例而言,該上下文可係關於相鄰值是否為非零。熵編碼單元56可基於(例如)框內預測模式之框內預測方向、對應於語法元素之係數的掃描位置、區塊類型及/或變換類型,亦即,用於上下文模型選擇之其他因素,選擇用於編碼此等符號之上下文模型。
熵編碼單元56將殘差視訊資料之係數階層編碼成位元串流,以用於傳輸至視訊解碼器或儲存器件。在無損視訊寫碼或具有變換跳過或略過之有損視訊寫碼的狀況下,待編碼之係數可具有具大絕對值之係數階層。當係數表示螢幕內容(其可包括圖形及文本區域)時,可並未良好地預測內容,從而產生待編碼之係數的係數階層之大絕對值。
熵編碼單元56使用由萊斯參數所定義之哥倫布碼,以略過模式 編碼係數群組(CG)中之至少一係數之係數階層的剩餘絕對值(例如,coeff_abs_level_remaining或levelRem)。根據本發明之技術,熵編碼單元56經組態以基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值。基於萊斯參數之值及正被編碼之當前係數的係數階層之絕對值而判定可變增量之量。可變增量使得萊斯參數之值能夠增加任何整數值,直至萊斯參數之最大值。上文較詳細地描述表示萊斯參數更新之實例方程式。本發明中所描述之萊斯參數更新方案允許萊斯參數快速且有效地適應於大係數值,此情況可發生於螢幕內容之區塊中及具有變換跳過或略過之區塊中。
在一些實例中,熵編碼單元56可進一步經組態以基於變換是否應用於包括CG之變換區塊而調整用以定義用於係數階層寫碼之哥倫布碼的萊斯參數之值。根據本發明中所描述之技術,當變換並未應用於變換區塊時(亦即,在變換跳過或略過的狀況下),熵編碼單元56可執行靈活地適應CG之係數的係數階層之大絕對值的萊斯參數更新及萊斯參數初始化方案。另一方面,當變換應用於變換區塊時,熵編碼單元56可應用針對經變換係數之小係數值而最佳化的HEVC萊斯參數更新及初始化方案。
在由熵編碼單元56所進行之熵寫碼之後,所得的經編碼視訊可傳輸至另一器件(諸如,視訊解碼器30)或經封存以供稍後傳輸或擷取。在一些狀況下,除熵寫碼之外,熵編碼單元56或視訊編碼器20之另一單元可經組態以執行其他寫碼功能。舉例而言,熵編碼單元56可經組態以判定用於CU及PU之寫碼區塊型樣(CBP)值。又,在一些狀況下,熵編碼單元56可執行係數之延行長度寫碼。
反量化單元58及反變換處理單元60分別應用反量化及反變換,以在像素域中重新建構殘差區塊,(例如)以供稍後用作參考區塊。運動補償單元44可藉由將殘差區塊添加至經解碼圖像緩衝器64之參考圖 像中的一者之預測性區塊而計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重新建構殘差區塊,以計算用於運動估計之次整數像素值。求和器62將經重新建構殘差區塊添加至由運動補償單元44所產生之運動補償預測區塊,以產生用於儲存於經解碼圖像緩衝器64中之經重新建構視訊區塊。可由運動估計單元42及運動補償單元44將經重新建構視訊區塊用作參考區塊,以框間寫碼後續視訊圖框中之區塊。
圖6為說明可實施本發明中所描述之用於解碼係數階層之技術的視訊解碼器30之實例的方塊圖。在圖6之實例中,視訊解碼器30包括熵解碼單元70、視訊資料記憶體71、運動補償單元72、框內預測處理單元74、反量化單元76、反變換單元78、經解碼圖像緩衝器(DPB)82及求和器80。在一些實例中,視訊解碼器30可執行大體上互逆於相對於視訊編碼器20(參見圖5)所描述之編碼遍次的解碼遍次。
視訊資料記憶體71可儲存待由視訊解碼器30之組件解碼的視訊資料,諸如經編碼視訊位元串流。可經由視訊資料之有線或無線網路通信(例如)自電腦可讀媒體16(例如,自本機視訊來源(諸如,攝影機)),或藉由存取物理資料儲存媒體而獲得儲存於視訊資料記憶體71中之視訊資料。視訊資料記憶體71可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。經解碼圖像緩衝器82可為儲存用於由視訊解碼器30在解碼視訊資料(例如,以框內或框間寫碼模式)時使用的參考視訊資料之參考圖像記憶體。視訊資料記憶體71及經解碼圖像緩衝器82可由多種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。可由同一記憶體器件或單獨記憶體器件提供視訊資料記憶體71及經解碼圖像緩衝器82。在各種實例中,視訊資料記憶體71可與視訊解碼器30 之其他組件一起在晶片上,或相對於彼等組件晶片外。
熵解碼單元70對經編碼位元串流執行熵解碼處理,以擷取殘差視訊資料係數之一維陣列。所使用之熵解碼處理取決於由視訊編碼器20所使用的熵寫碼(例如,CABAC)。可在經編碼位元串流中傳訊由編碼器所使用之熵寫碼處理,或熵寫碼處理可為預定處理。熵解碼單元70可經組態以根據本發明之技術解碼係數。在CABAC之實例中,熵解碼單元70可使用常規寫碼模式抑或略過模式解碼係數。
在一些實例中,熵解碼單元70可使用鏡像由視訊編碼器20之熵編碼單元56所使用的掃描模式之掃描,掃描所接收值。儘管可在反量化單元76中執行係數之掃描,但出於說明之目的,將描述為由熵解碼單元70執行掃描。另外,儘管為易於說明展示為單獨功能單元,但熵解碼單元70、反量化單元76及視訊解碼器30之其他單元的結構及功能性可彼此高度整合。
熵解碼單元70以互逆於視訊編碼器20之方式解碼來自位元串流的殘差視訊資料係數之係數階層。在有損視訊寫碼之狀況下,待解碼之係數可為經量化變換係數。在無損視訊寫碼或具有變換跳過或略過之有損視訊寫碼的狀況下,待解碼之係數可具有具大絕對值之係數階層。當係數表示螢幕內容(其可包括圖形及文本區域)時,可並未良好地預測內容,從而產生待解碼之係數的係數階層之大絕對值。
熵解碼單元70使用由萊斯參數所定義之哥倫布碼來解碼係數群組(CG)中之至少一係數的係數階層之剩餘絕對值。根據本發明之技術,熵解碼單元70經組態以基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值。基於萊斯參數之值及正被解碼之當前係數的係數階層之絕對值而判定可變增量之量。可變增量使得萊斯參數之值能夠增加任何整數值,直至萊斯參數之最大值。上文較詳細地描述表示萊斯參數更新之實例方程式。本發明中 所描述之萊斯參數更新方案允許萊斯參數快速且有效地適應於大係數值,此情況可發生於螢幕內容之區塊中及具有變換跳過或略過之區塊中。
在一些實例中,熵解碼單元70可進一步經組態以基於變換是否應用於包括CG之變換區塊而調整用以定義用於係數階層寫碼之哥倫布碼的萊斯參數之值。根據本發明中所描述之技術,當變換並未應用於變換區塊時(亦即,在變換跳過或略過的狀況下),熵解碼單元70可執行靈活地適應CG之係數的係數階層之大絕對值的萊斯參數更新及萊斯參數初始化方案。另一方面,當變換應用於變換區塊時,熵解碼單元70可應用針對經變換係數之小係數值而最佳化的HEVC萊斯參數更新及初始化方案。
反量化單元76反量化(亦即,解量化)位元串流中所提供,並由熵解碼單元70解碼的經量化變換係數。反量化處理可包括習知處理,例如類似於針對HEVC所提議之處理,或由H.264解碼標準所定義之處理。反量化處理可包括使用由視訊編碼器20針對CU所計算之量化參數QP以判定量化之程度,且同樣地,判定應應用之反量化的程度。反量化單元76可在將係數自一維陣列轉換為二維陣列之前抑或之後,反量化變換係數。
反變換處理單元78將反變換應用於經反量化變換係數。在一些實例中,反變換處理單元78可基於來自視訊編碼器20之傳訊判定反變換,或藉由自一或多個寫碼特性(諸如區塊大小、寫碼模式或類似者)推斷變換來判定反變換。在一些實例中,反變換處理單元78可基於包括當前區塊之LCU的四元樹之根節點處的所傳訊變換,判定用以應用於當前區塊之變換。替代性地,可在LCU四元樹中之葉節點CU之TU四元樹的根部處傳訊變換。在一些實例中,反變換處理單元78可應用級聯反變換,其中反變換處理單元78將兩個或兩個以上反變換應用於 正被解碼之當前區塊的變換係數。
框內預測處理單元74可基於所傳訊之框內預測模式及來自當前訊框之先前經解碼區塊的資料,產生用於當前訊框之當前區塊的預測資料。
運動補償單元72可自經編碼位元串流擷取運動向量、運動預測方向及參考索引。參考預測方向指示框間預測模式為單向(例如,P圖框)抑或雙向(B圖框)。參考索引指示候選運動向量係基於哪個參考圖框。基於所擷取之運動預測方向、參考圖框索引及運動向量,運動補償單元72產生用於當前部分之運動補償區塊。此等經運動補償之區塊本質上重新產生用以產生殘差資料之預測性區塊。
運動補償單元72可產生經運動補償區塊,可能基於內插濾波器執行內插。用於具有次像素精度的運動估計之內插濾波器的識別符可包括於語法元素中。運動補償單元72可使用如由視訊編碼器20在視訊區塊之編碼期間所使用的內插濾波器,來計算用於參考區塊之次整數像素的內插值。運動補償單元72可根據所接收之語法資訊來判定由視訊編碼器20所使用的內插濾波器,並使用該等內插濾波器來產生預測性區塊。
另外,在HEVC實例中,運動補償單元72及框內預測處理單元74可使用語法資訊中之一些(例如,由四元樹所提供),以判定用於編碼經編碼視訊序列之圖框的LCU之大小。運動補償單元72及框內預測處理單元74亦可使用語法資訊,以判定描述經編碼視訊序列之圖框的每一CU分裂之方式(且同樣地,子CU如何分裂)的分裂資訊。語法資訊亦可包括指示每一分裂經編碼之方式的模式(例如,框內預測或框間預測,及用於框內預測及框內預測編碼模式)、用於每一經框間編碼PU之一或多個參考圖框(及/或含有用於參考圖框之識別符的參考清單),及解碼經編碼視訊序列之其他資訊。
求和器80組合殘差區塊與由運動補償單元72或框內預測處理單元74所產生之對應預測區塊,以形成經解碼區塊。若需要,亦可應用解塊濾波器來濾波經解碼區塊,以便移除方塊效應假影。接著,將經解碼視訊區塊儲存於經解碼圖像緩衝器82中,該緩衝器提供用於後續運動補償之參考區塊,且亦產生用於呈現於顯示器件(諸如圖1之顯示器件32)上的經解碼視訊。
圖7為說明根據本發明中所描述之技術的在係數階層之熵編碼期間更新萊斯參數之值之實例操作的流程圖。關於包括來自圖5之熵編碼單元56的視訊編碼器20描述實例操作。
熵編碼單元56接收殘差視訊資料之係數,該視訊資料待編碼成位元串流,以用於傳輸至視訊解碼器30或用於儲存於儲存媒體34或檔案伺服器36上。在接收用於編碼之殘差視訊資料係數之後,熵編碼單元56判定係數之區塊或係數群組(CG)(100)。CG可為變換區塊之子區塊,諸如,如圖4中所說明之n×n(例如,4×4)子區塊。
如上文所較詳細描述,熵編碼單元56可根據反掃描次序對CG執行一或多個掃描,以編碼CG中之係數的係數階層。舉例而言,熵編碼單元56可使用上下文模型以常規寫碼模式編碼旗標或語法元素,以指示係數之係數階層是否具有大於1或大於2之絕對值。接著,熵編碼單元56使用由萊斯參數所定義之哥倫布碼來編碼旗標或語法元素,以指示CG中之係數中的至少一者的係數階層之剩餘絕對值(102)。舉例而言,熵編碼單元56可以略過模式編碼語法元素,該語法元素指示具有大於2之係數階層的係數中之任一者的係數階層之剩餘絕對值。
根據本發明之技術,熵編碼單元56基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值(104)。如上文所詳細描述,基於萊斯參數之值及正被編碼之係數的係數階層之絕對值而判定可變增量之量。在一些實例中,可基於當前 係數之係數階層的絕對值之右移位版本而判定可變增量之量,其中右移位之量係基於萊斯參數之值。在一些實例中,熵編碼單元56可使用萊斯參數之經更新值以定義哥倫布碼,以用於編碼CG中之後續係數的係數階層之剩餘絕對值。
圖8為說明根據本發明中所描述之技術的在係數階層之熵解碼期間更新萊斯參數之值之實例操作的流程圖。關於包括來自圖6之熵解碼單元70的視訊解碼器30描述實例操作。
視訊解碼器30自視訊編碼器20,或自諸如儲存媒體34或檔案伺服器36之儲存器件接收經編碼視訊位元串流。所接收視訊位元串流表示待解碼之殘差視訊資料的係數。在接收視訊位元串流之後,熵解碼單元70自位元串流判定待解碼之殘差視訊資料係數的區塊或係數群組(CG)(110)。CG可為變換區塊之子區塊,諸如,如圖4中所說明之4×4子區塊。
如上文所較詳細描述,熵解碼單元70可根據反掃描次序對CG執行一或多個掃描,以解碼CG中之係數的係數階層。舉例而言,熵解碼單元70可使用上下文模型以常規寫碼模式解碼旗標或語法元素,以指示係數之係數階層是否具有大於1或大於2之絕對值。熵解碼單元70亦使用由萊斯參數所定義之哥倫布碼來解碼旗標或語法元素,該旗標或語法元素指示CG中之係數中的至少一者的係數階層之剩餘絕對值(112)。舉例而言,熵解碼單元70可以略過模式解碼語法元素,該語法元素指示具有大於2之係數階層的係數中之任一者的係數階層之剩餘絕對值。
根據本發明之技術,熵解碼單元70基於萊斯參數之最大值抑或萊斯參數之值之可變增量中的最小者之選擇而更新萊斯參數之值(114)。如上文所詳細描述,基於萊斯參數之值及正被解碼之係數的係數階層之絕對值而判定可變增量之量。在一些實例中,可基於當前 係數之係數階層的絕對值之右移位版本而判定可變增量之量,其中右移位之量係基於萊斯參數之值。在一些實例中,熵解碼單元70可使用萊斯參數之經更新值以定義哥倫布碼,以用於解碼CG中之後續係數的係數階層之剩餘絕對值。
圖9為說明根據本發明中所描述之技術的在係數階層之熵編碼期間調整萊斯參數之值之實例操作的流程圖。關於包括來自圖5之熵編碼單元56的視訊編碼器20描述實例操作。
熵編碼單元56接收殘差視訊資料之係數,該視訊資料待編碼成位元串流,以用於傳輸至視訊解碼器30或用於儲存於儲存媒體34或檔案伺服器36上。在接收用於編碼之殘差視訊資料係數之後,熵編碼單元56判定係數之區塊或係數群組(CG)(120)。CG可為變換區塊之子區塊,諸如,如圖4中所說明之4×4子區塊。在有損視訊寫碼之狀況下,待編碼係數可為經量化變換係數。在無損視訊寫碼及具有變換跳過或略過之有損視訊寫碼的狀況下,對於待編碼係數,跳過變換及量化操作。
如上文所較詳細描述,熵編碼單元56可根據反掃描次序對CG執行一或多個掃描,以編碼CG中之係數的係數階層。舉例而言,熵編碼單元56使用由萊斯參數所定義之哥倫布碼來編碼旗標或語法元素,該旗標或語法元素指示CG中之係數中的至少一者的係數階層之剩餘絕對值(122)。根據本發明之技術,熵編碼單元56基於變換是否應用於包括CG之變換區塊而調整萊斯參數之值(124)。熵編碼單元56可基於無損寫碼狀態、變換略過狀態、變換跳過狀態或用於變換區塊之參數集中之設定檔集中的至少一者而判定變換是否應用於變換區塊。
在一實例中,根據本發明之技術,若變換並未應用於變換區塊,則本發明中所描述之萊斯參數更新方案可用於更新萊斯參數之值,以用於寫碼CG中之後續係數的係數階層之剩餘絕對值。否則, 若變換應用於變換區塊,則HEVC萊斯參數更新方案可用於針對CG中之後續係數更新萊斯參數之值。在另一實例中,根據技術,若變換並未應用於變換區塊,則對於變換區塊中之後續CG,可在編碼當前CG中之係數的係數階層之剩餘絕對值之後,基於萊斯參數之值而初始化萊斯參數之值。否則,若變換應用於變換區塊,則可針對變換區塊中之後續CG而將萊斯參數之值初始化為等於零。
圖10為說明根據本發明中所描述之技術的在係數階層之熵解碼期間調整萊斯參數之值之實例操作的流程圖。關於包括來自圖6之熵解碼單元70的視訊解碼器20描述實例操作。
視訊解碼器30自視訊編碼器20,或自諸如儲存媒體34或檔案伺服器36之儲存器件接收經編碼視訊位元串流。所接收視訊位元串流表示待解碼之殘差視訊資料的係數。在接收視訊位元串流之後,熵解碼單元70自位元串流判定待解碼之殘差視訊資料係數的區塊或係數群組(CG)(130)。CG可為變換區塊之子區塊,諸如,如圖4中所說明之4×4子區塊。在有損視訊寫碼之狀況下,待解碼之係數可為經量化變換係數。在無損視訊寫碼及具有變換跳過或略過之有損視訊寫碼的狀況下,對於待解碼之係數,跳過變換及量化操作。
如上文所較詳細描述,熵解碼單元70可根據反掃描次序對CG執行一或多個掃描,以解碼CG中之係數的係數階層。舉例而言,熵解碼單元70使用由萊斯參數所定義之哥倫布碼來解碼旗標或語法元素,該旗標或語法元素指示CG中之係數中的至少一者的係數階層之剩餘絕對值(132)。根據本發明之技術,熵解碼單元70基於變換是否應用於包括CG之變換區塊而調整萊斯參數之值(134)。熵解碼單元70可基於無損寫碼狀態、變換略過狀態、變換跳過狀態或用於變換區塊之參數集中之設定檔集中的至少一者而判定變換是否應用於變換區塊。
在一實例中,根據本發明之技術,若變換並未應用於變換區 塊,則本發明中所描述之萊斯參數更新方案可用於更新萊斯參數之值,以用於寫碼CG中之後續係數的係數階層之剩餘絕對值。否則,若變換應用於變換區塊,則HEVC萊斯參數更新方案可用於針對CG中之後續係數更新萊斯參數之值。在另一實例中,根據技術,若變換並未應用於變換區塊,則對於變換區塊中之後續CG,可在解碼當前CG中之係數的係數階層之剩餘絕對值之後,基於萊斯參數之值而初始化萊斯參數之值。否則,若變換應用於變換區塊,則可針對變換區塊中之後續CG而將萊斯參數之值初始化為等於零。
在一或多個實例中,可在硬體、軟體、韌體或其任何組合中實施所描述之功能。若實施於軟體中,則可將功能作為一或多個指令或程式碼而儲存於電腦可讀媒體上,或經由電腦可讀媒體來傳輸,及由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,通信媒體包括(例如)根據通信協定而促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上可對應於(1)為非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構,以用於實施本發明中所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
作為實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件、快閃記憶體,或可用以儲存呈指令或資料結構之形式的所要程式碼且可由電腦存取之任何其他媒體。又,任何連接可適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或無線技術(諸如,紅外線、無線電及微波)而自網站、伺服器或其他遠端來源傳輸指令,則同軸纜線、光纖纜 線、雙絞線、DSL或無線技術(諸如,紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是有關非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟藉由雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
可由諸如一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合式或離散邏輯電路系統之一或多個處理器來執行指令。因此,本文中所使用之術語「處理器」可指上述結構或適於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,可將本文中所描述之功能性提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可以廣泛多種器件或裝置予以實施,該等器件或裝置包括無線手機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示之技術的器件之功能態樣,但未必要求藉由不同硬體單元來實現。實情為,如上文所描述,可將各種單元組合於編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合且結合合適軟體及/或韌體來提供該等單元。
已描述各種實例。此等及其他實例屬於以下申請專利範圍之範疇內。
130‧‧‧步驟
132‧‧‧步驟
134‧‧‧步驟

Claims (59)

  1. 一種在一視訊解碼處理中解碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來解碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換未被應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值,其中調整該萊斯參數之該值包含在解碼係數之該區塊中之該至少一係數的該係數階層之該剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之係數之一後續區塊初始化該萊斯參數之該值。
  2. 如請求項1之方法,其中係數之該區塊包含一係數群組(CG),且其中調整該萊斯參數之該值包含更新該萊斯參數之該值,該方法進一步包含使用由該萊斯參數之該經更新值所定義之哥倫布碼來解碼該CG中之一後續係數的一係數階層之一剩餘絕對值。
  3. 如請求項1之方法,其中係數之該區塊包含一係數群組(CG),且係數之該後續區塊包含一後續CG,該方法進一步包含使用由該萊斯參數之該經初始化值所定義之哥倫布碼來解碼該後續CG中之至少一係數的一係數階層之一剩餘絕對值。
  4. 如請求項1之方法,其中調整該萊斯參數之該值包含基於該萊斯參數之一最大值抑或該萊斯參數之該值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被解碼之該係數的該係數階層之一絕對值而判定該可變增量。
  5. 如請求項4之方法,其中該可變增量將該萊斯參數之該值增加任何整數值,直至該萊斯參數之該最大值。
  6. 如請求項4之方法,其中基於正被解碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移位之一量係基於該萊斯參數之該值。
  7. 如請求項4之方法,其中在該萊斯參數之該值之每一更新時的該可變增量之一量為由一阻尼因子按比例調整或經設定上限為小於或等於一最大增量值之量。
  8. 如請求項1之方法,其中調整該萊斯參數之該值包含基於該萊斯參數之該值及正被解碼之該係數的該係數階層之該絕對值而減低該萊斯參數之該值。
  9. 如請求項1之方法,其進一步包含基於一無損寫碼狀態、一變換略過狀態、一變換跳過狀態或用於該變換區塊之一參數集中之一設定檔集中的至少一者而判定該變換並未應用於該變換區塊。
  10. 一種在一視訊解碼處理中編碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來編碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換未被應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值,其中調整該萊斯參數之該值包含在編碼係數之該區塊中之該至少一係數的該係數階層之該剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之係數之一後續區塊初始化該萊斯參數之該值。
  11. 如請求項10之方法,其中係數之該區塊包含一係數群組(CG),且其中調整該萊斯參數之該值包含更新該萊斯參數之該值,該方法進一步包含使用由該萊斯參數之該經更新值所定義之哥倫布碼來編碼該CG中之一後續係數的一係數階層之一剩餘絕對 值。
  12. 如請求項10之方法,其中係數之該區塊包含一係數群組(CG),且係數之該後續區塊包含一後續CG,該方法進一步包含使用由該萊斯參數之該經初始化值所定義之哥倫布碼來編碼該後續CG中之至少一係數的一係數階層之一剩餘絕對值。
  13. 如請求項10之方法,其中調整該萊斯參數之該值包含基於該萊斯參數之一最大值抑或該萊斯參數之該值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被編碼之該係數的該係數階層之一絕對值而判定該可變增量。
  14. 如請求項13之方法,其中該可變增量將該萊斯參數之該值增加任何整數值,直至該萊斯參數之該最大值。
  15. 如請求項13之方法,其中基於正被編碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移位之一量係基於該萊斯參數之該值。
  16. 如請求項13之方法,其中在該萊斯參數之該值之每一更新時的該可變增量之一量為由一阻尼因子按比例調整或經設定上限為小於或等於一最大增量值之量。
  17. 如請求項10之方法,其中調整該萊斯參數之該值包含基於該萊斯參數之該值及正被編碼之該係數的該係數階層之該絕對值而減低該萊斯參數之該值。
  18. 如請求項10之方法,其進一步包含基於一無損寫碼狀態、一變換略過狀態、一變換跳過狀態或用於該變換區塊之一參數集中之一設定檔集中的至少一者而指示該變換並未應用於該變換區塊。
  19. 一種視訊寫碼器件,其包含: 一記憶體,其經組態以儲存視訊資料;及一或多個處理器,其經組態以:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換並未應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值,其中該一或多個處理器經組態以在解碼係數之該區塊中之該至少一係數的該係數階層之該剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之係數之一後續區塊初始化該萊斯參數之該值。
  20. 如請求項19之器件,其中該視訊寫碼器件包含一視訊解碼器件,且係數之該區塊包含一係數群組(CG),其中該等處理器經組態以:使用由該萊斯參數所定義之該等哥倫布碼來解碼該CG中之該係數的該係數階層之該剩餘絕對值;基於該變換並未應用於包括該CG之該變換區塊而更新該萊斯參數之該值;及使用由該萊斯參數之該經更新值所定義之哥倫布碼來解碼該CG中之一後續係數的一係數階層之一剩餘絕對值。
  21. 如請求項19之器件,其中該視訊寫碼器件包含一視訊編碼器件,且係數之該區塊包含一係數群組(CG),其中該等處理器經組態以:使用由該萊斯參數所定義之該等哥倫布碼來編碼該CG中之該係數的該係數階層之該剩餘絕對值;基於該變換並未應用於包括該CG之該變換區塊而更新該萊斯參數之該值;及 使用由該萊斯參數之該經更新值所定義之哥倫布碼來編碼該CG中之一後續係數的一係數階層之一剩餘絕對值。
  22. 如請求項19之器件,其中該視訊寫碼器件包含一視訊解碼器件,且係數之該區塊包含一係數群組(CG)及係數之該後續區塊包含一後續CG,其中該等處理器經組態以:使用由該萊斯參數所定義之該等哥倫布碼來解碼該CG中之該係數的該係數階層之該剩餘絕對值;基於該變換並未應用於包括該CG之該變換區塊而針對該後續CG初始化該萊斯參數之該值;及使用由該萊斯參數之該經初始化值所定義之哥倫布碼來解碼該後續CG中之至少一係數的一係數階層之一剩餘絕對值。
  23. 如請求項19之器件,其中該視訊寫碼器件包含一視訊編碼器件,且係數之該區塊包含一係數群組(CG)及係數之該後續區塊包含一後續CG,其中該等處理器經組態以:使用由該萊斯參數所定義之該等哥倫布碼來編碼該CG中之該係數的該係數階層之該剩餘絕對值;基於該變換並未應用於包括該CG之該變換區塊而針對該後續CG初始化該萊斯參數之該值;及使用由該萊斯參數之該經初始化值所定義之哥倫布碼來編碼該後續CG中之至少一係數的一係數階層之一剩餘絕對值。
  24. 如請求項19之器件,其中基於該變換並未應用於該變換區塊,該等處理器經組態以基於該萊斯參數之一最大值抑或該萊斯參數之該值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之一絕對值而判定該可變增量。
  25. 如請求項24之器件,其中該可變增量將該萊斯參數之該值增加 任何整數值,直至該萊斯參數之該最大值。
  26. 如請求項24之器件,其中基於正被寫碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移位之一量係基於該萊斯參數之該值。
  27. 如請求項24之器件,其中在該萊斯參數之該值之每一更新時的該可變增量之一量為由一阻尼因子按比例調整或經設定上限為小於或等於一最大增量值之量。
  28. 如請求項19之器件,其中基於該變換並未應用於該變換區塊,該等處理器經組態以基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之該絕對值而減低該萊斯參數之該值。
  29. 如請求項19之器件,其中該等處理器經組態以基於一無損寫碼狀態、一變換略過狀態、一變換跳過狀態或用於該變換區塊之一參數集中之一設定檔集中的至少一者而判定該變換並未應用於該變換區塊。
  30. 一種視訊寫碼器件,其包含:用於判定殘差視訊資料之係數之一區塊的構件;用於使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值的構件;及用於基於一變換並未應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值的構件,其中該用於調整該萊斯參數之該值的構件包含用於在寫碼係數之該區塊中之該至少一係數的該係數階層之該剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之係數之一後續區塊初始化該萊斯參數之該值的構件。
  31. 一種包含指令之電腦可讀儲存媒體,該等指令在由一視訊寫碼器件之一或多個處理器執行時使該等處理器: 判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於一變換並未應用於包括係數之該區塊的一變換區塊而調整該萊斯參數之一值,其中該等指令使該等處理器在寫碼係數之該區塊中之該至少一係數的該係數階層之該剩餘絕對值之後,基於該萊斯參數之該值而針對該變換區塊中之係數之一後續區塊初始化該萊斯參數之該值。
  32. 一種在一視訊解碼處理中解碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來解碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被解碼之該係數的該係數階層之一絕對值而判定該可變增量。
  33. 如請求項32之方法,其中該可變增量將該萊斯參數之該值增加任何整數值,直至該萊斯參數之該最大值,且其中該萊斯參數之該最大值為大於或等於4之一整數值。
  34. 如請求項33之方法,其中基於正被解碼之該係數的該係數階層具有一大絕對值,該可變增量將該萊斯參數之該值增加大於1之一整數值。
  35. 如請求項32之方法,其中更新該萊斯參數之該值包含在並不執行任何條件運算的情況下更新該萊斯參數之該值。
  36. 如請求項32之方法,其中係數之該區塊包含變換係數,抑或並未應用一變換之係數。
  37. 如請求項32之方法,其中基於正被解碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移位之一量係基於該萊斯參數之該值。
  38. 如請求項32之方法,其中基於該萊斯參數之該值及正被解碼之該係數的該係數階層之該絕對值,更新該萊斯參數之該值包含減低該萊斯參數之該值。
  39. 如請求項32之方法,其進一步包含接收經組態以指示以下各者中之一或多者的語法元素:用於係數之該區塊的該萊斯參數之一初始值、該萊斯參數之該可變增量、該萊斯參數之該最大值、用於正被解碼之該係數的該係數階層之該絕對值的一臨限值,及一或多個整數參數值。
  40. 一種在一視訊編碼處理中編碼係數之方法,該方法包含:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來編碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被編碼之該係數的該係數階層之一絕對值而判定該可變增量。
  41. 如請求項40之方法,其中該可變增量將該萊斯參數之該值增加任何整數值,直至該萊斯參數之該最大值,且其中該萊斯參數之該最大值為大於或等於4之一整數值。
  42. 如請求項41之方法,其中基於正被編碼之該係數的該係數階層具有一大絕對值,該可變增量將該萊斯參數之該值增加大於1之一整數值。
  43. 如請求項40之方法,其中更新該萊斯參數之該值包含在並不執 行任何條件運算的情況下更新該萊斯參數之該值。
  44. 如請求項40之方法,其中係數之該區塊包含變換係數,抑或並未應用一變換之係數。
  45. 如請求項40之方法,其中基於正被編碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移位之一量係基於該萊斯參數之該值。
  46. 如請求項40之方法,其中基於該萊斯參數之該值及正被編碼之該係數的該係數階層之該絕對值,更新該萊斯參數之該值包含減低該萊斯參數之該值。
  47. 如請求項40之方法,其進一步包含產生經組態以指示以下各者中之一或多者的語法元素:用於係數之該區塊的該萊斯參數之一初始值、該萊斯參數之該可變增量、該萊斯參數之該最大值、用於正被編碼之該係數的該係數階層之該絕對值的一臨限值,及一或多個整數參數值。
  48. 一種視訊寫碼器件,其包含:一記憶體,其經組態以儲存視訊資料;及一或多個處理器,其經組態以:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之一絕對值而判定該可變增量。
  49. 如請求項48之器件,其中該視訊寫碼器件包含一視訊解碼器件,且係數之該區塊包含一係數群組(CG),其中該等處理器經 組態以:使用由該萊斯參數所定義之該等哥倫布碼來解碼該CG中之該係數的該係數階層之該剩餘絕對值;更新該萊斯參數之該值;及使用由該萊斯參數之該經更新值所定義之哥倫布碼來解碼該CG中之一後續係數的一係數階層之一剩餘絕對值。
  50. 如請求項48之器件,其中該視訊寫碼器件包含一視訊編碼器件,且係數之該區塊包含一係數群組(CG),其中該等處理器經組態以:使用由該萊斯參數所定義之該等哥倫布碼來編碼該CG中之該係數的該係數階層之該剩餘絕對值;更新該萊斯參數之該值;及使用由該萊斯參數之該經更新值所定義之哥倫布碼來編碼該CG中之一後續係數的一係數階層之一剩餘絕對值。
  51. 如請求項48之器件,其中該可變增量將該萊斯參數之該值增加任何整數值,直至該萊斯參數之該最大值,且其中該萊斯參數之該最大值為大於或等於4之一整數值。
  52. 如請求項51之器件,其中基於正被寫碼之該係數的該係數階層具有一大絕對值,該可變增量將該萊斯參數之該值增加大於1之一整數值。
  53. 如請求項48之器件,其中該等處理器經組態以在並不執行任何條件運算的情況下更新該萊斯參數之該值。
  54. 如請求項48之器件,其中係數之該區塊包含變換係數,抑或並未應用一變換之係數。
  55. 如請求項48之器件,其中基於正被寫碼之該係數的該係數階層之該絕對值的一經右移位版本而判定該可變增量,其中該右移 位之一量係基於該萊斯參數之該值。
  56. 如請求項48之器件,其中該等處理器經組態以基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之該絕對值而減低該萊斯參數之該值。
  57. 如請求項48之器件,其中該等處理器經組態以判定經組態以指示以下各者中之一或多者的語法元素:用於係數之該區塊的該萊斯參數之一初始值、該萊斯參數之該可變增量、該萊斯參數之該最大值、用於正被寫碼之該係數的該係數階層之該絕對值的一臨限值,及一或多個整數參數值。
  58. 一種視訊寫碼器件,其包含:用於判定殘差視訊資料之係數之一區塊的構件;用於使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值的構件;及用於基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值的構件,其中基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之一絕對值而判定該可變增量。
  59. 一種包含指令之電腦可讀儲存媒體,該等指令在由一視訊寫碼器件之一或多個處理器執行時使該等處理器:判定殘差視訊資料之係數之一區塊;使用由一萊斯參數所定義之哥倫布碼來寫碼該等係數中之至少一者的一係數階層之一剩餘絕對值;及基於該萊斯參數之一最大值抑或該萊斯參數之一值之一可變增量中的一最小者之一選擇而更新該萊斯參數之該值,其中基於該萊斯參數之該值及正被寫碼之該係數的該係數階層之一絕對值而判定該可變增量。
TW103113479A 2013-04-12 2014-04-11 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新 TWI554082B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361811632P 2013-04-12 2013-04-12
US201361832652P 2013-06-07 2013-06-07
US201361845850P 2013-07-12 2013-07-12
US201461953647P 2014-03-14 2014-03-14
US14/250,282 US9936200B2 (en) 2013-04-12 2014-04-10 Rice parameter update for coefficient level coding in video coding process

Publications (2)

Publication Number Publication Date
TW201445979A TW201445979A (zh) 2014-12-01
TWI554082B true TWI554082B (zh) 2016-10-11

Family

ID=51686792

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103113479A TWI554082B (zh) 2013-04-12 2014-04-11 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新

Country Status (11)

Country Link
US (1) US9936200B2 (zh)
EP (1) EP2984830B1 (zh)
JP (1) JP6469652B2 (zh)
KR (1) KR102283307B1 (zh)
CN (1) CN105191307B (zh)
BR (1) BR112015025910B1 (zh)
DK (1) DK2984830T3 (zh)
ES (1) ES2865389T3 (zh)
HU (1) HUE054102T2 (zh)
TW (1) TWI554082B (zh)
WO (1) WO2014169199A2 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
WO2015119361A1 (ko) * 2014-02-07 2015-08-13 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US9683130B2 (en) 2014-03-19 2017-06-20 Xerox Corporation Polydiphenylsiloxane coating formulation and method for forming a coating
US9494884B2 (en) 2014-03-28 2016-11-15 Xerox Corporation Imaging plate coating composite composed of fluoroelastomer and aminosilane crosslinkers
US9428663B2 (en) 2014-05-28 2016-08-30 Xerox Corporation Indirect printing apparatus employing sacrificial coating on intermediate transfer member
US9550908B2 (en) 2014-09-23 2017-01-24 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
US9593255B2 (en) 2014-09-23 2017-03-14 Xerox Corporation Sacrificial coating for intermediate transfer member of an indirect printing apparatus
US9611404B2 (en) 2014-09-23 2017-04-04 Xerox Corporation Method of making sacrificial coating for an intermediate transfer member of indirect printing apparatus
CN104410863B (zh) 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US9956760B2 (en) 2014-12-19 2018-05-01 Xerox Corporation Multilayer imaging blanket coating
US9458341B2 (en) 2015-02-12 2016-10-04 Xerox Corporation Sacrificial coating compositions comprising polyvinyl alcohol and waxy starch
US9816000B2 (en) 2015-03-23 2017-11-14 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
CN112272298B (zh) 2015-06-23 2023-07-18 联发科技(新加坡)私人有限公司 转换系数编解码的方法及装置
WO2017000222A1 (en) * 2015-06-30 2017-01-05 Mediatek Singapore Pte. Ltd. Grouping bypass bins and improved sign data hiding for residual coding
US9718964B2 (en) 2015-08-19 2017-08-01 Xerox Corporation Sacrificial coating and indirect printing apparatus employing sacrificial coating on intermediate transfer member
US10432952B2 (en) * 2015-11-19 2019-10-01 Qualcomm Incorporated System and methods for fixed-point approximations in display stream compression (DSC)
CN108259896B (zh) * 2016-12-29 2021-10-08 四川大学 一种利用系数分布特性的哥伦布-莱斯初始参数自适应决策方法
KR102495753B1 (ko) * 2017-10-10 2023-02-03 삼성전자주식회사 카메라를 이용하여 획득한 원시 이미지를 외부 전자 장치를 이용하여 처리하는 방법 및 전자 장치
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
KR102553150B1 (ko) * 2018-03-23 2023-07-10 삼성전자주식회사 외부 전자 장치와 이미지를 처리하는 전자 장치 및 그 동작 방법
WO2019190204A1 (ko) 2018-03-27 2019-10-03 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
KR102661759B1 (ko) * 2018-09-24 2024-04-30 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에 적합한 변환 계수의 효율적인 코딩
US10951898B2 (en) * 2018-10-11 2021-03-16 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
CN116132676A (zh) 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
WO2020112453A1 (en) * 2018-11-30 2020-06-04 Interdigital Vc Holdings, Inc. Entropy coding optimization
US10904548B2 (en) * 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
US11134273B2 (en) 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
TW202046729A (zh) * 2019-04-24 2020-12-16 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法、及解碼方法
EP3985973A4 (en) * 2019-06-14 2022-07-27 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD AND DECODING METHOD
US11368511B2 (en) * 2019-06-20 2022-06-21 Tencent America LLC Unification of rice parameter lookup table
CN112118456B (zh) * 2019-06-20 2022-03-25 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
US11184642B2 (en) * 2019-08-02 2021-11-23 Mediatek Inc. Methods and apparatus for simplification of coding residual blocks
EP4024869A4 (en) * 2019-08-31 2023-08-16 LG Electronics Inc. METHOD AND DEVICE FOR ENCODING TRANSFORMATION COEFFICIENTS IN A VIDEO/IMAGE ENCODING SYSTEM
JP7201873B2 (ja) * 2019-09-24 2023-01-10 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 残差及び係数符号化の方法、プログラム並びに装置
US20240080480A1 (en) * 2019-10-07 2024-03-07 Lg Electronics Inc. Entropy coding method and device in video/image coding system
WO2021071187A1 (ko) * 2019-10-07 2021-04-15 엘지전자 주식회사 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
US11336891B2 (en) * 2019-11-25 2022-05-17 Tencent America LLC Coding method and system with improved transform domain coefficient computation
WO2021130071A1 (en) * 2019-12-23 2021-07-01 Interdigital Vc Holdings France Residual processing for video encoding and decoding
US11478991B2 (en) 2020-06-17 2022-10-25 Xerox Corporation System and method for determining a temperature of an object
US11499873B2 (en) 2020-06-17 2022-11-15 Xerox Corporation System and method for determining a temperature differential between portions of an object printed by a 3D printer
US11498354B2 (en) 2020-08-26 2022-11-15 Xerox Corporation Multi-layer imaging blanket
US11722672B2 (en) * 2020-10-06 2023-08-08 Qualcomm Incorporated Adaptively deriving rice parameter values for high bit-depth video coding
US11767447B2 (en) 2021-01-19 2023-09-26 Xerox Corporation Topcoat composition of imaging blanket with improved properties
US20240137535A1 (en) * 2021-02-25 2024-04-25 Kt Corporation Method for encoding/decoding a video signal and recording medium storing a data stream generated by the encoding method
WO2022193386A1 (zh) * 2021-03-17 2022-09-22 Oppo广东移动通信有限公司 系数编解码方法、编解码设备、终端及存储介质
US11991395B2 (en) * 2021-09-29 2024-05-21 Tencent America LLC Techniques for constraint flag signaling for range extension with rice coding
WO2023056219A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding
US20230107599A1 (en) * 2021-09-30 2023-04-06 Qualcomm Incorporated History-based adaptive interpretation of context coded syntax elements for high bit-depth video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120014454A1 (en) * 2010-07-15 2012-01-19 Texas Instruments Incorporated Method and Apparatus for Parallel Context Processing
WO2012155553A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and method of sample adaptive offset for luma and chroma components

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987468B1 (en) 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
KR20060051157A (ko) 2004-10-29 2006-05-19 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
CN102238387B (zh) 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
WO2013001770A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
EP2705667B1 (en) * 2011-06-30 2016-09-21 Huawei Technologies Co., Ltd. Lossless coding and associated signaling methods for compound video
CN102368385B (zh) 2011-09-07 2013-08-14 中科开元信息技术(北京)有限公司 后向块自适应Golomb-Rice编解码方法及装置
US10616581B2 (en) * 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9743116B2 (en) * 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
KR102293126B1 (ko) 2012-01-20 2021-08-25 지이 비디오 컴프레션, 엘엘씨 변환 계수 코딩
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
KR101974320B1 (ko) * 2012-04-13 2019-04-30 캐논 가부시끼가이샤 비디오 데이터의 변환 유닛의 서브 블록을 인코딩 및 디코딩하는 방법, 장치 및 기록매체
US9426466B2 (en) 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
CN104380737B (zh) * 2012-06-22 2018-10-26 夏普株式会社 算术解码装置
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US10021419B2 (en) 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120014454A1 (en) * 2010-07-15 2012-01-19 Texas Instruments Incorporated Method and Apparatus for Parallel Context Processing
WO2012155553A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and method of sample adaptive offset for luma and chroma components

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JVTVC-D336 20110120 *

Also Published As

Publication number Publication date
CN105191307B (zh) 2018-07-31
BR112015025910A2 (pt) 2017-07-25
US20140307800A1 (en) 2014-10-16
HUE054102T2 (hu) 2021-08-30
KR102283307B1 (ko) 2021-07-28
JP6469652B2 (ja) 2019-02-13
EP2984830A2 (en) 2016-02-17
CN105191307A (zh) 2015-12-23
EP2984830B1 (en) 2021-04-07
WO2014169199A2 (en) 2014-10-16
WO2014169199A3 (en) 2014-12-18
ES2865389T3 (es) 2021-10-15
KR20150139888A (ko) 2015-12-14
DK2984830T3 (da) 2021-05-03
BR112015025910B1 (pt) 2023-03-28
JP2016515786A (ja) 2016-05-30
US9936200B2 (en) 2018-04-03
TW201445979A (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
TWI554082B (zh) 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新
TWI657692B (zh) 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化
TWI826519B (zh) 用於係數寫碼之規則寫碼位元子之減少
KR102352638B1 (ko) 비디오 코딩 프로세스에서의 계수 레벨 코딩
JP6144333B2 (ja) レートひずみ最適量子化におけるレベル決定
US9313498B2 (en) Sign hiding techniques for quantized transform coefficients in video coding
DK2805487T3 (en) Throughput improvement of cabac weighted level coding
TW201711467A (zh) 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW201937926A (zh) 在視訊寫碼中用於適應性算術寫碼之機率初始化及發信號
KR20140037264A (ko) 비디오 코딩에서의 계수 스캐닝
US9491463B2 (en) Group flag in transform coefficient coding for video coding
US20140003530A1 (en) Sign hiding techniques for quantized transform coefficients in video coding
TWI827662B (zh) 用於係數寫碼之規則寫碼位元子之減少

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees