TW201334550A - 多層級有效性映射掃描 - Google Patents

多層級有效性映射掃描 Download PDF

Info

Publication number
TW201334550A
TW201334550A TW101143140A TW101143140A TW201334550A TW 201334550 A TW201334550 A TW 201334550A TW 101143140 A TW101143140 A TW 101143140A TW 101143140 A TW101143140 A TW 101143140A TW 201334550 A TW201334550 A TW 201334550A
Authority
TW
Taiwan
Prior art keywords
group
flag
coefficient
significant coefficient
flags
Prior art date
Application number
TW101143140A
Other languages
English (en)
Other versions
TWI483618B (zh
Inventor
Dake He
Nguyen Nguyen
Tianying Ji
Original Assignee
Research In Motion 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 Research In Motion Ltd filed Critical Research In Motion Ltd
Publication of TW201334550A publication Critical patent/TW201334550A/zh
Application granted granted Critical
Publication of TWI483618B publication Critical patent/TWI483618B/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/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)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本發明揭示一種用於視訊資料編碼及解碼之方法,其中在編碼及解碼程序中使用多層級有效性映射。將形成該有效性映射之有效係數旗標分群為連續群組,且一有效係數群組旗標針對每一群組指示是否不含有非0有效係數旗標。可使用一多層級掃描順序,依該多層級掃描順序逐群組地掃描有效係數旗標。群組掃描順序指定處理該等群組順序,且該掃描順序指定處理該群組內之個別有效係數旗標順序。若需要,位元串流可交錯該等有效係數群組旗標及其等相對應有效係數旗標。

Description

