TWI662830B - 資料編碼與解碼 - Google Patents

資料編碼與解碼 Download PDF

Info

Publication number
TWI662830B
TWI662830B TW103140816A TW103140816A TWI662830B TW I662830 B TWI662830 B TW I662830B TW 103140816 A TW103140816 A TW 103140816A TW 103140816 A TW103140816 A TW 103140816A TW I662830 B TWI662830 B TW I662830B
Authority
TW
Taiwan
Prior art keywords
data
value
length
encoded
preamble
Prior art date
Application number
TW103140816A
Other languages
English (en)
Other versions
TW201540049A (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 TW201540049A publication Critical patent/TW201540049A/zh
Application granted granted Critical
Publication of TWI662830B publication Critical patent/TWI662830B/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/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一種資料編碼方法,包含將資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。

Description

資料編碼與解碼
此揭示發明相關於資料編碼及解碼。
本文提供的「先前技術」描述通常用於呈現本揭示發明的背景。描述於此先前技術部分之本發明人的作品以及可能在申請時不另外具有先前技術資格之本描述的樣態既不明確地也不暗示性地承認為核駁本揭示發明的先前技術。
有包含將視訊資料轉變為頻域表示、量化頻域係數、然後將某種形式的熵編碼施加至經量化係數上的數種視訊資料壓縮及解壓縮系統。
在本文中,能將熵視為代表資料符號或一系列符號的資訊內容。熵編碼的目的係(理想上)使用代表一系列資料符號的資訊內容所需之最小數量的經編碼資料位元以無損方法編碼該系列資料符號。實際上,熵編碼係用於編碼經量化係數,使得經編碼資料小於(依據其位元數)原始經量化係數的資料尺寸。更有效率的熵編碼處理對相同的輸入 資料尺寸提供更小的輸出資料尺寸。
用於熵編碼視訊資料的一技術係所謂的CABAC(內容適應性二進位算術編碼)技術。
此揭示發明提供一種資料解碼設備,其包含:解碼器,組態成將輸入經編碼資料值解碼為具有位元深度的經解碼資料值,該輸入經編碼資料值被編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
將其他個別樣態及特性界定在隨附的申請專利範圍中。
待理解上述通用描述及以下詳細描述二者係範例,而不係本揭示發明的限制。
10、130‧‧‧輸入音訊/視訊訊號
20‧‧‧視訊資料壓縮設備
30‧‧‧發送路由
40、70、110、160‧‧‧解壓縮設備
50、170‧‧‧輸出音訊/視訊訊號
60、140、190‧‧‧壓縮設備
100、210‧‧‧經壓縮音訊/視訊訊號
120‧‧‧顯示器
150‧‧‧儲存裝置
180‧‧‧影像拍攝裝置
200‧‧‧麥克風
220‧‧‧示意階段
300‧‧‧輸入視訊訊號
310、450‧‧‧加法器
320‧‧‧影像預測器
330‧‧‧殘影訊號
340‧‧‧變換單元
345‧‧‧控制器
350‧‧‧量化器
360‧‧‧掃描單元
370‧‧‧熵編碼器(EE)
380‧‧‧經壓縮輸出視訊訊號
390‧‧‧返回路徑
400‧‧‧反掃描單元
410‧‧‧熵解碼器
420‧‧‧互補反量化器
430‧‧‧反變換單元
440‧‧‧經壓縮-經解壓縮殘影訊號
460‧‧‧重構輸出影像
470‧‧‧經接收壓縮視訊訊號
480‧‧‧輸出經解壓縮視訊訊號
500‧‧‧多工器
510‧‧‧模式訊號
520‧‧‧內模式選擇器
530‧‧‧影像內預測器
540‧‧‧動作補償(MC)預測器
550‧‧‧動作估算器
560‧‧‧濾波器單元
570‧‧‧影像儲存器
580‧‧‧內插濾波器
600‧‧‧乘法器
610‧‧‧除法器
700‧‧‧最大譯碼單元(LCU)
710、720、730‧‧‧譯碼單元
800‧‧‧部分編碼影像
810‧‧‧區塊
820‧‧‧陰影區域
830‧‧‧預測單元
840‧‧‧左上位置
900‧‧‧二進位轉換器
910、930、940‧‧‧切換器
920‧‧‧略過譯碼器
950‧‧‧內容模型化器
960‧‧‧譯碼引擎
當相關於該等隨附圖式考慮時,本揭示發明的更完整理解及其之許多伴隨優點將隨著藉由參考實施例的以下詳細描述而變得更佳地瞭解而更輕易地得到,其中: 圖1概要地描繪使用視訊資料壓縮及解壓縮的音訊/視訊(A/V)資料發送及接收系統;圖2概要地描繪使用視訊資料解壓縮的視訊顯示系統;圖3概要地描繪使用視訊資料壓縮及解壓縮的音訊/視訊儲存系統;圖4概要地描繪使用視訊資料壓縮的視訊攝影機;圖5提供視訊資料壓縮及解壓縮設備的示意概圖;圖6概要地描繪預測影像的產生;圖7概要地描繪最大譯碼單元(LCU);圖8概要地描繪一組四個譯碼單元(CU);圖9及10概要地描繪次分割為較小譯碼單元之圖8的譯碼單元;圖11概要地描繪預測單元(PU)的陣列;圖12概要地描繪變換單元(TU)的陣列;圖13概要地描繪部分編碼影像;圖14概要地描繪一組可能預測方向;圖15概要地描繪一組預測模式;圖16概要地描繪之字形掃描;圖17概要地描繪CABAC熵編碼器;圖18係概要地描繪譯碼技術的流程圖;圖19係描繪譯碼技術的示意流程圖;圖20係描繪譯碼技術的示意流程圖;且圖21係描繪譯碼技術的示意流程圖。
現在參考該等圖式,提供圖1-4以提供待結合實施例於下文描述之使用壓縮及/或解壓縮設備的設備或系統的概要繪圖。
所有待於下文描述之資料壓縮及/或解壓縮設備可用硬體、用在通用資料處理設備,諸如,通用電腦,上運行的軟體實作為可程式化硬體,諸如,特定應用積體電路(ASIC)或場效可程式閘陣列(FPGA)或彼等的組合。在實施例係藉由軟體及/或韌體實作的情形中,將理解將此種軟體及/或韌體,及藉由其儲存或另外提供此種軟體及/或韌體的非暫時機器可讀資料儲存媒體視為實施例。
圖1概要地描繪使用視訊資料壓縮及解壓縮的音訊/視訊資料發送及接收系統。
將輸入音訊/視訊訊號10供應至針對沿著發送路由30,諸如,纜線、光纖、或無線鏈路等,的發送至少壓縮音訊/視訊訊號10之視訊成分的視訊資料壓縮設備20。該壓縮訊號係由解壓縮設備40處理以提供輸出音訊/視訊訊號50。對於傳回路徑,壓縮設備60針對沿著發送路由30至解壓縮設備70的發送壓縮音訊/視訊訊號。
壓縮設備20及解壓縮設備70因此能形成發送鏈路的一節點。解壓縮設備40及壓縮設備60能形成該發送鏈路的另一節點。當然,在發送鏈路係單向的情形中,僅有該等節點的一者會需要壓縮設備且另一節點僅會需要解壓縮 設備。
圖2概要地描繪使用視訊資料解壓縮的視訊顯示系統。特別係經壓縮音訊/視訊訊號100係由解壓縮設備110處理以提供能顯示在顯示器120上的經解壓縮訊號。解壓縮設備110能實作為顯示器120的積集部分,例如,設置在與顯示裝置相同的外殼內。或者,解壓縮設備110可設置為(例如)所謂的機上盒(STB),須注意辭句「機上」並未暗示該盒必需相關於顯示器120位在任何特定定向或位置上;僅係使用在本技術中指示可作為周邊裝置連接至顯示器之裝置的術語。
圖3概要地描繪使用視訊資料壓縮及解壓縮的音訊/視訊儲存系統。將輸入音訊/視訊訊號130供應至針對藉由儲存裝置150,諸如,磁碟裝置、光碟裝置、磁帶裝置、固態儲存裝置,諸如,半導體記憶體,或其他儲存裝置,的儲存產生經壓縮訊號的壓縮設備140。對於重播,從該儲存裝置150讀取經壓縮資料並傳至用於解壓縮的解壓縮設備160,以提供輸出音訊/視訊訊號170。
將理解將該經壓縮或經編碼訊號,及儲存該訊號的儲存媒體或資料載體視為實施例。
圖4概要地描繪使用視訊資料壓縮的視訊攝影機。在圖4中,影像拍攝裝置180,諸如,電荷耦合裝置(CCD)影像感測器及關聯控制及讀出電子,產生傳至壓縮設備190的視訊訊號。麥克風(或複數個麥克風)200產生待傳至壓縮設備190的音訊訊號。壓縮設備190產生待儲存及 /或發送(通常顯示為示意階段220)的經壓縮音訊/視訊訊號210。
待於下文描述的技術主要相關於視訊資料壓縮。將理解用於音訊資料壓縮的許多既存技術可與將描述的視訊資料壓縮技術結合,以產生經壓縮音訊/視訊訊號。因此,將不獨立提供音訊資料壓縮的討論。也將理解與視訊資料關聯的資料率,特別係廣播品質視訊資料,通常遠遠高於與音訊資料關聯的資料率(無論經壓縮或未經壓縮的)。因此將理解未經壓縮音訊資料能伴隨經壓縮視訊資料以形成經壓縮音訊/視訊訊號。將更理解雖然本範例(顯示於圖1-4中)相關於音訊/視訊訊號,待於下文描述的技術能在簡單處理(亦即,壓縮、解壓縮、儲存、顯示、及/或發送)視訊資料的系統中發現用途。亦即,實施例能應用至視訊資料壓縮而完全不必具有任何關聯音訊資料處理。
圖5提供在控制器345的控制下操作之視訊資料壓縮及解壓縮設備的示意圖。
將輸入視訊訊號300的連續影像供應至加法器310並供應至影像預測器320。影像預測器320將於下文中參考圖6更詳細地描述。加法器310實施上實施減法(負加法)操作,其中其在「+」輸入上接收輸入視訊訊號300並在「-」輸入上接收影像預測器320的輸出,使得預測影像從輸入影像減去。結果係產生代表實際及投影影像之間的差之所謂的殘影訊號330。
殘影訊號為何產生的一原因如下。待描述的資料譯碼 技術,亦即,將施用至殘影訊號的技術意圖在有較少的「能量」在待編碼影像中時更有效率地工作。此處,術語「有效率地」係指產生小量的經編碼資料;針對特定影像品質等級,產生實際上儘可能少的資料係可取的(且被認為係「有效率的」)。所引用之殘影中的「能量」相關於包含在殘影中的資訊量。若預測影像與實際影像完全等同,該二者之間的差(亦即,殘影)會包含零資訊(零能量),且將非常易於編碼為小量的經編碼資料。通常若能使預測處理合理地良好運作,預期殘影資料將包含比輸入影像更少的資訊(更少能量),所以將更輕易地編碼為小量的經編碼資料。
將殘影資料330供應至產生該殘影資料之離散餘弦變換(DCT)表示的變換單元340。DCT技術自身已為人所熟知且將不在本文中詳細描述。然而有使用在將於下文更詳細地描述之本設備中的技術樣態,特別相關於將DCT操作應用至其之不同資料區塊的選擇。將參考圖7-12於下文討論。
須注意在部分實施例中,使用離散正弦變換(DST)取代DCT。在其他實施例中,可不使用變換。此能選擇性地完成,使得,例如,在「變換略過」命令或模式的控制下,實際略過變換階段。
將變換單元340的輸出,亦即,用於影像資料之各經變換區塊的變換係數組供應至量化器350。各種量化技術在視訊資料壓縮的領域中已為人所知,範圍從簡單地乘以 量化縮放因子至在量化參數的控制施用複雜查找表。一般目的係雙重的。首先,量化處理減少經變換資料的可能值數。其次,量化處理能增加經變換資料之值為零的可能性。彼等二者能使待於下文描述的熵編碼處理在產生小量經壓縮視訊資料上更有效率地運作。
資料掃描處理係藉由掃描單元360施用。掃描處理的目的係重排經量化變換資料,以將儘可能多的非零經量化變換係數收集在一起,且因此當然將儘可能多的零值係數收集在一起。此等特性能容許有效率地施用所謂的運行長度譯碼或相似技術。所以,掃描處理包含根據「掃描次序」從經量化變換資料選擇係數,並特別從對應於已經變換及量化之影像資料的區塊之係數的區塊選擇係數,使得(a)作為掃描的一部分,所有係數選擇一次,及(b)掃描意圖提供期望重排。用於選擇掃描次序的技術將於下文描述。能意圖提供有用結果的一範例掃描次序係所謂的之字形掃描次序。
然後將經掃描係數傳至熵編碼器(EE)370。再次,可使用各種種類的熵編碼。將於下文描述的二範例係所謂的CABAC(內容適應性二進位算術編碼)系統的變化及所謂的CAVLC(內容適應性可變長度編碼)系統的變化。概括地說,將CABAC視為提供更佳效率,且在部分研究中已顯示相較於CAVLC,針對可比較的影像品質,在經編碼輸出資料的量上提供10-20%的減少。然而,將CAVLC視為代表遠較CABAC為低的複雜度(依據其實作)。CABAC技 術將於下文參考圖17討論。
須注意將掃描處理及熵編碼處理顯示為分離處理,但事實上能組合或共同處理。亦即,資料至熵編碼器的讀入能以掃描次序發生。將對應考量應用至待於下文描述的個別反處理。
熵編碼器370的輸出連同額外資料(上文提及的及/或下文討論的),例如,界定預測器320產生預測影像之方式的資料,提供經壓縮輸出視訊訊號380。
然而,也提供返回路徑,因為預測器320自身的操作取決於經壓縮輸出資料的經解壓縮版本。
關於此特性的原因如下。在解壓縮處理中的適當階段(待於下文描述),產生殘餘資料的經解壓縮版本。此經解壓縮殘餘資料必需加至經預測影像,以產生輸出影像(因為原始殘餘資料係輸入影像及經預測影像之間的差)。為使此處理在壓縮側及解壓縮之間有可比性,由預測器320產生的經預測影像在壓縮處理期間及在解壓縮處理期間應相同。當然,在解壓縮時,設備沒有原始輸入影像,而僅有經解壓縮影像的存取能力。因此,在壓縮時,預測器320使其預測(至少,針對影像間編碼)基於經壓縮影像的經解壓縮版本。
將由熵編碼器370實行的熵編碼處理視為係「無損的」,亦即,能將其反轉以得出與最初供應至熵編碼器370之資料完全相同的資料。所以,返回路徑能實作在熵編碼階段之前。事實上,也將藉由掃描單元360實行的掃 描處理視為係無損的,但在本實施例中,返回路徑390係從量化器350的輸出至互補反量化器420的輸入。
概括地說,熵解碼器410、反掃描單元400、反量化器420、及反變換單元430提供熵編碼器370、掃描單元360、量化器350、及變換單元340的個別反函數。現在,討論將延續壓縮處理;解壓縮輸入經壓縮視訊訊號的處理將於下文分開討論。
在壓縮處理中,藉由返回路徑390將經掃描係數從量化器350傳至實行掃描單元360之反操作的反量化器420。反量化及反變換處理由單元420、430實行以產生經壓縮-經解壓縮殘影訊號440。
在加法器450將影像訊號440加至預測器320的輸出以產生重構輸出影像460。如將於下文描述的,此形成至影像預測器320的一輸入。
現在轉向施加至經接收壓縮視訊訊號470的處理,將訊號供應至熵解碼器410並在藉由加法器450加至影像預測器320的輸出之前,從該處供應至反掃描單元400、反量化器420、及反變換單元430的鏈路。簡單地說,加法器450的輸出460形成輸出經解壓縮視訊訊號480。實際上,其他濾波可在該訊號輸出之前施用。
雖然圖5已在編碼器的背景下描述,將理解返回解碼路徑(400、410、420、430、450、320,在控制器345之控制下的所有操作)形成解碼器的範例。上述及下文討論的操作提供相關於(如可應用於)編碼及解碼操作之方法步 驟的範例。
圖6概要地描繪預測影像的產生,且特別描繪影像預測器320的操作。
有二種基本預測模式:所謂的影像內預測及所謂的影像間或動作補償(MC)預測。
影像內預測使影像之區塊內容的預測基於來自相同影像內的資料。此對應於其他視訊壓縮技術中所謂的I-框編碼。對比於將全部影像內編碼的I-框編碼,在本實施例中,內-及間-編碼之間的選擇能在逐區塊的基礎上產生,雖然在其他實施例中,該選擇仍在逐影像的基礎上產生。
動作-補償預測使用動作資訊,其企圖在其他相鄰或鄰近影像中界定待編碼在目前影像中之影像細節的來源。因此,在理想範例中,能非常簡單地將預測影像中的影像資料的區塊內容編碼為指向在相鄰影像中的相同或略為不同位置之對應區塊的參考(動作向量)。
返回圖6,顯示二影像預測配置(對應於影像內及影像間預測),其結果係在模式訊號510的控制下藉由多工器500選擇,以提供用於供應至加法器310及450之經預測影像的區塊。選擇取決何選擇提供最低「能量」(如上文討論的,可將其視為係需要編碼的資訊內容)而產生,並將該選擇發訊至經編碼輸出資料串流內的編碼器。在此情況下,影像能量能藉由實行,例如,來自輸入影像之二經預測影像版本之區域的試減法、將差影像的各像素值平方、加總平方值、並識別二版本的何者將差影像相關於該 影像區域的較低均方值昇高而偵測。
內編碼系統中的實際預測係在接收為訊號460之一部分的影像區塊的基礎上產生,亦即,預測係基於經編碼-經解碼影像區塊,為使能在解壓縮設備產生完全相同的預測。然而,資料能藉由內模式選擇器520從輸入視訊訊號300導出,以控制影像內預測器530的操作。
對於影像間預測,動作補償(MC)預測器540使用動作資訊,諸如,藉由動作估算器550從輸入視訊訊號300導出的動作向量。藉由動作補償預測器540將該等動作向量施用至重構影像460的經處理版本,以產生影像間預測的區塊。
現在將描述施用至訊號460的處理。首先,該訊號藉由濾波器單元560濾波。此包含施用「解塊」濾波器以移除或至少意圖減少藉由變換單元340及後續操作實行之以區塊為基的處理的效果。又,使用藉由處理重構訊號460及輸入視訊訊號300導出的係數而施用適應迴路濾波器。適應迴路濾波器係一種濾波器,其使用已知技術將適應濾波器係數施加至待濾波資料。亦即,濾波器係數能取決於各種因子變化。將界定使用何濾波器係數的資料包括為經編碼輸出資料串流的一部分。
來自濾波器單元560的經濾波輸出事實上形成輸出視訊訊號480。其也在一或多個影像儲存器570中受緩衝;連續影像的儲存係動作補償預測處理的必要條件,且特別係動作向量之產生的必要條件。為節省儲存需求,影像儲 存器570中的經儲存影像可用壓縮形式保持,然後針對產生動作向量時的使用解壓縮。針對此特定目的,可使用任何已知壓縮/解壓縮系統。將經儲存影像傳至產生經儲存影像之更高解析度版本的內插濾波器580;在此範例中,產生中間樣本(次樣本),使得藉由內插濾波器580輸出之經內插影像的解析度為儲存在影像儲存器570中之影像的解析度的8倍(在各維度上)。將經內插影像作為輸入傳至動作估算器550並也傳至動作補償預測器540。
在實施例中,提供另一選擇性階段,其使用乘法器600將輸入視訊訊號的資料值乘以四的因子(事實上,僅將資料值左移二位元),並在設備的輸出使用除法器或右移位器610施用對應除法操作(右移二位元)。所以,左移及右移純粹針對設備的內部操作改變資料。此措施可在設備內提供更高計算精確度,如同將任何資料捨去誤差的效果降低。
現在將描述針對壓縮處理分割影像的方式。在基底層,將待壓縮影像視為樣本區塊的陣列。針對本討論的目的,考慮中的此種最大區塊係所謂的最大譯碼單元(LCU)700(圖7),其代表64×64個樣本的正方形陣列。此處,討論相關於亮度樣本。取決於色度模式,諸如,4:4:4、4:2:2、4:2:0、或4:4:4:4(GBR加鍵值),將有對應於亮度區塊之不同數量的對應色度樣本。
將描述三種基本區塊:譯碼單元、預測單元、及變換單元。概括地說,LCU的遞迴次分割容許輸入圖片待以區 塊尺寸及區塊譯碼參數(諸如,預測或殘餘譯碼模式)二者能根據待編碼影像的特定特徵設定的此種方式分割。
可將LCU次分割為所謂的譯碼單元(CU)。譯碼單元始終係正方形的並具有在8×8個樣本及全尺寸LCU 700之間的尺寸。能將譯碼單元配置成一種樹結構,使得第一次分割可如圖8所示的發生,指定32×32個樣本的譯碼單元710;然後後續次分割可在選擇性基礎上發生,以提供16×16個樣本的一些譯碼單元720(圖9)並潛在地提供8×8個樣本的一些譯碼單元730(圖10)。總之,此處理能提供CU區塊的內容適應性譯碼樹結構,彼等各者可大至LCU或小至8×8個樣本。輸出視訊資料的編碼在譯碼單元結構的基礎上發生。
圖11概要地描繪預測單元(PU)的陣列。預測單元係用於運載相關於影像預測處理之資訊的基本單元,或換言之,加至熵編碼殘影資料的額外資料,以從圖5的設備形成輸出視訊訊號。通常,預測單元在形狀上並未受限於正方形。只要譯碼單元大於最小(8×8)尺寸,彼等能採用其他形狀,特別係形成正方形譯碼單元的一半的矩形形狀。目標係容許相鄰預測單元的邊界相配於圖片中之實際物件的邊界(儘可能接近),使得能將不同預測參數施用至不同實際物件。各譯碼單元可包含一或多個預測單元。
圖12概要地描繪變換單元(TU)的陣列。變換單元係變換及量化處理的基本單元。變換單元始終係正方形的,並能採用從4×4至32×32個樣本的尺寸。各譯碼單元能包 含一或多個變換單元。圖12中的縮寫SDIP-P象徵所謂的短距內插分割。在此配置中,僅使用一維度變換,所以4×N個區塊以輸入資料係基於目前SDIP-P內的先前經解碼相鄰區塊及先前經解碼相鄰線受變換的方式通過N個變換。
現在將討論內預測處理。概括地說,內預測包含從相同影像中的先前經編碼及經解碼樣本產生樣本之目前區塊的預測(預測單元)。圖13概要地描繪部分編碼影像800。此處,影像係在LCU的基礎上從左上至右下編碼。將經由整體影像的管理而編碼至中途的範例LCU顯示為區塊810。在區塊810上方及左側的陰影區域820已經編碼。區塊810之內容的影像內預測能使用任何陰影區域820,但不能使用其下的非陰影區域。
區塊810代表LCU;如上文討論的,針對影像內預測處理的目的,此可次分割為一組較小預測單元。將預測單元830的範例顯示在LCU 810內。
影像內預測將目前LCU 810上方及/或左側的樣本列入考量。自其預測所需樣本的來源樣本可相關於LCU 810內的目前預測單元位於不同位置或方向。為決定何方向適用於目前預測單元,比較基於各候選方向的試預測結果,以看出何候選方向提供最接近輸入影像之對應區塊的成果。將提供最接近成果的候選方向選擇為該預測單元的預測方向。
圖片也可在「片」基礎上編碼。在一範例中,片係 LCU的水平相鄰群組。但更概括地說,整體殘影能形成片,或片能係單一LCU、或片能係一列LCU等。當將片編碼為獨立單元時,片能對錯誤提供一些彈性。編碼器及解碼器狀態在片邊界完全重設。例如,內插不跨越片邊界實行;針對此目的將片邊界處理為影像邊界。
圖14概要地描繪一組可能(候選)預測方向。完整的34個候選方向組可用於8×8、16×16、或32×32個樣本的預測單元。4×4及64×64個樣本的預測單元尺寸的特殊情形具有可用於彼等的經減少候選方向組(分別為17個候選方向及5個候選方向)。該等方向藉由相關於目前區塊位置,但被編碼為預測「模式」的水平及垂直移位決定,將其之一組顯示於圖15中。須注意所謂的DC模式代表圍繞上方及左手側樣本的簡單算術平均。
圖16概要地描繪之字形掃描,係可由掃描單元360施用的掃描型樣。在圖16中,顯示用於8×8變換係數之範例區塊的型樣,具有位於區塊之左上位置840的DC係數,且漸增的水平及垂直空間頻率係藉由以朝下及朝向左上位置840之右側的漸增距離的係數表示。
須注意在部分實施例中,係數可用反序掃描(使用圖16的有序符記,從右下至左上)。也應注意在部分實施例中,在實行殘餘係數的之字形掃描之前,掃描可從左至右通過一些(例如,在一及三之間)最上方水平列。
圖17概要地描繪CABAC熵編碼器的操作。
在此本質的內容適應性編碼中並根據實施例,一位元 資料可相關於或然性模型,或代表有多可能該資料位元將係一或零的預期或預測的內容編碼。為作到此,將輸入資料位元指定在碼值範圍的二(或更常係複數個)互補次範圍之經選擇一範圍內的碼值,該等次範圍的個別尺寸(在實施例中,次範圍相對於該組碼值的個別比率)係藉由該內容界定(其依次藉由與輸入值關聯或另外相關於輸入值的內容變數界定)。次一步驟係回應於該指定碼值及經選擇次範圍的目前尺寸,修改全體範圍,亦即,該組碼值(相關於次一輸入資料位元或值使用)。若經修改範圍小於代表預定最小尺寸的臨限(例如,原始範圍尺寸的一半),則增加其尺寸,例如,藉由加倍(左移)經修改範圍,該加倍處理能依需要連續實行(多於一次),直到該範圍具有至少該預定最小尺寸。此時,產生輸出經編碼資料位元以指示一(若多於一次,則各)加倍或尺寸增加操作發生。另一步驟係適用於或相關於次一輸入資料位元或值(或,在部分實施例中,相關於待編碼之資料位元或值的次一群組)修改內容(亦即,在實施例中,修改內容變數)。此可藉由將目前內容及目前「最可能符號」的識別(係一或零的任一者,藉由內容指示的任一者目前具有大於0.5的或然性)使用為新內容值之查找表的索引,或使用為新內容變數可自其導出之適當數學方程式的輸入而實行。在實施例中,內容變數的修改可增加該組碼值在針對目前資料值選擇之次範圍中的比率。
CABAC編碼器相關於二進位資料操作,亦即,僅藉 由二符號0及1表示的資料。編碼器使用在先前經編碼資料的基礎上針對後續資料選擇「內容」或或然性模型之所謂的內容模型化處理。內容的選擇係以確定性方式實行,使得在先前經解碼資料之基礎上的相同決定能在解碼器實施,而不需要將更多資料(指定內容)加至傳至解碼器的經編碼資料串流。
參考圖17,若待編碼的輸入資料尚未採用二進位形式,將其傳至二進位轉換器900;若資料已採用二進位形式,(藉由示意切換器910)略過轉換器900。在本實施例中,轉換為二進位形式實際上係藉由將經量化變換係數資料表示為將更於下文描述的一系列二進位「映射」而實行。
然後該二進位資料可由該處理路徑的一者管理,「正規」及「略過」路徑(彼等概要地顯示為分離路徑,但在下文討論的實施例中,彼等事實上能藉由相同處理階段實作,僅使用略為不同的參數)。略過路徑使用所謂的略過譯碼器920,其不必然以與正規路徑相同的形式使用內容模型化。在CABAC譯碼的部分範例中,若大量資料需要特別迅速的處理,能選擇此略過路徑,但在本實施例中,須注意所謂的「略過」資料的二特性:首先,略過資料係由CABAC編碼器(950、960)管理,僅使用代表50%之或然性的固定內容模型;且其次,略過資料相關於特定資料種類,一個特定範例係係數正負號資料。否則,藉由示意切換器930、940選擇正規路徑。此包含資料係由內容模 型化器950,然後由譯碼引擎960處理。
若資料區塊完全由零值資料形成,圖17所示的熵編碼器將該資料區塊(亦即,例如,對應於相關於殘影區塊之係數區塊的資料)編碼為單一值。為未落入此類別的各區塊,亦即,包含至係部分非零資料的區塊,準備「有效映射」。該有效映射針對待編碼之資料區塊中的各位置指示該區塊中的對應係數是否係非-零(所以係指示非零之最高有效資料部分相對於資料值陣列的位置之有效映射的範例)。該有效映射可包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
採用二進位形式的有效映射資料自身係CABAC編碼的。因為沒有資料需要對具有有效映射指示為零之幅度的係數編碼,有效映射的使用協助壓縮。又,有效映射能包括特殊碼以指示區塊中的最終非零係數,所以所有最終高頻/尾隨零係數能從編碼省略。在經編碼位元串流中,有效映射之後係界定藉由有效映射指定之非零係數的值的資料。
也準備更多級的映射資料,並以CABAC編碼。範例係將在有效映射已指示為「非零」之映射位置的係數資料是否實際具有「一」的值界定為二進位值(1=是,0=否)的映射。另一映射指定在有效映射已指示為「非零」之映射位置的係數資料是否實際具有「二」的值。另一映射針對有效映射已指示係數資料係「非零」的該等映射位置指示 該資料是否具有「大於二」的值。另一映射再度針對指示為「非零」的資料指示該資料值的正負號(使用預定二進位符號,諸如,1用於+,0用於-,或當然能倒過來)。
在實施例中,有效映射及其他映射係在受CABAC編碼之前,例如,藉由掃描單元360並受之字形掃描處理(或根據內預測模式從之字形、水平柵格、及垂直柵格掃描選擇的掃描處理)而從經量化變換係數產生。
在部分實施例中,HEVC CABAC熵譯碼器使用下列處理譯碼語法元素:譯碼TU中之最低有效係數的位置(依掃描次序)。
針對各4×4係數群組(群組以反掃描次序受處理),譯碼指示群組是否包含非零係數的有效係數群組旗標。此對包含最低有效係數的群組並非必要的且對左上群組假設為1(包含DC係數)。若該旗標係1,則在其之後立即將屬於該群組的後續語法元素譯碼:有效映射:針對群組中的各係數,譯碼指示該係數是否有效的旗標(具有非零值)。由最低有效位置指示的係數不需要旗標。
大於一映射:用於具有有效映射值1之多達八個的係數(從群組的結尾反向計數),此指示幅度是否大於1。
大於二旗標:用於具有大於一映射值1之多達一個的係數(最接近 群組之結尾的該一者),此指示幅度是否大於2。
正負號位元:用於所有非零係數,將正負號位元譯碼為等概率CABAC二進位,當使用正負號位元隱藏時,具有可能以推斷取代奇偶校驗的最後正負號位元(以反掃描次序)。
逸出碼:用於其幅度未完全藉由先前語法元素描述的任何係數,將殘餘部分譯碼為逸出碼。
概括地說,CABAC編碼包含基於其他先前經編碼資料,對待編碼的次一位元預測內容,或或然性模型。若次一位元與藉由或然性模型識別為「最可能」的位元相同,則「該次一位元與或然性模型一致」之資訊的編碼能用高效率編碼。編碼「該次一位元不與或然性模型一致」的效率較低,所以內容資料的推導對編碼器的良好操作係重要的。在試圖對(仍未譯碼的)次一資料提供良好匹配時,術語「適應性」意指內容或或然性模型在編碼期間係適應性或可變的。
使用簡單分析,在書寫英文中,字母「U」相對不常用。但在緊隨在字母「Q」之後的字母位置上,其確實非常常用。所以,或然性模型可將「U」的或然性設定為非常低的值,但若目前字母係「Q」,能將用於作為次一字母之「U」的或然性模型設定成非常高的或然性值。
在本配置中,將CABAC編碼用於至少該有效映射及指示非零值是否係一或二的映射,雖然不會對每一個係數 譯碼此等語法元素各者。略過處理-在此等實施例中,其等同於CABAC編碼,但針對或然性模型固定在相等的1及0或然性分佈(0.5:0.5)的事實,其用於至少該正負號資料及未藉由先前語法元素描述之係數幅度的部分。針對識別為具有部分的彼等係數幅度未受完全描述的該等資料位置,能使用分離之所謂的逸出資料編碼以編碼該資料的實際殘餘值,其中該實際幅度值係殘餘幅度值加從個別譯碼語法元素導出的偏移。此可包括哥倫布-萊斯(Golomb-Rice)編碼技術。
CABAC內容模型化及編碼處理在WD4中更詳細地描述:高效率視訊編碼工作草案第4版,JCTVC-F803_d5,Draft ISO/IEC 23008-HEVC;201x(E)2011-10-28。
相關於逸出位元編碼之實施例的其他技術或相關技術將參考圖18討論。
然而,首先將討論用於編碼逸出碼的技術。
在目前的HEVC標準中(在本申請案的優先權日期),逸出碼使用二機制譯碼:
1/具有2之最大前置長度的哥倫布-萊斯編碼。
2/若經譯碼值不能完全藉由哥倫布-萊斯編碼描述,使用指數-哥倫布-級數-k譯碼「逸出-逸出」碼。
所謂的哥倫布-萊斯譯碼將值v編碼為一元經編碼前置(其後為0之可變數量的1,或反之亦然),其後跟隨k(另外稱為rParam)位元的後置。
將譯碼空間分割為區間,彼等的尺寸由萊斯參數決定 為:區間尺寸=1<<rParam
正常而言,符號「<<n」象徵左移位等於值n的位元位置數。相似符號>>n象徵右移位n個位元位置。所以,例如,當rParam係0時,譯碼區間尺寸係1。當rParam係3時,區間尺寸係8,並依此類推。
rParam的值係藉由編碼器及解碼器分開維持,並在預定條件下修改。
前置使用一元譯碼譯碼以指示最終值落在何譯碼區間內。
例如,前置值=2、rParam=2、區間尺寸=4,且該值落在8-11(含)的範圍內。能將此視為該值的「粗糙」部分。
後置使用二進位譯碼譯碼(後置長度等於rParam)。後置值指示最終值在指定區間中的何處。
例如,前置值=2、rParam=2、後置值=3;此指示最終值位於區間8-11內。0的後置值會指示8的最終值;3的後置值(如本範例中)指示11的最終值。
因此能將後置視為該值的「精細」部分。
令prefix_length係一元經編碼前置中的1的總數。令K係最低有效rParam位元的值。
最終值=(prefix_length<<rParam)+K
如上文提及的,在目前的HEVC標準中(在本申請案的優先權日期),(2的)限制施加在用於哥倫布-萊斯譯碼的最大前置長度上(因此不多於3個區塊)。若傳送更長的 前置,從其值減去3(前置的值等於其長度),並取而代之地將前置處理為指數-哥倫布-級數-k前置(具有使用為k之值的rParam)。此指數-哥倫布-級數-k碼可視為係從正常逸出譯碼機制的逸出-「逸出-逸出」碼。
將理解具有2之最大長度,其後為指數-哥倫布-級數-k的哥倫布萊斯前置也等同於具有3之最大長度,其後為哥倫布-級數-k+1指數的哥倫布萊斯前置。
此外,最終值也藉由加(在解碼器中)或減(在編碼器中)不能使用哥倫布-萊斯譯碼譯碼的最小值而受修改,因為使用逸出-逸出譯碼,已知該最終值至少係那麼大的。
現在將討論指數哥倫布級數-k碼。在此種碼中,將待編碼的數分割為可變長度一元經編碼前置及可變長度後置。後置位元數=prefix_length+k。此處,prefix_length再次係一元碼中的1的數量。
如同在哥倫布-萊斯譯碼中,將譯碼空間分割為區間。然而,該等區間不係等尺寸的;取而代之地,彼等在尺寸上指數地增加,例如(區間0=0、區間1=1-2、區間2=3-6)並依此類推。
前置使用一元譯碼譯碼以指示最終值落在何譯碼區間內。
後置使用二進位譯碼譯碼,雖然此處後置長度等於前置長度。後置值指示最終值在指定區間中的何處。
使用二進位譯碼將等於k的額外位元數譯碼;此等位元使用為最終值的額外LSB。
該碼中的位元總數=prefix_length+1+prefix_length+k。
令K係最後k個位元的值。
當prefix_length係0時,v將等於K。
當prefix_length係1時,v將在(1<<k)+K及(3<<k)+K(不含)之間
當prefix_length係2時,v將在(3<<k)+K及(7<<k)+K(不含)之間
當prefix_length係3時,v將在(7<<k)+K及(15<<k)+K(不含)之間
因此v=((2^prefix_length)-1)<<k)+suffix
例如,最終二進位碼=110011。
在此範例中,rParam=1;前置長度=2(在第一個0之前有二個1)、譯碼區間=3-6;後置=0b01=1,k之前的值=4=0b100;額外位元=0b1=1、最終值=0b1001=9。(0b指示二進位表示法)。
在HEVC中,如上文提及的,使用哥倫布-萊斯及指數哥倫布編碼二者。若prefix_length少於三,將該碼解譯為哥倫布-萊斯編碼。然而,若prefix_length大於或等於3,將該碼解譯為級數k的指數哥倫布編碼,其中上文提及的rParam值作為值k使用。
(在任一系統中的)前置係一元碼的範例。後置係非一元碼的範例。二系統係二段式可變長度碼的範例。
在此情形中,將用於解碼指數哥倫布編碼的 prefix_length的值減少3,將從解碼操作產生的值增加(3<<k),因為此係不能使用哥倫布-萊斯編碼表示的最小值。
用於HEVC逸出及逸出-逸出碼的值「k」不同。針對16個係數的各群組,值k從0開始,且每當係數值的幅度大於3<<k時增加。回應於此情況,k增加至4之最大值。須注意該討論相關於係數幅度,而將代表係數之正負號的正負號位元分離地傳送。也可施加用於初始及調整k的其他設計。
圖18係描繪如上文討論之產生逸出碼之處理的示意流程圖。
該方法可相關於包含(例如)頻率變換影像係數之序列、或該序列的非零成分、或其中各資料值的幅度已減少1之該序列的非零成分(在此最後情形中,因為有效映射占有1之值,可最先產生有效映射,使得各係數在進一步處理之前減少1)之資料值的群組操作。
在步驟2000,將k之初值設定在各群組的開始。在正常的HEVC第1版系統中,最初將k設定為0,雖然可有用於HEVC標準之擴展的替代設計。在步驟2010,CABAC編碼器檢查目前群組是否係包含DC係數之等效係數的左上群組或該群組是否包含藉由先前處理標示為最低有效係數的係數。若為是,控制傳至步驟2030。若為否,在步驟2020,CABAC編碼器檢查目前群組是否包含非零係數。若為否,該處理在已將個別有效群組旗標譯碼 為0後結束。若為是,則在已將個別有效群組旗標譯碼為1後,將控制傳至步驟2030。在步驟2030,針對群組中的各係數產生有效映射(雖然針對包含最低有效係數的群組,當能推斷部分係數時,彼等並不需要有效映射項)。在步驟2040,對從群組的結尾反向計數,具有有效映射值1之多達8個的係數,產生指示幅度是否大於1的>1映射。在步驟2050,產生>2映射。用於具有1之>1映射值之多達1個的係數(最接近群組之結尾的該一者),此指示幅度是否大於2。在步驟2060,對所有有效係數產生正負號位元(雖然可使用稱為正負號位元隱藏的設計,以推斷已另外從群組中的經譯碼值之奇偶同位譯碼的最後正負號位元),且在步驟2070,針對其幅度未完全藉由先前語法元素描述的任何係數產生逸出碼(亦即,在步驟2030-2060的任一步驟中產生的資料)。須注意在圖18中,在HEVC的部分範例實作中,不係所有的映射均需要對各係數產生。例如,在(假設)16個係數的群組內,可有未針對其產生部分映射的一或多個係數。
此等映射係指示大於1之最高有效資料部相對於資料值陣列的位置之大於一映射的範例;且大於二映射指示大於2之最高有效資料部相對於資料值陣列的位置。
在步驟2070,若需要逸出碼,其使用方才描述的技術基於k之目前值產生。特別係,使用有效映射並選擇性地使用一或多個其他映射優先管理需要使用逸出碼的係數。須注意在需要逸出譯碼之係數的情形中,將任何有效 性,所使用>1及>2映射,標示為「1」。此係因為需要逸出譯碼的任何係數依據定義均大於能使用相關於該係數可用之任何映射編碼的值。
若目前資料值未受完全編碼,需要逸出碼。此處,術語「完全」編碼意指少於已編碼值(例如,藉由映射,或映射加固定位元)的資料值係零。換言之,若將此等成分列入考量,資料值的殘餘量係零,資料值藉由已產生的成分完全編碼。
所以,假設針對範例係數,有效映射及>1及>2映射係可用的,將彼等各者關於該係數標示為「有效」、「>1」、及「>2」。
此意謂著(在此範例中)係數必須至少為3。
因此,能在逸出譯碼之前從係數減去3的值而沒有資訊損失。該3的值(或更普遍地,指示藉由施用至係數之該等映射所界定的數值範圍的變數base_level)在解碼時恢復。
將十進位15的係數值(二進位1111)取為操作,有效映射係「1」、>1映射係「1」、且>2映射係「1」。值base_level係3。從係數值減去base_level,以提供針對逸出譯碼傳送之十進位12的值(二進位1100)。
值k(見上文)現在界定後置位元數。後置位元係在減去base_level之後,從係數值的最低有效位元取得。若(例如)k=2,則將殘餘值1100的二個最低有效位元處理為後置位元,亦即,此範例中的後置位元係00。將殘餘位 元(此範例中的11)操作編碼為前置。
因此總之,與逸出碼關聯的處理包含:產生界定係數之一或多個最低有效位元的一或多個映射,使得(若需要逸出碼)該係數必須具有至少base_level的值;從係數減去base_level;將係數之殘餘部分的最低有效k位元編碼為後置位元;且將係數之殘餘部分的殘餘最高有效位元編碼為前置。
本揭示發明的實施例關於可在譯碼用於係數的逸出碼時發生的最差情形碼長度的辨識。
當針對16-位元視訊使用擴展精確度處理時,熵譯碼器中的係數範圍maxTrDynamicRange係22-位元,因此當rParam係0且係數幅度在其之(1<<22)的最大值時,其能使用將可針對係數譯碼之最大逸出碼位元數指定如下的此設計顯示:該最大指數-哥倫布經譯碼值=(1<<22)(最初係數幅度)-1(因為該值已由有效映射譯碼,故扣除1)-3(因為其不係如上文討論的哥倫布-萊斯編碼,故扣除3)=4194300
在HEVC指數-哥倫布譯碼中,此值需要21-位元後置(且因此需要21-位元前置),以及1-位元分隔器、及3額 外前置位元以示意其不係哥倫布-萊斯編碼。此導致總共46位元的最差情形,其在解碼器上可係過於沈重的負擔。
本揭示發明的實施例提供能將最差情形逸出碼長度減少至32之逸出譯碼之指數-哥倫布部分的一或多個替代設計,其與HEVC第1版中的最差情形逸出碼長度相同。碼長度可能能進一步減少,雖然此變為在碼長度及譯碼效率之間的取捨。因為第2版解碼器必需支援第1版,沒有將第2版解碼器之擴展文件中的最大碼長度降低至低於第1版標準之最大碼長度的要求。
如上文討論的,在目前的HEVC標準中(在本申請案的優先權日期),使用二部分哥倫布-萊斯/指數-哥倫布方法譯碼逸出碼(未由CABAC譯碼語法元素描述之係數幅度的任何部分)。當使用擴展精確度譯碼16-位元視訊時,此方法導致如上文導出之46位元的最大逸出碼長度,其對單一係數的解碼能係可觀負擔。
在部分實施例中,藉由修改逸出譯碼設計之指數-哥倫布部分中的前置及後置長度之間的映射,能將最差情形減少至,例如,32位元,而在譯碼效率或處理效率上沒有顯著不利影響。在其他實施例中,也能調整,或甚至完全移除哥倫布-萊斯法。
當使用所謂的擴展精確度譯碼16-位元視訊時,變換及量化器之動態範圍且因此進入熵編碼器之係數的動態範圍(maxTrDynamicRange)等於16+6=22。此導致222的最大 係數幅度=4194304。當針對有效映射項減去1及針對哥倫布-萊斯編碼減去3而調整時(在最差情形中,萊斯參數rParam係0),能使用指數-哥倫布譯碼譯碼的最大值係4194300。
能顯示為在HEVC中使用指數-哥倫布譯碼此值,除了一位元分隔器及三個額外前置位元外,需要21-位元後置(且因此需要21-位元前置)以示意指數-哥倫布譯碼在使用中。此導致46之最差情形總碼長度。
然而,此處提供各種替代設計,而非簡單地將前置長度直接映射至後置長度(如同1:1映射)。
在部分實施例中,後置長度能係前置長度的函數(諸如,指數函數)。指數函數的範例係suffixLength=(1<<prefixLength)>>1。此方式,例如,僅需傳送5個前置位元以示意16個後置位元;也可能需要分隔器「0」,取決於是否使用一元譯碼或具有5的最大值之截短的一元譯碼。此係將藉由前置部編碼之該值與非一元經譯碼後置部的長度關聯,使得非一元經譯碼後置部的長度係藉由前置部編碼之該值的指數函數之配置的範例。
在部分實施例中,前置自身能係指數-哥倫佈碼,而非一元編碼。
在部分實施例中,前置長度能藉由使用表映射為後置長度。此方法容許該組區間尺寸針對資料定制。該表能係預定的(亦即,預先設置在編碼器及解碼器中)、或傳送入經編碼資料串流或與其關聯(使得前置部之長度及後置部 的長度之間的關係係藉由與待譯碼之資料關聯地傳送的資訊界定)、或從先前經譯碼係數或其他資料導出、或係此等或其他技術的組合(諸如,使用在串流中傳送的資料從一組預定表選擇)。在部分實施例中,藉由一或多個表將由前置部編碼的值與非一元經譯碼尾置部的長度關聯。部分實施例包含根據由下列各者組成之群組的一或多者選擇將由該前置部編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者的步驟:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
部分其他實施例能如下地操作。當使用擴展精確度譯碼16-位元視訊時,變換及量化器之動態範圍且因此進入熵編碼器之係數的動態範圍(maxTrDynamicRange)等於16+6=22。如上文討論的,此導致222的最大係數幅度=4194304。如上文討論的,當針對有效映射項減去1及針對哥倫布-萊斯編碼減去3而調整時(在最差情形中,萊斯參數rParam係0),能使用指數-哥倫布譯碼譯碼的最大值係4194300,及46之最差情形的總碼長度。
然而,當將限制示意最差情形所需之前置位元數的擴展精確度處理致能時,能使用替代設計,而非簡單地容許前置長度無限制的擴展。最大前置長度給定如下:maximumPrefixLength=32-(3+MAX_TR_DYNAMIC_RANGE)
當到達此前置長度時,然後將對應後置長度給定如下: suffixLength=MAX_TR_DYNAMIC_RANGE-rParam
另外,因為最大前置長度在編碼/解碼開始時為已知,前置能使用截短的-一元譯碼譯碼-若到達最大前置長度,將分隔器省略。
因此將最差情形逸出碼長度減少為:(32-(3+MAX_TR_DYNAMIC_RANGE))(前置)+(MAX_TR_DYNAMIC_RANGE-rParam)(後置)+rParam(固定位元)+3(不係哥倫布-萊斯-編碼位元)=32
此容許任何逸出碼配適在單一32-位元整數中並呈現與HEVC第1版相同的最大逸出碼長度。在至少部分實施例中,須注意支援高位元深度操作(諸如,16位元視訊的使用)的HEVC解碼器仍會需要支援使用HEVC第1版編碼之資料的使用,所以將逸出碼之位元數限制在HEVC第1版下容許的最大值意謂著在此種配置中,逸出碼長度不大於已支援的最大值。
此等實施例能將相似優點提供給上文討論的映射表配置,但本範例能實現相同的最差情形碼長度減輕及相同的譯碼效能而不需要查找表。然而,將前置長度的上限訂為取決於(待編碼或如解碼的)資料值之位元深度的最大長度的原理也能結合上文討論的一或多個表,或結合前置長度及後置長度之間的關係的其他表示式使用。
此等實施例因此提供將前置長度之上限訂在最大前置 長度值之技術的範例。例如,最大前置長度值能取決於值maxTrDynamicRange,其係用於編碼之資料值的動態範圍。在部分範例中,最大前置長度等於29-maxTrDynamicRange。在其他範例中,最大前置長度等於28-maxTrDynamicRange。
須注意表示部分此等技術的另一種方式係視訊資料具有位元深度(諸如,16位元,各頻道中之每樣本的位元數的表示)。此位元深度施用至原始視訊資料的樣本(亦即,用於藉由編碼器編碼的樣本),並也對應地施用至如藉由解碼器解碼的經解碼樣本。位元深度在供應至編碼器或解碼器時可從資料結構隱去,或可藉由一或多個指示器,諸如,旗標或參數,標示或另外指示給編碼器或解碼器。在部分範例中,將maxTrDynamicRange設定成等於位元深度加偏移,諸如,6位元的偏移(所以在位元深度係16位元的情形中,例如,變數maxTrDynamicRange可等於16+6=22位元),且因此視情況將前置長度的上限訂在取決於用於編碼之資料值或經解碼資料值的位元深度的最大前置長度。更具體地說,在部分範例中,因此視情況將前置長度的上限訂為取決於用於編碼之資料值或經解碼資料值之位元深度的最大前置長度加六位元。
因此此種配置能提供在其中最大前置長度等於預定常數減去等於用於編碼之資料值的動態範圍之值的編碼或解碼系統及方法的範例。例如,該預定常數可等於29,或該預定常數等於28。
可使用此等技術及/或待於下文討論之技術的組合。
能操作控制器345(在解碼器或編碼器任一者的情形中,或在對應方法的情形中)以偵測前置長度及/或前置長度及後置長度之間的關係取決於其的任何參數,並設定或另外實作最大前置長度及前置長度及後置長度之間的關係。
此等設計係在其中資料編碼設備之操作的方法包含該資料編碼設備將資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度之技術的所有實施例。此處描述的範例提供在其中將前置長度的上限訂在取決於正受編碼之資料值或經解碼資料值之位元深度的最大前置長度之技術的實施例。
依據對應解碼操作(在解碼器或在編碼器的解碼路徑中),此等設計係在其中資料解碼設備之操作的方法包含該資料解碼設備將編碼為資料組及用於不由該資料組編碼之值的逸出碼之輸入經編碼資料值解碼之技術的所有實施例,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的 長度。
實施例包含實行此種方法的編碼及/或解碼設備、藉由運行此種軟體之電腦導致此種方法實行的軟體、藉由其提供此種軟體的非暫時機器可讀儲存媒體(諸如,磁或光碟)、及包含此種設備的視訊資料拍攝、發送、顯示、及/或儲存設備。
如所討論的,前置部可包含一元經編碼值。
在部分實施例中,當致能能用於限制示意最差情形所需之前置位元數的擴展精確度處理時,能使用映射。此種映射呈現在針對擴展精確性處理將後置長度映射至前置長度的下列表中。
設計(i)重複正常的指數-哥倫布譯碼的行為。
設計(ii)如上文討論地將後置長度模擬為前置長度的指數函數。
能注意到設計(ii)能使用5個前置位元的最大值將16-位元視訊譯碼(其中MAX_TR_DYNAMIC_RANGE係22-位元)的最差情形從46位元(具有一元譯碼的設計i),若將一元譯碼用於前置,減少至31位元,或若將截短的一元譯碼用於前置,減少至30位元,雖然當對小值損失區間精 確度時,此導致比設計(iii)更大的譯碼效率損耗。然而,若也採用揭示於GB1320775.8(該專利之教示全文以提及之方式併入本文中)中的哥倫布-萊斯參數調適法,能減少此等設計的損耗。
使用設計(iii),維持用於小值的細質譯碼區間,同時不需要7(而非21)個以上的前置位元以示意最大可能後置。此外,因為最大前置長度已知,前置能使用截短的一元譯碼譯碼為截短的一元經編碼值-若到達最大前置長度,將分隔器省略。最大後置長度係maxTrDynamicRange,雖然當rParam係非0時,具有在後置之後的另一rParam位元,最大後置長度係maxTrDynamicRange-rParam。因此在此設計的部分實施例中,表中的部分或所有的值係rParam的函數。
可組態控制器345以存取一組表的一或多者(諸如,上述的表(i)至(iii))以偵測前置長度及後置長度之間的適當關係。
最差情形逸出碼長度因此減少至7(前置)+22(最大後置)+3(非哥倫布-萊斯-編碼位元)=32,須注意沒有用於截短之一元前置的分隔器,容許任何逸出碼放入單一32-位元整數中。
部分實施例的其他特性如下:因為最大後置長度已知,能使用截短的一元譯碼取代簡單的一元譯碼傳送前置(亦即,若到達最大前置位元數,不需要正常設置在前置及後置之間的分隔器)。
在前置長度可映射成大於所需後置長度的設計中(例如,大於maxTrDynamicRange),取而代之地能將其修剪至此值,使得將由前置長度及後置長度之間的關係提供之大於maxTrDynamicRange的任何值設定成等於maxTrDynamicRange。通常,在實施例中,由前置部編碼之值及非一元經譯碼尾置部的長度之間的關係係使得非一元經譯碼尾置部的最大應用不大於待編碼之各資料值的最大位元數。
在maxTrDynamicRange少於16位元的組態中,能移除16之值,例如,藉由將上述關係中的最大後置長度設定為15。例如,此可用於解譯值4的指數前置,其能另外暗示16位元後置。
現在將討論第一運行範例。
至此處理的輸入係針對用於具有無正負號值synVal、萊斯參數riceParam、及指示目前語法元素是否相關於色度係數之旗標isChroma的語法元素之以表為基的二進位化的請求。
此處理的輸出係語法元素synVal之以表為基的二進位化。
變數maxTrDynamicRange導出如下:若isChroma等於0,則maxTrDynamicRange=extended_precision_processing_flag?Max(15,BitDepthY+6):15
否則, maxTrDynamicRange=extended_precision_processing_flag?Max(15,BitDepthC+6):15
此處使用的符號如下。「A=flag?B:C」指示取決於二進位值「flag」的狀態係真或偽而將變數A分別設定為值B或值C。Max(D,E)傳回值D及E之較大者。BitDepthY係亮度或綠色通道位元深度;BitDepthC係色度或藍色及紅色通道位元深度。值extended_precision_processing_flag係指示擴展精確度處理是否受致能的旗標。
變數suffixLength[x]及minimumUncodeableValue[x],如上文討論之指示逸出-逸出碼之最小值的值係從下表導出(例如):
將語法元素synVal之以表為基的二進位化處理的二進位字串指定如下,其中具有等於0或1之X的函數put(X)的每次呼叫將二進位值X加至該二進位字串的尾端:
用於coeff_abs_level_remaining的二進位化
將變數cMax從等效於上文使用之rParam的cRiceParam導出為:cMax=43<<cRiceParam
語法元素coeff_abs_level_remaining[n]的二進位化係前置二進位字串及(當存在時)後置二進位字串的串接。
針對前置二進位字串的導出施用下列步驟:將cu_qp_delta_abs的前置值prefixVal導出如下:prefixVal=Min(cMax,coeff_abs_level_remaining[n])
前置二進位字串藉由針對prefixVal調用具有作為輸入之變數cMax及cRiceParam的TR二進位化處理而指定。
當前置二進位字串等於具有所有位元等於1之長度 43的二進位字串時,後置二進位字串存在並導出如下:將cu_qp_delta_abs的後置值suffixVal導出如下:suffixVal=coeff_abs_level_remaining[n]-cMax
當extended_precision_processing_flag等於1時,後置二進位字串藉由針對suffixVal調用具有若cldx大於0,設定成等於1,否則設定成等於0的變數isChroma之以表為基的二進位處理而指定。
否則(extended_precision_processing_flag等於0),後置二進位字串係藉由針對suffixVal調用具有設定成等於cRiceParam之指數-哥倫布級數k的EGk二進位化處理而指定。
現在將描述與前置長度訂有上限之實施例相關的另一運行範例。至此處理的輸入係針對用於具有無正負號值synVal、萊斯參數riceParam、及指示目前語法元素是否相關於色度係數之旗標isChroma的語法元素之有限指數-哥倫布二進位化的請求。此處理的串流係語法元素synVal的有限指數-哥倫布-級數-k二進位化。
變數maxTrDynamicRange導出如下:若isChroma等於0,maxTrDynamicRange=extended_precision_processing_flag?Max(15,BitDepthy+6):15
否則,maxTrDynamicRange=extended_precision_processing_flag?Max(15,BitDepthc+6):15
將變數maximumPrefixLength設定成等於(29-maxTrDynamicRange)。將語法元素synVal之有限指數-哥倫布-級數-k二進位化處理的二進位字串指定如下,其中具有等於0或1之X的函數put(X)的每次呼叫將二進位值X加至該二進位字串的尾端:
在正常的指數-哥倫布編碼中,如上文所討論的,後置係藉由從待譯碼的值減去不能由較小的後置長度譯碼的最小值而形成。例如,對具有k=0(或不施加k)的碼 9(0b1001)(0b前置註明二進位表示法),須注意:
0-位元前置/後置碼多達值0
1-位元前置/後置碼多達值2
2-位元前置/後置碼多達值6
因此,需要3-位元前置/後置(碼多達值14)。不能使用2-位元前置/後置譯碼的最小值係7(6+1)-所以後置形成為3位元的9-7=2(0b010),使最終經譯碼值為111-0-010。
在本揭示發明中,與最大前置長度關聯的後置長度係(必然)足夠大的,使得此減法此不需要-所以後置能簡單地等於待譯碼的值。
例如,最大前置長度=3,關聯後置長度=4。
然後經譯碼值等於其後係等於待譯碼之值的後置之截短的一元前置。例如,十進位的9能譯碼為111-1001。
在另一運行範例中,用於發訊「非哥倫布-萊斯編碼」的1之數量係4,但該碼之後解譯為第(k+1)級指數哥倫布編碼。將用於上文討論之技術的最大前置長度導出如下:maximumPrefixLength=32(期望最大碼長度)-(發訊「非哥倫布-萊斯編碼」的位元數)-maxTrDynamicRange=28-maxTrDynamicRange
考慮下列碼:
(i)110X...
(ii)1110X...
(iii)111X...
(其中X指示「不在意此位元之值為何」)
在碼(i)中,其中前導之1的數量等於2,沒有上述配置會將此解譯為指數-哥倫布編碼。
在碼(ii)中,其中前導之1的數量等於3,上文最先描述的系統將此解譯為指數-哥倫布編碼,然而第二配置將不會作此解譯。然而,因為恰有3個前導的1,指數-哥倫布編碼的前置長度係0(在第一個0之前沒有1)。但當前置長度係0時,第k級指數-哥倫布編碼的解譯與第k級哥倫布-萊斯編碼的解譯相同。
在碼(iii)中,其中前導之1的數量係4,二技術均將此解譯為指數-哥倫布編碼。在第一系統中,將此解譯為具有至少1之前置長度的第k級碼。在第二系統中,將此解譯為具有至少0之前置長度的第(k+1)級碼。在二情形中,前置長度取決於跟隨在此碼之開始後的額外之1的數量。但因為在指數-哥倫布譯碼中,有效地將前置位元加至k之值,能看出二解譯係等效的。當解碼指數-哥倫布編碼時,假設k值也增加1,因此等效地將「非哥倫布-萊斯編碼」臨限提昇(不多於)1。
圖19係描繪譯碼技術的示意流程圖。在步驟2200,藉由上文討論之技術的任一者(例如,回應於一或多個參數,諸如,資料位元深度,藉由控制器345)界定前置長度及/或最大前置長度。在步驟2210,根據如此界定的前置長度編碼一或多個資料值。
圖20係描繪譯碼技術的示意流程圖。在步驟2220,將前置編碼為一元經編碼值(範例係截短的一元經編碼值)。在步驟2230,編碼對應的後置。
圖21係描繪譯碼技術的示意流程圖。在步驟2240,如上文討論地產生對表的參考,以得到(在步驟2250)後置長度。
對應技術施用至個別解碼階段。
本揭示發明的其他個別樣態及特性藉由下列編號條款界定:
1.一種資料編碼設備的操作方法,該方法包含:該資料編碼設備將資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
2.根據條款第1項的方法,其中該前置部包含一元經編碼值。
3.根據條款第2項的方法,其中該前置部包含截短的一元經編碼值。
4.根據上述條款之任一者的方法,其中前置部之長度及後置部的長度之間的關係係藉由與待譯碼之資料關聯地傳送的資訊界定。
5.根據上述條款之任一者的方法,其中藉由一或多 個表將由前置部編碼的值與非一元經譯碼尾置部的長度關聯。
6.根據條款第5項的方法,包含根據由下列各者組成之群組的一或多者選擇將由該前置部編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者的步驟:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
7.根據上述條款之任一者的方法,其中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯,使得該非一元經譯碼尾置部的該長度係由該前置部編碼之該值的指數函數。
8.根據上述條款之任一者的方法,其中由該前置部編碼的該值及該非一元經譯碼尾置部的該長度之間的該關係係使得該非一元經譯碼尾置部的該最大長度不大於從由下列各者組成之該列表選擇的最大值:待編碼之各資料值的最大位元數;及預定最大值。
9.根據上述條款之任一者的方法,其中該前置部將自身編碼為指數哥倫布編碼。
10.根據上述條款之任一者的方法,其中將前置長度之上限訂在最大前置長度值。
11.根據條款第10項的方法,其中最大前置長度值取決於值maxTrDynamicRange,其係用於編碼之資料值的動態範圍。
12.根據條款第11項的方法,其中大前置長度等於 29-maxTrDynamicRange。
13.根據上述條款之任一者的方法,其中該資料組的一者係指示非零之最高有效資料部相對於該資料值的陣列之位置的有效映射。
14.根據條款第13項的方法,其中該有效映射包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
15.根據條款第13項的方法,其中該資料組包含:大於一映射表,指示大於1之最大有效資料部相對於該資料值之該陣列的位置;及大於二映射表,指示大於2之最大有效資料部相對於該資料值之該陣列的位置。
16.一種資料解碼設備的操作方法,包含:該資料解碼設備將編碼為資料組及用於不由該資料組編碼之值的逸出碼之輸入經編碼資料值解碼,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
17.電腦軟體,當其由電腦執行時,導致該電腦實行上述條款之任一者的方法。
18.一種資料編碼設備,包含:編碼器,組態成將資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含前置部及具 有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
19.一種資料解碼設備,包含:解碼器,組態成將編碼為資料組及用於不由該資料組編碼之值的逸出碼之輸入經編碼資料值解碼,逸出碼包含前置部及具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
20.一種視訊資料擷取、發送、顯示、及/或儲存設備,包含條款第18項或申請專利範圍第19項的設備。
本揭示發明的其他個別樣態及特性藉由下列編號條款界定:
1.一種資料解碼設備,包含:解碼器,組態成將輸入經編碼資料值解碼為具有位元深度的經解碼資料值,該輸入經編碼資料值被編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大 於該前置部的長度。
2.根據條款第1項的設備,其中該前置部包含一元經編碼值。
3.根據條款第2項的設備,其中該前置部包含截短的一元經編碼值。
4.根據條款第1至3項之任一者的設備,包含組態成存取一或多個表的控制器,在該一或多個表中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯。
5.根據條款第4項的設備,其中該控制器組態成根據由下列各者組成之群組的一或多者選擇將由該前置部編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
6.根據條款第1至3項之任一者的設備,其中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯,使得該非一元經譯碼尾置部的該長度係由該前置部編碼之該值的指數函數。
7.根據條款第1至3項之任一者的設備,其中由該前置部編碼的該值及該非一元經譯碼尾置部的該長度之間的該關係係使得該非一元經譯碼尾置部的該最大長度不大於從由下列各者組成之該列表選擇的最大值:待編碼之各資料值的最大位元數;及預定最大值。
8.根據上述條款之任一者的設備,其中該前置部將自身編碼為指數哥倫布編碼。
9.根據上述條款之任一者的設備,其中該前置長度上限為取決於該資料值之該位元深度加六的最大前置長度。
10.根據上述條款之任一者的設備,其中該最大前置長度等於預定常數減去等於用於編碼的該資料值之動態範圍的值。
11.根據條款第10項的設備,其中該預定常數等於29。
12.根據條款第10項的設備,其中該預定常數等於28。
13.根據上述條款之任一者的設備,其中該資料組的一者係指示非零之最高有效資料部相對於該資料值的陣列之位置的有效映射。
14.根據條款第13項的設備,其中該有效映射包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
15.一種資料解碼設備的操作方法,包含:該資料解碼設備將輸入經編碼資料值解碼為具有位元深度的經解碼資料值,該輸入經編碼資料值被編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的 至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
16.一種電腦軟體,當其由電腦執行時,導致該電腦實行條款第15項的方法。
17.一種非暫時機器可讀儲存媒體,其儲存如條款第16項的電腦軟體。
18.一種資料編碼設備,包含:編碼器,組態成將具有位元深度之資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
19.根據條款第18項的設備,其中該前置部包含一元經編碼值。
20.根據條款第19項的設備,其中該前置部包含截短的一元經編碼值。
21.根據條款第18至20項之任一者的設備,包含組態成存取一或多個表的控制器,在該一或多個表中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯。
22.根據條款第21項的設備,其中該控制器組態成根據由下列各者組成之群組的一或多者選擇將由該前置部 編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
23.根據條款第18至20項之任一者的設備,其中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯,使得該非一元經譯碼尾置部的該長度係由該前置部編碼之該值的指數函數。
24.根據條款第18至20項之任一者的設備,其中由該前置部編碼的該值及該非一元經譯碼尾置部的該長度之間的該關係係使得該非一元經譯碼尾置部的該最大長度不大於從由下列各者組成之該列表選擇的最大值:待編碼之各資料值的最大位元數;及預定最大值。
25.根據條款第18至24項之任一者的設備,其中該前置部將自身編碼為指數哥倫布編碼。
26.根據條款第18至25項之任一者的設備,其中該最大前置長度等於預定常數減去等於用於編碼的該資料值之動態範圍的值。
27.根據條款第26項的設備,其中該預定常數等於29。
28.根據條款第26項的設備,其中該預定常數等於28。
29.根據條款第18至28項之任一者的設備,其中該資料組的一者係指示非零之最高有效資料部相對於該資料值的陣列之位置的有效映射。
30.根據條款第29項的設備,其中該有效映射包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
31.根據條款29或申請專利範圍第30項的設備,其中該資料組包含:大於一映射表,指示大於1之最大有效資料部相對於該資料值之該陣列的位置;及大於二映射表,指示大於2之最大有效資料部相對於該資料值之該陣列的位置。
32.一種資料編碼設備的操作方法,該方法包含:該資料編碼設備將資料值的陣列編碼為具有位元深度的資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
33.一種電腦軟體,當其由電腦執行時,導致該電腦實行條款第32項的方法。
34.一種非暫時機器可讀儲存媒體,其儲存如條款第33項的電腦軟體。
35.一種視訊資料擷取、發送、顯示、及/或儲存設備,包含根據條款1至14及18至31項之任一者的設 備。
將理解解碼器或編碼器的功能、或解碼方法或編碼方法的函數步驟可藉由控制器等,諸如,(在部分上述範例中)控制器345,實行,以選擇或另外建立前置長度及後置長度之間的關係,及/或選擇或另外建立最大前置長度。
如先前討論的,將理解以上條款的設備特性可藉由如先前討論之編碼器或解碼器的個別特性實作。

