TW201528785A - 根據內部預測模式轉置轉換係數的區塊 - Google Patents

根據內部預測模式轉置轉換係數的區塊 Download PDF

Info

Publication number
TW201528785A
TW201528785A TW103132579A TW103132579A TW201528785A TW 201528785 A TW201528785 A TW 201528785A TW 103132579 A TW103132579 A TW 103132579A TW 103132579 A TW103132579 A TW 103132579A TW 201528785 A TW201528785 A TW 201528785A
Authority
TW
Taiwan
Prior art keywords
block
coefficient
category
coefficients
video
Prior art date
Application number
TW103132579A
Other languages
English (en)
Other versions
TWI549488B (zh
Inventor
Jing Wang
Xiaofeng Wang
Dake He
Tianying Ji
Original Assignee
Blackberry Ltd
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 Blackberry Ltd filed Critical Blackberry Ltd
Publication of TW201528785A publication Critical patent/TW201528785A/zh
Application granted granted Critical
Publication of TWI549488B publication Critical patent/TWI549488B/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
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本發明描述用於視訊編碼之方法及器件。若待用於編碼一區塊之殘餘資料之一內部預測模式係在一特定預定類別(例如水平類別)中,則在編碼期間轉置一量化轉換區塊之殘餘資料的至少一部分。同樣地,若用於產生一編碼區塊之殘餘資料之一內部預測模式係在此一類別中,則在解碼期間轉置一熵解碼區塊之殘餘資料的至少一部分。

Description

根據內部預測模式轉置轉換係數的區塊 [著作權聲明]
本發明及隨附材料之揭示內容之一部分含有其著作權受保護之材料。著作權擁有者不反對任何人複製出現於專利商標局檔案或記錄中之專利文件或專利揭示內容,但保留所有任何其他著作權權利。
本發明大體上係關於資料壓縮,且更特定言之,本發明係關於用於編碼及解碼視訊之方法及器件之改良方案。
資料壓縮發生於諸多情況中。資料壓縮常用於通信及電腦網路以有效率地儲存、傳輸及重現資訊。吾人發現,資料壓縮尤其應用於影像、音訊及視訊之編碼。由於各視訊圖框所需之大量資料及發生編碼及解碼通常需要之速度,視訊之資料壓縮存在一重大挑戰。
音訊及視訊編碼標準(AVS)工作群組指定用於中國之音訊編碼、視訊編碼及傳送協定。出於本發明之目的,AVS係指由AVS工作群組定義之視訊編碼規格之第一版本,而AVS2係指AVS工作群組當前發展中之視訊編碼規格之第二版本。如本文所使用,術語「編碼」涵蓋編碼及解碼兩者。
諸多視訊編碼標準(其包含AVS及AVS2)使用基於區塊之編碼程序。在此等程序中,將影像或圖框分成區塊(通常為4×4或8×8),但可 在一些情況中使用非正方形區塊,且將該等區塊頻譜轉換成係數,量化該等區塊,且熵編碼該等區塊。在諸多情況中,所轉換之資料並非為實際像素資料,而是一預測操作之後之殘餘資料。預測可為圖框內預測(即,圖框/影像內之區塊至區塊)或圖框間預測(即,圖框之間)(亦稱為運動預測)。
為壓縮資料,量化轉換係數之編碼經設計以利用轉變之特性來改良壓縮。就AVS而言,使用四元組之一序列(級別、運行、標記、塊結束(EOB)旗標)來編碼係數。編碼沿一反向Z字形方向,其起始於一轉換區塊中之Z字形掃描次序中之最後非零係數(因此需要EOB旗標)。
使用一元二進位來二進位化「級別-1」及「運行」資料,且接著使用基於內文之熵編碼來編碼二進位。具體言之,AVS將算術編碼用於轉換係數資料。
AVS之現有編碼方案存在一些限制。例如,現有AVS編碼方案無法有效率地直接擴展至較大區塊大小。此外,旁側資訊(如內部預測資訊)無法用於編碼預測之後之殘餘區塊。
100A‧‧‧習知編碼器
100B‧‧‧編碼器
101‧‧‧視訊源
101A‧‧‧重建視訊
105‧‧‧空間預測器
110‧‧‧頻譜轉換
115‧‧‧量化器
120‧‧‧區塊轉置
125‧‧‧熵編碼器
130‧‧‧解量化器
135‧‧‧反向頻譜轉換
145‧‧‧解區塊處理器
150‧‧‧圖框儲存器
155‧‧‧運動預測器
160‧‧‧編碼模式選擇器
199‧‧‧位元串流
200A‧‧‧分類
200B‧‧‧分類
210A‧‧‧垂直類別
210B‧‧‧垂直類別
220A‧‧‧水平類別
220B‧‧‧水平類別
230A‧‧‧對角類別
230B‧‧‧對角類別
300A‧‧‧習知方法
300B‧‧‧新穎編碼方法
300C‧‧‧邏輯流程
300D‧‧‧方法
300E‧‧‧方法
310‧‧‧步驟
310C‧‧‧替換步驟
320‧‧‧步驟
330‧‧‧步驟
340‧‧‧步驟
350‧‧‧步驟
360‧‧‧步驟
360D‧‧‧步驟
360D'‧‧‧步驟
360E‧‧‧步驟
360E'‧‧‧特定路徑
361‧‧‧步驟
361A‧‧‧步驟
361B‧‧‧步驟
361C‧‧‧步驟
361x‧‧‧通用步驟
362‧‧‧步驟
363‧‧‧步驟
363A‧‧‧步驟
363B‧‧‧步驟
363C‧‧‧步驟
364‧‧‧測試
364B‧‧‧垂直線
364C‧‧‧水平線/步驟
365‧‧‧步驟
368‧‧‧步驟
368A‧‧‧步驟
368B‧‧‧步驟
368C‧‧‧步驟
400‧‧‧特徵
400A‧‧‧全區塊轉置
400B‧‧‧部分區塊轉置
410‧‧‧樣本區塊/特徵
410T‧‧‧轉置區塊
410T'‧‧‧部分轉置區塊
411‧‧‧係數區塊
411T‧‧‧轉置係數區塊
412‧‧‧係數區塊
413‧‧‧係數區塊
413T‧‧‧轉置係數區塊
414‧‧‧係數區塊
420‧‧‧特徵
430‧‧‧特徵
500A‧‧‧習知解碼器
500B‧‧‧新穎解碼器
510‧‧‧熵解碼器
515‧‧‧區塊轉置
520‧‧‧解量化器
525‧‧‧反向頻譜轉換
530‧‧‧空間補償器
540‧‧‧解區塊處理器
545‧‧‧圖框緩衝器
550‧‧‧運動補償器
600A‧‧‧習知方法
600B‧‧‧新穎解碼方法
600C‧‧‧邏輯流程
610‧‧‧步驟
610C‧‧‧步驟
620‧‧‧步驟
630‧‧‧步驟
640‧‧‧步驟
640'‧‧‧步驟
650‧‧‧步驟
660‧‧‧步驟
660B‧‧‧步驟
660C‧‧‧步驟
670‧‧‧步驟
710‧‧‧分割
711‧‧‧特徵
712‧‧‧特徵
713‧‧‧特徵
720‧‧‧分割
721‧‧‧特徵
722‧‧‧特徵
723‧‧‧特徵
730‧‧‧分割
731‧‧‧特徵
732‧‧‧特徵
733‧‧‧特徵
1000‧‧‧樣本區塊
1000F‧‧‧旗標區塊
1000a至1000p‧‧‧係數群組
1010‧‧‧Z字形群組掃描次序
1020‧‧‧掃描次序
1100A‧‧‧分割
1100B‧‧‧分割
1110A‧‧‧特徵
1110B‧‧‧特徵
1111A‧‧‧特徵
1111B‧‧‧特徵
1112A‧‧‧特徵
1112B‧‧‧特徵
1113A‧‧‧特徵
1300‧‧‧新穎方法
1300A‧‧‧方法
1300B‧‧‧方法
1300C‧‧‧方法
1310‧‧‧步驟
1320‧‧‧步驟
1330‧‧‧步驟
1340‧‧‧步驟
1340A‧‧‧步驟
1340B‧‧‧步驟
1340C‧‧‧步驟
1341‧‧‧步驟
1342‧‧‧步驟
1343‧‧‧步驟
1344‧‧‧步驟
1345‧‧‧步驟
1346‧‧‧步驟
1347‧‧‧步驟
1348‧‧‧步驟
1349‧‧‧步驟
1350‧‧‧步驟
1400‧‧‧方法
1410‧‧‧步驟
1440‧‧‧步驟
1500‧‧‧器件
1511‧‧‧處理器
1512‧‧‧處理器
1520‧‧‧記憶體
1530‧‧‧編碼應用程式
1540‧‧‧解碼應用程式
作為實例,現將參考展示本發明之樣本實施例的附圖,且其中:圖1a展示用於編碼視訊之一已知編碼器之方塊圖;圖1b展示根據本發明之用於編碼視訊之一編碼器之方塊圖;圖2a描繪內部預測模式變成三個不相交類別之一已知分割;圖2b描繪根據本發明之內部預測模式變成三個不相交類別之一分割;圖3a展示繪示用於編碼一區塊之殘餘值之一已知方法的一流程圖; 圖3b展示繪示根據本發明之用於編碼一區塊之殘餘值、併入一區塊轉置之一方法的一流程圖;圖3c展示繪示圖3b中所描繪之方法之一實施例之一邏輯流程的一流程圖;圖4a描繪量化轉變係數之一8×8樣本區塊之一全區塊轉置之應用;圖4b描繪相同於圖4a中之量化轉變係數之8×8樣本區塊之量化轉變係數之8×8樣本區塊之一部分區塊轉置之應用;圖5a展示用於解碼視訊之一已知解碼器之方塊圖;圖5b展示根據本發明之用於解碼視訊、併入一區塊轉置之一解碼器之方塊圖;圖6a展示繪示用於解碼一區塊之殘餘值之一已知方法的一流程圖;圖6b展示繪示根據本發明之用於編碼一區塊之殘餘值之一方法的一流程圖;圖6c展示繪示圖6b中所描繪之方法之一實施例之一邏輯流程的一流程圖;圖7描繪將一係數群組之轉換係數分割成轉換係數之三個不相交區域之三種不同方式;圖8a展示繪示用於一區塊之殘餘值之模式相依級別-運行編碼之一已知方法的一流程圖,其中未使用一區塊轉置;圖8b展示根據本發明之一方法之一流程圖,其詳述圖8a中所描繪之方法之一步驟,但經調適以繪示自圖7中所描繪之分割中選擇一分割;圖8c展示詳述根據圖8b中所描繪之方法所選擇之分割之用法的一流程圖; 圖9a展示繪示用於一區塊之殘餘值之模式相依編碼之一方法的一流程圖,其中若內部預測模式在一預定類別中,則使用一區塊轉置;圖9b展示一流程圖(其類比於圖8b中之流程圖,但適應一區塊轉置之任何用法),其詳述圖8a中所描繪之方法之一步驟,但經調適以繪示自圖7中所描繪之分割中選擇一分割;圖9c展示詳述根據圖9b中所描繪之方法所選擇之分割之用法的一流程圖(尤其就水平類別中之一內部預測模式而言);圖10a展示分割成係數群組之一樣本區塊(大小為16×16)且繪示該區塊內之係數群組之一Z字形群組掃描次序;圖10b展示對應於圖10a中所描繪之樣本區塊之係數群組旗標之一區塊且繪示區塊內之係數群組之群組掃描次序中之最後非零係數群組之位置;圖10c更詳細地展示圖10a中所描繪之相同樣本區塊,其繪示:(a)一特定係數群組內之轉換係數之掃描次序;及(b)兩個其他係數群組之最後非零係數(在掃描次序中);圖11a描繪圖10a中所描繪之相同樣本區塊以及將一區塊之係數群組分割成係數群組之四個不相交區域的一方式;圖11b描繪圖10a中所描繪之相同樣本區塊以及將一區塊之係數群組分割成係數群組之三個不相交區域的一方式;圖12展示詳述圖11b中所描繪之分割之用法的一流程圖;圖13展示繪示用於編碼所編碼之當前係數群組之掃描次序中之最後非零係數之(x,y)位置之一修改表示之一方法的一流程圖;圖13a展示繪示圖13中所描繪之方法之一步驟之一實施例(其基於內部預測模式所屬之類別而修改(x,y)位置)的一流程圖;圖13b展示繪示圖13中所描繪之方法之一步驟之另一實施例(其基於當前係數群組之至少一相鄰係數群組而修改(x,y)位置)的一流程 圖;圖13c展示繪示圖13中所描繪之方法之一步驟之又一實施例(其基於內部預測模式所屬之類別及基於當前係數群組之至少一相鄰係數群組而修改(x,y)位置)的一流程圖;圖14展示繪示用於針對一當前係數群組而解碼該係數群組之掃描次序中之最後非零係數之真實(x,y)位置之一編碼表示且變換該表示以獲得真實(x,y)位置之一方法的一流程圖;及圖15展示根據本發明之併入一解碼器及一編碼器之一器件之一實例性實施例之一簡化方塊圖;且其中相同參考符號在不同圖中用於標示相同特徵。
本發明描述用於編碼及解碼殘餘視訊資料之方法及編碼器/解碼器。
在一第一態樣中,本發明描述一種使用器件1500由一位元串流之編碼視訊中之一編碼區塊之殘餘資料重建一當前區塊之殘餘資料的方法。該方法包括:(a)判定用於產生該編碼區塊之一模式係一預定類別中之一內部預測模式;(b)熵解碼該編碼區塊以獲得一熵解碼區塊;及(c)回應於判定該模式在該預定類別中,轉置該熵解碼區塊之至少一部分以獲得一轉置區塊。
在另一態樣中,本發明揭示一種使用一視訊編碼器來編碼視訊之方法,該視訊包含分割成區塊之一圖像。該方法包括:(a)使用一預定類別中之一內部編碼模式來自一當前區塊之空間預測產生該區塊之殘餘資料;(b)頻譜地轉換及量化該殘餘資料以獲得一量化轉換區塊;(c)轉置該量化轉換區塊之至少一部分以獲得一轉置區塊;(d)級別-運行編碼該轉置區塊之轉換係數以獲得級別-運行對;及(e)使用一內文模型來二進位化及熵編碼該等級別-運行對。
在一進一步態樣中,本發明描述經組態以實施用於編碼及解碼之此等方法的編碼器及解碼器。
在又一實施例中,本發明描述儲存處理器可執行程式指令之非暫時性處理器可讀媒體,該等處理器可執行程式指令在被執行時組態一處理器以執行用於編碼及/或解碼之所描述之方法。
一般技術者將自結合附圖之樣本實施例之以下描述之一審查理解本發明之其他態樣及特徵。
在以下描述中,參考用於視訊編碼之AVS標準及/或發展中之AVS2標準而描述一些實例性實施例。一般技術者應瞭解,本發明不受限於AVS或AVS2,而是可適用於其他視訊編碼/解碼標準,其包含可能之未來標準、3D及多視圖編碼標準、可縮放視訊編碼標準及可重組態視訊編碼標準。
在以下描述中,當提及視訊或影像時,可在某種程度上可互換地使用術語「圖框」、「圖像」、「片段(slice)」、「圖塊(tile)」及「矩形片段群組」。熟習技術者應瞭解,就AVS標準而言,一圖框可含有一或多個片段。其他術語可用於其他視訊編碼標準中。亦應瞭解,可逐圖框地執行某些編碼/解碼操作,逐片段地執行一些編碼/解碼操作,逐圖像地執行一些編碼/解碼操作,逐圖塊地執行一些編碼/解碼操作,且逐矩形片段群組地執行一些編碼/解碼操作,其取決於適用影像或視訊編碼標準之特定要求或術語。在任何特定實施例中,適用影像或視訊標準可視情況判定是否結合圖框、及/或片段、及/或圖像、及/或圖塊、及/或矩形片段群組來執行下文所描述之操作。相應地,一般技術者應瞭解,鑑於本發明,本文所描述之特定操作或程序及對圖框、片段、圖像、圖塊、矩形片段群組之特定參考適用於一給定實施例之圖框、片段、圖像、圖塊、矩形片段群組或其等之一些或全部。如將鑑於以下描述而明白,此亦適用於轉換單元、編碼單元、編 碼單元之群組等等。
在一些情境中,可將一圖框分成兩個區域,例如一區域用於螢幕內容且另一區域用於自然視訊。此有時可稱為一分割螢幕。類似地,在一多視圖編解碼器中,可將一視圖用於螢幕內容且將另一視圖用於自然視訊。替代地,一位元串流可由至少兩個子串流組成,一子串流利用一轉換跳躍或無損耗模式,而另一子串流將不利用一轉換跳躍或無損耗模式。應瞭解,在此等實例性情形之任何者中,係數重新排序可應用於使用轉換跳躍(具有平順量化之轉換跳躍)或轉換及量化步驟之一跳躍之視圖/區域/串流之一者之編碼/解碼,而其他區域/視圖/串流可不具有應用於其編碼/解碼之係數重新排序。可採用具有或不具有一轉換跳躍之本發明中所描述之新發明。此外,本文所使用之術語「轉換係數」及「轉換區塊」意欲係指編碼/解碼時之一特定階段中之係數及其區塊,其中係數及其區塊將反映一頻譜轉換之應用(若該頻譜轉換尚未被跳過)。因此,該術語意謂涵蓋其中應用頻譜轉換之一特殊情況(同一(即,無為)功能)而非一標準頻譜轉換的情形。此係因為本文所描述之新發明不取決於一頻譜轉換之應用。
就可縮放視訊編碼而言,下文所揭示之實施例之任何者可應用於基底層編碼/解碼、增強層編碼/解碼、或基底層及增強層兩者。就3D或多視圖視訊編碼而言,前述實施例之任何者可應用於視圖編碼/解碼之一者、其他(若干)視圖編碼/解碼、或兩個/全部視圖。
首先參考圖1a及圖3a。圖1a展示用於編碼視訊之習知編碼器100A之方塊圖。圖3a展示繪示用於編碼一區塊之殘餘資料之對應習知方法300A的一流程圖(將簡短解釋),方法300A省略本文所描述之新發明未涉及之一些初步編碼步驟。
編碼器100A接收視訊源101且最終產生編碼位元串流199。編碼器100A可經組態以依據諸多視訊壓縮標準而操作。例如,編碼器 100A可符合AVS或AVS2;後者係本發明尤其關注之標準,但本文所描述之新發明亦可適用於其他標準。
視訊源101包括一序列之圖框,其等各對應於一不同時間點。視訊源101一次處理一個圖框或片段。然而,在粒度之一更精細層級處執行一個圖框/片段之大多數處理;將該圖框/片段分割成較小區塊,且在一迴路中逐區塊地執行處理。該等區塊可為編碼單元、巨集區塊或子區塊。
如此項技術中所熟知,一圖框可為I型、P型或B型。編碼模式選擇器160判定所編碼之當前圖框是否為I型、P型或B型,且判定該圖框內之特定編碼單元(例如巨集區塊、編碼單元等等)是否經圖框間編碼或內部編碼。
兩種類型之「圖框間編碼」圖框(P型及B型)基於當前圖框與對應於一不同時間點之一先前處理圖框之不同程度而利用時間預測。此類型之預測(其與本發明不相關)利用編碼器100A中之一回饋迴路。該迴路開始於解量化器130及反向頻譜轉換135,其(如同圖5A中之習知解碼器500A之對應解量化器520及反向頻譜轉換525)大致解除頻譜轉換110及量化器115(如下文所描述)之內容,即,解量化器130及反向頻譜轉換135重建類似於原始殘餘資料,但非相同於原始殘餘資料(歸因於步驟320之損耗性質)之殘餘資料。解區塊處理器145(如同解碼器500A之對應解區塊處理器540)可執行濾波以消除區塊邊界處之假影及/或執行解碼程序期間所完成之其他濾除。因此,圖框儲存器150儲存供運動預測器155使用之一「參考」圖框(經重建及解區塊,如將由解碼器500A進行)。
一I型圖框(「內部編碼」圖框)在無需參考其他圖框之情況下被編碼,且因此無法採用時間預測。然而,I型圖框在圖框內採用空間預測;換言之,基於圖框之部分與圖框之另一部分之不同程度而編碼 圖框之該部分。
由空間預測器105根據圖3a之步驟310而執行內部預測(本發明所關注之預測類型)。具體言之,空間預測器105比較當前區塊之資料與先前針對當前圖框所處理之區塊內之鄰近像素之資料,且根據一特定空間預測模式之一預測演算法而產生該區塊之殘餘資料。例如,在AVS及AVS2標準中,存在稍後將參考圖2a及圖2b而討論之33種此等模式。在一些實施例中,位元率-失真最佳化可用於選擇最佳模式。
接著,在圖3a之步驟320中,頻譜轉換110使殘餘資料頻譜轉換且量化器115量化該頻譜轉換之輸出。儘管圖1a將頻譜轉換110及量化器115描繪為編碼器100A之不同組件,然如此項技術中所瞭解,可將此等兩個操作執行為兩個單獨數學運算或執行為一單一操作;因此,所展示之兩個組件可由實現相同組合結果之一單一組件替換。此外,在一些實施例中,可採用轉換跳躍;在此情況中,未採用頻譜轉換110且步驟320僅量化空間域中之殘餘資料。
輸入至頻譜轉換110之殘餘資料係空間域中之資料;此意謂資料對應於(或許並非以一對一方式)配置成幾何列及行之像素。頻譜轉換110將此空間域資料變換成轉換域中之資料;此輸出資料(本文中稱為轉換係數)含有與該等像素有關之頻率資訊,可由該頻率資訊重建該等像素。在諸多實施例中,頻譜轉換110應用一離散餘弦轉換(DCT)。儘管AVS及AVS2標準指定使用DCT,然離散正弦轉換或其他轉換可用於視訊編碼協定中且因此被預期為在本發明之範疇內。根據巨集區塊或編碼單元之大小,頻譜轉換110基於一編碼單元、巨集區塊或子區塊而操作。例如,在AVS及AVS2標準中,一典型之16×16巨集區塊含有4個8×8轉換區塊,且對該等8×8區塊執行DCT程序。在一些視訊編碼協定中,轉換區塊可為4×4,其意謂:每個巨集區塊具有16個轉換區塊。在其他情況中,轉換區塊可為其他大小。在一些情況中,一 16×16巨集區塊可包含非重疊之4×4轉換區塊及8×8轉換區塊之一組合。
繼續參考圖1a及圖3a,熵編碼器125基於與待壓縮之各種符號之頻率相關之統計資料而無損耗地壓縮符號;所壓縮之該等符號不僅包含直接反映轉換量化係數之資料,且包含與當前區塊相關之其他資料,其包含與區塊相關之參數指示(諸如用於編碼區塊之內部預測模式)及/或容許跳過一些零值資料(就編碼程序中隱含多個零值(及解碼程序中推斷多個零值)而言)之旗標,如稍後將解釋。
直接基於轉換量化係數之資料亦涉及零值資料之此種跳過。特定言之,在圖3a之步驟350中,轉換量化係數歸因於零值係數之普遍存在而經級別-運行編碼。此涉及:產生級別-運行排序對,該等級別-運行排序對各由(a)一非零係數之一量值及(b)反向掃描次序中之該非零係數之後之連續零值係數之數目組成。
在步驟360中,二進位化及熵編碼表示與當前區塊相關之轉換量化係數及其他資料兩者的符號。二進位化包括:將符號變換成某一二進位格式,諸如一元記號或其之某一變體。AVS及AVS2標準指定熵編碼係算術編碼,但在其他視訊編碼協定中,可使用其他類型之熵編碼(諸如可變長度編碼)(且因此在本發明之範疇內)。
圖2a及圖2b各描繪一類型(「角型」)之三十種內部預測模式,且僅列出用於視訊編碼之另一類型(「非角型」)的三種內部預測模式,且亦繪示如何將所有此等模式分類成用於圖3b之新穎方法300B中的三種不相交類別。各角型內部預測模式係由表示自所編碼之當前區塊至用於內部預測之鄰近像素之空間位移之角度之一箭頭描繪。一箭頭之長度係無關緊要的;確切言之,各箭頭之頭部被描繪為到達一特定圓(且對應模式被視為屬於一對應「區」)以有助於將自正y軸量測之空間位移的角度描繪為某一底角的倍數。模式0及1(其屬於區0、特 徵400)具有為90度之倍數的角度。模式4、5及6(其屬於區1、特徵410)具有為45度之倍數的角度,但不屬於區0。模式7至16(其屬於區2、特徵420)具有為15度之倍數的角度,但不屬於區0或1。模式17至31(其屬於區3、特徵430)具有為7.5度之倍數的角度,但不屬於區0、1或2。圖2a及圖2b中僅列出非角型內部預測模式(DC模式(在AVS2標準中標示為模式2)、平面模式(3)及雙線性模式(32)),此係因為非角型內部預測模式不體現「方向」,且因此無法被有意地描繪為一向量;並非僅為完整性而列出非角型內部預測模式(關於AVS2標準),而是因為非角型內部預測模式係包含於後文將解釋的分類方案中。
內部預測模式之改良分類
對圖2a及圖2b而言,重要的不是區,而是分類200A及200B之各自描繪。各分類將內部預測模式0至32的整個集合分割成三種不相交類別;判定一給定模式不在兩種類別之任一者中隱含其必須在剩餘類別中。在圖2a所描繪之分類200A中,垂直類別210A由粗實線箭頭描繪之模式0、9、10、11、12、16、21、22、23及24組成;水平類別220A由細實線箭頭描繪之模式1、7、8、13、14、15、17、18、27、28及29組成;且對角類別230A由剩餘模式(即,由虛線箭頭描繪之角模式4、5、6、19、20、25、26、30及31,以及僅列於圖2a中之非角模式2、3及32)組成。在圖2b所描繪之分類200B中,垂直類別210B由粗實線箭頭描繪之模式0、10、11、21、22、23及24組成;水平類別220B由細實線箭頭描繪之模式1、7、14、17、18、27、28及29組成;且對角類別230B由剩餘模式(即,由虛線箭頭描繪之角模式4、5、6、8、9、12、13、15、16、19、20、25、26、30及31,以及非角模式2、3及32)組成。
此等分類可用於以諸多方式改良視訊編碼。如先前在共同待審之申請案PCT/CA2013/050020中所揭示,此等類別可用於模式相依之 內文設計。當用於編碼一區塊之內部預測模式在該等類別之一特定者中時,其趨於具有對應於該類別之一獨特係數分佈。當內文之判定(即,級別-運行對之熵編碼)係基於模式所屬之類別時,該判定將更適當。當判定更適當時,編碼最終將更有效率。先前將圖2a之分類200A揭示為區別此等獨特分佈之一方式。
現已認知,可更有效地分割內部預測模式。分類200B之經修正之垂直類別210B及水平類別220B比分類200A之對應類別210A及220A「窄」,即,經修正之類別各包括較少模式,跨越較小角度範圍。包括較少模式之類別對應於甚至更獨特分佈。然而,發明者亦已認知,若一類別太小,則將無足夠資料來訓練內文達到一穩定狀態,且編碼效能將會較差;此被稱為內文稀釋問題。經修正之類別210B及220B之各者在分佈獨特性與狀態穩定性之間達成平衡。藉由新穎分類200B之編碼效能之凈結果優於藉由先前所揭示之分類200A之編碼效能之凈結果;此將經修正之類別210B及220B兩者應用於先前所揭示之模式相依內文設計且應用於由圖3b中所描繪之新穎方法300B(其將被簡短描述)提供之額外編碼改良方案。
係數之模式相依區塊轉置
為解釋與視訊編碼技術之當前狀態相關之此改良方案,現審查早先相對於圖1a之編碼器100A所討論之圖3a之習知方法300A。在一視訊之逐區塊編碼期間,在步驟310中,根據由編碼模式選擇器160選擇之一內部預測模式(在未展示為方法300A之部分之一習知步驟中)而產生當前區塊之殘餘資料。在步驟320中,殘餘資料之區塊經頻譜轉換及經量化以獲得一量化轉換區塊。儘管步驟320被描繪為一單一步驟,然如此項技術中所知,可藉由一單一數學運算或藉由一序列之兩個單獨操作而達成頻譜轉換及量化之凈效應。在AVS2標準中,所採用之頻譜轉換係離散餘弦轉換(DCT),但其他轉換(例如離散正弦轉 換)可用於視訊編碼中(且因此在本發明之範疇內)。在步驟350中,對量化轉換係數進行級別-運行編碼。此涉及:掃描反向Z字形掃描次序中之量化轉換係數;及在下一非零係數或係數群組(CG)之極值之前(若最後運行計數CG之左上係數)產生由(a)一「級別」(即,一非零係數之量值)及(b)一「運行」(即,該非零係數之後之連續零值係數之數目(在反向Z字形次序中))組成之對。在步驟360中,二進位化及熵編碼級別-運行對(例如,二進位化為一元碼或其之某一變體)。在AVS2標準中,熵編碼係算術編碼,但其他類型之熵編碼(諸如可變長度編碼)可用於視訊編碼中(且因此在本發明之範疇內)。
現已認知,在視訊壓縮中之內部預測及轉換程序之後,當所使用之內部預測模式在垂直類別中時,非零轉換係數趨於定位於CG之頂部接近處。類似地,當所使用之內部預測模式在水平類別中時,非零轉換係數趨於定位於CG之左邊接近處。此觀察建議,若水平預測之後之一轉換係數區塊經轉置,則其將具有類似於垂直預測之後之一轉換係數區塊之統計資料。(統計資料在此處主要係指一CG中之連續非零係數之間之零值係數之一運行(即,計數)及區塊中之非零係數之位置,該等位置判定最後非零CG之位置及一CG中之最後非零係數之位置。)由於經轉置之水平模式區塊具有類似於未轉置之垂直模式區塊之係數分佈之係數分佈,所以可藉由以編程方式命令區塊「共用內文」(如下文所詳述)而「誘使」編碼器100B處理前者(宛如存在後者)。此具有減少內文之總數之效應。需要儲存之內文之數目減少會使熵編碼複雜性降低。
圖1b及圖3b中展示此觀察之一技術應用。圖1b展示編碼器100B之方塊圖,其與圖1a之編碼器100A之不同點在於:區塊轉置120內插於量化器115與熵編碼器125之間。以虛線框展示區塊轉置120以指示:儘管其位置係固定的,然其無需用於所有狀況中。事實上,轉置 一轉換係數區塊之重點在於針對一第一特定類別(例如水平類別)中之內部預測模式進行轉置且非針對第二特定類別(例如垂直類別)中之內部預測模式進行轉置,使得經由第一類別中之一模式之內部預測之後之一轉換係數區塊一旦經轉置,則其將具有類似於經由第二類別中之一模式之內部預測之後之一轉換係數區塊的統計資料。因此,實際上,一測試(圖1b中未展示,但由下文所描述之圖3b之步驟330指示)經執行以判定是否應調用區塊轉置120之功能。
圖3b展示繪示用於編碼一區塊之殘餘值之新穎方法300B的一流程圖,如下文所詳述。新穎方法300B與圖3a中所描繪之習知方法300A之不同點在於:新增步驟330及340。在步驟330中,一測試經執行以判定待由空間預測器105使用之內部預測模式是否在一預定類別中(如由編碼模式選擇器160所判定)。為更清楚,此測試並非僅判定模式是否在某一預定類別中;此一測試將為不必要的,此係因為每個模式恰好在三種類別之一者中,各根據一商定編碼-解碼標準(其可經寫入以便僅指定一解碼協定,其中隱含編碼協定)之互操作性要求而「預定」該三種類別。該測試判定模式是否在一特定預定類別中,該特定預定類別係轉置量化轉換區塊所針對之唯一類別。如下文所解釋,水平類別係此特定不同預定類別之最佳選擇。在步驟340中,若為該特定預定類別,則如圖4a(針對一全區塊轉置)及圖4b(針對一部分區塊轉置)中所繪示般轉置量化轉換區塊之至少一部分。為完成誘導(「誘使」編碼器100B處理一模式類別之一轉置區塊,宛如該模式類別係另一類別之一未轉置區塊),應更新一內文索引;否則,解碼比根據一更新內文索引而推斷內文時之解碼更無效率,且無法認知區塊轉換之全部優點。
例如,假定:對於某一實施例,觸發一區塊轉置之特定預定類別係水平類別。進一步假定:編碼器100B通常將具有值 INTRA_PRED_VER、INTRA_PRED_HOR或INTRA_PRED_DC_DIAG(分別等於(例如)0、1及2之常數)之內文索引intraModeIdx解譯為指示:用於內部預測(且因此用於模式相依熵編碼)之模式分別在垂直類別、水平類別或對角類別中。接著,表示內文索引之更新的偽碼將為:若intraModeIdx=INTRA_PRED_HOR,則intraModeIdx=INTRA_PRED_VER
儘管存在可潛在地預定為步驟340中執行一區塊轉置所針對之模式類別之三種類別,然一類別係最不可取類別且另一類別係最可取類別。預定類別不應為對角類別,此係因為:對於對角類別中之模式,非零係數沿一邊緣獨特地分佈(如同針對其他兩種類別中之模式的情況)。現已認知,由於一CG內之係數及一區塊內之CG之係數之特定Z字形掃描次序,水平類別比垂直類別更適合作為預定類別,如將參考圖10c之掃描次序1020而解釋。
圖3c展示繪示其中預定類別係水平類別之一實施例中之透過圖3b中所描繪之方法300B之邏輯流程300C的一流程圖。特定言之,圖3b之步驟310特定化為用於其中內部編碼模式在水平類別中之情況的替換步驟310C。邏輯流程300C中未展示方法300B之測試330,且因此無條件地執行步驟340中之區塊轉置。
現參考圖4a及圖4b。圖4a描繪用於產生轉置區塊410T之量化轉換係數之8×8樣本區塊410之全區塊轉置400A之應用;該轉置係習知矩陣轉置,即,與自區塊之左上角運行至右下角之對角線有關之一翻轉。若初始區塊(例如區塊410)由B[j,i]標示(其中j=0...BlockHeight-1且i=0...BlockWidth-1)且轉置區塊(例如區塊410T)由BT[j,i]標示(其中j=0...BlockHeight-1且i=0...BlockWidth-1),則全區塊轉置可用公式表示為: BT[j,i]=B[i,j],其中j=0...BlockHeight-1且i=0...BlockWidth-1。
另一方面,圖4b描繪相同於圖4a中之8×8樣本區塊之8×8樣本區塊410之部分區塊轉置400B之應用。在此情況中,沿區塊410之左邊緣之4×4係數區塊411及413經個別地轉置以產生轉置係數區塊411T及413T,而係數區塊412及414未經轉置;凈結果係部分轉置區塊410T'。在另一實施例(圖中未描繪)中,可個別地轉置沿區塊410之頂部邊緣之係數區塊411及412。此等兩個實施例僅為本發明之範疇內之各種部分轉置之樣本。對於各此類部分區塊轉置,公式化係全區塊轉置之上述公式之一限制及/或調適。
現參考圖5a及圖6a。圖5a展示與習知編碼器100A相容(即,能夠解碼由該編碼器產生之視訊)之習知解碼器500A之方塊圖。圖6a展示繪示用於解碼一內部編碼圖框之一區塊之殘餘值之對應習知方法600A的一流程圖。
解碼器500A接收由(例如)圖1a之編碼器100A編碼之相容位元串流199。(如此項技術中所熟知,功能不同之編碼器可產生仍可由一單一解碼器解碼之編碼位元串流。)解碼器500A最終產生重建視訊101A,重建視訊101A歸因於有損編碼程序而成為輸入至一編碼器之原始視訊源101之一有瑕疵但適當之複製品。解碼器500A可經組態以依據諸多視訊壓縮標準而操作。例如,解碼器500A可符合AVS或AVS2。
在步驟610中,熵解碼器510(其對應於編碼器100A之熵編碼器125且解除編碼器100A之熵編碼器125之作用)熵解碼與該區塊相關之資料,該資料包含用於產生編碼區塊之內部預測模式(來自圖2a及圖2b中所描繪或所列出之三十三種內部預測模式中)。解碼器500A不包含對應於編碼器100A之編碼模式選擇器160的一組件,編碼模式選擇器160具有判定必須使用何種編碼模式(基於各種準則)之任務。確切 言之,先前解碼之資料包含所編碼之當前圖框是否為I型、P型或B型及圖框內之特定編碼單元是否經圖框間編碼或內部編碼的一指示。在步驟610中,熵解碼器亦熵解碼編碼區塊以產生殘餘資料之一熵解碼區塊。
在步驟660中,量化轉換係數之熵解碼區塊由解量化器520解量化以解除由編碼器100A(圖1a)中之量化器115執行為步驟320(圖3a)之部分的量化。此產生殘餘資料之一解量化區塊。在步驟670中,對殘餘資料之該解量化區塊進行反向頻譜轉換525以解除步驟320之剩餘部分期間所完成之編碼器100A之頻譜轉換110之內容。
解碼器500A之某些組件之操作包括未展示為方法600A之部分的習知步驟。空間補償器530應用自上文所提及之位元串流恢復之內部預測模式。由運動補償器550對I型圖框及B型圖框執行運動補償。解區塊處理器540可執行濾波以消除區塊邊界處之假影及/或執行其他濾除(正如編碼程序期間所預期之解碼器500A之對應解區塊處理器145)。圖框緩衝器545儲存用於後續內部預測及圖框間預測之資料。
現參考圖5b及圖6b。圖5b展示用於解碼由圖1b中所描繪之編碼器100B編碼之視訊之新穎解碼器500B之方塊圖。圖6b展示繪示用於解碼根據圖3b中所描繪之方法300B而編碼之一區塊之殘餘值之一方法的一流程圖。由於新穎編碼器100B包含區塊轉置120,所以新穎解碼器500B必須含有適合地定位於編碼組件之序列中以藉由應用區塊轉置之反算而解除區塊轉置之效應的一組件;否則,空間域資料最終將由錯亂轉換域資料重建,此係因為轉換係數將與錯誤頻率相關聯。當然,區塊轉置120執行一雙週期操作,其意謂:兩次應用區塊轉置120以應用同一(即,無為)操作。換言之,區塊轉置120係其自身之反算。因此,新穎解碼器500B與習知解碼器500A之不同點在於:區塊轉置515(其不僅為區塊轉置120之反算,且相同於區塊轉置120)內插 於熵解碼器510與解量化器520之間。此外,為了相容,完全相同類型之區塊轉置(全區塊轉置或部分區塊轉置)必須併入於編碼器及解碼器兩者中。以虛線框描繪區塊轉置515,此係因為其僅在用於產生編碼區塊之內部預測模式在特定預定類別(其在編碼期間觸發編碼器100A之區塊轉置120之操作)中時被採用。
類似地,新穎解碼方法600B與習知方法600A之不同點在於:為與新穎編碼方法300B相容,其必須含有步驟650,在步驟650中,將一區塊轉置(其亦為編碼期間所應用之區塊轉置之反算)應用於量化轉換區塊;此外,為了相容,必須在編碼及解碼兩者期間應用完全相同類型之應用轉置(全轉置或部分轉置)。
然而,僅基於以下條件而執行步驟650:在步驟620中,當前區塊之編碼期間所使用之內部預測模式是否在一預定類別中之判定具有一肯定結果。此係因為其僅對以下各者有意義:(a)針對水平類別中之模式進行轉置,使得係數將類似於垂直類別中之模式之係數般被分佈;或(b)針對垂直類別中之模式進行轉置,使得係數將類似於水平類別中之模式之係數般被分佈。(實際上,選項(a)係較佳的,如本文別處所解釋。)若步驟620中之內部預測模式之測試具有一否定結果,則在步驟640中僅熵解碼編碼區塊,正如同圖6a之方法600A。另一方面,若該測試具有一肯定結果,則步驟640'中之編碼區塊之熵解碼(在區塊轉置步驟650之前)應在步驟630中之內文索引之更新之後;否則,將使用更多內文且熵編碼將比根據一更新內文索引而推斷內文時之熵編碼更複雜。恰好在編碼期間執行更新。例如,假定:對於某一實施例,在編碼期間觸發一區塊轉置之特定預定類別係水平類別。進一步假定:編碼器100B通常將具有值INTRA_PRED_VER、INTRA_PRED_HOR或INTRA_PRED_DC_DIAG(分別等於(例如)0、1及2之常數)之內文索引intraModeIdx解譯為指示:用於內部預測(且因 此用於模式相依熵編碼)之模式分別在垂直類別、水平類別或對角類別中。接著,表示內文索引之更新的偽碼將為:若intraModeIdx=INTRA_PRED_HOR,則intraModeIdx=INTRA_PRED_VER
解量化步驟660B與方法600A之步驟660無功能區別。不同特徵編號僅反映解量化步驟660B具有可在步驟650中已轉置或未轉置之一更多變輸入。
圖6c展示繪示圖6b中所描繪之方法600B之一實施例中之邏輯流程600C的一流程圖。該實施例受限於特定預定類別(其觸發一轉置之應用)係水平類別且用於產生編碼區塊之內部預測模式在該類別中時之情況。此邏輯序列開始於步驟610C,步驟610C之功能相同於方法600B之步驟610中之功能;不同特徵編號反映結果係水平類別中之一解碼內部預測模式。因此,(例如)根據上述偽碼而無條件地更新內文索引(且圖中未展示測試620)。接著進行步驟640'及步驟650,如同方法600B。解量化步驟660C與方法600B之步驟660B無功能區別。不同特徵編號僅反映:需要在步驟650中轉置經由此邏輯路徑之輸入。
級別-運行編碼之改良型模式相依內文設計
共同待審之申請案PCT/CA2013/050020中揭示:若至少部分地基於當前係數群組內之轉換係數之位置及內部預測模式所屬之類別而推斷用於級別-運行對之熵編碼的內文,則編碼效率受益。為此,對於內部預測模式之三種類別之各者(在該申請案中,參考圖2a之分類200A而定義),揭示CG內之係數位置之一對應二分分割。接著,基於對應於運行-級別對之各二進位的係數位於兩個區域(一特定模式類別之分割之兩個區域)之何者內而推斷用於熵編碼該二進位(用於該類別)之內文。現已認知,可經由下文所描述之三分分割而達成編碼頻率之進一步改良。鑑於上文已揭示之內容,分割之應用亦應適應於存在任 何轉置操作;否則,模式相依之內文設計無法在進行調適時一樣有效率。
首先參考圖7,圖中描繪將一係數群組之轉換係數分割成轉換係數之三個不相交區域以推斷用於熵編碼當前CG之運行-級別對之內文的三種不同新穎方式。在所繪示之各情況中,CG之大小係4個係數×4個係數。各分割最適合於上文參考圖2b之分類200B所定義之三種類別之一各自者中之內部預測模式(但該等分割亦可與圖2a之分類200A一起使用)。
分割710由CG之三個不相交橫條組成:區域A,特徵711,其由頂部列組成;區域B,特徵712,其由中間列組成;及區域C,特徵713,其由底部列組成。此分割經設計以用於垂直類別中之內部預測模式(假定:無區塊轉置應用於當前區塊(或包含當前CG之一部分))。若模式在垂直類別中,但當前CG受一轉置影響,則採用下文所描述之分割720。
分割720由CG之三個不相交豎條組成:區域A,特徵721,其由左邊行組成;區域B,特徵722,其由中間行組成;及區域C,特徵723,其由右邊行組成。此分割經設計以用於水平類別中之內部預測模式(假定:無區塊轉置應用於當前區塊(或包含當前CG之一部分))。若模式在水平類別中,但當前CG受一轉置影響,則採用上文所描述之分割710。
分割730由CG之三個不相交之(大致)對角條組成:區域A,特徵731,其由CG之左上角中之三個係數組成;區域C,特徵733,其由CG之右下角中之六個係數組成;及區域B,特徵732,其由區域A與B之間之一對角條中之剩餘七個係數組成。此分割經設計以用於對角類別中之內部預測模式。此分割在受轉置時不變。無論何種情況,如上文所提及,無理由針對角類別中之模式而進行轉置,因此,考量當前 CG是否受一轉置影響對於對角類別中之模式而言無實際意義。
意料之中地,自已相對於分割710及720所闡述之內容,將此等分割之任一者用於推斷用於熵編碼當前CG之級別-運行對的內文取決於是否採用一轉置。因此,對於可在一些狀況下採用一轉置(圖9a至圖9c)之實施例,必須單獨描述未採用一轉置(圖8b及圖8c)之模式相依內文設計之方法。
現參考圖8a至圖8c,其等各針對在未採用轉置時將圖7之分割710、720及730用於推斷用於熵編碼當前CG之級別-運行對的內文。
圖8a展示繪示用於一區塊之殘餘值之模式相依之級別-運行編碼之已知方法300D之一流程圖,其中未使用一區塊轉置;方法300D係圖3a之方法300A的鏡像,其中省略步驟310。步驟320及350與方法300A中之步驟完全相同。步驟360D係步驟360之一特定實施例,其中至少部分地基於對應於CG之級別-運行對之各二進位的係數屬於CG之若干區域中的何者,藉由推斷該二進位之一內文而即時完成級別-運行對之熵編碼,其中已基於用於編碼CG之內部預測模式而將CG分割成該等區域。(如上文所提及,先前揭示內容指定二分分割。)
圖8b展示詳述步驟360D'之一流程圖,步驟360D'類似於圖8a中所描繪之方法300D之步驟360D,但經調適以繪示自圖7中所描繪之分割中選擇三分分割。在步驟361中,判定用於編碼當前CG之內部預測模式屬於三種類別中的何者。根據模式是否屬於對角類別、垂直類別或水平類別而將控制分別轉至步驟361A、步驟361B或步驟361C,步驟361A、步驟361B或步驟361C分別使用分割730、分割710或分割720來執行熵編碼。
圖8c展示詳述步驟361x(其表示圖8b之步驟361A、步驟361B或步驟361C(視情況而定))之一流程圖,其中至少部分地基於圖8b之步驟361中所選擇的分割(分別為730、710或720)來推斷一內文。在步驟 362中,判定對應於級別-運行對之當前二進位的係數是否為DC係數。(由於DC係數係整個當前區塊中之左上係數,所以此僅可發生於當前CG係區塊之左上CG時。)若對應於級別-運行對之當前二進位的係數係DC係數,則在此一特殊情況中使用內文模型0。否則,使用三分分割。在步驟363中,判定對應於級別-運行對之當前二進位的係數屬於三個區域中的何者。根據該係數是否屬於區域A、區域B或區域C而將控制分別轉至步驟363A、步驟363B或步驟363C,步驟363A、步驟363B或步驟363C分別使用內文模型1、2或3來執行熵編碼。在一樣本實施例中,用於熵編碼一運行之各二進位的內文模型可由以下偽碼給定:若當前CG係左上CG,則ctxInc(run)=regionCGIdx*3+min(2,(absSum+absLevel)/2)
否則,ctxInc(run)=(regionCGIdx-1)*3+min(2,(absSum+absLevel)/2)+12
其中對於內文模型i,regionCGIdx=i,i=0、1、2或3;absSum係先前編碼於反向掃描次序中之非零係數之級別之一總和;且absLevel係對應於級別-運行對中之該運行的級別。現參考圖9a至圖9c,其等亦為將圖7之分割710、720及730用於推斷用於熵編碼當前CG之級別-運行對之內文的方法。然而,與圖8a至圖8c之方法相比,此等方法適應採用一轉置的可能性。
圖9a展示繪示用於一區塊之殘餘值之模式相依編碼之方法300E的一流程圖,其中若用於產生編碼區塊之內部預測模式在一特定預定類別中,則使用一區塊轉置。方法300E與圖3b之方法300B之不同點在於:至少部分地基於對應於級別-運行對之各二進位的係數(可能經轉置)屬於CG之若干個區域之何者,替換步驟360E藉由推斷該二進位之一內文而即時熵編碼級別-運行對。該等區域基於用於編碼CG之內 部預測模式及基於是否在步驟340中將一轉置應用於係數而構成一分割。此聯合條件之第一部分恰為圖8a之步驟360D中所涉及及圖8b之步驟360D'中所詳述之條件。
條件之第二部分(是否在步驟340中應用一轉置)更受關注。第一,所應用之轉置係一全區塊轉置,則條件等效於步驟330中之測試之條件;換言之,可以相同於步驟330中之方式之方式測試第二條件。
第二,當判斷一係數之位置以判定該係數位於何種區域中時,所使用之位置係後轉置位置。
第三,已被應用之一轉置之意義在於:在該情況中,分割必須同樣被「轉置」。當(例如)內部預測模式在水平類別中時,轉置之重點在於定位轉置係數,使得其類似於垂直類別中之一模式之分佈般被分佈;如早先所提及,應更新一內文索引以完成「誘使」編碼器100B處理一經轉置之水平模式區塊(宛如其係一未轉置之垂直模式區塊)。若(如此處般)在已應用一轉置時一分割亦用於推斷水平類別中之一模式之內文,則應進一步誘使編碼器100B(藉由適當編碼)採用用於垂直類別(無轉置)中之模式之分割(即,分割710)。再者,此獲得至少部分地基於當前CG之一分割而推斷內文之全部益處。在分割710之佈局中,分割710係分割720之一轉置(針對水平類別中之模式,無轉置),即使未藉由應用一轉置而自另一分割正確地產生一分割。下文將參考圖9b而詳述分割之此條件調換。
第四,若所應用之轉置僅為一部分區塊轉置,則僅使該轉置考量之適應用於該轉置應用於其之係數。(此同樣地處理該轉置之域中之所有係數,甚至位於在受該轉置時不變之一對角線上之係數。)
最後,熟習技術者應認知,若所應用之轉置僅為一部分轉置,則僅在將該轉置應用於一CG時轉置應用於該CG之分割。在此情況 中,未完全共用內文,但仍改良編碼效率,此係因為不同類別之分佈更不同。
圖9b展示一流程圖(其類比於圖8b中之流程圖,但適應一區塊轉置之任何用法),其詳述圖8a中所描繪之方法之一步驟,但經調適以繪示自圖7中所描繪之分割中選擇一分割。對於垂直類別及水平類別之任一者中之模式,調適係步驟365中之判定之新增項,步驟365判定是否將轉置應用於對應於所編碼之二進位的係數。(如早先所提及,未針對對角類別中之模式而觸發一轉置。)若針對水平類別中之模式,回答係肯定的,則在步驟361B中使用分割710(其最初針對垂直類別中之模式而設計)以取代在步驟361C中使用分割720(其最初針對水平類別中之模式而設計)。若針對垂直類別中之模式,回答係肯定的,則在步驟361C中使用分割720以取代在步驟361B中使用分割710。
此流程圖「具壓倒性優勢(overpower)」,此係因為其可處置針對水平類別中之模式及/或針對垂直類別中之模式的一部分區塊轉置或全區塊轉置。實際上,將針對一特定類別或其他類別而一致地完成一轉置,而非有時針對一類別且其他時間針對另一類別。因此,對於一編碼演算法之實際程式化,流程圖無需如此複雜。例如,若觸發一轉置之特定預定類別係水平類別,則測試364中之「垂直」線364B可直接(無條件地)行進至步驟361B,即使所應用之轉置係一部分轉置;若所應用之轉置係一全轉置,則測試364中之「水平」線364C亦可直接行進至步驟361B。
圖9c展示在假定特定預定類別係水平類別之情況下透過圖9b之步驟360E之流程圖而詳述一特定路徑360E'的一流程圖。在對應於圖9b之「水平」線364C的步驟364C中,判定用於產生編碼區塊之內部預測模式在水平類別(其係觸發一轉置之特定預定類別)中。詳述圖9b之 步驟361A,其展示如何在該等狀況(即,應用一區塊轉置)下採用最初針對垂直類別中之模式而設計之分割710。此係圖8c之通用步驟361x之一特定實施例。相較於步驟361x,區域A現為CG之頂部列,區域B係中間兩列,且區域C現為底部列。
現參考圖10a、圖10b及圖10c來解釋如何編碼一轉換區塊之一「概述」以避免不必要地編碼零值轉換係數。圖10a展示分割成係數群組(在此情況中,分割成4列×4行)之一樣本區塊1000(在此情況中,大小為16×16)。圖中描繪用於指示CG在該等行及列中之一2維位置的區塊1000上方及右邊之CGx座標軸及CGy座標軸。圖中亦展示區塊內之係數群組之Z字形群組掃描次序1010。係數群組1000a至1000p之特徵編號中之字母反映自左上CG 1000a至右下CG 1000p之次序1010。此特定Z字形次序開始於(1,0)處之CG,接著為(0,0)處之CG,但亦可為此次序之一「轉置」版本,其中(0,1)處之CG在(0,0)處之CG之後。儘管AVS2標準指定圖10a中所描繪之Z字形次序,然其他類型之次序(諸如水平(列定向)次序及垂直(行定向)次序(雙向或單向))亦可用於視訊編碼(且因此在本發明之範疇內)。
圖10b展示對應於圖10a中所描繪之相同樣本區塊1000之係數群組旗標之區塊1000F且繪示該區塊內之係數群組之群組掃描次序中之最後非零係數群組之位置。各「1」指示對應CG係一「非零」CG,即,其含有至少一非零轉換係數;各「0」指示對應CG係一「零」CG,即,其僅含有零值轉換係數。根據次序1010,最後非零係數群組(LNZCG)由對應於區塊1000之CG 1000m的旗標1000Cm標記;兩個對應區塊之(x,y)位置係(lastCGX,lastCGY)=(3,1)。(熟習技術者通常將一區塊中之最後非零CG稱為「最後」CG,此係因為其係需要編碼之最後CG;在解碼期間,將群組掃描次序中之後續CG中之所有係數推斷為零。)在群組掃描次序中之LNZCG 1000m之後之CG 1000n、 1000o及1000p中,僅存在零值轉換係數。不僅無需藉由編碼LNZCG 1000m之位置(此處為x座標及y座標,或為群組掃描次序中之一維位置)而編碼此等「0」,且無需編碼對應於CG 1000n、1000o及1000p之零值旗標。鑑於由「n/a(不適用)」符號指示之遺漏資料,旗標區塊1000F因此可被視為一「部分」區塊(然而,其在重建一完整區塊時會發揮作用)。
圖10c展示圖10a中所描繪之相同樣本區塊1000之一些係數級別細節。CG 1000e描繪該CG內之轉換係數之掃描次序1020。如同CG級別處之群組掃描次序,係數級別處之掃描次序自左上係數1000e0行進至右下係數1000e15,其起始於右邊之一Z字形且接著為一對角Z字形。亦如同群組掃描次序,儘管圖10c中所描繪之「1」係由AVS2標準指定之「1」,然係數級別處之其他掃描次序係可能的(且在本發明之範疇內)。CG 1000k之上方及右邊亦描繪用於指示轉換係數之二維位置的Cx座標軸及Cy座標軸。係數群組1000k及1000m描繪此等係數群組之掃描次序中之各自最後非零係數(LNZC)1000k13及1000m4。對於CG 1000k,(lastPosX,lastPosY)=(3,2)。對於CG 1000m,(lastPosX,lastPosY)=(1,1)。
所有掃描次序係不對稱的。例如,掃描次序1020並非在CG之一轉置或CG之任何其他翻轉下不變。如相關於轉置區塊所簡短提及,現已認知,由於一CG內之係數之特定Z字形掃描次序1020且亦由於一區塊內之CG之群組掃描次序1010(Z字形掃描次序1020及群組掃描次序1010之各者在對角地折返之前向右(而非向下)作Z字形轉折),轉置水平類別中之一區塊內部預測模式係有利的(相較於垂直類別)。對於垂直類別中之模式,LNZC通常在前兩列中,而對於水平類別中之模式,LNZC通常在前兩行中。藉由轉置一水平模式之區塊而將LNZC移動至前兩列,其通常減少待掃描之係數之數目,因此有益於編碼效 率。
一係數群組之LNZC之(x,y)位置之模式相依編碼
現已認知,在視訊壓縮中之內部預測及轉換程序之後,當一CG位於轉換區塊之頂部邊緣上時,該CG中之LNZC趨於定位於該CG之頂部接近處。類似地,當一CG位於轉換區塊之左邊緣上時,LNZC趨於定位於該CG之左邊接近處。
出於利用此觀察之目的,圖11a及圖11b中描繪圖10a之轉換區塊1000之兩種不同分割。圖12繪示如何使用此等分割之一者。
在圖11a中,分割1100A將區塊1000之係數群組分割成係數群組之四個不相交區域。此等區域係:區域0,特徵1110A,其僅由左上CG 1000a組成;區域1,特徵1111A,其由除左上CG 1000a之外之區塊1000之頂部邊緣上之CG組成;區域2,特徵1112A,其由除左上CG 1000a之外之區塊之左邊緣上之CG組成;及區域3,特徵1113A,其由除區塊之左邊緣及頂部邊緣上之CG之外之所有CG組成。
另一方面,在圖11b中,分割1100B將區塊1000之係數群組分割成係數群組之三個不相交區域。此等區域係:區域0,特徵1110B,其僅由左上CG 1000a組成;區域1,特徵1111B,其由區塊之左邊緣或頂部邊緣但非兩者上之CG組成;及區域2,特徵1112B,其由除區塊之左邊緣及頂部邊緣上之CG之外之所有CG組成。
圖12展示詳述圖11b中所描繪之三分分割1100B之用法的一流程圖。在步驟368中,判定當前CG屬於區域0、區域1及區域2之何者。根據該區域是否為區域0、區域1或區域2,分別基於步驟368A中之內文模型0、步驟368B中之內文模型1或步驟368C中之內文模型2而編碼該CG中之LNZC之(x,y)位置。在一樣本實施例中,基於區域索引、內部預測模式分類及二進位索引而判定用於熵編碼當前CG中之LNZC之(x,y)位置的內文模型,如以下偽碼中所展示: 若當前CG屬於區域2,則ctxInc(lastPosX)=min(binIndex,1);ctxInc(lastPosY)=min(binIndex,1);否則,ctxInc(lastPosX)=regionIndex*4+(intraModeIdx>0)*2+min(binIndex,1)+2;ctxInc(lastPosY)=regionIndex*4+(intraModeIdx>0)*2+min(binIndex,1)+2;其中若內部預測模式在垂直類別中,則intraModeIdx=0,若內部預測模式在水平類別中,則intraModeIdx=1,否則,intraModeIdx=2
一係數群組中之最後非零係數之編碼位置資料
在統一AVS2編碼設計中,將一CG中之最後非零係數之(x,y)位置編碼為(X,Y),其中原點(0,0)係該CG之左上係數位置。將一元二進位化應用於座標(X,Y)。若當前CG並非為LNZCG,則當前CG之最後非零係數位置通常位於右下係數位置、左下係數位置或右上係數位置接近處,在該等情況中,編碼(X,Y)無效率,此係因為兩個座標之至少一者將接近於值3,該值係座標值(0至3)之最長者,可對符合AVS2標準之始終具有4×4大小之一CG永遠編碼座標值(0至3)。
圖13中極一般地展示此觀察之一技術應用,其中一流程圖繪示用於編碼所編碼之當前係數群組之掃描次序中之最後非零係數之(x,y)位置之一修改表示的新穎方法1300。在符合AVS2之CG(其具有4×4大小)之特定實施例中,修改導致將值「3」及「2」分別(也許有條件地)變換成值「0」及「1」;通常,此改良編碼效率。
此一般方法僅適用於為LNZCG之前之非零CG的CG。因此,方法1300中之第一步驟係:在步驟1310中,判定當前CG滿足此等要求。 接著,在步驟1320中,在當前CG中獲得最後非零係數之(x,y)位置(X,Y)。隨後,在步驟1340中,將一非同一修改應用於座標(X,Y)以計算一經修改之(x,y)位置(X',Y')。該修改係基於以下之至少一者:(a)用於產生編碼區塊之內部預測模式;及(b)相鄰於當前係數群組之至少一係數群組。圖13a至圖13c中分別繪示其中修改係基於(a)、基於(b)及基於(a)及(b)兩者的實施例。最後,在步驟1350中,使用一內文模型來二進位化及熵編碼經修改之(x,y)位置(X',Y')。
圖13a展示繪示方法1300A之一流程圖,其係圖13中所描繪之方法1300之一實施例(其中省略步驟1310),該實施例基於內部預測模式所屬之類別而修改(x,y)位置。圖13a中包含圖13中未展示之步驟1330,此係因為:在此實施例中,用於產生編碼區塊之內部預測模式之判定在此時係必不可少的。以一虛線框描繪步驟1330,此係因為:(a)其未必發生於步驟1320之後;及(b)不論此方法如何,將始終進行內部預測模式之判定(藉由圖1a之編碼模式選擇器160)以執行空間預測(經由空間預測器105)。
方法1300A之本質係步驟1340A。在此樣本實施例中,修改之應用取決於內部預測模式所屬之類別。在步驟1341中,判定類別是否為對角類別。若類別係對角類別,則在步驟1342中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,3-Y)。若類別並非為對角類別,則在步驟1343中,判定類別是否為垂直類別。若類別係垂直類別,則在步驟1344中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,Y)。若類別並非為垂直類別,則在步驟1346中,將LNZC之真實(x,y)位置(X,Y)變換成(X,3-Y);在此最後情況中,藉由排除法而確定:內部預測模式在水平類別中。
基本邏輯係:可藉由其他測試序列而在完全相同之三個各自條件中達成三種不同變換。若早先測試更頻繁發生之條件,則一特定序 列可為有利的(藉此減少所執行之測試之平均數目)。由於對角類別(如本發明中所定義)最常發生,所以圖13a中所描繪之特定測試序列通常受益於其首先針對對角類別之測試。
圖13b展示繪示方法1300B之一流程圖,其係圖13中所描繪之方法1300之另一實施例(其中省略步驟1310),該實施例基於當前係數群組之至少一相鄰係數群組而修改(x,y)位置。在此樣本實施例中,步驟1340B中之修改之應用取決於相鄰於當前CG之先前經處理之CG之何者(即,緊鄰於當前CG之右CG或下CG)係零及何者係非零。在步驟1347中,判定右相鄰者是否為零及下相鄰者是否為非零。若右相鄰者係零且下相鄰者係非零,則在步驟1346中,將LNZC之真實(x,y)位置(X,Y)變換成(X,3-Y)。若右相鄰者並非為零且下相鄰者並非為非零,則在步驟1348中,判定右相鄰者是否為非零及下相鄰者是否為零。若右相鄰者係非零且下相鄰者係零,則在步驟1344中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,Y)。若右相鄰者並非為非零且下相鄰者並非為零,則判定右相鄰者及下相鄰者兩者是否為非零。若右相鄰者及下相鄰者兩者係非零,則在步驟1342中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,3-Y)。若右相鄰者及下相鄰者兩者並非為非零,則不發生變換,即,真實(x,y)位置(X,Y)在其被編碼之前未經算術修改;在此最後情況中,藉由排除法而確定:右相鄰者及下相鄰者兩者係零。
基本邏輯係:可藉由其他測試序列而在完全相同之三個各自條件中達成三種不同變換。若早先測試更頻繁發生之條件,則一此類序列可為有利的(藉此減少所執行之測試之平均數目)。
圖13c展示繪示圖13中所描繪之方法1300之又一實施例之步驟1340C的一流程圖。在此樣本實施例中,(x,y)位置之修改之應用係基於以下之至少一者:(a)相鄰於當前CG之至少一CG;及(b)待用於產生 編碼區塊之內部預測模式之分類。在步驟1347中,判定右相鄰者是否為零及下相鄰者是否為非零。若右相鄰者係零且下相鄰者係非零,則在步驟1346中,將LNZC之真實(x,y)位置(X,Y)變換成(X,3-Y)。若右相鄰者並非為零且下相鄰者並非為非零,則在步驟1348中,判定右相鄰者是否為非零及下相鄰者是否為零。若右相鄰者係非零且下相鄰者係零,則在步驟1344中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,Y)。若右相鄰者並非為非零且下相鄰者並非為零,則在步驟1349中,判定右相鄰者及下相鄰者兩者是否為非零。若右相鄰者及下相鄰者兩者係非零,則在步驟1342中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,3-Y)。若右相鄰者及下相鄰者兩者並非為非零,則在步驟1343中,判定內部預測模式是否在垂直類別中。若內部預測模式在垂直類別中,則在步驟1344中,將LNZC之真實(x,y)位置(X,Y)變換成(3-X,Y)。若內部預測模式不在垂直類別中,則在步驟1345中,判定內部預測模式是否在水平類別中。若內部預測模式在水平類別中,則在步驟1346中,將LNZC之真實(x,y)位置(X,Y)變換成(X,3-Y)。若內部預測模式不在水平類別中,則不發生變換,即,真實(x,y)位置(X,Y)在其被編碼之前未經算術修改;在此最後情況中,藉由排除法而確定:右相鄰者及下相鄰者兩者係零且內部預測模式在對角類別中。
基本邏輯係:可藉由其他測試序列而在完全相同之三個各自條件中達成三種不同變換。若早先測試更頻繁發生之條件,則一此類序列可為有利的(藉此減少所執行之測試之平均數目)。
現轉至圖14,圖中展示繪示用於解碼根據圖13中所概述之方法1300而編碼之視訊之方法1400的一流程圖。在此一編碼視訊之逐區塊處理期間,在步驟1410中,對於當前區塊中之當前係數群組,解碼該係數群組之掃描次序中之最後非零係數之真實(x,y)位置之一經修改之編碼表示(X,Y)。接著,在步驟1440中,將一非同一修改應用於該 經修改之表示(X,Y)以獲得真實(x,y)位置。如同方法1300,該修改係基於以下之至少一者:(a)用於產生編碼區塊之一內部預測模式;及(b)相鄰於一內部預測模式產生編碼區塊時所使用之當前係數群組的至少一係數群組。
如圖14中所描繪且如剛所描述,方法1400足夠一般使得其適用於根據方法1300之範疇內之各種實施例之任何者(諸如圖13A、圖13B及圖13C中分別所描繪及上文詳細所討論之方法1300A、1300B或1300C)而編碼之視訊。當然,方法1400無法同時適用於方法1300之範疇內之每個編碼實施例。為與方法1300之任何特定實施例相容,方法1400必須具有與方法1300之對應步驟1340相容之修改步驟1440之一實施例。應瞭解,修改步驟1440必須為步驟1340之逆過程。更具體言之,在各可能狀況(是否基於用於產生編碼區塊之一內部預測模式或基於相鄰於一內部預測模式產生編碼區塊時所使用之當前係數群組的至少一係數群組)中,步驟1440中之(X,Y)之變換必須解除在當前區塊之編碼期間於步驟1340中執行之(X,Y)之任一變換。
由於3-(3-X)=X且3-(3-Y)=Y,所以可在不同條件下於步驟1340中使用之各種變換之各者(即,(X,Y)→(X,3-Y)、(X,Y)→(3-X,Y)及(X,Y)→(3-X,3-Y))係一雙週期操作,其意謂:兩次應用變換以應用同一(即,無為)操作。換言之,各變換係其自身之反算。此之最終結果為:實際上,與方法1300之一特定實施例相容之方法1400所需之步驟1440之變體事實上相同於用於方法1300之該實施例中之步驟1340之變體。既然如此,未在單獨圖式中描繪與對應方法1300A、1300B及1300C相容之方法1400之三種變體。
最後,參考圖15,圖中展示計算器件1500之一實例性實施例之一簡化方塊圖,計算器件1500可為各種器件之任何者,其包含(但不限於)可用作一編碼器、一解碼器或兩者之伺服器、適合程式化之通 用電腦、音訊/視訊編碼及播放器件、視訊轉換器、電視廣播設備、DVD或Blu-Ray播放器、及行動器件(諸如智慧型電話、平板電腦、平板手機及其類似者)。器件1500被描繪為具有兩個處理器1511及1512來控制器件之功能,但如吾人所熟知,一計算器件可經設計以具有一單一通用處理器或具有任何數目個通用及/或專用處理器。器件1500包含記憶體1520,其可包含能夠儲存可由器件1500中之一或多個處理器(例如處理器1511及1512)執行之處理器可執行指令的一非暫時性處理器可讀媒體。該媒體可為單體的或可由若干部件組成。該媒體可為一或多種類型,諸如一光碟、一快閃記憶體器件、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、一硬碟機、一專用積體晶片(ASIC)等等。記憶體1520或其部件可自器件1500移除及/或永久地附裝於其內。記憶體1520或其部件之性質可將儲存於其內之指令呈現為不可變的及/或可重新程式化的;可重新程式化記憶體可為揮發性或非揮發性的。在各種實施例中,指令可被視為以硬體、韌體及/或軟體之形式實施。
儲存於記憶體1520中之處理器可執行指令在由器件1500中之一或多個處理器(例如處理器1511及1512)執行時可組態器件1500以執行各種功能。某些群組之此等處理器可執行指令可構成電腦程式,亦稱為「電腦應用程式」或僅簡稱為「應用程式」。特定言之,記憶體1520可儲存能夠執行根據本發明之一或多個方法的編碼應用程式1530(儲存於一處理器可讀媒體中),在此情況中,器件1500係一編碼器,諸如編碼器100B。替代地,記憶體1520可儲存能夠執行根據本發明之一或多個解碼方法的解碼應用程式1540,在此情況中,器件1500係一解碼器,諸如解碼器500B。作為一進一步替代例,記憶體1520可儲存編碼應用程式1530及解碼應用程式1540兩者,在此情況中,器件1500係一編碼器及一解碼器兩者。
記憶體1520可為使用一視訊解碼器由一位元串流之編碼視訊中之一編碼區塊之殘餘資料重建一當前區塊之殘餘資料的一裝置。此裝置包括:(a)用於判定用於產生該編碼區塊之一模式係一預定類別中之一內部預測模式的構件;(b)用於熵解碼該編碼區塊以獲得一熵解碼區塊的構件;及(c)用於回應於判定該模式在該預定類別中而轉置該熵解碼區塊之至少一部分以獲得一轉置區塊的構件。
替代地,記憶體1520可為用於編碼器件1500上之視訊的一裝置,該視訊包含分割成區塊之一圖像。此裝置包括:(a)使用一預定類別中之一內部編碼模式自一當前區塊之空間預測產生該區塊之殘餘資料的構件;(b)用於頻譜轉換及量化該殘餘資料以獲得一量化轉換區塊的構件;(c)用於轉置該量化轉換區塊之至少一部分以獲得一轉置區塊的構件;(d)用於級別-運行編碼該轉置區塊之轉換係數以獲得級別-運行對的構件;及(e)使用一內文模型來二進位化及熵編碼該等級別-運行對的構件。
一般技術者應認知,可在本發明之範疇內對上文所描述之樣本實施例作出各種常規調適及修改。因此,該等實施例應被視為具繪示性且非限制性。
500B‧‧‧新穎解碼器
510‧‧‧熵解碼器
515‧‧‧區塊轉置
520‧‧‧解量化器
525‧‧‧反向頻譜轉換
530‧‧‧空間補償器
540‧‧‧解區塊處理器
545‧‧‧圖框緩衝器
550‧‧‧運動補償器

