TWI810707B - 適於相依純量量化之變換係數熵寫碼技術 - Google Patents

適於相依純量量化之變換係數熵寫碼技術 Download PDF

Info

Publication number
TWI810707B
TWI810707B TW110141790A TW110141790A TWI810707B TW I810707 B TWI810707 B TW I810707B TW 110141790 A TW110141790 A TW 110141790A TW 110141790 A TW110141790 A TW 110141790A TW I810707 B TWI810707 B TW I810707B
Authority
TW
Taiwan
Prior art keywords
flag
transform coefficient
transform
flags
quantization
Prior art date
Application number
TW110141790A
Other languages
English (en)
Other versions
TW202234892A (zh
Inventor
希可 史瓦茲
法恩 H T 尼古彥
迪特利夫 馬皮
湯瑪士 威剛德
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 TW202234892A publication Critical patent/TW202234892A/zh
Application granted granted Critical
Publication of TWI810707B publication Critical patent/TWI810707B/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本案描述了用於變換係數區塊寫碼之概念,其實現以適於相依量化且就寫碼效率而言可藉由熵寫碼有效地實施之一方式寫碼一變換區塊之係數。

Description

適於相依純量量化之變換係數熵寫碼技術
本申請案係關於諸如用於寫碼圖像或視訊之變換係數層級之熵寫碼。
在設定量化參數時,編碼器必須進行綜合考慮。粗略呈現量化會降低位元速率,但提高量化失真,而較精細呈現量化會降低失真,但提高位元速率。即將得出針對可用量化層級之給定域提高寫碼效率之概念將為有利的。一個此可能性為使用相依量化,其中量化取決於先前經量化及經寫碼資料而不斷地調適,但量化之相依性亦影響待量化及寫碼之資料項之間的相互關係,且因此影響資訊對於上下文脈絡自適應性熵寫碼之可用性。獲得實現以適於相依量化且就寫碼效率而言可藉由熵寫碼有效地實施之方式寫碼變換區塊之係數的概念將為有利的。
本發明之目標為提供用於寫碼變換係數之區塊的此概念。
此目標係藉由本申請案之獨立請求項之標的物來達成。
根據接下來所描述之實施例,以適於有效實施以及相依量化及諸如上下文自適應性二進位算術寫碼之上下文脈絡自適應性熵寫碼的方式進行變換係數層級之熵寫碼。該等實施例特別有利於在利用相依純量量化之變換寫碼的上下文中對變換係數層級進行熵寫碼。然而,該等實施例在連同習知非相依純量量化一起使用之情況下亦為可用的且有利的。亦即,該等實施例亦適用於在利用習知非相依純量量化之變換寫碼的上下文中對變換係數層級進行熵寫碼。此外,下文中所描述之實施例適用於支援利用相依量化之變換寫碼與利用習知非相依量化之變換寫碼之間的切換(例如,在序列、圖像、圖塊、影像塊或區塊層級上)之編解碼器。
在下文所描述之實施例中,變換寫碼用以變換樣本集合。可實施為相依純量量化或替代地實施為非相依純量量化之量化用以量化所得變換係數,且進行所獲得量化索引之熵寫碼。在解碼器側,經重構樣本之集合係藉由量化索引之熵解碼、變換係數之相依重構(或替代地,非相依重構)及反變換而獲得。相依純量量化與習知非相依純量量化之間的差異在於,對於相依純量量化,變換係數之可容許重構層級之集合取決於在重構次序中先於當前變換係數的所傳輸變換係數層級。此態樣係藉由使用不同可容許重構層級集合之不同機率模型集合而用於熵寫碼中。為了實現高效硬體實施,以多個遍次寫碼與區塊或子區塊之變換係數層級有關的二進位決策(被稱作位元子)。變換係數層級之二進位化及二進位決策(亦被稱作位元子)在多個遍次上之分佈係以在第一遍次中經寫碼之資料唯一地判定下一掃描位置之可容許重構層級之集合的方式選擇。此具有以下優點:可取決於可容許重構層級之集合(對於對應變換係數)選擇第一遍次中之位元子之一部分的機率模型。
以下實施例之描述主要以影像及視訊編解碼器中之預測誤差樣本之區塊的有損寫碼為目標,但實施例亦可應用於有損寫碼之其他區域。特定言之,不存在對形成矩形區塊之樣本集合的限制,且不存在對表示預測誤差樣本(亦即,原始信號與預測信號之間的差)之樣本集合的限制。
諸如國際視訊寫碼標準H.264|MPEG-4 AVC [1]及H.265|MPEG-H HEVC [2]之所有目前先進技術視訊編解碼器皆遵循混合式視訊寫碼之基本方法。將視訊圖像分割成區塊,區塊之樣本係使用圖像內預測或框間預測來預測,且所得預測誤差信號(原始樣本與預測信號樣本之間的差)之樣本係使用變換寫碼進行寫碼。
圖1展示典型現代視訊編碼器之簡化方塊圖。以某一次序對視訊序列之視訊圖像進行寫碼,該次序被稱作寫碼次序。圖像之寫碼次序可不同於捕捉及顯示次序。對於實際寫碼,將各視訊圖像分割成區塊。區塊包含特定色彩分量之矩形區域之樣本。對應於相同矩形區域之所有色彩分量之區塊的實體常常被稱作單元。取決於區塊分割之目的,在H.265|MPEG-H HEVC中,可區分出寫碼樹型區塊(CTB)、寫碼區塊(CB)、預測區塊(PB)與變換區塊(TB)。相關聯單元被稱作寫碼樹型單元(CTU)、寫碼單元(CU)、預測單元(PU),及變換單元(TU)。
通常,視訊圖像最初被分割成固定大小單元(亦即,針對所有色彩分量之經對準之固定大小區塊)。在H.265|MPEG-H HEVC中,此等固定大小單元被稱作寫碼樹型單元(CTU)。各CTU可進一步分裂成多個寫碼單元(CU)。寫碼單元為選定寫碼模式(例如,圖像內或圖像間寫碼)之實體。在H.265|MPEG-H HEVC中,CTU分解成一個或多個CU係藉由四叉樹(QT)語法指定且作為位元串流之部分而傳輸。CTU之CU係以所謂的z掃描次序處理。彼意謂由分裂產生之四個區塊係以光柵掃描次序進行處理;且若區塊中之任一者進一步經分割,則對應四個區塊(包括所包括較小區塊)係在處理較高分裂層級之下一區塊之前進行處理。
若CU係在框內寫碼模式中經寫碼,則傳輸用於明度信號之框內預測模式,且若視訊信號包括色度分量,則傳輸用於色度信號之另一框內預測模式。在ITU-T H.265|MPEG-H HEVC中,若CU大小等於最小CU大小(如序列參數集中所傳信),則明度區塊亦可分裂成四個大小相等區塊,在此狀況下,對於此等區塊中之各者,傳輸單獨明度框內預測模式。實際框內預測及寫碼係基於變換區塊進行。對於經圖像內寫碼CU之各變換區塊,使用同一色彩分量之已經重構樣本導出預測信號。用於產生變換區塊之預測信號的演算法係藉由所傳輸框內預測模式而判定。
在圖像間寫碼模式中寫碼之CU可進一步分裂成多個預測單元(PU)。預測單元為明度之實體,且對於彩色視訊,為使用單一預測參數集之二個相關聯色度區塊(覆蓋同一圖像區域)。CU可經寫碼為單一預測單元,或其可分裂成二個非正方形預測單元(支援對稱及不對稱分裂)或四個正方形預測單元。對於各PU,傳輸個別運動參數集。各運動參數集包括數個運動假設(H.265|MPEG-H HEVC中之一個或二個運動假設),且對於各運動假設,包括參考圖像(經由至參考圖像清單中之參考圖像索引指示)及相關聯運動向量。另外,H.265|MPEG-H HEVC提供所謂的合併模式,其中運動參數並未明確地傳輸,而是基於空間或時間相鄰區塊之運動參數而導出。若CU或PU在合併模式中經寫碼,則僅傳輸至運動參數候選者清單中之索引(此清單係使用空間及時間相鄰區塊之運動資料導出)。該索引完全判定所使用之運動參數集。經框間寫碼之PU之預測信號係藉由運動補償之預測形成。對於各運動假設(藉由參考圖像及運動向量指定),預測信號由指定參考圖像中之位移區塊形成,其中相對於當前PU之位移係由運動向量指定。位移通常藉由子樣本準確度指定(在H.265|MPEG-H HEVC中,運動向量具有四分之一明度樣本之精確度)。對於非整數運動向量,預測信號係藉由內插經重構參考圖像(通常使用可分離FIR濾波器)而產生。利用多假設預測的PU之最終預測信號係由個別運動假設之預測信號之加權和形成。通常,將同一運動參數集用於PU之明度及色度區塊。即使目前先進技術視訊寫碼標準使用平移位移向量來指定當前區域(樣本之區塊)相對於參考圖像之運動,亦有可能採用高階運動模型(例如,仿射運動模型)。在彼狀況下,必須針對運動假設傳輸額外運動參數。
對於經圖像內及圖像間寫碼之CU二者,預測誤差信號(亦被稱作殘差信號)通常經由變換寫碼傳輸。在H.265|MPEG-H HEVC中,CU之明度殘差樣本之區塊以及色度殘差樣本之區塊(若存在)被分割成變換區塊(TB)。CU分割成變換區塊係藉由四叉樹語法指示,該四叉樹語法亦被稱作殘差四叉樹(RQT)。所得變換區塊係使用變換寫碼來進行寫碼:將2d變換應用於殘差樣本之區塊,使用非相依純量量化來量化所得變換係數,且對所得變換係數層級(量化索引)進行熵寫碼。在P及B圖塊中,在CU語法之開頭處,傳輸skip_flag。若此旗標等於1,則其指示對應CU由在合併模式中經寫碼之單一預測單元組成(亦即,推斷merge_flag等於1)且所有變換係數等於零(亦即,重構信號等於預測信號)。在彼狀況下,除skip_flag之外,僅傳輸merge_idx。若skip_flag等於0,則傳信預測模式(框間或框內),繼之以上文所描述之語法特徵。
由於已經寫碼圖像可用於以下圖像中之區塊之運動補償預測,因此圖像必須在編碼器中完全經重構。將區塊之經重構預測誤差信號(藉由重構給定量化索引之變換係數及反變換而獲得)添加至對應預測信號且將結果寫入至當前圖像之緩衝區。在圖像之所有區塊經重構之後,可應用一或多個迴路內濾波器(例如,解塊濾波器及樣本自適應性偏移濾波器)。接著將最終經重構圖像儲存於經解碼圖像緩衝區中。
下文所描述之實施例呈現變換寫碼之概念,諸如預測誤差信號之變換寫碼。該概念適用於圖像內及圖像間寫碼區塊二者。其亦適用於非矩形樣本區之變換寫碼。與習知變換寫碼相比,根據下文所描述之實施例,變換係數並非經非相依地量化。其至少適用於使用相依量化來量化。根據相依量化,特定變換係數之可用重構層級之集合取決於其他變換係數之所選量化索引。下文描述對量化索引之熵寫碼之修改,此提高了寫碼效率且維持了與相依純量量化組合之能力。
所有主要視訊寫碼標準(包括目前先進技術標準H.265|MPEG-H HEVC)皆利用變換寫碼之概念以對預測誤差樣本之區塊進行寫碼。區塊之預測誤差樣本表示原始信號之樣本與區塊之預測信號之樣本之間的差。預測信號係藉由圖像內預測(在此狀況下當前區塊之預測信號之樣本係基於同一圖像內部之相鄰區塊之已經重構樣本而導出)或藉由圖像間預測(在此狀況下預測信號之樣本係基於已經重構圖像之樣本而導出)而獲得。原始預測誤差信號之樣本係藉由自當前區塊之原始信號之樣本值減去預測信號之樣本值而獲得。
樣本區塊之變換寫碼可由量化索引之線性變換、純量量化及熵寫碼組成。在編碼器側(參見圖2a),使用線性分析變換 A 變換原始樣本之N×M區塊。結果為變換係數之N×M區塊。變換係數 t k表示不同信號空間(或不同座標系)中之原始預測誤差樣本。N×M變換係數係使用N×M非相依純量量化器來進行量化。各變換係數 t k映射至量化索引 q k,該量化索引亦被稱作變換係數層級。所獲得之量化索引 q k經熵寫碼且寫入至位元串流。
在圖2b中所描繪之解碼器側,自所接收之位元串流解碼變換係數層級 q k。各變換係數層級 q k映射至經重構變換係數 t ' k。經重構樣本之N×M區塊係藉由使用線性合成變換 B 變換經重構變換係數之區塊而獲得。
即使視訊寫碼標準僅指定合成變換 B ,慣例亦為將合成變換 B 之反變換用作編碼器中之分析變換 A ,亦即, 。此外,實際視訊寫碼系統中所使用之變換表示正交變換( )或接近正交的變換。對於正交變換,信號空間中之均方誤差(MSE)失真等於變換域中之MSE失真。正交性具有以下重要優點:可使用非相依純量量化器使原始樣本區塊與經重構樣本區塊之間的MSE失真最小化。即使用於編碼器中之實際量化程序考慮了變換係數層級(由以上熵寫碼描述介紹)之間的相依性,正交變換之使用亦顯著簡化了量化演算法。
對於典型預測誤差信號,變換具有以下效應:信號能量集中於若干變換係數中。相比於原始預測誤差樣本,所得變換係數之間的統計相依性降低。
在目前先進技術視訊寫碼標準中,使用可分離離散餘弦變換(II型)或其整數近似。然而,變換可易於替換而不會修改變換寫碼系統之其他態樣。文獻或標準化文件中已提出之改良之實例包括: ‧用於經圖像內預測區塊之離散正弦變換(DST)之使用(有可能取決於框內預測模式及/或區塊大小)。應注意,H.265|MPEG-H HEVC已包括用於經圖像內預測之4×4變換區塊之DST。 ‧切換變換:編碼器在一組預定義變換當中選擇實際上使用之變換。可用變換之集合為編碼器及解碼器二者所已知,使得其可使用至可用變換清單中之索引高效地傳信。可用變換之集合及其在清單中之排序可取決於區塊之其他寫碼參數,諸如所選框內預測模式。在特殊狀況下,藉由諸如框內預測模式之寫碼參數完全判定所使用之變換,使得無需傳輸用於指定變換之語法元素。 ‧不可分離變換:編碼器及解碼器中所使用之變換表示不可分離變換。應注意,切換變換之概念可包含一或多個不可分離變換。歸因於複雜度原因,不可分離變換之使用可能受限於某些區塊大小。 ‧多層級變換:實際變換由二個或更多個變換階段構成。第一變換階段可由在計算上複雜度低的可分離變換組成。且在第二階段中,使用不可分離變換進一步變換所得變換係數之子集。相較於用於整個變換區塊之不可分離變換,雙階段方法具有以下優點:將較複雜的不可分離變換應用於較少數目之樣本。多層級變換之概念可與切換變換之概念高效地組合。
使用純量量化器來量化變換係數。作為量化之結果,變換係數之容許值之集合減小。換言之,變換係數映射至所謂的重構層級之可計數集合(實際上,有限集合)。重構層級之集合表示可能變換係數值之集合的恰當子集。為了簡化以下熵寫碼,可容許重構層級由量化索引(亦被稱作變換係數層級)表示,該等量化索引作為位元串流之部分而傳輸。在解碼器側,量化索引(變換係數層級)映射至經重構變換係數。經重構變換係數之可能值對應於重構層級之集合。在編碼器側,純量量化之結果為變換係數層級(量化索引)之區塊。
在目前先進技術視訊寫碼標準中,使用均一重構量化器(URQ)。其基本設計說明於圖3中。URQ具有以下性質:重構層級相等地間隔開。二個相鄰重構層級之間的距離Δ被稱作量化步長。重構層級中之一者等於0。因此,可用重構層級之完整集合係由量化步長Δ唯一地指定。量化索引 q至經重構變換係數 t '之解碼器映射原則上由以下簡單公式給定
在此上下文中,術語「非相依純量量化」係指以下性質:在給定任何變換係數之量化索引 q之情況下,可獨立於其他變換係數之所有量化索引而判定相關聯經重構變換係數 t '
由於視訊解碼器通常利用具有標準精確度(例如,32位元)之整數算術,因此標準中所使用之實際公式可略微不同於簡單乘法。當忽略對變換係數之所支援動態範圍的截割(clipping)時,藉由下式獲得H.265|MPEG-H HEVC中之經重構變換係數 , 其中運算子「<<」及「>>」分別表示向左及向右之位元移位。當忽略整數算術時,量化步長 對應於以下項:
諸如H.262|MPEG-2 Video之早期視訊寫碼標準亦指定經修改URQ,由此重構層級零與第一非零重構層級之間的距離相對於標稱量化步長增加(例如,增加至標稱量化步長 之二分之三)。
變換係數之量化步長(或尺度及移位參數)係由以下二個因子判定: ‧量化參數QP:量化步長可通常基於區塊進行修改。出於彼目的,視訊寫碼標準提供量化步長之預定義集合。所使用之量化步長(或等效地,上文介紹之參數「尺度」及「移位」)係使用至量化步長之預定義清單中的索引來指示。該索引被稱作量化參數(QP)。在H.265|MPEG-H HEVC中,QP與量化步長之間的關係大致由下式給定
圖塊QP通常在圖塊標頭中傳輸。一般而言,有可能基於區塊修改量化參數QP。出於彼目標,可傳輸差量量化參數(DQP)。所使用量化參數係藉由所傳輸DQP及經預測QP值判定,該經預測QP值係使用已經寫碼(通常相鄰)區塊之QP導出。
量化加權矩陣:視訊寫碼標準通常提供針對個別變換係數使用不同量化步長之可能性。此係藉由指定所謂的量化加權矩陣 w 來達成,該等量化加權矩陣可通常在序列或圖像層級上由編碼器選擇,且作為位元串流之部分而傳輸。量化加權矩陣 w 具有與變換係數之對應區塊相同的大小。變換係數 之量化步長 由下式給定 , 其中 表示所考慮區塊之量化步長(由區塊量化參數QP指示), ik表示指定變換區塊內部之當前變換係數的座標,且 表示量化加權矩陣 w 中之對應輸入項。
量化加權矩陣之主要意圖為提供用於以在感知上有意義的方式引入量化雜訊之可能性。藉由使用適當加權矩陣,可利用人類視覺之空間對比敏感性來達成位元速率與主觀重構品質之間的較佳權衡。儘管如此,許多編碼器使用所謂的平坦量化矩陣(其可使用高層級語法元素高效地傳輸)。在此狀況下,針對區塊中之所有變換係數使用相同量化步長 。接著藉由量化參數QP完全指定量化步長。
變換係數層級(變換係數之量化索引)之區塊經熵寫碼(亦即,其以無損方式作為位元串流之部分而傳輸)。由於線性變換僅可降低線性相依性,因此通常以可採用區塊中變換係數層級之間的剩餘非線性相依性以用於高效寫碼的方式設計對變換係數層級之熵寫碼。熟知實例為MPEG-2 Video中之運行層級(run-level)寫碼、H.263及MPEG-4 Visual中之運行層級最末(run-level-last)寫碼、H.264|MPEG-4 AVC中之上下文脈絡自適應性可變長度寫碼(CAVLC),及H.264|MPEG-4 AVC及H.265|MPEG-H HEVC中之基於上下文之自適應性二進位算術寫碼(CABAC)。
目前先進技術視訊寫碼標準H.265|MPEG-H HEVC中指定之CABAC遵循可應用於各種變換區塊大小之通用概念。大於4×4樣本之變換區塊經分割成4×4子區塊。圖4a及圖4b中說明16×16變換區塊之實例之分割。圖4a中所展示之4×4子區塊的寫碼次序以及圖4b中所展示之子區塊內部之變換係數層級的寫碼次序大體上藉由圖式中所展示之反向對角線掃描指定。對於某些經圖像內預測區塊,使用水平或豎直掃描模式(取決於實際框內預測模式)。寫碼階數始終以高頻率位置開始。
在H.265|MPEG-H HEVC中,基於4×4子區塊傳輸變換係數層級。變換係數層級之無損寫碼包括以下步驟: 1. 傳輸語法元素coded_block_flag,其傳信變換區塊中是否存在任何非零變換係數層級。若coded_block_flag等於0,則不進一步針對變換區塊對資料進行寫碼。 2. 傳輸寫碼次序(例如,圖4中所說明之逐區塊反向對角線掃描次序)中之第一非零變換係數層級之x及y座標。將座標之傳輸分裂成首碼及尾碼部分。標準使用語法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix,及last_sig_coeff_x_suffix。 3. 以含有寫碼次序中之第一非零變換係數層級的4×4子區塊開始,以寫碼次序處理4×4子區塊,其中子區塊之寫碼包括以下主要步驟: a. 傳輸語法元素coded_sub_block_flag,其指示子區塊是否含有任何非零變換係數層級。對於第一及最末4×4子區塊(亦即,含有第一非零變換係數層級或DC層級之子區塊),不傳輸此旗標但推斷其等於一。 b. 對於coded_sub_block_flag等於一之子區塊內部之所有變換係數層級,語法元素significant_coeff_flag指示對應變換係數層級是否不等於零。若無法基於已經傳輸資料推斷此旗標之值,則僅傳輸此旗標。特定言之,若DC係數位於與第一非零係數(以寫碼次序)不同的子區塊中且最末子區塊之所有其他significant_coeff_flag等於零,則不針對第一重要掃描位置(由經傳輸x及y座標指定)傳輸旗標且不針對DC係數傳輸旗標。 c. 對於significant_coeff_flag等於一(若存在)之前八個變換係數層級,傳輸旗標coeff_abs_level_greater1_flag。其指示變換係數層級之絕對值是否大於一。 d. 對於coeff_abs_level_greater1_flag等於一(若存在)之第一變換係數層級,傳輸旗標coeff_abs_level_greater2_flag。其指示變換係數層級之絕對值是否大於二。 e. 對於significant_coeff_flag等於一之所有層級(例外狀況描述於下文中),傳輸語法元素coeff_sign_flag,其指定變換係數層級之符號。 f.  對於絕對值尚未完全由significant_coeff_flag、coeff_abs_level_greater1_flag及coeff_abs_level_greater2_flag之值指定(若經傳輸旗標中之任一者等於零,則絕對值完全經指定)的所有變換係數層級,使用多層級語法元素coeff_abs_level_remaining傳輸絕對值之餘數。
在H.265|MPEG-H HEVC中,所有語法元素均使用基於上下文之自適應性二進位算術寫碼(CABAC)進行寫碼。所有非二進位語法元素首先映射至一系列二進位決策上,該等二進位決策亦被稱作位元子。所得位元子序列係使用二進位算術寫碼進行寫碼。出於彼目標,各位元子與機率模型(二進位機率質量函數)相關聯,該機率模型亦被稱作上下文脈絡。對於大部分位元子,上下文脈絡表示自適應性機率模型,此意謂相關聯二進位機率質量函數係基於實際上經寫碼之位元子值而更新。可藉由基於已經傳輸資料針對某些位元子切換上下來利用條件機率。CABAC亦包括所謂的旁路模式,在旁路模式中使用固定機率質量函數(0.5, 0.5)。
針對coded_sub_block_flag之寫碼選擇的上下文取決於已經寫碼之相鄰子區塊之coded_sub_block_flag之值。significant_coeff_flag之上下文係基於子區塊內部之掃描位置(x及y座標)、變換區塊之大小,及相鄰子區塊中coded_sub_block_flag之值而選擇。對於旗標coeff_abs_level_greater1_flag及coeff_abs_level_greater2_flag,上下文選擇取決於當前子區塊是否包括DC係數及是否已經針對相鄰子區塊傳輸等於一之任何coeff_abs_level_greater1_flag。對於coeff_abs_level_greater1_flag,上下文選擇進一步取決於子區塊之已經寫碼之coeff_abs_level_greater1_flag's之數目及值。
符號coeff_sign_flag及絕對值之餘數coeff_abs_level_remaining係在二進位算術寫碼器之旁路模式中進行寫碼。為了將coeff_abs_level_remaining映射至位元子(二進位決策)之序列上,使用自適應性二進位化方案。二進位化由單一參數控制,該參數係基於子區塊之已經寫碼值而調適。
H.265| MPEG-H HEVC亦包括所謂的符號資料隱藏模式,在符號資料隱藏模式中(在某些條件下),省略用於子區塊內部之彼最末非零層級之符號的傳輸。替代地,用於此層級之符號嵌入於對應子區塊之層級的絕對值之總和之同位中。應注意,編碼器必須在判定適當變換係數層級時考慮此態樣。
視訊寫碼標準僅指定位元串流語法及重構程序。若考慮針對原始預測誤差樣本之給定區塊及給定量化步長之變換寫碼,則編碼器具有較高自由度。在給定變換區塊之量化索引 之情況下,熵寫碼必須遵循用於將資料寫入至位元串流(亦即,建構算術碼字)之唯一界定演算法。但給定預測誤差樣本之原始區塊之用於獲得量化索引 之編碼器演算法在視訊寫碼標準範疇之外。此外,編碼器能夠基於區塊自由選擇量化參數QP。對於以下描述,假定給定量化參數QP及量化加權矩陣。因此,各變換係數之量化步長係已知的。進一步假定編碼器執行分析變換,該分析變換為用於獲得原始變換係數 之指定合成變換之反變換(或反變換之極接近近似)。即使在此等條件下,編碼器亦能夠針對各原始變換係數 自由選擇量化器索引 。由於變換係數層級之選擇判定失真(或重構/近似品質)及位元速率二者,因此所使用之量化演算法對所產生之位元串流之速率-失真效能具有實質影響。
最簡單的量化方法將原始變換係數 捨入至最接近重構層級。對於通常使用之URQ,可根據下式判定對應量化索引 , 其中sgn()為符號函數,且運算子 返回小於或等於其自變量之最大整數。此量化方法保證MSE失真 經最小化,但其完全忽略了傳輸所得變換係數層級 所需之位元速率。通常,若捨入朝向零偏置,則獲得較佳結果:
若量化程序使拉格朗日函數 最小化,則獲得速率-失真感測中之最佳結果,其中 D表示變換區塊之失真(例如,MSE失真), R指定傳輸區塊之變換係數層級所需的位元之數目,且 為拉格朗日乘數。 對於使用QP與量化步長之間的關係式 之編解碼器(諸如H.264 | MPEG-4 AVC或H.265 | MPEG-H HEVC),常常使用拉格朗日乘數 與量化參數QP之間的以下關係式 其中 表示圖塊或圖像之常數因子。
旨在使失真及速率之拉格朗日函數 最小化之量化演算法亦被稱作速率-失真最佳化量化(RDOQ)。若使用MSE或加權MSE量測失真,則應以使得以下成本度量最小化之方式判定變換區塊之量化索引
此處,變換係數索引 k指定變換係數層級之寫碼次序(或掃描次序)。項 表示傳輸量化索引 所需的位元之數目(或其估計值)。條件說明(歸因於組合或條件機率之使用),特定變換係數層級 之位元之數目通常取決於寫碼次序中之在前變換係數層級 等之所選值。上式中之因子 可用於對個別變換係數之貢獻進行加權,例如用於模型化人類視覺之對比敏感性。在下文中,通常假定所有加權因子 皆等於1 (但可以可考慮不同加權因子之方式直接修改演算法)。
對於H.265|MPEG-H HEVC中之變換係數寫碼,速率項之準確計算非常複雜,此係由於大部分二進位決策係使用自適應性機率模型進行寫碼。但若忽略機率模型選擇之一些態樣且忽略機率模型在變換區塊內部經調適,則有可能設計複雜度合理的RDOQ演算法。以H.265|MPEG-H HEVC之參考軟體實施之RDOQ演算法由以下基本處理步驟組成: 1. 對於各掃描位置 k,藉由在層級未被推斷為等於零之假定下使拉格朗日成本 最小化來選擇變換係數層級 表示經加權均方誤差 ,且 表示傳輸 所需之位元之數目的估計值。 2. 藉由比較以下二個狀況之拉格朗日成本來判定4×4子區塊之旗標coded_sub_block_flag:(a)使用在步驟1中所選擇之變換係數層級;(b)將語法元素coded_sub_block_flag設定為等於零,且因此將4×4子區塊之所有變換係數層級皆設定為等於零。 3. 藉由比較拉格朗日成本來判定第一非零變換係數層級之位置,拉格朗日成本係藉由選擇非零變換係數層級中之一者(在步驟2之後)作為寫碼次序中之第一非零變換係數層級而獲得(將在前變換係數層級設定為等於零)。 4. 藉由比較在步驟3及變換區塊內部之所有變換係數層級皆設定為等於零之狀況之後所獲得的變換係數層級之序列的拉格朗日成本來判定coded_block_flag。
在[3]中,提出用於變換寫碼之經修改概念,其在下文中更詳細地描述。相對於習知變換寫碼之主要改變為變換係數並未經非相依地量化及重構。替代地,變換係數之可容許重構層級取決於針對重構次序中之在前變換係數所選擇的量化索引。將相依純量量化之概念與經修改熵寫碼組合,其中變換係數之機率模型選擇(或替代地,碼字表選擇)取決於可容許重構層級之集合。
變換係數之相依量化之優點在於可容許重構向量更密集地封裝於 N維信號空間中(其中 N表示變換區塊中樣本或變換係數之數目)。變換區塊之重構向量係指變換區塊之經定序重構變換係數(或替代地,經定序重構樣本)。圖5a及圖5b中針對二個變換係數之最簡單狀況說明此效應。圖5a展示用於非相依純量量化之可容許重構向量(其表示2d平面中之點)。如可見,第二變換係數 之可容許值之集合不取決於第一經重構變換係數 之所選值。圖5b展示相依純量量化之實例。應注意,相比於非相依純量量化,第二變換係數 之可選擇重構值取決於第一變換係數 之所選重構層級。在圖5b之實施例中,針對第二變換係數 存在二個不同可用重構層級集合(由不同色彩說明)。若第一變換係數 之量化索引為偶數(…,-2,0,2,…),則可針對第二變換係數 選擇第一集合(藍色點)之任何重構層級。且若第一變換係數 之量化索引為奇數(…,-3,-1,1,3,…),則可針對第二變換係數 選擇第二集合(紅色點)之任何重構層級。在實例中,將第一集合及第二集合之重構層級移位一半量化步長(第二集合之任何重構層級位於第一集合之二個重構層級之間)。
變換係數之相依純量量化具有以下效應:對於各 N維單位體積之給定平均數目之重構向量,變換係數之給定輸入向量與最接近的可用重構向量之間的距離之預期值減小。因此,對於給定平均數目之位元,變換係數之輸入向量與重構變換係數之向量之間的平均失真可減小。在向量量化中,此效應被稱作空間填充增益。在針對變換區塊使用相依純量量化之情況下,可利用高維向量量化之潛在空間填充增益之主要部分。且,相比於向量量化,重構程序(或解碼程序)之實施複雜度與利用非相依純量量化器之習知變換寫碼之複雜度相當。
圖6中說明利用相依純量量化之變換解碼器之方塊圖。主要改變係關於通向自上而下指向之箭頭的相依量化。如此等豎直箭頭所指示,在重構次序索引 之情況下,經重構變換係數 不僅取決於相關聯量化索引 ,且亦取決於重構次序中之先前變換係數的量化索引 。應注意,在相依量化中,必須唯一地定義變換係數之重構次序。若在熵寫碼中亦利用關於與量化索引 相關聯之重構層級集合的知識,則可改良總體變換編解碼器之效能。彼意謂基於適用於變換係數之重構層級集合而切換上下文(機率模型)或碼字表係有利的。
如在習知變換寫碼中,除分析變換以外,根據本文中概述之實施例的變換編碼亦涉及量化演算法及熵寫碼。通常使用合成變換之反變換(或反變換之接近近似)作為分析變換,且在給定熵解碼程序之情況下通常唯一地指定熵寫碼。但,類似於在習知變換寫碼中,在給定原始變換係數之情況下,存在用於選擇量化索引之較高自由度。
變換係數之相依量化係指以下概念:變換係數之可用重構層級之集合取決於針對重構次序中之在前變換係數所選的量化索引(在同一變換區塊內部)。在重構層級之二個預定義集合中選擇當前變換係數之可容許重構層級之集合(基於寫碼次序中之在前變換係數的量化索引)。
類似於對於習知非相依純量量化,基於區塊之量化參數(QP)判定量化步長Δ (或如上文所描述之對應尺度及移位參數),且所有重構層級(在所有重構層級集合中)表示量化步長Δ之整數倍。但各重構層級集合僅包括量化步長Δ之整數倍之子集。所有重構層級集合之所有可能重構層級表示量化步長之整數倍的相依量化之此組態可被視為均一重構量化器(URQ)之擴展。其基本優點在於經重構變換係數可藉由具有極低計算複雜度之演算法計算。
不僅可藉由區塊量化參數QP判定特定變換係數 之量化步長 (其中 k指示重構次序),且亦有可能藉由量化加權矩陣及區塊量化參數判定特定變換係數 之量化步長 。通常,特定變換係數 之量化步長 係由變換係數 之加權因子 (由量化加權矩陣指定)與區塊量化步長 (由區塊量化參數指定)之乘積給定,
應注意,歸因於整數實施或其他實施態樣,經重構變換係數 之實際計算(重構層級之實際計算)可略微偏離理想乘法。使 為特定變換係數 之量化步長且使 指定量化步長之標稱整數因子(例如,由量化索引 給定)。在理想乘法之情況下,經重構變換係數 由下式給定
歸因於對整數實施之限制,經重構變換係數 (或對應重構層級)實際上可根據下式 。 或相似程序進行判定。若在以下描述中提及量化步長之整數倍,則對應文本亦適用於類似於上文指定之近似值的整數近似值。
[3]中所提出之變換係數之相依純量量化使用重構層級之二個不同集合,且變換係數 之二個集合之所有重構層級表示此變換係數之量化步長 之整數倍(其至少部分地由基於區塊之量化參數判定)。應注意,量化步長 僅表示二個集合中之可容許重構值之比例因子。除了變換區塊內部之不同變換係數 之可能個別量化步長 (及因此個別比例因子)之外,相同的二個重構層級集合用於所有變換係數。
在圖7中,說明二個重構層級集合t之較佳組態。含於第一量化集合(在圖式中標註為集合0)中之重構層級表示量化步長之偶整數倍。第二量化集合(在圖式中標註為集合1)含有量化步長之所有奇整數倍且另外含有等於零之重構層級。應注意,二個重構集合圍繞零對稱。二個重構集合中含有等於零之重構層級,否則重構集合不相交。二個重構集合之並集含有量化步長之所有整數倍。
編碼器在可容許重構層級當中選擇之重構層級係在位元串流內部傳輸。如在習知非相依純量量化中,此可使用所謂的量化索引來達成,量化索引亦被稱作變換係數層級。量化索引(或變換係數層級)為唯一地識別量化集合內部(亦即,重構層級集合內部)之可用重構層級的整數。將量化索引作為位元串流之部分發送至解碼器(使用任何熵寫碼技術)。在解碼器側,可基於重構層級之當前集合(其藉由寫碼/重構次序中之在前量化索引判定)及當前變換係數之所傳輸量化索引唯一地計算經重構變換係數。
量化索引至重構層級集合(或量化集合)內部之重構層級的指派可遵循如在圖7中可見之以下規則:將等於0之量化索引指派至等於0之重構層級。將等於1之量化索引指派至大於0之最小重構層級,將等於2之量化索引指派至大於0之下一重構層級(亦即,大於0之第二小的重構層級),等。或者,換言之,將大於0之重構層級以其值之遞增次序用大於0之整數(亦即,1、2、3等)標註。類似地,將量化索引−1指派至小於0之最大重構層級,將量化索引−2指派至小於0之下一個(亦即,第二大的)重構層級,等。或者,換言之,將小於0之重構層級以其值之遞減次序藉由小於0之整數(亦即,−1、−2、−3等)標註。變換係數之重構程序可類似於圖8之偽碼中所指定之演算法而實施。
在圖8之偽碼中,level[k]表示針對變換係數 所傳輸之量化索引,且setId[k] (等於0或1)指定當前重構層級集合之識別符(其係基於重構次序中之先前量化索引而判定,如將在下文更詳細地描述)。變數n表示由量化索引level[k]及集合識別符setId[k]給定之量化步長之整數倍。若使用含有量化步長 之偶整數倍之第一重構層級集合對變換係數進行寫碼(setId[k]==0),則變數n為所傳輸量化索引之兩倍。若使用第二重構層級集合對變換係數進行寫碼(setId[k] == 1),則存在以下三個狀況:(a)若level[k]等於0,則n亦等於0;(b)若level[k]大於0,則n等於量化索引level[k]之兩倍減去1;及(c)若level[k]小於0,則n等於量化索引level[k]之兩倍加上1。此可使用以下符號函數來指定:
接著,若使用第二量化集合,則變數n等於量化索引level[k]之兩倍減去量化索引之符號函數sign(level[k])。
一旦判定了變數n (指定量化步長之整數因子),則藉由將n與量化步長 相乘來獲得經重構變換係數
如上文所提及,經重構變換係數 可藉由整數近似獲得,而非與量化步長 精確相乘。此說明於圖9中之偽碼中。此處,變數移位表示向右的位元移位。其值通常僅取決於區塊之量化參數(但移位參數可針對區塊內部之不同變換係數改變亦係可能的)。變數scale[k]表示變換係數 之縮放因子;除區塊量化參數以外,其亦可例如取決於量化加權矩陣之對應輸入項。變數「add」指定捨入偏移,其通常被設定為等於add = (1<<(shift-1))。應注意,除了捨入之外,圖9之偽碼(最末行)中所之指定的整數算術等效於與由下式給定之量化步長 相乘
圖9中相對於圖8之另一(僅外觀)改變為,使用三進位if-then-else運算子( a ? b : c )來實施二個重構層級集合之間的切換,此運算子自諸如C程式設計語言之程式設計語言已知。
除上文所論述之重構層級集合之選擇以外,變換寫碼中之相依純量量化中之另一任務為用於在經定義量化集合(重構層級集合)之間進行切換之演算法。所使用之演算法判定可在變換係數之 N維空間中(及因此,亦在經重構樣本之 N維空間中)達成之「封裝密度」。較高封裝密度最終致使寫碼效率提高。
在[3]中所呈現之概念中,基於量化集合之分割而判定下一變換係數之重構層級集合,如圖10中所說明。將二個量化集合中之各者分割成二個子集。將第一量化集合(標註為集合0)分割成二個子集(標註為A及B),且亦將第二量化集合(標註為集合1)分割成二個子集(標註為C及D)。在圖7及圖10中,量化集合分割成子集係由空心圓及實心圓指示。以下分割規則適用: ‧ 子集 A由量化集合0之所有偶數量化索引組成; ‧ 子集 B由量化集合0之所有奇數量化索引組成; ‧ 子集 C由量化集合1之所有偶數量化索引組成; ‧ 子集 D由量化集合1之所有奇數量化索引組成;
所使用之子集未在位元串流內部明確地指示。替代地,其可基於所使用之量化集合(例如,集合0或集合1)及實際上傳輸之量化索引而導出。子集可由所傳輸量化索引層級與1之逐位元「與(and)」運算導出。子集A由(level&1)等於0之集合0之所有量化索引組成,子集B由(level&1)等於1之集合0之所有量化索引組成,子集C由(level&1)等於0之集合1之所有量化索引組成,且子集D由(level&1)等於1之集合1之所有量化索引組成。
量化集合(集合0及集合1)之間的轉換由狀態變數表示;該狀態變數具有四個可能值(0、1、2、3)。一方面,狀態變數指定用於當前變換係數之量化集合。當且僅當狀態變數等於0或1時,使用量化集合0,且當且僅當狀態變數等於2或3時,使用量化集合1。另一方面,狀態變數亦指定量化集合之間的可能轉換。表1展示所使用之狀態轉換表。在給定當前狀態之情況下,其指定當前變換係數之量化集合(第二行)。其進一步基於與所選量化索引相關聯之路徑指定狀態轉換(若給定量化集合,則路徑指定所使用之子集A、B、C或D)。在重構區塊之變換係數時,其足以更新狀態變數且判定所使用之量化索引之路徑。
當前狀態 當前係數之量化集合 下一狀態
路徑0 路徑1
0 0 0 2
1 0 2 0
2 1 1 3
3 1 3 1
表1:具有4個狀態之組態之狀態轉換表的較佳實例。
路徑由量化索引之同位給定。在 為當前量化索引之情況下,其可根據下式進行判定 , 其中運算子&表示二補碼整數算術中之逐位元「與」。
使用狀態轉換之概念,藉由先前狀態(以重構次序)及先前量化索引,諸如其在本實例中之同位,唯一地判定當前狀態及因此當前量化集合。變換區塊之第一狀態被設定為等於0。
用於相依純量量化之狀態轉換概念允許用於在解碼器中重構變換係數之低複雜度實施。單一變換區塊之變換係數之重構程序的較佳實例使用C-樣式偽碼展示於圖11中。
在圖11之偽碼中,索引 k指定變換係數之重構次序。應注意,在實例程式碼中,索引 k以重構次序減小。最末變換係數具有等於 k= 0之索引。第一索引 kstart指定第一經重構變換係數之重構索引(或更準確地,反重構索引)。變數 kstart可設定為等於變換區塊中變換係數之數目減去1,或其可設定為等於寫碼/重構次序中之第一非零量化索引之索引(例如,若以所應用之熵寫碼方法傳輸第一非零量化索引之位置)。在後一狀況下,推斷所有在前變換係數(其中索引 kkstart)等於0。各單一變換係數之重構程序與圖9之實例中之重構程序相同。對於圖9中之實例,量化索引由level[k]表示,且相關聯經重構變換由trec[k]表示。狀態變數由狀態表示。應注意,在圖11之實例中,狀態在變換區塊之開頭處設定為等於0。1d表格setId[]指定與狀態變數之不同值相關聯的量化集合,且2d表格state_trans_table[][]指定給定當前狀態(第一自變量)及路徑(第二自變量)之狀態轉換。路徑由量化索引之同位給定(使用逐位元及運算子&)。
可使用簡單算術運算而非表setId[];例如,向右的位元移位: setId[ state ] = state >> 1 類似地,亦可使用簡單算術運算來實施表state_trans_table[][]。例如, state_trans_table[ state ][ path ] = ( 32040 >> ( ( state << 2 ) + ( path << 1 ) ) ) & 3
此處,由16-位元值「32040」給出完整狀態轉換表。應注意,藉由用「0」替換值「32040」,可易於在相依量化與非相依量化之間進行切換。值「0」表示始終選擇狀態0且因此選擇習知均一重構量化器Q0之狀態轉換表。
相依量化中之狀態轉換亦可使用網格結構表示,如圖12中所說明。此圖中所展示之網格對應於表1中所指定之狀態轉換。對於各狀態,存在連接當前變換係數之狀態與重構次序中之下一變換係數之二個可能狀態的二個路徑。該等路徑用路徑0及路徑1標註,此編號對應於上文所介紹之路徑變數(對於路徑變數等於量化索引之同位的較佳實施例)。應注意,各路徑唯一地指定量化索引之子集(A、B、C或D)。在圖12中,在圓括號中指定子集。在給定初始狀態(狀態0)之情況下,藉由所傳輸之量化索引唯一地指定通過網格之路徑。
舉例而言,在圖12中,狀態(0、1、2及3)具有以下性質: ‧ 狀態 0:先前量化索引level[k-1]指定集合0之重構層級,且當前定量索引level[k]指定集合0之重構層級。 ‧ 狀態 1:先前量化索引level[k-1]指定集合1之重構層級,且當前定量索引level[k]指定集合0之重構層級。 ‧ 狀態 2:先前量化索引level[k-1]指定集合0之重構層級,且當前定量索引level[k]指定集合1之重構層級。 ‧ 狀態 0:先前量化索引level[k-1]指定集合1之重構層級,且當前定量索引level[k]指定集合1之重構層級。
網格由一系列所謂的基本網格胞元組成。基本網格胞元展示於圖13中。
如上文所概述之相依純量量化之態樣為,針對變換係數存在不同的可容許重構層級集合(亦被稱作量化集合)。基於在前變換係數之量化索引之值而判定當前變換係數之量化集合。若比較二個量化集合,則顯而易見的是,相比於集合1中之情況,在集合0中,等於零之重構層級與相鄰重構層級之間的距離更大。因此,若使用集合0,則量化索引等於0之機率較大,且若使用集合1,則該機率較小。對於高效寫碼,藉由基於用於當前量化索引之量化集合(或狀態)切換機率模型而將此態樣用於熵寫碼。
應注意,為了合適地切換機率模型,當對當前量化索引(或當前量化索引之對應二進位決策)進行熵解碼時,所有在前量化索引之路徑(與所使用量化集合之子集相關聯)必須已知。出於彼目的,在[3]中所提出之編解碼器中,以重構次序對變換係數進行寫碼。使用類似於H.264|MPEG-4 AVC或H.265|MPEG-H HEVC之二進位算術寫碼對量化索引進行寫碼。非二進位量化索引首先映射至一系列二進位決策(其通常被稱作位元子)上。量化索引作為絕對值傳輸且在絕對值大於0之情況下作為符號傳輸。
類似地,對於HEVC,基於子區塊對變換區塊之變換係數層級進行寫碼。首先,傳輸旗標coded_block_flag,其指定變換區塊是否含有任何非零變換係數層級。若coded_block_flag等於0 (亦即,區塊不含有任何非零層級),則不針對變換區塊傳輸另外資訊。否則(coded_block_flag等於1),以下適用: ‧寫碼次序中之第一非零層級的x及y座標。如圖14中所說明,第一非零層級之所傳輸位置指定,推斷在寫碼次序中先於經識別係數的所有變換係數(在圖14中經白色標記)等於零。僅針對指定位置處之係數(在圖14中經黑色標記)及寫碼次序中在此係數之後的係數(在圖14中經陰影標記)傳輸另外資料。圖14中之實例展示具有4×4子區塊之16×16變換區塊;所使用之寫碼次序為H.265|MPEG-H HEVC中所指定之逐子區塊對角線掃描。 ‧對於先於含有第一非零層級(由所傳輸之x及y座標指示)之彼子區塊的子區塊,傳輸旗標coded_subblock_flag,其指定子區塊是否含有任何非零變換係數層級。作為例外狀況,不針對含有DC係數之子區塊傳輸coded_subblock_flag。對於此子區塊,推斷coded_subblock_flag等於1。
最後,對於coded_subblock_flag等於1之所有子區塊以及含有寫碼次序中之第一非零層級之子區塊,對變換係數層級之值進行寫碼,如圖15中之偽碼所說明。此處,firstScanIdSbb表示子區塊內部之第一掃描索引。對於含有第一非零層級(由所傳輸之x及y座標指示)之子區塊,firstScanIdSbb等於對應於所傳輸之(x,y)座標的掃描索引firstNonZero。對於其他所傳輸子區塊,firstScanIdSbb指定子區塊內部之第一掃描索引。掃描索引lastScanIdSbb指定子區塊內部之最末掃描索引。應注意,在對寫碼次序中之下一子區塊之任何係數進行寫碼之前對子區塊內部之所有係數進行寫碼。
在二個遍次中對子區塊之層級進行寫碼。在第一遍次中傳輸絕對值,且在第二遍次中針對絕對值不等於零之所有係數傳輸符號。如下對絕對值進行寫碼: ‧傳輸旗標sig_flag,其指定絕對層級是否大於零。若可推斷旗標等於1,亦即,當以下條件中之任一者適用時,不傳輸此旗標: o 當前掃描索引k等於第一非零層級(如由所傳輸之x及y座標指示)之掃描索引; o 當前掃描索引為子區塊內部之最末掃描索引,已針對子區塊傳輸等於1之coded_subblock_flag,且子區塊中之所有先前層級等於0。 ‧若sig_flag等於1 (亦即,絕對層級大於0),則傳輸另一旗標gt1_flag,其指定絕對層級是否大於一。 ‧若sig_flag及gt1_flag等於1 (亦即,絕對層級大於1),則傳輸另一旗標gt2_flag,其指定絕對層級是否大於二。 ‧若sig_flag、gt1_flag及gt2_flag等於1 (亦即,絕對層級大於2),則傳輸另一旗標gt3_flag,其指定絕對層級是否大於三。 ‧若sig_flag、gt1_flag、gt2_flag及gt3_flag等於1 (亦即,絕對層級大於3),則傳輸另一旗標gt4_flag,其指定絕對層級是否大於四。 ‧若sig_flag、gt1_flag、gt2_flag、gt3_flag及gt4_flag等於1 (亦即,絕對層級大於4),則傳輸語法元素gt3_flag,其指定絕對值減去5。
在傳輸子區塊之所有層級的絕對值之後,針對絕對層級不等於零之所有係數傳輸符號位元sign_flag。
使用自適應性機率模型(亦被稱作上下文脈絡)對旗標sig_flag、gt1_flag、gt2_flag、gt3_flag及gt4_flag進行寫碼。對於此等旗標,如下選擇多個自適應性機率模型中之一者: 使狀態為變換係數之狀態變數之當前值(狀態變數係基於寫碼次序中已經寫碼層級之同位而判定)。使diag指定當前掃描位置之對角線位置(diag = x+y,其中x及y指定掃描位置之x及y座標)。此外,使sumAbsTemplate為16圖中所說明之局部鄰域中之已經寫碼絕對值的總和,其中對應鄰域係藉助於對屬於係數鄰域之彼等係數加陰影來指示,該等係數之位元子當前經寫碼,該位元子又以黑色繪示。且使numSigTemplate為同一局部鄰域中大於0的絕對層級數目。
對於sig_flag,所選擇之機率模型取決於: ‧當前掃描位置之對角線(由x及y座標之總和給定); ‧用於當前變換係數之量化器(Q0或Q1,由state >> 1給定); ‧由sumAbsTemplate給定之局部鄰域中之已經寫碼絕對層級的總和。
對於gt1_flag,所選擇之機率模型取決於: ‧當前掃描位置之對角線(由x及y座標之總和給定); ‧用於當前變換係數之量化器(Q0或Q1,由state >> 1給定); ‧值sumAbsTemplate - numSigTemplate (亦即,局部鄰域中之絕對值之總和減去局部鄰域中大於0的絕對層級數目)。
對於gt2_flag、gt3_flag及gt4_flag,使用同一機率模型。其取決於以下各者來選擇: ‧當前掃描位置之對角線(由x及y座標之總和給定); ‧值sumAbsTemplate - numSigTemplate (亦即,局部鄰域中之絕對值之總和減去局部鄰域中大於0的絕對層級數目)。
首先使非二進位語法元素二進位化(亦即,映射至位元子之序列),且在算術寫碼引擎之旁路模式中(使用具有pmf {0.5,0.5}之非自適應性機率模型)對位元子進行寫碼。對於二進位化,使用萊斯-哥倫布(Rice-Golomb)碼,其藉由所謂的萊斯參數來參數化。取決於(sumAbsTemplate - numSigTemplate)之值選擇萊斯參數。最後,使用算術寫碼引擎之旁路模式對符號旗標進行寫碼。
為了獲得提供失真(重構品質)與位元速率之間的極好權衡的位元串流,應以使得拉格朗日成本度量 最小化的方式選擇量化索引。對於非相依純量量化,此量化演算法(被稱作速率-失真最佳化量化或RDOQ)論述於前文中。但相比於非相依純量量化,具有額外困難。經重構變換係數 且因此其失真 不僅取決於相關聯量化索引 ,且亦取決於寫碼次序中之先前量化索引之值。
然而,如上文已論述,變換係數之間的相依性可使用網格結構表示。對於進一步描述,吾人使用圖10中給定之較佳實施例作為一實例。8個變換係數之區塊之實例的網格結構展示於圖17中。通過網格(自左至右)之路徑表示量化索引之可能狀態轉換。應注意,二個節點之間的各連接表示特定子集(A、B、C、D)之量化索引。若自子集(A、B、C、D)中之各者選擇量化索引 且將對應速率-失真成本
指派至二個網格節點之間的相關聯連接,則判定使總速率-失真成本 最小化之量化索引之向量/區塊的問題等效於找到具有通過網格(在圖17中自左至右)之最小成本路徑的路徑。若忽略熵寫碼之一些相依性(類似於RDOQ),則可使用熟知維特比(Viterbi)演算法來解決此最小化問題。
用於選擇變換區塊之合適量化索引之實例編碼演算法可由以下主要步驟組成: 1. 將初始狀態之速率-失真成本設定為等於0。 2. 對於寫碼次序中之所有變換係數,執行以下操作: a. 對於各子集A、B、C、D,判定使給定原始變換係數之失真最小化的量化索引。 b. 對於當前變換係數之所有網格節點(0、1、2、3),執行以下操作: i. 計算連接在前變換係數之狀態與當前狀態之二個路徑的速率-失真成本。成本給定為在前狀態之成本與 的總和,其中 表示用於選擇與所考慮連接相關聯之子集(A、B、C、D)之量化索引的失真及速率。 ii.    將計算出的成本之最小值指派至當前節點且將連接修剪成並不表示最小成本路徑之先前變換係數之狀態。 應注意:在此步驟之後,當前變換係數之所有節點皆具有至在前變換係數之任何節點之單一連接。 3. 比較4個最終節點(針對寫碼次序中之最末係數)之成本且選擇具有最小成本之節點。應注意,此節點與通過網格之唯一路徑相關聯(所有其他連接皆在先前步驟中經修剪)。 4. 遵循所選路徑(由最終節點指定)為反向次序且收集與網格節點之間的連接相關聯之量化索引。
現在,描述本申請案之實施例。其以獨立方式呈現,但有時參考上文所論述之圖式。特定言之,以下描述聚焦於與以上實例之差異,且因此,此等差異可用於修改以上描述以得到其他實施例,且反之亦然,可個別地或組合地使用上文所描述之個別任務,諸如關於上下文選擇、量化、解量化、變換、重新變換、熵寫碼/解碼之任務,以修改或進一步指定隨後解釋之實施例以得到甚至其他實施例。
相比於利用習知非相依純量量化之變換寫碼,如上文所描述之利用相依純量量化[3]的變換寫碼通常改良寫碼效率。然而,上圖15中所描述之相依量化索引(變換係數層級)之熵寫碼具有二個問題,此使得難以達成高處理量硬體設計: ‧在算術寫碼引擎之常規寫碼模式中寫碼的位元子(sig_flag、gt1_flag、gt2_flag、gt3_flag及gt4_flag)與在旁路模式中寫碼之位元子(語法元素餘數之位元子)交錯。算術寫碼引擎之旁路模式可相比於常規模式更高效地實施。且此外,當連續地對相當大量數目之旁路位元子進行寫碼時,可特別高效地實施算術寫碼之旁路模式。常規模式與旁路模式之間的頻繁切換不利於硬體實施。 ‧大多數位元子之機率模型直接取決於正前方之位元子的值。舉例而言,用於sig_flag之機率模型取決於先前絕對層級之同位(其在讀取先前層級之最末位元子之前為未知的)。接著,sig_flag之值判定下一位元子為gt1_flag抑或另一sig_flag。若讀取gt1_flag,則其值判定下一位元子為gt2_flag抑或sig_flag等。此等直接相依性防止算術解碼程序之高效管線化。將較佳的是減少直接相依性之數目,使得位元子之算術解碼可在一定程度上管線化。
降低目前先進技術殘差寫碼設計之複雜度的方法為若干掃描遍次中之寫碼。在各掃描遍次中,傳輸層級之部分資訊,使得完整層級資訊僅在最終掃描遍次之後可用。然而,此設計並不與相依量化技術相容。應注意,歸因於以下原因,位元子之重排序對於相依量化而言並不簡單: ‧特定言之,對於旗標sig_flag,針對二個支援量化器具有顯著不同的機率質量函數。若不知曉當前變換係數之量化器(Q0或Q1),則壓縮效率將顯著降級。但所使用之量化器取決於所有變換係數層級之同位,該等同位僅在所有先前變換係數之所有位元子係在當前變換係數之第一位元子(sig_flag)之前寫碼的情況下為已知的。 ‧位元子之上下文模型化亦取決於關於局部鄰域中之已經傳輸絕對層級的知識。通常,關於相鄰變換係數層級之較好知識改良寫碼效率。
坦白言之,下文進一步描述之實施例藉由以下設計態樣中之一或多者克服了所提及問題: ‧在遍及所有掃描位置之多個遍次中對與子區塊(或區塊)之變換係數層級相關的位元子進行寫碼。 ‧遍及掃描位置之一或多個第一遍次包括sig_flag之寫碼,且若sig_flag等於1,則包括同位旗標par_flag (指定變換係數層級之同位)之寫碼。其可包括或可不包括額外資料。應注意,藉由寫碼專用同位旗標,用於變換係數之量化器係已知的,且此知識可用於sig_flag's之高效上下文模型化。 ‧在單獨遍次中對子區塊(或區塊)之語法元素餘數之所有旁路位元子進行寫碼。彼意謂,連續地對子區塊(或區塊)之所有旁路位元子進行寫碼。
在下文中,描述了一種設計方法,其首先與需要同位資訊之量化方法相容,且其次相比於完整絕對層級資訊之寫碼繼承較低複雜度。中心概念為傳輸各絕對層級之同位資訊作為專用語法元素。不同位置係可能的,例如在有效值旗標之前,在有效值旗標之後,在任何「係大於……之層級」資訊之後。遵循同位資訊之語法元素之語義取決於用於傳輸同位語法元素之所選擇位置而交替。當同位資訊可用時,剩餘絕對層級資訊可除以二,從而產生用於語法元素之不同條件機率。
下文中描述關於位元子及相關聯上下文模型化之寫碼次序的其他細節。
在實施例中,類似於HEVC,基於子區塊對變換區塊之變換係數層級進行寫碼。首先,傳輸旗標coded_block_flag,其指定變換區塊是否含有任何非零變換係數層級。若coded_block_flag等於0 (亦即,區塊不含有任何非零層級),則不針對變換區塊傳輸另外資訊。否則(coded_block_flag等於1),以下適用: ‧傳輸寫碼次序中之第一非零層級的x及y座標。如圖14中所說明,第一非零層級之所傳輸位置指定,推斷在寫碼次序中先於經識別係數的所有變換係數(在圖14中經白色標記)等於零。 ‧對於在含有寫碼次序中之第一非零層級(由所傳輸之x及y座標指示)之彼子區塊之後的子區塊,傳輸旗標coded_subblock_flag,其指定子區塊是否含有任何非零變換係數層級。作為例外狀況,不針對含有DC係數之子區塊傳輸coded_subblock_flag。對於此子區塊,推斷coded_subblock_flag等於1。
最後,對於coded_subblock_flag等於1之所有子區塊以及含有寫碼次序中之第一非零層級之子區塊,對變換係數層級之值進行寫碼,如下文將描述。
用於對子區塊之變換係數層級進行寫碼之較佳實施例由圖18中之偽碼說明。此處,firstScanIdSbb表示子區塊內部之第一掃描索引。對於含有第一非零層級(由所傳輸之x及y座標指示)之子區塊,firstScanIdSbb等於對應於所傳輸之(x,y)座標的掃描索引firstNonZero。對於其他所傳輸子區塊,firstScanIdSbb指定子區塊內部之第一掃描索引。掃描索引lastScanIdSbb指定子區塊內部之最末掃描索引。
使level[k]及absLevel[k]=abs(level[k])表示掃描位置k處之變換係數層級及變換係數層級之絕對值。變換係數層級之寫碼在遍及子區塊內部之掃描位置的四個遍次中繼續進行:
在第一遍次中,傳輸二進位語法元素sig_flag、par_flag及gt1_flag: ‧二進位語法元素sig_flag[k]指定掃描位置k處之變換係數層級之絕對值是否大於0,亦即, sig_flag[k]=(absLevel[k]>0 ? 1 : 0)。 若可推斷sig_flag 等於1,亦即,當以下條件中之任一者適用時,則不傳輸sig_flag: o 當前掃描索引k等於第一非零層級(如由所傳輸之x及y座標指示)之掃描索引; o 當前掃描索引為子區塊內部之最末掃描索引,已針對子區塊傳輸等於1之coded_subblock_flag,且子區塊中之所有先前層級等於0。 ‧若sig_flag[k]等於1,則傳輸二進位語法元素par_flag[k]及gt1_flag[k]。 par_flag[k]指定變換係數層級之同位。在本發明之一較佳實施例中,par_flag[k]被設定為等於絕對值減去1之同位(其表示變換係數層級之反向同位): par_flag[k]=(absLevel[k]-1)&1。 gt1_flag[k]指定餘數(由 sig_flag[k]=1及par_flag[k]之值給定)是否大於零: gt1_flag[k]=( ((absLevel[k]-1)>>1) > 0 ? 1 : 0 ), 其中運算子「>>」指定向右之位元移位(亦即,由2整除)。
在第二遍次中,傳輸二進位語法元素gt2_flag: ‧僅針對彼等掃描位置k對二進位語法元素gt2_flag[k]進行寫碼,其中在第一遍次中傳輸等於1之gt1_flag[k]。gt2_flag[k]指定餘數(由 sig_flag[k]=1及par_flag[k]之值給定)是否大於一: gt2_flag[k]=( ((absLevel[k]-1)>>1) > 1 ? 1 : 0 )。
在第三遍次中,傳輸語法元素餘數: ‧僅針對彼等掃描位置k對語法元素remainder[k]進行寫碼,其中在第二遍次中傳輸等於1之gt2_flag[k]。remainder[k]指定絕對值之餘數(由 sig_flag[k]=1、gt1_flag[k]=1、gt2_flag[k]=1及par_flag[k]之值給定): remainder[k]=((absLevel[k]-1)>>1)-2。
最後,在第四遍次中,傳輸語法元素sign_flag: ‧僅針對彼等掃描位置k對語法元素sign_flag[k]進行寫碼,其中在第一遍次中推斷傳輸等於1之sig_flag[k]。sign_flag[k]指定變換係數層級是否為負: sign_flag[k]=(level[k]<0 ? 1 : 0 )。
在解碼器側,類似地自位元串流解碼語法元素sig_flag[k]、par_flag[k]、gt1_flag[k]、gt2_flag[k]、remainder[k]及sign_flag[k]。應注意,推斷未傳輸之語法元素par_flag[k]、gt1_flag[k]、gt2_flag[k]、remainder[k]及sign_flag[k]之所有值等於0。在不針對coded_subblock_flag 等於1之子區塊傳輸sig_flag[k]的狀況下,推斷其值等於1。
在給定經寫碼及經推斷值之情況下,可如下重構掃描位置k處之變換係數層級之絕對值: absLevel[k]= sig_flag[k]+par_flag[k]+2*(gt1_flag[k]+gt2_flag[k]+remainder[k])。
且在給定絕對層級之sign_flag[k]不等於0的情況下,由下式給定變換係數層級 level[k]=(sign_flag[k] ? -absLevel[k] : absLevel[k])。
可在一或多個態樣中修改上文所描述之特定實施例,例如: ‧變換係數層級之寫碼可不基於子區塊。彼意謂,可一次寫碼變換區塊之所有變換係數層級,而非將變換係數層級之寫碼分裂成子區塊。在此狀況下,上文所描述之遍次表示遍及完整變換區塊內部之所有掃描位置的遍次。此方法可仍與coded_block_flag之寫碼組合以及與寫碼次序中之第一非零層級之掃描位置之指示組合(例如,藉由傳輸x及y位置或藉由任何其他方式)。此方法亦可與指定大區內部之所有變換係數層級等於0的指示(類似於coded_block_flag's)組合。該等區可表示變換係數位置之子區塊、連續掃描位置或任何其他定義明確之子集。對應指示可在實際變換係數層級之前經寫碼,或其可與第一遍次之位元子交錯地寫碼。 ‧可改變旗標par_flag及gt1_flag旗標之寫碼次序。應注意,此等旗標不取決於彼此,且因此,可在gt1_flag之前對par_flag進行寫碼,或可在par_flag之前對gt1_flag進行寫碼。 ‧可改變同位旗標par_flag之含義。可傳輸絕對層級之同位(其與絕對層級減去2之同位相同),而非傳信絕對層級減去1之同位。 ‧可改變gt1_flag之含義。亦可傳信(absLevel-1-par_flag)是否大於0,而非傳信(absLevel-1)>>1是否大於0 (參見上文)。或者,若如上文所指示改變含義par_flag,則gt1_flag可指示(absLevel-1)是否大於0。在二種狀況下,重構式將改變為 absLevel[k]=sig_flag[k]+par_flag[k]+gt1_flag[k]+ 2*(gt2_flag[k]+remainder[k]) 且gt2_flag及餘數之含義將改變為 gt2_flag[k] =( ((absLevel[k]-2)>>1) > 0 ? 1 : 0 ) remainder[k]=((absLevel[k]-2)>>1) - 1
參見例如圖19,其中旗標以不同方式分佈至遍次上,且量化索引之重構涉及absQIdx = sig_flag + gt1_flag + par_flag + 2 * ( gt3_flag + remainder ),其中在圖19中所展示之第一遍次之後可行的部分重構為absQIdx1 = sig_flag + gt1_flag + par_flag + 2 * gt3_flag。 ‧第一遍次可以僅在此遍次中傳輸sig_flag及par_flag之方式修改。gt1_flag可移動至第二遍次,或其可在所描述之第一遍次與第二遍次之間的單獨遍次中傳輸。 替代地,可將額外旗標(例如,gt2_flag)寫碼為第一遍次之部分。 ‧可省略第二遍次(具有gt2_flag's),在此狀況下,將在第一遍次之後直接寫碼具有語法元素餘數之遍次。在一個實施例中,省略第二遍次,此係因為gt2_flag已經寫碼為第一遍次之部分(參見上文)。在另一實施例中,省略第二遍次,此係因為根本不傳輸gt2_flag。在後一狀況下,語法元素餘數含義改變為 remainder[k]=((absLevel[k]-1)>>1) - 1 且重構式改變為 absLevel[k]= sig_flag[k]+par_flag[k]+2*(gt1_flag[k]+remainder[k]) 或者,當gt1_flag之含義如上文所描述而改變時,重構式改變為 absLevel[k]= sig_flag[k]+par_flag[k]+gt1_flag[k]+2*remainder[k] 替代地,第二遍次可包含額外旗標。舉例而言,含義如下之額外gt3_flag gt3_flag[k]=( ((absLevel[k]-1)>>1) > 2 ? 1 : 0 ) 可經傳輸。或者,如上文所提及,gt1_flag可自第一遍次移動至第二遍次。此亦可與gt3_flag組合。
亦有可能基於已經寫碼資料(例如,基於可基於已經寫碼資料導出之局部鄰域中之絕對值的總和)自適應性地判定針對當前掃描位置傳輸之gtx_flag的最大數目。 ‧具有常規經寫碼位元子之一或多個額外遍次可在第二遍次(具有gt2_flag's)與第三遍次(語法元素餘數)之間寫碼。舉例而言,gt3_flag's可在額外遍次中傳輸。 ‧可在單一遍次中交錯地寫碼語法元素餘數之經旁路寫碼位元子及經旁路寫碼sign_flag's。
亦可組合上文所列之二個或更多個點。
簡單概述以上實施例,在下文中,同樣描述其他實施例。藉此,使用指向上文論述之圖式的參考符號。
特定言之,以上實施例描述用於對變換係數12之區塊(10)進行解碼的概念,其中變換區塊10可或可不細分成子區塊14。
解碼係在遍次中進行。在掃描變換係數之一或多個第一遍次中,進行當前變換係數之指示變換係數之量化索引是否為零之有效值旗標的解碼,以及變換係數之指示變換係數之同位之同位旗標的解碼。由於圖式中之偽碼類似地展示藉由將「寫碼」變成「解碼」之解碼程序,故僅提及之任務分別在16及18處進行。其含於圖18中之一個第一遍次20中,但根據替代方案可分佈至二個單獨遍次上。使用上下文脈絡自適應性熵解碼來進行任務16及8二者,上下文脈絡自適應性熵解碼可為上下文脈絡自適應性二進位算術解碼。
在掃描變換係數之一或多個第二遍次22中,解碼24變換係數之一或多個大小程度(greatness)旗標,該等變換係數之量化索引不為零。在圖18中,存在二個此類遍次22'及22''。一或多個大小程度旗標遍次22無需與一或多個第一遍次20分離。在圖18中,在遍次22'中進行gt1_flag解碼24',遍次22'同時為第一遍次20,而在單獨遍次22''中進行gt3_flag解碼24'。圖19展示一或多個第一遍次20及一或多個第二遍次22可重合。此處,在圖19中,在相同遍次中進行解碼16、18及24。在圖19中,例示性地存在一個此類遍次,其由指示充當有效值/同位遍次20以及大小程度旗標遍次22之遍次的大括號指示。同樣,使用上下文脈絡自適應性熵解碼來進行任務24,上下文脈絡自適應性熵解碼可為上下文脈絡自適應性二進位算術解碼。在圖18及圖19中,例示性地解碼二個大小程度旗標,但此僅為實例。
在一或多個第三遍次26、27中,亦即在圖24及圖26之狀況下相互分離的與遍次20、22分離的二個遍次,進行變換係數之量化索引之餘數的解碼28,該等變換係數之一或多個大小程度旗標為正,諸如由一指示,亦即,大小程度確認/批准大小程度之彼等係數之解碼,且進行變換係數之量化索引之符號的解碼30,該等變換係數之量化索引並不為零。使用等機率熵解碼來進行任務28及30,等機率熵解碼可為等機率二進位算術解碼。特定言之,解碼28可涉及使用二進位化之位元子及變換係數之量化索引之絕對值之餘數之二進位化之位元子的等機率二進位算術解碼,該等變換係數之一或多個大小程度旗標為正。
以上述方式中之任一種分離遍次的優點已在上文促成,且亦將自執行例如解量化及/或上下文導出方面之以下可能性的描述變得清楚,然而,該等細節被視為不限制後續申請專利範圍之範疇。優點在於提供可使用相依量化及諸如上下文自適應性二進位算術編碼之上下文脈絡自適應性熵寫碼有效地寫碼的變換區塊描述之基礎。
如圖18及圖19中所展示,在一個第一遍次20中,針對當前經掃描變換係數,可使用上下文脈絡自適應性熵解碼對當前經掃描變換係數之有效值旗標進行解碼16,且接著,若有效值旗標指示當前經掃描變換係數之量化索引不為零,則如在32處所檢查,針對當前經掃描變換係數,使用上下文脈絡自適應性熵解碼對當前經掃描變換係數之同位旗標進行解碼18。替代地,單獨的第一遍次20可能已用於二個旗標。在一或多個第二遍次22中之一者中,亦即在圖18中之22'及22''及圖19之狀況下同時為遍次20的22中,若當前經掃描變換係數之量化索引不為零,該情形係在32處檢查,則針對當前經掃描變換係數,使用上下文自適應性熵解碼對當前經掃描變換係數之大小程度旗標進行解碼24'、24''。應注意,此第一大小程度旗標可具有如上文所解釋之不同定義,且可為gt1_flag或gt3_flag。在圖19之狀況下的解碼18,以及在圖18及圖19之狀況下的解碼24''甚至僅在當前經掃描變換係數之大小程度旗標gt1_flag已為正之狀況下進行,該情形係在34處檢查。亦即,對於當前經掃描係數,旗標之寫碼/解碼次序為:有效值旗標、大小程度旗標gt1_flag、同位旗標,及在圖18之狀況下的大小程度旗標gt2_flag,以及在圖19之狀況下的大小程度旗標gt3_flag。
如上文所提及,自所提及旗標,對於預定變換係數,量化索引之計算在圖18及圖19之狀況下可涉及總和,其加數係藉由以下形成:一個加數係由預定變換係數之有效值旗標形成,一個加數係由預定變換係數之同位旗標形成,且一個加數係由預定變換係數之餘數與一個大小程度旗標(亦即,圖18之狀況下的gt2_flag及圖19之狀況下的gt3_flag)之總和的兩倍形成。
在一或多個第二遍次22中之一者中,亦即在圖18中之22''及圖19之狀況下同時為遍次20之22中,針對當前經掃描變換係數進行解碼,且若當前經掃描變換係數之先前大小程度旗標為正,則使用上下文脈絡自適應性熵解碼對當前經掃描變換係數之另一大小程度旗標,亦即圖18之狀況下的gt2_flag及圖19之狀況下的gt3_flag,進行解碼24''。在圖18之狀況下,針對預定變換係數,根據總和計算量化索引之絕對值,該總和之加數係藉由以下形成:一個加數為預定變換係數之有效值旗標,一個加數為預定變換係數之同位旗標,一個加數為預定變換係數之餘數、第一大小程度旗標與第二大小程度旗標之總和的兩倍。然而,使用大小程度旗標之不同定義,諸如根據圖19,例如但非排他地,其中使用上下文自適應性熵解碼對當前經掃描變換係數之有效值旗標進行解碼16,且接著,若有效值旗標指示當前經掃描變換係數之量化索引不為零,則如在32處所檢查,針對當前經掃描變換係數,使用上下文脈絡自適應性熵解碼對當前經掃描變換係數之大小程度旗標gt1_flag進行解碼24',且接著,若此大小程度旗標為正,則如在34處所檢查,針對當前經掃描變換係數,使用上下文自適應性熵解碼對同位旗標進行解碼18,且針對當前經掃描變換係數,使用上下文自適應性熵解碼對當前經掃描變換係數之另一大小程度旗標gt3_flag進行解碼24'',針對預定變換係數,諸如當前預定變換係數,根據總和計算量化索引之絕對值,該總和之加數係藉由以下形成:一個加數為預定變換係數之有效值旗標,一個加數為預定變換係數之同位旗標,一個加數為預定變換係數之大小程度旗標gt1_flag,且一個加數為預定變換係數之餘數與另一大小程度旗標gt3_flag之總和的兩倍。第一大小程度旗標及第二大小程度旗標之解碼24'及24''可在如圖18中所說明之單獨第二遍次22'及22''中或在如圖19中所說明之一個遍次上進行。
作為圖12之替代方案,將有可能在一或多個第一遍次中之一者中,針對當前經掃描變換係數,使用上下文自適應性熵解碼對當前經掃描變換係數之有效值旗標進行解碼16,且接著在一個第一遍次之後,在一或多個第二遍次中,使用上下文自適應性熵解碼對變換係數之多於一個大小程度旗標之序列進行解碼24'、24'',且接著,在一或多個第二遍次之後,在一或多個第一遍次中之另一者中,使用等機率熵解碼對變換係數之同位旗標進行解碼,該等變換係數之量化索引不為零。
如上文已提及,可在子區塊中進行寫碼/解碼,使得變換係數經逐子區塊解碼,其中在對下一子區塊之第一遍次進行解碼之前對遍及子區塊之掃描位置的所有遍次進行解碼。
各係數可藉由以下操作來重構:藉由針對各別變換係數自多個重構層級集合,亦即自以上實例中圖7及圖10中之「集合0」及「集合1」選擇一重構層級集合,解量化量化索引不為零之各變換係數之量化索引,各係數之二進位化,亦即所有有效值、同位及大小程度旗標以及餘數及符號已經解碼。根據「setId[state]」,此操作係藉由使用當前狀態狀態來進行。該狀態轉而取決於沿掃描次序先於各別變換係數的變換係數之量化索引之同位而導出,亦即,例如藉由在圖11中之40處由各別變換係數之同位更新用於先前經解量化係數之狀態。在選擇之後,將各別變換係數解量化至所選擇之重構層級集合之一個層級上,該層級由setId索引化。此層級為由各別變換係數之量化索引索引化的層級。如所描述,針對各別變換係數,藉由以下操作而使用狀態轉換自重構層級集合選擇重構層級集合:唯一地基於一狀態自多個重構層級集合選擇正確重構層級集合,該狀態轉換針對各別變換係數,亦即在圖11中之42處假定該狀態,且取決於各別變換係數之量化索引之同位,針對掃描次序中在後的變換係數更新40狀態轉換之狀態。因此,掃描次序在此同樣用於遍次20、22、27及30。上文已呈現實例。已在圖4中藉由箭頭44例示。同樣,子區塊細分係任選的,正如係數之逐子區塊解碼一樣,亦即,各遍次可替代地在下一遍次開始之前繼續周遊(traverse)子區塊,而非在前進至下一遍次之前執行針對一個子區塊執行所有遍次。可存在用於狀態轉換之四個相異狀態。轉換可使用如表1中所說明的表且在執行查找以產生用於以下係數之狀態的45處,或使用如圖12中所說明之網格圖來實施,例如,其中狀態出現在46處。
如上文所描述,多個重構層級集合可藉助於如圖7及圖10中所展示之預定量化步長Δ而參數化。關於預定量化步長之資訊可在資料串流中傳達。重構層級集合中之各者可由針對如圖7及圖10中所說明之使用共同水平軸線t之多個重構層級集合或在該等多個重構層級集合當中相等的此預定量化步長之倍數組成。重構層級集合之數目可為二,如圖7及圖10中所說明,且第一重構層級集合可包含零及預定量化步長之偶數倍,諸如圖7及圖10中之集合0,且第二重構層級集合可包含零及預定量化步長之奇數倍,如圖7及圖10中之集合1。可針對狀態值0及1選擇第一重構層級集合,且可針對狀態值2及3選擇第二重構層級集合,如表1所說明。
應注意,若使用以上相依量化方案,則在解碼18某一係數之同位之後,定義下一係數之量化集合的狀態變數狀態經定義或可經判定,且此狀態可用於寫碼下一係數之有效值及同位旗標。
現在關注用於執行解碼16、18及24之上下文選擇,且描述有利上下文模型化概念。
在較佳實施例中,用於常規寫碼位元子之自適應性機率模型係選自多個自適應性機率模型之集合。機率模型亦被稱作上下文,且機率模型之選擇亦被稱作上下文模型化。在較佳實施例中,所選擇之機率模型取決於以下性質中之一或多者: ‧色彩平面。通常,明度變換係數及色度變換係數具有不同統計性質,且因此,若針對明度及色度使用不同機率模型集合,則可通常改良寫碼效率。亦有可能針對各色彩平面(例如,Y、Cb、Cr)使用單獨機率模型集合。 ‧由變換區塊內部之x及y座標之總和給定的對角線位置,diag = x + y。平均而言,變換係數之絕對值隨對角線位置diag減小而增大。歸因於彼原因,若對角線位置經分割成二個或更多個類別且針對各類別使用機率模型之單獨集合,則壓縮效率可通常得以提高。 ‧適用於當前變換係數之狀態變數。如上文所提及,二個量化器Q0及Q1具有不同的可容許重構層級集合。因此,二個量化器之機率質量函數顯著不同。此態樣對sig_flag (其指示變換係數層級是否不等於0)之機率具有最大影響。因此,若中的二個量化器使用不同機率模型集合,則壓縮效率可提高。作為此概念之擴展,可針對狀態變數之不同值(其可採用4個可能值:0、1、2、3)使用不同機率模型集合。或可針對狀態變數之經定義函數之不同值使用不同機率模型集合。應注意,針對二個不同量化器使用不同機率模型集合表示後一方法之特殊狀況。 狀態變數之相依性可能不適於所有位元子,此係由於其增加機率模型之總數目且因此,降低機率適應速度。因此,狀態變數之函數之不同值的不同機率模型集合可僅用於常規寫碼位元子之子集。舉例而言,僅針對sig_flag's。或僅針對sig_flag's及par_flag's (或任何其他子集)。 ‧圍繞當前掃描位置之局部鄰域內部的活動度量。通常,當前變換係數之絕對值超出某一臨限值的可能性隨局部鄰域內部之活動增加,其中活動係指例如鄰域中之絕對變換係數層級的總和。態樣可用於藉由針對不同局部活動度量使用不同機率度量來提高壓縮效率。然而,應注意,由於在多個遍次中對絕對值進行寫碼,因此僅可使用在某一遍次中可用的彼等資料。
在下文中,更詳細地描述上下文模型化(機率模型之選擇)之例示性設置。實例係指在圖18中指定的位元子之寫碼次序。然而,此概念不限於此特定實例,且可例如容易地轉移至上文所描述之寫碼次序的修改,諸如,圖19所指之寫碼次序。
為了導出局部活動度量,在較佳實施例中可使用圖16中所展示之局部範本。亦有可能使用不同範本,例如包括較多或較少相鄰掃描位置之範本。通常,較佳的是所使用範本確實僅包括在寫碼次序44中先於當前掃描位置之掃描位置。
使T(k)表示局部範本52中之掃描位置之集合。接著使sumAbs為局部範本中之絕對值之總和,其由下式給定
此外,使numSig為局部範本中大於零的絕對層級數目。
推斷指當前變換區塊外部之位置的absLevel[ i ]及sig_flag[ i ]之值等於0。
度量numSig可能已經基於sig_flag's之值導出。然而,絕對層級sumAbs之總和僅在第三(及第四)遍次26及27中可用。在第一遍次20及第二遍次22''中僅對資訊之子集進行寫碼,且因此,僅此資訊子集可用於上下文模型化。
根據圖18之偽碼中所展示的較佳實施例,在第一遍次20/22'中傳輸位元子sig_flag、par_flag及gt1_flag。基於某一變換係數層級之此等資料,可得出以下結論: ‧若sig_flag等於0,則變換係數層級等於0:level=0; ‧若sig_flag等於1,par_flag等於0,且gt1_flag等於0,則變換係數層級等於1:level=1; ‧若sig_flag等於1,par_flag等於1,且gt1_flag等於0,則變換係數層級等於2:level=2; ‧若sig_flag等於1,par_flag等於0,且gt1_flag等於1,則變換係數層級大於或等於3:level>=3; ‧若sig_flag等於1,par_flag等於1,且gt1_flag等於1,則變換係數層級大於或等於4:level>=4;
因此,可至少根據下式導出絕對變換係數層級之最小值 minAbs1[k]=sig_flag[k]+par_flag[k]+2*gt1_flag[k]。
在第二遍次中,另外知曉gt2_flag之值且可因此導出以下最小值: minAbs2[k]=sig_flag[k]+par_flag[k]+2*(gt1_flag[k]+gt2_flag[k])。
最小絕對值之對應總和由sumAbs1及sumAbs2表示且由下式給定
推斷指當前變換區塊外部之位置的 [ i ]及 [ i ]之值等於0。
在此上下文中,應注意,用於計算minAbs1[k]及minAbs2[k]之確切方程式(且因此, 之最終值)取決於哪些位元子包括於第一遍次中以及包括於此等位元子之語義(亦即,含義)上。舉例而言,若gt2_flag[k]包括於第一遍次中或若gt1_flag[k]之含義經修改(上文已描述二個替代方案),則用於計算minAbs1[k]之方程式必須相應地改變。舉例而言,在圖19之狀況下,在第一遍次20/22期間,此最小值為minAbs1 = sig_flag + gt1_flag + par_flag + 2 * ( gt3_flag + 餘數)。在任何狀況下,minAbs1[k]表示可基於在第一遍次中經寫碼之位元子而導出的絕對層級之最小值。
值sumAbs、numSig、sumAbs1及sumAbs2或此等值之函數可用作上下文模型化之局部活動度量。下文描述詳細實例。
在替代實施例中,不基於所傳輸之變換係數層級,而是基於量化步長之相關聯乘法因子(絕對值)而判定值sumAbs、minAbs1及minAbs2。此等資料可基於變換係數層級及相關聯狀態變數而導出。在給定絕對層級absLevel[ k ]及相關聯狀態變數state[ k ]之情況下,可根據下式確定量化步長qIdx[ k ]之乘法因子 qIdx[ k ] = 2 * absLevel[ k ] - ( state[ k ] >> 1 ) 替換minAbs1及minAbs2之類似值可根據下式導出 minQIdx1[ k ] = 2 * minAbs1[ k ] - ( state[ k ] >> 1 ) minQIdx2[ k ] = 2 * minAbs2[ k ] - ( state[ k ] >> 1 ) 在給定此等值之情況下,代替sumAbs、sumAbs1及sumAbs2之替代值sumQAbs、sumQAbs1及sumQAbs2可根據下式導出:
在以下描述中,使用值sumAbs、sumAbs1及sumAbs2。但應記住,此等值可用值sumQAbs、sumQAbs1及sumQAbs2替換。當使用值sumQAbs、sumQAbs1及sumQAbs2時,在上下文導出中可較佳地使用此等值之不同函數。 用於有效值旗標sig_flag 上下文模型化
用於寫碼當前sig_flag之自適應性機率模型係選自機率模型集合。為簡單起見,假定可用機率模型係以以下4維陣列組織 probModelSig[ cSig ][ sSig ][ dSig ][ aSig ], 其中cSig指定取決於當前色彩頻道之索引,sSig指定取決於狀態變數之索引,dSig指定取決於變換區塊內部之對角線位置(或更一般而言,x及y位置)的索引,且aSig指定取決於局部活動度量之索引。機率模型之實際組織為實際實施之態樣。其可例如組織為1-d陣列,在此狀況下,可基於cSig、sSig、dSig及aSig之值而導出經組合索引。
在下文中,描述用於導出索引cSig、sSig、dSig及aSig之實例方法。然而,應注意,導出此等索引(或索引之一部分)之不同方式係可能的。 色彩頻道索引cSig
在較佳實施例中,當且僅當當前色彩頻道表示明度信道(或者,更一般而言第一色彩頻道)時,色彩頻道索引cSig設定為等於0。且當且僅當當前色彩頻道表示色度頻道(或者,更一般而言,並非第一色彩頻道),cSig被設定為等於1: cSig = (current channel is luma ? 0 : 1 )
作為替代方案,cSig可被設定為針對明度頻道等於0,針對Cb頻道等於1,且針對Cr頻道等於2。 狀態索引sSig
在較佳實施例中,索引sSig被設定為等於
彼意謂,一個機率模型集合用於等於0及1之狀態變數,第二集合用於等於2之狀態變數,且第三集合用於等於3之狀態變數。
作為替代方案,索引sSig可被設定為等於狀態變數(sSig=state),在此狀況下單獨機率模型集合將用於狀態變數之各可能值。或作為另一替代方案,可根據sSig=state>>1設定索引sSig,在此狀況下,單獨上下文模型集合將用於二個量化器Q0及Q1中之各者(應注意,當狀態等於0或1時,使用量化器Q0,且當狀態等於2或3時,使用量化器Q1)。 位置索引dSig
在較佳實施例中,索引dSig被如下設定: ‧若索引cSig等於0 (亦即,當前色彩頻道表示明度頻道),則根據下式設定dSig ‧若索引cSig等於1 (亦即,當前色彩頻道表示色度頻道),則根據下式設定dSig
此處,diag表示由diag = x + y給定之對角線位置,其中x及y表示變換區塊內部之當前掃描位置之x及y座標。
替代地,對角線位置之任何其他叢集皆為可能的。或者,變換區塊內部之(x,y)位置可分割成多個類別,且索引dSig可被設定為等於對應類別索引。 局部活動索引aSig
最後,在本發明之一較佳實施例中,根據下式設定索引aSig aSig = min( 5, sumAbs1 ), 其中sumAbs1係指局部範本中由第一遍次中所傳輸之資料給定之最小絕對變換係數層級的總和(參見上文)。
作為替代方案,可使用sumAbs1之不同最大值或不同函數。 用於同位旗標par_flag 上下文模型化
用於寫碼當前par_flag之自適應性機率模型係選自機率模型集合。類似地,對於有效值旗標,假定可用機率模型係以以下4維陣列組織 probModelPar[ cPar ][ sPar ][ dPar ][ aPar ], 其中cPar指定取決於當前色彩頻道之索引,sPar指定取決於狀態變數之索引,dPar指定取決於變換區塊內部之對角線位置(或更一般而言,x及y位置)的索引,且aPar指定取決於局部活動度量之索引。 色彩頻道索引cPar
類似地,對於有效值旗標,在較佳實施例中,根據下式設定色彩頻道索引cSig: cPar = (current channel is luma ? 0 : 1 )
替代地,可使用上文針對cSig所描述之替代方案。 狀態索引sPar
在較佳實施例中,索引sPar被設定為等於0。彼意謂,所選機率模型不取決於狀態變數。
替代地,可使用上文針對sPar所描述之方法中之任一者。 位置索引dPar
在較佳實施例中,索引dPar被如下設定: ‧若索引cPar等於0 (亦即,當前色彩頻道表示明度頻道),則根據下式設定dPar ‧若索引cPar等於1 (亦即,當前色彩頻道表示色度頻道),則根據下式設定dPar
在此,diag表示由diag = x + y給定之對角線位置,其中x及y表示變換區塊內部之當前掃描位置之x及y座標。布林變數firstNonZero指定當前掃描位置是否表示寫碼次序中之第一非零層級之掃描位置(亦即,由在經寫碼區塊旗標之後傳輸之x及y座標(或類似方式)識別的位置)。因此,對於寫碼次序中之第一非零層級,使用不同機率模型集合(獨立於對角線位置)。
替代地,對角線位置之任何其他叢集皆為可能的。或者,變換區塊內部之(x,y)位置可分割成多個類別,且索引dPar可被設定為等於對應類別索引。 局部活動索引aPar
最後,在本發明之一較佳實施例中,根據下式設定索引aPar aPar = min( 4, sumAbs1 − numSig ), 其中sumAbs1係指局部範本中由第一遍次中所傳輸之資料給定之最小絕對變換係數層級的總和(參見上文)。且numSig係指局部範本中之非零層級數目(亦即,等於1之sig_flag's之數目) (參見以上描述)。作為替代方案,可使用sumAbs1及numSig之不同最大值或不同函數。 旗標gt1_flag 上下文模型化
用於寫碼當前gt1_flag之自適應性機率模型係選自機率模型集合。類似地,對於有效值旗標,假定可用機率模型係以以下4維陣列組織 probModelGt1[ cGt1 ][ sGt1 ][ dGt1 ][ aGt1 ], 其中cGt1指定取決於當前色彩頻道之索引,sGt1指定取決於狀態變數之索引,dGt1指定取決於變換區塊內部之對角線位置(或更一般而言,x及y位置)的索引,且aGt1指定取決於局部活動度量之索引。
在本發明之一較佳實施例中,以與上文所描述之索引cPar、sPar、dPar、aPar相同的方式導出索引cGt1、sGt1、dGt1及aGt1: cGt1 = cPar sGt1 = sPar dGt1 = dPar aGt1 = aPar
應注意,使用相同上下文索引不同於使用相同機率模型。雖然上下文模型索引之導出對於gt1_flag及par_flag為相同的,但機率模型之集合不相交。彼意謂,針對par_flag使用一個機率模型集合,且針對gt1_flag使用另一機率模型集合。
應注意,gt1_flag之上下文選擇不取決於正前方之par_flag的值。
替代地,索引cGt1、sGt1、dGt1及aGt1可藉由上文關於有效值旗標所描述之方法中之任一者導出。
此外,所選擇之機率模型可另外取決於正前方之同位旗標par_flag之值,使得針對二個同位值中之各者使用不同機率模型集合。然而,此將在par_flag與gt1_flag之間引入直接相依性。 旗標gt2_flag 之上下文模型化
用於寫碼當前gt2_flag之自適應性機率模型係選自機率模型集合。類似地,對於有效值旗標,假定可用機率模型係以以下4維陣列組織 probModelGt2[ cGt2 ][ sGt2 ][ dGt2 ][ aGt2 ],
其中cGt2指定取決於當前色彩頻道之索引,sGt2指定取決於狀態變數之索引,dGt2指定取決於變換區塊內部之對角線位置(或更一般而言,x及y位置)的索引,且aGt2指定取決於局部活動度量之索引。
在較佳實施例中,以與上文所描述之索引cGt1、sGt1、dGt1、aGt1相同的方式導出索引cGt2、sGt2、dGt2及aGt2: cGt2 = cGt1 sGt2 = sGt1 dGt2 = dGt1 aGt2 = aGt1
類似地,對於gt1_flag,應注意,(即使上下文索引對於寫碼gt2_flag及gt2_flag為相同的),一般而言,針對gt1_flag及gt2_flag使用不同機率模型集合。然而,作為特殊狀況,亦有可能針對此二個旗標使用完全相同的機率模型。
替代地,索引cGt2、sGt2、dGt2及aGt2可藉由上文關於前述旗標所描述之方法中之任一者導出。
此外,為了導出局部活動索引aGt2,可使用局部鄰域中之gt2_flag之額外資訊(在此狀況下,在第二遍次中對gt2_flag進行寫碼)。舉例而言,可根據下式設定活動索引: aGt2 = min( 4, sumAbs2 − numSig ), 其中sumAbs2係指由在第一遍次及第二遍次中傳輸之資料給定的局部範本中之最小絕對變換係數層級之總和(參見上文)。
作為替代方案,可使用sumAbs2、sumAbs1及numSig之不同最大值或不同函數。
現在轉向圖18及圖19之論述,換言之,此意謂以下內容。
如所描述,預定變換係數之有效值旗標之解碼16可涉及取決於變換區塊內部之預定變換係數之係數位置而選擇用於執行解碼16之上下文。此位置由圖18及圖19中之參數k索引化。另外或替代地,如上文關於圖16所說明,預定變換係數50之有效值旗標係藉由以下操作解碼:基於在圍繞預定變換係數50或位於該預定變換係數之位置處之局部範本52內之一組相鄰變換係數51之預定變換係數之有效值旗標之前經解碼的旗標集合判定局部活動,且取決於局部活動選擇上下文。如圖18及圖19中所進行,例如有效值旗標、同位旗標及一或多個大小程度旗標中之一者,或如在圖19狀況下的所有大小程度旗標可在一個遍次中經寫碼/解碼,使得針對範本52中之係數51解碼的旗標集合包含如針對範本52中之相鄰變換係數51之集合解碼的此等旗標,且活動可基於針對相鄰變換係數51中之各者具有加數的總和而計算,加數指示用於各別相鄰變換係數51之最低限度地假定之索引或最低限度地假定之重構層級,該索引或重構層級係基於先前針對各別相鄰變換係數解碼的該等旗標而判定。最低限度地假定之值意謂用於量化索引或重構層級之最小臨限值,各別相鄰係數基於先前針對各別相鄰係數51而導出之旗標之分析而最低限度地假定該量化索引或重構層級。最小值可在絕對意義上定義。在圖19之狀況下,舉例而言,此最小值可計算為各係數51之sig_flag + gt1_flag + par_flag + 2 * gt3_flag,因為僅餘數可缺失任何係數。對於先前經寫碼/解碼旗標集合由於gt1_flag為零而不包括諸如par_flag及gt3_flag之某些旗標的係數51,各別旗標具有默認值零。可使用上下文寫碼/解碼預定變換係數之有效值旗標,該上下文甚至另外或替代地取決於狀態轉換假定此預定變換係數之狀態46而選擇。舉例而言,可針對狀態0及1定義及選擇一個上下文集合,針對狀態2定義及選擇另一上下文集合,且針對狀態3定義及選擇第三上下文集合。在所選擇之上下文集合內,可接著諸如取決於局部活動使用先前提及之相依性中之任一者執行對最終使用之上下文的選擇。可使用當前所選重構集合,例如setId,而非狀態。
對於同位旗標,可類似地設計上下文選擇性。亦即,可使用取決於以下各者中之一或多者而選擇的上下文對預定變換係數之同位旗標進行寫碼/解碼:1)預定變換係數之係數位置,2)局部活動,其係基於在圍繞預定變換係數50之局部範本52內之一組相鄰變換係數51之預定變換係數之同位旗標之前經解碼的旗標集合而判定,3)圍繞預定變換係數之局部範本52內之變換係數51之數目,該等變換係數之重構層級不為零,且取決於局部活動及/或變換係數之數目而選擇上下文,或4)局部活動與變換係數之數目之間的差。
對於諸如gt1_flag、gt2_flag及gt3_flag中之任一者的大小程度旗標,可類似地設計上下文選擇性。亦即,可使用取決於以下各者中之一或多者而選擇的上下文對預定變換係數之大小程度旗標進行寫碼/解碼:1)預定變換係數之係數位置,2)局部活動,其係基於在圍繞預定變換係數或位於預定變換係數處之局部範本52內之一組相鄰變換係數51之預定變換係數之大小程度旗標之前經解碼的一旗標集合而判定,3)局部範本52內之變換係數51之數目,該等預定變換係數之重構層級不為零,及/或4)局部活動與變換係數之數目之間的差。
關於餘數之二進位化,可使用以下有利概念。
在較佳實施例中,在算術寫碼引擎之旁路模式中對語法元素餘數進行寫碼(參見上文)。壓縮效率取決於所使用之二進位化。在HEVC中,使用被稱作哥倫布-萊斯碼之一類二進位化碼對類似語法元素進行寫碼。此類別之碼由所謂的萊斯參數來參數化。在HEVC中,在寫碼期間調整萊斯參數,使得所使用之二進位化取決於先前語法元素。
在較佳實施例中,使用與HEVC中之碼類別相同(或類別極類似)的哥倫布-萊斯碼以使語法元素剩餘部分二進位化。相比於HEVC,自餘數之層級資訊除以二以後,必須修改萊斯參數之導出。
在較佳組態中,使用由局部範本覆蓋之相鄰層級的絕對值總和sumAbs來導出萊斯參數(參見上文)。在尤其較佳實施例中,根據下式導出萊斯參數RP。
在其他組態中,可修改用於切換萊斯參數之臨限值。或可基於局部範本之其他活動度量而導出萊斯參數。此外,可另外指定在子區塊內不允許萊斯參數變得較小。
作為替代方案,可以與HEVC中類似的方式修改萊斯參數。
亦即,可在解碼28餘數時執行萊斯參數選擇。
在例如上文所描述之圖18之實施例中,在有效值資訊之後直接傳輸同位語法元素。在此組態中,直接位元子間相依性僅存在於有效值資訊與同位資訊之間。在同位資訊之寫碼/解碼之後,對gt1_flag進行寫碼,藉此停止第一遍次中針對當前掃描位置之層級資訊之寫碼。在結束第一掃描遍次20/22'之後,在第二掃描遍次22'中傳輸gt2_flags。最後,在掃描遍次26中傳輸餘數。此設計最小化與有效值及同位語法元素之直接位元子間相依性。此外,可針對有效值旗標之上下文模型化評估較多層級資訊,藉此實現較高壓縮效率。同位旗標之上下文模型化與gt1及gt2旗標之上下文模型化完全相同,從而產生較小邏輯,且因此產生較低複雜度。
在替代實施例中,在絕對層級資訊之前首先傳輸同位資訊,如圖20之偽碼中所說明。此處,在遍次20'中傳輸有效值旗標,接著在遍次20''中傳輸同位旗標,接著在遍次22'中傳輸第一大小程度旗標,隨後在遍次22''中傳輸第二大小程度旗標。當同位資訊等於0時,僅需要有效值旗標,而當同位旗標等於1時,推斷有效值旗標等於1。此組態之優點為不存在直接位元子間相依性。在第一遍次中傳輸同位旗標之後,狀態變數之值及因此用於個別變換係數之量化器係已知的。
利用sig_flags之遍次與利用經旁通寫碼之remainder's之遍次之間的遍次數目可選擇為諸如在圖19之狀況下等於零或等於大於零之任何值。此外,可在一遍次內傳輸多個旗標。
以上描述之進一步修改係關於以下各者。用於同位旗標par_flag之所選擇機率模型可取決於以下參數中之一或多者: ‧色彩頻道; ‧狀態變數; ‧圍繞當前掃描位置之局部範本中之同位旗標; ‧掃描位置(例如,藉由叢集對角線位置)。
用於遵循同位之語法元素的上下文模型化可基於同位資訊進行調節,使得取決於同位而採用不同上下文模型集合。另外,該等語法元素可取決於在同位旗標之前所描述之參數中之任一者。
在此組態中,使用上下文模型之位元子之數目增加例如至六(最末經上下文寫碼語法元素接著為GT5)。接著,在旁路模式中傳輸同位資訊,此係由於條件機率幾乎為等機率的。此組態具有如下益處:可達成針對各掃描位置傳輸完整資訊的設計之壓縮效率。
關於在使用非相依純量量化之狀況下的熵寫碼,表述以下內容。
即使上文所描述之熵寫碼對於利用相依量化之變換寫碼特別有利,但其亦可有利地應用於利用習知非相依量化之變換寫碼。需要修改之唯一態樣為狀態變數之導出。實際上,對於習知非相依量化,狀態變數可始終設定為等於0。應注意,量化器Q0表示習知均一重構量化器。
退回至習知純量量化亦可藉由將狀態轉換表修改成下式來達成 state_trans_table[4][2] = { {0,0}, {0,0}, {0,0}, {0,0} }
由於狀態轉換表可表示為單一16位元整數(參見以上描述),可針對相依及非相依純量量化使用相同實施。所使用之量化方法可藉由表示狀態轉換表之16位元值組態。因此,用於熵寫碼之所描述方法亦適於支援相依量化與非相依量化之間的切換(例如,在序列、圖像、圖塊、影像塊或區塊層級上)之編解碼器。
其他實施例係關於以下各者。
1. 一種用於對變換係數之一區塊進行解碼的設備,其經組配以:a)在掃描該等變換係數之一或多個第一遍次中,使用上下文脈絡自適應性二進位算術解碼對該等變換係數之一有效值旗標、該等變換係數之一同位旗標以及量化索引不為零之變換係數之一或多個大小程度旗標進行解碼,該有效值旗標指示該等變換係數之一量化索引是否為零,該同位旗標指示該等變換係數之一同位;及b)在一或多個第二遍次中,使用等機率二進位算術解碼對該等變換係數之該量化索引之一絕對值之一餘數之一二進位化的位元子以及該等變換係數之該量化索引之一符號進行解碼,該等變換係數之該一或多個大小程度旗標為正,該等變換係數之該量化索引不為零。
2. 如實施例1之設備,其經組配以在一個第一遍次中,針對一當前經掃描變換係數,使用上下文脈絡自適應性二進位算術解碼對該當前經掃描變換係數之有效值旗標進行解碼,且若該有效值旗標指示該當前經掃描變換係數之量化索引不為零,則針對該當前經掃描變換係數,使用上下文自適應性二進位算術解碼對該當前經掃描變換係數之同位旗標進行解碼。
3. 如實施例1或2之設備,其經組配以在該一或多個第一遍次中,針對一當前經掃描變換係數,若該當前經掃描變換係數之該量化索引不為零,則使用上下文脈絡自適應性二進位算術解碼對該當前經掃描變換係數之一第一大小程度旗標進行解碼。
4. 如實施例3之設備,其經組配以針對一預定變換係數,根據一總和計算該量化索引之該絕對值,該總和之加數係藉由以下形成:該預定變換係數之有效值旗標、該預定變換係數之同位旗標,及該預定變換係數之餘數與該第一大小程度旗標之一總和的兩倍。
5. 如實施例3之設備,其經組配以在該一或多個第二遍次中,針對一當前經掃描變換係數,若該當前經掃描變換係數之該第一大小程度旗標為正,則使用上下文自適應性二進位算術解碼對該當前經掃描變換係數之一第二大小程度旗標進行解碼。
6. 如實施例5之設備,其經組配以針對一預定變換係數,根據一總和計算該量化索引之該絕對值,該總和之加數係藉由以下形成:該預定變換係數之該有效值旗標、該預定變換係數之該同位旗標、該預定變換係數之該第一大小程度旗標,及該預定變換係數之該餘數與該第二大小程度旗標之一總和的兩倍。
7. 如實施例1至6中任一項之設備,其經組配以在該一或多個第一遍次中之各者之後執行該一或多個第二遍次中之各者。
8. 如前述實施例中任一項之設備,其中一變換區塊之變換係數被分割成子區塊,且該等變換係數經逐子區塊解碼,其中遍及一子區塊之掃描位置的所有遍次係在下一子區塊之第一遍次經解碼之前經解碼。
9. 如實施例1至8中任一項之設備,其經組配以藉由以下操作解量化量化索引不為零之各變換係數之該量化索引:取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,且將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引索引化。
10. 如實施例9之設備,其經組配以針對該各別變換係數,藉由以下操作而使用一狀態轉換執行自多個重構層級集合選擇該重構層級集合:唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合,且取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態。
11. 如實施例10之設備,其經組配以沿該掃描次序執行該一或多個第一遍次及/或該一或多個第二遍次。
12. 如實施例10或11之設備,其經組配以執行四個相異狀態之間的狀態轉換轉換。
13. 如實施例9至12中任一項之設備,其經組配以藉助於一預定量化步長使該等多個(50)重構層級集合(52)參數化且自資料串流(14)導出關於該預定量化步長之資訊。
14. 如實施例9至13中任一項之設備,其中該等多個(50)重構層級集合(52)中之各者由一預定量化步長之整數倍組成,該預定量化步長對於該等多個(50)重構層級集合(52)係恆定的。
15. 如實施例9至14中任一項之設備,其中該等多個(50)重構層級集合(52)中之重構層級集合(52)之數目為二,且該等多個重構層級集合包含:一第一重構層級集合,其包含零及一預定量化步長之偶數倍,及一第二重構層級集合,其包含零及該預定量化步長之奇數倍。
16. 如實施例15之設備,其經組配以針對狀態值0及1選擇該第一重構層級集合,且針對狀態值2及3選擇該第二重構層級集合。
17. 如實施例1至16中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術解碼對一預定變換係數之有效值旗標進行解碼。
18. 如實施例1至17中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術解碼對一預定變換係數之有效值旗標進行解碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數之預定變換係數之有效值旗標之前經解碼的一旗標集合判定一局部活動,且取決於該局部活動選擇一上下文。
19. 如實施例18之設備,其經組配以在一個第一遍次中對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行解碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該局部活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
20. 如實施例1至19中任一項之設備,其經組配以:a)針對該各別變換係數,藉由以下操作而使用一狀態轉換執行自多個重構層級集合選擇該重構層級集合:唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合,且取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態;b)沿該掃描次序執行該一或多個第一遍次;及c)藉由取決於該狀態轉換針對預定變換係數(13')假定之狀態選擇一上下文而使用上下文自適應性二進位算術解碼對一預定變換係數之有效值旗標進行解碼。
21. 如實施例20之設備,其經組配以藉由取決於該狀態選擇包含該上下文之一上下文集合而使用上下文自適應性熵解碼對一預定變換係數之有效值旗標進行解碼,且取決於圍繞該預定變換係數之一局部活動或該預定變換係數之一係數位置自該上下文集合選擇該上下文。
22. 如實施例21之設備,其中針對狀態0及1選擇一第一上下文集合,針對狀態2選擇一第二上下文集合,且針對狀態3選擇一第三上下文集合。
23. 如實施例1至22中任一項之設備,其經組配以:a)藉由以下操作解量化量化索引不為零之各變換係數之該量化索引:取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,且將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引索引化;b)沿該掃描次序執行該一或多個第一遍次;及c)藉由取決於針對一預定變換係數選擇之該重構層級集合選擇一上下文而使用上下文自適應性二進位算術解碼對該預定變換係數之該有效值旗標進行解碼。
24. 如實施例1至23中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術解碼對一預定變換係數之同位旗標進行解碼。
25. 如實施例1至24中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術解碼對一預定變換係數之同位旗標進行解碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數的預定變換係數之同位旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之重構層級不為零;且取決於該局部活動及/或變換係數之該數目選擇一上下文。
26. 如實施例25之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
27. 如實施例25或26之設備,其經組配以在一個第一遍次中對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行解碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
28. 如實施例1至27中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術解碼對一預定變換係數之一或多個大小程度旗標中之一第一大小程度旗標進行解碼。
29. 如實施例1至28中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術解碼對一預定變換係數之第一大小程度旗標進行解碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數的預定變換係數之第一大小程度旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之重構層級不為零;且取決於該局部活動及/或變換係數之該數目選擇一上下文。
30. 如實施例29之設備,其經組配以取決於該局部活動與該變換區塊內部之變換係數之該數目之間的一差選擇該上下文。
31. 如實施例29或30之設備,其經組配以在一個第一遍次中對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行解碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
32. 如實施例1至31中任一項之設備,其經組配以使用一哥倫布-萊斯碼且使用一萊斯參數對一預定變換係數之餘數進行解碼,該萊斯參數取決於圍繞該預定變換係數之一局部範本內的一組相鄰變換係數中之各者之一加數的一總和,該加數取決於各別相鄰變換係數之一量化索引或一重構層級。
33. 一種用於對變換係數之一區塊進行編碼的設備,其經組配以:a)在掃描該等變換係數之一或多個第一遍次中,使用上下文自適應性二進位算術編碼對當前變換係數之一有效值旗標(例如,sig_flag[k])、該等變換係數之一同位旗標(例如,par_flag[k])以及量化索引不為零之變換係數之一或多個大小程度旗標(例如,gt#_flag[k])進行編碼,該有效值旗標指示該當前變換係數之一量化索引(例如,level[k])是否為零,該同位旗標指示該等變換係數之一同位;及b)在一或多個第三遍次中,使用等機率二進位算術編碼對該等變換係數之該量化索引之一餘數(例如,remainder[k])以及該等變換係數之該量化索引之一符號(例如,sign[k])進行編碼,該等變換係數之該一或多個大小程度旗標為正,該等變換係數之該量化索引不為零。
34. 如實施例33之設備,其經組配以在一個第一遍次中,針對一當前經掃描變換係數,a)使用上下文自適應性二進位算術編碼對該當前經掃描變換係數之有效值旗標進行解碼,且b)若該有效值旗標指示該當前經掃描變換係數之量化索引不為零,則針對該當前經掃描變換係數,使用上下文自適應性二進位算術編碼對該當前經掃描變換係數之同位旗標進行編碼。
35. 如實施例33或34之設備,其經組配以在該一或多個第二遍次中,針對一當前經掃描變換係數,若該當前經掃描變換係數之該量化索引不為零,則使用上下文自適應性二進位算術編碼對該當前經掃描變換係數之一第一大小程度旗標進行編碼。
36. 如實施例35之設備,其經組配以使得針對一預定變換係數,可根據一總和獲得該量化索引,該總和之加數係由藉由以下形成:該預定變換係數之有效值旗標、該預定變換係數之同位旗標,及該預定變換係數之餘數與該第一大小程度旗標之一總和的兩倍。
37. 如實施例36之設備,其經組配以在該一或多個第二遍次中,針對一當前經掃描變換係數,若該當前經掃描變換係數之該第一大小程度旗標為正,則使用上下文自適應性二進位算術編碼對該當前經掃描變換係數之一第二大小程度旗標進行編碼。
38. 如實施例37之設備,其經組配以針對一預定變換係數,可根據一總和獲得該量化索引,該總和之加數係藉由以下形成:該預定變換係數之該有效值旗標、該預定變換係數之該同位旗標、該預定變換係數之該第一大小程度旗標,及該預定變換係數之該餘數與該第二大小程度旗標之一總和的兩倍。
39. 如實施例33至38中任一項之設備,其經組配以在該一或多個第一遍次中之各者之後執行該一或多個第二遍次中之各者。
40. 如前述實施例中任一項之設備,其中一變換區塊之變換係數被分割成子區塊,且該等變換係數經逐子區塊解碼,其中遍及一子區塊之掃描位置的所有遍次係在下一子區塊之第一遍次經解碼之前經解碼。
41. 如實施例33至40中任一項之設備,其經組配以藉由以下操作量化量化索引不為零之各變換係數之該量化索引:取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,及將該各別變換係數量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引索引化。
42. 如實施例47之設備,其經組配以針對該各別變換係數,藉由以下操作使用一狀態轉換執行自多個重構層級集合選擇該重構層級集合:唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合,且取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態。
43. 如實施例42之設備,其經組配以沿該掃描次序執行該一或多個第一遍次及該一或多個第二遍次。
44. 如實施例42或43之設備,其經組配以執行四個相異狀態之間的狀態轉換轉換。
45. 如實施例40至43中任一項之設備,其經組配以藉助於一預定量化步長使該等多個重構層級集合參數化且自資料串流導出關於該預定量化步長之資訊。
46. 如實施例40至45中任一項之設備,其中該等多個重構層級集合中之各者由一預定量化步長之倍數組成,該預定量化步長對於該等多個重構層級集合係恆定的。
47. 如實施例40至46中任一項之設備,其中該等多個重構層級集合中之重構層級集合之數目為二,且該等多個重構層級集合包含:一第一重構層級集合,其包含零及一預定量化步長之偶數倍,及一第二重構層級集合,其包含零及該預定量化步長之奇數倍。
48. 如實施例47之設備,其經組配以針對狀態值0及1選擇該第一重構層級集合,且針對狀態值2及3選擇該第二重構層級集合。
49. 如實施例33至48中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術編碼對一預定變換係數之有效值旗標進行編碼。
50. 如實施例33至49中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術編碼對一預定變換係數之有效值旗標進行編碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數之預定變換係數之有效值旗標之前經解碼的一旗標集合判定一局部活動,且取決於該局部活動選擇一上下文。
51. 如實施例50之設備,其經組配以在一個第一遍次中對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行編碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該局部活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
52. 如實施例33至51中任一項之設備,其經組配以:a)針對該各別變換係數,藉由以下操作而使用一狀態轉換執行自多個重構層級集合選擇該重構層級集合:唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合,取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態;b)沿該掃描次序執行該一或多個第一遍次;及c)藉由取決於該狀態轉換針對預定變換係數(13')假定之狀態選擇一上下文而使用上下文自適應性二進位算術編碼對一預定變換係數之有效值旗標進行編碼。
53. 如實施例52之設備,其經組配以藉由取決於該狀態選擇包含該上下文之一上下文集合而使用上下文自適應性熵編碼對一預定變換係數之有效值旗標進行編碼,且取決於圍繞該預定變換係數之一局部活動或該預定變換係數之一係數位置自該上下文集合選擇該上下文。
54. 如實施例53之設備,其中針對狀態0及1選擇一第一上下文集合,針對狀態2選擇一第二上下文集合,且針對狀態3選擇一第三上下文集合。
55. 如實施例33至54中任一項之設備,其經組配以:a)藉由以下操作量化量化索引不為零之各變換係數之該量化索引:取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,且將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引索引化;b)沿該掃描次序執行該一或多個第一遍次;及c)藉由取決於針對該預定變換係數(13')選擇之重構層級集合(48)選擇一上下文而使用上下文自適應性二進位算術編碼對一預定變換係數之有效值旗標進行編碼。
56. 如實施例33至55中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術編碼對一預定變換係數之同位旗標進行編碼。
57.   如實施例33至56中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術編碼對一預定變換係數之同位旗標進行編碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數的預定變換係數之同位旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之重構層級不為零;且取決於該局部活動及/或變換係數之該數目選擇一上下文。
58. 如實施例57之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
59. 如實施例57或58之設備,其經組配以在一個第一遍次中對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行編碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
60. 如實施例33至59中任一項之設備,其經組配以藉由取決於該變換區塊內部之該預定變換係數之一係數位置選擇一上下文而使用上下文自適應性二進位算術編碼對一預定變換係數之一或多個大小程度旗標中之一第一大小程度旗標進行編碼。
61. 如實施例33至60中任一項之設備,其經組配以藉由以下操作而使用上下文自適應性二進位算術編碼對一預定變換係數之第一大小程度旗標進行編碼:基於在圍繞該預定變換係數之一局部範本內之一組相鄰變換係數的預定變換係數之第一大小程度旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之重構層級不為零;且取決於該局部活動及/或變換係數之該數目選擇一上下文。
62. 如實施例61之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
63. 如實施例61或62之設備,其經組配以在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標進行編碼,使得該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標,且基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標而判定。
64. 如實施例33至63中任一項之設備,其經組配以使用一哥倫布-萊斯碼且使用一萊斯參數對一預定變換係數之餘數進行編碼,該萊斯參數取決於圍繞該預定變換係數之一局部範本內的一組相鄰變換係數中之各者之一加數的一總和,該加數取決於各別相鄰變換係數之一量化索引或一重構層級。
65. 一種方法,其由如以上實施例中任一項之設備執行。
66. 一種電腦程式,其用於發指令給一電腦,該電腦執行該電腦程式以執行如實施例65之方法。
67. 一種資料串流,其係由如實施例33至64中任一項之設備產生。
儘管已在設備之上下文中描述一些態樣,但顯然,此等態樣亦表示對應方法之描述,其中區塊或裝置對應於方法步驟或方法步驟之特徵。類似地,方法步驟之上下文中所描述的態樣亦表示對應區塊或項目或對應設備之特徵的描述。可由(或使用)硬體設備(比如微處理器、可規劃電腦或電子電路)執行方法步驟中之一些或全部。在一些實施例中,可由此設備執行最重要之方法步驟中之一或多者。
本發明的經編碼資料串流可儲存於數位儲存媒體上或可在諸如無線傳輸媒體之傳輸媒體或諸如網際網路之有線傳輸媒體上傳輸。
取決於某些實施要求,本發明之實施例可以硬體或以軟體實施。可使用例如軟碟、DVD、藍光、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體之數位儲存媒體來執行實施,其上儲存有與可規劃電腦系統協作(或能夠協作)之電子可讀控制信號,使得執行各別方法之。因此,數位儲存媒體可為電腦可讀的。
根據本發明之一些實施例包含具有電子可讀控制信號之資料載體,該等控制信號能夠與可規劃電腦系統協作,使得執行本文中所描述之方法中之一者。
大體而言,本發明之實施例可實施為具有程式碼之電腦程式產品,當電腦程式產品運行於電腦上時,程式碼操作性地用於執行該等方法中之一者。程式碼可例如儲存於機器可讀載體上。
其他實施例包含儲存於機器可讀載體上,用於執行本文中所描述之方法中的一者的電腦程式。
換言之,本發明方法之實施例因此為電腦程式,其具有用於在電腦程式於電腦上執行時執行本文中所描述之方法中之一者的程式碼。
因此,本發明方法之另一實施例為資料載體(或數位儲存媒體,或電腦可讀媒體),其包含記錄於其上的用於執行本文中所描述之方法中之一者的電腦程式。資料載體、數位儲存媒體或所記錄媒體通常係有形的及/或非暫時性的。
因此,本發明之方法之另一實施例為表示用於執行本文中所描述之方法中的一者之電腦程式之資料串流或信號序列。資料串流或信號序列可例如經組配以經由資料通訊連接,例如經由網際網路而傳送。
另一實施例包含處理構件,例如經組配或經調適以執行本文中所描述之方法中之一者的電腦或可規劃邏輯裝置。
另一實施例包含上面安裝有用於執行本文中所描述之方法中之一者的電腦程式之電腦。
根據本發明之另一實施例包含經組配以(例如,電子地或光學地)將用於執行本文中所描述之方法中之一者的電腦程式傳送至接收器的裝置或系統。接收器可例如為電腦、行動裝置、記憶體裝置或類似者。設備或系統可例如包含用於將電腦程式傳送至接收器之檔案伺服器。
在一些實施例中,可規劃邏輯裝置(例如,場可規劃閘陣列)可用以執行本文中所描述之方法的功能性中之一些或全部。在一些實施例中,場可規劃閘陣列可與微處理器協作,以便執行本文中所描述之方法中之一者。通常,該等方法較佳地由任何硬體設備來執行。
本文中所描述之設備可使用硬體設備或使用電腦或使用硬體設備與電腦之組合來實施。
本文中所描述之設備或本文中所描述之設備的任何組件可至少部分地以硬體及/或以軟體來實施。
本文中所描述之方法可使用硬體設備或使用電腦或使用硬體設備與電腦的組合來進行。
本文中所描述之方法或本文中所描述之設備的任何組件可至少部分地由硬體及/或由軟體來執行。
由上述討論將可理解,本發明可另以多種實施例形式體現,包含但不限於下列:
68.一種用於對變換係數之一區塊進行解碼的設備,該設備經組配以: 在掃描該等變換係數之一或多個第一遍次中, 使用上下文脈絡自適應性熵解碼對該等變換係數之一有效值旗標進行解碼,該有效值旗標指示該等變換係數之一量化索引是否為零, 對該等變換係數之一同位旗標進行解碼,該同位旗標指示該等變換係數之一同位, 在包括或不包括該一或多個第一遍次中之一或多者的掃描該等變換係數之一或多個第二遍次中, 使用上下文脈絡自適應性熵解碼對該量化索引不為零之變換係數之一或多個大小程度旗標進行解碼, 在一或多個第三遍次中, 使用等機率熵解碼對以下各者進行解碼, 該等變換係數之該量化索引之一餘數,該等變換係數之該一或多個大小程度旗標為正,以及 該等變換係數之該量化索引之一符號,該等變換係數之該量化索引不為零。
69.如實施例68之設備,其經組配以 在一個第一遍次中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之該有效值旗標進行解碼,且 若該有效值旗標指示該當前經掃描變換係數之該量化索引不為零,則針對該當前經掃描變換係數,使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之該同位旗標進行解碼。
70.如實施例68之設備,其經組配以 在該一或多個第一遍次中之一者中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之該同位旗標進行解碼,且 在該一或多個第一遍次中之另一者中,針對一當前經掃描變換係數, 若該同位旗標指示該當前經掃描變換係數之該量化索引為偶數,則針對該當前經掃描變換係數,使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之該有效值旗標進行解碼。
71.如實施例68至70中任一者之設備,其經組配以 在該一或多個第二遍次中,針對一當前經掃描變換係數, 若該當前經掃描變換係數之該量化索引不為零,則使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之一第一大小程度旗標進行解碼。
72.如實施例71之設備,其經組配以 針對一預定變換係數,根據一總和計算該量化索引,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該餘數與該第一大小程度旗標之一總和的兩倍。
73.如實施例71之設備,其經組配以 在該一或多個第二遍次中,針對一當前經掃描變換係數, 若該當前經掃描變換係數之該第一大小程度旗標為正,則使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之一第二大小程度旗標進行解碼。
74.如實施例73之設備,其經組配以 針對一預定變換係數,根據一總和計算該量化索引之絕對值,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該餘數、該第一大小程度旗標與該第二大小程度旗標之一總和的兩倍。
75.如實施例73之設備,其經組配以 針對一預定變換係數,根據一總和計算該量化索引之絕對值,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該第一大小程度旗標,以及 該預定變換係數之該餘數與該第二大小程度旗標之一總和的兩倍。
76.如實施例73至75中任一者之設備, 其經組配以在單獨第二遍次中執行該第一大小程度旗標及該第二大小程度旗標之該解碼,及/或 其中該一或多個第二遍次不包括該一或多個第一遍次。
77.如實施例68至76中任一者之設備,其經組配以 在該一或多個第一遍次中之各者之後執行該一或多個第二遍次中之各者,且 在該一或多個第二遍次中之各者之後執行該一或多個第三遍次中之各者。
78.如實施例68至76中任一者之設備,其中該一或多個第一遍次包括於該一或多個第二遍次中。
79.如實施例78之設備,其中該等變換係數之該有效值旗標、該同位旗標及該一或多個大小程度旗標在一個遍次中經解碼。
80.如實施例68之設備,其經組配以 在該一或多個第一遍次中之一者中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵解碼對該當前經掃描變換係數之該有效值旗標進行解碼, 在該一個第一遍次之後,在該一或多個第二遍次中, 使用上下文脈絡自適應性熵解碼對該等變換係數之多於一個大小程度旗標之一序列進行解碼, 在該一或多個第二遍次之後,在該一或多個第一遍次中之另一者中, 使用等機率熵解碼對該等變換係數之該同位旗標進行解碼,該等變換係數之該量化索引不為零。
81.如實施例68至80中任一者之設備,其中該區塊之該變換係數被分割成子區塊,且該等變換係數經逐子區塊解碼,以至於一子區塊之各變換係數係在下一子區塊之該等變換係數之前經解碼。
82.如實施例68至81中任一者之設備,其中二進位算術解碼用作熵解碼,且該餘數係藉由解碼該等變換係數之該量化索引的一絕對值之一二進位化的位元子而解碼。
83.如實施例68至82中任一者之設備,其經組配以 藉由以下操作解量化該量化索引不為零之各變換係數之該量化索引: 取決於沿一掃描次序先於各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,以及 將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引來索引化。
84.如實施例83之設備,其經組配以 藉由以下操作而使用一狀態轉換來執行該針對該各別變換係數自多個重構層級集合選擇該重構層級集合之操作: 唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合, 取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態。
85.如實施例84之設備,其經組配以沿該掃描次序而執行 該一或多個第一遍次,及/或 該一或多個第二遍次,及/或 該一或多個第三遍次。
86.如實施例84或85之設備,其經組配以執行四個相異狀態之間的狀態轉換轉換。
87.如實施例83至86中任一者之設備,其經組配以 藉助於一預定量化步長使該等多個重構層級集合參數化且自資料串流導出關於該預定量化步長之資訊。
88.如實施例84至87中任一者之設備,其中該等多個重構層級集合中之各者由一預定量化步長之倍數組成,該預定量化步長對於該等多個重構層級集合係恆定的。
89.如實施例83至88中任一者之設備,其中該等多個重構層級集合中之重構層級集合之數目為二,且該等多個重構層級集合包含 一第一重構層級集合,其包含零及一預定量化步長之偶數倍,以及 一第二重構層級集合,其包含零及該預定量化步長之奇數倍。
90.如實施例89之設備,其經組配以針對狀態值0及1選擇該第一重構層級集合,且針對狀態值2及3選擇該第二重構層級集合。
91.如實施例68至90中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵解碼對一預定變換係數之該有效值旗標進行解碼: 變換區塊內部之該預定變換係數之一係數位置。
92.如實施例68至91中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵解碼對一預定變換係數之該有效值旗標進行解碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該有效值旗標之前經解碼的一旗標集合判定一局部活動,以及 取決於該局部活動選擇一上下文。
93.如實施例92之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行解碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
94.如實施例68至93中任一者之設備,其經組配以 藉由以下操作而使用一狀態轉換來執行該針對該各別變換係數自多個重構層級集合選擇該重構層級集合之操作: 唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合, 取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態, 沿該掃描次序執行該一或多個第一遍次,且 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵解碼對一預定變換係數之該有效值旗標進行解碼: 該狀態轉換針對該預定變換係數假定之該狀態。
95.如實施例94之設備,其經組配以 藉由取決於該狀態選擇包含該上下文之一上下文集合而使用上下文脈絡自適應性熵解碼對一預定變換係數之該有效值旗標進行解碼,且取決於圍繞該預定變換係數之一局部活動或該預定變換係數之一係數位置自該上下文集合選擇該上下文。
96.如實施例95之設備,其經組配以針對狀態0及1選擇一第一上下文集合,針對狀態2選擇一第二上下文集合,且針對狀態3選擇一第三上下文集合。
97.如實施例68至96中任一者之設備,其經組配以 藉由以下操作解量化該量化索引不為零之各變換係數之該量化索引: 取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,以及 將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引來索引化, 沿該掃描次序執行該一或多個第一遍次,且 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵解碼對一預定變換係數之該有效值旗標進行解碼: 針對該預定變換係數選擇之該重構層級集合。
98如實施例68至97中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵解碼對一預定變換係數之該同位旗標進行解碼: 該預定變換係數之一係數位置。
99.如實施例68至98中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵解碼對一預定變換係數之該同位旗標進行解碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該同位旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之該重構層級不為零,以及 取決於該局部活動及/或變換係數之該數目選擇一上下文。
100.如實施例99之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
101.如實施例99或100之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行解碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
102.如實施例68至101中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵解碼對一預定變換係數之該一或多個大小程度旗標中之一第一大小程度旗標進行解碼: 該預定變換係數之一係數位置。
103.如實施例68至102中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵解碼對一預定變換係數之該第一大小程度旗標進行解碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該第一大小程度旗標之前經解碼的一旗標集合判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之該重構層級不為零,以及 取決於該局部活動及/或變換係數之該數目選擇一上下文。
104.如實施例103之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
105.如實施例103或104之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行解碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該局部活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
106.如實施例68至105中任一者之設備,其經組配以使用一哥倫布-萊斯碼且使用一萊斯參數對一預定變換係數之該餘數進行解碼,該萊斯參數取決於圍繞該預定變換係數之一局部範本內的一組相鄰變換係數中之各者之一加數的一總和,該加數取決於各別相鄰變換係數之一量化索引或一重構層級。
107.一種用於對變換係數之一區塊進行編碼的設備,該設備經組配以: 在掃描該等變換係數之一或多個第一遍次中, 使用上下文脈絡自適應性熵編碼對當前變換係數之一有效值旗標進行編碼,該有效值旗標指示該等當前變換係數之一量化索引是否為零, 對該等變換係數之一同位旗標進行編碼,該同位旗標指示該等變換係數之一同位, 在包括或不包括該一或多個第一遍次中之一或多者的掃描該等變換係數之一或多個第二遍次中, 使用上下文脈絡自適應性熵編碼對該量化索引不為零之變換係數之一或多個大小程度旗標進行編碼, 在一或多個第三遍次中, 使用等機率熵編碼對以下各者進行編碼, 該等變換係數之該量化索引之一餘數,該等變換係數之該一或多個大小程度旗標為正,以及 該等變換係數之該量化索引之一符號,該等變換係數之該量化索引不為零。
108.如實施例107之設備,其經組配以 在一個第一遍次中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之該有效值旗標進行解碼,且 若該有效值旗標指示該當前經掃描變換係數之該量化索引不為零,則針對該當前經掃描變換係數,使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之該同位旗標進行編碼。
109.如實施例107之設備,其經組配以 在該一或多個第一遍次中之一者中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之該同位旗標進行編碼,且 在該一或多個第一遍次中之另一者中,針對一當前經掃描變換係數, 若該同位旗標指示該當前經掃描變換係數之該量化索引為偶數,則針對該當前經掃描變換係數,使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之該有效值旗標進行編碼。
110.如實施例100至109中任一者之設備,其經組配以 在該一或多個第二遍次中,針對一當前經掃描變換係數, 若該當前經掃描變換係數之該量化索引不為零,則使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之一第一大小程度旗標進行編碼。
111.如實施例110之設備,其經組配以至於 針對一預定變換係數,能夠根據一總和獲得該量化索引,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該餘數與該第一大小程度旗標之一總和的兩倍。
112.如實施例111之設備,其經組配以 在該一或多個第二遍次中,針對一當前經掃描變換係數, 若該當前經掃描變換係數之該第一大小程度旗標為正,則使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之一第二大小程度旗標進行編碼。
113.如實施例112之設備,其經組配以 針對一預定變換係數,能夠根據一總和獲得該量化索引,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該餘數、該第一大小程度旗標與該第二大小程度旗標之一總和的兩倍。
114.如實施例112之設備,其經組配以 針對一預定變換係數,能夠根據一總和獲得該量化索引,該總和之加數係藉由以下形成: 該預定變換係數之該有效值旗標, 該預定變換係數之該同位旗標, 該預定變換係數之該第一大小程度旗標,以及 該預定變換係數之該餘數與該第二大小程度旗標之一總和的兩倍。
115.如實施例112至114中任一者之設備,其經組配以 其經組配以在單獨第二遍次中執行該第一大小程度旗標及該第二大小程度旗標之該編碼,及/或 其中該一或多個第二遍次不包括該一或多個第一遍次。
116.如實施例100至115中任一者之設備,其經組配以 在該一或多個第一遍次中之各者之後執行該一或多個第二遍次中之各者,且 在該一或多個第二遍次中之各者之後執行該一或多個第三遍次中之各者。
117.如實施例107至116中任一者之設備,其中該一或多個第一遍次包括於該一或多個第二遍次中。
118.如實施例117之設備,其中該等變換係數之該有效值旗標、該同位旗標及該一或多個大小程度旗標在一個遍次中經解碼。
119.如實施例107之設備,其經組配以 在該一或多個第一遍次中之一者中,針對一當前經掃描變換係數, 使用上下文脈絡自適應性熵編碼對該當前經掃描變換係數之該有效值旗標進行編碼, 在該一個第一遍次之後,在該一或多個第二遍次中, 使用上下文脈絡自適應性熵解碼對該等變換係數之多於一個大小程度旗標之一序列進行編碼, 在該一或多個第二遍次之後,在該一或多個第一遍次中之另一者中, 使用等機率熵編碼對該等變換係數之該同位旗標進行編碼,該等變換係數之該量化索引不為零。
120.如實施例107至119中任一者之設備,其中該區塊之該等變換係數被分割成子區塊,且該等變換係數經逐子區塊編碼,以至於一子區塊之各變換係數係在下一子區塊之該等變換係數之前經編碼。
121.如實施例107至120中任一者之設備,其中二進位算術編碼用作熵編碼,且該餘數係藉由編碼該等變換係數之該量化索引的一絕對值之一二進位化的位元子而編碼。
122.如實施例107至121中任一者之設備,其經組配以 藉由以下操作量化該量化索引不為零之各變換係數之該量化索引: 取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,以及 將該各別變換係數量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引來索引化。
123.如實施例122之設備,其經組配以 藉由以下操作而使用一狀態轉換來執行該針對該各別變換係數自多個重構層級集合選擇該重構層級集合之操作: 唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合, 取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態。
124.如實施例123之設備,其經組配以沿該掃描次序而執行 該一或多個第一遍次,及/或 該一或多個第二遍次,及/或 該一或多個第三遍次。
125.如實施例123或124之設備,其經組配以執行四個相異狀態之間的狀態轉換轉換。
126.如實施例122至125中任一者之設備,其經組配以 藉助於一預定量化步長使該等多個重構層級集合參數化且自資料串流導出關於該預定量化步長之資訊。
127.如實施例123至126中任一者之設備,其中該等多個重構層級集合中之各者由一預定量化步長之倍數組成,該預定量化步長對於該等多個重構層級集合係恆定的。
128.如實施例122至127中任一者之設備,其中該等多個重構層級集合中之重構層級集合之數目為二,且該等多個重構層級集合包含 一第一重構層級集合,其包含零及一預定量化步長之偶數倍,以及 一第二重構層級集合,其包含零及該預定量化步長之奇數倍。
129.如實施例128之設備,其經組配以針對狀態值0及1選擇該第一重構層級集合,且針對狀態值2及3選擇該第二重構層級集合。
130.如實施例107至129中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵編碼對一預定變換係數之該有效值旗標進行編碼: 變換區塊內部之該預定變換係數之一係數位置。
131.如實施例107至130中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵編碼對一預定變換係數之該有效值旗標進行編碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該有效值旗標之前經解碼的一旗標集合判定一局部活動,以及 取決於該局部活動選擇一上下文。
132.如實施例131之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行編碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
133.如實施例107至132中任一者之設備,其經組配以 藉由以下操作而使用一狀態轉換來執行該針對該各別變換係數自多個重構層級集合選擇該重構層級集合之操作: 唯一地基於該狀態轉換針對該各別變換係數假定之一狀態自該等多個重構層級集合選擇該重構層級集合, 取決於該各別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態, 沿該掃描次序執行該一或多個第一遍次,且 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵編碼對一預定變換係數之該有效值旗標進行編碼: 該狀態轉換針對該預定變換係數假定之該狀態。
134.如實施例133之設備,其經組配以 藉由取決於該狀態選擇包含該上下文之一上下文集合而使用上下文脈絡自適應性熵編碼對一預定變換係數之該有效值旗標進行編碼,且取決於圍繞該預定變換係數之一局部活動或該預定變換係數之一係數位置自該上下文集合選擇該上下文。
135.如實施例134之設備,其經組配以針對狀態0及1選擇一第一上下文集合,針對狀態2選擇一第二上下文集合,且針對狀態3選擇一第三上下文集合。
136.如實施例107至135中任一者之設備,其經組配以 藉由以下操作量化該量化索引不為零之各變換係數之該量化索引: 取決於沿一掃描次序先於該各別變換係數之變換係數之量化索引的同位,針對該各別變換係數自多個重構層級集合選擇一重構層級集合,以及 將該各別變換係數解量化至該重構層級集合之一個層級上,該層級由該各別變換係數之該量化索引來索引化, 沿該掃描次序執行該一或多個第一遍次,且 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵編碼對一預定變換係數之該有效值旗標進行編碼: 針對該預定變換係數選擇之該重構層級集合。
137.如實施例107至136中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵編碼對一預定變換係數之該同位旗標進行編碼: 該預定變換係數之一係數位置。
138.如實施例107至137中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵編碼對一預定變換係數之該同位旗標進行編碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該同位旗標之前經解碼的一旗標集合而判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之該重構層級不為零,以及 取決於該局部活動及/或變換係數之該數目選擇一上下文。
139.如實施例138之設備,其經組配以取決於該局部活動與變換係數之該數目之間的一差選擇該上下文。
140.如實施例138或139之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行編碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
141.如實施例107至140中任一者之設備,其經組配以 藉由取決於下者選擇一上下文而使用上下文脈絡自適應性熵編碼對一預定變換係數之該一或多個大小程度旗標中之一第一大小程度旗標進行編碼: 該預定變換係數之一係數位置。
142.如實施例107至141中任一者之設備,其經組配以 藉由以下操作,使用上下文脈絡自適應性熵編碼對一預定變換係數之該第一大小程度旗標進行編碼: 基於在圍繞該預定變換係數之一局部範本內的一組相鄰變換係數之該預定變換係數之該第一大小程度旗標之前經解碼的一旗標集合而判定一局部活動,及/或判定圍繞該預定變換係數之該局部範本內之變換係數的一數目,該等預定變換係數之重構層級不為零,以及 取決於該局部活動及/或變換係數之該數目選擇一上下文。
143.如實施例142之設備,其組配來取決於該局部活動與變換係數之該數目間的一差選擇該上下文。
144.如實施例142或143之設備,其經組配以 在一個第一遍次中依序地對該有效值旗標、該同位旗標及該一或多個大小程度旗標中之一第一大小程度旗標進行編碼,以至於該旗標集合包含針對該組相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標,且經組配以基於該等相鄰變換係數中之各者之一加數的一總和而計算該局部活動,該等加數指示用於該等相鄰變換係數之一最低限度地假定之索引或一最低限度地假定之重構層級,該索引或重構層級係基於針對該等相鄰變換係數解碼之該有效值旗標、該同位旗標及該一或多個大小程度旗標中之該第一大小程度旗標而判定。
145.如實施例107至144中任一者之設備,其經組配以使用一哥倫布-萊斯碼且使用一萊斯參數對一預定變換係數之該餘數進行編碼,該萊斯參數取決於圍繞該預定變換係數之一局部範本內的一組相鄰變換係數中之各者之一加數的一總和,該加數取決於各別相鄰變換係數之一量化索引或一重構層級。
146.一種用於對變換係數之一區塊進行解碼的方法,該方法經組配以 在掃描該等變換係數之一或多個第一遍次中, 使用上下文脈絡自適應性熵解碼對該等變換係數之一有效值旗標進行解碼,該有效值旗標指示該等變換係數之一量化索引是否為零, 對該等變換係數之一同位旗標進行解碼,該同位旗標指示該等變換係數之一同位, 在包括或不包括該一或多個第一遍次中之一或多者的掃描該等變換係數之一或多個第二遍次中, 使用上下文脈絡自適應性熵解碼對該量化索引不為零之變換係數之一或多個大小程度旗標進行解碼, 在一或多個第三遍次中, 使用等機率熵解碼對以下各者進行解碼, 該等變換係數之該量化索引之一餘數,該等變換係數之該一或多個大小程度旗標為正,以及 該等變換係數之該量化索引之一符號,該等變換係數之該量化索引不為零。
147.一種用於對變換係數之一區塊進行編碼的方法,該方法經組配以 在掃描該等變換係數之一或多個第一遍次中, 使用上下文脈絡自適應性熵編碼對當前變換係數之一有效值旗標進行編碼,該有效值旗標指示該等當前變換係數之一量化索引是否為零, 對該等變換係數之一同位旗標進行編碼,該同位旗標指示該等變換係數之一同位, 在包括或不包括該一或多個第一遍次中之一或多者的掃描該等變換係數之一或多個第二遍次中, 使用上下文脈絡自適應性熵編碼對該量化索引不為零之變換係數之一或多個大小程度旗標進行編碼, 在一或多個第三遍次中, 使用等機率熵編碼對以下各者進行編碼, 該等變換係數之該量化索引之一餘數,該等變換係數之該一或多個大小程度旗標為正,以及 該等變換係數之該量化索引之一符號,該等變換係數之該量化索引不為零。
148.一種電腦程式,其用於發指令給一電腦,該電腦執行該電腦程式以執行如實施例146或147之一方法。
149.一種資料串流,其係藉由如實施例147之一方法產生。
上述實施例僅說明本發明之原理。應理解,對本文中所描述之配置及細節的修改及變化將對本領域熟習此項技術者顯而易見。因此,意圖為僅受到接下來之申請專利範圍之範疇限制,而不受到藉由本文中之實施例之描述解釋所呈現的特定細節限制。 參考文獻
[1]     ITU-T and ISO|IEC, “Advanced video coding for audiovisual services,” ITU-T Rec. H.264 and ISO|IEC 14406-10 (AVC), 2003.
[2]     ITU-T and ISO|IEC, “High efficiency video coding,” ITU-T Rec. H.265 and ISO|IEC 23008-10 (HEVC), 2013.
[3]     Abrecht, et. al., “Description of SDR, HDR, and 360° video coding technology proposal by Fraunhofer HHI,” Joint Video Experts Team (JVET), doc. JVET-J0014, Apr. 2018.
10:變換區塊 12:變換係數 14:子區塊 16、28、30:解碼/任務 18、24'、24'':解碼 20:第一掃描遍次/有效值/同位遍次 20'、20'':遍次 22:第二遍次/大小程度旗標遍次 22':第一掃描遍次 22'':第二掃描遍次 26:第三遍次/掃描遍次 27:第三遍次 32、34:檢查 40:更新 42:假定 44:箭頭/寫碼次序 45:查找 46:狀態 50:預定變換係數 51:相鄰變換係數 52:局部範本
有利態樣為附屬請求項之標的。下文中關於諸圖描述本申請案之較佳實施例,在圖中: 圖1  展示可體現為根據下文所描述之實施例中之任一者而操作的作為圖像編碼器之實例之例示性視訊編碼器的方塊圖。 圖2  展示(a)變換編碼器;及(b)變換解碼器之方塊圖以說明基於區塊之變換寫碼之基本方法; 圖3  展示說明均一重構量化器之分佈的直方圖。 圖4  展示(a)細分成子區塊之變換區塊及(b)子區塊之示意圖,以便說明用於變換係數層級之掃描的實例,在此例示性地為用於H.265|MPEG-H HEVC中之一個實例;特定言之,(a)展示16×16變換區塊分割成4×4子區塊及子區塊之寫碼次序;(b)展示4×4子區塊內部之變換係數層級之寫碼次序。細分可例示性地用於本申請案之實施例,在解碼係數之旗標及餘數(remainder)時用於係數之遍次且在對該等係數解量化時用於狀態轉換。 圖5  展示各變換係數由一個軸線橫跨之多維輸出空間及針對以下二個變換係數之簡單狀況可容許的重構向量之位置的示意圖:(a)非相依純量量化;(b)相依純量量化之實例。 圖6  展示使用相依純量量化藉此形成根據本申請案之媒體解碼器之實施例的變換解碼器之方塊圖。關於習知變換寫碼(利用非相依純量量化器)之修改可藉由與圖2b進行比較而導出。以對應方式,可同樣藉由修改圖2a之編碼器來獲得使用相依純量量化編碼變換區塊之實施例。 圖7  為說明完全由單量化步長Δ判定之重構層級之二個相依量化集合之實施例的示意圖。重構層級之二個可用集合突出顯示為集合0 (頂線)及集合1 (底線)。指示集合內部之重構層級的量化索引之實例係由圓下方之數字給出。空心圓及實心圓指示重構層級之集合內部的二個不同子集;該等子集可用於判定重構次序中之下一變換係數的重構層級之集合。二個集合皆包括等於零之重構層級,但另外不相交;二個集合圍繞零對稱。 圖8  展示說明變換係數之重構程序之實例的偽碼。k表示指定當前變換係數之重構次序的索引,當前變換係數之量化索引係由level[k]表示,適用於當前變換係數之量化步長 係由quant_step_size[k]表示,且trec[k]表示經重構變換係數 之值。變數setId[k]指定適用於當前變換係數之重構層級之集合。其係基於重構次序中之在前變換係數來判定;setId[k]之可能值為0及1。變數n指定量化步長之整數因子;其係由重構層級之所選集合(亦即,setId[k]之值)及所傳輸之量化索引level[k]給定。 圖9    展示說明圖8中之偽碼之替代實施的偽碼。主要變化為使用運用尺度及移位參數之整數實施來表示與量化步長相乘。通常,移位參數(由shift表示)對於變換區塊係恆定的,且僅尺度參數(由scale[k]給定)可取決於變換係數之位置。變數add表示捨入偏移,其通常被設定為等於add = (1<<(shift-1))。其中 為變換係數之標稱量化步長,參數shift及scale[k]係以吾人獲得 之方式來選擇。 圖10 展示將重構層級之集合分裂成二個子集之實例的示意圖。二個所展示之量化集合為圖7之實例之量化集合。量化集合0之二個子集係使用「A」及「B」標註,且量化集合1之二個子集係使用「C」及「D」來標註。 圖11 展示說明變換區塊之變換係數之重構程序之實例的偽碼。陣列level表示變換區塊之所傳輸變換係數層級(量化索引),且陣列trec表示對應的經重構變換係數。2d表state_trans_table指定狀態轉換表,且表setId指定與狀態相關聯之量化集合。 圖12 展示說明作為網格(trellis)結構的相依純量量化之狀態轉換的示意圖。存在之水平線表示重構次序中之不同變換係數。豎直軸線表示相依量化及重構程序中之不同可能狀態。所展示之連接指定不同變換係數之狀態之間的可用路徑。 圖13 展示基本網格胞元之實例。 圖14 展示用於說明以寫碼次序傳信第一非零量化索引之位置的變換區塊之示意圖,該位置係藉由回填(back filling)說明。除了第一非零變換係數之位置之外,僅傳輸陰影係數之位元子(bin),推斷經白色標記之係數等於0。 圖15 展示說明用於係數區塊之變換係數層級之寫碼之比較實例的偽碼,該區塊諸如可易於轉移至解碼未被劃分成子區塊之變換區塊及轉移至係數之解碼(亦即,藉由以「解碼」替換「寫碼」)的子區塊。此處,遍次(on pass)用以寫碼係數中除符號旗標以外之所有旗標及餘數。 圖16 展示變換區塊之示意圖且說明用於選擇機率模型之範本。黑色正方形指定當前掃描位置,且陰影正方形表示用於導出上下文模型之局部鄰域。 圖17 展示可用於判定量化索引之序列(或區塊)之實例網格結構的示意圖,該等量化索引使成本度量(諸如拉格朗日成本度量 )最小化。展示用於8個變換係數(或量化索引)之網格。第一狀態(在極左側)表示經設定為等於0之初始狀態。 圖18 展示說明用於係數區塊之變換係數層級之寫碼之實施例的偽碼,該區塊諸如可易於轉移至解碼未被劃分成子區塊之變換區塊及轉移至係數之解碼(亦即,藉由以「解碼」替換「寫碼」)的子區塊。此處,遍次用以寫碼係數中除符號旗標以外之所有旗標及餘數。此處,圖15之共同遍次分裂成三個遍次。 圖19 展示說明用於係數區塊之變換係數層級之寫碼之實施例的偽碼,該區塊諸如可易於轉移至解碼未被劃分成子區塊之變換區塊及轉移至係數之解碼(亦即,藉由以「解碼」替換「寫碼」)的子區塊。此處,遍次用以寫碼係數中除符號旗標以外之所有旗標及餘數。此處,圖15之共同遍次分裂成二個遍次,一個遍次用於餘數,另一遍次用於除符號旗標以外之旗標。 圖20 展示說明用於係數區塊之變換係數層級之寫碼之實施例的偽碼,該區塊諸如可易於轉移至解碼未被劃分成子區塊之變換區塊及轉移至係數之解碼(亦即,藉由以「解碼」替換「寫碼」)的子區塊。此處,遍次用以寫碼係數中除符號旗標以外之所有旗標及餘數。此處,圖15之共同遍次分裂成若干遍次,且同位旗標分別在絕對層級之前經寫碼或在任何其他旗標之前經寫碼。

Claims (15)

  1. 一種用以將變換係數之一區塊解碼的設備,該設備係組配來:在掃描該等變換係數之一或多個第一遍次中:使用上下文脈絡自適應性熵解碼對該等變換係數之有效值旗標進行解碼,該等有效值旗標各就一個別變換係數指示該個別變換係數之一量化索引是否為零,對該等變換係數之同位旗標進行解碼,該等同位旗標各就一個別變換係數指示該個別變換係數之一同位,使用上下文脈絡自適應性熵解碼對該量化索引不為零之各變換係數之一或多個大小程度旗標進行解碼;在一或多個進一步遍次中,使用等機率熵解碼對以下各者進行解碼:所相對之該一或多個大小程度旗標為正的各個變換係數之該量化索引之一餘數,以及所具之該量化索引不為零之各該變換係數之該量化索引之一符號。
  2. 如請求項1之設備,其係組配來:在一個第一遍次中,針對一當前所掃描變換係數:使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之該有效值旗標進行解碼,且 若該有效值旗標指示該當前所掃描變換係數之該量化索引不為零,則針對該當前所掃描變換係數,使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之該同位旗標進行解碼。
  3. 如請求項1之設備,其係組配來:在該一或多個第一遍次中之一者中,針對一當前所掃描變換係數:使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之該同位旗標進行解碼,且在該一或多個第一遍次中之另一者中,針對一當前所掃描變換係數:若該同位旗標指示該當前所掃描變換係數之該量化索引為偶數,則針對該當前所掃描變換係數,使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之該有效值旗標進行解碼。
  4. 如請求項1或2之設備,其係組配來:在該一或多個第一遍次中,針對一當前所掃描變換係數:若該有效值旗標指示該當前所掃描變換係數之該量化索引不為零,則使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之一第一大小程度旗標進行解碼。
  5. 如請求項4之設備,其係組配來:在該一或多個第二遍次中,針對一當前所掃描變換係 數:若該當前所掃描變換係數之該第一大小程度旗標為正,則使用上下文脈絡自適應性熵解碼對該當前所掃描變換係數之一第二大小程度旗標進行解碼。
  6. 如請求項5之設備,其係組配來:針對一預定變換係數,根據一總和計算該量化索引之絕對值,而該總和之加數係藉由以下形成:該預定變換係數之該有效值旗標,該預定變換係數之該同位旗標,該預定變換係數之該餘數、該第一大小程度旗標與該第二大小程度旗標之一總和的兩倍;或者係組配來針對一預定變換係數,根據一總和計算該量化索引之絕對值,該總和之加數係藉由以下形成:該預定變換係數之該有效值旗標,該預定變換係數之該同位旗標,該預定變換係數之該第一大小程度旗標,以及該預定變換係數之該餘數與該第二大小程度旗標之一總和的兩倍。
  7. 如請求項5之設備,其係組配來在多個個別遍次中執行該第一大小程度旗標及該第二大小程度旗標之該解碼,及/或係組配來在該一或多個第一遍次中之多個個別遍次中,執行一方面該有效值旗標與該同位旗標及另一方面該一或多個大小程度旗標之該解碼。
  8. 如請求項1至3中任一項之設備,其係組配來:在與一方面該有效值旗標與該同位旗標被解碼的該一或多個第一遍次中之進一步的一或多個遍次分隔且在其後的該一或多個第一遍次內的一或多個遍次中,執行該一或多個大小程度旗標之解碼,且在該一或多個第一遍次中之各者之後執行該一或多個進一步遍次中之各者。
  9. 如請求項1至3中任一項之設備,其中該一或多個第一遍次係為該等變換係數之該有效值旗標、該同位旗標及該一或多個大小程度旗標被解碼的一個遍次。
  10. 如請求項1至3中任一項之設備,其係組配來:藉由以下操作解量化該量化索引不為零之各變換係數之該量化索引:針對該個別變換係數,取決於沿一掃描次序先於該個別變換係數之變換係數之量化索引的同位,自多個重構層級集合選擇一重構層級集合,以及將該個別變換係數解量化至由該個別變換係數之該量化索引加以索引化的該重構層級集合之一個層級上。
  11. 如請求項10之設備,其係組配來:藉由以下操作而使用一狀態轉換來執行該針對該個別 變換係數自多個重構層級集合選擇該重構層級集合之操作:唯一地基於該狀態轉換針對該個別變換係數所採取之一狀態,自該等多個重構層級集合選擇該重構層級集合,取決於該個別變換係數之該量化索引之該同位,針對該掃描次序中在後的一變換係數更新該狀態轉換之該狀態。
  12. 一種用以對變換係數之一區塊進行編碼的設備,該設備係組配來:在掃描該等變換係數之一或多個第一遍次中:使用上下文脈絡自適應性熵編碼對當前變換係數之有效值旗標進行編碼,該等有效值旗標各針對一個個別變換係數指示該等個別當前變換係數之一量化索引是否為零,對該等變換係數之同位旗標進行編碼,該等同位旗標各針對一個個別變換係數指示該等個別變換係數之一同位,使用上下文脈絡自適應性熵編碼對該量化索引不為零之各變換係數之一或多個大小程度旗標進行編碼,在一或多個進一步遍次中:使用等機率熵編碼對以下各者進行編碼:所相對之該一或多個大小程度旗標為正的 各個變換係數之該量化索引之一餘數,以及所具之該量化索引不為零的各該變換係數之該量化索引之一符號。
  13. 一種用以將變換係數之一區塊解碼的方法,該方法係組配來:在掃描該等變換係數之一或多個第一遍次中:使用上下文脈絡自適應性熵解碼對該等變換係數之有效值旗標進行解碼,該等有效值旗標各就一個別變換係數指示該等個別變換係數之一量化索引是否為零,對該等變換係數之同位旗標進行解碼,該等同位旗標各就一個別變換係數指示該等個別變換係數之一同位,使用上下文脈絡自適應性熵解碼對該量化索引不為零之各變換係數之一或多個大小程度旗標進行解碼;在一或多個進一步遍次中:使用等機率熵解碼對以下各者進行解碼:所相對之該一或多個大小程度旗標為正的各個變換係數之該量化索引之一餘數,以及所具之該量化索引不為零之各該變換係數之該量化索引之一符號。
  14. 一種用以對變換係數之一區塊進行編碼的方法,該方法係組配來: 在掃描該等變換係數之一或多個第一遍次中:使用上下文脈絡自適應性熵編碼對當前變換係數之有效值旗標進行編碼,該等有效值旗標各針對一個個別變換係數指示該等個別當前變換係數之一量化索引是否為零,對該等變換係數之同位旗標進行編碼,該等同位旗標各針對一個個別變換係數指示該等個別變換係數之一同位,使用上下文脈絡自適應性熵編碼對該量化索引不為零之各變換係數之一或多個大小程度旗標進行編碼,在一或多個進一步遍次中:使用等機率熵編碼對以下各者進行編碼:所相對之該一或多個大小程度旗標為正的各個變換係數之該量化索引之一餘數,以及所具之該量化索引不為零的各該變換係數之該量化索引之一符號。
  15. 一種資料結構產品,其係藉由如請求項14之一方法產生。
TW110141790A 2018-07-02 2019-07-02 適於相依純量量化之變換係數熵寫碼技術 TWI810707B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18181293 2018-07-02
EP18181293.4 2018-07-02

Publications (2)

Publication Number Publication Date
TW202234892A TW202234892A (zh) 2022-09-01
TWI810707B true TWI810707B (zh) 2023-08-01

Family

ID=62845994

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108123315A TWI748201B (zh) 2018-07-02 2019-07-02 適於相依純量量化之變換係數熵寫碼技術
TW110141790A TWI810707B (zh) 2018-07-02 2019-07-02 適於相依純量量化之變換係數熵寫碼技術

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108123315A TWI748201B (zh) 2018-07-02 2019-07-02 適於相依純量量化之變換係數熵寫碼技術

Country Status (7)

Country Link
US (2) US11611750B2 (zh)
EP (1) EP3818703A1 (zh)
JP (2) JP7127160B2 (zh)
KR (3) KR102662646B1 (zh)
CN (2) CN112655209B (zh)
TW (2) TWI748201B (zh)
WO (1) WO2020007785A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020007785A1 (en) * 2018-07-02 2020-01-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding of transform coefficients suitable for dependent scalar quantization
EP3837842A4 (en) * 2018-08-22 2022-06-01 HFI Innovation Inc. METHOD AND DEVICE FOR TRANSFORMATION COEFFICIENT ENCODING
EP3691275A4 (en) * 2018-09-11 2020-12-30 LG Electronics Inc. RESIDUAL CODING PROCESS AND CORRESPONDING DEVICE
CN111373753B (zh) 2018-09-20 2023-09-08 Lg电子株式会社 变换因子级别编码方法及其装置
KR20210062010A (ko) 2018-09-21 2021-05-28 인터디지털 브이씨 홀딩스 인코포레이티드 의존적 스칼라 양자화를 위한 스칼라 양자화기 결정 방식
EP3843402B1 (en) * 2018-09-21 2024-03-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image signal encoding/decoding method and apparatus therefor
WO2020156515A1 (en) * 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Refined quantization steps in video coding
CN115443659B (zh) * 2020-02-25 2024-08-06 Lg电子株式会社 与残差编码相关的图像解码方法以及用于其的装置
CN113497936A (zh) * 2020-04-08 2021-10-12 Oppo广东移动通信有限公司 编码方法、解码方法、编码器、解码器以及存储介质
US11558617B2 (en) * 2020-11-30 2023-01-17 Tencent America LLC End-to-end dependent quantization with deep reinforcement learning
CN116095329A (zh) * 2021-02-21 2023-05-09 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备
CN116848842A (zh) * 2021-02-22 2023-10-03 创峰科技 依赖性量化以及残差编码方法
WO2022257142A1 (zh) * 2021-06-11 2022-12-15 Oppo广东移动通信有限公司 一种视频解码、编码方法及设备、存储介质
WO2023132660A1 (ko) * 2022-01-05 2023-07-13 주식회사 윌러스표준기술연구소 종속 양자화를 이용한 비디오 신호 처리 방법 및 이를 위한 장치
WO2024013109A1 (en) * 2022-07-11 2024-01-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for coding a data structure

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336409A1 (en) * 2012-06-15 2013-12-19 Research In Motion Limited Multi-bit information hiding using overlapping subsets
US20140003533A1 (en) * 2012-06-28 2014-01-02 Research In Motion Limited Reduced worst-case context-coded bins in video compression with parity hiding
EP2680580B1 (en) * 2012-06-28 2016-06-01 BlackBerry Limited Reduced worst-case context-coded bins in video compression with parity hiding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189748A (en) * 1977-08-23 1980-02-19 Northrop Corporation Video bandwidth reduction system using a two-dimensional transformation, and an adaptive filter with error correction
US7120254B2 (en) * 2000-10-30 2006-10-10 Geocodex Llc Cryptographic system and method for geolocking and securing digital information
US20110041148A1 (en) * 2009-08-13 2011-02-17 At&T Intellectual Property I, L.P. Blackouts of pay per view multimedia content
US20120230396A1 (en) * 2011-03-11 2012-09-13 Mitsubishi Electric Research Laboratories, Inc. Method for Embedding Decoding Information in Quantized Transform Coefficients
CN109120927B (zh) * 2011-11-04 2021-05-18 夏普株式会社 图像解码装置、图像解码方法以及图像编码装置
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
UA120434C2 (uk) * 2012-01-20 2019-12-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Кодування коефіцієнтів перетворення
US9313498B2 (en) * 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US20140133574A1 (en) * 2012-11-13 2014-05-15 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
US9014499B2 (en) * 2013-09-25 2015-04-21 Mitsubishi Electric Research Laboratories, Inc. Distributed source coding using prediction modes obtained from side information
KR102143908B1 (ko) * 2015-12-23 2020-08-28 후아웨이 테크놀러지 컴퍼니 리미티드 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치
WO2020007785A1 (en) * 2018-07-02 2020-01-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding of transform coefficients suitable for dependent scalar quantization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336409A1 (en) * 2012-06-15 2013-12-19 Research In Motion Limited Multi-bit information hiding using overlapping subsets
US20140003533A1 (en) * 2012-06-28 2014-01-02 Research In Motion Limited Reduced worst-case context-coded bins in video compression with parity hiding
EP2680580B1 (en) * 2012-06-28 2016-06-01 BlackBerry Limited Reduced worst-case context-coded bins in video compression with parity hiding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 D. Marpe et al., "Unified PIPE-Based Entropy Coding for HEVC," Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011。JCTVC-F268 (version 2 - date 2011-07-15 22:59:12) http://phenix.it-sudparis.eu/jct/doc_end_user/current_document.php?id=2734 *

Also Published As

Publication number Publication date
KR20240059000A (ko) 2024-05-07
KR20210025106A (ko) 2021-03-08
TW202007169A (zh) 2020-02-01
CN118354077A (zh) 2024-07-16
JP2021530155A (ja) 2021-11-04
JP7127160B2 (ja) 2022-08-29
CN112655209B (zh) 2024-03-29
US20210136385A1 (en) 2021-05-06
JP2022169656A (ja) 2022-11-09
KR102533654B1 (ko) 2023-05-18
EP3818703A1 (en) 2021-05-12
TW202234892A (zh) 2022-09-01
TWI748201B (zh) 2021-12-01
KR20230070064A (ko) 2023-05-19
KR102662646B1 (ko) 2024-05-03
US11611750B2 (en) 2023-03-21
WO2020007785A1 (en) 2020-01-09
CN112655209A (zh) 2021-04-13
US20230199188A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
TWI810707B (zh) 適於相依純量量化之變換係數熵寫碼技術
TWI813126B (zh) 相依量化技術
KR102613155B1 (ko) 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩
Sole et al. Transform coefficient coding in HEVC
CN115152215A (zh) 支持变换系数级别的适应性相依量化的解码器、编码器及方法
KR102702112B1 (ko) 종속 양자화
KR20240135049A (ko) 종속 양자화