專利名稱:將多種可變長度編碼方法用于多種類型的變換系數(shù)塊的視頻壓縮的制作方法
技術領域:
本公開大體涉及圖像壓縮,并且具體地涉及對圖像數(shù)據(jù)的塊的量化變換系數(shù)的系列進行的熵編碼。
背景技術:
數(shù)字視頻壓縮的范圍從對靜止圖像編碼到對用于攝影、廣播、流傳輸和會議應用的運動視頻編碼。在傳統(tǒng)的變換編碼中,由像素構成的圖片被分割成塊;對每個像素塊進行變換;變換系數(shù)被排序并被量化;并且某種形式的可變長度編碼(VLC,包括算術編碼)被用來表示每塊的量化變換系數(shù)的系列。在許多當前標準中,塊具有固定大小,例如,對于JPEG, MPEGI, MPEG2/H. 262,MPEG4, H. 261 和 H. 263 為 8x8。雖然一些編碼方法(例如 H. 264/AVC的高級規(guī)范(profile)),允許在同一圖片內(nèi)有兩種塊大小(4x4以及可選地8x8),但針對所有塊的VLC方法與針對該一個圖片的相同。在所有這些標準編碼方法中,VLC方法是二維可變長度編碼(2D VLC)或者其許多變體之一,如基于上下文的自適應二進制算術編碼(CABAC)、上下文自適應可變長度編碼(CAVLC)和基于上下文的2D可變長度編碼(C2DVLC)。
圖1示出了根據(jù)本發(fā)明實施例的簡化流程圖。圖2示出了根據(jù)本發(fā)明實施例的簡化流程圖,包括利用經(jīng)編碼塊的類別的碼字提供指示。圖3示出了根據(jù)本發(fā)明實施例的簡化流程圖,包括根據(jù)大小對塊的量化系數(shù)系列分類并且對于每個大小,進一步將系列分類到針對該大小預定義的一個或多個類別之一。圖4示出了根據(jù)本發(fā)明實施例的針對單個大小的單個部分的流程圖。圖5示出了上下文自適應位置和幅度編碼(CAPAC)的低頻方法的一個實施例的簡化流程圖。圖6示出了表示為HVLC3DPA的具有3D位置和幅度編碼的混合VLC的低頻區(qū)域編碼的一個實施例的簡化流程圖。圖7示出了上下文自適應混合可變長度編碼(CAHVLC)的一個方法實施例的簡化流程圖。圖8示出了例如在H. 264/AVC中使用的上下文自適應混合可變長度編碼(CAVLC)的概括的一個實施例的簡化流程圖。圖9示出了根據(jù)本發(fā)明實施例的簡化框圖,包括被配置為實現(xiàn)這里描述的編碼方法的裝置。圖10示出了根據(jù)本發(fā)明實施例的簡化框圖,包括被配置為對通過預定義編碼方法編碼的比特流進行解碼的解碼器。圖11示出了根據(jù)本發(fā)明實施例的另一簡化框圖,包括被配置為實現(xiàn)這里描述的編碼方法的解碼器的裝置。
具體實施例方式概述本發(fā)明的實施例包括方法、裝置和編碼在一個或 多個計算機可讀有形介質(zhì)中以執(zhí)行方法的邏輯。該方法對圖片的塊的量化變換系數(shù)的塊進行編碼。量化變換系數(shù)位于有序系列(ordered series)的。該方法包括將圖像數(shù)據(jù)塊的量化變換系數(shù)系列分類到預定義的多種類別之一中。類別至少由該塊的大小以及(通常地但不是一定地)一個或多個其它因素定義。被分類的系列通過一組預定義熵編碼方法中的一種方法(例如,可變長度編碼方法)被編碼,該預定義熵編碼方法被映射到預定義的多種類別中的每個類別。因此,本發(fā)明的實施例使用多種類型的熵編碼方法來對各種類別的變換塊的量化系數(shù)進行編碼,類別至少由該塊的大小以及(通常地但不是一定地)一個或多個其它因素定義。對于至少兩種類別的不同塊大小的有序系列,不同熵編碼方法被映射到塊的不同類別。在這里描述的一些實施例中,熵編碼方法包括至少一種可變長度編碼方法。一些熵編碼方法中的一些縮寫和說明本發(fā)明的實施例描述了各種熵編碼方法,尤其是可應用于對通過變換圖像數(shù)據(jù)塊而獲得的有序變換系數(shù)序列進行熵編碼的可變長度編碼方法。下面定義的縮寫被用在本發(fā)明的一些實施例的可變長度編碼方法的一些中。VLC:可變長度編碼RL :運行長度的運行級別(run level)聯(lián)合事件,非零幅度系數(shù)及其編碼之前的零的長度,可能為O。LF:低頻,在混合可變長度編碼中通常稱為低頻量化系數(shù),在混合可變長度編碼中,通過斷點將圖像數(shù)據(jù)塊的量化變換系數(shù)的有序序列分割成低頻系數(shù)系列和高頻有序系數(shù)系列。ID :—維2D : 二維3D :三維AVS :中國音視頻編碼標準,由中國音視頻編碼標準工作組公布作為信息技術高級音視頻編碼第2部分視頻(AVS1-P2JQP F⑶1. O),中國音視頻編碼標準組(AVS),Doc.AVS-N1538, 2008 年 9 月。H. 264/AVC ITU-T Rec. H. 264,第 10 部分,現(xiàn)在是國際標準 IS0/IEC14496-10。注意,H. 264/AVC的高級規(guī)范允許在宏塊級進行優(yōu)化以使得在同一圖片內(nèi),可以存在具有4x4個變換塊的宏塊以及具有8x8個變換塊的宏塊。無論變換塊是4x4還是8x8的,針對圖片中的塊的變換系數(shù)的有序系列的熵編碼都相同。DIRAC 由英國廣播公司(BBC)設計和發(fā)布的開放源視頻編解碼。
VC-1 :運動圖像和電視工程師協(xié)會(SMPTE)421M視頻編解碼的非正式名稱。注意,VC-1包括在同一圖片內(nèi)允許多種變換塊大小的規(guī)范的規(guī)范,例如,4x4, 4x8, 8x4和8x8變換塊。然而,針對圖片中的塊的變換系數(shù)的有序系列的熵編碼相同,而與變換塊的大小無關。HVLC :混合VLC。在HVLC中,圖像數(shù)據(jù)塊的量化變換系數(shù)的有序序列被斷點分割成至少低頻系數(shù)系列(LF區(qū)域)和高頻有序系數(shù)系列(HF區(qū)域)。HVLC的一個方面是這樣的認識非零值系數(shù)在LF區(qū)域中可能被聚集,并且在HF區(qū)域中可能被分散或分離,以使得不同方法適用于LF和HF區(qū)域。已開發(fā)出了用于這些區(qū)域中的位置和幅度編碼事件的各種方法。HVLC2DP1DA :混合VLC,其中,對由如下兩個變量定義的事件進行2D位置編碼例如,任何非零系數(shù)簇之前的零值的運行長度(可能為零)以及非零系數(shù)的數(shù)目;并且對簇中的非零幅度進行ID幅度編碼。RL-VLC :運行級別VLC,其對位于非零值量化系數(shù)之前的零值量化系數(shù)的運行長度以及非零值量化系數(shù)的幅度級別進行聯(lián)合編碼。2DVLC :二維 VLC,是 RL-VLC 的另一名稱。CABAC :基于上下文的自適應二進制算術編碼,是針對H. 264/AVC描述的RL-VLC的變體。CAVLC :上下文自適應可變長度編碼,是針對H. 264/AVC描述的RL-VLC的變體,其中,利用一維位置編碼方案按逆序?qū)?x4的塊的有序量化系數(shù)進行編碼以便對非零系數(shù)的位置編碼。C2DVLC :基于上下文的2D可變長度編碼,是針對中國AVS (中國音視頻編碼標準)描述的RL-VLC的變體。ICAVLC :改進的上下文自適應可變長度編碼,其包括取決于待編碼的零系數(shù)的數(shù)目和非零系數(shù)的數(shù)目,利用ID VLC—次一者地交替對零系數(shù)的運行長度和非零系數(shù)的運行長度進行編碼,并且在替代實現(xiàn)方式中,通過多維VLC并發(fā)地對零系數(shù)和非零系數(shù)的位置進行編碼。ICAVLC可以改進CAVLC, C2DVLC和HVLC。CAPAC :上下文自適應位置和幅度編碼,在一些版本中,其包括兩路位置和幅度編碼處理。借助于具有基于上下文、即通過可從先前編碼的信息中確定的且在預測行為中有用的一個或多個信息項(例如,從先前編碼的系數(shù)確定的信息)的自適應表切換的多個VLC表來對非零系數(shù)簇的位置進行排序和編碼。從高頻到低頻按逆序?qū)Ψ橇惴染幋a,并且根據(jù)它們與零的相鄰度來將它們重組為子序列。這些子序列利用具有不同維度的不同的相應(多維)VLC映射被編碼。HVLC3DPA :對聯(lián)合位置和幅度事件進行3D編碼并對事件進行編碼的混合VLC。3DPA事件由位于每個非零簇之前的零值系數(shù)的數(shù)目、每個簇的運行長度以及指示幅度為I的拖尾系數(shù)的數(shù)目的參數(shù)來定義。其余幅度通過一維VLC映射單獨被編碼。CAHVLC :上下文自適應混合可變長度編碼。一些實施例包括HVLC3DPA的編碼以及多個代碼表被用于3DPA和IDA編碼兩者并且代碼表是基于可從經(jīng)編碼的相鄰塊或者可從當前正被編碼的塊的經(jīng)編碼部分中得到的上下文信息而自適應地被選擇的。Rnz, Rnz ^1:非零值系數(shù)簇中的非零幅度量化系數(shù)的數(shù)目。在一些方法中,該簇包括緊隨該簇之后的單個零值量化系數(shù)。
Rz, Rz ^ O :緊鄰非零值量化系數(shù)簇之前的連續(xù)零值系數(shù)的數(shù)目。2DP (Rz, Rnz)的 2D 位置編碼。3DPA 由至少三個變量(通常包括Rz和Rnz)定義的3D聯(lián)合位置和幅度事件。IDA ID幅度事件和該事件的編碼。因此,HVLC2DP1DA是指對簇進行2D位置編碼以及對幅度進行ID編碼的混合可變長度編碼。CA :上下文自適應,基于上下文。在這里的示例方法中,上下文是指可從先前編碼的信息中確定的且在預測行為中有用的一個或多個信息項,例如,從一個或多個先前編碼系數(shù)中確定的信息。一些實施例本發(fā)明的實施例包括方法、裝置、編碼在一個或多個計算機可讀有形存儲介質(zhì)中 以執(zhí)行方法的邏輯以及有形的,例如非暫時性計算機可讀存儲介質(zhì)。該方法對量化系數(shù)的一個或多個有序系列編碼,每個系列是通過對圖像數(shù)據(jù)塊進行變換,對變換系數(shù)進行排序和量化獲得的。已經(jīng)存在被開發(fā)用于壓縮圖片(例如,靜止圖片或運動圖片)的許多基于變換的編碼方法,并且在這些方法中,許多方法被標準化。通常這些方法包括將圖片分割成塊,將塊變換成變換系數(shù),量化變換系數(shù),沿著2D變換域上的預定路徑對變換系數(shù)排序,并且對量化變換系數(shù)的有序系列進行熵編碼??梢岳眠\動補償對該圖片進行幀間編碼,或者進行幀內(nèi)編碼。標準編碼方法的示例包括但不限于ITU-T H. 261,ITU-T H. 263,ITU-T H. 264/AVC, AVS (中國視頻編碼標準),MPEG I, MPEG-2, DIRAC (由BBC設計發(fā)布的開放源視頻編解碼),VC-1等等。這些標準方法中的一些的更多細節(jié)請參見上節(jié)“一些熵編碼方法中的一些縮寫和說明”。這些編碼標準中的一些將“規(guī)范”定義為可應用于一定類型的圖像和/或應用的因素集。在每個規(guī)范中,塊大小是固定的或者存在大于一個變換塊大小的選項,但是同一熵編碼方法被用于所有塊大小。例如,H. 264/AVC的高級規(guī)范允許4x4或8x8像素變換塊,而熵編碼方法對于圖片的所有塊是相同的。類似地,VC-1的高級規(guī)范允許4x4,4x8, 8x4和8x8變換塊,但熵編碼對于圖像的所有這些塊是相同的。為了繼續(xù)提高編碼效率,新生代的編碼方法正繼續(xù)被開發(fā)。雖然通常將不同塊大小用于運動補償并且本公開不處理運動補償塊大小的主題,但是正提出的一種改進是在同一規(guī)范內(nèi)使用被應用了變換的不同大小的圖像塊。根據(jù)本發(fā)明的一個方面,多種熵編碼處理可用于同一規(guī)范(例如,同一圖片)的圖像數(shù)據(jù)的變換塊的量化系數(shù)的有序系列的不同類別,其中,塊的大小是類別的確定者之一?!熬幋a處理”是指一種編碼方法或者方法的組合。每個特定系列是通過沿著變換域上的所選路徑,通常從低頻到高頻,對圖像的特定像素塊的量化變換系數(shù)進行排序而獲得的。根據(jù)一個或多個標準(包括形成系列的塊的大小),并且在一些實施例中,根據(jù)由一個或多個因素確定的系數(shù)可能如何被分布在系列中,來將每個量化系數(shù)系列分類到多個預定義類別之一。對于每個類別,所提供編碼方法中的一種或多種方法的相應集合被用來對系列編碼。因此,應用于任何特定數(shù)據(jù)塊的一種或多種編碼方法取決于塊的大小,并且在一些實施例中,取決于從一個或多個因素確定的量化變換系數(shù)的分布。根據(jù)本發(fā)明的一個方面,圖像數(shù)據(jù)塊的量化變換系數(shù)的系列可被分類到預定義的多個類別之一中,其中,類別至少是由塊的大小以及(通常地但不一定)一個或多個其它因素來定義的。被分類的系列通過預定義熵編碼方法的集合中的一種方法被編碼,預定義熵編碼方法被映射到預定義的多種類別中的每種類別。因此,本發(fā)明的實施例使用多種類型·的熵編碼方法來對各種類別的變換塊的量化系數(shù)進行編碼,其中,類別至少是由塊的大小以及通常一個或多個其它因素來定義的。在這里描述的實施例中,至少一些熵編碼方法是可變長度編碼方法。圖1示出了根據(jù)本發(fā)明一個實施例的方法的簡化流程圖,并且包括接受圖像數(shù)據(jù)塊的變換系數(shù)的有序系列,并且在101中,根據(jù)包括該圖像數(shù)據(jù)塊的大小在內(nèi)的一個或多個因素將所接受的系列分類到多個預定義類別之一中。在103,該方法取決于分類而前進到一組路徑中的一條路徑。令Ne表示預定義類別的數(shù)目,這樣的類別被表示為類別1、類別2...,類別Ne。該方法包括在105-1,105-2,105-Nc之一中,向所接受的有序系列應用多種熵編碼方法之一以形成碼字序列,所應用的該熵編碼方法是根據(jù)所接受系列的類別的。因此,105-1包括應用針對類別I的方法,105-2包括應用針對類別2的方法,等等。對于不同大小的有序系列的至少兩個類別,不同熵編碼方法被應用于不同類別。塊的編碼產(chǎn)生了用于解碼的比特流。解碼器需要能夠?qū)υ摿鬟M行解碼,并且因此需要接收指示或確定任何塊的比特流的類別。在一些實施例中,一幅圖片或者在運動視頻的情況中圖片序列的塊的集合的比特流包括對如下因素的指示,所述因素足以讓解碼器確定該比特流中的系列的任何碼字序列的塊集合中的每塊的類別。在其它實施例中,特定塊的碼字序列包括對該塊的類別的明確指示。雖然本領域技術人員將明白許多這樣的指示可以被使用,但是在本發(fā)明的一些實施例中,該指示為前綴的形式。圖2示出了根據(jù)本發(fā)明實施例的方法的簡化流程圖,并且除了圖1的
元素 101,103 和 105-1,......,105-Nc 外,還包括在 207-1,207-2,· · ·,207-Nc 中,將
針對類別Classl,Class2. ..,Class Ne的相應前綴分別應用于從分別應用方法元素105-1,105-2,105-Nc 得到的碼字。在一些實施例中,針對多個塊大小,例如,預定義的一組塊大小,的每個塊大小,來預定義一種或多種預定義類別及相關聯(lián)熵編碼方法。在這樣的實施例中,分類包括將系列分類到塊大小,并且進一步分類到用于該塊大小的一個或多個預定義類別之一內(nèi)。應用多種預定義熵編碼方法之一應用的是針對該預定義塊大小的預定義類別的預定義熵編碼方法。對于某些這樣的實施例,可在兩個階段中考慮分類,第一階段是分類到多個預定義塊大小之一,并且針對每個塊大小,根據(jù)一個或多個因素進一步分類到用于該塊大小的一個或多個類別中。用Ns表示塊大小的數(shù)目,Ns>2,并且用大小1,大小2,...大小Ns來表示塊大小。圖3示出了對圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列進行熵編碼的方法的一個實施例的簡化流程圖,其包括接受有序系列,并且在303中將該系列分類到大小Size (大小)I, Size2, . . .,Size Ns中的塊大小。對于每個塊大小,該方法包括在相應塊307-1,307-2,. . . , 307-Ns中將塊大小分類到多種類別中,用于大小Sizel,Size2, ...,Size Ns的類別的數(shù)目被表示為Nc_l,. . .,Nc_Ns,每個這樣的類別數(shù)目為I或更大。在圖3中類別被示為用于大小I的類別1_1,類別Nc_l,用于大小2的類別1_2,...,類別Nc_2,以及用于大小Ns的類別l_Ns,類別Nc_Ns。在根據(jù)大小進行分類之后,并且如果該大小具有一個以上的預定義類別,則根據(jù)用于該大小的該類別,該方法包括在塊309-1_1,· · ·,309-Nc_l, 309_1_2,…,309_Nc_2,· · ·,309_l_Ns,…,309_Nc_Ns之一中,應用用于該大小和該大小的類別的熵編碼方法。分類并應用用于每個塊大小的類別的熵編碼的流程圖的各部分被示為部分305-1,305-2,. . .,305-Ns。在一些實施例中,該方法包括針對圖片的所有塊或者圖片序列的所有塊形成比特流。該比特流包括針對塊的系列形成的碼字、對足以讓解碼器確定每塊的大小的因素的指示、以及用于所形成的任何碼字序列的塊大小的類別。圖3的實施例假設這樣的比特流,即,該圖片的比特流或者在運動視頻的情況中圖片序列的比特流,包括對足以讓解碼器確定塊大小的因素的指示以及用于任何碼字序列的塊的大小的類別。在替代版本中,該方法包括向塊的任何系列的碼字添加代碼,例如前綴碼,以向解碼器指示該塊的類別。雖然在本發(fā)明的一些實施例中,當已通過大小對塊分類時確定要使用不同熵編碼方法中的哪種方法是根據(jù)一個或多個因素的,例如,是幀內(nèi)編碼還是幀間編碼的、是高分辨率還是低分辨率的、圖像數(shù)據(jù)塊的空間復雜度、QP等等,然而,在本發(fā)明的一些實施例中,塊 的每個大小被預先指派了多種預定義編碼方法和用于該大小的類別,并且因此哪種熵編碼方法被使用是如下確定的計算應用與用于該大小的不同類別相對應的編碼處理的結果,并且將通過應用相應編碼處理而獲得的作為結果的壓縮相比較。產(chǎn)生碼字的最短比特流的類別被選作用于該大小的類別。該方法的流程圖與圖3的流程圖的不同之處在于具有用于Ns個大小的每個大小的不同部分305-1,305-2,. . .,305_Ns。圖4示出了根據(jù)本發(fā)明實施例的方法中用于表示為大小k的大小的表示為305-k的單個部分的流程圖。部分305-k的處理在405-k中包括對于大小為Size k的塊,通過用于大小k的Nc_k類別的Nc_k編碼方法的每種相應編碼處理來對該塊進行編碼的步驟406-1,406-2,. . .,406-Nc_k,并且對結果進行比較以選擇提供最好壓縮的方法,即,選擇針對所編碼的塊提供最少數(shù)目的比特的方法。在步驟407中,為塊選擇最好類別是通過選擇導致所編碼數(shù)據(jù)中的最少比特的編碼來實現(xiàn)的。選擇之后,由于編碼步驟已經(jīng)被執(zhí)行,因此步驟409應用例如作為前綴碼的指示。在一些實施例中,添加前綴碼可以更早執(zhí)行。在部分405-k的一個版本中,對于大小為Size k的塊,對系數(shù)的系列順序地執(zhí)行步驟406-1,406-2, . . .,406-Nc_k。在通過相應處理進行了每個這樣的處理之后,進行比較并且維護用于產(chǎn)生最少數(shù)目的編碼比特的那個處理的碼字集,并且選擇對類別的指示。當然,通過該類別的相應處理中的每個處理進行的編碼可以為任何順序。在用于該系列的每個編碼處理之后,到此為止的最好結果及相應類別被存儲,以使得在步驟406-1,406-2,. . .,406-Nc_k的每個之后,先前存儲的結果被與新計算出的結果相比較。最后,可以得到碼字和最好類別,并且指示該類別的代碼被添加例如作為前綴。在替代版本中,每當在步驟中保存第一或更好結果時就添加前綴。在部分405-k的一個替代版本中,與用于大小k的每個相應類別相對應的編碼處理406-1,406-2,. . .,406-Nc_k在系數(shù)系列上并行地執(zhí)行。在所應用方法的結尾處,對結果進行比較并且如下類別被選擇,根據(jù)該選擇,相應編碼處理產(chǎn)生最少數(shù)目的編碼比特。指示該類別的代碼被添加例如作為前綴。在這里描述的實施例中,熵編碼方法都是可變長度編碼(VLC)方法。然而,本公開不限于這些方法。VLC方法包括識別由一個或多個參數(shù)定義的事件(也稱為符號),并且利用碼字對事件進行編碼以使得,平均而言,更有可能出現(xiàn)的事件通過比用于不太可能出現(xiàn)的事件的相應碼字更短的相應碼字被編碼。在這里描述的實施例中,與事件相對應的碼字的查找使用將事件映射到碼字的一個或多個代碼映射。在這里描述的實施例中,事件到碼字的映射由用于查找要編碼的特定事件的碼字的編碼表來表示,例如VLC表。然而,本領域技術人員將明白,表僅僅是可用來維護用于查找的碼字的一種數(shù)據(jù)結構。因此,“表”是指用于存儲從事件到碼字的映射,例如以使得例如一個值或一組值之類的事件可被查找的任何數(shù)據(jù)結構。量化系數(shù)沿著預定順序的分布可以形成非零系數(shù)的各種簇(cluster)以及未聚集(clustered)的(分離的)非零系數(shù)。聚集和未聚集的系數(shù)的分布取決于許多因素,包括空間圖片塊的復雜度、用于編碼的比特速率、量化參數(shù)QP、塊是被幀間編碼還是幀內(nèi)編碼等等。一般地,與較小和/或不太復雜的塊相比,較大的塊以及對于較復雜的塊可能存在更多聚集的系數(shù)。此外,經(jīng)運動補償?shù)膸g塊可能沒有幀內(nèi)塊復雜,因此,可能具有更多的非零幅度量化系數(shù)的簇。
·
本領域技術人員還將明白,將被使用的VLC表是根據(jù)事件的統(tǒng)計來確定的。在不同版本中,可以基于對類似圖片或圖片序列的測量或者基于假設的統(tǒng)計來假設該統(tǒng)計。此外,本領域技術人員將明白,VLC表不需要僅包括可變長度碼。為了減小任何特定表的大小,相對罕見的一些事件可以通過相應的固定長度碼字而非可變長度碼字被編碼。定義待編碼事件的參數(shù)取決于特定編碼方法,并且可以包括例如系列中位于一個或多個非零值系數(shù)的簇之前的連續(xù)零值系數(shù)的數(shù)目,和/或簇中的連續(xù)非零值系數(shù)的數(shù)目等等,如這里描述的一些VLC方法所說明的。更詳細的一些編碼方法雖然本示例實施例使用這樣的VLC方法作為HVLC及其變體以及RL-VLC及其變體,但是本公開不限于使用這些用于熵編碼的方法。本公開包括有關對不同類別的塊的變換系數(shù)進行編碼的任何不同熵編碼方法,例如VLC方法,類別至少由塊的大小來定義。本公開不限于用于不同類別的塊的任何特定的熵編碼方法。然而,這里描述的示例實施例使用了一些已知VLC方法,并且在此簡要描述這些方法中的一些。參見“熵編碼方法的一些縮寫和說明”章節(jié)?;旌蟅LC混合可變長度編碼(混合VLC,HVLC)包括將該系列分割到第一區(qū)域,例如低頻區(qū)域(可能為整個系列)以及可能的高頻區(qū)域,高頻區(qū)域也可為整個系列,其中每個區(qū)域根據(jù)不同編碼方法被編碼。在一些實施例中,存在兩個以上的區(qū)域,第一區(qū)域是低頻區(qū)域。對于這里的描述,假設了最多兩個區(qū)域。本領域技術人員從這里的描述以及所引用參考文獻中的描述將明確如何將方法修改用于多于兩個區(qū)域的情況。低頻區(qū)域是在其中非零值系數(shù)有可能被聚集成連續(xù)非零值系數(shù)簇的區(qū)域,并且高頻區(qū)域是在其中非零值系數(shù)可能是稀疏的并且被分離的區(qū)域。不同VLC方法被用于對低頻區(qū)域和高頻區(qū)域進行編碼。劃分界限由斷點來定義。因此,針對HVLC及其變體設計的低頻區(qū)域VLC編碼方法可能對于對聚集的變換系數(shù)進行編碼特別有益,而高頻VLC編碼方法,例如,RL-VLC及其變體,可能對于對非聚集或分離的系數(shù)進行編碼更有益。如果HVLC,例如,諸如上下文自適應HVLC (CAHVLC)之類的其變體之一,被應用于對其中更可能形成簇的較大變換塊的系數(shù)進行編碼,并且RL-VLC或者諸如CABAC (基于上下文的自適應二進制算術編碼)或CAVLC (上下文自適應RL-VLC)之類的其變體之一被應用于對較小變換塊的系數(shù)進行編碼,則可以提高編碼效率。低頻區(qū)域編碼方法包括對連續(xù)非零值系數(shù)的簇的位置進行編碼以及對低頻區(qū)域(其可能是整個系列)中的非零值系數(shù)的幅度進行編碼。HVLC的一些變體中的一些低頻編碼方法包括對位置和幅度聯(lián)合地進行編碼。HVLC的一些變體中的一些低頻編碼方法包括考慮到幅度I是簇中最可能出現(xiàn)的非零幅度,因此,對非幅度I非零系數(shù)的位置進行編碼。在HVLC的許多實施例中,斷點是“軟”的,因為如果斷點被確定為在簇的中間,則 斷點被移動以使得低頻區(qū)域在該簇的結尾處結束。在許多低頻區(qū)域方法中,簇的編碼包括對緊隨該簇之后的單個零值系數(shù)進行編碼。在許多高頻區(qū)域編碼方法中,另外的二進制值參數(shù)被用來指示待編碼事件中的非零值系數(shù)是否是該有序系列中的最后的非零值系數(shù)。CAPACCAPAC的實施例中的VLC編碼方法包括對于量化系數(shù)系列的兩路位置和幅度編碼處理。圖5示出了 CAPAC的低頻方法的一個實施例的簡化流程圖,并且包括在503中,利用諸如VLC表之類的多個VLC編碼映射,包括基于上下文的例如VLC表之類的編碼映射之間的切換,來對圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列中的非零值系數(shù)的位置進行編碼。該方法還包括在505中,按該系列的原始順序的逆序利用可變維度幅度編碼來對非零值系數(shù)的幅度進行編碼。該方法還包括在507中,對非零值系數(shù)的符號進行編碼。這些編碼產(chǎn)生碼字。一個實施例還包括在50中將碼字聯(lián)接起來。用于位置編碼的上下文包括可從一個或多個先前編碼事件(例如,位置事件或幅度)得到的一個或多個參數(shù),以使得對當前事件(例如,位置事件或(一個或多個)幅度)進行編碼的編碼處理可以在對當前事件進行編碼時得到該上下文。在一個CAPAC實施例中,該上下文的一個或多個參數(shù)包括最有可能出現(xiàn)的幅度的最大運行長度。在一個實施例中,上下文的一個或多個參數(shù)還包括或者取代地包括與最有可能出現(xiàn)的幅度以外的幅度的最近運行長度。在一個實施例中,上下文的一個或多個參數(shù)還包括或者取代地包括正被編碼的系數(shù)的相對頻率,例如,指示正被編碼的系數(shù)的相對頻率的已被編碼的系數(shù)總數(shù)。在CAPAC的一個實施例中,可變維度幅度編碼使用各自將事件映射到碼字的多種可變長度編碼映射,并且包括基于上下文的在編碼映射之間的切換。在一個實施例中,編碼映射的切換所基于的上下文的一個或多個參數(shù)包括先前編碼的最大幅度。HVLC3DPA圖6示出了 HVLC3DPA (即,具有3D位置和幅度編碼的HVLC)的低頻區(qū)域編碼的一個實施例的簡化流程圖。該方法包括在603中,結合指示在非零系數(shù)簇中具有幅度I的拖尾系數(shù)的數(shù)目的參數(shù),將非零值量化系數(shù)的每個簇的運行長度和每個簇的之前的零系數(shù)的運行長度一起編碼為一對。在605中通過一維VLC映射(例如編碼表),來單獨對其余幅度編碼。該方法包括在607中對符號進行編碼,以及在609中在該系列中存在多于一個區(qū)域的情況下,對其余區(qū)域中的系數(shù)進行編碼。對于記號,考慮將HVLC3DPA (即,具有3D位置和幅度編碼的HVLC)用于一個序列或其一部分的情況。在該情況中,C3d表示用于由非零值系數(shù)的簇(包括緊隨該簇之后的零值系數(shù))定義的事件的3DPA碼字,對于塊中的第一事件表示為C3D(R^RnzJDLn)形式,對于其他表示為C3D (Rz-l,Rnz, T1, Ln)形式,其中Rz表示位于該非零簇之前的零值系數(shù)的運行。Rnz表示連續(xù)非零值系數(shù)的運行。T1表示在該非零系數(shù)簇中幅度為I的拖尾系數(shù)的數(shù)目。
Ln表示指示其是否是該有序序列中的最后一個非零系數(shù)的二進制值。在該記號中,Ln=I指其是最后一個非零值系數(shù)。Ca (Level)表示針對幅度值Level (級別)的一維幅度碼字,Level表示所有其余非零系數(shù)的幅度。一個例外是緊鄰拖尾的I之前的系數(shù)的幅度被減少1,因為該幅度必定大于I。作為示例,考慮有序系列9-53-2100211000-1100110. · ·其被分類為利用HVLC3DPA的低頻區(qū)域被編碼,即,斷點被設置為使得僅存在低頻區(qū)域。忽略用于系數(shù)的符號的代碼,該系列通過如下碼字序列被編碼C3d (0,5,1,O) Ca (9) Ca (5) Ca (3) Ca (I) C3d (1,3,2,O) Ca (I) C3d (2,2,2,O)C3d(1,2,2,0)...CAHVLC在一些實施例中,CAHVLC將在HVLC3DPA中描述的VLC方案與CAPAC的上下文自適應本質(zhì)結合起來。圖7示出了量化變換系數(shù)的有序系列的CAHVLC的一個方法實施例的簡化流程圖。該方法包括在703中,除非僅存在一個區(qū)域,否則定義將系列分割成第一(低頻)區(qū)域和第二(高頻)區(qū)域的斷點。該方法還包括在第一(低頻)區(qū)域中,對有序系列進行編碼,該有序系列被編碼為前面是運行長度為Rz,Rz ^ O的多個連續(xù)的零并且后面跟隨著一個零的、運行長度為Rnz, Rnz彡I的連續(xù)非零值系數(shù)的簇的序列。例如,系數(shù)序列9530130010. · ·(全O)被編碼為三個系數(shù)簇9530,130和010。在705,在第一區(qū)域中,該方法包括對事件的位置進行編碼,每個事件包括Rnz,Rnz ^ I的非零值量化系數(shù),該編碼使用多個預定VLC映射,例如,VLC表,包括首先選擇初始位置VLC映射,然后根據(jù)一個或多個位置VLC選擇標準(包括至少一個基于上下文的標準)在位置VLC映射之間進行切換。針對低頻區(qū)域中的所有事件重復此操作。該方法包括在707中,對于第一區(qū)域,如果事件的位置編碼留下了待編碼的任何非零幅度值,則根據(jù)多個預先選擇的幅度VLC映射(例如VLC表)之一(包括首先選擇例如表之類的幅度VLC映射,并且然后根據(jù)一個或多個幅度VLC選擇標準(包括至少一個基于上下文的標準)在多個幅度VLC映射之間進行切換),來按該系列的原始順序的逆序來對簇或區(qū)域中的待編碼非零幅度值的幅度進行編碼。針對所有簇重復此操作。在709,該方法包括對符號進行編碼,并且在711,將碼字聯(lián)接起來。在該系列中存在一個以上的區(qū)域的情況中,例如,對于混合可變長度編碼,該方法包括在713中對其余(一個或多個)區(qū)域中的系數(shù)進行編碼。
在一個版本中,每個系數(shù)簇由后面跟隨有一定數(shù)量的一維幅度(IDA)事件的一個三維位置幅度(3DPA)事件來表示。每個3DPA事件具有(Rz,Rnz, T1)形式,其中Rz,Rnz分別是零和非零的運行長度,并且T1 ( Rnz是該簇中具有大小I的拖尾系數(shù)的數(shù)目。例如,系數(shù)簇000621110將由具有兩個其余幅度(6和2)的3DPA事件(3,5,3)來表示;另一簇000612110將由具有三個其余幅度(6,I和2)的3DPA事件(3,5,2)來表示。每個簇中T1個拖尾I之外的大小按逆掃描順序通過IDA被編碼。換言之,編碼開始于該簇中緊鄰T1個拖尾I之前的非I系數(shù),并且向較低頻率移動。例如,對于系數(shù)簇000612110,三個其余幅度(6,1,2)需要另外的一維幅度編碼。多個編碼表被用于3DPA和IDA編碼兩者,并且編碼表基于可從經(jīng)編碼的相鄰塊或可從當前正被編碼的塊的經(jīng)編碼部分得到的上下文信息而自適應地被選擇。在CAHVLC中,三個上下文在預測系數(shù)分布和確定VLC表時被采用(I)相鄰塊中的非零系數(shù)數(shù)目,被用來預測當前塊中的非零系數(shù)數(shù)目;(2)當前塊中的先前編碼系數(shù)簇中的非零運行和零運行的
運行長度;(3)當前塊(按逆序)的每個非零簇中的先前編碼的非零系數(shù)的大小。CABAC, CAVLC 和 C2DVLC由于CABAC和CAVLC在公知的廣泛使用的H. 264/AVC標準中有所描述,因此在這里不提供這些方法的詳細描述。類似地,C2DVLC是針對中國的AVS (中國音視頻編碼標準)描述的RL-VLC的變體。CAVLC利用經(jīng)量化的4x4塊的若干特性,包括有序系列通常是稀疏的,主要包含零。CAVLC使用運行級別編碼來緊湊地表示零的運行。CAVLC還使用如下觀察結果次序中最高的非零系數(shù)常常具有幅度I。高頻幅度I系數(shù)的數(shù)目被稱為“拖尾1”,并且以緊湊方式被編碼。一種實現(xiàn)方式僅允許多達三個拖尾I。任何更多的拖尾I被視為它們具有大于I的非零幅度。CAVLC還有利地利用相鄰塊中的非零系數(shù)的數(shù)目是相關的。利用查找表來對系數(shù)的數(shù)目進行編碼;查找表的選擇取決于相鄰塊中非零系數(shù)的數(shù)目。CAVLC還有利地利用非零系數(shù)的大小在接近DC系數(shù)的有序序列開頭處往往較高,往更高頻率則較低。CAVLC通過依據(jù)最近被編碼的級別大小針對“ level ”參數(shù)適配VLC查找表的選擇來利用這一點。圖8示出了用于對量化變換系數(shù)的該有序序列進行編碼的CAVLC的概括的一個實施例的簡化流程圖,并且包括在803中,形成由非零系數(shù)的數(shù)目和拖尾的幅度I系數(shù)的數(shù)目定義的聯(lián)合事件。最后三個以外的任何拖尾的幅度I都被作為非幅度I系數(shù)對待。該方法還包括在805中,例如利用第一 VLC方法,例如,利用第一 2D VLC表,來對聯(lián)合事件進行編碼,并且在807中,對每個拖尾I的符號進行編碼。該方法還包括在809中,利用級別編碼方法(例如,可變長度編碼(VLC)方法)例如,使用從多個(例如7個)VLC表中選擇的VLC表,按逆序來對其余非零系數(shù)的值進行編碼,以依據(jù)每個相繼編碼值的大小來適應性地對每個值編碼。這就是所謂的上下文自適應性質(zhì)。該方法還包括在811中,對最后一個系數(shù)之前的零的總數(shù)進行編碼,在一種實現(xiàn)方式中該編碼使用VLC。該方法還包括在813中,通過從最高頻率開始按逆序?qū)γ總€非零系數(shù)之前的零的數(shù)目(Rz,運行長度)進行編碼來對非零系數(shù)的位置進行編碼,除非(a)如果沒有待編碼的零剩下,則不需要對任何更多的Rz值進行編碼,并且不需要對最后的(最低頻率)非零系數(shù)進行編碼。在一個版本中,位置的編碼使用位置編碼方法,通常,該方法是利用VLC表對在前的零的運行長度進行編碼的VLC編碼方法。VLC是取決于(a)尚未被編碼的零的數(shù)目和(b)Rz的值來選擇的。該方法還包括在815中,將通過編碼產(chǎn)生的碼字聯(lián)接起來以形成用于該有序系數(shù)序列的一組碼字一比特流。如果存在另外的區(qū)域,則該方法包括對這些區(qū)域中的量化系數(shù)進行編碼。CAVLC的一種改進包括針對第一位置編碼方法的、在非零系數(shù)的位置的編碼中稱為“混合運行長度位置編碼”的方法。取代僅對零的運行長度進行編碼,一種混合編碼方法實施例包括依據(jù)留待編碼的零系數(shù)和非零系數(shù)的數(shù)目,對一連串零系數(shù)的運行長度或一連串非零系數(shù)的運行長度中的總有一個進行重復編碼。
對于記號,考慮被分類為使用將RL-VLC用于第二高頻區(qū)域的HVLC的有序系列,例如,考慮在H. 265/AVC中使用的CAVLC被用于(可以為整個系列的)該系列的高頻區(qū)域的類別。對于該區(qū)域Cel(Rz, Level, Ln)表示由三個參數(shù)定義的事件的碼字,其中Rz :表示位于非零值系數(shù)之前的連續(xù)非零系數(shù)的運行長度,可能為O。Level (級別)表示緊隨在前的零值系數(shù)的運行之后的非零系數(shù)的幅度。Ln表示指示其是否是該有序系列中的最后一個非零系數(shù)的二進制值。在我們的記號中,Ln=I是指其是最后的非零值系數(shù)。例如,考慮被分類到使用HVLC3DPA且將CAVLC用于高頻區(qū)域的類別中的有序系列,并且考慮示例有序系列9-53-2100211000-1100010.··假設斷點被設在14處,并且其是軟斷點,因為其并不打斷一個簇。忽略用于符號的碼,碼字序列為C3d (O, 5,I, O) Ca (9) Ca(5) Ca (3) Ca(I) C3d (I, 3,2,O) Ca(I) C3d (2,2,2,O) Cel (2,I, I)...作為另一示例,考慮被分類為使用將RL-VLC用于第二高頻區(qū)域的HVLC的有序系列,例如,考慮在AVS中使用的C2DVLC被用于(可以為整個系列的)該系列的高頻區(qū)域的類別。對于這樣的區(qū)域,碼字的記號與CAVLC的相同,差別在于在AVS中,(2D變換域中的掃描)順序是從高頻到低頻的逆方向。系列中的指示符號和最后一個非零系數(shù)本領域技術人員將明白,存在用于指示有序系列中的每個非零值系數(shù)的符號的許多方式。在這里提供的任何示例中未示出指示符號的任何碼字。本領域技術人員還將明白,存在用于指示系列中的最后一個非零值系數(shù)的許多方式。一種方法使用特殊碼字來指示系列的末尾,即,指示系列的其余部分僅具有零值系數(shù)。另一方法向每個正被編碼的事件添加二進制值指示符以指示該事件是否是具有非零值系數(shù)的最后一個事件,即,該有序系列的其余部分僅由零組成。當后一方法被使用來例如對3DPA事件進行編碼時,存在四個參數(shù)而非三個參數(shù),表示為Ln的最后一個參數(shù)是有序系列的其余部分僅包括零值系數(shù)的指示符。類似地,在這里的CAVLC示例中,由Rz和Level定義的2D RL事件包括表示為Ln的第三參數(shù)以指示該事件包括該有序系列中的最后一個非零幅度。本領域技術人員將明白,通常,為了縮短編碼映射的大小,例如,VLC表的大小,一些碼字可以通過后面跟隨著不涉及表查找的所計算出的碼字的“逃脫”碼來從事件中被確定。這樣的方法符合本發(fā)明的實施例。
可通過以下示例來最好地圖示說明本發(fā)明的各方面 一些示例分類和用于其的編碼方法在以下示例中,考慮如下變換編碼方法,該方法將多種不同塊大小用于變換,例如32x32,16x16,8x8,4x4 的 4 種塊大小或 64x64,32x32,16x16,8x8,4x4 的 5 種塊大小,或者不需要塊為正方形的另外的多種大小。根據(jù)本發(fā)明一個實施例的方法包括將圖片的每個塊分類到多種預定義塊類別之一,并且對于任何塊類別,使用為該塊大小預定義的熵編碼方法(例如,VLC方法),以使得多種熵編碼方法被用于具有多種塊類別的塊的圖片。分類到塊大小至少是根據(jù)塊的大小進行的。對于每個被分類的塊,相應編碼方法可以包括HVLC,其中,量化變換系數(shù)的有序系列根據(jù)該系列中的非零值系數(shù)的分布以及用于對每個區(qū)域中的量化系數(shù)進行編碼的不同編碼方法而被分割成兩個或兩個以上的區(qū)域。在以下示例中,下面的VLC方法用于不同類別,多于一種方法被用于為其使用了HVLC的變體之一的類別,并且存在由(軟)斷點劃界的低頻區(qū)域和高頻區(qū)域,以使得界線從 不位于非零值系數(shù)簇的中間。具有64x64大的塊大小的分類示例類別號1塊大小64χ64(16η χ16η)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個系列,即,整個頻譜的CAHVLC。注意高分辨率視頻往往使用大的塊大小。類別號2塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個系列的CAHVLC,但是具有與針對64x64塊大小的類別不同的VLC表。注意高分辨率視頻往往使用大的塊大小。類別號3塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度,尤其是幅度I為主,并且這些非零系數(shù)在該系列(頻譜)的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個系列的HVLC3DPA。
注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-1100110.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca(I) C3d (2,2,2,O) C3d (1,2,2,0)...類別號4塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù) 具有大的幅度并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具體地,針對低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的在H. 264/AVC中使用的CAVLC。注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-1100010.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (2, I, I)...類別號5塊大小16x16(4n x4n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在該系列,即整個頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的CAHVLC,具有與針對32x32塊大小類別而使用的CAHVLC不同的VLC表。注意高分辨率視頻往往使用大的塊大小。類別號6塊大小16x16(4n x4n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主)并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的在AVS中使用的C2DVLC。注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-11000000001.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (7, I, I)...類別號7塊大小8x8(2nx2n)
與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC2DP1DA,以及RL_VLC,具體地,用于高頻區(qū)域的在AVS中使用的C2DVLC。類別號8·塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主),并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的在AVS中使用的C2DVLC。類別號9塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度并且它們在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、低分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,在AVS中使用的C2DVLC。示例序列:0000100201000-1000110.· ·碼字(不包括用于符號的碼)CEL(4, I, O) Cel (2, 2, O) Cel (I, I, O) Cel(3, 1,0)Cel (3, I, O) Cel(O, I, I)類別號10塊大小4x4(nxn)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度并且它們在整個的有序系列中,即,在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,在H. 264/AVC中使用的CAVLC。示例序列:9-500100201000-1000110.· ·碼字(不包括用于符號的碼)CEL(O, 9,O) Cel (O, 5,O) Cel (2, I, O) Cel(2, 2,O)Cel (I, I, O) Cel(3, I, O) Cel(3, I, O) Cel (O, I, I)類別號11塊大小4x4(nxn)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主)并且它們在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、低分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,CAVLC,但是具有替代編碼方案以利用占主要地位的低幅度系數(shù),例如,使用ICAVLC具有32x32大的塊大小的分類示例類別號1塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù) 具有大的幅度,并且它們在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的CAHVLC。注意高分辨率視頻往往使用大的塊大小。類別號2塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是I為主),并且它們在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的HVLC3DPA。注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-1100110.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca(I) C3d (2,2,2,O) C3d (1,2,2,0)...類別號3塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的(在H. 264/AVC中使用的)CAVLC。注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-110001.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (2, I, I)...類別號4塊大小16x16(4n x4n)
與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的CAHVLC (具有與32x32塊大小不同的VLC表)。注意高分辨率視頻往往使用大的塊大小。類別號5塊大小16x16(4n x4n) 與典型的這樣的量化系數(shù)系列有關的觀察沿著預定路徑的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主)并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的(在AVS中使用的)C2DVLC。注意高分辨率視頻往往使用大的塊大小。示例序列:9-53-2100211000-11000000001.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (7, I, I)...類別號6塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度,并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC2DP1DA,以及RL_VLC,具體地,用于高頻區(qū)域的(在AVS中使用的)C2DVLC。類別號7塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主),并且它們在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及RL_VLC,具體地,用于高頻區(qū)域的(在AVS中使用的)C2DVLC。類別號8塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度并且它們在頻譜的大部分中發(fā)散。
確定類別的(一個或多個)示例性其它因素幀間、低分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,(在AVS中使用的)C2DVLC。示例序列:0000100201000-1000110.· ·碼字(不包括用于符號的碼)CEL(4, I, O) Cel (2, 2,O) Cel (I, I, O) Cel(3, I, O)Cel (3, I, O) Cel(O, I, I)類別號9
塊大小4x4(nxn)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有大的幅度并且它們在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率/低QPo 用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,(在H. 264/AVC中使用的)CAVLC。示例序列:9-500100201000-1000110.· ·碼字(不包括用于符號的碼)CEL(O, 9,O) Cel (O, 5,O) Cel (2, I, O) Cel(2, 2,O)Cel (I, I, O) Cel(3, I, O) Cel(3, I, O) Cel (O, I, I)類別號10塊大小4x4(nxn)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)具有小的幅度(尤其是以I為主)并且它們在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、低分辨率、簡單場景、低比特速
率/高QP。用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,CAVLC,但是具有替代編碼方案以利用占主要地位的低幅度系數(shù),例如,使用ICAVLC。具有32x32大的塊大小和五個類的分類示例類別號1塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)在頻譜的大部分中聚集。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、高比特速率、低QPo用于該類別的(一個或多個)預定義編碼方法將HVLC3DPA用于針對整個有序系列的HVLC。示例序列:9-53-2100211000-1100110.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca(I) C3d (2,2,2,O) C3d (1,2,2,0)...類別號2
塊大小32x32(8nx8n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、高分辨率、復雜場景、低比特速率、高QPo用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及用于高頻區(qū)域的RL_VLC。9-53-2100211000-1100010. · ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (2, I, I)... 類別號3塊大小16x16(4n x4n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的非零系數(shù)在低頻區(qū)域中聚集并在高頻區(qū)域中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、復雜場景、高比特速率、低QPo用于該類別的(一個或多個)預定義編碼方法HVLC,具有用于低頻區(qū)域的HVLC3DPA,以及用于高頻區(qū)域的RL_VLC。示例序列:9-53-2100211000-1100010.· ·碼字(不包括用于符號的碼)C3D(0,5, 1,O)Ca(9)Ca(5)Ca⑶Ca⑴C3d(1,3,2,O)Ca (I) C3d (2,2,2, O) Cel (2, I, I)...類別號4塊大小8x8(2nx2n)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀間、低分辨率、簡單場景、低比特速率、高QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,(在AVS中使用的)C2DVLC。示例序列0000100201000-1000110...(從高頻到低頻的量化系數(shù)的逆序)碼字(不包括用于符號的碼)CEL(4, I, O) Cel (2, 2,O) Cel (I, I, O) Cel(3, I, O)Cel (3, I, O) Cel(O, I, I)類別號5塊大小4x4(nxn)與典型的這樣的量化系數(shù)系列有關的觀察沿著該系列的順序的大多數(shù)非零系數(shù)在頻譜的大部分中發(fā)散。確定類別的(一個或多個)示例性其它因素幀內(nèi)、高分辨率、簡單場景、低比特速率、高QPo用于該類別的(一個或多個)預定義編碼方法針對整個有序系列的RL_VLC,具體地,(在H. 264/AVC中使用的)CAVLC。示例序列:9-500100201000-1000110.· ·碼字(不包括用于符號的碼)CEL(O, 9,O) Cel (O, 5,O) Cel (2, I, O) Cel(2, 2,O)Cel (I, I, O) Cel(3, I, O) Cel(3, I, O) Cel (O, I, I)解碼雖然以上描述的主要是編碼方法,但是本領域技術人員將明白,本描述還涉及對由這里描述的任何編碼實施例編碼的比特流進行解碼的解碼方法和裝置。該解碼方法包括接受包含有通過上述編碼方法編碼的碼字的比特流,包括識別該比特流中的碼字并且對碼字進行解碼。利用VLC映射,例如,VLC表來對碼字進行解碼。此外,解碼方法包括將塊的
碼字分類到相應類別中或者識別類別所包括的代碼,以使得解碼是針對該類別的預定義編碼方法的。對于上下文自適應VLC方法,根據(jù)在編碼中使用的一個或多個基于上下文的選擇標準來選擇用于解碼的VLC表。由于任何經(jīng)解碼的信息項可由編碼器在解碼處理中使用,因此在碼字的解碼期間,任何基于上下文的選擇標準是已知的或者可從一個或多個先前解碼信息項得到。例如,任何表切換使用例如與正被編碼的塊相鄰的(一個或多個)塊的先前解碼系數(shù)的信息和/或正被解碼的塊內(nèi)的先前解碼系數(shù)的信息,根據(jù)與編碼方法使用的相同標準將用于特定碼字的VLC表包括在解碼方法中。在針對某類別的預定義編碼方法是混合方法以使得該系列包括第一(低頻)區(qū)域和一個或多個其它區(qū)域的情況中,編碼方法包括對所有區(qū)域進行編碼。解碼方法包括對所有區(qū)域的那些碼字進行解碼。裝置實施例具體實施例包括裝置實施例,該裝置實施例包括分類器,被配置為接受圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列并且根據(jù)包括該圖像數(shù)據(jù)塊的大小在內(nèi)的一個或多個因素將所接受系列分類到多種預定義類別中的類別內(nèi)。該裝置實施例還包括熵編碼器,被耦合到分類器并被配置為接受該有序系列并且向所接受的有序系列應用多種預定義熵編碼方法之一以形成碼字序列。熵編碼方法是根據(jù)所接受系列的類別被應用的。如在方法實施例中一樣,對于至少兩種不同預定義類別的不同大小的有序系列,不同預定義熵編碼方法被應用于這些不同預定義類別。在預定義編碼方法之一包括上下文自適應HVLC (CAHVLC)方法的情況中,該編碼器包括聯(lián)合編碼器,聯(lián)合編碼器被配置為在該系列的第一區(qū)域(對于一些類別,其可以為整個系列)中,對各自由連續(xù)非零值系數(shù)的簇定義的幅度事件和聯(lián)合位置進行編碼,每個事件由如下三個參數(shù)定義位于該簇之前的零值系數(shù)的數(shù)目、該簇中的非零值系數(shù)的數(shù)目以及指示該簇中具有幅度I的拖尾非零值系數(shù)的數(shù)目的第三參數(shù),其中該編碼根據(jù)3維聯(lián)合VLC表進行。在一些實施例中,對于簇長度2,第三參數(shù)指示兩個量化系數(shù)中的哪個具有幅度I。在一些實施例中,對于簇長度1,第三參數(shù)指示非零幅度的值。用于對CAHVLC進行編碼的編碼器還包括幅度編碼器,幅度編碼器被配置為對未通過聯(lián)合編碼被編碼的非零值系數(shù)進行編碼,例如,對幅度I拖尾系數(shù)之外的系數(shù)進行編碼。這樣的幅度包括相對于幅度I的次最有可能出現(xiàn)幅度,其為幅度2。在一些實施例中,系數(shù)幅度編碼器對于指示幅度的每個值使用1-D VLC0 一個實施例單獨對不與拖尾幅度I系數(shù)相鄰的非零值系數(shù)進行編碼,然后對這樣的值,即,相鄰非零系數(shù)的幅度值減I進行編碼,因為該系數(shù)具有大于I的幅度。在預定義編碼方法之一包括具有量化修改的上下文自適應HVLC (CAHVLC)方法的情況中,編碼器包括量化修改器,量化修改器被配置為局部修改量化器所生成的量化以減少需要被編碼的事件的數(shù)目并且縮短經(jīng)編碼比特流長度,局部修改包括一種或多種量化修改方法。該裝置還包括符號編碼器,符號編碼器被配置為對非零值系數(shù)的符號進行編碼。利用混合可變長度編碼方法進行編碼的編碼器的一個實施例在為該有序系列定義了兩個或兩個以上的區(qū)域的情況中,對其余區(qū)域的系數(shù)進行編碼。該編碼器還包括被配置為將得到的碼字聯(lián)接 起來的聯(lián)接器。圖9示出了包括裝置900的實施例,裝置900被配置為實現(xiàn)如這里描述的,例如如圖1中描述的編碼方法。裝置1100包括處理系統(tǒng)1103,處理系統(tǒng)1103包括一個或多個處理器1105和存儲器1107。該裝置被配置為接受通過固定的量化方法來量化的量化變換系數(shù)的有序系列。在圖9中示出了單個處理器,但本領域技術人員將理解,其可以代表若干個處理器。類似地,示出了單個存儲器子系統(tǒng)907,并且本領域技術人員將理解,該存儲器子系統(tǒng)可以包括諸如RAM,ROM之類的不同元件。另外,該存儲器子系統(tǒng)意欲包括任何非易失性存儲器存儲裝置,例如磁或光存儲組件。計算機程序909被包括并被載入存儲器907中。注意,如本領域技術人員將明白的,在任何時候,程序中的一些可位于存儲器子系統(tǒng)的不同部分中。程序907包括指令以指示處理器實現(xiàn)分類器和在不同版本中針對如這里描述的相應的不同預定義塊類別而包括的相應不同編碼方法。在所示實施例中,該方法使用存儲器子系統(tǒng)907中的一個或多個編碼表911。圖10示出了被配置為對通過預定義編碼方法來編碼的比特流進行解碼的解碼器的一個實施例。該裝置包括輸入緩沖器1001,輸入緩沖器1001被配置為接受通過壓縮方法來編碼的比特流,該壓縮方法包括這里描述的任何編碼方法實施例。該緩沖器的輸出用作類別確定器和碼字識別器1003的輸入。元件1003包括類別確定器1003以及在基于上下文的編碼的情況中的上下文確定器。類別確定器1003接受輸入比特流的比特并且被配置為確定哪種編碼方法被使用,因此確定如何識別碼字、確定碼字以及使用哪些編碼表來查找每個碼字。解碼器1005被耦合到碼字識別器和類別確定器1003并且被配置為針對該塊的類別來確定用于由碼字識別器識別出的碼字的數(shù)據(jù),對于這里描述的任何位置編碼方法,包括這樣的碼字識別器該碼字識別器可依據(jù)所使用的位置編碼而確定非零值系數(shù)或零值系數(shù)的位置。該類別確定器和碼字識別器還依據(jù)該塊的類別和相應編碼方法來識別其它碼字,所述其它碼字對通過編碼方法來編碼的其它參數(shù)進行編碼,其它參數(shù)包括非零值、對拖尾系數(shù)數(shù)目的指示等等。類別確定器和碼字識別器1003還提供信息以使得解碼器1005能夠確定作為要使用的解碼表的編碼表。在一些實施例中,解碼器1005包括查找存儲在存儲器1007中的適當解碼表的查找設備。該表提供用于碼字序列中的至少一些碼字的事件。其它碼字可以包括“逃脫”碼,以使得解碼可以不通過表查找方法進行。雖然在圖10所示實施例中,存儲器被示為與查找設備(解碼器)1005分離,但是本領域技術人員將明白,在其它實施例中,查找設備1005包括用于表的存儲器,并且這樣的其它實施例被包括在此。
圖11示出了包括裝置1300的另一實施例,裝置1300被配置為實現(xiàn)這里描述的可變長度編碼方法的解碼器。解碼裝置1100包括具有一個或多個處理器1105和存儲器1107的處理系統(tǒng)1103。在圖11中示出了單個處理器,但本領域技術人員將理解,其可以代表若干處理器。類似地,示出了單個存儲器子系統(tǒng)1307,并且本領域技術人員將理解,該存儲器子系統(tǒng)可以包括諸如RAM,ROM之類的不同元件。另外,該存儲器子系統(tǒng)意欲包括任何非易失性存儲器存儲裝置,例如磁或光存儲組件。計算機程序1109被包括并被載入存儲器1107中。注意,如本領域技術人員將明白的,在任何時候,程序中的一些可位于存儲器子系統(tǒng)的不同部分中。程序1109包括指令以指示處理器在不同版本中實現(xiàn)對塊類別的識別、對碼字的識別以及對碼字的解碼。在所示實施例中,解碼方法使用存儲器子系統(tǒng)1107中的一個或多個編碼表1111。存儲器子系統(tǒng)的一部分還可以用作進入的比特流的緩沖器,該進入的比特流包括待解碼的碼字。其它實施例其它實施例包括在一個或多個有形計算機可讀存儲介質(zhì)中被編碼的邏輯,該邏輯供運行并且當被運行時使得執(zhí)行這里描述的編碼方法中的任一個。本領域技術人員將從這里的描述中清楚如何實現(xiàn)該邏輯。其它實施例包括在一個或多個有形計算機可讀存儲介質(zhì)中被編碼的邏輯,該邏輯供運行并且當被運行時用于執(zhí)行這里描述的解碼方法中的任一個。本領域技術人員將從這里的描述中清楚如何實現(xiàn)該邏輯。其它實施例包括在其上編碼了指令集的計算機可讀存儲介質(zhì),當該指令集被處理系統(tǒng)的一個或多個處理器運行時,使得執(zhí)行這里描述的編碼方法中的任何編碼方法。其它實施例包括在其上編碼了指令集的計算機可讀存儲介質(zhì),當該指令集被處理系統(tǒng)的一個或多個處理器運行時,使得執(zhí)行這里描述的解碼方法中的任何解碼方法。 其它觀察這里針對量化系數(shù)系列使用的術語“系列”(series)有時被稱為系數(shù)的“塊”,并且也稱為系數(shù)的“系列”。有時使用術語系數(shù)序列。本領域技術人員將明白,這些術語可互換使用并且本領域技術人員將從上下文清楚含義。此外,在說明書中,假設該系列僅包括AC系數(shù),并且塊的變換的DC系數(shù)被單獨編碼。本領域技術人員將清楚如何修改這里描述的方法以包括DC系數(shù)。此外,在示例實施例的描述中,假設了系數(shù)的量化使得零是最有可能出現(xiàn)的量化幅度并且I是次最有可能出現(xiàn)的量化幅度。當然,可以以如下方式進行量化該方式使得其它值或事件被用于最有可能出現(xiàn)的一個或多個量化值,并且不同的其它值或事件被用于次最有可能出現(xiàn)的一個或多個量化值。本領域技術人員將明白,如何修改這里描述的具體方法以容納這些變體,并且這些變體是本發(fā)明的其它實施例。此外,本發(fā)明的實施例不限于任何一種類型的體系結構或任何一種類型的變換編碼或遵循某標準的變換編碼。此外,雖然示例實施例包括將系列分類到多個預定義類別之一內(nèi)并且將預定義熵編碼方法映射到每種類別,但是本發(fā)明的其它實施例不限于這里描述的VLC方法或者這里提供的示例中的類別的數(shù)目或者這里提供的示例的塊大小。作為示例,具有局部可變量化的上下文自適應混合可變長度編碼CAHVLC(LV)可被用于一些更大的塊。CAHVLC的效率中的一些來自于其聯(lián)合編碼性質(zhì),例如,將零系數(shù)和非零系數(shù)的相應運行長度與拖尾I一起表示為3元組并且通過更高維可變長度編碼對其進行編碼,并且將自適應編碼表切換用于位置編碼和幅度編碼兩者。如果更少的編碼(3DPA和IDA)事件可用來表示整個變換系數(shù)系列并且/或者如果針對每個塊的編碼事件可以通過消除圖片的每塊中的編碼事件的局部變化而更好地與編碼表切換趨勢相匹配,則可以進一步提高編碼效率。CAHVLC (LV)包括根據(jù)局部狀況而局部地改變量化以便減少需要用來表示變換系數(shù)系列的編碼事件數(shù)目并且/或者在將編碼事件與編碼表切換趨勢相匹配的同時保持引入的失真較小。例如,可以包括以下量化修改中的一個或多個(I)在被分離的小的非零系數(shù)(比如I)之前有一系列零且后面跟隨著一系列零的情況中,其中,該被分離的小的非零系數(shù)被量化為零以使得單個3DPA事件可以表示長得多的系數(shù)系列。非零系數(shù)的大小較小,例如為1,通常僅引入小的失真(由于將系數(shù)量化為零引入的)。(2)在被分離的零系數(shù)之前有一系列非零系數(shù)且后面跟隨著一系列非零系數(shù)的情·況中,被分離的零系數(shù)被量化為非零值,例如1,以使得其可通過一個3DPA事件被編碼而不會引入顯著失真。(3)在一對小的系數(shù)(01)之前有一系列非零系數(shù)且后面跟隨著一系列零系數(shù),例如需要三個3DPA事件來編碼的(...85321010005310000...)的情況中,一種或兩種方式被用來通過以(00)或(11)取代(01)來減少編碼事件的數(shù)目。(4)在一對小的系數(shù)(10)之前有一系列零系數(shù)且后面跟隨著一系列非零系數(shù),例如需要三個3DPA事件來編碼的(...85321000105310000...)的情況中,用來減少編碼事件數(shù)目的如下兩種方式之一被使用以(00)或(11)取代(10)。(5)在小的非零非幅度I的系數(shù)(例如幅度為2的系數(shù))之前有一系列幅度為I的系數(shù)且后面跟隨著一系列幅度為I的系數(shù)的情況中,幅度為2的系數(shù)被量化為具有幅度1,以使得更多系數(shù)可通過拖尾幅度I系數(shù)的數(shù)目(T1)被編碼,從而使得更少的系數(shù)需要通過另外的IDA編碼被編碼。通過修改一個小的系數(shù),減少了編碼事件的數(shù)目。本公開不依賴于任何特定類型的幀間編碼(如果被使用的話)或者運動補償(如果被用于幀間編碼的話),或者任何幀內(nèi)估計(如果被用于利用來自相鄰塊的信息估計塊的像素的話)。注意,可變長度編碼有時稱為熵編碼或統(tǒng)計編碼。注意,術語編碼(coding)和編碼(encoding)在此可互換使用。注意,術語系列指量化變換系數(shù)的有序系列,除非另外指示。注意,幅度指量化之后的幅度,除非在此另外指示。還注意,零值和非零值是指根據(jù)量化方法進行量化之后的幅度值,以使得零是最有可能出現(xiàn)的量化幅度,I是次最有可能出現(xiàn)的量化幅度。類似地,在提到系數(shù)的值的情況中,將明白,該術語是指量化的值,除非另外指示或者從情境中能夠清楚。在上述實施例的一些中,包括有無符號數(shù)據(jù)。大多數(shù)變換產(chǎn)生正的和負的系數(shù),并且碼字的形成包括對任何非零值量化系數(shù)的符號的指示。在一個版本中,任何區(qū)域中的非零幅度的任何運行的符號信息與每個幅度的信息一起被添加。在替代實施例中,任何區(qū)域中的非零幅度的任何運行的符號信息可以不同方式被包括,例如作為用于符號系列的代碼。用于對符號進行編碼的其它替代實施例也是可以的。本領域技術人員將明白,本發(fā)明的實施例不限于用于包括符號信息的任何特定機制。注意,在用于幅度編碼的一些示例中,不同數(shù)目的可能的非零值可被假設用于系數(shù)。然而,本發(fā)明的實施例不限于任何數(shù)目的可能的量化值。還注意,術語幅度與符號無關。因此,例如,值+1和-1的系數(shù)都具有幅度I。雖然這里描述的一個實施例包括存儲編碼表的存儲器,然而其它實施例以表之外的數(shù)據(jù)結構(例如,包括樹的結構)的 形式來存儲編碼信息。其它數(shù)據(jù)結構也可被使用。類似地,雖然這里描述的一個實施例包括存儲解碼的存儲器,然而其它實施例以用于解碼的表之外的數(shù)據(jù)結構的形式來存儲解碼信息。還注意,本公開不依賴于用于任何編碼方法(例如,編碼表)的特定類型的可變長度編碼,并且例如,可以利用霍夫曼編碼和算術編碼方法進行工作。此外,雖然描述的實施例針對基于假設的或先驗的事件出現(xiàn)可能性的事件(也稱為事件)使用固定的編碼,即,事件出現(xiàn)的可能性不變,然而其它實施例使用自適應編碼,即,該編碼可根據(jù)統(tǒng)計數(shù)據(jù)(例如從實際系數(shù)收集的直方圖)改變。除非特別闡明,否則如從以下討論將清楚的,將理解,在整個說明書中,使用諸如“處理”、“計算”、“運算”、“確定”等之類的術語的討論是指操縱被表示為物理(諸如電子)量的數(shù)據(jù)和/或?qū)⒈槐硎緸槲锢砹?諸如電量)的數(shù)據(jù)變換成類似地被表示為物理量的其它數(shù)據(jù)的計算機或計算系統(tǒng),或者類似的電子計算設備的動作和/或處理。以類似方式,術語“處理器”可指處理例如來自寄存器和/或存儲器的電子數(shù)據(jù)以將該電子數(shù)據(jù)變換成例如可存儲在寄存器和/或存儲器中的其它電子數(shù)據(jù)的任何設備或設備的一部分?!坝嬎銠C”或“計算機器”或“計算平臺”可以包括一個或多個處理器。注意,當描述包括若干元素(例如,若干步驟)的方法時,沒有隱含這些元素(例如,步驟)的順序,除非特別闡述。在一些實施例中,這里描述的方法可由一個或多個處理器執(zhí)行,這一個或多個處理器接受邏輯,例如編碼在一個或多個計算機可讀存儲介質(zhì)上的指令。當被一個或多個處理器運行時,指令使得執(zhí)行這里描述的至少一種方法。能夠(順序地或以其它方式)運行指定要采取的動作的指令集的任何處理器被包括。因此,一個示例是包括一個或多個處理器的典型處理系統(tǒng)。每個處理器可以包括CPU或類似元件、圖形處理單元(GPU)和/或可編程DSP單元中的一個或多個。處理系統(tǒng)還包括具有至少一個存儲介質(zhì)的存儲子系統(tǒng),其可包括嵌入在半導體設備中的存儲器;或者單獨的存儲器子系統(tǒng),其包括主RAM和/或靜態(tài)RAM和/或R0M,以及高速緩存存儲器。存儲子系統(tǒng)還可以包括一個或多個其它存儲設備,例如磁和/或光和/或另外的固態(tài)存儲設備。用于在組件之間進行通信的總線子系統(tǒng)可被包括。處理系統(tǒng)還可以是分布式處理系統(tǒng),該分布式處理系統(tǒng)具有例如經(jīng)由網(wǎng)絡接口設備或無線網(wǎng)絡接口設備通過網(wǎng)絡相耦合的處理器。如果處理系統(tǒng)需要顯示器,則可以包括這樣的顯示器,例如,液晶顯示器(IXD)、有機發(fā)光顯示器(OLED)或陰極射線管(CRT)顯示器。如果需要手動數(shù)據(jù)輸入,則處理系統(tǒng)還包括輸入設備,例如,諸如鍵盤之類的字母數(shù)字輸入單元、諸如鼠標之類的點選控制設備等中的一個或多個。如果從上下文能清楚以及除非另外明確闡述,否則這里使用的術語存儲設備、存儲子系統(tǒng)或存儲器單元還涵蓋了諸如盤驅(qū)動單元之類的存儲系統(tǒng)。一些配置中的處理系統(tǒng)可以包括聲音輸出設備和網(wǎng)絡接口設備。
在替代實施例中,一個或多個處理器作為單獨設備操作,或者可在聯(lián)網(wǎng)部署中被連接,例如被聯(lián)網(wǎng)到(一個或多個)其它處理器,一個或多個處理器在服務器-客戶端網(wǎng)絡環(huán)境中可以以服務器或客戶端機器的能力操作或者在對等或分布式網(wǎng)絡環(huán)境中作為對等機器操作。術語處理系統(tǒng)涵蓋了所有這些可能性,除非這里明確排除。一個或多個處理器可以形成個人計算機(PC)、媒體回放設備、平板PC、機頂盒(STB)、個人數(shù)字助理(PDA)、游戲機、蜂窩電話、Web裝置、網(wǎng)絡路由器、交換機或橋接器、或者能夠(順序地或以其它方式)執(zhí)行指定該機器要采取的動作的指令集的任何機器。注意,雖然某個或某些示圖僅示出了單個處理器和單個存儲子系統(tǒng),例如,存儲包括指令的邏輯的單個存儲器,但是本領域技術人員將明白,上述組件中的許多被包括,而沒·有明確示出或描述,以便不模糊發(fā)明性方面。例如,雖然僅單個機器被圖示出,但是術語“機器”還應被認為包括個體地或聯(lián)合地執(zhí)行一個(或多個)指令集以執(zhí)行這里討論的任何一個或多個方法的任何機器集合。雖然計算機可讀介質(zhì)在示例實施例中可能被示為單個介質(zhì),但是術語“介質(zhì)”應當被認為包括存儲一個或多個指令集的單個介質(zhì)或多個介質(zhì)(例如,若干存儲器、中央式或分布式數(shù)據(jù)庫、一個或多個服務器等)。計算機可讀存儲介質(zhì)可以采取許多形式,包括但不限于固態(tài)存儲器、諸如光盤之類的光存儲器、諸如磁盤之類的磁存儲器和磁光盤。還將明白,本發(fā)明的實施例不限于任何特定實現(xiàn)方式或編程技術并且這些實施例可以利用用于實現(xiàn)這里描述的功能的任何合適技術來實現(xiàn)。此外,實施例不限于任何特定編程語言或操作系統(tǒng)。在本說明書中對“一個實施例”或“實施例”的引用是指結合該實施例描述的特定特征、結構或特性被包括在本發(fā)明的至少一個實施例中。因此,說明書各個地方出現(xiàn)的短語“在一個實施例中”或“在實施例中”不一定都指同一實施例,但可以指同一實施例。此外,在一個或多個實施例中,如本領域技術人員從本公開將清楚的,可以以任何合適方式來組合特定特征、結構或特性。類似地,應理解,在本發(fā)明的示例實施例的以上描述中,本發(fā)明的各種特征有時在單個實施例、附圖或其描述中被分組在一起以便流暢地描述本公開并且輔助理解各個發(fā)明性方面中的一個或多個方面。然而,本公開的該方法不被解釋為反映如下意圖要求保護的發(fā)明需要比每個權利要求中明確記載的特征更多的特征。而是,如以下權利要求反映的,發(fā)明性方面在于比單個前面公開的實施例的所有特征更少。因此,具體實施方式
后面的權利要求在此明確地被結合到本具體實施方式
中,每個權利要求代表其自己。此外,雖然這里描述的一些實施例包括其它實施例中的一些特征而不包括其它特征,但是兩個或更多個實施例的特征的組合形成了本發(fā)明的不同實施例,如本領域技術人員將明白的。例如,在以下權利要求中,可以以任何組合來使用要求保護的實施例中的任何實施例。此外,實施例中的一些在此被描述為可由計算機系統(tǒng)的處理器或?qū)崿F(xiàn)功能的其它裝置來實現(xiàn)的方法或方法的元素的組合。因此,具有實現(xiàn)該方法或方法的元素的必要指令的處理器形成了實現(xiàn)該方法或方法的元素的裝置。此外,裝置實施例的這里描述的元素是用于實現(xiàn)由該元素執(zhí)行的功能的裝置的示例。在這里提供的描述中,闡述了多個具體細節(jié)。然而,將明白,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實施。在其它實例中,公知的方法、結構和技術未詳細示出,以便不模糊對本描述的理解。如這里使用的,除非另外指出,否則,對描述共同對象的序數(shù)形容詞“第一”、“第二”、“第三”等的使用僅僅表示類似對象的不同實例被提及,而不旨在隱含著如此描述的對象必須在時間上、空間上、排序上或任何其它方式上位于給定的序列中。這里引用的指定美國的所有美國專利、美國專利申請和國際(PCT)專利申請通過引用被結合于此。在專利法或?qū)@麪顟B(tài)不允許本身通過引用結合了信息的素材被通過引用結合的情況中,這里素材的通過引用結合排除在該“通過引用結合”的素材中的任何通過引用結合的信息,除非這樣的信息明確被通過引用結合于此。本說明書中對現(xiàn)有技術的任何討論不應以任何方式被認為是承認這些現(xiàn)有技術是廣泛已知的,公開知道的或者形成本領域普通知識的一部分。 在下面的權利要求和這里的描述中,術語包含、由…組成或其包含中的任一者是開放式術語,其意味著至少包括下面的元素/特征,但不排除其它的元素/特征。因此,當在權利要求中使用時,術語包含不應解釋為限于此后列出的裝置或元素或步驟。例如,“設備包含A和B”這一表述的范圍不應局限于設備僅由元件A和B組成。如這里使用的包括或其包括或它包括中的任一者也是開放式術語,其也意味著至少包括該術語之后的元素/特征,但不排除其它的元素/特征。因此,包括與包含同義且意味著包含。類似地,注意,當在權利要求中使用時,術語耦合不應被解釋為僅限于直接連接。術語“耦合”和“連接”及其衍生詞可以被使用。應明白,這些術語彼此不是同義的。因此,表述“設備A耦合到設備B”的范圍不應限于設備A的輸出直接連接到設備B的輸入的設備或系統(tǒng)。其意味著,A的輸出與B的輸入之間存在路徑,該路徑可能是包括其它設備或裝置的路徑?!榜詈稀笨梢灾竷蓚€或兩個以上的元件直接物理地或電氣地接觸,或者兩個或兩個以上的元件彼此不直接接觸但依然彼此協(xié)同操作或交互。因此,雖然已描述了被認為是本發(fā)明的示例實施例的內(nèi)容,然而本領域技術人員將認識到,可在不脫離本發(fā)明的精神的情況下對其作出其它和另外的修改,并且意欲所有這些改變和修改都落在所附權利要求的范圍內(nèi)。例如,以上給出的任何公式僅僅代表可使用的過程,可從框圖中添加或刪除功能,功能塊間的操作可互換,并且可向在本發(fā)明范圍內(nèi)描述的方法添加或刪除步驟。
權利要求
1.一種處理方法,包括 接受圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列; 根據(jù)包括該圖像數(shù)據(jù)塊的大小在內(nèi)的一個或多個因素來將所接受的系列分類到多種預定義類別中的類別內(nèi); 向所接受的有序系列應用多種預定義熵編碼方法之一以形成碼字系列,該熵編碼方法是根據(jù)所接受系列的類別被應用的, 其中,對于至少兩種不同預定義類別的不同大小的有序系列,不同預定義熵編碼方法被應用于所述不同預定義類別。
2.如權利要求1所述的方法,其中,一種或多種預定義類別及相關聯(lián)熵編碼方法是針對一組預定義塊大小中的每種塊大小預定義的,其中,該分類步驟包括將該系列分類到塊大小,并且進一步分類到針對該塊大小的所述一種或多種預定義類別中的一種類別,并且其中,應用多種預定義熵編碼方法之一應用的是針對該預定義塊大小的預定義類別的預定義熵編碼方法。
3.如權利要求1或2所述的方法,還包括形成圖片或圖片序列的塊集合的比特流,該比特流包括針對該塊集合的系列形成的碼字、對足以讓解碼器確定每塊的大小的因素的指示以及針對任何所形成的碼字序列的塊的大小的類別。
4.如權利要求1或2所述的方法,還包括向該系列的碼字添加代碼以向解碼器指示該塊的類別。
5.如權利要求1至4中任一項所述的方法,其中,所述預定義編碼方法中的至少一些是可變長度編碼(VLC)方法。
6.如權利要求1至4中任一項所述的方法, 其中,所述量化系數(shù)能夠具有包括最有可能出現(xiàn)的幅度和至少次最有可能出現(xiàn)的幅度在內(nèi)的幅度, 其中,所述預定義編碼方法中的至少一種是包括至少一種混合VLC方法(HVLC)的VLC方法,每種HVLC方法包括對于可能是該系列的低頻區(qū)域,對具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的簇的位置進行編碼,并且對于所述簇,對具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的幅度進行編碼,其中所述低頻區(qū)域可以是整個系列。
7.如權利要求6所述的方法, 其中,至少一個低頻區(qū)域VLC方法是上下文自適應位置和幅度編碼(CAPAC)方法的低頻VLC方法,根據(jù)該方法,具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的簇的位置通過具有自適應表切換的多個VLC映射被排序并編碼,所述自適應表切換基于能從先前編碼信息中確定的一個或多個信息項。
8.如權利要求6所述的方法, 其中,至少一個低頻區(qū)域VLC方法是具有對事件的三維編碼的混合VLC (HVLC3DPA方法)的低頻VLC方法,所述事件由位于每個非零簇之前的具有所述最有可能出現(xiàn)幅度的連續(xù)系數(shù)的數(shù)目、具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個簇的運行長度以及具有所述次最有可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目來定義,任何其余幅度通過一維VLC映射被編碼。
9.如權利要求6所述的方法,其中,至少一個低頻區(qū)域VLC方法是上下文自適應混合可變長度編碼(CAHVLC)方法的低頻VLC方法。
10.如權利要求1至4中任一項所述的方法, 其中,所述量化系數(shù)能夠具有包括最有可能出現(xiàn)幅度和至少次最有可能出現(xiàn)幅度在內(nèi)的幅度, 其中,所述預定義熵編碼方法中的至少一種是HVLC方法,該HVLC方法包括將該系列分割成可以為整個系列的低頻區(qū)域和可以為整個系列的高頻區(qū)域,其中,所述低頻區(qū)域通過低頻VLC方法被編碼并且所述高頻區(qū)域通過高頻VLC方法被編碼,所述低頻VLC方法包括對于該系列的可以為整個系列的所述低頻區(qū)域,對具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)簇的位置進行編碼,并且對于所述簇,對具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的幅度進行編碼,并且所述高頻VLC方法包括針對可以為整個系列的所述高頻區(qū)域的運行級別VLC,該運行級別VLC對具有所述最有可能出現(xiàn)幅度的量化系數(shù)的可能為零的運行長度以及具有所述最有可能出現(xiàn)幅度之外的幅度的單個緊隨的量化系數(shù)的幅度級別進行聯(lián)合編碼。
11.如權利要求10所述的方法, 其中,至少一個低頻區(qū)域VLC方法是CAPAC方法的低頻VLC方法,根據(jù)該方法,具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的簇的位置通過具有自適應表切換的多個VLC映射被排序并編碼,所述自適應表切換基于能從先前編碼信息中確定的一個或多個信息項。
12.如權利要求10所述的方法, 其中,至少一個低頻區(qū)域VLC方法是HVLC3DPA的低頻VLC方法,其中,事件由位于每個非零簇之前的具有所述最有可能出現(xiàn)幅度的連續(xù)系數(shù)的數(shù)目、具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的每個簇的運行長度以及指示具有所述次最有可能出現(xiàn)幅度的拖尾系數(shù)的數(shù)目的參數(shù)來定義并被聯(lián)合編碼,任何其余幅度通過一維VLC映射被編碼。
13.如權利要求10所述的方法, 其中,至少一個低頻區(qū)域VLC方法是CAHVLC方法的低頻VLC方法。
14.如權利要求1至13中任一項所述的方法, 其中,所述塊大小之一是4x4,并且其中,針對所述4x4塊大小的預定義熵編碼方法是根據(jù)H. 264/AVC標準為4x4塊定義的熵方法。
15.如權利要求1至13中任一項所述的方法, 其中,所述塊大小之一是8x8,并且其中,針對所述8x8塊大小的預定義熵編碼方法是根據(jù)中國AVS標準為8x8塊定義的熵方法。
16.如權利要求1至13中任一項所述的方法, 其中,所述塊大小包括32x32,16x16, 8x8和4x4。
17.一種利用指令配置的計算機可讀存儲介質(zhì),當所述指令被處理系統(tǒng)的一個或多個處理器運行時,使得執(zhí)行如權利要求1至16中任一項所記載的方法。
18.—種編碼在一個或多個計算機可讀有形介質(zhì)中的邏輯,當所述邏輯被處理系統(tǒng)的一個或多個處理器運行時,使得執(zhí)行如權利要求1至16中任一項所記載的方法。
19.一種裝置,包括 分類器,可操作來接受圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列并且根據(jù)包括該圖像數(shù)據(jù)塊的大小在內(nèi)的一個或多個因素來將所接受的系列分類到多種預定義類別中的類別內(nèi); 熵編碼器,被耦合到所述分類器并且可操作來接受該有序系列并且向所接受的有序系列應用多種預定義熵編碼方法之一以形成碼字系列,該熵編碼方法是根據(jù)所接受系列的類別被應用的, 其中,對于至少兩種不同預定義類別的不同大小的有序系列,不同預定義熵編碼方法被應用于所述不同預定義類別。
20.如權利要求19所述的裝置, 其中,所述量化系數(shù)能夠具有包括最有可能出現(xiàn)的幅度和至少次最有可能出現(xiàn)的幅度在內(nèi)的幅度, 其中,所述預定義編碼方法中的至少一些是包括至少一種混合VLC方法(HVLC)的VLC方法,每種HVLC方法包括對于該系列的低頻區(qū)域,對具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)的簇的位置進行編碼,并且對于所述簇,對具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的幅度進行編碼,所述低頻區(qū)域可以是整個系列。
21.如權利要求20所述的裝置, 其中,至少一個低頻區(qū)域VLC方法是CAPAC方法、HVLC3DPA方法和CAHVLC方法中的至少一者的低頻VLC方法。
22.如權利要求19所述的裝置, 其中,所述量化系數(shù)能夠具有包括最有可能出現(xiàn)幅度和至少次最有可能出現(xiàn)幅度在內(nèi)的幅度, 其中,所述預定義熵編碼方法中的至少一種是HVLC方法,該HVLC方法包括將該系列分割成可以為整個系列的低頻區(qū)域和可以為整個系列的高頻區(qū)域,其中,所述低頻區(qū)域通過低頻VLC方法被編碼并且所述高頻區(qū)域通過高頻VLC方法被編碼,所述低頻VLC方法包括對于該系列的可以為整個系列的所述低頻區(qū)域,對具有所述最有可能出現(xiàn)幅度之外的幅度的連續(xù)系數(shù)簇的位置進行編碼,并且對于所述簇,對具有所述最有可能出現(xiàn)幅度之外的幅度的系數(shù)的幅度進行編碼,并且所述高頻VLC方法針對可以為整個系列的所述高頻區(qū)域包括運行級別VLC,該運行級別VLC對具有所述最有可能出現(xiàn)幅度的量化系數(shù)的可能為零的運行長度以及具有所述最有可能出現(xiàn)幅度之外的幅度的單個緊隨的量化系數(shù)的幅度級別進行聯(lián)合編碼。
23.如權利要求22所述的裝置, 其中,至少一個低頻區(qū)域VLC方法是CAPAC方法、HVLC3DPA方法和CAHVLC方法中的至少一者的低頻VLC方法。
24.如權利要求19至23中任一項所述的裝置, 其中,所述塊大小之一是4x4,其中,針對所述4x4塊大小的預定義熵編碼方法是根據(jù)H. 264/AVC標準為4x4塊定義的熵方法,其中,所述塊大小之一是8x8,并且其中,針對所述8x8塊大小的預定義熵編碼方法是根據(jù)中國AVS標準為8x8塊定義的熵方法。
25.如權利要求19至23中任一項所述的裝置, 其中,所述塊大小包括32x32,16x16, 8x8和4x4。
26.一種利用指令配置的計算機可讀存儲介質(zhì),當所述指令被處理系統(tǒng)的一個或多個處理器運行時,使得執(zhí)行包括以下步驟的方法 接受圖像數(shù)據(jù)塊的量化變換系數(shù)的有序系列; 根據(jù)包括該圖像數(shù)據(jù)塊的大小在內(nèi)的一個或多個因素來將所接受的系列分類到多種預定義類別中的類別內(nèi); 向所接受的有序系列應用多種預定義熵編碼方法之一以形成碼字系列,該熵編碼方法是根據(jù)所接受系列的類別被應用的, 其中,對于至少兩種不同預定義類別的不同大小的有序系列,不同預定義熵編碼方法被應用于所述不同預定義類別。
全文摘要
將圖像數(shù)據(jù)塊的量化變換系數(shù)系列分類到用于熵編碼的多種預定義的類別之一內(nèi)并且對該塊進行熵編碼。類別至少由該塊的大小以及通常但不是必要的一個或多個其它因素來定義。被分類的系列通過針對該預定義類別的例如可變長度編碼方法之類的一組預定義熵編碼方法之一被編碼。
文檔編號H03M7/42GK103004195SQ201180035476
公開日2013年3月27日 申請日期2011年7月13日 優(yōu)先權日2010年7月20日
發(fā)明者陳文雄, 徐怡安 申請人:思科技術公司