多層級有效性映射掃描
本發明大體上係關於一種資料壓縮,且更特定言之,本發明係關於使用多層級有效性映射編碼及解碼視訊之方法及裝置。
資料壓縮發生於諸多內容脈絡中。資料壓縮通常在通信及電腦網路中使用以有效率地儲存、傳輸及重現資訊。資料壓縮在影像、音訊及視訊之編碼中存在特定應用。視訊由於每一視訊圖框所需之大量資料以及編碼及解碼通常需要發生之速度而對資料壓縮提出一重要挑戰。當前最先進之視訊解碼係ITU-T H.264/AVC視訊編碼標準。其定義用於不同應用之諸多不同設定檔,包含主要設定檔、基線設定檔及其他設定檔。當前正透過MPEG-ITU之一聯合倡議開發一下一代視訊解碼標準:高效率視訊編碼(HEVC)。
存在編碼/解碼影像及視訊之諸多標準,包含使用基於區塊之編碼程序之H.264。在此等程序中,將影像及圖框分群為區塊,通常4×4或8×8,且將該等區塊光譜地變換為經量化及經熵編碼之係數。在諸多情況中,待變換之資料並非實際像素資料,而係在一預測操作之後之殘餘資料。預測可為圖框內(即,圖框/影像內之區塊至區塊)或圖框間(即在圖框之間)(亦稱為運動預測)。預期HEVC(亦稱為H.265)將亦具有此等特徵。
當光譜地變換殘餘資料時,此等標準之諸多標準規定使 用一離散餘弦變換(DCT)或對其之某一變化形式。接著使用一量化器量化所得之DCT係數以產生經量化變換域係數或索引。
接著使用一特定內容脈絡模型熵編碼經量化變換域係數之區塊或矩陣(有時稱為一「變換單元」)。在H.264/AVC及HEVC之當前開發工作中,藉由以下操作編碼量化變換係數:(a)編碼指示區塊中之最後非0係數之位置之一最後有效係數位置;(b)編碼指示含有非0係數之區塊中之位置(除最後有效係數位置之外)之有效性映射;(c)編碼非0係數之量值;及(d)編碼非0係數之正負號。經量化變換係數之此編碼通常佔據位元串流中之編碼資料之30%至80%。
變換單元通常為N×N。常見大小包含4×4、8×8、16×16及32×32,但其他大小係可能的。有效性映射中之符號之熵編碼係基於一內容脈絡模型。在一4×4明度或色度區塊或變換單元(TU)之情況中,一單獨內容脈絡係與該TU中之各係數位置相關聯。即,該編碼器及解碼器針對4×4明度或色度TU追蹤總計30個(不包含右下方位置)單獨內容脈絡。將8×8 TU分割(概念地出於內容脈絡相關聯之目的)為2×2區塊,使得一相異內容脈絡係與該8×8 TU中之各2×2區塊相關聯。相應地,編碼器及解碼器針對8×8明度或色度TU追蹤總計16+16=32個內容脈絡。此意謂著編碼器及解碼器在有效性映射之編碼及解碼期間保持追蹤且查找62個不同內容脈絡。當考慮16×16 TU及32×32 TU時,所涉及之相異內容脈絡之總數為88。在額外26個內容脈絡當中,13 個內容脈絡係用於明度TU且13個內容脈絡係用於色度TU。13個內容脈絡至一16×16或32×32 TU中之係數位置之指派如下。令(r,c)表示TU中之一位置,其中若該TU之大小為16×16,則0<=r,c<=15,且若該TU之大小為32×32,則0<=r,c<=31。接著,將三個相異內容脈絡指派至左上方上之三個位置(0,0)、(0,1)、(1,0),包含DC位置(0,0);將5個相異內容脈絡指派至區域{(r,c):2<=r+c<5}中之位置;且將最後5個相異內容脈絡指派至所有剩餘位置。除(0,0)、(0,10)及(1,0)之最前面的三個內容脈絡外,區域{(r,c):2<=r+c<5}中之一位置之內容脈絡之推導取決於其右下方鄰近者。令s(r,c)指示位置(r,c)處之一係數之有效性旗標,即,若該係數非0,則s(r,c)=1,且否則s(r,c)=0。位置(r,c)之內容脈絡等於min(s(r+1,c)+s(r,c+1)+s(r+2,c)+s(r,c+2)+s(r+1,c+1),4),其中min(a,b)傳回a與b之間之較小值。類似地推導出在剩餘區域{(r,c):r+c>=5}中之一位置(r,c)之內容脈絡。
4×4及8×8有效性映射之內容脈絡係藉由位元位置而判定。16×16及32×32有效性映射之內容脈絡主要係藉由相鄰位元之值而判定。16×16及32×32有效性映射之內容脈絡之判定需要相當大量計算,此係由於在大多數情況中處理器藉由查看相鄰有效性旗標之值而判定內容脈絡,其包含高成本之記憶體存取操作。
本發明描述用於藉助內容脈絡自適應編碼或解碼來編碼 及解碼有效性映射之方法及編碼器/解碼器。編碼器及解碼器使用多層級有效性映射。在至少一情況中,該等多層級映射係與較大變換單元(諸如,16×16及32×32 TU)一起使用。
在一態樣中,本發明描述一種自經編碼資料之一位元串流重新建構一變換單元之有效係數旗標之方法,該位元串流包含經編碼有效係數群組旗標,且其中各有效係數群組旗標對應於一各自群組之有效係數旗標。該方法包含:對於該等各自群組之有效係數旗標之各者,依一群組掃描順序,重新建構彼群組之相對應有效係數群組旗標;及藉由下列方式重新建構該等有效係數旗標,若該相對應有效係數群組旗標係非0,則在該群組中依一掃描順序自位元串流解碼該等有效係數旗標,且若該相對應有效係數群組旗標係0,則將該等有效係數旗標設定為0。
在另一態樣中,本發明描述一種用於編碼一變換單元之有效係數旗標之方法。該方法包含:依一群組掃描順序針對每一各自群組之有效係數旗標,編碼該群組之相對應有效係數群組旗標,除非應用一特殊案例,且其中將該等有效係數群組旗標設定為0以指示彼相對應群組不含有非0有效係數旗標,且若該相對應有效係數群組旗標係非0,則在該群組內依一掃描順序中編碼該群組之有效係數旗標。
在一態樣中,有效係數旗標之重新建構係依一規定順序(諸如一掃描順序)執行。在另一態樣中,依規定順序執行該等有效係數群組旗標之重新建構,其可為與該等有效係 數旗標之重新建構所使用之相同之規定順序,諸如掃描順序。
在一態樣中,若相對應群組中之所有有效係數旗標係0,則將一有效係數群組旗標設定為0。在另一態樣中,若該相對應群組中之至少一個有效係數旗標係非0,則一有效係數群組旗標係非0。在另一態樣中,一特殊案例可導致:即使該相對應群組中之所有有效係數旗標係0,一有效係數群組旗標仍為非0,在該情況中,解碼器將自該位元串流解碼相對應群組之全部0值有效係數旗標。
在另一態樣中,本發明描述經組態以實施此等編碼及解碼之方法之編碼器及解碼器。
在又一態樣中,本發明描述儲存電腦可執行程式指令之非暫時電腦可讀取媒體,其當執行時,該等電腦可執行程式指令在執行時組態一處理器以執行所描述之編碼及/或解碼方法。
熟習技術者將自以下實例之描述結合附圖之一審閱而瞭解本發明之其他態樣及特徵。
現將以實例方式參考展示本發明之實例性實施例之附圖。
可在不同圖式中使用相似元件符號來表示相似組件。
在以下說明書中,將參考用於視訊編碼之H.264標準及/或開發中之HEVC標準描述一些實例性實施例。一般技術者應瞭解本發明不限於H.264/AVC或HEVC,而是可適用 於其他視訊編碼/解碼標準,包含未來可能標準、多視圖編碼標準、可擴縮視訊編碼標準及可重新組態視訊編碼標準。
在以下說明書中,當提及視訊或影像時,可互換地使用術語圖框、圖像、圖塊(slice)、影像塊(tile)及矩形圖塊群組。熟習技術者應明白,在H.264標準之情況中,一圖框可含有一或多個圖塊。應明白某些編碼/解碼操作係在一逐圖框基礎上執行,一些係在一逐圖塊基礎上執行,一些係在逐圖像基礎上執行,一些係在逐影像塊基礎上執行及一些係在逐矩形影像塊群組基礎上執行,此取決於適用之影像或視訊編碼標準之具體需要或術語。在任何特定實施例中,適用影像或視訊編碼標準可根據具體情況判定以下描述之操作係結合圖框及/或圖塊及/或圖像及/或影像塊及/或矩形圖塊群組而執行。相應地,一般技術者應瞭解,根據本發明,本文中所描述之特定操作或程序及特定引用圖框、圖塊、圖像、影像塊、矩形圖塊群組是否適用於圖框、圖塊、圖像、影像塊、矩形圖塊群組或一給出實施例之以上各者之一些或全部。自以下說明書應明白,此亦適用於變換單元、編碼單元、編碼單元群組等等。
本發明描述編碼及解碼有效性映射之實例性程序及裝置。一有效性映射係映射至或對應於係數(例如若干變換單元、一變換單元之一部分或一編碼單元)之一變換單元或一經定義單元映射至或對應於一變換單元之一旗標之一區塊、矩陣或群組。各旗標指示該變換單元或特定單元中 之相對應位置是否含有一非0係數。在現行標準中,此等旗標可稱為有效係數旗標。在現行標準中,每係數存在一旗標且該旗標係一位元,若該相對應係數為0,則該旗標為0,且若該相對應係數為非0,則將該旗標設定為1。自以下說明書將瞭解,本文中所使用之術語「有效性映射」意欲指一變換單元之有效係數旗標之一矩陣或有序集合,或係數之一經定義單元,其可自應用內容脈絡而明白。
雖然本文所描述之實例關於有效性映射,該等多層級編碼及解碼程序可適用於視訊編碼中之其他語法元素,例如,係數層級、濾波係數及運動向量(在二進制化之後),其可展現群組結構。例如,係數層級之一局部群組可高可能性為全部1。類似地,運動向量之一局部群組可為在一個方向中全部0(例如0水平運動),或一濾波係數集合在相鄰頻帶中可為全部0。
根據以下說明書亦應瞭解,將在某些狀況中應用多層級編碼及解碼結構,且此等狀況可自諸如視訊內容脈絡類型(自然視訊或在序列、圖像或圖塊標頭中標識之圖形)之側資訊而判定。例如,兩個層級可用於自然視訊且三個層級可用於圖形(其通常係更稀疏)。又一可能性為在序列、圖像或圖塊標頭之一者中提供一旗標來指示該結構是否具有一、二或三個層級,藉此允許編碼器選擇當前內容脈絡之最適當之結構之靈活性。
現參考圖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標準之演進,如,HEVC。
編碼器10包含一空間預測器21、一編碼模式選擇器20、變換處理器22、量化器24及熵編碼器26。一般技術者應明白,編碼模式選擇器20判定用於視訊源之適當編碼模式,例如標的圖框/圖塊是I、P或B類型,及圖框/圖塊內之特定編碼單元(例如,巨集區塊、編碼單元等等)係圖框間編碼或圖框內編碼。變換處理器22執行空間域資料之一變換。具體言之,變換處理器22應用一基於區塊之變換以將空間域資料轉換為光譜分量。例如,在諸多實施例中使用一離散餘弦變換(DCT)。在一些例項中,可使用其他變換,諸 如一離散正弦變換等等。取決於巨集區塊或編碼單元之大小,在一編碼單元、巨集區塊或子區塊之基礎上執行基於區塊之變換。在H.264標準中,例如,一典型16×16巨集區塊含有16個4×4變換區塊且該DCT程序係對該等4×4區塊執行。在一些情況中,變換區塊可為8×8,意謂著每個巨集區塊存在四個變換區塊。在再一些情況中,變換區塊可為其他大小。在一些情況中,一16×16區塊可包含4×4與8×8變換區塊之一非重疊組合。
將基於區塊之變換應用至一像素資料區塊導致一變換域係數集合。在本文中一「集合」係其中係數具有係數位置之一有序集合。在一些示例中,該變換域係數集合可作為係數之一「區塊」或矩陣。在本說明書中可互換地使用片語一「變換域係數集合」或一「變換域係數區塊」且意欲指示一有序變換域係數集合。
該變換域係數集合係藉由量化器24而量化。接著藉由熵編碼器26編碼所量化之係數及相關聯資訊。
參考本文可將經量化變換域係數區塊或矩陣稱為一「變換單元」。
經圖框內編碼圖框/圖塊(即,類型I)在不參考其他圖框/圖塊之情況下編碼。換言之,此等不採用時間預測。然而,經圖框內編碼圖框確實依賴於該圖框/圖塊內之空間預測,如圖1中藉由空間預測器21所繪示。即,當編碼一特定區塊時,可比較該區塊中之資料與已針對彼圖框/圖塊編碼之區塊內之附近像素之資料。使用一預測演算法, 可將區塊之源資料轉換為殘餘資料。變換處理器22接著編碼殘餘資料。例如,H.264針對4×4變換區塊規定九個空間預測模式。在一些實施例中,該九個模式之各者可用於單獨處理一區塊,且接著使用位元率失真最佳化來選擇最佳模式。
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或藍光播放器及/或行動手持裝置)可在於一輸出裝置上顯示之前在一記憶體中緩衝經解碼圖框。
預期,符合HEVC之編碼器及解碼器將具有諸多此等相同或相似特徵。
有效性映射編碼
如上所述,一經量化變換域係數區塊或集合之熵編碼包含針對彼經量化變換域係數區塊或集合編碼有效性映射(例如,一有效係數旗標集合)。該有效性映射係指示非0係數出現之位置(除最後位置之外)之區塊之二進制映射。區塊可具有與其相關聯之某些特性。例如,區塊可來自一圖框內編碼圖塊或一圖框間編碼圖塊。區塊可為一明度區塊或一色度區塊。該圖塊之QP值在圖塊之間不同。所有此等因數對熵編碼有效性映射之最佳方式具有一影響。
根據掃描順序(其可為垂直、水平、對角線、之字形或適用編碼標準所規定之任何其他掃描順序)將該有效性映射轉換為一向量。該掃描係通常依「反向」順序進行,即,以最後有效係數開始且沿反向方向往回遍及有效性映射工作直至達到[0,0]處之旗標。在本發明中,術語「掃描順序」係意欲根據具體情況意謂所處理之旗標、係數或群組之順序且可包含口語上地稱為「反向掃描順序」之順序。
接著使用適用熵內容脈絡自適應編碼方案進行熵編碼各有效係數旗標。例如,在諸多應用中可使用一內容脈絡自適應二進制算術編碼(CABAC)方案。其他實施方案可使用藉助二進制化之其他內容脈絡自適應編碼解碼器。實例包含二進制算術編碼(BAC)、可變至可變(V2V)長度編碼及可變固定(V2F)長度編碼。對於4×4及8×8映射,針對每一位元位置指派一內容脈絡。當編碼在彼位元位置中之位元(有效係數旗標)時,所指派之內容脈絡及至彼點之內容脈絡記錄之歷史判定一最小可能符號(LPS)(或在一些實施方案中一最大可能符號(MPS))之估計概率。
在現行視訊編碼器中,針對編碼器及解碼器兩者預定內容脈絡指派。例如,對於一4×4明度區塊,當前HEVC標準草案規定4×4有效性映射中之各位元位置具有一唯一內容脈絡。排除最後位置,其意謂著15個內容脈絡用於追蹤4×4明度有效性映射之編碼。對於各位元位置,指派至彼位置之內容脈絡判定與彼位置中之一LPS相關聯之估計概 率。接著使用彼估計概率編碼實際位元值。最後,基於實際位元值更新指派至彼位置之內容脈絡。在解碼器處,使用相同內容脈絡模型解碼該經編碼資料。追蹤各位元位置之一內容脈絡且使用該內容脈絡來判定解碼資料以復原彼位置之位元之估計概率。
對於16×16及32×32有效性映射,一有效係數旗標之內容脈絡係(通常)基於相鄰有效係數旗標值。在用於16×16及32×32有效性映射之13個內容脈絡當中,存在專用於位元位置[0,0]及專用於相鄰位元位置之某些內容脈絡,但大多數有效係數旗標採用取決於相鄰有效係數旗標之累積值之五個內容脈絡中之一者。在此等例項中,一有效係數旗標之正確內容脈絡之判定取決於判定及求總和在相鄰位置上之有效係數旗標之值(通常五個位置,但在一些例項中可為更多或更少)。此涉及多重記憶體存取,此在記憶體寬度要求中可為高成本的。此外,在諸多例項中,16×16及32×32有效性映射含有諸多0。相應地,於編碼及傳輸具有少數係數值之大映射中涉及到一實質成本。
根據本發明之一態樣,編碼器及解碼器對某些變換單元使用多層級有效性映射。在下述實例中,多層級有效性映射係用於16×16及32×32大小之變換單元;然而,應瞭解在一些實施例中,其可用於8×8或64×64或其他大小之變換單元。
將有效係數旗標分群。各有效係數旗標歸屬於該等群組之一者。為簡單起見,在諸多實施例中,藉由(概念上地) 將該變換單元結構劃分或分割為區塊而形成該等群組。例如,可將一16×16映射劃分為各含有16個係數位置之4×4區塊。可將一32×32映射劃分為各含有64個係數位置之8×8區塊。因此,在有效係數旗標歸屬於呈矩陣結構之此等經定義區塊中之基礎上將該等有效係數旗標分群。。在另一實例中,將16×16及32×32均劃分為各含有16個係數位置之4×4區塊。
圖3展示一實例性16×16變換單元100(經量化變換域係數之矩陣)。以索引為目的,可由[xC,yC]指定變換區塊內之位元位置,其中xC=0、1、2、...、15且yC=0、1、2、...、15。使用(例如)一對角線掃描順序,應注意,本實例中之最後有效係數係在[12,10],如元件符號112所指示。
現亦參考圖4,其展示一實例性有效性映射102。有效性映射102含有自如圖4中所示之該實例性變換單元產生之有效係數旗標。應注意,一有效係數旗標以自[0,0]直至(但不包含)[12,10]處之最後有效係數之掃描順序出現在每一位元位置中。將在變換單元100中存在一非0係數所針對之各位元位置處之有效係數旗標設定為1,而將在其處存在一0係數之各位元位置處之有效係數旗標設定為0。
在一實施例中,可基於將變換單元結構劃分成連續區塊之一均勻劃分來將有效性映射102(即,有效係數旗標集合)分群。變換單元之大小可判定區塊之大小。在一16×16變換單元之情況中,在一些實施例中該等區塊可為4×4。在圖4中藉由劃定4×4區塊之線而繪示該等分群。一較大變換 單元(諸如一32×32變換單元)可將其之有效係數旗標分群為4×4區塊、8×8區塊或其他大小之連續區塊。在一實施例中,4×4係數群組係用於大小為16×16、4×16、16×4、8×32、32×8及32×32之變換單元。
雖然為簡單起見本文中所給出之該等實例使用定義為連續正方形區塊之群組,但本發明不限於正方形群組。在一些實施例中,群組可形成為矩形區塊。在其他實施例中,可使用其他形狀。例如,在一對角線掃描順序情況下,使用自該變換單元之對角線圖塊形成之群組係有利的,其中一些群組可為梯形。例如,可配合水平或垂直掃描順序使用矩形群組。在一實例中,在一8×8變換單元情況下,若使用一水平掃描,則可使用2×8係數群組,且若使用一垂直掃描,則可使用8×2係數群組。熟習技術者應明白其他改變。
接著可產生對應於群組矩陣之一較高層級有效性映射。該較高層級有效性映射係一有序有效係數群組旗標集合。針對含有至少一個有效係數旗標之各群組存在一有效係數群組旗標。含有最後有效係數之群組無需包含於該較高層級有效性映射中,此係由於已知其含有至少一個非0係數,即,最後有效係數。該有效性映射可稱為層級0或L0映射。該較高層級有效性映射(即,含有有效係數群組旗標)可稱為層級1或L1映射。
圖5繪示對應於圖4中所示之實例性有效性映射102之L1較高層級有效性映射104。應注意,L1映射104針對含有至 少一個有效係數旗標之各群組含有一有效係數群組旗標。若該群組內之有效係數旗標之任一者非0,則接著將有效係數群組旗標設定為1。否則,將其設定為0。
可由[xCG,yCG]指定該等群組之索引,其中在本實例中xCG=0、1、2、3且yCG=0、1、2、3。含有最後有效係數之群組係位於[3,2]。位於[3,3]之群組不含有任何有效係數旗標,因此其不包含於該L1映射中。
在一些實施例中,可依一掃描順序將有效係數群組旗標轉換為向量形式。該掃描順序可大體上相同於指定與該變換單元一起使用之掃描順序。在一實施例中,該有效係數群組旗標可使用可不同於用於變換單元之選定掃描順序之一預定義掃描順序。在一些情況中,該L1映射可排除將具有一假定旗標值之某些群組(如[0,0]群組或最後有效係數群組),如以下將進一步描述。
應明白,無需自L0映射直接推導出L1映射,而是可自用掃描順序掃描變換單元中之係數而推導出L1映射。
亦應瞭解在一些實施例中可使用另外較高層級映射。例如,若該變換單元係一64×64變換單元,則L1映射可基於將該變換單元劃分為256個4×4群組。因此L1映射可為含有L1群組旗標之一16×16映射。可藉由將L1旗標分群為一另外4×4區塊(其等之各者可對應於來自變換單元之一群組之16×16係數)集合而產生一另外L2映射。在其他實施例中可使用額外層級之抽象化及/或細微度。
現參考圖6,其以一流程圖之形式展示用於編碼有效係 數旗標之一實例性程序200。該程序200可在操作202中以編碼器判定有效係數旗標及有效係數群組旗標開始。在一實施例中,該編碼器依一掃描順序掃描變換區塊以判定最後有效係數及有效係數旗標。可在相同掃描期間判定有效係數群組旗標(雖然可在實際實施方案中使用值之一定量之緩衝,此係由於掃描順序將通常涉及穿越多個區塊;在一些情況中,當編碼器判定其已掃描彼群組之最後係數(例如,結束係數(exit coefficient))時,可判定有效係數群組旗標)。在一些實施方案中,該編碼器可執行對L0有效性映射或變換單元之一第二掃描以判定有效係數群組旗標。
在操作204中,對於各有效係數旗標,編碼器判定將使用之內容脈絡且接著基於所判定之內容脈絡熵編碼彼有效係數群組旗標。可依一規定順序處理有效係數群組旗標。在一些實施例中,該規定順序係與用於變換單元之掃描順序相同。可用任何適合方式結構化內容脈絡之數目及其判定。以下將描述用於判定有效係數群組旗標之內容脈絡之一實例性內容脈絡集合及方法。
在編碼有效係數群組旗標集合之後,編碼器接著編碼有效係數旗標。在操作206中,編碼器(依掃描順序工作)判定各有效係數旗標之內容脈絡,且若各有效係數旗標歸屬於有效係數群組旗標被設定為1所針對的一群組中,則編碼彼有效係數旗標。若相對應有效係數群組旗標被設定為0,則不編碼彼群組中之有效係數旗標之任一者,即,在 該熵編碼期間跳過該等有效係數旗標。
相應地,在程序200之後,編碼器已產生經編碼資料之一位元串流,其含有經編碼有效係數群組旗標及歸屬於具有至少一個非0有效係數旗標之一群組中之經編碼有效係數旗標。該位元串流不包含來自不包含至少一個非0有效係數旗標之任何群組之任何有效係數旗標。
在解碼器處,需自該位元串流之經編碼資料重新建構有效係數旗標。現參考圖7,其以一流程圖之形式展示用於自經編碼資料之一位元串流重新建構有效係數旗標之一實例性程序300。可憑藉一網路連接(即,串流傳輸)而接收該位元串流,或自一電腦可讀取媒體(諸如一記憶體(例如,快閃記憶體等等)或一儲存碟(例如,DVD、BluRayTM、CD-ROM等等))讀取該位元串流。在一解碼器處重新建構一變換單元之程序中應用程序302。對於序列及對於各圖塊或圖像兩者,均未展示標頭資訊之解碼(取決於使用中之視訊編碼標準之語法)。
在操作302中,自位元串流解碼最後有效係數之位置。可用任何適用語法表示該資訊。一些標準規定使用矩陣表示法(例如,變換單元內之基於x與y之位置)指定最後有效係數;一些標準規定將使用在最後有效係數位置處具有一個1之一個0之一向量將最後有效係數發訊號,其中依掃描順序將該向量映射至變換單元。在操作302中可使用用於指定該最後有效係數之任何適合語法。
在操作304中,自位元串流解碼有效係數群組旗標。可 已使用由該標準所規定或在標頭資訊中指定之任何適用二進制方案熵編碼該等有效係數群組旗標。例如,在一些例項中可使用內容脈絡自適應二進制算數編碼。藉由判定各旗標位置(在較高層級有效性映射(例如該L1有效性映射中之位元位置))而解碼有效係數群組旗標,且接著自位元串流解碼該旗標值且基於該旗標值更新該內容脈絡。由於已知掃描順序且已在操作302中識別最後有效係數,所以已知該有效係數群組旗標之大小;因此,判定該L1有效性映射之大小。在非均勻割隔群組之情況中,可在語法中提供群組大小及位置之一適合發訊號。
如上所述,各有效係數群組旗標對應於針對變換單元所定義之連續群組之一各自者。有效係數旗標之一或多者歸屬於具有一有效係數群組旗標之此等群組之各者。相應地,各有效係數群組對應於一各自群組之該等有效係數旗標。
在解碼有效係數群組旗標集合之後,接著依規定掃描順序執行用於重新建構有效性映射(即該有效係數旗標集合)之其餘操作。該程序自最後有效係數(但是排除該最後有效係數位置,由於其已知含有一非0係數)開始。在操作305中,對於各有效係數旗標,解碼器判定其之相對應有效係數群組旗標是否為0。若相對應有效係數群組旗標係非0,則自位元串流解碼一有效係數旗標,如操作306所示。即,若相關聯或相對應有效係數群組旗標指示群組可含有至少一個非0係數,則解碼器在當前位置自位元串流 解碼一有效係數旗標。
若相關聯或對應有效係數群組旗標係一0(即,其指示該群組中不存在非0係數),則解碼器該當前有效係數旗標設定或重新建構為一0,如操作308所示。解碼器不自該位元串流解碼當前有效係數旗標。
在操作310中,解碼器判定其是否抵達掃描順序之末端(即,變換單元之左上方(例如[0,0])處之係數)。若如此,則程序300結束,若並非如此,則解碼器在操作312中依掃描順序移動至下一位置且重複操作306及308以重新建構彼下一位置之有效係數旗標。
應明白,在本實施例中,掃描順序不導致在移動至下一群組之前重新建構一群組之所有有效係數旗標。而是,掃描順序(取決於掃描順序及群組之幾何形狀)掃描穿越群組邊界使得解碼器來自一個群組之幾個旗標、來自一毗鄰群組之幾個旗標等等,依掃描順序工作回到[0,0]位置。以下將進一步描述之一掃描程序避免此問題。
在編碼及解碼程序中可存在經考量以節省位元特殊案例。例如,如上所述,含有最後有效係數之群組將總是具有指示一非0係數之一有效係數群組,使得有效係數群組旗標無需被編碼及傳輸至解碼器。編碼器總是編碼彼群組之有效係數旗標,且解碼器經組態以總是解碼彼群組之有效係數旗標。
可包含於一些實施例中之另一特殊案例係總是編碼及解碼第一群組。此群組在變換單元中之[0,0]處含有DC係 數。此群組不含有非0係數之概率係極其低。相應地,替代傳輸[0,0]群組之一有效係數群組旗標,解碼器可經組態以總是編碼彼群組之有效係數旗標且解碼器可經組態以總是解碼彼群組之有效係數旗標。
可在一些實施例中實施之又一其他特殊案例亦係基於概率。已注意到,當在一特定群組右方之群組及在該特定群組下方之一群組均含有非0係數時,則該特定群組含有一非0係數之可能性係非常高的。因此,在一些實施例中,編碼器及解碼器可假定具有均含有非0係數之右方群組及下方群組之任何群組,則彼群組具有非0係數。因此,關於某一群組,若右方群組之有效係數群組旗標設定為1,且若下方群組之有效係數群組旗標設定為1,則編碼器不編碼該某一群組之有效係數群組旗標且總是編碼該某一群組之有效係數群組旗標。解碼器辨識右方或下方鄰近者具有指示非0係數之有效係數群組旗標,因此將自動假定該某一群組具有非0係數且解碼有效係數旗標。
現參考圖8,其展示圖7之操作304之額外細節以反映處置上述特殊案例之一實例性實施例。操作304包含一操作304-1,其中含有最後有效係數之群組之有效係數群組旗標設定為1。在一較早操作(未展示)中自位元串流解碼最後有效係數之位置。
解碼器接著依掃描順序移動通過群組。如操作304-2所示,解碼器依該掃描順序從含有最後有效係數之群組移動至下一群組。對於此群組,解碼器評估在當前群組右方群 組之有效係數群組旗標及在該當前群組下方群組之有效係數群組旗標是否等於1。最初,解碼器將由於其剛開始而在右方及下方不包含旗標,但稍後依掃描順序(無論水平、垂直或對角線)解碼器可有時在相對於當前群組之此等位置處具有經重新建構之有效係數群組旗標(對於定位於變換單元之底部邊緣之群組,解碼器可能永遠不會具有下方之一群組之一旗標)。若彼兩個相鄰群組設定為1,則當前群組亦被設定為1之概率係充分高,以至於編碼器及解碼器假定當前群組設定為1。相應地,在操作304-6中,若滿足特殊案例之條件,則解碼器將有效係數群組旗標設定為1。否則,解碼器移動至操作304-4。在另一實施例中,可將此特殊案例修改為基於其他相鄰群組或其他群組全部之有效係數群組旗標。
在操作304-4中,解碼器自位元串流解碼當前群組之有效係數群組旗標。解碼包含判定內容脈絡且接著根據所判定之內容脈絡進行解碼。解碼可基於二進制算術編碼(BAC)或其他二進制化編碼/解碼程序。
在操作304-5中,解碼器依掃描順序判定此是否為倒數第二個群組。若不係,則解碼未完成,因此解碼往回循環至操作304-2以依掃描順序前進至下一群組。若依掃描順序該下一群組係倒數第二個群組,則解碼器移動至操作304-7,在操作304-7處解碼器將最後群組(即,群組[0,0])之有效係數群組旗標設定為1。此係基於以下特殊案例:其中彼特定群組係總是由編碼器及解碼器假定為具有至少 一個非0係數,因此有效係數群組旗標係通常預設為1,使得總是編碼及解碼彼群組之有效係數旗標。在此操作之後,解碼器繼續進行至操作306或308(圖7)。
應明白圖7及圖8中所繪示之上述實例性程序將L1有效性映射(有效係數群組旗標)之解碼及L0有效性映射(有效係數群組旗標)之解碼展示為其中完全解碼L1有效性映射且接著解碼L0有效性映射之兩階段程序。在一些實施例中,情形可係如此;然而,在一些其他實施例中,該等解碼程序可為部分交織。即,該L0映射之解碼可在充分解碼該L1映射之前開始。應明白,在一些實施例中,L0有效性映射之解碼可在第一有效係數群組旗標被重新建構就開始。
在一些實施例中,可取決於(例如)圖像類型而開啟或關閉多層級有效性映射編碼。例如,可針對I圖像及P圖像啟用多層級有效性映射編碼,但針對B圖像停用多層級有效性映射編碼。
多層級掃描順序
如上所述,當如以上實例所繪示(即,依連續區塊)形成係數群組時,掃描順序(垂直、水平或對角線)將導致當掃描有效係數旗標時穿越該等群組之邊界。自一硬體實施方案觀點此可導致編碼及解碼之困難,此係由於需要大量資料緩衝以持續追蹤部分經解碼之群組之有效係數旗標,以實施一單遍次掃描。否則,可需要掃描兩次(或更多):一掃描順序遍次係針對L1映射之旗標及一掃描映射遍次係針對L0映射。實施一單遍次掃描程序及避免記憶體及計算複 雜性問題之一選項係使用一基於群組或多層級掃描順序。
現參考圖14,繪示一實例性16×16變換單元600。在有效性映射編碼之內容脈絡中,實例性16×16變換單元600包含16個係數群組,其中各係數群組係有效係數旗標之一4×4區塊。圖14中繪示一對角線掃描順序。掃描順序以[15,15]處之有效係數旗標開始且對角線掃描係從右上方至左下方而從右下方[15,15]至左上方[0,0]遍歷變換單元600。如上所述,有效性映射編碼程序使用自最後係數開始之一掃描順序。
應注意,掃描順序穿越係數群組邊界。例如,考量[10,12]、[11,11]及[12,10]處之有效係數旗標,如各自地藉由元件符號610、612及614所指示。依掃描順序,編碼器及解碼器首先遭遇位置[12,10]處之有效係數旗標614。掃描順序接著遭遇位置[11,11]處之有效係數旗標612,其彼該係數群組中之第一有效係數旗標。接著掃描順序當其到達位置[10,12]處之有效係數旗標610時穿越進入另一係數群組。
在編碼器側,應明白,此頻繁穿越係數群組邊界可導致在掃描操作期間之大量緩衝以追蹤在各種係數群組中之有效係數旗標之值,且應明白,對於彼係數群組之有效係數群組旗標之一判定可需等到依掃描順序已抵達該群組中之最後(左上)有效係數旗標。為在單遍次掃描中處理整個變換單元600,編碼器可需要某複雜緩衝以避免過度記憶體存取操作。頻繁穿越該等係數群組邊界呈現位元率失真最 佳化量化(RDOQ)(即,軟決定量化(SDQ))之一特定複雜度。當作出RDOQ/SDQ判定時追蹤與編碼相關聯之位元率成本變為顯著地更加複雜。在解碼器側,解碼器亦可需緩衝以當解碼器依重新建構該等有效係數旗標之掃描順序穿越各種群組之先前經解碼有效係數群組旗標時追蹤其等。此導致在解碼器處需要較大記憶體/緩衝區。
相應地,在一實施例中,該等編碼及解碼程序可採用一多層級掃描順序。現參考圖15,其以所繪示之一多層級對角線掃描順序展示圖14之變換單元600。在各係數群組內,在群組層級應用一對角線掃描順序,而非穿越整個變換單元600。依一掃描順序處理該等係數群組自身,該掃描順序在本實例性實施方案中亦係一對角線掃描順序。
應明白,對角線係一選項,及在其他實施例中,在該等係數群組內及/或在排序係數群組之處理之群組層級,可應用水平、垂直、之字形或其他掃描順序。
使用基於群組或多層級之掃描順序,依順序編碼及解碼各群組之有效係數旗標。即,僅限於當前群組之編碼/解碼已完成時才開始下一群組之有效係數旗標之編碼/解碼。例如,使用一對角線掃描順序,在解碼器開始解碼在位置[10,12]處含有有效係數旗標610之該群組之有效係數旗標之前解碼在位置[12,10]處含有有效係數旗標614之整個群組之有效係數旗標。類似地,在解碼器開始解碼在位置[11,11]處含有有效係數旗標612之群組之前先完全解碼該兩個群組。此允許編碼器/解碼器更容易地在單遍次中 處理該多層級有效性映射,此係由於在一係數群組內依掃描順序循序地處理該係數群組之所有有效係數旗標。
有利地,多層級或基於群組之掃描順序進一步促進位元串流內之有效係數群組旗標之交錯。隨著依掃描順序處理各係數群組,編碼器可將有效係數群組旗標寫入至位元串流,且若有效係數群組旗標係非0,則可接著***彼係數群組之有效係數旗標。在解碼器處,解碼器自位元串流解碼有效係數群組旗標,且若非0,則在彼群組內依掃描順序解碼該群組之有效係數群組旗標。若有效係數群組旗標係0,則解碼器將彼群組之所有有效係數群組旗標設定為0且自位元串流讀取解碼該下一有效係數旗標。通過此方式,解碼器依群組掃描順序逐群組地重新建構該有效性映射。
應瞭解,在該群組內所使用之掃描順序非必然對應於從群組進展至群組所使用之群組掃描順序。例如,在該等群組內可使用一對角線掃描順序,而該等群組之處理則係依一水平群組掃描順序進行。
亦應瞭解,本文中所述之多層級掃描順序與用於多層級有效性映射之係數逐群組相匹配;然而,在更一般之情況中,可將多層級或基於群組之掃描順序組織為區塊,其非必然對應於有效係數旗標之群組。例如,參考圖14及圖15,替代將一對角線掃描順序應用至各4×4係數群組,在另一實例性實施方案中,以掃描順序為目的之分群或分區塊可使用8×8區塊。換言之,在本實例中,可將對角線掃 描順序應用於四個8×8區塊。請注意,若用於多層級掃描順序之群與用於多層級有效性映射之係數群組之間存在一不匹配,則編碼器/解碼器將非必然在移動至下一群組之前完全處理各群組。
現參考圖16,其展示用於使用一多層級掃描順序解碼一多層級有效性映射之一實例性方法700。方法700係用於自經編碼資料之一位元串流重新建構有效係數旗標之一實例性程序。經編碼資料之位元串流包含經編碼有效係數群組旗標。各有效係數群組旗標對應於一各自群組之有效係數旗標。依一掃描順序,位元串流中之各非0有效係數群組旗標後續接著各自群組之有效係數旗標。
方法700以在操作702中自位元串流解碼最後有效係數位置開始。如上所述,可用若干方法中任一者發信號最後有效係數位置。一旦已知最後有效係數位置,則在操作704中,解碼器自含有最後有效係數之係數群組內之有效係數之位元串流解碼有效係數旗標。操作704中之解碼係在係數群組內依一掃描順序(其可為對角線、垂直、水平等等)執行,在最後有效係數位置之位置之後之有效係數位置開始且依掃描順序往回工作朝向左上方係數。
在操作706中,參考一群組掃描順序,將當前係數群組(標示為CG)設定為含有最後有效係數之群組之後之群組。群組掃描順序係係數群組之解碼順序,以含有最後有效係數之群組之後之群組開始且依群組掃描順序往回工作朝向該變換單元中之左上方之群組(該群組在位置[0,0]處含有 DC係數)。群組掃描順序可為垂直、水平、對角線等等。
在操作708中,解碼器重新建構當前係數群組(標示為CG)之有效係數群組旗標。此重新建構包含自位元串流解碼有效係數群組旗標,除非應用一特殊案例。例如,一實例性特殊案例係當位於當前係數群組之右方之群組及位於當前係數群組之下方之群組之有效係數群組旗標均為非0時。在此情況中,依據預設,可將有效係數群組旗標假定為非0。
如操作710所指示,若經重新建構有效係數群組旗標係0,則在操作712中,將相對應係數群組之有效係數旗標均設定為0。若經重新建構有效係數群組旗標係非0,則在操作714中,在彼群組內依掃描順序自位元串流解碼相對應係數群組之有效係數旗標。
一旦在操作712或操作714中重新建構當前係數群組之所有有效係數旗標,則在操作716中,CG索引被遞減以依群組掃描順序移動至下一係數群組。在操作718中,若依群組掃描順序之下一係數群組係CG>0(即,其並非為在[0,0]含有DC係數之左上方群組),則該程序返回至操作708以完全重新建構下一係數群組之有效係數。然而,若CG=0,則方法700前進至操作720,在操作720中自位元串流解碼左上方係數群組之有效係數旗標。在本實例性實施例中,總是在位元串流中編碼此等有效數旗標,因此解碼器假定此係數群組之有效係數群組旗標總是係有效的非0。
內容脈絡模型化
為改良編碼效率,BAC引擎(或其他熵編碼/解碼引擎)使用內容脈絡。本發明提出使用四個新內容脈絡用於編碼有效係數群組旗標。兩個內容脈絡係用於明度編碼/解碼,且兩個內容脈絡係用於色度編碼/解碼。
判定將該兩個內容脈絡中之哪一者應用至一給定有效係數群組旗標可如下發生。若當前群組之右方相鄰群組之有效係數群組旗標係0,且當前群組之下方相鄰群組之有效係數群組旗標係0,則用於編碼該當前群組之有效係數群組旗標之內容脈絡係0。否則,該內容脈絡為1。若彼兩個相鄰群組之旗標係不可用的,則出於內容脈絡判定之目的將該等不可用旗標假定為等於0。
注意,若使用一不同掃描順序方向(諸如從左上方至右下方),則可將內容脈絡模型改變為使用當前群組之左方相鄰群組之有效係數群組旗標及當前群組之上方相鄰群組之有效係數群組旗標來判定該內容脈絡。
內容脈絡判定程序亦可包含特殊案例。例如,左上方群組總是被指派內容脈絡1。
可使用用於判定內容脈絡之其他可能內容脈絡模型。以下給出一些實例。
為定義法,令L[i]表示在層級L處之係數群組i之有效旗標,且令N表示在層級L處之係數群組之數量。一般言之,對於一給定L及係數群組i,使用i與所有可用之L[j]之一函數c(*)來判定L[i]之一內容脈絡C_i。藉由以下給出該內容脈絡: C_i=c(i,L[0],L[1],...L[N-1])其中j!=i。注意,為使用L[j]來判定L[i]之一內容脈絡,L[j]其自身必須為可用的。因此,所選定之掃描順序必須確保先前已判定用於c(*)之任何L[j]。
在類似於上述內容脈絡判定模型之一實施例中,可藉由以下判定該內容脈絡:C_i=c(i,L0[0],L0[1],...,L0[15])=sum{bj*L0[j]}其中j=0、1、...、N且j!=i,若係數群組j為係數群組i之右方或下方相鄰群組,則bj=1,否則bj=0。此特定實施例具有3個內容脈絡(若不同3個內容脈絡用於色度,則此特定實施例具有6個內容脈絡)。
藉由以下給出c(*)之另一實施例:C_i=c(i,L[0],L[1],...,L[N-1])=sum{bj*L[j]}其中j=0、1、...、N且j!=i,若係數群組j為已判定之i之任何相鄰係數群組,則bj係非0的,且否則bj=0。在本實施例中,加權係數bj可非必然為常數。
c(*)之另一實施例忽略L處之其他係數群組之有效係數群組旗標且僅基於當前係數群組之位置i而判定內容脈絡。此可表達為:C_i=c(i,L[0],L[1],...,L[N-1])=i可與多層級有效性映射一起使用用於判定內容脈絡之其他 內容脈絡模型及程序。
以下給定上述之兩內容脈絡實施例之一實例性語法。在本實例中,考量輸入為當前係數群組掃描位置(xCG,yCG)及語法元素significant_coeffgroup_flag之先前經解碼值格(bin)。本程序之輸出為ctxIdxInc。在本實例中,將變換單元假定為已劃分為16個連續區塊以形成係數群組。例如,將一16×16 TU劃分為4×4區塊及將一32×32 TU劃分為8×8區塊。在另一實施例中,可將變換單元劃分為4×4區塊或其他大小之區塊。
變數ctxIdxInc取決於當前位置(xCG,yCG)及語法元素significant_coeffgroup_flag之先前經解碼值格。為推導出ctxIdxInc,應用如下。
若xCG等於3,且yCG等於3,則將ctxIdxInc設定為等於一預設內容脈絡值。在本實例性實施例中,預設值為ctxIdxInc=44。在其他實施例中,其可為包含0之另一值。
若xCG小於3且yCG等於3,則將ctxIdxInc設定為ctxIdxInc=44+significant_subblock_flag[xCG+1][yCG]
若xCG等於3且yCG小於3,則將ctxIdxInc設定為ctxIdxInc=44+significant_subblock_flag[xCG][yCG+1]
若xSB小於3且ySB小於3,則將ctxIdxInc設定為ctxIdxInc=44+max{significant_subblock_flag[xCG+1][yCG],significant_subblock_flag[xCG][yCG+1]}
在上述表達式中之值44係一預設索引值之一實例。在其他實施例中可使用其他值,包含0。
位元率失真最佳化量化
一些編碼程序使用位元率失真最佳化量化(RDOQ)或有時稱為「軟量化」。RDOQ係基於一位元率失真最佳化表達來判定最佳經量化變換域係數之一程序。相應地,由RDOQ產生之經量化變換域係數可或可不相同於透過正常變換及量化程序達成之經量化變換域係數。在一些情況中,可已藉由該RDOQ程序而修改係數值,此係由於所得之失真被判定為比傳輸成本中之結果節省成本較少。
RDOQ程序通常估計判定位元率分量之四個成本。四個位元率成本包含最後位置位元率(last position rate)、有效性位元率(significance rate)(L0位元率)、係數位元率(coefficient rate)及編碼區塊參數(CBP)位元率。為實施多層級有效性映射,修改RDOQ以在該RDOQ計算中亦包含較高層級之有效性位元率(例如,L1位元率)可為有利的。
在一實施例中,RDOQ程序可經修改以執行關於有效性映射之一兩階段RDOQ。首先,應用該RDOQ程序以判定最佳最後位置及係數值且因此判定L1有效係數旗標。在一第二階段中,在固定最後位置之情況下,可關於L1位元率再次應用RDOQ程序以判定是否存在用於將任何係數歸零之一位元率失真(RD)成本合理性。
圖9以一流程圖之形式展示用於編碼多層級有效性映射之一實例性RDOQ程序400。程序400使用RDOQ以獲得最佳量化變換係數且判定最後有效係數(即,一L0 RDOQ)之位置。程序400接著固定最後位置且調整當前RD成本以考 量有效性映射之額外層級之效應。接著,其使用一進一步方法以進一步最佳化變換係數。
操作402反使用RDOQ以獲得最佳量化變化域係數,此提供一最後有效係數位置。操作402基於用於傳輸該最後位置、對應於該等最佳係數之有效性映射、係數值及CBP之位元率而產生某一RD成本。
在操作404中,固定最後有效係數位置。即,最後群組將含有一非0係數,即,將最後有效係數群組旗標固定為1。編碼器接著貪婪地判定是否藉由將其他群組中之係數歸零而得到成本節約。在一些實施例中,可依掃描順序執行程序400,雖然可依另一順序處理程序400。
在操作406中,以倒數第二個群組作為當前群組開始,編碼器判定當前群組是否具有一有效係數群組旗標=1。若並非如此,則該群組僅已含有0且編碼器跳至下一群組。若有效係數群組旗標=1,則編碼器計算一RD成本,且若當前群組中之所有係數為0,則會產生該成本。在操作408中,該編碼器評估新近計算之該RD成本是否優於(例如少於)該當前RD成本。若如此,則在操作410中,將當前群組中之所有係數歸零,且更新當前RD成本以反映該改變。在操作412中,編碼器評估是否關於L1 RDOQ進行操作,例如,該操作是否已到達恰在[0,0]群組之前的群組(如以上特殊案例所述,若編碼器及解碼器經組態以假定在彼群組中存在至少一個非0係數,則不將[0,0]群組歸零)。若存在待評估另外群組,則程序400在操作414處繼續,在操作 414處編碼器移動至下一群組(在一些實施例中使用掃描順序)。
現將通過一實例繪示RDOQ程序。亦將結合圖3、圖4及圖5再次參考以上所給出之實例。在L1 RDOQ之前,但在L0 RDOQ之後,圖3中展示最佳經量化變換域係數。圖4中展示相對應L0有效性映射,且圖5中展示L1有效性映射。
L1 RDOQ程序可產生(例如)圖10中所展示之一最佳L0有效性映射500,及圖11中所展示之相關聯或相對應L1有效性映射502。
應注意,在最後有效群組(即,[3,2]群組)中之有效係數旗標未改變的。然而,已將[3,0]群組、[0,3]群組及[1,3]群組全部歸零。因此,亦已將此三個群組之相對應有效係數群組旗標改變為0,如圖11所示。結果為編碼器將無需編碼此三個群組。在此等群組中所得到之較少係數歸零而導致之失真比不上減少經編碼位元之數量之成本節約,如藉由RDOQ評估所判定。
在一可能實施例中,RDOQ程序可經延伸以判定當前TU之最佳係數群組大小。在本實施例中,程序400重複多個回合,其中各回合假定一不同係數群組大小且修改操作410使得實際上未將變換係數設定為0。本質上地,在各回合中,此經修改之RDOQ程序計算一特定係數群組大小之RD成本。在完成所有回合之後,RDOQ選擇產生最小RD成本之係數群組大小且最終根據需要將任何變換係數設定為0。編碼器將最佳係數群組大小編碼至位元串流中使得 其可藉由解碼器獲得及使用。
被測試之係數群組大小可基於變換單元大小。例如,一32×32變換單元可測試群組大小8×8、4×4及2×2。待測試之群組可為可選擇的,且編碼器可指示(例如,在序列標頭中)將針對每一變換單元大小測試何種群組大小。例如,假設編碼器及解碼器已同意針對16×16 TU,經修改RDOQ將測試兩個不同係數群組大小:2×2及4×4,各自地由1及0表示。若經修改RDOQ判定2×2係最佳的,則編碼器在有效係數群組旗標之前將一值格1編碼至位元串流中。解碼器在有效係數群組旗標之前解碼此值格且知曉當前TU之係數群組大小係2×2。
在另一實施例中,RDOQ程序利用多層級掃描:依逐群組方式執行L1/L0 RDOQ,後續接著判定最後位置。特定言之,針對一16×16 TU、4×4係數群組及遍及4×4群組之一多層級掃描之一實例性RDOQ程序如下:
步驟1:設定nCG=15(從最後係數群組開始)。
步驟2:依循由多層級掃描所指定之群組內之掃描順序對群組位置nCG處之係數群組中之各係數進行L0 RDOQ。
步驟3:若在步驟2後之所得係數群組具有非0係數,則nCG大於0,且右方相鄰者或下方相鄰者將其之有效係數群組旗標設定為0,對係數群組執行L1 RDOQ:1)計算將當前係數群組之L1旗標設定為0之RD成本;2)若該成本小於自步驟2所得之RD成本,則將該係數群組中之所有係數設定為0,且將當前群組之有效係數群組旗標設定為0。
步驟4:使nGG遞减1。
步驟5:重複步驟1至步驟4直至nGG等於0。
步驟6:判定最小化RD成本之最後位置。
圖17以流程圖之形式繪示本實例,展示運用一多層級掃描順序RDOQ編碼一多層級有效性映射之實例性程序450。程序450包含基於含有最後有效係數之群組來設定係數群組nGG之數量之一第一操作452。在操作454中,對在當前係數群組內之係數執行一L0 RDOQ程序;即,使用位元率失真最佳化以判定當前群組中之各係數之最佳化係數值。在操作456中,若存在非0係數,則程序450跳過操作464以依掃描順序移動至下一係數群組且循環回至操作454以對該下一係數群組執行L0 RDOQ。注意,若下方相鄰及右方鄰群組之有效係數旗標均為非0,則程序450亦跳過操作464。
在操作456中,若在當前群組中存在非0係數,則程序450移動至操作458,在操作458中關於當前群組而執行L1 RDOQ。即,若將L1旗標(有效係數群組旗標)設定為0,則計算RD成本,藉此在解碼器處產生所有0係數。若位元率節約相對於失真導致一較低RD成本(如操作460所評估),則在操作462中,使係數歸零且將有效係數群組旗標設定為0。
實例性語法
以下提供用於實施多層級有效性映射之一實例性語法。本實例性語法僅係一可能實施方案。
有效係數群組旗標可表示且定義為:significant_coeffgroup_flag[xCG][yCG]
此旗標對於當前16×16或32×32區塊內之係數群組位置(xCG,yCG),將位置(xCG,yCG)處之相對應係數群組是否具有非0係數規定如下:若significant_coeffgroup_flag[xCG][yCG]等於0,則將位置(xCG,yCG)處之係數群組中之非0係數之數量設定為等於0;否則(significant_coeffgroup_flag[xCG][yCG]等於1),則除以下所定義之特殊案例外,位置(xCG,yCG)處之係數群組中之非0係數之數量為非0。
特定定義為如下:
1.推斷依掃描順序在第一係數群組位置(0,0)處之significant_coeffgroup_flag[0][0]等於1。
2.若significant_coeffgroup_flag[xCG][yCG+1]=1且significant_coeffgroup_flag[xCG+1][yCG]=1,則推斷依掃描順序在係數群組位置(xCG,yCG)處之significant_coeffgroup_flag[xCG][yCG]等於1。
當significant_coeffgroup_flag[xCG][yCG]不存在時,將其推斷為等於0。
在一些實施例中,該significant_coeffgroup_flag[xCG][yCG]不適用於4×4及8×8區塊。
以下偽碼闡釋用於重新建構經量化變換域係數(殘餘資料)之解碼程序內之多層級有效性映射之一實例性實施方 案。
應注意,偽碼之第一部分包含解碼最後有效係數位置。若變換單元係16×16或更大(如若(log2TrafoSize>3)所指示),則接著判定係數群組之數量,及各係數群組中之係數之數量。第二if-else陳述式反映含有最後有效係數之係數群組內之有效係數旗標之解碼。
主if-else陳述式內之第二for-loop反映依群組掃描順序之逐群組處理。在該迴圈之第一部分,在一if-else陳述式中 處理兩個特殊案例:若係數群組係左上方群組(即,nGG=0),或若位於當前群組之右方之群組及下方之群組具有均為非0之有效係數群組旗標,則有效係數群組旗標設定為1。若不應用此兩個案例(「else」子句),則自位元串流解碼有效係數群組旗標(significant_coeffgroup_flag[xCG][yCG])。
在if-else陳述式之後,另一if-else陳述式規定:若有效係數群組旗標係非0,則依掃描順序自位元串流解碼該群組之有效係數旗標。自位元串流解碼該群組中之除最後(左上方)有效係數旗標外的所有有效係數旗標。解碼器接著評估該群組之經解碼有效係數旗標之任一者是否為非0。若為非0。則解碼器解碼該群組之最後(左上方)有效係數旗標,且否則,由於已知其不能為0而將其設定為1。
「else」陳述式接著應用至有效係數群組旗標為0之情況。在該情況中,將該群組之所有有效係數旗標設定為0。
前述偽碼展示結合圖16之上述實例性方法700之一實例性實施方案。(若存在)在本實施例中交錯有效係數群組旗標及其相對應有效係數旗標。圖16中之實例性方法700及實例性偽碼之間之一差別為實例性方法700在操作720中處理左上方群組之特殊案例,然而該偽碼藉由將該群組之有效係數群組旗標設定為非0而在操作708內處理該特殊案例且因此在操作714中自位元串流解碼該群組之有效係數旗標。
在另一實施例中,可固定係數群組大小。在以下偽碼中設定使用固定4×4係數群組之實例性語法:
在另一實施例中,在位元串流內可不交錯有效係數群組旗標與有效係數旗標。即,在位元串流中編碼有效係數群組旗標且在該位元串流中有效係數旗標依掃描順序逐群組地緊接在有效係數群組旗標後。在以下偽碼中設定對應於一非交錯實施例之實例性語法:
現參考圖12,其展示一編碼器900之一實例性實施例之一簡化方塊圖。編碼器900包含一處理器902、記憶體904及一編碼應用程式906。編碼應用程式906可包含儲存於記 憶體904中且含有用於組態處理器902以執行諸如本文所述之此等之操作之指令之一電腦程式或應用程式。例如,編碼應用程式906可根據本文所描述之多層級有效性映射處理編碼且輸出經編碼之位元串流。應瞭解,編碼應用程式906可儲存於一電腦可讀取媒體(諸如,一光碟、快閃記憶體裝置、隨機存取記憶體、硬碟機等等)中。
現參考圖13,其展示一解碼器1000之一實例性實施例之一簡化方塊圖。解碼器1000包含一處理器1002、一記憶體1004及一解碼應用程式1006。解碼應用程式1006可包含儲存於記憶體1004中且含有用於組態處理器1002以執行諸如本文中所述中操作之指令之一電腦程式或應用程式。如本文所述,解碼應用程式1006可包含經組態以基於多層級有效性映射重新建構殘餘資料之一熵解碼器。應瞭解,解碼應用程式1006可儲存於一電腦可讀取媒體上,諸如一光碟、快閃記憶體裝置、隨機存取記憶體、硬碟機等等。
應明白,根據本發明之解碼器及/或編碼器可在若干計算裝置(包含(但不限於)伺服器、經適當程式化通用電腦、音訊/視訊編碼及播放裝置、電視機上盒、廣播電視設備及行動裝置)中實施。可憑藉含有用於組態一處理器以實施本文所述之功能之指令之軟體而實施解碼器或編碼器。該等軟體指令可儲存在任何適合非暫時電腦可讀取記憶體上,包含CD、RAM、ROM、快閃記憶體等等。
應瞭解,可使用標準電腦程式設計技術及語言來達成本文中所描述之編碼器及模組、常式、程序、執行緒或實施 用於組態該編碼器之所描述之方法/程序之其他軟體組件。本發明不限於特定處理器、電腦語言、電腦程式設計慣例、資料結構、其他此等實施方案細節。熟習技術者將意識到所描述之程序可實施為儲存於揮發性或非揮發性記憶體中之電腦可執行碼之一部分,一應用特定積體晶片(ASIC)之一部分等等。
可作出所描述之實施例之某些調適及修改。因此,上述實施例被認為係說明性的且非限制性的。
10‧‧‧編碼器
12‧‧‧視訊源
14‧‧‧位元串流
16‧‧‧視訊圖框
20‧‧‧編碼模式選擇器
21‧‧‧空間預測器
22‧‧‧變換處理器
24‧‧‧量化器
26‧‧‧熵編碼器
28‧‧‧解量化器
30‧‧‧逆變換處理器
32‧‧‧解區塊處理器
34‧‧‧圖框儲存器
36‧‧‧運動預測器
50‧‧‧解碼器
52‧‧‧熵解碼器
54‧‧‧解量化器
56‧‧‧逆變換處理器
57‧‧‧空間補償器
58‧‧‧圖框暫存器
60‧‧‧解區塊處理器
62‧‧‧運動補償器
102‧‧‧有效性映射
104‧‧‧L1較高層級有效性映射
112‧‧‧元件符號
100‧‧‧16×16變換單元
500‧‧‧最佳化L0有效性映射
502‧‧‧相對應L1有效性映射
600‧‧‧實例性16×16變換單元
610‧‧‧元件符號/有效係數旗標
612‧‧‧元件符號/有效係數旗標
614‧‧‧元件符號/有效係數旗標
900‧‧‧編碼器
902‧‧‧處理器
904‧‧‧記憶體
906‧‧‧編碼應用程式
1000‧‧‧解碼器
1002‧‧‧處理器
1004‧‧‧記憶體
1006‧‧‧解碼應用程式
圖1以一方塊圖之形式展示用於編碼視訊之一編碼器;圖2以一方塊圖之形式展示用於解碼視訊之一解碼器;圖3展示含有經量化變換域係數之一實例性變換單元;圖4展示含有圖3之變換單元之有效係數旗標之一實例性有效性映射;圖5展示含有圖4之有效性映射之有效係數群組旗標之一實例性L1有效性映射;圖6以一流程圖之形式展示編碼有效係數旗標之一實例性方法;圖7以一流程圖之形式展示用於自經編碼資料重新建構一有效性映射之一實例性方法;圖8以一流程圖之形式展示用於解碼及重新建構有效係數群組旗標之實例性程序;圖9以一流程圖之形式展示用於多層級有效性映射編碼之一實例性位元率失真最佳化量化程序; 圖10展示在L1 RDOQ之應用之後之圖4之實例性L0有效性映射;圖11展示在L1 RDOQ之後之對應於圖10之L0有效性映射之L1有效性映射;圖12展示一編碼器之一實例性實施例之一簡化方塊圖;圖13展示一解碼器之一實例性實施例之一簡化方塊圖;圖14展示具有4×4係數群組及一正向對角線掃描順序之一16×16變換單元;圖15展示具有4×4係數群組及一基於群組多層級正向對角線掃描順序之一16×16變換單元;圖16以一流程圖之形式展示用於解碼一有效性映射之一實例性方法;圖17以一流程圖之形式展示用於用多層級掃描順序RDOQ編碼一多層級有效性映射之一實例性程序。