Claims (35)

  1. 一種資料解碼設備,包含:解碼器,組態成將輸入經編碼資料值解碼為具有位元深度的經解碼資料值,該輸入經編碼資料值被編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
  2. 如申請專利範圍第1項的設備,其中該前置部包含一元經編碼值。
  3. 如申請專利範圍第2項的設備,其中該前置部包含截短的一元經編碼值。
  4. 如申請專利範圍第1項的設備,包含組態成存取一或多個表的控制器,在該一或多個表中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯。
  5. 如申請專利範圍第4項的設備,其中該控制器組態成根據由下列各者組成之群組的一或多者選擇將由該前置部編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
  6. 如申請專利範圍第1項的設備,其中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯,使得該非一元經譯碼尾置部的該長度係由該前置部編碼之該值的指數函數。
  7. 如申請專利範圍第1項的設備,其中由該前置部編碼的該值及該非一元經譯碼尾置部的該長度之間的該關係係使得該非一元經譯碼尾置部的該最大長度不大於從由下列各者組成之該列表選擇的最大值:待編碼之各資料值的最大位元數;及預定最大值。
  8. 如申請專利範圍第1項的設備,其中該前置部將自身編碼為指數哥倫布編碼(exponential Golomb code)。
  9. 如申請專利範圍第1項的設備,其中該前置長度上限為取決於該資料值之該位元深度加六的最大前置長度。
  10. 如申請專利範圍第1項的設備,其中該最大前置長度等於預定常數減去等於用於編碼的該資料值之動態範圍的值。
  11. 如申請專利範圍第10項的設備,其中該預定常數等於29。
  12. 如申請專利範圍第10項的設備,其中該預定常數等於28。
  13. 如申請專利範圍第1項的設備,其中該資料組的一者係指示非零之最高有效資料部相對於該資料值的陣列之位置的有效映射。
  14. 如申請專利範圍第13項的設備,其中該有效映射包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
  15. 一種資料解碼設備的操作方法,包含:該資料解碼設備將輸入經編碼資料值解碼為具有位元深度的經解碼資料值,該輸入經編碼資料值被編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
  16. 一種電腦軟體,當其由電腦執行時,導致該電腦實行如申請專利範圍第15項的方法。
  17. 一種非暫時機器可讀儲存媒體,其儲存如申請專利範圍第16項的電腦軟體。
  18. 一種資料編碼設備,包含:編碼器,組態成將具有位元深度之資料值的陣列編碼為資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
  19. 如申請專利範圍第18項的設備,其中該前置部包含一元經編碼值。
  20. 如申請專利範圍第19項的設備,其中該前置部包含截短的一元經編碼值。
  21. 如申請專利範圍第18項的設備,包含組態成存取一或多個表的控制器,在該一或多個表中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯。
  22. 如申請專利範圍第21項的設備,其中該控制器組態成根據由下列各者組成之群組的一或多者選擇將由該前置部編碼之該值與該非一元經譯碼尾置部的該長度關聯之該等表的一者:(i)與該經編碼資料值關聯的資料旗標;及(ii)從一或多個先前編碼的資料值導出的參數。
  23. 如申請專利範圍第18項的設備,其中由該前置部編碼的該值與該非一元經譯碼尾置部的該長度關聯,使得該非一元經譯碼尾置部的該長度係由該前置部編碼之該值的指數函數。
  24. 如申請專利範圍第18項的設備,其中由該前置部編碼的該值及該非一元經譯碼尾置部的該長度之間的該關係係使得該非一元經譯碼尾置部的該最大長度不大於從由下列各者組成之該列表選擇的最大值:待編碼之各資料值的最大位元數;及預定最大值。
  25. 如申請專利範圍第18項的設備,其中該前置部將自身編碼為指數哥倫布編碼。
  26. 如申請專利範圍第18項的設備,其中該最大前置長度等於預定常數減去等於用於編碼的該資料值之動態範圍的值。
  27. 如申請專利範圍第26項的設備,其中該預定常數等於29。
  28. 如申請專利範圍第26項的設備,其中該預定常數等於28。
  29. 如申請專利範圍第18項的設備,其中該資料組的一者係指示非零之最高有效資料部相對於該資料值的陣列之位置的有效映射。
  30. 如申請專利範圍第29項的設備,其中該有效映射包含根據該資料值陣列的預定次序指示具有非零值之該最大有效資料部的最後一者之位置的資料旗標。
  31. 如申請專利範圍第29項的設備,其中該資料組包含:大於一映射表,指示大於1之最高有效資料部相對於該資料值之該陣列的位置;及大於二映射表,指示大於2之最高有效資料部相對於該資料值之該陣列的位置。
  32. 一種資料編碼設備的操作方法,該方法包含:該資料編碼設備將資料值的陣列編碼為具有位元深度的資料組及用於不由該資料組編碼之值的逸出碼,逸出碼包含具有前置長度的前置部,該前置長度上限為取決於該資料值之該位元深度的最大前置長度,並包含具有在位元數上之長度的非一元經譯碼尾置部,該長度根據一關係取決於由該前置部所編碼的值,該關係使得針對該前置部所編碼的至少一些值,該非一元經譯碼尾置部之長度在位元數上大於該前置部的長度。
  33. 一種電腦軟體,當其由電腦執行時,導致該電腦實行如申請專利範圍第32項的方法。
  34. 一種非暫時機器可讀儲存媒體,其儲存如申請專利範圍第33項的電腦軟體。
  35. 一種視訊資料擷取、發送、顯示、及儲存設備,包含如申請專利範圍第1項的設備。