Claims (19)

  1. 一種使用一視訊解碼器自一位元串流之編碼視訊中之一編碼區塊之殘餘資料重建一當前區塊之殘餘資料的方法,該方法包括:判定用於產生該編碼區塊之一模式係一預定類別中之一內部預測模式;熵解碼該編碼區塊以獲得一熵解碼區塊;及回應於判定該模式係在該預定類別中,轉置該熵解碼區塊之至少一部分以獲得一轉置區塊。
  2. 如請求項1之方法,其中該預定類別包括一水平類別。
  3. 如請求項2之方法,其中該水平類別包括音訊及視訊編碼標準2(AVS2)視訊編碼標準之內部預測模式1、7、14、17、18、27、28及29。
  4. 如請求項2或3之方法,其中該當前區塊由不相交係數群組組成,各係數群組包括經配置成四列之轉換係數;及其中熵解碼該編碼區塊包括,對於各係數群組,基於至少部分地基於對應於該係數群組之各二進位是否對應於以下各者而推斷之一內文來解碼該二進位:左上係數群組中之DC轉換係數,或否則頂部列中之一轉換係數,中間兩列中之一轉換係數,或底部列中之一轉換係數。
  5. 如請求項1至3中任一項之方法,其中熵解碼包括:將一內文模型用於除該預定類別之外之一類別中的模式。
  6. 如請求項1至3中任一項之方法,其中該至少一部分包括位於該熵解碼區塊之一左邊緣及一頂部邊緣之一者上之一子區塊。
  7. 如請求項1至3中任一項之方法,其中該至少一部分呈正方形。
  8. 如請求項1至3中任一項之方法,其中該至少一部分包括整個該熵解碼區塊。
  9. 如請求項1至3中任一項之方法,其中判定該模式係在該預定類別中包括:自該位元串流解碼該模式之一指示;及判定該模式屬於何種類別。
  10. 如請求項1至3中任一項之方法,其中判定該模式係在該預定類別中發生於熵解碼該編碼區塊之前。
  11. 如請求項1至3中任一項之方法,進一步包括:解量化該轉置區塊以獲得一解量化區塊;及將一反向頻譜轉換應用於該解量化區塊。
  12. 如請求項11之方法,其中該反向頻譜轉換係一反向離散餘弦轉換。
  13. 如請求項1至3中任一項之方法,其中該當前區塊由三個不相交之轉置不變區域組成,各區域經分割成係數群組,各係數群組包括轉換係數;及其中熵解碼該編碼區塊包括,對於各係數群組,基於至少部分地自該係數群組所屬之該區域推斷之一內文,在該係數群組中解碼該係數群組中之係數之一掃描次序中之最後非零係數的(x,y)位置。
  14. 如請求項13之方法,其中該等係數群組在該當前區塊內經配置成列及行;其中該三個區域之一者由頂部列及左行兩者中之係數群組組 成;其中該三個區域之另一者由該頂部列或該左行,但非兩者中的係數群組組成;及其中該三個區域之剩餘者由除該頂部列及該左行中之係數群組之外的係數群組組成。
  15. 一種用於自一位元串流之編碼視訊中之一編碼區塊之殘餘資料重建一當前區塊之殘餘資料的視訊解碼器,該解碼器包括:一或多個處理器;一記憶體;及一解碼應用程式,其經儲存於該記憶體中且含有用於組態該一或多個處理器以執行如請求項1至3中任一項之方法的指令。
  16. 一種使用一視訊編碼器來編碼視訊之方法,該視訊包含經分割成區塊之一圖像,該方法包括:使用一預定類別中之一內部編碼模式,自一當前區塊之空間預測產生該區塊之殘餘資料;頻譜轉換及量化該殘餘資料以獲得一量化轉換區塊;轉置該量化轉換區塊之至少一部分以獲得一轉置區塊;級別-運行編碼該轉置區塊之轉換係數以獲得級別-運行對;及使用一內文模型來二進位化及熵編碼該等級別-運行對。
  17. 如請求項16之方法,其中該預定類別包括一水平類別。
  18. 一種用於編碼視訊之視訊編碼器,該編碼器包括:一或多個處理器;一記憶體;及一編碼應用程式,其經儲存於該記憶體中且含有用於組態該一或多個處理器以執行如請求項16或17中任一項之方法的指令。
  19. 一種儲存處理器可執行指令之非暫時性處理器可讀媒體,該等處理器可執行指令在被執行時組態一或多個處理器以執行如請求項1至3、16及17中任一項之方法。
