TWI657692B - 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化 - Google Patents

於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化 Download PDF

Info

Publication number
TWI657692B
TWI657692B TW103124054A TW103124054A TWI657692B TW I657692 B TWI657692 B TW I657692B TW 103124054 A TW103124054 A TW 103124054A TW 103124054 A TW103124054 A TW 103124054A TW I657692 B TWI657692 B TW I657692B
Authority
TW
Taiwan
Prior art keywords
statistics
coefficient
block
coefficients
value
Prior art date
Application number
TW103124054A
Other languages
English (en)
Other versions
TW201513639A (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 TW201513639A publication Critical patent/TW201513639A/zh
Application granted granted Critical
Publication of TWI657692B publication Critical patent/TWI657692B/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • 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/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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/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)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明描述用於初始化用於定義用於係數層級寫碼之碼的一萊斯參數之技術。根據該等技術,基於針對視訊資料之先前經寫碼係數所收集的係數層級之統計,判定用於該視訊資料之一變換區塊中的一係數群組(CG)的該萊斯參數之初始值。該等統計可為先前經寫碼係數之係數層級的絕對值或係數層級之剩餘絕對值的統計。可在一視訊切片之一開始處將該等統計之一值初始化為零,並基於該切片之每一CG中所寫碼之係數層級進行更新。可按每一CG更新一次該等統計。在一些狀況下,可針對基於包括該等CG之變換區塊的特性而定義的複數個不同類別之CG中之每一者,分別收集統計。

Description