TW103140816A 2013-12-23 2014-11-25 資料編碼與解碼 TWI662830B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1322947.1A GB2521828A (en) 2013-12-23 2013-12-23 Data encoding and decoding
??1322947.1 2013-12-23
GB1403854.1A GB2521685A (en) 2013-12-23 2014-03-05 Data encoding and decoding
??1403854.1 2014-03-05

Publications (2)

Publication Number Publication Date
TW201540049A TW201540049A (zh) 2015-10-16
TWI662830B true TWI662830B (zh) 2019-06-11

Family

ID=50114704

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103140816A TWI662830B (zh) 2013-12-23 2014-11-25 資料編碼與解碼

Country Status (12)

Country Link
US (2) US10237556B2 (zh)
EP (1) EP3087739B1 (zh)
JP (1) JP6730187B2 (zh)
KR (2) KR102343621B1 (zh)
CN (2) CN105850125B (zh)
AU (1) AU2014372362B2 (zh)
CA (2) CA3114216C (zh)
GB (2) GB2521828A (zh)
MX (1) MX367071B (zh)
RU (1) RU2679784C2 (zh)
TW (1) TWI662830B (zh)
WO (1) WO2015097425A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513111A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US10425659B2 (en) 2015-01-30 2019-09-24 Qualcomm Incorporated Coding escape pixels for palette coding
KR20220053702A (ko) * 2016-05-13 2022-04-29 소니그룹주식회사 화상 처리 장치 및 방법
EP3264763A1 (en) 2016-06-29 2018-01-03 Thomson Licensing Method and apparatus for improved significance flag coding using simple local predictor
KR102391908B1 (ko) * 2017-04-13 2022-04-28 엘지전자 주식회사 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
US20180316938A1 (en) * 2017-04-26 2018-11-01 Canon Kabushiki Kaisha Method and apparatus for k-th order exp-golomb binarization
GB2567427B (en) * 2017-10-06 2020-10-07 Imagination Tech Ltd Data compression
GB2567861A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
GB2570711B (en) 2018-02-05 2023-04-05 Sony Corp Data encoding and decoding
US11477486B2 (en) 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
US11012701B2 (en) * 2019-02-22 2021-05-18 Tencent America LLC Residual coding for transform skip mode and block differential pulse-code modulation
CN111865487B (zh) 2019-04-29 2022-07-29 华为技术有限公司 一种编码方法及通信设备
US11496745B2 (en) 2019-06-24 2022-11-08 Qualcomm Incorporated Binarization in transform skip residual coding
EP4035369A1 (en) * 2019-09-24 2022-08-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Arithmetic encoders and decoders, video encoders and decoders, methods for encoding or decoding symbols, and methods for encoding or decoding video content
GB2590723A (en) * 2019-12-31 2021-07-07 Sony Corp Data encoding and decoding
US11637685B2 (en) 2021-08-31 2023-04-25 Samsung Display Co., Ltd. System and method for transition encoding with flexible word-size

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171985A1 (en) * 2005-07-21 2007-07-26 Samsung Electronics Co., Ltd. Method, medium, and system encoding/decoding video data using bitrate adaptive binary arithmetic coding
US20130114738A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Progressive coding of position of last significant coefficient

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455577A (en) * 1993-03-12 1995-10-03 Microsoft Corporation Method and system for data compression
EP1802141A2 (en) * 1995-03-15 2007-06-27 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US7099881B2 (en) * 2002-12-06 2006-08-29 Stmicroelectronics, Inc. Method for increasing average storage capacity in a bit-mapped tree-based storage engine by using remappable prefix representations and a run-length encoding scheme that defines multi-length fields to compactly store IP prefixes
WO2005013493A1 (en) * 2003-07-29 2005-02-10 Zakrytoe Aktsionernoe Obschestvo Intel A method for efficient variable length decoding
US7660355B2 (en) * 2003-12-18 2010-02-09 Lsi Corporation Low complexity transcoding between video streams using different entropy coding
FR2875042B1 (fr) * 2004-09-03 2006-11-24 Canon Kk Procede et dispositif d'acces aleatoire a une zone d'une image codee en vue de la decoder et procede et dispositif de codage d'une image
US20060198322A1 (en) * 2005-03-03 2006-09-07 Susan Hares Method and apparatus for BGP peer prefix limits exchange with multi-level control
US7540430B2 (en) * 2005-09-27 2009-06-02 The Boeing Company System and method for string distance measurement for alphanumeric indicia
JP4732203B2 (ja) * 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
RU2477577C2 (ru) * 2008-04-10 2013-03-10 Квэлкомм Инкорпорейтед Подобная интерполяции фильтрация положений целочисленных пикселей при видеокодировании
EP2112764A1 (en) * 2008-04-25 2009-10-28 Thomson Licensing Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers
CN102238387B (zh) * 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
ES2906869T3 (es) * 2011-06-16 2022-04-20 Ge Video Compression Llc Inicialización de contexto en codificación entrópica
US8737499B2 (en) * 2011-10-17 2014-05-27 Qualcomm Incorporated Advanced interference cancellation for precoded GSM edge radio access network (GERAN)
AU2012333927A1 (en) * 2011-11-07 2013-08-22 Sun Patent Trust Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding and decoding device
LT3849198T (lt) * 2011-11-07 2023-01-25 Tagivan Ii Llc Vaizdo dekodavimo būdas ir vaizdo dekodavimo įrenginys
KR101843087B1 (ko) 2012-03-05 2018-03-28 삼성전자주식회사 디코딩 장치 및 방법
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
US20130336386A1 (en) * 2012-06-18 2013-12-19 Qualcomm Incorporated Sample adaptive offset (sao) coding
WO2014107029A1 (ko) * 2013-01-02 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9930348B2 (en) * 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
US10382759B2 (en) * 2014-06-20 2019-08-13 Hfi Innovation Inc. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
US10142629B2 (en) * 2015-12-28 2018-11-27 Mediatek Inc. Method and apparatus for entropy coding in image compression
US10110931B2 (en) * 2016-04-27 2018-10-23 Aspeed Technology Inc. Variable length coding and decoding methods and devices for grouped pixels
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070171985A1 (en) * 2005-07-21 2007-07-26 Samsung Electronics Co., Ltd. Method, medium, and system encoding/decoding video data using bitrate adaptive binary arithmetic coding
US20130114738A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Progressive coding of position of last significant coefficient

