TWI533705B - 用於內容脈絡集選擇之方法及裝置 - Google Patents

用於內容脈絡集選擇之方法及裝置 Download PDF

Info

Publication number
TWI533705B
TWI533705B TW102101857A TW102101857A TWI533705B TW I533705 B TWI533705 B TW I533705B TW 102101857 A TW102101857 A TW 102101857A TW 102101857 A TW102101857 A TW 102101857A TW I533705 B TWI533705 B TW I533705B
Authority
TW
Taiwan
Prior art keywords
flag
significant coefficient
block
coefficient
flags
Prior art date
Application number
TW102101857A
Other languages
English (en)
Other versions
TW201347546A (zh
Inventor
恩古言 恩古言
計天穎
何大可
Original Assignee
黑莓有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 黑莓有限公司 filed Critical 黑莓有限公司
Publication of TW201347546A publication Critical patent/TW201347546A/zh
Application granted granted Critical
Publication of TWI533705B publication Critical patent/TWI533705B/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
    • 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/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/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)

Description

用於內容脈絡集選擇之方法及裝置 著作權標示
此文件及隨附材料之揭示內容之一部分包含構成著作權主張之材料。著作權擁有者不反對任何人複製如在專利與商標局檔案或記錄中出現之專利文獻或專利揭示內容,但保留所有任何其他著作權權利。
本申請案大致係關於資料壓縮,且特定言之,本申請案係關於用於使用有效性映射來編碼及解碼視訊之方法及裝置。
資料壓縮發生在諸多情況中。資料壓縮常用於通信及電腦網路以有效地儲存、傳輸及重現資訊。其在影像、音訊及視訊之編碼中發現特定應用。由於各視訊圖框所需之大量資料及發生編碼及解碼通常需要之速度,視訊造成資料壓縮之一重大挑戰。當前最先進視訊編碼技術為ITU-T H.264/AVC視訊編碼標準。該標準定義用於不同應用之數種不同規範,包含主要規範、基線規範及其他規範。一下一代視訊編碼標準當前正透過聯合發起之MPEG-ITU(稱為高效率視訊編碼(HEVC))而處於發展之中。該發起最終可導致常稱為MPEG-H之一視訊編碼標準。
存在使用基於區塊之編碼程序之用於編碼/解碼影像及視訊之數種標準,包含H.264。在此等程序中,影像或圖框被分成區塊(通常為 4×4或8×8),且該等區塊被頻譜地變換成係數、被量化及被熵編碼。在諸多情況中,經變換之資料不是實際像素資料,而係一預測操作之後之殘餘資料。預測可為圖框內(亦即,圖框/影像內之區塊對區塊),或圖框間(亦即,圖框之間(亦稱為運動預測))。預期MPEG-H亦將具有此等特徵。
當頻譜地變換殘餘資料時,許多此等標準規定使用一離散餘弦變換(DCT)或其之一些變體。接著使用一量化器而量化所得DCT係數以產生量化經變換域係數或索引。
接著,使用一特定內容脈絡模型(context model)對經量化變換域係數之區塊或矩陣(有時稱為一「變換單元」)進行熵編碼。在H.264/AVC中及在MPEG-H之當前發展工作中,藉由如下而編碼經量化變換係數:(a)編碼指示變換單元中之最後非零係數之位置之一最低有效係數位置;(b)編碼指示變換單元中包含非零係數之位置(除最後有效係數位置外)之一有效性映射;(c)編碼該等非零係數之量值;及(d)編碼該等非零係數之正負號。該等經量化之變換係數之此編碼通常佔據位元串流中經編碼資料之30%至80%。
變換單元通常為N×N。常見大小包含4×4、8×8、16×16及32×32,然其他大小亦係可能的,在一些實施例中包含非平方大小,諸如16×4、4×16、8×32或32×8。有效性映射中之符號之熵編碼係基於一內容脈絡模型。在4×4或8×8明度或色度區塊或變換單元(TU)之情況中,一單獨內容脈絡係與該TU中之各係數位置相關聯。編碼器及解碼器必須在編碼及解碼有效性映射期間追蹤及查找大量不同內容脈絡。在較大之TU之情況中,用於編碼一有效旗標之內容脈絡可取決於鄰近有效旗標之值。例如,該旗標可具有取決於鄰近旗標之值而自四個或五個內容脈絡選擇之一內容脈絡。在一些例項中,一TU或一TU之子區塊內之特定旗標可具有基於位置之一內容脈絡,諸如左上 (DC)位置。
本申請案描述用於以內容脈絡自適應編碼或解碼而編碼及解碼有效性映射之方法及編碼器/解碼器。該編碼器及解碼器使用多層級有效性映射。在至少一情況中,該等多層級映射與較大變換單元(諸如16×16及32×32 TU)一起使用。
在一態樣中,本申請案描述一種藉由重新建構一變換單元之有效係數旗標而解碼經編碼之視訊之一位元串流之方法,該變換單元包括一序列區塊,該位元串流編碼若干有效係數旗標集,各集對應於一各自區塊。該方法包含:對於該等有效係數旗標集之一者,基於對應於該有效係數旗標集之區塊之變換單元內之一位置而選擇一內容脈絡集,以在解碼該有效係數旗標集中使用;及使用該經選擇之內容脈絡集解碼該有效係數旗標集。
在另一態樣中,本申請案描述一種藉由重新建構一變換單元之有效係數旗標而解碼經編碼之視訊之一位元串流之方法,該變換單元包括一序列區塊,該位元串流編碼若干有效係數旗標集,各集對應於一各自區塊。該方法包含:對於該等有效係數旗標集之一者,判定該集之一有效係數群組旗標;藉由在該有效係數群組旗標係自位元串流解碼時選擇一第一內容脈絡集,及在該有效係數群組旗標係基於至少兩個鄰近有效係數旗標集之有效係數群組旗標而判定時選擇一不同內容脈絡集,而選擇用於解碼該有效係數旗標集之一內容脈絡集;及使用該經選擇之內容脈絡集解碼該有效係數旗標集。
在一實施例中,判定包含:判定出該有效係數群組旗標等於1。
在一進一步實施例中,判定包含:基於具有等於1之一有效係數群組旗標之一右方鄰近有效係數旗標集及等於1之一下方鄰近有效係數旗標集,而推斷出該有效係數群組旗標等於1。在一些實施方案 中,此方法進一步包含:在解碼之後,判定該集是否包含所有零係數,及若如此,則將該集之有效係數群組旗標修正為等於0,以在隨後判定是否推斷鄰近有效係數旗標集之有效係數群組旗標中使用。
在又另一實施例中,判定包括:解碼來自位元串流之有效係數群組旗標,此係因為一右方鄰近有效係數旗標集具有等於0之一有效係數群組旗標,或等於0之一下方鄰近有效係數旗標集。
在一進一步實施例中,該第一內容脈絡集包含數個內容脈絡,其中選擇該第一內容脈絡集包括將一內容脈絡索引變數設定成一預定值,及其中選擇第二內容脈絡集包括將該內容脈絡索引變數設定成該預定值加上內容脈絡數目。
在另一態樣中,本申請案描述一種藉由編碼一變換單元之有效係數旗標而編碼一視訊以產生經編碼有效係數旗標集之一位元串流,該變換單元包括一序列區塊,各有效係數旗標集對應於一各自區塊。該方法包含:對於該等有效係數旗標集之一者,判定該集之一有效係數群組旗標;藉由在該有效係數群組旗標經編碼以插入至位元串流中時而選擇一第一內容脈絡集,及在該有效係數群組旗標係基於至少兩個鄰近有效係數旗標集之有效係數群組旗標而判定時選擇一不同內容脈絡集,而選擇一內容脈絡集以在編碼該有效係數旗標集中使用;及使用該經選擇之內容脈絡集編碼該有效係數旗標集。
在一進一步態樣中,本申請案描述經組態以實施編碼及解碼之此等方法之編碼器及解碼器。
在又進一步實施例中,本申請案描述儲存電腦可執行程式指令之非暫時性電腦可讀媒體,該等處理器可執行指令在執行時組態一處理器以執行所描述之編碼及/或解碼之方法。
在另一態樣中,本申請案描述一種藉由重新建構一變換單元之有效係數旗標而解碼經編碼之視訊之一位元串流之方法,該變化單元 包括一序列區塊,該位元串流編碼若干有效係數旗標集,及各集對應於一各自區塊。該方法包含:對於對應於一第一區塊之一有效係數旗標集,自複數個內容脈絡集選擇一內容脈絡集,以在基於與該第一區塊之右方之一區塊相關聯之一有效係數群組旗標及與該第一區塊下方之一區塊相關聯之一有效係數群組旗標來解碼該有效係數旗標集中使用;及使用該經選擇之內容脈絡集而解碼該集之該等有效係數旗標。
本申請案描述一種藉由編碼一變換單元之有效係數旗標而編碼一視訊以產生經編碼有效係數旗標集之一位元串流之方法,該變換單元包括一序列區塊,及各有效係數旗標集對應於一各自區塊。該方法包含:對於對應於一第一區塊之一有效係數旗標集,基於與該第一區塊之右方之一區塊相關聯之一有效係數群組旗標及與該第一區塊下方之一區塊相關聯之一有效係數群組旗標而自複數個內容脈絡集選擇一內容脈絡集,以在編碼該有效係數旗標集中使用;及使用該經選擇之內容脈絡集而編碼該集之該等有效係數旗標。
一般技術者將結合附圖檢視下列之實例描述而理解本申請案之其他態樣及特徵。
10‧‧‧編碼器
12‧‧‧視訊源
14‧‧‧位元串流
16‧‧‧視訊圖框
20‧‧‧編碼模式選擇器
21‧‧‧空間預測器
22‧‧‧變換處理器
24‧‧‧量化器
26‧‧‧熵編碼器
28‧‧‧解量化器
30‧‧‧逆變換處理器
32‧‧‧解區塊處理器
34‧‧‧圖框儲存器
36‧‧‧運動預測器
50‧‧‧解碼器
52‧‧‧熵解碼器
54‧‧‧解量化器
56‧‧‧逆變換處理器
57‧‧‧空間補償器
58‧‧‧圖框緩衝器
60‧‧‧解區塊處理器
62‧‧‧運動補償器
100‧‧‧變換單元
110‧‧‧變換單元
112‧‧‧第一區域
114‧‧‧第二區域
120‧‧‧變換單元
122‧‧‧第一區域
124‧‧‧第二區域
126‧‧‧DC有效係數旗標
200‧‧‧變換單元
202‧‧‧第一區域
204‧‧‧第二區域
206‧‧‧DC有效係數旗標
220‧‧‧變換單元
226‧‧‧DC位置
250‧‧‧變換單元
900‧‧‧編碼器
902‧‧‧處理器
904‧‧‧記憶體
906‧‧‧編碼應用程式
1000‧‧‧解碼器
1002‧‧‧處理器
1004‧‧‧記憶體
1006‧‧‧解碼應用程式
作為實例,現將參考展示本申請案之實例實施例之附圖,其中:圖1以方塊圖形式展示用於編碼視訊之一編碼器;圖2以方塊圖形式展示用於解碼視訊之一解碼器;圖3展示一16×16變換單元之一多層級掃描順序之一實例;圖4繪示使用一定義對角線將一16×16變換單元分成兩個固定區域;圖5繪示使用一定義對角線將一32×32變換單元分成兩個固定區域; 圖6繪示基於係數群組將一16×16變換單元分成區域以用於選擇一內容脈絡集;圖7展示分成相鄰係數群組之一實例變換單元及該等係數群組之實例各自有效係數群組旗標;圖8展示基於圖7之實例將一16×16變換單元動態判定地分成區域之一實例;圖9展示圖7之具有推斷校正之實例;圖10展示基於圖9之實例將變換單元動態分成區域;圖11以流程圖形式展示編碼一有效性映射之一實例方法;圖12以流程圖形式展示由經編碼之資料之一位元串流重新建構一有效性映射之一實例方法;圖13展示一編碼器之一實例實施例之一簡化方塊圖;及圖14展示一解碼器之一實例實施例之一簡化方塊圖。
類似參考數字可用於不同圖中以指示類似元件。
在下文描述中,參考用於視訊編碼之H.264標準及/或發展中之MPEG-H標準而描述一些實例實施例。一般技術者將理解,本申請案不限於H.264/AVC或MPEG-H,而是可適用於其他視訊編碼/解碼標準,包含可能的未來標準、多視圖編碼標準、可擴縮視訊編碼標準及可重新組態視訊編碼標準。
在下文描述中,當提及視訊或影像時,可在某種程度上可互換使用術語「圖框」、「圖像」、「圖塊(slice)」、「影像塊(tile)」及「矩形圖塊群組」。熟習此項技術者將瞭解,在H.264標準之情況中,一圖框可包含一或多個圖塊。亦應瞭解,某些編碼/解碼操作係在一個圖框接著一個圖框之基礎上執行,一些係在逐圖塊基礎上執行,一些係在逐圖像基礎上執行,一些係逐影像塊基礎上執行,及一些係依矩形圖 塊群組執行,此取決於適用影像或視訊編碼標準之特定需求或術語。視情況而定,在任意特定實施例中,適用影像或視訊標準可判定是否結合圖框及/或圖塊及/或圖像及/或影像塊及/或矩形圖塊群組而執行下文所描述之操作。相應地,一般技術者將理解,根據本發明,本文所描述之特定操作或程序及圖框、圖塊、圖像、影像塊、矩形圖塊群組之特定引用是否適用於一給定實施例之圖框、圖塊、圖像、影像塊、矩形圖塊群組之一些或全部。如將根據下文描述變得顯而易見,此亦適用於變換單元、編碼單元、編碼單元群組等。
本申請案描述用於編碼及解碼有效性映射之實例程序及裝置。一有效性映射為映射至或對應於係數之一變換單元或一經定義單元(例如,若干變換單元、一變換單元之一部分或一編碼單元)之旗標之一區塊、矩陣或群組。各旗標指示變換單元或指定單元中之對應位置是否包含一非零係數。在現有標準中,此等旗標可被稱為有效係數旗標。在現有標準中,每個係數有一旗標,及在對應係數為零時該旗標為一位元0,且在對應係數為非零時該旗標設定為1。如將自下列描述理解,如本文所使用之術語「有效性映射」意欲指一變換單元之有效係數旗標之一矩陣或有序集,或係數之一經定義單元(將自應用內容脈絡而更清晰)。
根據下文描述將理解,於某些情況中,可應用多層級編碼及解碼結構,及可自如同視訊內容類型(如在序列、圖像或圖塊標頭中所識別之自然視訊或圖形)之附帶資訊而判定該等情況。例如,兩層級可用於自然視訊,及三層級可用於圖形(通常更稀疏)。又另一可能性在於,在序列、圖像或圖塊標頭之一者中提供一旗標以指示結構是否具有一層級、兩層級或三層級,藉此容許編碼器靈活性選擇最適用於目前內容之結構。在另一實施例中,該旗標可將與層級數量相關聯之一內容類型。例如,類型「圖形」之一內容特徵可為三個層級。
注意,本申請案可互換使用術語「係數群組」及「有效係數旗標集」。「係數群組」及「有效係數旗標集」意欲具有相同含義。
現在參考圖1,圖中以方塊圖形式展示用於編碼視訊之一編碼器10。亦參考圖2,圖中展示用於解碼視訊之一解碼器50之一方塊圖。應瞭解,可在包含一或多個處理元件及記憶體之一特殊應用或一般用途計算裝置上實施本文所描述之編碼器10及解碼器50之各者。視情況而定,可(例如)藉由特殊應用積體電路或藉由可由一般用途處理器執行之儲存程式指令而實施由編碼器10或解碼器50執行之操作。該裝置可包含額外軟體,包含(例如)用於控制基本裝置功能之一作業系統。一般技術者將通過下列描述而瞭解於其內可實施編碼器10或解碼器50之裝置及平台之範圍。
該編碼器10接收一視訊源12及產生一經編碼之位元串流14。該解碼器50接收該經編碼之位元串流14且輸出一經解碼之視訊圖框16。該編碼器10及解碼器50可經組態以符合數種視訊壓縮標準而操作。例如,該編碼器10及解碼器50可遵循H.264/AVC。在其他實施例中,該編碼器10及解碼器50可遵照其他視訊壓縮標準,包含H.264/AVC標準之演進,如MPEG-H。
該編碼器10包含一空間預測器21、一編碼模式選擇器20、變換處理器22、量化器24及熵編碼器26。如一般技術者將瞭解,該編碼模式選擇器20判定用於視訊源之適當編碼模式,例如,判定標的圖框/圖塊是否為I、P或B類型,及判定圖框/圖塊內之特定編碼單元(例如,巨集區塊、編碼單元等)是否被圖框間編碼或圖框內編碼。該變換處理器22對空間域資料執行一變換。特定言之,該變換處理器22應用一基於區塊之變換以將空間域資料轉換成頻譜分量。例如,在諸多實施例中,使用一離散餘弦變換(DCT)。在一些例項中,可使用其他變換,諸如一離散正弦變換或其他變換。取決於巨集區塊或編碼單元 之大小,在一編碼單元、巨集區塊或子區塊基礎上執行基於區塊之變換。例如,在H.264標準中,一典型16×16巨集區塊包含16個4×4變換區塊,且對4×4變換區塊執行DCT程序。在一些情況中,變換區塊可為8×8,意指每個巨集區塊有4個變換區塊。在另一情況中,變換區塊可為其他大小。在一些情況中,一16×16巨集區塊可包含4×4及8×8變換區塊之一非重疊組合。
將基於區塊之變換應用於一區塊之像素資料導致一變換域係數集。此內容脈絡中之一「集」為其中之係數具有係數位置之一有序集。在一些例項中,該變換域係數集可被視為一係數「區塊」或係數矩陣。在本文之描述中,片語「變換域係數集」或「變換域係數區塊」可被互換使用,且意謂指示一變換域係數有序集。
由量化器24而量化該變換域係數集。接著藉由熵編碼器26編碼經量化之係數及相關資料。
在本文中經量化變換域係數之區塊或矩陣可稱為一「變換單元」(TU)。在一些情況中,該TU可為非方形,例如,一非方形正交變換(NSQT)。
經圖框內編碼之圖框/圖塊(亦即,類型I)經編碼而未參考其他圖框/圖塊。換言之,經圖框內編碼之圖框/圖塊未使用時間預測。然而,經圖框內編碼之圖框確實依賴於圖框/圖塊內之空間預測,如圖1中由空間預測器21所繪示。即,當編碼一特定區塊時,可比較該區塊中之資料與已針對彼該圖框/圖塊編碼之區塊內之附近像素之資料。使用一預測演算法,該區塊之源資料可轉換成殘餘資料。接著,變換處理器22編碼該殘餘資料。例如,H.264規定用於4×4變換區塊之9個空間預測模式。在一些實施例中,該9個模式之各者可用於獨立處理一區塊,且接著使用位元率失真最佳化(rate-distortion optimization)來選擇最佳模式。
H.264標準亦規定使用運動預測/補償來利用時間預測。相應地,編碼器10具有包含一解量化器28、逆變換處理器30及解區塊處理器32之一回饋環路。該解區塊處理器32可包含一解區塊處理器及一濾波處理器。此等元件反映由解碼器50實施之解碼程序以重現圖框/圖塊。一圖框儲存器34係用於儲存重現之圖框。以此方式,運動預測係基於解碼器50處將成為經重新建構圖框之圖框而並非基於原始圖框,原始圖框可因在編碼/解碼中所涉及之有損耗壓縮而不同於該等重新建構圖框。一運動預測器36使用儲存於該圖框儲存器34中之圖框/圖塊作為源圖框/圖塊以為了識別類似區塊之目的而與一當前圖框進行比較。相應地,對於應用運動預測之巨集區塊或編碼單元,變換處理器22編碼之「源資料」為由運動預測程序所產生之殘餘資料。例如,該源資料可包含關於參考圖框、一空間移位或「運動向量」之資訊,及表示參考區塊與當前區塊之間之差異(若存在)之殘餘像素資料。關於參考圖框及/或運動向量之資訊可不藉由變換處理器22及/或量化器24而處理,而是替代地可連同經量化之係數一起作為位元串流之一部分供應至熵編碼器26以供進行編碼。
一般技術者將瞭解用於實施視訊編碼器之細節及可能變化例。
解碼器50包含一熵解碼器52、解量化器54、逆變換處理器56、空間補償器57及解區塊處理器60。該解區塊處理器60可包含解區塊及濾波處理器。一圖框緩衝器58供應經重新建構圖框以供由一運動補償器62在應用運動補償中使用。該空間補償器57表示自一先前解碼之區塊復原用於一特定圖框內編碼區塊之視訊資料之操作。
由該熵解碼器52接收及解碼位元串流14以復原經量化之係數。亦可在熵解碼程序期間復原附帶資訊,若適用,則可將該附帶資訊之一些供應至運動補償環路以用於運動補償。例如,該熵解碼器52可復原用於圖框間編碼之巨集區塊之運動向量及/或參考圖框資訊。
接著,由解量化器54解量化經量化之係數以產生變換域係數,接著變換域係數經受逆變換處理器56之一逆變化以重建「視訊資料」。應瞭解,在一些情況中(諸如運用一圖框內編碼巨集區塊或編碼單元),該重建之「視訊資料」為供在相對於圖框內之一先前解碼之區塊的空間補償中使用之殘餘資料。空間補償器57自該殘餘資料而產生視訊資料且自一先前解碼之區塊產生像素資料。在其他情況中,諸如經圖框間編碼巨集區塊或編碼單元,來自逆變換處理器56之經重建「視訊資料」為供在相對於來自一不同圖框之一參考區塊的運動補償中使用之殘餘資料。在本文中空間補償及運動補償兩者可稱為「預測操作」。
運動補償器62將指定用於一特定圖框間編碼巨集區塊或編碼單元之一參考區塊定位於圖框緩衝器58之內。該運動補償器62係基於經指定用於經圖框間編碼巨集區塊或編碼單元之參考圖框資訊及運動向量而這樣做。接著,該運動補償器62供應參考區塊像素資料以與殘餘資料組合,以達成用於編碼單元/巨集區塊之重新建構視訊資料。
接著,一解區塊/濾波程序可應用至一經重新建構圖框/圖塊,如藉由解區塊處理器60所指示。在解區塊/濾波之後,將圖框/圖塊作為經解碼之視訊圖框16輸出以(例如)顯示在一顯示裝置上。應理解,視訊播放機(諸如一電腦、視訊轉換器、DVD或藍光播放器及/或行動手持式裝置)可在一輸出裝置顯示經解碼圖框之前在一記憶體中緩衝經解碼之圖框。
預期,與MPEG-H相容之編碼器及解碼器將具有諸多之此等相同或類似特徵。
有效性映射編碼
如上文所提及,一經量化變換域係數區塊或集之熵編碼包含針對彼經量化變換域係數區塊或集編碼有效性映射(例如,一有效係數 旗標集)。有效性映射為指示非零係數區塊出現在哪些位置(除最低位置外)之二進位映射。可根據掃描順序(其可為垂直、水平、對角線、Z字形或任意其他掃描順序)將有效性映射轉換成一向量。通常按「反向」順序完成掃描,亦即,開始於最後有效係數且以反向方向往回遍及有效性映射直至到達左上角[0,0]處之旗標。在本描述中,術語「掃描順序」意欲意謂處理旗標、係數或群組(視情況而定)之順序,且可包含通稱為「反向掃描順序」之順序。
接著,使用適用的內容脈絡自適應編碼方案而對各有效係數旗標進行熵編碼。例如,在許多應用中,可使用一內容脈絡自適應二進制算術編碼(CABAC)方案。
運用16×16及32×32有效性映射,一有效係數旗標之內容脈絡係(主要)基於鄰近有效係數旗標值。在用於16×16及32×32有效性映射之內容脈絡當中,存在專用於位元位置[0,0]及(在一些實例實施方案中)專用於鄰近位元位置之某些內容脈絡,但多數有效係數旗標採用四個或五個內容脈絡之一者,此取決於鄰近有效係數旗標之累加值。在此等例項中,一有效係數旗標之正確內容脈絡之判定取決於鄰近位置(通常有五個位置,但在一些例項中可為更多個或更少個)處之有效係數旗標之值之判定及求和。
在先前工作中,本申請者描述使用多層級有效性映射,其中一變換單元之有效性映射被分割成係數群組,及各係數群組係依一預定順序或序列編碼。在各係數群組(其可為一區塊/子區塊)內,有效係數旗標係依一掃描順序處理。各係數群組係與一有效係數群組旗標相關聯,有效係數群組旗標指示彼係數群組是否可被視為包含非零有效係數旗標。請參考於2011年11月1日申請之名稱為「Multi-level Significance Maps for Encoding and Decoding」之美國專利申請案第13/286,336號,及於2011年11月19日申請之名稱為「Multi-level Significance Map Scanning」之美國專利申請案第61/561,872號。該兩個申請案之內容以引用方式併入本文中。
於前述申請案中描述之技術之一者為一單遍次掃描程序之實施方案,亦即,一基於群組或多層級掃描順序。現參考圖3,圖中展示按所繪示之一多層級對角線掃描順序之一16×16變換單元100。該變換單元100被分割成16個連續4×4係數群組或「有效係數旗標集」。在各係數群組內,可在該群組內應用一對角線掃描順序,而非橫跨整個變換單元100應用一對角線掃描順序。按此實例實施方案中亦為一對角線掃描順序之一掃描順序處理該等集或係數群組自身。應注意,此實例中之掃描順序係以一「反向」掃描順序繪示;即,展示掃描順序係依向左下對角線方向自右下角係數群組朝向左上角係數群組行進。在一些實施方案中,可在其他方向上定義相同掃描順序;即,可按一「反向」掃描順序應用依右上角對角線方向且在編碼或解碼期間應用時行進。
使用多層級有效性映射涉及指示可預期哪些係數群組包含非零有效係數旗標及哪些係數群組可包含全部零有效係數旗標之一L1或較高層級有效性映射之編碼。可期望包含非零有效係數旗標之係數群組具有其等經編碼之有效係數旗標,然而包含全部零有效係數旗標之係數群組未被編碼(除非該等係數群組係因一特殊案例例外狀況編碼之群組,此係因為假定其等含有至少一非零有效係數旗標)。各係數群組具有一有效係數群組旗標(除非應用一特殊案例,其中係數群組具有一假定值之一旗標之一特殊情況,諸如包含最後有效係數之群組、左上角群組等)。
係數群組旗標係基於係數群組之內容(亦即,基於係數群組內實際上是否具有任意非零係數)而判定;或推斷係數群組旗標。例如,在至少一實施例中,在係數群組中沒有非零係數時係數群組旗標被設 定為0,及在係數群組中有至少一非零係數時係數群組旗標被設定為1;然而,為節省位元,在一些情況中,一係數群組旗標未編碼及解碼,而係基於鄰近係數群組旗標之值而推斷。例如,在一實施例中,在下方鄰近係數群組旗標及右方鄰近係數群組旗標兩者皆等於1時,係數群組旗標被推斷為1。
有效係數旗標之基於內容脈絡之處理
有效係數旗標之編碼及解碼係基於內容脈絡。換言之,該編碼及解碼取決於判定被編碼之符號格(bin)為一最可能符號(MPS)之一估計可能性。估計可能性之判定繼而取決於判定用於當前符號之一內容脈絡。通常,基於內容脈絡之編碼器及解碼器根據指定如何針對特定類型之資料判定內容脈絡及定義一組內容脈絡之一內容脈絡模型而工作。
在有效係數旗標之情況中,該內容脈絡模型使該內容脈絡判定基於鄰近有效係數旗標之值(除了特定例外狀況之外,如[0,0]處之DC值)。例如,運用大小為16×16或32×32之變換單元,有效係數旗標之內容脈絡「x」取決於如下五個鄰近旗標:
該五個鄰近旗標之值之累加總和可用於指示位置x處之有效係數旗標之內容脈絡。相應地,可能有高達六個內容脈絡。在一些例項中,(例如)可在4處覆蓋內容脈絡數。一實例內容脈絡判定模型為如下:context_x=(sum_neighbor_flags+1)/2
上文之context_x為用於編碼有效係數旗標之一「內容脈絡集」之一內容脈絡索引。即,當判定用於編碼一特定有效係數旗標之內容 脈絡時,該內容脈絡選自定義於該內容脈絡集中之該等內容脈絡之一者。
在一些實例實施方案中,可藉由用於編碼有效係數旗標之模型而定義一個以上之內容脈絡集。例如,編碼器及解碼器可使用用於編碼落於變換單元之一第一區域中之有效係數旗標之一個內容脈絡集,及用於編碼落於變換單元之一第二區域(或一第三區域等)中之有效係數旗標之一第二分離內容脈絡集。
運用上文之實例,來自該第二集之內容脈絡可包含內容脈絡4、5、6及7,及在該第二區域中選擇用於一特定有效係數旗標之適當內容脈絡可基於以下之一內容脈絡判定模型:位移量=0
若區域=區域2,則設定位移量=4
sum_neighbor_flags=0 context_x=0+offset
sum_neighbor_flags=1 context_x=1+offset
sum_neighbor_flags=2 context_x=2+offset
sum_neighbor_flags3 context_x=3+offset
在一些當前實施方案中,使用一固定對角線定義而將一變換單元劃分成一第一區域及一第二區域以用於內容脈絡判定之目的。例如,運用一16×16變換單元,對角線係藉由x+y=4而定義。此導致諸如圖4中所展示之一區域,圖4繪示一實例16×16變換單元110。該實例變換單元110包含根據x+y<4對角線定義而劃分之一第一區域112及一第二區域114。即,x+y<4之所有有效係數旗標皆在該第一區域112中。在此情況中,[0,0]處之DC值具有其自身內容脈絡。在某種意義上,該DC位置可視為其中有內容脈絡集之一單一內容脈絡之一「第三區域」。
現參考圖5,圖中展示一32×32變換單元120之一實例。該變換單 元120根據x+y<8之一對角線定義而被劃分成或分割成一第一區域122及一第二區域124。即,除了DC有效係數旗標126之外之x+y<8之所有有效係數旗標皆在該第一區域122中,且為使用一第一內容脈絡集而編碼之彼等有效係數旗標。x+y8之所有其他有效係數旗標皆在該第二集中,且使用一第二內容脈絡集而編碼。該DC有效係數旗標126係使用其自身內容脈絡而編碼。在此意義上,該DC位置可自身視為一第三區域。
本申請案提供其他方法以選擇用於編碼一變換單元之有效係數旗標之一內容脈絡集。
在一第一實施例中,內容脈絡集選擇為固定的,如同上文所給定之對角線定義實例;然而,在此第一實施例中,未藉由一對角線而定義第一區域。替代地,該第一區域經定義以對應於一係數群組定義。以此方式,內容脈絡集選擇係基於係數群組,其改良在多層級有效性映射實施例中之有效係數編碼之模組性。可定義多個區域,該等區域之各者係藉由係數群組邊界而定界。該DC位置可視為一區域。
圖6展示基於係數群組定義而劃分成或分割成若干內容脈絡區域之一16×16變換單元200之一實例。在此實例中,一第一區域202包含第一係數群組(亦可在反向掃描順序中被視為最後係數群組)內之所有有效係數旗標,排除DC有效係數旗標206。即,該第一區域202包含x<4及y<4(排除[0,0])之所有有效係數旗標。該變換單元200之其他係數群組內之所有有效係數旗標皆在一第二區域204中。該第一區域202內之有效係數旗標係使用一第一內容脈絡集而編碼,而該第二區域204內之有效係數旗標係使用一第二內容脈絡集而編碼。在一實例實施方案中,編碼器及/或解碼器藉由判定旗標之一x座標及一y座標各是否在變換單元之左上角之4個位置內而判定一有效係數旗標是否在第一區域內(亦即,左上角係數群組中)。
在其他變化例中,該第一區域可包含一個以上係數群組。例如,在一32×32變換單元中,若係數群組為4×4,則該第一區域可包含該變換單元之左上角中之三個或四個係數群組。或者,在另一實例中,該16×16變換單元200可包含該第一區域202中之三個或三個以上係數群組。其他變化例將根據本描述而瞭解。
在此第一實施例中,編碼器及解碼器藉由使用基於有效係數旗標所屬之係數群組而選擇之一內容脈絡集來判定其等之內容脈絡而處理該等有效係數旗標。該變換單元內之係數群組之位置判定經選擇之內容脈絡集。即,該變換單元內之各係數群組與某一內容脈絡集相關聯,亦即,各係數群組為該等經定義之區域之一者之一成員,且各區域具有一相關聯內容脈絡集。
在一第二實施例中,該等區域仍基於係數群組,但動態判定該第一區域與該第二區域之間之邊界。在此第二實施例之一實例中,劃分係基於一特定係數群組之係數群組旗標是否被推斷為1。即,係數群組係基於其右方及下方鄰近係數群組之係數群組旗標而指派給一區域。
參考圖7,圖中概略地展示分成4×4連續有效係數旗標集(亦即係數群組)之一16×16變換單元220。可使用(x=0,...,3;y=0,...,3)所展示之x-y座標而對該等係數群組編索引。圖式中於該各自係數群組之內展示經判定用於該等係數群組之各者之有效係數群組旗標(SCGflag)。
如自前述討論將瞭解,該變換單元220包含該等係數群組之一者中之一最低有效係數(LSC)。出於此實例之目的,假定該LSC處於係數群組[2,2]中。按掃描順序在係數群組[2,2]之前之所有群組必需包含全部零。
係數群組[2,2]之有效係數群組旗標必需為1,此係因為其包含LSC,意謂其包含至少一非零係數。
在所展示之實例中,按反向掃描順序之下一係數群組為係數群組[1,3],其包含全部零係數。相應地,係數群組[1,3]之有效係數群組旗標為0。
發現按反向掃描順序之下一係數群組(群組[3,0],[2,1]及[1,2])皆包含至少一非零係數。相應地,彼等係數群組之各者具有一有效係數群組旗標1。發現係數群組[0,3]包含全部零係數,因此,係數群組[0,3]之有效係數群組旗標被判定為0。
按反向掃描順序之下一群組為係數群組[2,0]。因為係數群組[2,0]之右方鄰近係數群組及其下方鄰近係數群組兩個皆具有SCGflag=1,所以推斷或假定係數群組[2,0]之有效係數群組旗標為1,無關於係數群組[2,0]中是否有任意非零係數。對係數群組[1,1]作出相同推斷。係數群組[0,2]之下方鄰近群組具有一有效係數群組旗標0,因此不進行推斷。在係數群組[0,2]之情況中,發現係數群組[0,2]包含一非零係數,因此將係數群組[0,2]之有效係數群組旗標設定為1。按反向掃描順序之所有殘餘係數群組皆具有推斷為1之有效係數群組旗標。
該等經推斷之有效係數群組旗標之任意者無需編碼於位元串流中或在解碼器處解碼。假定該等經推斷之有效係數群組旗標等於1,且即使其等之一者包含全部零係數,編碼器及解碼器亦自動編碼該等係數群組之有效係數旗標。
現亦參考圖8,圖中展示基於圖7中所展示之變換單元220之第二實施例之一實例繪示之動態區域劃分。在此第二實施例中,用於編碼有效係數旗標之一第一區域(藉由該第一區域所屬之係數群組中之符號「1」所指示)被定義為包含有效係數群組旗標被推斷為1之該等係數群組。一第二區域(藉由該第二區域所屬之係數群組中之符號「2」所指示)包含具有未推斷之一有效係數群組之彼等係數群組。應理解,有效係數群組旗標為零之彼等係數群組無需包含於一區域中,此 係因為該等群組之有效係數旗標未被編碼。DC位置226仍可具有其自身內容脈絡,及因此,不一定視為該第一區域之部分。
自前述描述,應瞭解,該第一區域及第二區域具有沿係數群組界限之一邊界,但其等之位置自變換單元至變換單元而動態改變,取決於討論中之變換單元之內容。藉由維持沿係數群組邊界分離該等區域,可達成模組性處理之一些效率及編碼簡化。邊界之動態移動可改良與兩個區域相關聯之各自內容脈絡集朝向反映實際統計資料之一可能分佈而會聚之速度,藉此改良以其改良編碼效率之速率。
應瞭解,用於實施前述區域判定程序之一機制將各係數群組指派給基於其右方及下方鄰近係數群組之有效係數群組旗標之一區域。即,若右方及下方鄰近係數群組之有效係數群組旗標之任一者等於0,則該係數群組屬於區域2;否則,其屬於區域1。在一些實施例中,左上角之係數群組可始終歸類於區域1。
現描述一第三實施例,其可被視為第二實施例之一變化例或精細化。在該第三實施例中,仍基於有效係數群組是否被推斷為1而動態判定區域之間之邊界,及邊界繼續沿係數群組邊界伸展;然而,該第三實施例包含評定該推斷是否準確,且基於錯誤推斷之一重新分類對稍後係數群組之分類作調整。
現參考圖9,圖中展示一實例變換單元250。在此情況中,如上文結合圖7所描述,對各種係數群組之有效係數群組旗標進行判定。然而,在此情況中,編碼器及解碼器評估該等推斷是否準確。例如,係數群組[1,1]實際上可包含全部零係數。該等係數實際上編碼於位元串流中且係藉由解碼器而解碼,此係因為該有效係數群組旗標被設定為1,儘管藉由錯誤推斷或假定。在圖9中,此指示為「推斷錯誤」。
在解碼係數群組[1,1]之有效係數旗標時,解碼器無法意識到該推斷為錯誤的,且相應地,將此係數群組理解為第一區域之部分,此係 因為其具有一經推斷之有效係數群組旗標。相應地,當編碼及解碼係數群組[1,1]之有效係數旗標時,編碼器及解碼器兩者皆使用與第一區域相關聯之內容脈絡集。然而,當其開始處理隨後係數群組時,編碼器及解碼器可考慮錯誤推斷之此知識。例如,當判定係數群組[1,0]及[0,1]之有效係數群組旗標時,可將[1,1]處之鄰近係數群組視為具有等於0之一有效係數群組旗標,即使其實際上使用等於1之一經推斷之旗標且其之有效係數旗標已被編碼。如圖9中所展示,係數群組[1,0]及[0,1]具有基於其實際包含至少一非零係數之事實而設定為1之其等有效係數群組旗標。
應瞭解,用於處理稍後係數群組之錯誤推斷之此「校正」可限於校正出於將係數群組僅指派給區域之目的之推斷,或其亦可出於實際上判定該等稍後係數群組之有效係數旗標之目的而校正,該等稍後係數群組可依賴於錯誤推斷而進行另一推斷。
因此,一推斷係用於判定有效係數群組旗標之係數群組之數量改變成僅三個。此影響用於選擇用於編碼有效係數旗標之內容脈絡集之區域之形狀。圖10展示具有其上所指示之第一區域及第二區域之變換單元250。應注意,構成一區域之係數群組在此情況中無需相連或連續。
現參考圖11,圖中展示使用用於選擇用於編碼有效係數旗標之內容脈絡集之一程序之第二實施例而編碼視訊之一實例方法300。
該方法300包含:對於一係數群組(亦即,有效係數旗標集),在操作302中判定是否應推斷有效係數群組旗標。如上文所描述,此實例中之內容脈絡模型規定,若右方鄰近係數群組及下方鄰近係數群組兩者之有效係數群組旗標皆等於1,則將該等有效係數群組旗標推斷為1。若為該情況,則在操作304中,將當前係數群組之有效係數群組旗標設定為1。若不為該情況,則編碼器實際上查看該係數群組中之 資料以判定是否有任意非零係數,如藉由操作306所指示。若該當前係數群組之所有有效係數旗標皆為零,則在操作308中將該有效係數群組旗標設定為零。操作308可包含編碼有效係數群組旗標。接著在操作310中,編碼器按掃描順序移動至下一係數群組,且返回至操作302以起始該程序。
若發現係數群組包含至少一非零有效係數旗標,則在操作307中,將有效係數群組旗標設定為1。操作307亦可包含編碼有效係數群組旗標。
若在操作304中推斷有效係數群組旗標,則在操作314中,選擇第一內容脈絡集。在有大量經定義之內容脈絡之一實施例中,及其中第一內容脈絡集包含預定數量之彼等經定義之內容脈絡,則可藉由將一內容脈絡索引設定為指向該第一內容脈絡集內之該等經定義之內容脈絡之一預定者而實施該第一內容脈絡集之選擇。
若在操作307中基於係數群組中是否有非零係數而判定有效係數群組旗標,則在操作316中,選擇第二內容脈絡集。在一些實施方案中,該第二內容脈絡集之選擇包含將一內容脈絡索引設定為指向該第二內容脈絡集內之經定義之內容脈絡之一者。
無論使用第一內容脈絡集或第二內容脈絡集,在操作318中,經選擇之內容脈絡集係用於編碼當前係數群組之有效係數旗標。對於最後係數群組,此可包含使用其自身指派內容脈絡而編碼DC有效係數旗標,及任意其他此等旗標可具有基於變換單元中之其等之位置之其自身內容脈絡。操作320判定是否為變換單元中之最後係數群組。若如此,則編碼器可進行關於該變換單元之下一編碼步驟(其可包含編碼係數層級及/或正負號)。否則,該編碼器按反向掃描方向移動至下一係數群組並且重複該程序。
現參考圖12,圖中展示用於解碼經編碼之視訊資料之一位元串 流以重新建構一變換單元之一有效性映射之一實例方法400。該有效性映射被分割成若干個連續有效係數旗標集(亦即,係數群組)。
在操作402中,解碼器判定是否應推斷當前係數群組之有效係數群組旗標。若如此,則在操作412中,將有效係數群組旗標設定為1。若未推斷,則在操作404中,自位元串流解碼該有效係數群組旗標。如上文所討論,在此實例中,若右方鄰近係數群組及下方鄰近係數群組兩者之有效係數群組旗標皆等於1,則推斷有效係數群組旗標。
在操作408中,若經解碼之有效係數群組旗標等於0,則在操作408中,將該係數群組之所有有效係數旗標設定為0。接著解碼器按反向掃描順序移動至下一係數群組,如藉由操作410所指示,且接著自操作402重複該程序。
若該經解碼之有效係數群組旗標不為零,則在操作414中,選擇第二內容脈絡集。若有效係數群組旗標被推斷為1,則在操作416中,選擇第一內容脈絡集。在任一情況中,在操作418中,經選擇之內容脈絡集係用於解碼係數群組之有效係數旗標。操作420涉及判定其是否為最後係數群組,及若如此,則移動至解碼之下一階段。否則,解碼器按反向掃描方向移動至下一係數群組,且返回至操作402以繼續有效係數旗標之解碼程序。
在下文繪示使用偽碼之解碼程序之第一實施例之一實例。該解碼程序之第一實施例為其中之區域係沿有效群組邊界而固定之一者。此實例偽碼僅僅係變換單元可劃分成區域之一種可能實施方案。
在藉由下文偽碼所例證之語法中,若變換單元大小為16×16或32×32(例如,log2TrafoSize>3,則執行實例程序。注意,下文用於索引變數sigCtx之特定整數值僅為大量經定義之內容脈絡之一預定索引之實例。
至此程序之輸入為色彩分量索引cIdx、當前係數掃描位置 (xC,yC)、變換區塊寬度log2TrafoWidth及變換區塊高度log2TrafoHeight。此程序之輸出為ctxIdxInc。
變數sigCtx取決於當前位置(xC,yC),變換區塊大小及語法元素significant_coeff_flag及significant_coeffgroup_flag之先前解碼之符號格。對於sigCtx之導出,應用如下。
若log2TrafoWidth等於log2TrafoHeight,且log2TrafoWidth等於2,則sigCtx係使用如下之ctxIdxMap4x4[ ]而導出。
sigCtx=ctxIdxMap4x4[((cIdx>0)?15:0)+(yC<<2)+xC]
否則,若log2TrafoWidth等於log2TrafoHeight,且log2TrafoWidth等於3,則sigCtx係使用如下之ctxIdxMap8x8[ ]而導出。
sigCtx=((xC+yC)==0)?10:ctxIdxMap8x8[((yC>>1)<<2)(xC>>1)]
sigCtx+=(cIdx>0)?6:9
否則,若xC+yC等於0,則sigCtx按如下導出。
sigCtx=(cIdx>0)?17:20
否則(xC+yC大於0),sigCtx係使用語法元素significant_coeff_flag之先前經解碼之符號格而導出,如下。
變數sigCtx被初始化為0。
當xC小於(1<<log2TrafoWidth)-1時,應用如下。
sigCtx=sigCtx+significant_coeff_flag[xC+1][yC]
當xC小於(1<<log2TrafoWidth)-1及yC小於(1<<log2TrafoHeight)-1時,應用如下。
sigCtx=sigCtx+significant_coeff_flag[xC+1][yC+1]
當xC小於(1<<log2TrafoWidth)-2時,應用如下。
sigCtx=sigCtx+significant_coeff_flag[xC+2][yC]
當所有下列條件皆為真實時,˙yC小於(1<<log2TrafoHeight)-1, ˙xC%4不等於0或yC%4不等於0,˙xC%4不等於3或yC%4不等於2,應用如下sigCtx=sigCtx+significant_coeff_flag[xC][yC+1]
當yC小於(1<<log2TrafoHeight)-2及sigCtx小於4時,應用如下。
sigCtx=sigCtx+significant_coeff_flag[xC][yC+2]
該變數sigCtx被修改為如下。
若cIdx等於0及xC及yC大於或等於1<<(max(log2TrafoWidth,log2TrafoHeight)-2),則應用如下。
sigCtx=((sigCtx+1)>>1)+24
否則,應用如下。
sigCtx=((sigCtx+1)>>1)+((cIdx>0)?18:21)
內容脈絡索引增量ctxIdxInc係使用色彩分量索引cIdx及sigCtx而導出,如下。
若cIdx等於0,則ctxIdxInc按如下導出。
ctxIdxInc=sigCtx
否則(cIdx大於0),ctxIdxInc按如下導出。
ctxIdxInc=27+sigCtx
亦可闡釋用於實施解碼程序之第二實施例之一實例語法。該第二實施例為其中之區域係基於獲得係數群組旗標之方式(亦即透過解碼或經由推斷)之方式而動態判定之一者。
第二實施例之實例語法實質上可相同於上文第一實施例所展示之語法,除了sigCtx之修改(導出ctxIdxInc之前所展示)係用以下替代之外:若cIdx等於0及下列條件之至少一者為真實,˙(xC>>2)+(yC>>2)等於0, ˙(xC<<2)小於(1<<log2TrafoWidth-2)-1,(yC>>2)小於(1<<log2TrafoHeight-2)-1,及significant_coeffgroup_flag[(xC>>2)+1][yC>>2]+significant_coeffgroup_flag[xC>>2][(yC>>2)+1]等於2,則應用如下。
sigCtx=((sigCtx+1)>>1)+24
否則,應用如下。
sigCtx=((sigCtx+1)>>1)+((cIdx>0)?18:21)
現參考圖13,圖中展示一編碼器900之一實例實施例之一簡化方塊圖。該編碼器900包含一處理器902、記憶體904及一編碼應用程式906。該編碼應用程式906可包含儲存於記憶體904中且含用於組態處理器902以執行諸如本文所描述之操作之指令之一電腦程式或應用程式。例如,該編碼應用程式906可編碼且輸出根據本文所描述之程序而編碼之位元串流。應理解,該編碼應用程式906可儲存於一電腦可讀媒體中,諸如光碟、快閃記憶體裝置、隨機存取記憶體、硬碟機等。
現參考圖14,圖中展示一解碼器1000之一實例實施例之一簡化方塊圖。該解碼器1000包含一處理器1002、一記憶體1004及一解碼應用程式1006。該解碼應用程式1006可包含儲存於記憶體1004中且含用於組態處理器1002以執行諸如本文所描述之操作之指令之一電腦程式或應用程式。例如,該解碼應用程式1006可包含經組態以至少部分地基於重新建構有效係數旗標而重新建構殘差之一熵解碼器,如本文所描述。應理解,該解碼應用程式1006可儲存於一電腦可讀媒體中,諸如光碟、快閃記憶體裝置、隨機存取記憶體、硬碟機等。
應瞭解,根據本申請案之解碼器及/或編碼器可實施於數種計算裝置中,包含(但不限於)伺服器、經適當程式化之一般用途電腦、音 訊/視訊編碼及播放裝置、電視機視訊轉換器、電視廣播設備及行動裝置。可藉由包含用於組態一處理器以實施本文所描述之功能之指令之軟體而實施解碼器或編碼器。該等軟體指令可儲存於任意合適非暫時性電腦可讀記憶體上,包含CD、RAM、ROM、快閃記憶體等。
應理解,本文所描述之編碼器及實施用於組態該編碼器之所描述之方法/程序之模組、常式、程序、執行緒或其他軟體組件可使用標準電腦程式化技術及語言而實現。本申請案不限於特定處理器、電腦語言、電腦程式設計慣例、資料結構、其他此等實施方案細節。熟習此項技術者將認知,所描述之程序可實施為儲存於揮發性或非揮發性記憶體中之電腦可執行碼之一部分,作為一特殊應用積體晶片(ASIC)之一部分等。
可對該等所描述之實施例作某些調適及修改。因此,上文所討論之實施例被視為闡釋性而非限制性。
220‧‧‧變換單元

Claims (9)

  1. 一種藉由重新建構一變換單元(transform unit)之有效係數旗標而解碼經編碼之視訊之一位元串流之方法,該變換單元經分割成多個區塊(blocks),該位元串流編碼多個有效係數旗標集(sets of significant-coefficient flags),各集對應於一各自區塊,該變換單元之該等區塊係在一掃描順序中被處理,該方法包括以下步驟:(i)對於對應於一第一區塊之一有效係數旗標集,基於與該第一區塊之右方之一區塊相關聯之一有效係數群組旗標及與該第一區塊下方之一區塊相關聯之一有效係數群組旗標而自複數個內容脈絡集(context set)選擇一內容脈絡集,以在解碼該集之有效係數旗標中使用;(ii)使用該經選擇之內容脈絡集熵解碼(entropy decoding)該集之該等有效係數旗標;及(iii)在該掃描順序中移動至下一個區塊,且回到步驟(i),其中各有效係數群組旗標指示是否假定其相關聯之區塊包含至少一非零有效係數旗標(non-zero significant-coefficient flag),其中若該有效係數群組旗標為零,則在該區塊中不具有非零有效係數旗標,且若該有效係數群組旗標為非零,則在該區塊中至少具有一個非零有效係數旗標,其中熵解碼包括內容脈絡自適應解碼(context-adaptive encoding),及其中該等內容脈絡集識別待於內容脈絡自適應解碼該有效係數旗標集之該等有效係數旗標中使用之內容脈絡,其中選擇一內容脈絡集包括:若該等有效係數群組旗標兩者 皆為非零則選擇一第一內容脈絡集,否則選擇一不同內容脈絡集;及其中若該第一區塊之該有效係數群組旗標為零,則將該第一區塊中之所有該等有效係數旗標均設為零,而不實施該選擇步驟及該熵解碼步驟。
  2. 如請求項1之方法,其中選擇一內容脈絡集進一步包含:若該第一區塊為該變換單元中之左上角區塊,則選擇用於解碼該第一區塊之DC部分中之有效係數旗標之一特定內容脈絡。
  3. 如請求項1或2之方法,其中選擇一內容脈絡集進一步基於該第一區塊是否在該變換單元之左上角中。
  4. 如請求項1或2之方法,其中選擇一內容脈絡集進一步基於該變換單元之大小。
  5. 如請求項1或2之方法,其中選擇一內容脈絡集進一步基於該變換單元之分量是否為明度分量或色度分量。
  6. 一種用於解碼經編碼之資料之一位元串流以重新建構一變換單元之有效係數旗標之解碼器,該解碼器包括:一處理器;一記憶體;及一解碼應用程式,其儲存於記憶體中且包含用於組態該處理器以執行如請求項1至5之任一者之方法之指令。
  7. 一種藉由編碼一變換單元之有效係數旗標而編碼一視訊以產生經編碼有效係數旗標集之一位元串流之方法,該變換單元經分割成多個區塊,各有效係數旗標集對應於一各自區塊,該變換單元之該等區塊係在一掃描順序中被處理,該方法包括以下步驟:(i)對於對應於一第一區塊之一有效係數旗標集,基於與該第 一區塊之右方之一區塊相關聯之一有效係數群組旗標及與該第一區塊下方之一區塊相關聯之一有效係數群組旗標而自複數個內容脈絡集選擇一內容脈絡集,以在編碼該集之有效係數旗標中使用;(ii)使用該經選擇之內容脈絡集而熵編碼該集之該等有效係數旗標;及(iii)在該掃描順序中移動至下一個區塊,且回到步驟(i),其中各有效係數群組旗標指示是否假定其相關聯之區塊包含至少一非零有效係數旗標,其中若該有效係數群組旗標為零,則在該區塊中不具有非零有效係數旗標,且若該有效係數群組旗標為非零,則在該區塊中至少具有一個非零有效係數旗標,其中熵解碼包括內容脈絡自適應解碼,及其中該等內容脈絡集識別待於內容脈絡自適應解碼該有效係數旗標集之該等有效係數旗標中使用之內容脈絡,其中選擇一內容脈絡集包括:若該等有效係數群組旗標兩者皆為非零則選擇一第一內容脈絡集,否則選擇一不同內容脈絡集,及其中若該第一區塊中之該有效係數旗標為零,則將該第一區塊中之所有該等有效係數群組旗標均設為零,而不實施該選擇步驟及該熵解碼步驟。
  8. 一種用於編碼一變換單元之有效係數旗標以產生經編碼資料之一位元串流之編碼器,該編碼器包括:一處理器;一記憶體;及一編碼應用程式,其儲存於記憶體中且包含用於組態該處理 器以執行如請求項7之方法之指令。
  9. 一種非暫時性處理器可讀媒體,其儲存處理器可執行指令,該等處理器可執行指令在執行時組態一或多個處理器以執行如請求項1至5及7中任一者之方法。
TW102101857A 2012-01-20 2013-01-17 用於內容脈絡集選擇之方法及裝置 TWI533705B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP12151965.6A EP2618570B1 (en) 2012-01-20 2012-01-20 Method and devices for context set selection

Publications (2)

Publication Number Publication Date
TW201347546A TW201347546A (zh) 2013-11-16
TWI533705B true TWI533705B (zh) 2016-05-11

Family

ID=45491485

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102101857A TWI533705B (zh) 2012-01-20 2013-01-17 用於內容脈絡集選擇之方法及裝置

Country Status (10)

Country Link
EP (2) EP2618578B1 (zh)
JP (1) JP5526246B2 (zh)
KR (1) KR101455501B1 (zh)
CN (1) CN103220516B (zh)
AU (1) AU2013200291B2 (zh)
BR (1) BR102013001517B1 (zh)
CA (1) CA2802285C (zh)
MX (1) MX2013000712A (zh)
SG (1) SG192352A1 (zh)
TW (1) TWI533705B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2786575A4 (en) 2012-01-20 2016-08-03 Sony Corp REDUCTION OF CODING COMPLEXITY ON CARD OF IMPORTANCE
CN114222140A (zh) * 2016-05-28 2022-03-22 世宗大学校产学协力团 视频信号的解码方法
EP3609183B1 (en) * 2017-04-13 2023-05-03 LG Electronics Inc. Image encoding/decoding method and device therefor
CN112911288B (zh) * 2019-12-03 2022-05-27 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
RS56512B1 (sr) * 2010-04-13 2018-02-28 Ge Video Compression Llc Kodiranje mapa značaja i blokova koeficijenata transformacije
CN102231830B (zh) * 2010-11-23 2013-04-17 浙江大学 用于上下文算术编解码的运算单元
CN102088603B (zh) * 2010-12-31 2013-12-04 北京大学深圳研究生院 用于视频编码器的熵编码器及其实现方法

Also Published As

Publication number Publication date
CA2802285C (en) 2017-08-22
MX2013000712A (es) 2014-01-09
BR102013001517A2 (pt) 2015-01-13
JP2013150322A (ja) 2013-08-01
SG192352A1 (en) 2013-08-30
JP5526246B2 (ja) 2014-06-18
EP2618570B1 (en) 2017-12-13
EP2618578A1 (en) 2013-07-24
EP2618570A1 (en) 2013-07-24
KR101455501B1 (ko) 2014-10-30
AU2013200291B2 (en) 2015-07-16
CN103220516A (zh) 2013-07-24
CA2802285A1 (en) 2013-07-20
EP2618578B1 (en) 2015-07-15
KR20130086169A (ko) 2013-07-31
BR102013001517B1 (pt) 2020-12-15
CN103220516B (zh) 2016-05-18
TW201347546A (zh) 2013-11-16

Similar Documents

Publication Publication Date Title
KR101538837B1 (ko) 변환 유닛 내의 다수 부호 비트 은폐
JP5925830B2 (ja) マルチレベル有効性写像スキャニング
US11778191B2 (en) Methods and devices for context set selection
US20140064365A1 (en) Methods and devices for entropy coding in scalable video compression
KR101407755B1 (ko) 인코딩 및 디코딩을 위한 멀티레벨 유의성 맵
EP2807825A1 (en) Methods and devices for context modeling to enable modular processing
TWI493945B (zh) 使用分割區選擇之重要地圖編碼及解碼
TWI533705B (zh) 用於內容脈絡集選擇之方法及裝置
CA2801095C (en) Methods and devices for context modeling to enable modular processing