TW103132579A 2013-09-19 2014-09-19 根據內部預測模式轉置轉換係數的區塊 TWI549488B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/031,436 US9813737B2 (en) 2013-09-19 2013-09-19 Transposing a block of transform coefficients, based upon an intra-prediction mode

Publications (2)

Publication Number Publication Date
TW201528785A true TW201528785A (zh) 2015-07-16
TWI549488B TWI549488B (zh) 2016-09-11

Family

ID=51625815

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103132579A TWI549488B (zh) 2013-09-19 2014-09-19 根據內部預測模式轉置轉換係數的區塊

Country Status (6)

Country Link
US (1) US9813737B2 (zh)
EP (1) EP2852167B1 (zh)
KR (1) KR101609468B1 (zh)
CN (1) CN104469384B (zh)
HK (1) HK1208579A1 (zh)
TW (1) TWI549488B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10405000B2 (en) * 2014-11-21 2019-09-03 Vid Scale, Inc. One-dimensional transform modes and coefficient scan order
WO2016200234A1 (ko) * 2015-06-11 2016-12-15 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
US20170064298A1 (en) * 2015-09-02 2017-03-02 Blackberry Limited Video coding with delayed reconstruction
TW201811036A (zh) * 2016-06-07 2018-03-16 聯發科技股份有限公司 一種將係數儲存到逆掃描儲存裝置前確定係數的儲存位置的方法和相關裝置及機器可讀介質
US10440366B2 (en) 2016-07-01 2019-10-08 Intel Corporation Method and system of video coding using content based metadata
US10666946B2 (en) 2016-07-01 2020-05-26 Intel Corporation Method and system of video coding using display modification input
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
KR102454056B1 (ko) 2017-03-31 2022-10-14 린텍 가부시키가이샤 반도체 장치의 제조 방법 및 양면 점착 시트
CN110462816B (zh) 2017-03-31 2023-09-19 琳得科株式会社 半导体装置的制造方法及粘合片
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
US10999591B2 (en) * 2017-06-02 2021-05-04 Lg Electronics Inc. Method and apparatus for processing video signal through target area modification
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
JP7187566B2 (ja) * 2018-02-09 2022-12-12 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン パーティションベースのイントラ符号化概念
EP3854081A4 (en) * 2018-09-20 2022-07-06 Nokia Technologies Oy METHOD AND APPARATUS FOR CODING AND DECODING DIGITAL IMAGE/VIDEO MATERIAL
EP3939261A1 (en) * 2019-03-12 2022-01-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Implementation efficient partition-based intra coding concept
CN112533000B (zh) * 2020-10-16 2022-08-05 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0181028B1 (ko) * 1995-03-20 1999-05-01 배순훈 분류 디바이스를 갖는 개선된 비디오 신호 부호화 시스템
US5748244A (en) 1995-03-28 1998-05-05 Daewoo Electronics Co., Ltd. Adaptive runlength coding based on zero and non-zero subblocks
US6175592B1 (en) * 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US6505299B1 (en) * 1999-03-01 2003-01-07 Sharp Laboratories Of America, Inc. Digital image scrambling for image coding systems
US7782954B2 (en) 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8885701B2 (en) * 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9288496B2 (en) 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
US8634474B2 (en) 2011-05-03 2014-01-21 Texas Instruments Incorporated CABAC macroblock rewind and end of slice creation to control slice size for video encoders
US20130003859A1 (en) 2011-06-30 2013-01-03 Qualcomm Incorporated Transition between run and level coding modes
US9392301B2 (en) * 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
US20130094779A1 (en) * 2011-10-04 2013-04-18 Texas Instruments Incorporated Method and Apparatus for Prediction Unit Size Dependent Motion Compensation Filtering Order
US9253508B2 (en) * 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
US9344722B2 (en) 2011-11-18 2016-05-17 Futurewei Technologies, Inc. Scanning of prediction residuals in high efficiency video coding
US20130163664A1 (en) * 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
US9621894B2 (en) 2012-01-13 2017-04-11 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
US9106918B2 (en) * 2012-01-20 2015-08-11 Sony Corporation Coefficient coding harmonization in HEVC
US20130195200A1 (en) 2012-01-28 2013-08-01 Research In Motion Limited Methods and devices for context modeling to enable modular processing
US9131210B2 (en) * 2012-03-16 2015-09-08 Texas Instruments Incorporated Low-complexity two-dimensional (2D) separable transform design with transpose buffer management
US9124872B2 (en) * 2012-04-16 2015-09-01 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US10257520B2 (en) * 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping
US9554152B2 (en) * 2013-07-12 2017-01-24 Qualcomm Incorporated Concurrent processing of horizontal and vertical transforms