Claims (16)

  1. 一種自經編碼資料之一位元串流重新建構一變換單元之有效係數旗標之方法,該位元串流包含經編碼有效係數群組旗標,其中各有效係數群組對應於一各自群組之有效係數旗標,該方法包括:對於該等各自群組之有效係數旗標之各者,依一群組掃描順序,重新建構彼群組之相對應有效係數群組旗標,及藉由下列方式重新建構該等有效係數旗標若該相對應有效係數群組旗標係非0,則在該群組內依一掃描順序自該位元串流解碼該等有效係數旗標,及若該相對應有效係數群組旗標係0,則將該等有效係數旗標設定為0。
  2. 如請求項1之方法,其中該群組掃描順序係一規定順序,將依該規定順序重新建構各自群組之有效係數旗標。
  3. 如請求項2之方法,其中僅在依該群組掃描順序重新建構比該等各自群組之一下一者更早之所有群組之所有有效係數旗標之後才重新建構該等各自群組之該下一者之該等有效係數旗標。
  4. 如請求項2或請求項3之方法,其中用於該等各自群組之重新建構之該規定順序係一對角線順序。
  5. 如請求項1至3中任一項之方法,其中該掃描順序係一規 定順序,將依該規定順序重新建構該等群組之各者中之該等有效係數旗標。
  6. 如請求項5之方法,其中該等群組之各者中之有效係數旗標之該規定順序係一對角線順序。
  7. 如請求項1至3中任一項之方法,其中重新建構該等有效係數旗標包含:自該位元串流之該經編碼資料解碼至少一些該等有效係數群組旗標。
  8. 如請求項1至3中任一項之方法,其中該等各自群組之有效係數旗標排除含有一最後有效係數之一群組且排除含有位置[0,0]之一群組。
  9. 如請求項1至3中任一項之方法,其進一步包括將含有一最後有效係數之該有效係數旗標之一群組之一有效係數群組旗標設定為1。
  10. 如請求項1至3中任一項之方法,其進一步包括將含有在位置[0,0]之一係數之該有效係數旗標之一群組之一有效係數群組旗標設定為1。
  11. 如請求項1至3中任一項之方法,其中該等群組係連續正方形區塊。
  12. 如請求項1至3中任一項之方法,其中各群組係一非正方性矩形塊。
  13. 如請求項1至3中任一項之方法,其中重新建構該等有效係數群組旗標之一者包含判定基於針對兩個相鄰群組所重新建構之該等有效係數群組旗標判定該有效係數群組旗標之一內容脈絡,且其中該兩個相鄰群組包含一右方 群組及一下方群組,且其中若該兩個相鄰群組之該等有效係數旗標均為0,則該內容脈絡為0,且其中否則該內容脈絡為1。
  14. 一種用於解碼經編碼資料之一位元串流以重新建構一變換單元之有效係數旗標之解碼器,該解碼器包括:一處理器;一記憶體;及一解碼應用程式,其儲存於該記憶體中且含有用於組態該處理器以執行如請求項1至13中任一項之方法之指令。
  15. 一種非暫時處理器可讀取媒體,其儲存當執行時組態一或多個處理器以執行如請求項1至13中任一項之方法之處理器可執行指令。
  16. 一種用於編碼一變換單元之有效係數旗標之方法,該方法包括:依一群組掃描順序針對每一各自群組之有效係數旗標,編碼彼群組之相對應有效係數群組旗標,除非應用一特殊案例,且其中將該有效係數群組設定為0以指示彼相對應群組不含有非0有效係數旗標,及若該相對應有效係數群組旗標係非0,則在該群組內以一掃描順序編碼該群組之有效係數旗標。