於視訊寫碼程序中用於係數層級寫碼之萊斯(RICE)參數初始化
本申請案主張2013年7月12日申請的美國臨時專利申請案第61/845,850號、2013年7月15日申請的美國臨時專利申請案第61/846,512號、2013年9月25日申請的美國臨時專利申請案第61/882,536號、2013年11月1日申請的美國臨時專利申請案第61/898,968號、2013年11月22日申請的美國臨時專利申請案第61/907,693號,及2013年12月12日申請的美國臨時專利申請案第61/915,337號的權利,該等專利申請案中之每一者的全部內容以引用的方式併入本文中。
本發明係關於視訊寫碼,且更特定言之係關於用於寫碼變換係數之技術。
數位視訊能力可併入至廣泛範圍之器件中,該等器件包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲主控台、蜂巢式或衛星無線電電話、視訊電傳會議器件及其類似者。數位視訊器件實施視訊壓縮技術(諸如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(進階視訊寫碼(AVC))、當前在開發過程中之高效率視訊寫碼(HEVC)標 準定義之標準及此等標準之擴展中所描述的彼等視訊壓縮技術)以更有效率地傳輸、接收及儲存數位視訊資訊。
視訊壓縮技術包括空間預測及/或時間預測以減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,可將視訊切片(亦即,視訊圖框或視訊圖框之一部分)分割成區塊。使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)切片中的視訊區塊。經框間寫碼(P或B)切片中之視訊區塊可使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
空間預測或時間預測導致寫碼用於區塊之預測性區塊。殘餘資料表示待寫碼之原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本之區塊的運動向量,及指示經寫碼區塊與預測性區塊之間的差異之殘餘資料來編碼經框間寫碼區塊。根據框內寫碼模式及殘餘資料來編碼經框內寫碼區塊。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生可接著進行量化之殘餘變換係數。可以特定次序掃描最初配置成二維陣列的經量化之變換係數,以產生變換係數之一維向量,且可應用熵寫碼以達成甚至更多之壓縮。
大體而言,本發明描述用於初始化一萊斯參數之技術,該萊斯參數用於定義用於在一視訊寫碼程序中進行係數層級寫碼之碼。特定言之,本發明描述用於判定用於定義碼(例如,哥倫布萊斯(Colomb-Rice)碼或指數哥倫布碼)之該萊斯參數的一初始值的技術,該等碼用於寫碼係數之係數層級的剩餘絕對值,其中上下文自適應性二進位算術寫碼(CABAC)用於寫碼有效係數、大於1之係數層級及大於2之係數 層級的指示。在一些實例中,可在高效率視訊寫碼(HEVC)標準之範圍擴展中,將該等技術應用於用於係數層級寫碼之萊斯參數初始化。
本發明中所描述之該等技術基於針對視訊資料之先前經寫碼係數所收集的係數層級之統計,判定用於該視訊資料之一變換區塊中的一當前係數群組(CG)(亦即,一係數區塊)的該萊斯參數之一初始值。在有損寫碼之狀況下,該CG可包括變換係數,或在無損寫碼或以變換跳過模式有損寫碼之狀況下,該CG可包括並未應用一變換之係數。該等統計可為先前經寫碼係數之係數層級的絕對值或係數層級之剩餘絕對值的統計。可在視訊資料之每一切片的一開始處將該等統計之一值初始化為零,且可基於該切片之每一CG中所寫碼的一或多個係數層級,更新該等統計。在一實例中,在於該CG中寫碼一第一係數層級時,可按每一CG更新一次該等統計。在一些狀況下,可針對基於包括該等CG之變換區塊的特性而定義的複數個不同類別之CG中之每一者,分別收集統計。根據本發明之該等技術,在一變換區塊中之一當前CG的開始處,將該等統計之一值映射為用於該當前CG的該萊斯參數之一初始值。
在一實例中,本發明係關於一種在一視訊解碼程序中解碼係數之方法,該方法包含判定殘餘視訊資料之先前經解碼係數的係數層級之統計;基於該等統計,判定用於該殘餘視訊資料之一變換區塊中的一當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數定義之碼,解碼該當前係數群組中之至少一係數的一係數層級之一剩餘絕對值。
在另一實例中,本發明係關於一種在一視訊編碼程序中編碼係數之方法,該方法包含判定殘餘視訊資料之先前經編碼係數的係數層級之統計;基於該等統計,判定用於該殘餘視訊資料之一變換區塊中的一當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數定 義之碼,編碼該當前係數群組中之至少一係數的一係數層級之一剩餘絕對值。
在又一實例中,本發明係關於一種視訊寫碼器件,其包含經組態以儲存視訊資料之一記憶體,及經組態以進行如下操作之一或多個處理器:判定殘餘視訊資料之先前經寫碼係數的係數層級之統計;基於該等統計,判定用於該殘餘視訊資料之一變換區塊中的一當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數定義之碼,寫碼該當前係數群組中之至少一係數的一係數層級之一剩餘絕對值。
在另一實例中,本發明係關於一種視訊寫碼器件,其包含:用於判定殘餘視訊資料之先前經寫碼係數的係數層級之統計之構件;用於基於該等統計,判定用於該殘餘視訊資料之一變換區塊中的一當前係數群組的一萊斯參數之一初始值的構件;及用於使用由該萊斯參數之該初始值定義的碼,寫碼該當前係數群組中之至少一係數的一係數層級之一剩餘絕對值的構件。
在又一實例中,本發明係關於一種包含指令之電腦可讀儲存媒體,該等指令在由一視訊寫碼器件之一或多個處理器執行時使得該等處理器進行以下操作:判定殘餘視訊資料之先前經寫碼係數的係數層級之統計;基於該等統計,判定用於該殘餘視訊資料之一變換區塊中的一當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數定義之碼,寫碼該當前係數群組中之至少一係數的一係數層級之一剩餘絕對值。
一或多個實例之細節闡述於隨附圖式及以下描述中。自該描述及該等圖式以及自申請專利範圍將顯而易見其他特徵、目標及優勢。
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)
圖1為說明可利用本發明中所描述之用於寫碼係數層級的技術的實例視訊編碼及解碼系統之方塊圖。
圖2為展示用於係數層級寫碼之實例反掃描次序的概念圖。
圖3為展示用於係數群組(CG)之係數層級寫碼的實例基於子區塊之反對角線掃描次序的概念圖。
圖4為展示用於CG之寫碼係數層級的實例反對角線掃描次序之概念圖。
圖5為說明可實施本發明中所描述之用於編碼係數層級之技術的實例視訊編碼器的方塊圖。
圖6為說明可實施本發明中所描述之用於解碼係數層級之技術的實例視訊解碼器的方塊圖。
圖7為說明根據本發明中所描述之技術的在係數層級之熵編碼期間判定萊斯參數之初始值的實例操作之流程圖。
圖8為說明根據本發明中所描述之技術的在係數層級之熵解碼期間判定萊斯參數之初始值的實例操作之流程圖。
圖9為說明根據本發明中所描述之技術的在係數層級之熵寫碼期間判定先前經寫碼係數的係數層級之統計之實例操作的流程圖。
圖10為說明根據本發明中所描述之技術的基於所判定統計,判定用於當前係數群組的萊斯參數之初始值的實例操作之流程圖。
本發明描述用於在視訊寫碼程序中寫碼與殘餘資料相關聯之係數的技術。該等技術經組態以用於初始化用於定義用於視訊寫碼程序中之係數層級寫碼的碼之萊斯參數。特定言之,本發明描述用於判定用於定義碼(例如,哥倫布萊斯碼或指數哥倫布碼)之萊斯參數的初始值的技術,該等碼用於寫碼係數區塊之係數層級的剩餘絕對值,其中上下文自適應性二進位算術寫碼(CABAC)用於寫碼有效係數、大於1之係數層級及大於2之係數層級的指示。在有損寫碼之狀況下,係數層級可為變換係數之層級,或在無損寫碼或以變換跳過模式有損寫碼 之狀況下,係數層級可為並未應用變換之係數的層級(亦即,殘餘像素值)。在一些實例中,可在高效率視訊寫碼(HEVC)標準之範圍擴展中,將該等技術應用於用於係數層級寫碼之萊斯參數初始化。
萊斯參數為用於自哥倫布碼(例如,哥倫布萊斯碼或指數哥倫布碼)之同族選擇碼字集的可調值。由萊斯參數定義的碼可用於寫碼係數群組(CG)(亦即,係數區塊)中之至少一係數的係數層級之剩餘絕對值。在HEVC之實例中,CG中之每一者可包含視訊資料之4×4變換區塊,或變換區塊之4×4子區塊。在有損寫碼之狀況下,CG可包括變換係數,或在無損寫碼或以變換跳過模式有損寫碼之狀況下,CG可包括並未應用變換之係數。在一些程序中,在每一CG之開始處將萊斯參數之初始值設定為等於零,並在寫碼CG中之係數層級的剩餘絕對值之後有條件地進行更新。在寫碼螢幕內容之係數層級的狀況下,或在無損寫碼或以變換跳過模式有損寫碼之狀況下,針對每一CG,將萊斯參數之值初始化為零可能並非最佳的。
本發明中所描述之技術可適應性地設定萊斯參數之初始值,以寫碼(例如,編碼或解碼)每一CG,而非針對所有狀況將萊斯參數之初始值設定為零。特定言之,本發明描述用於基於針對先前經寫碼係數所收集之係數層級之統計,判定用於當前CG的萊斯參數之初始值的技術。本發明亦描述用於判定用於視訊資料之先前經寫碼係數的係數層級之統計之技術。
統計可為先前經寫碼係數之係數層級的絕對值或係數層級之剩餘絕對值的統計。可在視訊資料之每一切片的開始處將統計值初始化為零,且可基於切片之每一CG中所寫碼的一或多個係數層級,更新統計。在一些狀況下,當CG中正寫碼係數層級之第一絕對值或係數層級之第一剩餘絕對值時,可按每一CG更新一次統計。在其他狀況下,(例如)當CG中正寫碼係數層級之最後絕對值或係數層級之最後剩 餘絕對值時,可較頻繁地或基於不同係數層級地收集統計。
作為一實例,可藉由將給定先前經寫碼係數之係數層級與統計之預定義函數進行比較,且接著基於比較判定是增加抑或降低統計值而判定統計。用於更新統計的統計之預定義函數可基於左移位除以第二常數值之統計值的第一常數值。在其他實例中,可根據不同技術判定統計。
在一些狀況下,可針對基於包括CG之變換區塊的特性而定義的複數個不同類別之CG中之每一者,分別收集統計。在此狀況下,可基於變換區塊之特性,判定變換區塊中之當前CG的類別,且可基於用於所判定類別之統計,初始化用於當前CG之萊斯參數。在一實例中,可基於變換區塊是否為明度區塊,及變換區塊是否為變換跳過區塊,而針對四個不同類別中之每一者收集單獨統計。在其他實例中,可將統計分割成基於不同類型之變換區塊特性而定義的不同數目之類別。
根據本發明之技術,在當前CG之開始處,將統計值映射為用於當前CG的萊斯參數之初始值。在一些實例中,可根據統計之函數,將統計值映射為初始萊斯參數值。用於初始化萊斯參數的統計之函數可基於萊斯參數之最大值抑或除以常數值之統計值中的最小者之選擇。在其他實例中,可根據不同函數或根據儲存表,將統計值映射為萊斯參數之初始值。用於當前CG的萊斯參數之初始值用於定義碼(例如,哥倫布萊斯碼或指數哥倫布碼),該等碼用於寫碼當前CG中之至少一係數的係數層級之剩餘絕對值。
在一些實例中,視訊編碼器可將與殘餘視訊資料相關聯之係數的係數層級編碼成用於傳輸至視訊解碼器或儲存器件之位元串流。在接收到經編碼位元串流之後,視訊解碼器可以與視訊編碼器互逆之方式解碼殘餘視訊資料之係數層級。在有損視訊寫碼之狀況下,係數可 為經量化之變換係數。在此狀況下,可(例如)藉由將變換(諸如,離散餘弦變換(DCT))應用於殘餘視訊資料,且接著將量化應用於變換係數而產生經量化之變換係數。在無損視訊寫碼或具有變換跳過或繞過之有損視訊寫碼的狀況下,係數可為殘餘視訊資料之像素值,且具有具大絕對值之係數層級(亦即,像素值)。當係數表示螢幕內容(其可包括圖形及文本區域)時,可並未良好地預測內容,從而產生係數之係數層級的大絕對值。
本發明中所描述之萊斯參數初始化方案允許在當前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中之每一者可形成能夠編碼或解碼視訊資料之各別編碼器-解碼器(編解碼器(CODEC))的部分。
顯示器件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等人之 「高效率視訊寫碼(HEVC)文本規範草案10(High Efficiency Video Coding(HEVC)Text Specification Draft 10)」,ITU-T SG16 WP3及ISO/IEC JTC1/SC29/WG11之視訊寫碼聯合合作小組(JCT-VC),第12次會議,日內瓦,瑞士,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會議,德國德雷斯頓,2010年4月,在下文中被稱作「JCTVC-A114」)中,及A.Alshin and E.Alshina之「用於CABAC之多參數機率更新(Multi-parameter probability update for CABAC)」(JCTVC-F254,第六次JCT-VC會議,意大利都靈,2011年7月,在下文中被稱作「JCTVC-F254」)中。
為熵寫碼係數之區塊(無論經變換且經量化或既未經變換亦未經量化),通常執行掃描程序,使得根據特定掃描次序將區塊中的係數之二維(2D)陣列重排成係數之有序一維(1D)陣列,亦即,向量。接著,將熵寫碼應用於係數之向量。掃描變換單元中之係數串列化用於熵寫碼器的係數之2D陣列。可產生有效性映射以指示有效(亦即,非零)係數之位置。掃描可應用於有效(亦即,非零)係數之掃描層級,及/或有效係數之碼正負號。
在HEVC標準中,首先針對變換區塊寫碼有效變換係數(例如,有效性映射)之位置資訊,以指示非零係數及最後非零係數在掃描次序 中之位置。針對反掃描次序中之每一係數,寫碼有效性映射及層級資訊(亦即,係數之絕對值及正負號)。
圖2為展示用於係數層級寫碼之實例反掃描次序的概念圖。H.264標準定義Z形掃描。HEVC標準定義三種不同掃描:子區塊對角線掃描、子區塊水平掃描及子區塊垂直掃描。圖2說明各自應用於變換區塊之8×8子區塊的反曲折掃描型樣29、反垂直掃描型樣31、反水平掃描型樣33及反對角線掃描型樣35。應注意,反對角線掃描型樣35、反曲折掃描型樣29、反垂直掃描型樣31及反水平掃描型樣33中之每一者自變換區塊之右下角的較高頻率係數至變換區塊之左上角的較低頻率係數進行。
在HEVC標準中,子區塊對角線掃描型樣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可經定義為變換區塊在掃描次序上之n個(例如,n=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)之開始處將萊斯參數設定為等於零之初始值,且在寫碼CG期間,取決於萊斯參數之值及如下所寫碼之當前係數的係數層級之絕對值,有條件地更新該參數:若absCoeffLevel>3*2cRiceParam,則cRiceParam=min(cRiceParam+1,4)
否則,cRiceParam=cRiceParam,其中cRiceParam為萊斯參數,absCoeffLevel為當前係數之係數層級的絕對值,且min()為選擇最小值之函數。當在分配中觀察到大絕對值時,HEVC萊斯參數更新方案允許二進位化程序逐漸適應係數統計。
如上文所提及,在HEVC標準中,在寫碼先前CG中之係數的剩餘絕對值之後,針對視訊資料之變換區塊中的當前CG,將萊斯參數重置為零之初始值。在寫碼螢幕內容之係數層級的狀況下或在無損寫碼或以變換跳過模式有損寫碼之狀況下,將萊斯參數之值初始化為零可並非係最佳的。本發明之技術在每一CG之開始處可適應性地設定萊斯參數之初始值,而非始終將萊斯參數重置為零。根據技術,可將用於當前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是否包括於應用變換之變換區塊中,而變化用於初始化萊斯參數的降低值。如下可為實例公式。
在上文之實例中,若變換區塊為變換跳過區塊(亦即,transform_skip_flag=1),則基於零抑或寫碼先前CG之後萊斯參數之值降低1中的最大者之選擇而針對當前CG初始化萊斯參數之值。另一方面,若變換區塊為變換跳過區塊(亦即,transform_skip_flag=0),則基於零抑或寫碼先前CG之後萊斯參數之值降低2中的最大者之選擇而針對當前CG初始化萊斯參數之值。
基於變換是否應用於變換區塊,本發明中所描述之萊斯參數初始化方案的實例狀況可應用於包括於所有變換區塊中之CG,或可應用於CG。舉例而言,在具有變換跳過或變換繞過之變換區塊的狀況 下,可並不將用於變換區塊中之當前CG的萊斯參數值重置為0,但對於已應用變換之變換區塊,可將用於變換區塊中之當前CG的萊斯參數重置為0。
舉例而言,在以變換跳過模式有損寫碼之狀況下,降低針對當前CG所初始化的萊斯參數之值可僅應用於變換跳過區塊中之CG。如下可為實例公式。
在上文之實例中,若變換區塊為變換跳過區塊(亦即,transform_skip_flag=1),則基於零抑或寫碼先前CG之後萊斯參數之值降低1中的最大者之選擇而針對當前CG初始化萊斯參數之值。另一方面,若變換區塊為變換跳過區塊(亦即,transform_skip_flag=0),則針對當前CG,將萊斯參數之值初始化為零,如在HEVC初始化方案中。
在萊斯參數初始化方案之另一實例中,可基於先前經解碼係數之係數層級之統計,判定用於當前CG的萊斯參數之初始值。係數層級之統計可包括先前經寫碼係數之係數層級的絕對值統計或係數層級之剩餘絕對值統計。初始化方案可取決於包括於相同於當前CG之變換區塊中的CG中之先前經寫碼係數,及/或包括於在包括當前CG之變換區塊之前的不同變換區塊中之CG中的先前經寫碼係數。
在一些狀況下,基於統計之萊斯參數初始化方案可取決於變換區塊類型、變換區塊大小、變換區塊中之CG的位置、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之色彩分量及變換區塊之位元深度中的一或多者。另外,基於統計之萊斯參數初始化方案可取決於先前及當前變換區塊中之先前經寫碼係數的剩餘絕對層級。舉 例而言,萊斯參數初始化方案可取決於先前CG中之係數層級的最後經寫碼絕對值,或係數層級之最後經寫碼剩餘絕對值、取決於先前CG中之先前經寫碼係數的係數層級之和或其他統計,或較簡單地取決於先前CG中所寫碼之第一係數的係數層級。
下文描述用於基於統計之萊斯參數初始化方案的統計收集之若干實例。在本發明中,術語「statCoeff」及術語「m_sumCoeff」可互換使用以表示統計,且術語「uiLevel」用於表示先前經寫碼係數之係數層級的絕對值或剩餘絕對值。
在一實例中,可藉由遍及視訊資料之切片或寫碼單元(CU),計算先前經寫碼係數之係數層級的絕對值或剩餘絕對值之平均值或流動平均值或類似統計,判定統計。以類似於上下文自適應性二進位算術寫碼(CABAC)上下文之方式,可在視訊資料之切片的開始處初始化此平均值或流動平均值,並基於CG中之當前經寫碼係數層級,在切片之每一CG處進行更新。應理解,使用由萊斯參數定義之碼(例如,哥倫布萊斯碼或指數哥倫布碼)繞過寫碼係數層級之剩餘絕對值(亦即,coeff_abs_level_remaining值)。提供CABAC之描述及與CABAC上下文之初始化的比較,以僅幫助理解。
在另一實例中,可藉由將給定先前經寫碼係數之係數層級與統計值直接比較,且接著基於比較判定是增加/降低抑或維持統計值而判定統計。舉例而言,可根據以下條件性等式判定統計。
statCoeff+=(uiLevel==statCoeff)?0:((uiLevel<statCoeff)?-1:1);
在上文之等式中,若當前係數層級(uiLevel)超過先前統計(statCoeff),則增加statCoeff之值,且若當前係數層級小於statCoeff,則降低statCoeff之值,或若當前係數層級等於先前statCoeff,則statCoeff之值維持不變。可在寫碼程序中初始化CABAC上下文之相同 點處,亦即,正經寫碼視訊資料之每一切片的開始處,將statCoeff之值初始化為0。
在另一實例中,可藉由將給定先前經寫碼係數之係數層級與統計之預定義函數進行比較,且接著基於比較判定是增加抑或降低統計值而判定統計。此外,在此實例中,可在視訊資料之每一切片的開始處將統計值(m_sumCoeff)重置為零。統計之預定義函數可基於左移位除以第二常數值之統計值的第一常數值。如下給出統計(m_sumCoeff)之函數的一實例。
在上文之偽碼中,a、b、c、d、e、f、g及h為參數,且<<表示左移位運算。
以下為使用參數a、b、c、d、e、f、g及h之實例值的上文等式之若干實例。在a=3、d=2、第一常數值(h)等於1且第二常數值(f)等於4,且將剩餘參數設定為等於0之狀況下,如下給出統計(m_sumCoeff)之函數。
在a=1、d=1、第一常數值(h)等於1且第二常數值(f)等於4,且將剩餘參數設定為等於0之狀況下,如下給出統計(m_sumCoeff)之函數。
在一些實例中,係數層級之統計的函數可包括相關於自從在切片之開始處將統計初始化為零以來,應用於統計之更新的總數目的變數。如下給出包括總計數變數(m_total_counter)的統計(m_sumCoeff)之函數的一實例。
在上文之偽碼中,a、b、c、d、e、f、g及h為參數,<<表示左移位運算,且不管統計是增加還是降低,m_total_counter在每一統計更新(m_sumCoeff)之後增加。
可根據預定義頻率,針對基於統計之萊斯參數初始化方案執行上文所描述之統計收集。在一實例中,可在寫碼CG中之係數層級的每一絕對值之後,或在寫碼CG中之係數層級的每一剩餘絕對值之後,更新統計。在另一實例中,為了限制複雜性之增加,可按每一CG或每一變換區塊僅更新一次統計。藉由此方法,可無需針對每一經寫碼係數層級更新統計,而實情為,可按每一變換區塊或每一CG更新一次統計(在HEVC中為按每16係數更新一次)。
在一些狀況下,可僅當寫碼CG中之係數層級的第一絕對值時,更新統計。在其他狀況下,可僅當寫碼CG中之係數層級的第一剩餘絕對值時,更新統計。以下偽碼說明關於上文所描述之統計收集等式的此限制,其中將第一經寫碼係數層級之值(uiLevel)與統計(statCoeff)之值直接比較。
在上文之等式中,術語「firstGolombCoeffinCG」用於表示當前經寫碼係數層級是否為CG中之第一剩餘絕對值,術語「statCoeff」用於表示統計,且術語「uiLevel」用於表示先前經寫碼係數之係數層級的第一絕對值或第一剩餘絕對值。
可將頻率限制類似地應用於上文所描述之統計收集等式,其中將第一經寫碼係數層級之值(uiLevel)與統計(statCoeff)之預定義函數進行比較,如以下偽碼中所展示。
在一些狀況下,可針對基於包括CG之變換區塊的特性定義的複數個不同類別之CG中之每一者,分別執行上文所描述之統計收集。在此狀況下,可基於變換區塊之特性,判定變換區塊中之當前CG的類別,且可基於用於所判定類別之統計,初始化用於當前CG之萊斯參數。下文描述分割用於基於統計之萊斯參數初始化方案的統計之若干實例。
用於分割或分類統計的變換區塊之特性可包括變換區塊是為明度區塊類型還是色度區塊類型、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之大小及變換區塊內之CG的位置中之一或多者。變換區塊內之CG的位置特性可指示當前CG是否為變換區塊中之左上方4×4子區塊。另外,特性可包括變換區塊是否經寫碼為變換跳過區塊,或變換區塊是否經寫碼為變換量化繞過區塊。因此,取決於上文特性中之一或多者,可分別保存統計。可針對每一類型或類別之CG或變換區塊,判定單獨統計。單獨統計可為基於統計之萊斯參數初始化方案提供較準確之估計,但亦要求較多儲存資源。
作為第一實例,以下函數可用於基於取決於變換區塊是否為明度區塊,及CG是否為變換區塊中之左上方子區塊的變數TYPE,判定 統計之分割或類別。
TYPE=2*isLuma+(iSubSet>0);
根據上文之函數,取決於變換區塊為明度區塊(isLuma=1)或色度區塊(isLuma=0),及CG為左上方子區塊(iSubSet==0)或並非為左上方子區塊(iSubSet>0),變數TYPE可具有4個值。
在另一實例中,統計之分割或類別取決於變換區塊是否為明度區塊,及是否以變換跳過模式寫碼變換區塊。
TYPE=2*isLuma+(isTransformSkip?0:1);
根據此函數,取決於變換區塊為明度區塊(isLuma=1)或色度區塊(isLuma=0),及以變換跳過模式寫碼變換區塊(isTransformSkip=1)或未以該模式進行寫碼(isTransformSkip=0),變數TYPE可具有4個值。
在另一實例中,統計之分割或類別取決於變換區塊是否為明度區塊、CG是否為變換區塊中之左上方子區塊,及是否以變換跳過模式寫碼變換區塊。
TYPE=4*isLuma+2*(isTransformSkip?0:1)+(iSubSet>0);
根據此函數,取決於變換區塊為明度區塊(isLuma=1)或色度區塊(isLuma=0)、以變換跳過模式寫碼變換區塊(isTransformSkip=1)或未以該模式進行寫碼(isTransformSkip=0),及CG為左上方子區塊(iSubSet==0)或並非左上方子區塊(iSubSet>0),變數TYPE可具有8個值。
在另一實例中,統計之分割或類別取決於變換區塊是否經寫碼為變換量化繞過(亦即,為無損寫碼,繞過變換及量化程序兩者)。
使用根據上文所描述之若干實例中之一者定義的TYPE變數,並將其與上文所描述之統計收集等式(其中將第一經寫碼係數層級之值(uiLevel)與統計(statCoeff)之值直接比較),及上文所描述之統計收集頻率限制(其中僅當寫碼CG中之第一係數層級(firstGolombCoeffinCG) 時更新統計)組合,組合式方法將為如下。
在上文之偽碼中,術語「statCoeff[TYPE]」表示針對由變數TYPE所指示的CG類別所收集的統計。
如下將為使用上文所描述之統計收集等式(其中將第一經寫碼係數層級之值(uiLevel)與統計(statCoeff)之預定義函數進行比較)的組合式方法之另一實例。
此外,在上文之偽碼中,術語「statCoeff[TYPE]」表示針對由變數TYPE所指示的CG類別所收集的統計。
在一些實例中,編解碼器(亦即,視訊編碼器/解碼器)可支援多個方法,以針對CG判定TYPE變數。舉例而言,編解碼器可支援用於TYPE變數的上文所描述之實例函數中的兩者或兩者以上。在此狀況下,編解碼器可選擇該等方法中之一者,以基於經寫碼或經導出指示,判定分割用於基於統計之萊斯參數初始化方案的統計之方式。下文給出用於多個方法狀況之實例偽碼。
方法1:
TYPE=2*isLuma+(isTransformSkip?0:1);
方法2:
TYPE=(isTransformSkip?0:1);
在一狀況下,可在經寫碼位元串流中用信號發出語法元素,以指示變換區塊之哪個特性用於定義不同類別之CG。語法元素可包含包括於用於殘餘視訊資料之序列參數集(SPS)或圖像參數集(PPS)中之一者中的旗標。作為一實例,視訊編碼器20可在經寫碼位元串流中以高階語法用信號發出旗標(例如,method_flag),且視訊解碼器30可解析經寫碼位元串流以接收method_flag。在此實例中,method_flag=0指示方法1用於基於變換區塊是否為明度區塊,及是否以變換跳過模式寫碼變換區塊,判定統計之類別。method_flag=1指示方法2用於僅基於是否以變換跳過模式寫碼變換區塊,判定統計之類別。若存在由編解碼器支援之兩個以上方法,則語法元素可包含用以指示所選擇方法之索引值而非二進位旗標。
在另一狀況下,編解碼器可基於視訊資料之色彩格式,選擇用於定義不同類別之CG的方法中之一者,在此情況下無需在位元串流中用信號發出額外語法元素以指示該方法。舉例而言,可基於YUV色彩格式或RGB色彩格式是否用於寫碼視訊資料,選擇用於判定用於視訊資料之CG的TYPE變數之方法。作為一實例,當經寫碼視訊資料為YUV色彩格式時,使用基於變換區塊是否為明度區塊,及是否以變換跳過模式寫碼變換區塊,判定統計之類別的方法1。當經寫碼視訊資料為RGB色彩格式時,使用僅基於是否以變換跳過模式寫碼變換區塊,判定統計之類別的方法2。在視訊編碼器20及視訊解碼器30能夠偵測視訊資料之色彩格式的狀況下,並不在位元串流中用信號發出指示所選擇方法之語法元素(例如,方法旗標或方法索引)。
根據本發明中所描述之技術,基於統計之萊斯參數初始化方案基於根據上文所描述之實例的任何組合而針對先前經寫碼係數所收集之係數層級統計,判定用於當前CG的萊斯參數之初始值。下文描述將所收集統計之值映射為用於當前CG的萊斯參數之初始值的若干實例技術。可針對每一CG(例如,4×4變換區塊或變換區塊之4×4子區塊)執行統計至萊斯參數之初始值的映射,或可針對每一TU僅執行一次映射(例如,在TU之開始處)。
在一實例中,可根據儲存表將統計值映射為初始萊斯參數。映射表之輸入可為統計值,且該表之輸出可為萊斯參數之初始值。在一些狀況下,可將統計之經削減版本用作至映射表之輸入。舉例而言,若最大萊斯參數為5,且統計經削減為介於0與31之間,則可如下給出映射表。
g_golombTab[32]={0,0,0,0,1,1,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5};
在每一CG之開始處,上文之表可用於基於所收集統計,判定萊斯參數之初始值。在其他實例中,不同之映射表可用於基於所收集統計,判定萊斯參數之初始值。
上文描述統計收集之三個主要實例方法,其中記法「statCoeff」及「m_sumCoeff」可互換使用以表示統計:(1)將經寫碼係數層級之值(uiLevel)與統計值(statCoeff)直接比較的統計收集,(2)將經寫碼係數層級之值(uiLevel)與統計之預定義函數(m_sumCoeff)比較的統計收集,及(3)將經寫碼係數層級之值(uiLevel)與包括總計數變數(m_total_counter)的統計(m_sumCoeff)之預定義函數比較的統計收集。
使用統計收集之特定實例方法中之一者及上文所描述之映射表,可如下執行基於針對由變數TYPE所指示的CG類別所收集的統計 之萊斯參數初始化。
cRiceParam=g_golombTab[min(statCoeff[TYPE],31)];
在其他實例中,可根據執行映射之函數,將統計值映射為萊斯參數之初始值。在一些狀況下,映射函數可為所收集統計之函數。使用映射函數可避免映射表之額外儲存消耗。
作為一實例,可基於右移位常數值之所收集統計,初始化萊斯參數,如下文中給出。
cRiceParam=(statCoeff[TYPE]>>R);
在上文之等式中,「>>」表示右移位運算且R為參數。在一些狀況下,可能需要將萊斯參數之最大值限制為MAX_RICE,其可為大於或等於4之整數值。在此狀況下,可如下給出函數。
cRiceParam=min(statCoeff[TYPE]>>R,MAX_RICE)
作為另一實例,可基於所收集統計之線性函數初始化萊斯參數,如下文中給出。
cRiceParam=a*(statCoeff[TYPE]+b)/c+d
在上文之等式中,a、b、c及d為參數值。
作為另一實例,可基於所收集統計之分段線性函數初始化萊斯參數。如下給出分段線性函數之兩個特定實例。
在另一實例中,可基於上文所描述之統計收集方法初始化萊斯參數,其中將經寫碼係數層級之值(uiLevel)與統計(m_sumCoeff)之預定義函數比較。在此狀況下,根據統計之函數,將所收集統計之值映射為萊斯參數之初始值。在一實例中,用於初始化萊斯參數的統計之 函數可基於萊斯參數之最大值抑或除以常數值之統計值中的最小者之選擇。
如下給出映射函數之實例。
uiGoRiceParam=min(m_sumCoeff/DELAY,MAX_RICE_PARAM_INIT);
在上文之等式中,DELAY為常數值,且MAX_RICE_PARAM_INIT為萊斯參數之最大值。在一些狀況下,萊斯參數之最大值可大於或等於4。常數值可為使用者定義參數。如下給出其中DELAY=4之映射函數的實例。
cRiceParam=Min(maxRicePara,statCoeff/4)。
在上文之實例中,術語「statCoeff」而非「m_sumCoeff」用於表示統計值,且maxRicePara而非MAX_RICE_PARAM_INIT用於表示萊斯參數之最大值。
在另一實例中,可基於上文所描述之統計收集方法初始化萊斯參數,其中將經寫碼係數層級之值(uiLevel)與包括總計數變數(m_total_counter)的統計(m_sumCoeff)之預定義函數比較。在此狀況下,根據統計之函數,將所收集統計之值映射為萊斯參數之初始值。如下給出映射函數之實例。
在上文之等式中,術語「thres0」表示第一臨限值,且「thres1」表示第二臨限值,且k0及k1為參數。根據該函數,若除以統計更新之總數目的統計值大於thres0,則將萊斯參數之初始值設定為等於遞增k0的萊斯參數之先前值。若除以統計更新之總數目的統計值小於thres1,則將萊斯參數之初始值設定為等於遞增k1的萊斯參數之先前值。
在一些實例中,可將初始萊斯參數削減為介於最小值與最大值 之間。在此狀況下,將額外削減函數加至用於初始化萊斯參數之映射函數。如下給出經削減映射函數之實例。
cRiceParam=Clip(MIN_RICE,cRiceParam,MAX_RICE)
在上文之等式中,MIN_RICE為萊斯參數之最小值,且MAX_RICE為萊斯參數之最大值。在一實例中,MIN_RICE之值可等於0,且MAX_RICE之值可為大於或等於4之整數值。MIN_RICE及MAX_RICE之值可取決於旁側資訊,諸如位元深度、設定檔、色彩格式、寫碼模式(亦即,無損寫碼或有損寫碼)及其他類型之旁側資訊中的一或多者。
如上文所描述,在HEVC中,可在寫碼CG中之係數層級的每一剩餘絕對值之後,更新萊斯參數之值。在一些實例中,可將類似削減應用於萊斯參數之經更新值。相比於初始化程序,用於更新程序之範圍(亦即,最小值及最大值)可不同,或範圍可與用於初始化之範圍相同。類似地,範圍可取決於位元深度、設定檔、色彩格式、寫碼模式(亦即,無損寫碼或有損寫碼)及其他旁側資訊中之一或多者。
下文中給出將統計映射為萊斯參數之初始值的四個額外實例。
在第一實例中,使用被稱作m_sumCoeff及m_sumCoeff2之兩個統計。可如下使用上文所描述之統計收集方法導出m_sumCoeff之值,其中將經寫碼係數層級之值(uiLevel)與統計(m_sumCoeff)之預定義函數比較。
可如下使用上文所描述之統計收集方法導出m_sumCoeff2之值,其中將經寫碼係數層級之值(uiLevel)與統計值(m_sumCoeff2)直接比較。
在此第一實例中,相比於變換跳過區塊,用於變換經寫碼區塊的統計至萊斯參數之初始值的映射可不同。在變換跳過區塊之狀況下,可如下給出初始化函數。
uiGoRiceParam=min(m_sumCoeff/DELAY,MAX_RICE_PARAM_INIT);在變換經寫碼區塊之狀況下,可如下給出初始化函數。
在上文之偽碼中,「Th」為臨限值。Th之實例值可為(1<<uiGoRiceParam)。
在第二實例中,可使用上文所描述之統計收集方法導出被稱作m_sumCoeff之統計,其中將經寫碼係數層級之值(uiLevel)與統計(m_sumCoeff)之預定義函數比較。在此第二實例中,相比於變換跳過區塊而言,對於變換經寫碼區塊,統計至萊斯參數之初始值的映射可不同。在變換跳過區塊之狀況下,可如下給出初始化函數。
uiGoRiceParam=min(m_sumCoeff/DELAY,MAX_RICE_PARAM_INIT);
在變換經寫碼區塊之狀況下,可如下給出初始化函數。
在上文之偽碼中,「Th」為臨限值。Th之實例值可為MAX_RICE_PARAM_INIT/2-2。
在第三實例中,可使用上文所描述之統計收集方法導出被稱作m_sumCoeff之統計,其中將經寫碼係數層級之值(uiLevel)與統計(m_sumCoeff)之預定義函數比較。在此第三實例中,可如下給出統計至萊斯參數之初始值的映射。
在上文之偽碼中,「Th」為臨限值且「d」為參數。
在第四實例中,可使用上文所描述之統計收集方法導出被稱作m_sumCoeff之統計,其中將經寫碼係數層級之值(uiLevel)與統計(m_sumCoeff)之預定義函數比較。在此第四實例中,可如下給出統計至萊斯參數之初始值的映射。
在上文之偽碼中,「Th」為臨限值且「d」、DELAY0及DELAY1為參數。在此第四實例中,當統計值等於臨限值(Th)時,使用上文等式中之任一者導出的萊斯參數之初始值(uiGoRiceParam)相同。
在一些實例中,用於判定萊斯參數之初始值及臨限值的映射函數可為固定的,且為視訊編碼器20及視訊解碼器30兩者所已知。在其他實例中,可基於旁側資訊,可適應性地決定用於判定萊斯參數之初始值及臨限值的映射函數。可由視訊編碼器20及視訊解碼器30中之每一者獨立地導出旁側資訊,或可使用高階語法在SPS或PPS中將旁側資訊自視訊編碼器20用信號發出至視訊解碼器30,或可使用推導及發信號之一些組合來判定旁側資訊。舉例而言,旁側資訊可包括以下各者中之一或多者:圖框大小、圖框類型、CU大小、TU大小、TU類型(例如,變換跳過模式或變換模式)、色彩分量、框內或框間預測模式、量化參數(QP)、位元深度、色彩格式(例如,444/422/420)、有效係數旗標(數目及分佈兩者)、大於1(亦即,超過1)之旗標(數目及分佈兩者),及大於2(亦即,超過2)之旗標(數目及分佈兩者)。亦可顯式地用信號發出該等資訊。
在初始化用於當前CG之萊斯參數之後,可在寫碼當前CG中之至少一係數的係數層級之剩餘絕對值之後,使用由萊斯參數定義之碼(例如,哥倫布萊斯碼或指數哥倫布碼)更新萊斯參數之初始值。可在更新萊斯參數之值之前或之後,基於當前CG中之一或多個係數層級,判定用於基於統計之萊斯參數初始化方案的統計。
在一些實例中,統計可基於當前CG中之經寫碼係數層級及用於當前CG的萊斯參數之當前值的比較或計算。如下給出基於係數層級及萊斯參數值之統計的一實例。
在上文之偽碼中,「UndershootCnt」、「OvershootCnt」及「TotalCnt」表示將用於初始化萊斯參數之統計。另外,「uiGoRiceParam」表示萊斯參數之值,「s」為參數,且absCoeff[idx]為索引idx處之係數的係數層級之絕對值。
在一些實例中,可在更新萊斯參數之值之前判定統計。在此狀況下,在用於判定統計之比較或計算中使用萊斯參數之未經更新值。如下給出基於係數層級及萊斯參數之未經更新值判定統計,且接著更新萊斯參數之值的實例組合。
在上文之偽碼中,「MAX_RICE_PARAM」表示萊斯參數之最大值,且min<UInt>()為選擇最小值之函數。在一些實例中,萊斯參數之最大值可等於至少4之整數值。在其他實例中,可在更新萊斯參數之值之後判定統計。在此狀況下,在用於判定統計之比較或計算中使用萊斯參數之經更新值。
在一些實例中,可將對用於上文所描述的基於統計之萊斯參數初始化方案的統計之更新與萊斯參數之更新整合在一起。如上文所論述,在HEVC中,可基於萊斯參數之初始值及當前CG中正經寫碼之係數的係數層級之絕對值,有條件地更新萊斯參數之初始值。在寫碼當前CG中之係數的每一剩餘絕對層級之後,可繼續有條件地更新萊斯參數之值。如下給出HEVC條件性更新方案。
在上文之偽碼中,「uiGoRiceParam」表示萊斯參數之值,absCoeff[idx]為索引idx處之係數的係數層級之絕對值,「MAX_RICE_PARAM」表示萊斯參數之最大值,且min<UInt>()為選擇最小值之函數。
在一些實例中,可將對用於在後續CG之開始處初始化萊斯參數之值的統計之更新與基於當前CG之係數層級的萊斯參數更新整合在一起。如下為統計及萊斯參數值之整合式更新的實例。
在上文之偽碼中,「UndershootCnt++」表示統計之更新。
在一些實例中,基於用於統計之參數中的部分或所有,計算用於下一寫碼單元(例如,4×4 CG、TU或CU)的萊斯參數之經更新值(或相比於預測值(例如,萊斯參數之當前值)之德耳塔(delta)值)。舉例而言,在一實例中,OvershootCnt之值愈高,經更新萊斯參數之值愈小。在另一實例中,UndershootCnt之值愈高,經更新萊斯參數之值愈大。
下文描述基於視訊資料之位元深度或另一特性,初始化用於每一CG之萊斯參數的若干實例。在此等實例中,對用於每一CG之萊斯參數的初始化並不取決於所收集統計。如在上文所描述的基於統計之萊斯參數初始化方案中,可針對每一CG(例如,4×4變換區塊或變換區塊之4×4子區塊)執行萊斯參數初始化,或可針對每一TU僅執行一次初始化(例如,在TU之開始處)。
在一實例中,實情為,萊斯參數之初始值可基於視訊資料之位元深度。以下為用於每一CG的萊斯參數之初始值cRiceParam為CG之當前分量(例如,亮度分量或色度分量中之一者)的位元深度之函數的實例。
cRiceParam=max(0,bitDepth-n)
在上文之等式中,bitDepth為當前分量之位元深度,且n為參數。在一實例中,可將參數n設定為等於9。
在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可 取決於CG之分量類型(例如,明度或色度)。在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於是否以變換量化繞過模式(其中,跳過變換及量化兩者)寫碼當前區塊。在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於是否以變換跳過模式(其中跳過變換但可應用量化)寫碼當前區塊。在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於用於TU之量化參數(QP)。在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於視訊資料之色彩分量及/或色彩空間。
在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於CU大小、TU大小、圖框解析度、圖框速率、預測模式(例如,框內、框間、框內BC(框內區塊複製))、圖框類型及橫向分量殘餘預測之模式及權重中的一或多者。橫向分量殘餘預測之模式及權重的實例描述於2013年7月15日申請的美國臨時申請案第61/846,581號、2013年7月18日申請的美國臨時申請案第61/847,839號、2013年5月22日申請的美國臨時申請案第61/826,396號,及2013年6月21日申請的美國臨時申請案第61/838,152號中。
以下將HEVC用作實例,提供關於coeff_abs_level_greater1旗標及coeff_abs_level_greater2旗標之一些背景資訊。在HEVC中,對於CG(例如,4×4子區塊),首先寫碼有效性映射以指示具有非零係數層級之係數的位置。接著,對於具有有效係數之位置,可編碼coeff_abs_level_greater1旗標以指示係數之絕對值是否超過1。對於coeff_abs_level_greater1=1之位置,可編碼coeff_abs_level_greater2旗標以指示係數之絕對值是否超過2。
在一些實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於具有有效(亦即非零)值之先前經寫碼係數層級的數目(可藉由等於0抑或1之coeff_abs_level_greater1旗標的寫碼指示該數目),及/或具 有大於1之值的先前經寫碼係數層級之數目(可藉由等於0抑或1之coeff_abs_level_greater2旗標的寫碼指示該數目)。在其他實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於具有大於1之值的先前經寫碼係數層級之數目(藉由寫碼coeff_abs_level_greater1=1指示該數目),及/或具有大於2之值的先前經寫碼係數層級之數目(藉由寫碼coeff_abs_level_greater2=1指示該數目)。
在另一實例中,用於每一CG的萊斯參數之初始值cRiceParam可取決於上文實例之任何組合。下文給出基於視訊資料之位元深度判定萊斯參數之初始值的兩個詳細實例。
實例1:
在上文之偽碼中,iQP為QP值,且BD為視訊資料之位元深度。在此第一實例中,當CG包括於以變換跳過模式抑或變換量化繞過模式寫碼之變換區塊中時,基於第一等式設定萊斯參數之初始值,且當CG包括於經變換寫碼區塊中時,基於第二等式設定萊斯參數之初始值。在任一狀況下,基於視訊資料之位元深度(BD)判定初始值。
實例2:
在上文之偽碼中,Gr1為經寫碼之coeff_abs_level_greater1旗標的數目,且BD為視訊資料之位元深度。在此第二實例中,當CG包括於以變換跳過模式抑或變換量化繞過模式寫碼之變換區塊中時,基於第一等式設定萊斯參數之初始值,且當CG包括於經變換寫碼區塊中時,基於第二等式設定萊斯參數之初始值。在任一狀況下,基於視訊資料之位元深度(BD)判定初始值。
下文描述將根據上文所描述之實例的任何組合的針對每一CG之萊斯參數初始化與偏移值之顯式發信號組合的混合方案之實例。舉例而言,可將用於在CG之開始處初始化萊斯參數之偏移分解成兩個部分之和:(1)常數偏移及(2)適應性偏移。可使用本發明中所描述之實例技術中之一或多者導出適應性偏移。可在位元串流中將常數偏移自視訊編碼器20用信號發出至視訊解碼器30。
作為另一實例,為將顯式萊斯參數發信號與本發明中所描述之初始萊斯參數推導程序組合,是否用信號發出萊斯參數之判定可取決於在視訊編碼器20處所導出的初始萊斯參數值。舉例而言,若所導出的初始萊斯參數值類似於預定義值(例如,導出值與臨限值之間的差小於臨限值),則可能並不將萊斯參數用信號發出至視訊解碼器30,但實情為可如上文所描述地導出萊斯參數。在此狀況下,可將導出值抑或預定義值用作萊斯參數之初始值。否則,可用信號發出萊斯參數之初始值,或可用信號發出萊斯參數之初始值與預定義值之間的差。發信號技術之一些額外實例可發現於2013年8月26日申請的美國臨時申請案第61/870,120號、2013年9月20日申請的美國臨時申請案第61/880,616號,及2013年10月11日申請的美國臨時申請案第61/889,654號中。
下文描述關於萊斯參數初始化方案之上文所描述實例的若干額外實例及考慮因素。儘管可基本上個別地描述本發明之技術及/或將 其描述為與其他技術之特定組合的部分,但本發明中所描述之技術中的任何兩者或兩者以上可彼此組合。另外,分別實施本發明中所描述之技術中的任一者可為有可能的。
對於有損寫碼狀況,可僅將基於統計之萊斯參數初始化方案應用於變換跳過區塊,如以下條件性等式中所展示。另一方面,當變換已應用於變換區塊時,根據HEVC初始化方案將萊斯參數初始化為零。
在其他實例中,可僅將基於統計之萊斯參數初始化方案應用於變換跳過區塊,但當變換已應用於區塊時,可不必要將萊斯參數自動地初始化為零,如以下等式中所展示。
在一些實例中,可停用執行於CG內之HEVC萊斯參數更新方案。實情為,可根據上文所描述之實例技術中的任何組合判定萊斯參數之初始值,且接著可在整個區塊中使用萊斯參數之該初始值。在其他實例中,可在CG內執行不同之萊斯參數更新方案。在一些狀況下,可在整個區塊中,根據給定次序或作為整合式方法而使用上文所描述之實例技術中之一或多者,以執行萊斯參數更新及統計更新。又,在一些狀況下,可在整個區塊中使用上文所描述之實例技術中之一或多者,以執行萊斯參數之位元深度相依性初始化。
儘管上文分別描述判定萊斯參數之初始值的實例方法,但本發明之技術並不限於此情況。大體而言,上文所描述之實例技術的各種組合可為有可能的。亦可分別實施上文所描述之實例方法。另外,上文所描述之方法中的所有或其組合可應用於所有變換區塊內之CG, 或僅應用於跳過或繞過變換之變換區塊。
圖5為說明可實施本發明中所描述之用於編碼係數層級之技術的視訊編碼器20之實例的方塊圖。出於說明之目的,將在HEVC寫碼之上下文中描述視訊編碼器20,但本發明關於可要求掃描變換係數之其他寫碼標準或方法不受限制。視訊編碼器20可執行視訊圖框內之CU的框內寫碼及框間寫碼。框內寫碼依賴於空間預測,以減少或移除給定視訊圖框內之視訊資料中的空間冗餘。框間寫碼依賴於時間預測,以減少或移除在視訊序列的當前圖框與先前經寫碼圖框之間的時間冗餘。框內模式(I模式)可指若干基於空間之視訊壓縮模式中的任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指若干基於時間之視訊壓縮模式中的任一者。
如圖5中所展示,視訊編碼器20接收待編碼之視訊圖框內的當前視訊區塊。在圖5之實例中,視訊編碼器20包括模式選擇單元40、視訊資料記憶體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可選擇離散餘弦變換(DCT)、離散正弦變換(DST)、整數變換、K-L變換或另一變換中之一者,以產生變換係數。可基於一或多個寫碼特性(諸如,區塊大小、寫碼模式或類似者)選擇變換。接著,變換處理單元52將所選定變換應用於TU,從而產生包含變換係數之二維陣列的視訊區塊。變換處理單元52可將所得之變換係數發送至量化單元54。接著,量化單元54可量化變換係數。
接著,熵編碼單元56可根據掃描模式對矩陣中之係數執行掃描。在有損寫碼之狀況下,係數可為經量化之變換係數。在無損寫碼或具有變換跳過或繞過之有損寫碼的狀況下,係數可為尚未經變換或經量化之係數。本發明將熵編碼單元56描述為執行掃描。然而,應理解,在其他實例中,諸如量化單元54之其他處理單元可執行掃描。
一旦將變換係數掃描至一維陣列中,熵編碼單元56可將熵寫碼(諸如CABAC、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)或另一熵寫碼方法)應用於係數。熵編碼單元56 可經組態以根據本發明之技術寫碼係數。在CABAC之實例中,熵編碼單元56可使用常規寫碼模式抑或繞過模式編碼係數。為執行CABAC,熵編碼單元56可選擇用以應用一定上下文的上下文模型,以編碼待傳輸之符號。舉例而言,該上下文可關於相鄰值是否為非零。熵編碼單元56可基於(例如)框內預測模式之框內預測方向、對應於語法元素之係數的掃描位置、區塊類型及/或變換類型,以及用於上下文模型選擇之其他因素,選擇用於編碼此等符號之上下文模型。
熵編碼單元56將殘餘視訊資料之係數層級編碼成位元串流,以用於傳輸至視訊解碼器或儲存器件。在無損視訊寫碼或具有變換跳過或繞過之有損視訊寫碼的狀況下,待編碼之係數可具有具大絕對值之係數層級。當係數表示螢幕內容(其可包括圖形及文本區域)時,可並未良好地預測內容,從而產生待編碼之係數的係數層級之大絕對值。
熵編碼單元56使用由萊斯參數定義之碼,以CABAC之繞過模式或另一熵寫碼引擎編碼當前係數群組(CG)中之至少一係數的係數層級之剩餘絕對值(例如,coeff_abs_level_remaining或levelRem)。根據本發明之技術,熵編碼單元56經組態以基於先前經編碼係數之係數層級之統計,判定用於當前CG的萊斯參數之初始值。統計可為先前經寫碼係數之係數層級的絕對值或係數層級之剩餘絕對值的統計。本發明中所描述的基於統計之萊斯參數初始化方案允許萊斯參數快速且有效地適應於大係數值,此情況可發生於螢幕內容之區塊及具有變換跳過或繞過之區塊中。
在一實例中,熵編碼單元56可經組態以藉由比較用於給定先前經編碼係數之係數層級與統計之函數,且接著基於比較判定是增加抑或降低統計值而判定統計。可在視訊資料之每一切片的開始處將統計值初始化為零,且熵編碼單元56可按切片之每一CG更新一次統計。在一些實例中,熵編碼單元56可經組態以針對複數個不同類別之CG 中之每一者,判定單獨統計。可基於包括CG之變換區塊的特性(諸如,變換區塊是否為明度區塊,及變換區塊是否為變換跳過區塊)定義類別。
在當前CG之開始處,熵編碼單元56經組態以將統計值映射為用於當前CG的萊斯參數之初始值。在一實例中,熵編碼單元56可根據基於萊斯參數之最大值或除以常數值之統計值中的最小者之選擇的統計之函數,將統計值映射為初始萊斯參數值。上文較詳細地描述用於萊斯參數初始化方案的表示統計收集、統計分割及統計映射程序之實例等式。
在由熵編碼單元56進行熵寫碼之後,可將所得之經編碼視訊傳輸至另一器件(諸如,視訊解碼器30),或將所得之經編碼視訊封存以供稍後傳輸或擷取。在一些狀況下,除熵寫碼之外,熵編碼單元56或視訊編碼器20之另一單元亦可經組態以執行其他寫碼功能。
反量化單元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經組態以基於先前經解碼係數之係數層級之統計,判定用於當前CG的萊斯參數之初始值。統計可為先前經解碼係數之係數層級的絕對值或係數層級之剩餘絕對值的統計。本發明中所描述的基於統計之萊斯參數初始化方案允許萊斯參數快速且有效地適應於大係數值,此情況可發生於螢幕內容之區塊及具有變換跳過或繞過之區塊中。
在一實例中,熵解碼單元70可經組態以藉由比較用於給定先前經解碼係數之係數層級與統計之函數,且接著基於比較判定是增加抑或降低統計值而判定統計。可在視訊資料之每一切片的開始處將統計值初始化為零,且熵解碼單元70可按每一切片之CG更新一次統計。在一些實例中,熵解碼單元70可經組態以針對複數個不同類別之CG中之每一者,判定單獨統計。可基於包括CG之變換區塊的特性(諸如,變換區塊是否為明度區塊,及變換區塊是否為變換跳過區塊)定義類別。
在當前CG之開始處,熵解碼單元70經組態以將統計值映射為用 於當前CG的萊斯參數之初始值。在一實例中,熵解碼單元70可根據基於萊斯參數之最大值抑或除以常數值之統計值中的最小者之選擇的統計之函數,將統計值映射為初始萊斯參數值。上文較詳細地描述用於萊斯參數初始化方案的表示統計收集、統計分割及統計映射程序之實例等式。
反量化單元76反量化(亦即,解量化)位元串流中所提供,並由熵解碼單元70解碼的經量化之變換係數。反量化程序可包括習知程序,例如類似於針對HEVC所提議之程序,或由H.264解碼標準定義之程序。反量化程序可包括使用由視訊編碼器20針對CU所計算之量化參數QP以判定量化之程度,且同樣地,判定應應用之反量化的程度。反量化單元76可在將係數自一維陣列轉換為二維陣列之前抑或之後,反量化變換係數。
反變換處理單元78將反變換應用於經反量化變換係數。舉例而言,反變換處理單元78可應用離散餘弦變換(DCT)、離散正弦變換(DST)、整數變換、K-L變換或另一變換中之一者,以產生殘餘資料。在一些實例中,反變換處理單元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上。殘餘視訊資料係數可包括於係數群組(CG)中,該等係數群組中之每一者為變換區塊一子區塊(例如,如圖4中所說明之4×4子區塊)。在編碼CG中之係數期間,熵編碼單元56判定先前經編碼係數之係數層級之統計(100)。在下文關於圖9較詳細地描述之實例中,判定先前經編碼係數之係數層級之統計可包含基於比較先前經編碼係數中之一或多者的係數層級與統計之函數,判定是增加抑或降低統計值。可在殘餘視訊資料之每一切片的開始處將統計值初始化為零。
在一些實例中,判定先前經編碼係數之係數層級之統計可包含遍及殘餘視訊資料之切片或寫碼單元(CU),計算係數層級之平均值或流動平均值。在其他實例中,判定先前經編碼係數之係數層級之統計可包含基於先前經編碼係數中之一者的係數層級與統計值之比較,判定是增加、降低抑或維持統計值。
係數層級之統計可包括先前經編碼係數之係數層級的絕對值統計或係數層級之剩餘絕對值統計。可針對皆包括於相同變換區塊中的CG中之先前經編碼係數,或針對包括於兩個或兩個以上不同變換區塊中的CG中之先前經編碼係數,收集係數層級之統計。
在一些實例中,熵編碼單元56可按每一係數群組判定一次先前經編碼係數之係數層級之統計。下文關於圖9較詳細地描述統計收集之頻率。舉例而言,在於先前CG中之每一者中編碼係數層級之第一絕對值時,熵編碼單元56可判定統計。替代性地,在於先前CG中之 每一者中編碼係數層級之第一剩餘絕對值時,熵編碼單元56可判定統計。在其他實例中,熵編碼單元56可在編碼係數中之每一者之後,判定先前經編碼係數之係數層級之統計。
另外,如下文關於圖9較詳細地描述,熵編碼單元56可針對複數個不同類別之CG中之每一者判定單獨統計。可基於包括CG之變換區塊的特性定義類別。舉例而言,變換區塊之特性可包括變換區塊是否為明度或色度區塊類型、變換區塊是否經編碼為變換跳過區塊或變換量化繞過區塊、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之大小,及/或變換區塊內之CG的位置。
對於待編碼殘餘視訊資料之變換區塊中的當前CG,熵編碼單元56基於所收集的先前經編碼係數之係數層級之統計,判定萊斯參數之初始值(102)。習知地,在每一CG之開始處將萊斯參數之值初始化為零,且在編碼CG中之係數層級的剩餘絕對值之後有條件地進行更新。在寫碼螢幕內容之係數層級的狀況下,或在無損寫碼或以變換跳過模式有損寫碼之狀況下,針對每一CG,將萊斯參數之值初始化為零可能並非最佳的。本發明之技術描述在每一CG之開始處基於所收集統計來設定萊斯參數之值,而非自動地將萊斯參數之值重置為零。
在下文關於圖10較詳細地描述之一實例中,熵編碼單元56藉由根據統計之函數,將所收集統計值映射為萊斯參數之初始值,而判定用於當前CG的萊斯參數之初始值。在其他實例中,熵編碼單元56可根據儲存表,將所收集統計值映射為萊斯參數之初始值。
如上文所較詳細地描述,熵編碼單元56可根據反掃描次序,對當前CG執行一或多個掃描,以編碼當前CG中之係數的係數層級。舉例而言,熵編碼單元56可使用上下文模型以常規寫碼模式編碼旗標或語法元素,以指示係數之係數層級是否具有大於1或大於2之絕對值。接著,熵編碼單元56使用由萊斯參數定義之碼編碼旗標或語法元素, 以指示當前CG中之係數中的至少一者的係數層級之剩餘絕對值(104)。舉例而言,熵編碼單元56可以繞過模式編碼語法元素,該語法元素指示具有大於2之係數層級的係數中之任一者的係數層級之剩餘絕對值。在一些實例中,在編碼當前CG中之係數層級的第一剩餘絕對值之後,熵編碼單元56可基於經編碼係數之係數層級更新統計。
在一些狀況下,熵編碼單元56可基於萊斯參數之初始值及當前CG中正經編碼之係數的係數層級之絕對值,有條件地更新萊斯參數之初始值。在編碼當前CG中之係數的每一剩餘絕對層級之後,熵編碼單元56可繼續有條件地更新萊斯參數之值。在當前CG之末端處,熵編碼單元56可基於先前經編碼係數(包括包括於當前CG中之最近經編碼係數)之係數層級之統計,判定用於後續CG的萊斯參數之初始值。
圖8為說明根據本發明中所描述之技術的在係數層級之熵解碼期間判定萊斯參數之初始值的實例操作之流程圖。關於包括來自圖6之熵解碼單元70的視訊解碼器30描述實例操作。
視訊解碼器30自視訊編碼器20,或自諸如儲存媒體34或檔案伺服器36之儲存器件接收經編碼視訊位元串流。所接收視訊位元串流表示待解碼之殘餘視訊資料的係數。殘餘視訊資料係數可包括於係數群組(CG)中,該等係數群組中之每一者為變換區塊一子區塊(例如,如圖4中所說明之4×4子區塊)。在解碼CG中之係數期間,熵解碼單元70判定先前經解碼係數之係數層級之統計(110)。在下文關於圖9較詳細地描述之實例中,判定先前經解碼係數之係數層級之統計可包含基於比較先前經解碼係數中之一或多者的係數層級與統計之函數,判定是增加抑或降低統計值。可在殘餘視訊資料之每一切片的開始處將統計值初始化為零。
在一些實例中,判定先前經解碼係數之係數層級之統計可包含 遍及殘餘視訊資料之切片、寫碼單元(CU)或變換單元(TU),計算係數層級之平均值或流動平均值。在其他實例中,判定先前經解碼係數之係數層級之統計可包含基於先前經編碼係數中之一者的係數層級與統計值之比較,判定是增加、降低抑或維持統計值。
係數層級之統計可包括先前經解碼係數之係數層級的絕對值統計或係數層級之剩餘絕對值統計。可針對皆包括於相同變換區塊中的CG中之先前經解碼係數,或針對包括於兩個或兩個以上不同變換區塊中的CG中之先前經解碼係數,收集係數層級之統計。
在一些實例中,熵解碼單元70可按每一係數群組判定一次先前經解碼係數之係數層級之統計。下文關於圖9較詳細地描述統計收集之頻率。舉例而言,在於先前CG中之每一者中解碼係數層級之第一絕對值時,熵解碼單元70可判定統計。替代性地,在於先前CG中之每一者中解碼係數層級之第一剩餘絕對值時,熵解碼單元70可判定統計。在其他實例中,熵解碼單元70可在解碼係數中之每一者之後,判定先前經解碼係數之係數層級之統計。
另外,如下文關於圖9較詳細地描述,熵解碼單元70可針對複數個不同類別之CG中之每一者判定單獨統計。可基於包括CG之變換區塊的特性定義類別。舉例而言,變換區塊之特性可包括變換區塊是否為明度或色度區塊類型、變換區塊是否經解碼為變換跳過區塊或變換量化繞過區塊、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之大小,及/或變換區塊內之CG的位置。
對於待解碼殘餘視訊資料之變換區塊中的當前CG,熵解碼單元70基於所收集的先前經解碼係數之係數層級之統計,判定萊斯參數之初始值(112)。在一些程序中,在每一CG之開始處將萊斯參數之值初始化為零,且在解碼CG中之係數層級的剩餘絕對值之後有條件地進行更新。在寫碼螢幕內容之係數層級的狀況下,或在無損寫碼或以變 換跳過模式有損寫碼之狀況下,針對每一CG,將萊斯參數之值初始化為零可能並非最佳的。本發明之技術描述在每一CG之開始處基於所收集統計來設定萊斯參數之值,而非自動地將萊斯參數之值重置為零。
在下文關於圖10較詳細地描述之一實例中,熵解碼單元70藉由根據統計之函數,將所收集統計值映射為萊斯參數之初始值,而判定用於當前CG的萊斯參數之初始值。在其他實例中,熵解碼單元70可根據儲存表,將所收集統計值映射為萊斯參數之初始值。
如上文所較詳細地描述,熵解碼單元70可根據反掃描次序,對當前CG執行一或多個掃描,以解碼當前CG中之係數的係數層級。舉例而言,熵解碼單元70可使用上下文模型以常規寫碼模式解碼旗標或語法元素,以指示係數之係數層級是否具有大於1或大於2之絕對值。接著,熵解碼單元70使用由萊斯參數定義之碼解碼旗標或語法元素,以指示當前CG中之係數中的至少一者的係數層級之剩餘絕對值(114)。舉例而言,熵解碼單元70可以繞過模式解碼語法元素,該語法元素指示具有大於2之係數層級的係數中之任一者的係數層級之剩餘絕對值。在一些實例中,在解碼當前CG中之係數層級的第一剩餘絕對值之後,熵解碼單元70可基於經解碼係數之係數層級更新統計。
在一些狀況下,熵解碼單元70可基於萊斯參數之初始值及當前CG中正經解碼之係數的係數層級之絕對值,有條件地更新萊斯參數之初始值。在解碼當前CG中之係數的每一剩餘絕對層級之後,熵解碼單元70可繼續有條件地更新萊斯參數之值。在當前CG之末端處,熵解碼單元70可基於先前經解碼係數(包括包括於當前CG中之最近經解碼係數)之係數層級之統計,判定用於後續CG的萊斯參數之初始值。
圖9為說明根據本發明中所描述之技術的在係數層級之熵寫碼期 間判定先前經寫碼係數的係數層級之統計之實例操作的流程圖。所說明操作可為來自圖7之步驟100或來自圖8之步驟110的一實例。關於包括來自圖6之熵解碼單元70的視訊解碼器30描述實例操作。在其他實例中,可由來自圖5之視訊編碼器20的熵編碼單元56執行操作。
熵解碼單元70解碼包括於變換區塊中之CG中的係數之係數層級(120)。係數層級可包含係數層級之絕對值抑或係數層級之剩餘絕對值。若經解碼係數層級並非CG中之第一係數層級(122之否分支),則熵解碼單元70並不基於經解碼係數層級更新統計(124)。在此實例中,在於CG中之每一者中寫碼係數層級之第一絕對值或係數層級之第一剩餘絕對值時,按每一CG僅更新一次統計。在其他實例中,可較頻繁地或基於不同係數層級之寫碼更新統計。
若經解碼係數層級為CG中之第一係數層級(122之是分支),則熵解碼單元70基於變換區塊之特性判定CG之類別(126)。在一實例中,用於判定CG之類別的變換區塊之特性包括變換區塊是否為明度區塊,及變換區塊是否為變換跳過區塊。在其他實例中,用於判定CG之類別的特性可不同,例如,變換區塊是否為變換量化繞過區塊、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之大小及/或變換區塊內之當前CG的位置。在一些實例中,視訊解碼器30可接收指示變換區塊之哪個特性用於定義不同類別之CG的語法元素。
接著,熵解碼單元70針對所判定類別,將CG中之第一係數層級與統計之函數進行比較(128)。在一實例中,用於更新統計的統計之函數係基於左移位除以第二常數值之統計值的第一常數值。在其他實例中,可根據不同技術判定統計,諸如遍及視訊資料之切片或寫碼單元(CU),計算係數層級之平均值或流動平均值,或將CG中之係數層級直接與統計值比較。
若CG中之第一係數層級大於或等於統計之函數的結果(130之是 分支),則熵解碼單元70增加所判定類別之統計值(132)。若CG中之第一係數層級小於統計之函數的結果(130之否分支),則熵解碼單元70降低所判定類別之統計值(134)。在任一狀況下,熵解碼單元70可使用經更新統計,以判定用於所判定類別之後續CG的萊斯參數之初始值,如下文關於圖10較詳細地描述。
在圖9之實例中,用於判定統計之操作按每一CG僅更新一次統計,並針對複數個不同類別之CG收集單獨統計。在其他實例中,用於判定統計之操作可在寫碼CG中之係數層級的剩餘絕對值之後更新統計。在額外實例中,用於判定統計之操作可僅收集一類別之統計。
圖10為說明根據本發明中所描述之技術的基於所判定統計,判定用於當前係數群組的萊斯參數之初始值的實例操作之流程圖。所說明操作可為來自圖7之步驟102或來自圖8之步驟112的一實例。關於包括來自圖6之熵解碼單元70的視訊解碼器30描述實例操作。在其他實例中,可由來自圖5之視訊編碼器20的熵編碼單元56執行操作。
在變換區塊中之當前CG的開始處(140),熵解碼單元70基於包括當前CG之變換區塊的特性,判定當前CG之類別(142)。在一實例中,用於判定當前CG之類別的變換區塊之特性包括變換區塊是否為明度區塊,及變換區塊是否為變換跳過區塊。在其他實例中,用於判定當前CG之類別的特性可不同,例如,變換區塊是否為變換量化繞過區塊、變換區塊是否具有框內預測或框間預測切片類型、變換區塊之大小及/或變換區塊內之當前CG的位置。在一些實例中,視訊解碼器30可接收指示變換區塊之哪個特性用於定義不同類別之CG的語法元素。
接著,熵解碼單元70根據統計之函數,將所判定類別之統計值映射為用於當前CG的萊斯參數之初始值(144)。在一實例中,用於初始化萊斯參數的統計之函數係基於萊斯參數之最大值抑或除以常數值 之統計值中的最小者之選擇。在其他實例中,可根據不同技術自統計判定萊斯參數之初始值,諸如將統計值右移位常數值,或應用統計之線性或分段線性函數。在再其他實例中,熵解碼單元70可根據儲存表,將統計值映射為萊斯參數之初始值,其中將預定義範圍內之每一統計值映射為至多萊斯參數之最大值的萊斯參數之值。
在一或多個實例中,所描述之功能可在硬體、軟體、韌體或其任何結合中實施。若在軟體中實施,則功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上,或經由電腦可讀媒體而傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,通信媒體包括(例如)根據通信協定而促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上可對應於(1)為非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構,以用於實施本發明中所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
作為實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器件、磁碟儲存器件或其他磁性儲存器件,快閃記憶體,或可用以儲存呈指令或資料結構之形式的所要程式碼且可由電腦存取之任何其他媒體。又,將任何連接適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纖纜線、雙絞線、數位用戶線(DSL)或無線技術(諸如,紅外線、無線電及微波)而自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纖纜線、雙絞線、DSL或無線技術(諸如,紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而是有關非暫時性有形儲存媒 體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位影音光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟藉由雷射以光學方式再現資料。以上各者之組合亦應包括於電腦可讀媒體之範疇內。
可由諸如一或多個數位信號處理器(DSP)、一般用途微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效整合式或離散邏輯電路系統之一或多個處理器來執行指令。因此,本文中所使用之術語「處理器」可指上述結構或適於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,可將本文所描述之功能性提供於經組態以用於編碼及解碼之專用硬體及/或軟體模組內,或併入於組合式編解碼器中。又,該等技術可完全實施於一或多個電路或邏輯元件中。
本發明之技術可以廣泛多種器件或裝置予以實施,該等器件或裝置包括無線手機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必要求藉由不同硬體單元予以實現。實情為,如上文所描述,可將各種單元組合於編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合而結合合適軟體及/或韌體來提供該等單元。
已描述各種實例。此等及其他實例屬於以下申請專利範圍之範疇內。

Claims (52)

  1. 一種在一視訊解碼程序中解碼係數之方法,該方法包含:針對複數個不同類別之係數群組中之每一者判定殘餘視訊資料之先前經解碼係數的係數層級之統計,其中該等不同類別係基於包括該等係數群組之變換區塊的特性來定義,且其中該等先前經解碼係數之該等變換區塊之該等特性包括該等變換區塊是否為明度區塊(luma blocks),及該等變換區塊是否為變換跳過區塊(transform skip blocks),在解碼該殘餘視訊資料之一變換區塊中之一當前係數群組之前,該等先前經解碼係數正經解碼;基於包括該當前係數群組之該變換區塊的特性,自該複數個不同類別判定該當前係數群組之一類別,其中包括該當前係數群組之該變換區塊的該等特性包括該變換區塊是否為一明度區塊,及該變換區塊是否為一變換跳過區塊;在解碼該當前係數群組中之任何係數之前,基於該等統計,針對該當前係數群組之該經判定類別判定該當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數之該初始值定義之碼,解碼該當前係數群組中之該等係數中之至少一者的一係數層級之一剩餘絕對值。
  2. 如請求項1之方法,其中該等統計包含該等先前經解碼係數之該等係數層級的絕對值或該等係數層級之剩餘絕對值中之一者的統計。
  3. 如請求項1之方法,其中該等統計包含包括於與該當前係數群組相同之變換區塊或與該當前係數群組不同之變換區塊中之一或多者中的先前係數群組中之該等先前經解碼係數的該等係數層級之統計。
  4. 如請求項1之方法,其中判定該等統計包含:將該等先前經解碼係數中之至少一者的一係數層級與該等統計之一函數進行比較;及基於該比較,判定是增加抑或降低該等統計之值。
  5. 如請求項4之方法,其中該等統計之該函數包含左移位除以一第二常數值的該等統計之一值的一第一常數值。
  6. 如請求項1之方法,其進一步包含在該殘餘視訊資料之每一切片的一開始處,將該等統計之一值初始化為零。
  7. 如請求項1之方法,其中判定該等統計包含按每一係數群組判定一次該等統計。
  8. 如請求項7之方法,其中按每一係數群組判定一次該等統計包含在於複數個先前係數群組中之每一者中解碼一係數層級之一第一絕對值或一係數層級之一第一剩餘絕對值中之一者時,判定該等統計。
  9. 如請求項1之方法,其進一步包含接收指示該等變換區塊之哪些特性用於定義該等不同類別之係數群組的一語法元素,其中該語法元素係在該殘餘視訊資料之一序列參數集(SPS)或一圖像參數集(PPS)中之一者中接收。
  10. 如請求項1之方法,其中判定用於該當前係數群組的該萊斯參數之該初始值包含根據該等統計之一函數,將該等統計之一值映射為該萊斯參數之該初始值。
  11. 如請求項10之方法,其中該等統計之該函數包含該萊斯參數之一最大值或除以一常數值的該等統計之該值中之一最小者的一選擇。
  12. 如請求項1之方法,其進一步包含基於該萊斯參數之該初始值,及該當前係數群組中正經解碼之該等係數中之至少一者的該係數層級之一絕對值,更新該萊斯參數之該初始值。
  13. 如請求項1之方法,其中由該萊斯參數定義之該等碼包含哥倫布萊斯碼或指數哥倫布碼中之一者。
  14. 如請求項1之方法,其中該當前係數群組包含變換係數或並未應用一變換之係數。
  15. 如請求項1之方法,其中用以定義該等不同類別之係數群組之該等變換區塊之該等特性進一步包括用以定義該等不同類別之係數群組之該等變換區塊內之該等係數群組之位置,且其中包括用以判定該當前係數群組之該類別之該當前係數群組的該變換區塊之該等特性進一步包括包括該當前係數群組之該變換區塊內之該等當前係數群組之該位置。
  16. 一種在一視訊編碼程序中編碼係數之方法,該方法包含:針對複數個不同類別之係數群組中之每一者判定殘餘視訊資料之先前經編碼係數的係數層級之統計,其中該等不同類別係基於包括該等係數群組之變換區塊的特性來定義,且其中該等先前經編碼係數之該等變換區塊之該等特性包括該等變換區塊是否為明度區塊,及該等變換區塊是否為變換跳過區塊,在編碼該殘餘視訊資料之一變換區塊中之一當前係數群組之前,該等先前經編碼係數正經編碼;基於包括該當前係數群組之該變換區塊的特性,自該複數個不同類別判定該當前係數群組之一類別,其中包括該當前係數群組之該變換區塊的該等特性至少包括該變換區塊是否為一明度區塊,及該變換區塊是否為一變換跳過區塊;在編碼該當前係數群組中之任何係數之前,基於該等統計,針對該當前係數群組之該經判定類別判定該當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數之該初始值定義之碼,編碼該當前係數群組中之該等係數中之至少一者的一係數層級之一剩餘絕對值。
  17. 如請求項16之方法,其中該等統計包含該等先前經編碼係數之該等係數層級的絕對值或該等係數層級之剩餘絕對值中之一者的統計。
  18. 如請求項16之方法,其中該等統計包含包括於與該當前係數群組相同之變換區塊或與該當前係數群組不同之變換區塊中之一或多者中的先前係數群組中之該等先前經編碼係數的該等係數層級之統計。
  19. 如請求項16之方法,其中判定該等統計包含:將該等先前經編碼係數中之至少一者的一係數層級與該等統計之一函數進行比較;及基於該比較,判定是增加抑或降低該等統計之值。
  20. 如請求項19之方法,其中該等統計之該函數包含左移位除以一第二常數值的該等統計之一值的一第一常數值。
  21. 如請求項16之方法,其進一步包含在該殘餘視訊資料之每一切片的一開始處,將該等統計之一值初始化為零。
  22. 如請求項16之方法,其中判定該等統計包含按每一係數群組判定一次該等統計。
  23. 如請求項22之方法,其中按每一係數群組判定一次該等統計包含在於複數個先前係數群組中之每一者中編碼一係數層級之一第一絕對值或一係數層級之一第一剩餘絕對值中之一者時,判定該等統計。
  24. 如請求項16之方法,其進一步包含產生指示該等變換區塊之哪些特性用於定義該等不同類別之係數群組的一語法元素,其中該語法元素係在該殘餘視訊資料之一序列參數集(SPS)或一圖像參數集(PPS)中之一者中產生。
  25. 如請求項16之方法,其中判定用於該當前係數群組的該萊斯參數之該初始值包含根據該等統計之一函數,將該等統計之一值映射為該萊斯參數之該初始值。
  26. 如請求項25之方法,其中該等統計之該函數包含該萊斯參數之一最大值或除以一常數值的該等統計之該值中之一最小者的一選擇。
  27. 如請求項16之方法,其進一步包含基於該萊斯參數之該初始值及該當前係數群組中正經編碼之該等係數中之至少一者的該係數層級之一絕對值,更新該萊斯參數之該初始值。
  28. 如請求項16之方法,其中由該萊斯參數定義之該等碼包含哥倫布萊斯碼或指數哥倫布碼中之一者。
  29. 如請求項16之方法,其中該當前係數群組包含變換係數或並未應用一變換之係數。
  30. 如請求項16之方法,其中用以定義該等不同類別之係數群組之該等變換區塊之該等特性進一步包括用以定義該等不同類別之係數群組之該等變換區塊內之該等係數群組之位置,且其中包括用以判定該當前係數群組之該類別之該當前係數群組的該變換區塊之該等特性進一步包括在包括該當前係數群組之該變換區塊內的該等當前係數群組之該位置。
  31. 一種視訊寫碼器件,其包含:一記憶體,其經組態以儲存視訊資料;及一或多個處理器,其經組態以:針對複數個不同類別之係數群組中之每一者判定殘餘視訊資料之先前經寫碼係數的係數層級之統計,其中該等不同類別係基於包括該等係數群組之變換區塊的特性來定義,且其中該等先前經寫碼係數之該等變換區塊之該等特性包括該等變換區塊是否為明度區塊,及該等變換區塊是否為變換跳過區塊,在寫碼該殘餘視訊資料之一變換區塊中之一當前係數群組之前,該等先前經寫碼係數正經寫碼;基於包括該當前係數群組之該變換區塊的特性,自該複數個不同類別判定該當前係數群組之一類別,其中包括該當前係數群組之該變換區塊的該等特性包括該變換區塊是否為一明度區塊,及該變換區塊是否為一變換跳過區塊;在寫碼該當前係數群組中之任何係數之前,基於該等統計,針對該當前係數群組之該經判定類別判定該當前係數群組的一萊斯參數之一初始值;使用由該萊斯參數之該初始值定義之碼,寫碼該當前係數群組中之該等係數中之至少一者的一係數層級之一剩餘絕對值。
  32. 如請求項31之器件,其中該等統計包含該等先前經寫碼係數之該等係數層級的絕對值或該等係數層級之剩餘絕對值中之一者的統計。
  33. 如請求項31之器件,其中該等統計包含包括於與該當前係數群組相同之變換區塊或與該當前係數群組不同之變換區塊中之一或多者中的先前係數群組中之該等先前經寫碼係數的該等係數層級之統計。
  34. 如請求項31之器件,其中該等處理器經組態以:將該等先前經寫碼係數中之至少一者的一係數層級與該等統計之一函數進行比較;及基於該比較,判定是增加抑或降低該等統計之值。
  35. 如請求項34之器件,其中該等統計之該函數包含左移位除以一第二常數值的該等統計之一值的一第一常數值。
  36. 如請求項31之器件,其中在該殘餘視訊資料之每一切片的一開始處,將該等統計之一值初始化為零。
  37. 如請求項31之器件,其中判定該等統計包含按每一係數群組判定一次該等統計。
  38. 如請求項37之器件,其中該等處理器經組態以在於複數個先前係數群組中之每一者中寫碼一係數層級之一第一絕對值或一係數層級之一第一剩餘絕對值中之一者時,判定該等統計。
  39. 如請求項31之器件,其中該等處理器經組態以判定指示該等變換區塊之哪些特性用於定義該等不同類別之係數群組的一語法元素,其中該語法元素包括於該殘餘視訊資料之一序列參數集(SPS)或一圖像參數集(PPS)中之一者中。
  40. 如請求項31之器件,其中該等處理器經組態以根據該等統計之一函數,將該等統計之一值映射為用於該當前係數群組的該萊斯參數之該初始值。
  41. 如請求項40之器件,其中該等統計之該函數包含該萊斯參數之一最大值或除以一常數值的該等統計之該值中之一最小者的一選擇。
  42. 如請求項31之器件,其中該等處理器經組態以基於該萊斯參數之該初始值及該當前係數群組中正經寫碼之該等係數中之至少一者的該係數層級之一絕對值,更新該萊斯參數之該初始值。
  43. 如請求項31之器件,其中該視訊寫碼器件包含一視訊解碼器件,且其中該視訊解碼器件之該等處理器經組態以使用由該萊斯參數之該初始值定義之碼,解碼該當前係數群組中之該等係數中之至少一者的該係數層級之該剩餘絕對值。
  44. 如請求項31之器件,其中該視訊寫碼器件包含一視訊編碼器件,且其中該視訊編碼器件之該等處理器經組態以使用由該萊斯參數之該初始值定義之碼,編碼該當前係數群組中之該等係數中之至少一者的該係數層級之該剩餘絕對值。
  45. 如請求項31之器件,其中由該萊斯參數定義之該等碼包含哥倫布萊斯碼或指數哥倫布碼中之一者。
  46. 如請求項31之器件,其中該當前係數群組包含變換係數或並未應用一變換之係數。
  47. 如請求項31之器件,其中用以定義該等不同類別之係數群組之該等變換區塊之該等特性進一步包括用以定義該等不同類別之係數群組之該等變換區塊內之該等係數群組之位置,且其中包括用以判定該當前係數群組之該類別之該當前係數群組的該變換區塊之該等特性進一步包括在包括該當前係數群組之該變換區塊內的該等當前係數群組之該位置。
  48. 一種視訊寫碼器件,其包含:用於針對複數個不同類別之係數群組中之每一者判定殘餘視訊資料之先前經寫碼係數的係數層級之統計之構件,其中該等不同類別係基於包括該等係數群組之變換區塊的特性來定義,且其中該等先前經寫碼係數之該等變換區塊之該等特性包括該等變換區塊是否為明度區塊,及該等變換區塊是否為變換跳過區塊,在寫碼該殘餘視訊資料之一變換區塊中之一當前係數群組之前,該等先前經寫碼係數正經寫碼;用於基於包括該當前係數群組之該變換區塊的特性,自該複數個不同類別判定該當前係數群組之一類別之構件,其中包括該當前係數群組之該變換區塊的該等特性包括該變換區塊是否為一明度區塊,及該變換區塊是否為一變換跳過區塊;用於在寫碼該當前係數群組中之任何係數之前,基於該等統計,針對該當前係數群組之該經判定類別判定該當前係數群組的一萊斯參數之一初始值的構件;及用於使用由該萊斯參數之該初始值定義之碼,寫碼該當前係數群組中之該等係數中之至少一者的一係數層級之一剩餘絕對值的構件。
  49. 如請求項48之器件,其中用於判定該等統計之該構件包含:用於將該等先前經寫碼係數中之至少一者的一係數層級與該等統計之一函數進行比較之構件,其中該等統計之該函數包含左移位除以一第二常數值的該等統計之一值的一第一常數值;及用於基於該比較判定是增加抑或降低該等統計之該值的構件。
  50. 如請求項48之器件,其中用於判定該等統計之該構件包含用於在於複數個先前係數群組中之每一者中寫碼一係數層級之一第一絕對值或一係數層級之一第一剩餘絕對值中之一者時,按每一係數群組判定一次該等統計之構件。
  51. 如請求項48之器件,其中用於判定用於該當前係數群組的該萊斯參數之該初始值的該構件包含用於根據該等統計之一函數,將該等統計之一值映射為該萊斯參數之該初始值的構件,其中該等統計之該函數包含該萊斯參數之一最大值或除以一常數值的該等統計之該值中之一最小者的一選擇。
  52. 一種包含指令之非暫時性之電腦可讀儲存媒體,該等指令在由一視訊寫碼器件之一或多個處理器執行時使得該等處理器進行以下操作:針對複數個不同類別之係數群組中之每一者判定殘餘視訊資料之先前經寫碼係數的係數層級之統計,其中該等不同類別係基於包括該等係數群組之變換區塊的特性來定義,且其中該等先前經寫碼係數之該等變換區塊之該等特性包括該等變換區塊是否為明度區塊,及該等變換區塊是否為變換跳過區塊,在該殘餘視訊資料之一變換區塊中之一當前係數群組之前,該等先前經寫碼係數正經寫碼;基於包括該當前係數群組之該變換區塊的特性,自該複數個不同類別判定該當前係數群組之一類別,其中包括該當前係數群組之該變換區塊的該等特性包括該變換區塊是否為一明度區塊,及該變換區塊是否為一變換跳過區塊;在寫碼該當前係數群組中之任何係數之前,基於該等統計,針對該當前係數群組之該經判定類別判定該當前係數群組的一萊斯參數之一初始值;及使用由該萊斯參數之該初始值定義之碼,寫碼該當前係數群組中之該等係數中之至少一者的一係數層級之一剩餘絕對值。
TW103124054A 2013-07-12 2014-07-11 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化 TWI657692B (zh)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US201361845850P 2013-07-12 2013-07-12
US61/845,850 2013-07-12
US201361846512P 2013-07-15 2013-07-15
US61/846,512 2013-07-15
US201361882536P 2013-09-25 2013-09-25
US61/882,536 2013-09-25
US201361898968P 2013-11-01 2013-11-01
US61/898,968 2013-11-01
US201361907693P 2013-11-22 2013-11-22
US61/907,693 2013-11-22
US201361915337P 2013-12-12 2013-12-12
US61/915,337 2013-12-12
US14/327,398 US10021419B2 (en) 2013-07-12 2014-07-09 Rice parameter initialization for coefficient level coding in video coding process
US14/327,398 2014-07-09

Publications (2)

Publication Number Publication Date
TW201513639A TW201513639A (zh) 2015-04-01
TWI657692B true TWI657692B (zh) 2019-04-21

Family

ID=52277089

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103124054A TWI657692B (zh) 2013-07-12 2014-07-11 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化

Country Status (22)

Country Link
US (1) US10021419B2 (zh)
EP (1) EP3020187B1 (zh)
JP (1) JP6445001B2 (zh)
KR (1) KR102315238B1 (zh)
CN (1) CN105474641B (zh)
AU (1) AU2014287132B2 (zh)
BR (1) BR112016000584B1 (zh)
CA (1) CA2913797C (zh)
CL (1) CL2016000022A1 (zh)
DK (1) DK3020187T3 (zh)
ES (1) ES2844549T3 (zh)
HK (1) HK1218595A1 (zh)
HU (1) HUE051740T2 (zh)
MX (1) MX363317B (zh)
MY (1) MY180344A (zh)
PH (1) PH12015502785B1 (zh)
RU (1) RU2676871C2 (zh)
SA (1) SA516370349B1 (zh)
SG (1) SG11201509683VA (zh)
TW (1) TWI657692B (zh)
WO (1) WO2015006602A2 (zh)
ZA (1) ZA201600192B (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9936200B2 (en) 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process
CN105100814B (zh) * 2014-05-06 2020-07-14 同济大学 图像编码、解码方法及装置
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
CN104410863B (zh) 2014-12-11 2017-07-11 上海兆芯集成电路有限公司 图像处理器以及图像处理方法
US10616604B2 (en) * 2015-09-01 2020-04-07 Qualcomm Incorporated Coefficient level coding in video coding
TW201711475A (zh) * 2015-09-02 2017-03-16 矽創電子股份有限公司 哥倫布-萊斯編碼電路與解碼電路
US10372403B2 (en) * 2016-09-15 2019-08-06 Dell Products L.P. Multi-user display collaboration system
WO2018054506A1 (en) * 2016-09-23 2018-03-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transform block coding
GB2559200A (en) 2017-01-31 2018-08-01 Nokia Technologies Oy Stereo audio signal encoder
CN107623850B (zh) * 2017-09-26 2019-11-22 杭州电子科技大学 一种基于时空相关性的快速屏幕内容编码方法
US11412241B2 (en) * 2018-03-06 2022-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Decoding or encoding delta transform coefficients
CN116600141A (zh) * 2018-03-27 2023-08-15 株式会社Kt 对图像进行解码或编码的方法以及图像数据的传送方法
US11336918B2 (en) * 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
CN117201788A (zh) * 2018-09-11 2023-12-08 Lg电子株式会社 图像解码设备、图像编码设备和比特流发送设备
BR112021005558A2 (pt) * 2018-09-24 2021-06-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. aparelho para codificar e decodificar um bloco de coeficientes de transformação, codificador para codificar e decodificador para decodificar um bloco de coeficiente de transformação, método para codificar e decodificar um bloco de coeficientes de transformação, corrente de dados
EP3860126A4 (en) 2018-09-28 2022-03-23 Panasonic Intellectual Property Corporation of America ENCODING DEVICE, DECODING DEVICE, ENCODING METHOD, AND DECODING METHOD
US10951898B2 (en) 2018-10-11 2021-03-16 Lg Electronics Inc. Image decoding method and device using residual information in image coding system
CN116132677A (zh) * 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
US10904548B2 (en) * 2018-12-06 2021-01-26 Qualcomm Incorporated Coefficient processing for video encoding and decoding
CN109874011B (zh) * 2018-12-28 2020-06-09 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
US11477486B2 (en) * 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
US11134273B2 (en) 2019-02-14 2021-09-28 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
KR20210136149A (ko) * 2019-05-21 2021-11-16 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
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 腾讯美国有限责任公司 莱斯参数选择方法、装置、计算机设备及存储介质
US11496745B2 (en) * 2019-06-24 2022-11-08 Qualcomm Incorporated Binarization in transform skip residual coding
US11184642B2 (en) * 2019-08-02 2021-11-23 Mediatek Inc. Methods and apparatus for simplification of coding residual blocks
US20220286691A1 (en) * 2019-08-23 2022-09-08 Lg Electronics Inc. Method and apparatus for deriving rice parameter in video/image coding system
US11265536B2 (en) * 2019-09-23 2022-03-01 Tencent America LLC Method to extend the range of rice parameter for residual coding in transform skip mode
US11470334B2 (en) * 2019-09-23 2022-10-11 Qualcomm Incorporated Rice parameter derivation for lossless/lossy coding modes for video coding
JP7201873B2 (ja) * 2019-09-24 2023-01-10 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 残差及び係数符号化の方法、プログラム並びに装置
US11153577B2 (en) * 2019-10-08 2021-10-19 Qualcomm Incorporated Rice parameter derivation for transform-skip mode used in lossless/lossy video coding
AU2019284053A1 (en) * 2019-12-23 2021-07-08 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
US20210203963A1 (en) * 2019-12-27 2021-07-01 Qualcomm Incorporated Equation-based rice parameter derivation for regular transform coefficients in video coding
KR20220152299A (ko) * 2020-03-12 2022-11-15 인터디지털 브이씨 홀딩스 프랑스 비디오 인코딩 및 디코딩을 위한 방법 및 장치
WO2022066869A1 (en) * 2020-09-23 2022-03-31 Beijing Dajia Internet Information Technology Co., Ltd. Residual and coefficients coding for video coding
EP4315862A1 (en) * 2021-03-29 2024-02-07 Beijing Dajia Internet Information Technology Co., Ltd. Residual and coefficients coding for video coding
CN117356093A (zh) * 2021-06-03 2024-01-05 创峰科技 视频编码中的量化等级二值化
US11871038B2 (en) * 2021-09-29 2024-01-09 Tencent America LLC Techniques for constraint flag signaling for range extension with residual rice coding extension
US11991395B2 (en) * 2021-09-29 2024-05-21 Tencent America LLC Techniques for constraint flag signaling for range extension with rice coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130004092A1 (en) * 2011-06-30 2013-01-03 Hisao Sasai Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US20130058407A1 (en) * 2011-03-08 2013-03-07 Qualcomm Incorporated Coding of transform coefficients for video coding
US20130177070A1 (en) * 2012-01-11 2013-07-11 Qualcomm Incorporated Significance map support for parallel transform coefficient processing in video coding

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
US6735254B2 (en) * 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
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 마이크로소프트 코포레이션 정수 데이터의 무손실 적응 인코딩 및 디코딩을 위한시스템 및 방법
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
KR101511082B1 (ko) * 2008-05-09 2015-04-13 삼성전자주식회사 최하위 비트를 이용한 엔트로피 부호화 방법과 그 장치 및엔트로피 복호화 방법과 그 장치
JP5369973B2 (ja) * 2009-08-03 2013-12-18 日本電気株式会社 データ符号化/復号方法および装置
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
EP3349360B1 (en) 2011-01-14 2019-09-04 GE Video Compression, LLC Entropy encoding and decoding scheme
GB2500347B (en) 2011-05-16 2018-05-16 Hfi Innovation Inc Apparatus and method of sample adaptive offset for luma and chroma components
CN102238387B (zh) 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
CN107517384B (zh) * 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
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编解码方法及装置
US9253508B2 (en) * 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
KR101660605B1 (ko) * 2011-11-08 2016-09-27 구글 테크놀로지 홀딩스 엘엘씨 변환 계수들에 대한 이진 코드워드들을 결정하는 방법
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
EP2999123A1 (en) * 2012-01-20 2016-03-23 GE Video Compression, LLC Transform coefficient coding
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
WO2013152401A1 (en) * 2012-04-13 2013-10-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data
EP2866443A4 (en) 2012-06-22 2016-06-15 Sharp Kk ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US9350998B2 (en) * 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9936200B2 (en) 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130058407A1 (en) * 2011-03-08 2013-03-07 Qualcomm Incorporated Coding of transform coefficients for video coding
US20130004092A1 (en) * 2011-06-30 2013-01-03 Hisao Sasai Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US20130177070A1 (en) * 2012-01-11 2013-07-11 Qualcomm Incorporated Significance map support for parallel transform coefficient processing in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T. Nguyen et al., "Reduced-complexity entropy coding of transform coefficient levels using a combination of VLC and PIPE," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 4th Meeting: Daegu, KR, 20-28 January, 2011 (JCTVC-D336).
T. NGUYEN ET AL: "Reduced-complexity entropy coding of transform coefficient levels using a combination of VLC and PIPE", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 20 January 2011 (2011-01-20) - 28 January 2011 (2011-01-28), Daegu, KR *

Also Published As

Publication number Publication date
US20150016537A1 (en) 2015-01-15
BR112016000584B1 (pt) 2023-04-25
WO2015006602A2 (en) 2015-01-15
US10021419B2 (en) 2018-07-10
PH12015502785A1 (en) 2016-03-21
EP3020187A2 (en) 2016-05-18
KR102315238B1 (ko) 2021-10-19
SA516370349B1 (ar) 2020-08-25
RU2016104528A (ru) 2017-08-17
RU2016104528A3 (zh) 2018-06-20
BR112016000584A2 (zh) 2017-07-25
MX363317B (es) 2019-03-20
AU2014287132B2 (en) 2018-09-06
CA2913797C (en) 2021-11-30
CA2913797A1 (en) 2015-01-15
AU2014287132A1 (en) 2016-02-18
HK1218595A1 (zh) 2017-02-24
TW201513639A (zh) 2015-04-01
CL2016000022A1 (es) 2016-12-09
WO2015006602A3 (en) 2015-03-12
JP2016528796A (ja) 2016-09-15
CN105474641B (zh) 2018-10-26
KR20160032119A (ko) 2016-03-23
CN105474641A (zh) 2016-04-06
JP6445001B2 (ja) 2018-12-26
PH12015502785B1 (en) 2016-03-21
ZA201600192B (en) 2020-08-26
EP3020187B1 (en) 2020-10-21
DK3020187T3 (da) 2021-01-18
SG11201509683VA (en) 2016-01-28
RU2676871C2 (ru) 2019-01-11
MY180344A (en) 2020-11-28
HUE051740T2 (hu) 2021-03-29
MX2016000166A (es) 2016-03-09
ES2844549T3 (es) 2021-07-22

Similar Documents

Publication Publication Date Title
TWI657692B (zh) 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化
CN111357287B (zh) 针对通过时间预测进行的上下文初始化的存储器减小
TWI826519B (zh) 用於係數寫碼之規則寫碼位元子之減少
TWI554082B (zh) 於視訊寫碼處理中用於係數階層寫碼之萊斯(rice)參數更新
CN107667533B (zh) 高级算术译码器
TWI666916B (zh) 在一視訊寫碼處理中之係數階寫碼
US9313498B2 (en) Sign hiding techniques for quantized transform coefficients in video coding
DK2805487T3 (en) Throughput improvement of cabac weighted level coding
US9357185B2 (en) Context optimization for last significant coefficient position coding
KR20190007427A (ko) 인트라 예측 모드들의 이웃 기반의 시그널링
US9491463B2 (en) Group flag in transform coefficient coding for video coding
TW201711467A (zh) 使用一全文自適應二進位算術寫碼設計來寫碼資料
TW201937926A (zh) 在視訊寫碼中用於適應性算術寫碼之機率初始化及發信號
US20130101033A1 (en) Coding non-symmetric distributions of data
US20140003530A1 (en) Sign hiding techniques for quantized transform coefficients in video coding
TWI827662B (zh) 用於係數寫碼之規則寫碼位元子之減少