Also Published As

Publication number Publication date
EP2852167A1 (en) 2015-03-25
US20150078445A1 (en) 2015-03-19
CN104469384A (zh) 2015-03-25
TWI549488B (zh) 2016-09-11
US9813737B2 (en) 2017-11-07
KR101609468B1 (ko) 2016-04-05
HK1208579A1 (zh) 2016-03-04
CN104469384B (zh) 2018-06-29
KR20150032646A (ko) 2015-03-27
EP2852167B1 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
TWI549486B (zh) 用於係數群組中最後非零轉換係數之編碼位置資料
TWI549488B (zh) 根據內部預測模式轉置轉換係數的區塊
JP7078670B2 (ja) 変換係数ブロック復号装置および方法、ならびに変換係数ブロック符号化装置および方法
TWI670971B (zh) 基於調色板之視訊寫碼中之逃脫樣本寫碼
TWI524780B (zh) 在變換單元內之多符號位元隱藏
JP2018067946A (ja) 適応ツリー選択を使用してバイナリ・セットをビデオ符号化およびビデオ復号する方法および装置
CN108028919A (zh) 用于图像与视频编解码中语法元素的上下文建模的方法及装置
WO2011121715A1 (ja) 画像復号化方法
JP2020010393A (ja) 符号化ビデオデータのサンプル適応オフセットデータを復号するための方法、プログラム、コンピュータ可読記憶媒体、およびビデオデコーダ
JP2005160089A (ja) αチャンネル映像のための符号化ブロックパターン生成装置及び方法とそれを利用したαチャンネル映像符号化/復号化装置及び方法
CN107347155A (zh) 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
KR20110114524A (ko) 화상 예측 부호화 장치, 방법 및 프로그램, 화상 예측 복호 장치, 방법 및 프로그램, 및 부호화·복호 시스템 및 방법
CN114788264B (zh) 用于发出虚拟边界和环绕运动补偿的信号的方法
KR102589712B1 (ko) 비디오 디코딩 방법 및 장치, 저장 매체
CN112204972A (zh) 变换系数块编码
JP2022171910A (ja) ビデオ復号及び符号化の方法、装置並びにコンピュータプログラム
TWI738167B (zh) 圖像編碼及解碼技術
JP2024502109A (ja) ビデオコーディング用の残差および係数のコーディング
CN116746148A (zh) 用于视频编解码的残差和系数编解码
TWI533705B (zh) 用於內容脈絡集選擇之方法及裝置
KR20230084552A (ko) 메시 압축을 위한 정점 재배열 방법의 코딩 연결성