TW101143140A 2011-11-19 2012-11-19 多層級有效性映射掃描方法及其解碼器 TWI483618B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161561872P 2011-11-19 2011-11-19
US13/446,186 US9743098B2 (en) 2011-11-19 2012-04-13 Multi-level significance map scanning

Publications (2)

Publication Number Publication Date
TW201334550A true TW201334550A (zh) 2013-08-16
TWI483618B TWI483618B (zh) 2015-05-01

Family

ID=46245802

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101143140A TWI483618B (zh) 2011-11-19 2012-11-19 多層級有效性映射掃描方法及其解碼器

Country Status (11)

Country Link
US (3) US9743098B2 (zh)
EP (1) EP2595380B1 (zh)
JP (2) JP5542188B2 (zh)
KR (1) KR101538832B1 (zh)
CN (1) CN103124349B (zh)
AU (1) AU2012245178B2 (zh)
BR (1) BR102012029413B1 (zh)
CA (1) CA2773990C (zh)
HK (1) HK1179451A1 (zh)
SG (1) SG190516A1 (zh)
TW (1) TWI483618B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964849B2 (en) * 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
EP3139609B1 (en) * 2012-01-03 2021-01-06 HFI Innovation Inc. Method and apparatus for block-based significance map and significance group flag context selection
US9253481B2 (en) * 2012-01-13 2016-02-02 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
AU2012200319B2 (en) * 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
US9106918B2 (en) 2012-01-20 2015-08-11 Sony Corporation Coefficient coding harmonization in HEVC
US9350998B2 (en) 2012-06-29 2016-05-24 Qualcomm Incorporated Coding of significance flags
US9386306B2 (en) 2012-08-15 2016-07-05 Qualcomm Incorporated Enhancement layer scan order derivation for scalable video coding
CN104604225B (zh) 2012-09-10 2018-01-26 太阳专利托管公司 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置
US9538175B2 (en) 2012-09-26 2017-01-03 Qualcomm Incorporated Context derivation for context-adaptive, multi-level significance coding
KR101502144B1 (ko) * 2013-08-22 2015-03-12 주식회사 에스원 계수 정보를 변환하는 방법 및 장치
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
KR102218196B1 (ko) * 2013-10-28 2021-02-23 삼성전자주식회사 인코더, 이의 동작 방법과, 상기 인코더를 포함하는 장치들
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
JP6476900B2 (ja) * 2015-01-21 2019-03-06 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US11233998B2 (en) * 2015-05-29 2022-01-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
CN115499663A (zh) * 2015-06-08 2022-12-20 上海天荷电子信息有限公司 单编码模式参考不同程度重构像素的图像压缩方法和装置
US10631013B2 (en) 2015-06-11 2020-04-21 Lg Electronics Inc. Method for re-positioning significant coefficient in image encoding/decoding process and device therefor
KR102644185B1 (ko) * 2015-09-30 2024-03-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
EP3264763A1 (en) * 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
CN117412043A (zh) * 2016-07-13 2024-01-16 韩国电子通信研究院 图像编码/解码方法和装置
MX2019012294A (es) 2017-04-13 2020-01-27 Lg Electronics Inc Metodo de codificacion/decodificacion de imagenes y dispositivo para el mismo.
US10523968B2 (en) 2017-09-18 2019-12-31 Google Llc Coding of last significant coefficient flags
CN110650343B (zh) * 2018-06-27 2024-06-07 中兴通讯股份有限公司 图像的编码、解码方法及装置、电子设备及***
AU2018233042B2 (en) 2018-09-21 2024-06-13 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
AU2019201649A1 (en) 2019-03-11 2020-10-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
CN114979641A (zh) * 2021-02-21 2022-08-30 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备
CN115623218A (zh) * 2021-07-13 2023-01-17 财团法人工业技术研究院 特征数据编码方法、编码器、特征数据解码方法及解码器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190840B2 (en) * 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100667808B1 (ko) * 2005-08-20 2007-01-11 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US20070071331A1 (en) 2005-09-24 2007-03-29 Xiteng Liu Image compression by economical quaternary reaching method
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
KR101356733B1 (ko) 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
EP2154894A1 (en) 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
TWI482499B (zh) * 2008-10-03 2015-04-21 Ind Tech Res Inst 影像訊號處理裝置和方法
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
US8942282B2 (en) * 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
LT3435674T (lt) 2010-04-13 2023-09-25 Ge Video Compression, Llc Reikšmingumo schemų ir transformacijos koeficientų blokų kodavimas
CN103119849B (zh) * 2010-04-13 2017-06-16 弗劳恩霍夫应用研究促进协会 概率区间分割编码器和译码器
US9154801B2 (en) * 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles

Also Published As

Publication number Publication date
CA2773990C (en) 2015-06-30
AU2012245178B2 (en) 2013-11-28
US10116950B2 (en) 2018-10-30
US20130128985A1 (en) 2013-05-23
EP2595380A1 (en) 2013-05-22
CN103124349B (zh) 2016-09-14
SG190516A1 (en) 2013-06-28
JP5542188B2 (ja) 2014-07-09
BR102012029413A2 (pt) 2016-02-16
US20180007376A1 (en) 2018-01-04
KR20130056183A (ko) 2013-05-29
EP2595380B1 (en) 2015-10-21
TWI483618B (zh) 2015-05-01
JP2014195269A (ja) 2014-10-09
KR101538832B1 (ko) 2015-07-22
US9743098B2 (en) 2017-08-22
BR102012029413A8 (pt) 2021-08-24
JP2013110740A (ja) 2013-06-06
AU2012245178A1 (en) 2013-06-06
CA2773990A1 (en) 2013-05-19
CN103124349A (zh) 2013-05-29
BR102012029413B1 (pt) 2022-02-15
US10681362B2 (en) 2020-06-09
HK1179451A1 (zh) 2013-09-27
JP5925830B2 (ja) 2016-05-25
US20190052890A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
TWI483618B (zh) 多層級有效性映射掃描方法及其解碼器
US10911758B2 (en) Multi-level significance maps for encoding and decoding
TWI524780B (zh) 在變換單元內之多符號位元隱藏
TWI510031B (zh) 用於編碼及解碼之多層級有效性映射
TWI533705B (zh) 用於內容脈絡集選擇之方法及裝置
CA2800119C (en) Methods and systems for pipelining within binary arithmetic coding and decoding