Also Published As

Publication number Publication date
CN105850125B (zh) 2019-11-05
WO2015097425A1 (en) 2015-07-02
RU2016130271A3 (zh) 2018-07-10
GB2521828A (en) 2015-07-08
US20190253714A1 (en) 2019-08-15
KR20160101925A (ko) 2016-08-26
GB201403854D0 (en) 2014-04-16
KR20210158427A (ko) 2021-12-30
MX2016007334A (es) 2016-08-19
CA3114216A1 (en) 2015-07-02
AU2014372362A1 (en) 2016-05-05
EP3087739A1 (en) 2016-11-02
GB201322947D0 (en) 2014-02-12
CA2933395C (en) 2023-06-27
KR102462386B1 (ko) 2022-11-03
JP2017507519A (ja) 2017-03-16
JP6730187B2 (ja) 2020-07-29
CA2933395A1 (en) 2015-07-02
AU2014372362B2 (en) 2018-12-20
US10893273B2 (en) 2021-01-12
RU2016130271A (ru) 2018-01-30
MX367071B (es) 2019-08-05
KR102343621B1 (ko) 2021-12-28
CN105850125A (zh) 2016-08-10
US20160295214A1 (en) 2016-10-06
CA3114216C (en) 2023-09-05
TW201540049A (zh) 2015-10-16
US10237556B2 (en) 2019-03-19
CN111083476B (zh) 2022-02-08
RU2679784C2 (ru) 2019-02-12
CN111083476A (zh) 2020-04-28
EP3087739B1 (en) 2023-08-02
GB2521685A (en) 2015-07-01

Similar Documents

Publication Publication Date Title
TWI662830B (zh) 資料編碼與解碼
TWI658702B (zh) 資料編碼及解碼
JP6400092B2 (ja) データ符号化及び復号化
JP6465903B2 (ja) データ符号化及び復号化
JP6532467B2 (ja) ビデオ符号化および復号におけるシンタックス要素符号化方法および装置
CN113170138B (zh) 使用阈值和莱斯参数进行系数解码的常规编译码二进制位缩减
KR20080082147A (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
WO2013056097A1 (en) Coding non-symmetric distributions of data
TWI827662B (zh) 用於係數寫碼之規則寫碼位元子之減少
US9544599B2 (en) Context adaptive data encoding
JP7509784B2 (ja) 係数レベルのためのエスケープコーディング
CN117561710A (zh) 编解码方法、编码器、解码器以及存储介质
JP2024509532A (ja) 高ビット深度ビデオコーディングのためのライスパラメータ導出
JP2022548685A (ja) 画像データの符号化及び復号化
JP2022538007A (ja) 画像データ符号化及び復号化
CN117157979A (zh) 编解码方法、编码器、解码器以及存储介质