本公開涉及對數(shù)據(jù)(D1)編碼以生成對應(yīng)編碼數(shù)據(jù)(E2)的方法。此外,本公開還涉及對前述編碼數(shù)據(jù)(E2)進(jìn)行解碼以生成對應(yīng)解碼數(shù)據(jù)(D3)和/或解碼數(shù)據(jù)(D3)的轉(zhuǎn)碼版本的方法。此外,本公開還涉及可操作為實施前述方法的編碼器和解碼器;此類編碼器和解碼器組合構(gòu)成編碼解碼器。另外,本公開涉及計算機(jī)程序產(chǎn)品,其包括其上存儲有計算機(jī)可讀指令的非暫時性計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀指令可由計算硬件執(zhí)行以用于執(zhí)行上述方法。
背景技術(shù):
總的來說,如圖1中示出,將輸入數(shù)據(jù)(D1)10編碼到編碼器20以生成對應(yīng)的編碼輸出數(shù)據(jù)(E2)30的已知編碼方法包括將一個或多個變換40a、40b應(yīng)用于輸入數(shù)據(jù)(D1)10以生成對應(yīng)的被編碼的變換數(shù)據(jù)50,其中被編碼的變換數(shù)據(jù)50與定義一個或多個編碼表的編碼表數(shù)據(jù)60相關(guān)聯(lián),一個或多個編碼表定義所采用的一個或多個變換。被編碼的變換數(shù)據(jù)50和編碼表數(shù)據(jù)60(即組合為編碼輸出數(shù)據(jù)(E2)30)通常經(jīng)由數(shù)據(jù)載體和/或數(shù)據(jù)通信網(wǎng)絡(luò)傳送到一個或多個解碼器80,解碼器80可操作為對編碼輸出數(shù)據(jù)(E2)30進(jìn)行解碼以生成對應(yīng)的解碼數(shù)據(jù)(D3)90。任選地,解碼數(shù)據(jù)(D3)是數(shù)據(jù)(D1)的重新生成的版本,但不限于此,例如當(dāng)轉(zhuǎn)碼出現(xiàn)在一個或多個解碼器80中時。通常期望,編碼輸出數(shù)據(jù)(E2)30相對于輸入數(shù)據(jù)(D1)10被壓縮。此外還期望,編碼輸出數(shù)據(jù)(E2)30以大致無損的方式壓縮,以便當(dāng)與輸入數(shù)據(jù)(D1)10比較時,解碼數(shù)據(jù)(D3)90盡可能精確。當(dāng)編碼表數(shù)據(jù)60相對于被編碼的變換數(shù)據(jù)50在大小上顯著(即編碼表數(shù)據(jù)60對應(yīng)于顯著數(shù)據(jù)開銷)時,相對于輸入數(shù)據(jù)(D1)10在編碼輸出數(shù)據(jù)(E2)30中可實現(xiàn)的數(shù)據(jù)壓縮可能效率低下。在編碼器20的某些已知實施方案中,編碼表數(shù)據(jù)60包含指示存在于被編碼的變換數(shù)據(jù)50中的、在輸入數(shù)據(jù)(D1)10中作為原始符號的編碼“符號”的頻率、概率或區(qū)間的信息。編碼表數(shù)據(jù)60不限于此。任選地,編碼表數(shù)據(jù)60還包含與所使用變換及其參數(shù)有關(guān)的信息。
一些已知實施方案使用上下文信息來修改包含在編碼表數(shù)據(jù)60中的概率。使用上下文信息是修改概率的極有效方式,但僅對某一類型的數(shù)據(jù)有效,例如在對圖像中像素的值或已實施圖像變換之后的值進(jìn)行編碼時有效。
例如在維基百科區(qū)間編碼網(wǎng)站[區(qū)間編碼-維基百科,百科全書(2013年12月13日訪問),URL:http://en.wikipedia.org/wiki/Ranqe encoding]描述了區(qū)間編碼解碼器的基本實施方案。此基本實施方案使用至少一個<EOM>(消息終止)符號。算術(shù)編碼,URL:http://en.wikipedia.org/wiki/Arithmetic coding極類似于區(qū)間編碼,但其使用一個浮點數(shù)[0,1]和<EOD>(數(shù)據(jù)終止)符號。此外,區(qū)間編碼廣泛用于需要數(shù)據(jù)壓縮的應(yīng)用中,例如視頻編碼和圖像編碼。當(dāng)已知不同可能符號的概率時,其對于大數(shù)據(jù)集進(jìn)行編碼表現(xiàn)極好。然而,如果待編碼數(shù)據(jù)的性質(zhì)使得符號的概率在一個或多個解碼器80處不預(yù)先已知,則必需連同編碼數(shù)據(jù)(E2)30一起發(fā)送符號的概率。否則,區(qū)間編碼的壓縮效率大大受損。
頻率、概率或區(qū)間值的傳遞需要包含額外數(shù)據(jù)(即“消耗數(shù)據(jù)”),因此影響可在編碼器20中實現(xiàn)的整體壓縮效率。此外,當(dāng)發(fā)送更精確的符號頻率、概率或區(qū)間值時,區(qū)間編碼壓縮效率可改善。然而,發(fā)送極精確頻率、概率或區(qū)間值需要更多的數(shù)據(jù)大小。換句話說,在針對符號發(fā)送精確頻率、概率或區(qū)間值和在編碼數(shù)據(jù)(E2)中實現(xiàn)最佳可能壓縮效率之間存在折衷。
在當(dāng)前情況下,世界上傳送和存儲的數(shù)據(jù)量快速增加。由于發(fā)射帶寬和數(shù)據(jù)存儲是限制參數(shù),因此對有效數(shù)據(jù)壓縮方法的需求具有極大優(yōu)勢。因此,出現(xiàn)了對壓縮數(shù)據(jù)的改進(jìn)方法的需求,其提供可通過使用區(qū)間編碼獲得的增強壓縮效率,例如在待壓縮數(shù)據(jù)的大小不是很大的情況下。因此,需要允許區(qū)間編碼用于其中區(qū)間編碼及類似物的使用先前不可行和/或無益處的情況下的方法。
在較早公開的歐洲專利文件EP 0166607 A2(King Reginald Alfred,金雷金納德·阿爾弗雷德)中描述了一種方法,其中(音頻)數(shù)據(jù)(具體來說,時間編碼符號(TES))的樣本發(fā)射的壓縮通過以非線性方式(可變長度代碼)而非線性表示(固定長度代碼)呈現(xiàn)比特而潛在地改進(jìn)。該方法使用前體代碼,其用于傳遞元素從編碼器到解碼器出現(xiàn)的概率次序。即,該方法實際上并不發(fā)送概率,而是僅發(fā)送其次序,只要元素到達(dá)即可。
在較早專利文件US 6650996 B1(Garmin Ltd.,佳明有限公司)中,描述了采用數(shù)據(jù)結(jié)構(gòu)的系統(tǒng)、設(shè)備和方法,其中利用定義用于對規(guī)范哈夫曼編碼數(shù)據(jù)進(jìn)行解碼的解碼結(jié)構(gòu)的第一數(shù)據(jù)字段和定義符號表的第二數(shù)據(jù)字段。此外,符號表適于提供與低頻索引相關(guān)聯(lián)的符號。
技術(shù)實現(xiàn)要素:
本公開嘗試提供一種對數(shù)據(jù)(D1)進(jìn)行編碼以生成對應(yīng)的編碼數(shù)據(jù)(E2)的改進(jìn)方法,其中該方法在編碼數(shù)據(jù)(E2)中得到改進(jìn)的數(shù)據(jù)壓縮,例如在區(qū)間編碼的上下文中。
本公開還嘗試提供一種采用前述改進(jìn)方法的改進(jìn)的編碼器。
根據(jù)第一方面,提供一種用于對數(shù)據(jù)(D1)進(jìn)行編碼以生成對應(yīng)的編碼數(shù)據(jù)(E2)的編碼器,其中編碼數(shù)據(jù)(E2)包括指示待表示在編碼數(shù)據(jù)(E2)中的一個或多個符號的頻率、概率或區(qū)間的信息,其特征在于,編碼器可操作為在編碼數(shù)據(jù)中包含附加信息,該附加信息指示在編碼數(shù)據(jù)(E2)中是否包含指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息。
本發(fā)明的優(yōu)點在于,依據(jù)符號在待編碼的數(shù)據(jù)(D1)中的出現(xiàn)而在編碼數(shù)據(jù)(E2)內(nèi)選擇性地包含頻率、概率或區(qū)間信息,由此能夠提高編碼效率,例如壓縮比,其可在對較小量的數(shù)據(jù)(D1)進(jìn)行編碼時例如以高度有益的方式實現(xiàn)。
在前述內(nèi)容中,稍后更詳細(xì)地描述術(shù)語“是否指示…的信息”。
根據(jù)第一方面的編碼器的優(yōu)點在于,編碼器采用改進(jìn)方法,該方法能夠更有效地傳遞聯(lián)合使用改進(jìn)方法生成的編碼數(shù)據(jù)實現(xiàn)的區(qū)間編碼頻率、概率或區(qū)間值。
此外,上述改進(jìn)方法使得區(qū)間編碼能夠在待編碼的符號的量與可能符號的量相比不是很大的情況下使用。通過已知的區(qū)間編碼技術(shù),因為傳遞頻率、概率或區(qū)間值所需的比特的量,所以對此數(shù)據(jù)進(jìn)行編碼是不可行的和/或不實際的;即,出現(xiàn)與使用已知區(qū)間編碼技術(shù)將頻率、概率或區(qū)間信息從編碼器傳遞到對應(yīng)解碼器相關(guān)聯(lián)的不實際的數(shù)據(jù)開銷。
此外,依據(jù)第一方面的改進(jìn)方法可在具有或不具有一個或多個<EOM>符號的情況下使用;“EOM”用于指示“消息終止”。稍后描述的所有示例性實施方式都顯示不具有一個或多個<EOM>符號,但這一個或多個<EOM>符號可通過利用(例如)用于其的概率值1并然后從任何其它概率值減去1而任選地添加到所有示例性實施方式。該解決方案并不需要傳遞新概率值,因為該概率值已經(jīng)已知。<EOM>符號的概率還可任選地基于數(shù)據(jù)符號的量來計算。當(dāng)計算該概率時,<EOM>符號被添加到概率表,并且其將被給予頻率值1。頻率的總和也增加1,并且其影響所有符號概率。其還需要針對<EOM>符號傳遞額外的概率值。
根據(jù)第一方面的改進(jìn)方法可用于對任何類型的數(shù)據(jù)進(jìn)行編碼,因此具有廣泛的潛在使用領(lǐng)域;待編碼的“任何類型的數(shù)據(jù)”任選地包含以下中的一種或多種:基因測序數(shù)據(jù)、DNA測序數(shù)據(jù)、RNA測序數(shù)據(jù)、所捕獲音頻信號、所捕獲視頻信號、所捕獲圖像、文本數(shù)據(jù)、地震學(xué)數(shù)據(jù)、傳感器信號、模擬-數(shù)字(ADC)轉(zhuǎn)換數(shù)據(jù)、生物醫(yī)學(xué)信號數(shù)據(jù)、日歷數(shù)據(jù)、經(jīng)濟(jì)數(shù)據(jù)、數(shù)學(xué)數(shù)據(jù)、二進(jìn)制數(shù)據(jù),但不限于此。在該改進(jìn)方法中,修改概率的另一方式是在對數(shù)據(jù)進(jìn)行編碼以生成對應(yīng)編碼數(shù)據(jù)的同時使用自適應(yīng)概率和區(qū)間。自適應(yīng)概率很好地用于對較大數(shù)據(jù)流進(jìn)行編碼,尤其在符號的概率在數(shù)據(jù)流中的不同部分處以變化的方式(但緩慢地)改變的情況下。然而,自適應(yīng)概率較不適于較小數(shù)據(jù)流,因為需要額外的計算資源和時間來使概率匹配數(shù)據(jù)流中符號的校正概率。
依據(jù)第一方面的改進(jìn)方法可用于編碼器中,并且該改進(jìn)方法的對應(yīng)逆操作可用于對應(yīng)的解碼器中;如上所述,該編碼器和解碼器組合構(gòu)成編碼解碼器。
任選地,在解碼器中實施轉(zhuǎn)碼以在該處重新格式化解碼數(shù)據(jù),例如以便向解碼器的數(shù)據(jù)再現(xiàn)裝置或解碼器的數(shù)據(jù)存儲裝置提供兼容數(shù)據(jù)。該改進(jìn)方法使用0比特和1比特信息來描述是否需要針對可能存在于數(shù)據(jù)流符號之中的不同符號傳遞區(qū)間值、概率值或頻率值。此改進(jìn)方法任選地還利用一個或多個概率閾值來確定哪些符號需要其自己的所傳遞的概率值(即1比特),以及哪些符號例如可通過使用0比特而轉(zhuǎn)義。任選地,所有已轉(zhuǎn)義數(shù)據(jù)符號可在編碼器中并且在解碼器中使用概率值1??商鎿Q地,在區(qū)間編碼方案中,并不需要其自己的頻率或概率值(即區(qū)間)的所有那些數(shù)據(jù)符號任選地用轉(zhuǎn)義符號(即區(qū)間)傳遞。另外,用于那些已轉(zhuǎn)義符號的所有符號值任選地在不壓縮的情況下例如作為原始值傳遞。
接下來將更詳細(xì)地闡明如下概念(i)至(iii):
(i)“經(jīng)編碼符號是已知的”,或
(ii)在編碼器中,“在編碼數(shù)據(jù)中是否包含指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息",或
(iii)在解碼器中,“在編碼數(shù)據(jù)中被編碼的那些符號將使用該頻率、概率或區(qū)間信息經(jīng)歷解碼”。
在本公開的實施方式中,符號自身一直已知不是必需的,但這對概率所屬的那些符號而言是必需的。因此,在本公開的實施方式中,已知概率所屬的那些符號(例如一列數(shù)據(jù)),但不必已知其基于實際符號實際上是什么的上下文。因此,必須存在傳遞(例如)到解碼器并且可用于至少一個符號的概率信息。然而,知道實際符號實際上是什么不是必需的。任選地,還存在符號的值實際上已知、并且在此情況下信息當(dāng)然被利用的可能性。
接下來將描述另一實施例。當(dāng)傳遞頻率、概率或區(qū)間表時,傳遞中的重要參數(shù)是該表的最大索引,并且符號所處的信息是借助所傳遞概率編碼的信息。該表的最大索引表示多少個不同符號或多少個可能不同符號可用于所傳遞的表中,即存在于輸入數(shù)據(jù)D1中。實施例如下:
4、3、0、1、0、4、3、4
真實最大索引為4(并且最小索引為0),這意味著在該數(shù)據(jù)中可能存在5(最大–最小+1=4-0+1)個不同符號(0,1,2,3,4)。由于在數(shù)據(jù)D1中實際上存在僅4個不同符號(0,1,3,4),因此該表還可通過使用3作為最大索引(即可用的不同符號)而非4個可能不同符號傳遞。當(dāng)值“3”已用于該表的最大索引值時,任選地采用一些其它機(jī)制來傳遞關(guān)于哪些符號用于每一表索引的信息。
這些方法在本公開中別處更詳細(xì)地闡明。當(dāng)符號按次序時,一種可能性是傳遞真實最大索引(4)和可用性比特(例如,在此情況下,11011)。此種傳遞映射以使得稱為“索引”和符號對的表索引0=符號0將為(0,0)。類似地,剩余索引和符號對為(1,1)、(2,3)和(3,4)。還可將索引和符號對直接用于定義不同表索引的使用索引,并然后傳遞該表的最大索引作為3或不同索引和符號對的計數(shù)作為4。通過采用此方法,代碼表索引通常按次序,并且僅需要傳遞符號。當(dāng)被傳遞表中的符號基于其頻率分類時,采用此方法極有利。
例如,在該情況下,索引和符號對可為(0,4)、(1,0)、(2,3)和(3,1),并且僅值4,0,3,1按次序傳遞。在一些情況下:
(a)預(yù)先定義那些被使用的索引和符號對;
(b)有時,傳遞被使用符號的索引和索引對表,在其它時候,索引和符號對連同編碼數(shù)據(jù)一起傳遞;
(c)在另一時間,解碼器可從已知位置獲取所使用的索引和符號對,并且
(d)在另一不同情況下,解碼器可從連同編碼數(shù)據(jù)一起傳遞的位置獲取所使用索引和符號對。
采用依據(jù)第一方面的上述改進(jìn)方法在編碼器中編碼的數(shù)據(jù)的若干部分的頻率通常相互不同,并且通常它們相對數(shù)據(jù)熵也相互不同,因此當(dāng)編碼以生成編碼數(shù)據(jù)(E2)時,將該數(shù)據(jù)分割(即劃分)成多個部分是有益的。有益地,不同代碼表用于不同的部分。該改進(jìn)方法使得例如一個大數(shù)據(jù)塊能夠被更有效地分割為較小片(即較小數(shù)據(jù)塊),因為由此優(yōu)化了代碼表或頻率表的傳遞。待編碼數(shù)據(jù)的分割在分割時對于待編碼數(shù)據(jù)(D1)的熵而言實現(xiàn)了相當(dāng)大的益處,因此能夠相對于對應(yīng)的未編碼數(shù)據(jù)(D1)提供具有增強程度壓縮的編碼數(shù)據(jù)(E2)。
任選地,依據(jù)前述第一方面,編碼器可操作為在編碼數(shù)據(jù)(E2)中包含表達(dá)為單個可用性比特信息的、關(guān)于指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息是否包含在編碼數(shù)據(jù)(E2)中的附加信息。更任選地,編碼器可操作為通過使用單個可用性比特值“1”表示在編碼數(shù)據(jù)(E2)中包含指示頻率、概率或區(qū)間信息的信息,并且通過使用單個可用性比特值“0”表示在編碼數(shù)據(jù)(E2)中不包含指示頻率、概率或區(qū)間信息的信息。這種可用性比特值還可反過來使用。此外,該可用性信息可還傳遞為可用索引以及存在的信息的索引的數(shù)目。這些索引任選地照現(xiàn)在的樣子傳遞,或通過使用德耳塔編碼來傳遞。任選地,使用不同編碼方法來減少傳遞可用性信息所需的數(shù)據(jù)的量。所選編碼方法任選地包含可用索引的數(shù)目,或該編碼方法需要傳遞索引的數(shù)目,或該方法需要在傳遞編碼表時針對所有符號傳遞可用性比特值。
任選地,在編碼器中,指示在編碼數(shù)據(jù)(E2)中待表示的一個或多個符號的頻率、概率或區(qū)間的信息由編碼器依據(jù)待編碼的數(shù)據(jù)(D1)的性質(zhì)(即特性)動態(tài)地改變;這些特性任選地涉及以下中的一者或多者:數(shù)據(jù)(D1)的結(jié)構(gòu)、數(shù)據(jù)(D1)的大小、存在于數(shù)據(jù)(D1)中的值的區(qū)間、存在于數(shù)據(jù)(D1)中的元素的大小、與數(shù)據(jù)(D1)相關(guān)聯(lián)的元數(shù)據(jù)。此外,這些特性是指例如數(shù)據(jù)(D1)的類型、數(shù)據(jù)(D1)的內(nèi)容和/或數(shù)據(jù)(D1)的統(tǒng)計數(shù)據(jù)。更任選地,編碼器可操作為將待編碼的數(shù)據(jù)(D1)劃分成多個部分,并且針對每一部分單獨地生成對應(yīng)附加信息,對應(yīng)附加信息指示在編碼數(shù)據(jù)(E2)中是否包含指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息。
任選地,編碼器可操作為對與以下中的至少一者對應(yīng)的數(shù)據(jù)進(jìn)行編碼:基因序列信息、DNA測序信息、RNA測序信息、捕獲的音頻信號、捕獲的視頻信號、捕獲的圖像、文本數(shù)據(jù)、地震學(xué)數(shù)據(jù)、傳感器信號、模擬數(shù)字(ADC)轉(zhuǎn)換數(shù)據(jù)、生物醫(yī)學(xué)信號數(shù)據(jù)、日歷數(shù)據(jù)、經(jīng)濟(jì)數(shù)據(jù)、數(shù)學(xué)數(shù)據(jù)、二進(jìn)制數(shù)據(jù),但不限于此。
根據(jù)第二方面,提供一種在編碼器中對數(shù)據(jù)(D1)進(jìn)行編碼以生成對應(yīng)編碼數(shù)據(jù)(E2)的方法,其中編碼數(shù)據(jù)(E2)包括指示在編碼數(shù)據(jù)(E2)中待表示的一個或多個符號的頻率、概率或區(qū)間的信息,其特征在于,該方法包括:
(a)使用編碼器以在編碼數(shù)據(jù)(E2)中包含附加信息,附加信息指示在編碼數(shù)據(jù)(E2)中是否包含指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息。
任選地,該方法進(jìn)一步包括:
(b)使用編碼器以在編碼數(shù)據(jù)(E2)中包含表達(dá)為單個可用性比特信息的、關(guān)于指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息是否包含在編碼數(shù)據(jù)(E2)中的附加信息。
更任選地,方法進(jìn)一步包含:
(c)使用編碼器以通過使用單個可用性比特值“1”表示在編碼數(shù)據(jù)(E2)中包含指示頻率、概率或區(qū)間信息的信息,并且通過使用單個可用性比特值“0”表示在編碼數(shù)據(jù)(E2)中不包含指示頻率、概率或區(qū)間信息的信息。任選地,值“0”和“1”可反過來用于指示這種包含或不包含。
任選地,方法包括使用編碼器來依據(jù)待編碼的數(shù)據(jù)(D1)的性質(zhì)(即一個或多個特性)動態(tài)地改變指示在編碼數(shù)據(jù)(E2)中待表示的一個或多個符號的頻率、概率或區(qū)間的信息。在此參考與用于作為技術(shù)術(shù)語的“性質(zhì)”和“特性”的定義有關(guān)的前述內(nèi)容。
任選地,方法包括使用編碼器來將待編碼的數(shù)據(jù)(D1)劃分成多個部分,并且針對每一部分單獨地生成對應(yīng)附加信息,對應(yīng)附加信息指示在編碼數(shù)據(jù)(E2)中是否包含指示一個或多個符號之中的至少一個符號的頻率、概率或區(qū)間的信息。
任選地,方法包括對與以下中的至少一者對應(yīng)的數(shù)據(jù)(D1)進(jìn)行編碼:基因測序數(shù)據(jù)、捕獲的音頻信號、捕獲的視頻信號、捕獲的圖像、文本數(shù)據(jù)、傳感器信號,但不限于此?;驕y序數(shù)據(jù)因為由電泳裝置從生物樣本生成,所以通常相當(dāng)大,并且通常按1兆兆字節(jié)的量級處理定義核堿基和/或氨基酸的數(shù)據(jù)。處理此數(shù)據(jù)以及通信此數(shù)據(jù)顯示出相當(dāng)大的當(dāng)代技術(shù)挑戰(zhàn)。
根據(jù)第三方面,提供一種用于對由依據(jù)第一方面的編碼器生成的編碼數(shù)據(jù)(E2)進(jìn)行解碼的解碼器。
根據(jù)第四方面,提供一種在解碼器中對編碼數(shù)據(jù)(E2)進(jìn)行解碼的方法,其特征在于該方法包括實施依據(jù)第二方面的方法的步驟的逆步驟。
任選地,方法包括:
(a)接收可用性信號;
(b)接收發(fā)送的編碼數(shù)據(jù)(E2)中的頻率、概率或區(qū)間表;以及
(c)根據(jù)步驟(a)和(b)構(gòu)造完整頻率表、概率表或區(qū)間表;以及
(d)使用該完整頻率表、概率表或區(qū)間表對編碼數(shù)據(jù)(E2)進(jìn)行區(qū)間解碼以生成經(jīng)解碼的輸出數(shù)據(jù)(D3)。
任選地,在方法中,可用性信號包括至少一個可用性指示比特。
任選地,在方法中,可用性信號包括至少一個可用性指示編碼方法。
任選地,在方法中,可用性信號包括至少一個可用性指示索引和/或索引量。
根據(jù)第五方面,提供一種包括至少一個依據(jù)第一方面的編碼器和至少一個依據(jù)第三方面的解碼器的編碼解碼器。
根據(jù)第六方面,提供一種計算機(jī)程序產(chǎn)品,其包括其上存儲有計算機(jī)可讀指令的非暫時性計算機(jī)可讀存儲介質(zhì),計算機(jī)可讀指令可由第一方面的編碼器的計算硬件執(zhí)行以用于實施依據(jù)第二方面的方法。
根據(jù)第七方面,提供一種計算機(jī)程序產(chǎn)品,其包括其上存儲有計算機(jī)可讀指令的非暫時性計算機(jī)可讀存儲介質(zhì),計算機(jī)可讀指令可由第三方面的解碼器的計算硬件執(zhí)行以用于實施依據(jù)第四方面的方法。
將理解,在不背離由所附權(quán)利要求定義的本發(fā)明的范圍的情況下,本發(fā)明的特征易于以各種組合進(jìn)行組合。
附圖說明
現(xiàn)將參考以下圖示僅以示例的方式描述本公開的實施方式,在附圖中:
圖1是編碼器和對應(yīng)解碼器的圖示,其中編碼器可操作為對輸入數(shù)據(jù)(D1)進(jìn)行編碼以生成對應(yīng)編碼輸出數(shù)據(jù)(E2),并且解碼器可操作為對編碼數(shù)據(jù)(E2)進(jìn)行解碼以生成對應(yīng)的解碼數(shù)據(jù)(D3);
圖2是依據(jù)本公開對數(shù)據(jù)進(jìn)行編碼的方法的流程圖;以及
圖3是依據(jù)本公開對數(shù)據(jù)進(jìn)行解碼的方法的流程圖。
在附圖中,使用了添加下劃線的數(shù)字以表示下劃線數(shù)字所在位置上的項或者與下劃線數(shù)字相鄰的項。當(dāng)數(shù)字未添加下劃線且附有相關(guān)的箭頭時,該非下劃線數(shù)字用于識別箭頭所指的通用項。
具體實施方式
總的來說,當(dāng)采用區(qū)間編碼(range coding)對數(shù)據(jù)(D1)進(jìn)行編碼時,待編碼的數(shù)據(jù)(D1)中符號的概率必須已知,否則此區(qū)間編碼的可實現(xiàn)壓縮效率相應(yīng)地大大受損。每個符號的概率在編碼期間定義“區(qū)間”,其中概率越大,則區(qū)間越大。當(dāng)對符號進(jìn)行編碼時,根據(jù)編碼符號的概率更新對應(yīng)區(qū)間。如果區(qū)間變得足夠小,則區(qū)間編碼器發(fā)射(例如)字節(jié)并增大區(qū)間。因此,對于更多普通符號,其區(qū)間慢慢減小,并且更多符號可在發(fā)射字節(jié)之前被編碼。
當(dāng)在編碼器中實施區(qū)間編碼時,頻率表索引、概率表索引或區(qū)間表索引或者符號的頻率、概率或區(qū)間值在由編碼器使用某一給定精度生成的編碼數(shù)據(jù)(E2)中發(fā)送,除非在對應(yīng)解碼器處已經(jīng)已知(即先驗);任選地,編碼器可操作為在使用頻率表索引、概率表索引、區(qū)間表索引、頻率值、概率值和區(qū)間值之間動態(tài)地切換以用于待編碼的數(shù)據(jù)(D1)的相互不同部分。例如,當(dāng)在區(qū)間編碼解碼器內(nèi)對八比特數(shù)據(jù)進(jìn)行編碼時,潛在地出現(xiàn)28個符號,即256個符號。如果使用八比特(即一個字節(jié))來發(fā)送每一頻率、概率或區(qū)間值,則將需要256個字節(jié)來發(fā)送所有頻率、概率或區(qū)間值。在一些情況下,256個字節(jié)潛在地大于從區(qū)間編碼器取得的壓縮數(shù)據(jù)的量,因此明確需要使用較少比特來傳遞頻率、概率或區(qū)間值;換句話說,將頻率、概率或區(qū)間值從編碼器傳遞到解碼器表示潛在地大于待編碼數(shù)據(jù)的實際量的數(shù)據(jù)開銷,對應(yīng)于較低壓縮比性能。
依據(jù)本公開的對數(shù)據(jù)(D1)進(jìn)行編碼的方法與已知方法的區(qū)別在于,除符號頻率、概率或區(qū)間值以外,還發(fā)送可用性信號,例如每一符號一個可用性比特。該可用性比特的值對于在編碼數(shù)據(jù)(E2)中表示并具有足夠高概率的所有符號有益地為“一”(即“1”),并且對于未在編碼數(shù)據(jù)(E2)中表示的所有符號為“零”(即“0”),并且還對于在編碼數(shù)據(jù)(E2)中表示但具有相對低概率的所有符號為“零”。
在依據(jù)本公開的對數(shù)據(jù)(D1)進(jìn)行編碼的方法中,例如通過將符號的概率與閾值(任選地多于一個閾值)進(jìn)行比較來檢查符號是否具有足夠低概率。當(dāng)對符號進(jìn)行編碼時,不存在于編碼數(shù)據(jù)(E2)中或具有低于為“零”(使用轉(zhuǎn)義代碼并且對于該符號不保存區(qū)間)或“一”(即,用最小可能區(qū)間傳遞的低概率符號)(即“0”或“1”)的閾值概率的符號的概率與用于對提供到編碼器20的輸入數(shù)據(jù)(D1)10進(jìn)行編碼以用于生成編碼數(shù)據(jù)(E2)30的整個區(qū)間的大小無關(guān);與編碼器20和一個或多個解碼器80分別何時采用改進(jìn)方法(T)及其逆操作(T-1)有關(guān)。發(fā)送頻率、概率或區(qū)間和可用性信號(例如,在此實施例中的可用性比特)所需的編碼數(shù)據(jù)的量A(按比特計)是存在的或可用于編碼數(shù)據(jù)(E2)中具有足夠高概率的那些符號的數(shù)目Ns乘以用于每一頻率、概率或區(qū)間值的比特的數(shù)目NB加上用于所有符號Os的一個可用性比特;換句話說:
A=Ns x NB+Os 式1
依據(jù)本公開的改進(jìn)方法的下一實施例應(yīng)用于編碼器20中以對作為輸入數(shù)據(jù)(D1)10的一組數(shù)據(jù)值進(jìn)行編碼,來生成對應(yīng)的編碼數(shù)據(jù)(E2)30。在該實施例中,編碼數(shù)據(jù)流(D1)包含150個數(shù)據(jù)值,其可包含20個符號(=值)(即從0到19),但是這20個可能數(shù)據(jù)值(即最小值=2并且最大值=19)中僅8個數(shù)據(jù)值實際表示于當(dāng)前數(shù)據(jù)流中。這些min和max值(min=“最小值”,max=“最大值”)還任選地如在例如ODelta編碼(由Gurulogic Microsystems芬蘭有限公司于2013年3月1日提交的專利申請GB1303661.1中公開的方法)中描述地那樣傳遞;“ODelta”編碼涉及用于提供數(shù)據(jù)的特別有效編碼的、具有偏移和環(huán)繞式計算的德耳塔編碼方法。其能夠減少傳遞可用性信號所需的一些比特。此外,當(dāng)在采用區(qū)間編碼之前使用用于修改熵的某一方法(例如ODelta編碼)時,其還減小了可能可用符號值的數(shù)據(jù)區(qū)間。與使用最小和最大值相關(guān)聯(lián)的最好優(yōu)點在修改熵和進(jìn)行區(qū)間編碼的所有方法都使用相同信息并且該信息僅從編碼器傳遞到對應(yīng)解碼器一次時實現(xiàn)。例如,以下表1示出了符號的頻率和概率。概率通過將頻率除以數(shù)據(jù)值的總數(shù)來計算。
表1:依據(jù)本公開的示例性區(qū)間編碼
在表1中,存在幾個具有極低出現(xiàn)概率的符號。在使用7比特來傳遞概率的情況下,如果使用相同數(shù)量的比特來描述每一概率,則將需要20*7=140比特來表達(dá)所有概率。如果符號在流中(即在編碼數(shù)據(jù)(E2)30)中的存在通過例如每個符號發(fā)送一個可用性比特來表達(dá),則我們?nèi)詫⑿枰?*7+20*1=76比特來表達(dá)所有概率。
用于實施依據(jù)本公開的改進(jìn)方法的最初實施方式由于使用單獨可用性比特將所傳遞概率的量從20減少到8而早已不同于已知解決方案。關(guān)于稍后描述的本公開的其它實施方式,任選地,確保確定給定概率是否發(fā)送到解碼器80的閾值(例如在7比特概率情況下,該閾值任選地設(shè)置為0.018)是有益的。修改閾值改變編碼數(shù)據(jù)(E2)30中進(jìn)行表達(dá)并傳遞概率到一個或多個解碼器80所需的比特的數(shù)量。如果選擇0.10作為用于由表1描述的數(shù)據(jù)的閾值,則將僅剩下兩個符號,并且然后需要2*x+20*1比特來表達(dá)編碼數(shù)據(jù)(E2)30中的概率,其中x是指用于表達(dá)概率的比特計數(shù)。
找到在實施本公開的改進(jìn)方法時使用的最佳閾值取決于待從編碼器20發(fā)送到一個或多個解碼器80的編碼數(shù)據(jù)(E2)30的量,并且取決于在編碼數(shù)據(jù)(E2)30中表示的符號的頻率。現(xiàn)將更詳細(xì)地闡明確定一個或多個前述閾值的方式。例如,令
T=閾值,并且
B=用于表達(dá)概率的比特計數(shù),
例如,在以上表1中可用6或7比特表達(dá)。閾值有益地處于給定推薦極限內(nèi),并且不小于閾值下限TLOW,如由式2確定(式2)的:
在表1中的最后四列中,示出了發(fā)送到一個或多個解碼器80的實際概率。在“具有7比特的概率”列中,示出了在將7比特用于所有8或20個數(shù)據(jù)值(具有或不具有可用性信號)的情況下發(fā)送的概率,其中該可用性信號是指表達(dá)符號在流中的存在的信號?!熬哂?比特的概率(經(jīng)轉(zhuǎn)義)”對應(yīng)于利用依據(jù)本公開的改進(jìn)方法的第一實施方式發(fā)送的概率,并且“具有7(或6)比特的概率(經(jīng)修改)”對應(yīng)于利用依據(jù)本公開的改進(jìn)方法的第二實施方式發(fā)送的概率。
在表1的最后三列中的括號中示出的概率實際沒有發(fā)送到一個或多個解碼器80,因為其通過使用零可用性比特來表達(dá)。在此實施例中,發(fā)送到一個或多個解碼器80的概率接近于通過已知編碼方法發(fā)送的概率,因此利用依據(jù)本公開的改進(jìn)方法并不顯著影響實際區(qū)間編碼的效率,但可通過減少待需要針對頻率、概率或區(qū)間值發(fā)送的比特的數(shù)目來大大提高整體壓縮效率。此外,將理解,按已知方式或經(jīng)轉(zhuǎn)義情況發(fā)送的概率的總和為128,然而在根據(jù)第二實施方式的改進(jìn)方法中包括如表中所示所發(fā)送概率的總和,即114或49。這是由于為通過零可用性比特表達(dá)的每一數(shù)據(jù)值預(yù)留概率值“一”而出現(xiàn)的,其中這些數(shù)據(jù)值中的14或15個,其中12個數(shù)據(jù)值不存在于流中,并且2或3個值具有比閾值低的概率。
在此實施例中,還使用7比特和閾值,符號4和9連同不存在于數(shù)據(jù)流中的所有12個符號一起通過零可用性比特來表達(dá)。最初,不為不存在于數(shù)據(jù)流中的那些符號預(yù)留區(qū)間(稱為轉(zhuǎn)義)。現(xiàn)在,將必須存在以下機(jī)制,即還傳遞并不獲得其自己的概率的那些符號4和9。這可通過使用下文描述的兩個不同實施方式來有效地執(zhí)行。
以上表1中顯示具有“(經(jīng)轉(zhuǎn)義)”的第一實施方式是創(chuàng)建單獨轉(zhuǎn)義符號及其相關(guān)聯(lián)區(qū)間的位置。當(dāng)該符號不具有其自己的區(qū)間時,其通過轉(zhuǎn)義(區(qū)間)傳遞。另外,符號值也在其自己的數(shù)據(jù)流中傳遞。在此實施例中,該符號值可用5比特傳遞,因為符號值區(qū)間是0至19。任選地,當(dāng)可用符號除以所有可能符號的比較高(即大于0.25)時,符號值通過用其對應(yīng)可用性0比特位置傳遞符號值來有益地通過稍微少量的比特傳遞。例如,在該示例性情況中,在比特流(即“00100001000011100001”)中,符號值4對應(yīng)于可用性0比特3,并且符號值9對應(yīng)于可用性0比特7。因此,僅14個可用性0比特可用于該流中,并且僅需要4比特來呈現(xiàn),即在編碼數(shù)據(jù)(E2)中表示。任選地避免傳遞單獨的符號值流,即區(qū)間編碼的概率從正態(tài)概率切換成所有符號的相等概率,或盡可能在用于傳遞實際數(shù)據(jù)值的轉(zhuǎn)義(區(qū)間)符號傳遞之后轉(zhuǎn)換為所有可用性0比特符號的相等概率,然后在傳遞實際符號值時概率返回到正態(tài)概率。
第二實施方式定義了所有可用性0比特符號將分配概率“1”,并且針對來自整個區(qū)間的概率的可用性1比特符號來保存該區(qū)間的剩余部分。還描述了在表1中示出的具有“(經(jīng)修改)”的解決方案?,F(xiàn)在,在以上7比特實施例中存在12+2個轉(zhuǎn)義符號,并且其從128個可用值分配14個值。剩余114個值用于分配有可用性1比特的那6個符號。使用6比特用于表1的最后一列中的區(qū)間概率也展示出類似實施例,其中在此實施例中,閾值被選擇為0.4。如上所述,這次,比特流中的那些可用性0比特符號可理解為轉(zhuǎn)義符號,并且其將全部被分配其自己的概率值“1”,如表1中括號所示。
現(xiàn)將描述傳遞概率值所需的比特的數(shù)量。組合的(轉(zhuǎn)義)解決方案使用7*7+20*1=69比特。在此實施例中,這不是優(yōu)選解決方案,因為與依據(jù)本公開的第一實施方式相比,其在概率表傳遞中僅節(jié)省7(76-69)比特,但使用了3*4=12比特用于額外轉(zhuǎn)義符號值傳遞。因此,一個或多個轉(zhuǎn)義符號與原始符號相比的更好概率不足以補償數(shù)據(jù)大小的增加。這次,其它符號的概率相同,并且也未通過傳遞那些符號實現(xiàn)益處。
該改進(jìn)方法還在另一方式中有用,例如當(dāng)轉(zhuǎn)義許多符號但它們的概率不是很高時。有時,除了用于原始符號以外,將較少量的比特用于轉(zhuǎn)義符號也是可行的,因為最小概率在具有組合轉(zhuǎn)義代碼的任一情況下傳遞。具有修改概率的第二實施方式使用6*7+20*1=62比特(在7比特情況下)或5*6+20*1=50比特(在6比特情況下)。概率的傳遞任選地甚至通過已知或傳遞指示在編碼數(shù)據(jù)(E2)30中表示的最頻繁符號的概率的信息來更好地優(yōu)化。
現(xiàn)在,當(dāng)最高概率值低于64以及低于32時,在這些實施例中,概率任選地用6比特(和5比特)傳遞,因此總概率表傳遞僅需要6*6+20*1=56比特(在7比特的實施例情況下),以及5*5+20*1=45比特(在6比特實施例情況下)。此外,該20*1可用性比特流的傳遞任選地被壓縮;除壓縮可用性比特以外,通過壓縮頻率表或概率值實施本公開的實施方式也是可行的;該壓縮任選地通過使用一個或多個壓縮方法實施。這尤其是當(dāng)許多可能符號可用并且存在不同的可用性0比特和可用性1比特概率(即許多0或許多1)或者其在編碼數(shù)據(jù)(E2)30中處于比特流的不同部分中時的情況。任選地,當(dāng)可用符號的區(qū)間例如通過傳遞最小和/或最大值而分開受限時,已知第一和/或最后一個符號可用于該流中,并且那些符號不需要通過使用可用性信號通信,例如不需要傳遞用于其的可用性比特。僅需要傳遞用于從最小值+1到最大值-1的區(qū)間的可用性信號(例如可用性比特)。在該表1實施例中,與表達(dá)符號存在的情況(即第一改進(jìn)方法)相比,節(jié)省了31(76-45)比特。與已知方法相比,節(jié)省了95(140-45)比特。這種節(jié)省并未失去符號的較不精確概率,并且因此在該實施例中,這些改進(jìn)方法是用于傳遞數(shù)據(jù)的明顯有利的方法。
任選地,概率信息以甚至較不精確概率值或通過使用較高閾值在編碼數(shù)據(jù)(E2)30中傳遞,并且因此,通過編碼數(shù)據(jù)(E2)30在概率表傳遞中實現(xiàn)了甚至更多數(shù)據(jù)大小的節(jié)省。概率表傳遞的節(jié)省通常還導(dǎo)致熵編碼的一些損失。在實施本公開的實施方式時,在選擇最好可能表傳遞方法時,必須考慮此損失。
在一些情況下,本公開的改進(jìn)方法還任選地用于原始數(shù)據(jù)以節(jié)省數(shù)據(jù)大小,例如當(dāng)存儲在數(shù)據(jù)庫中、數(shù)據(jù)載體和類似物上時。將理解,在前述內(nèi)容中提供的實施例中,原始數(shù)據(jù)僅包含150個符號和8個不同值,并且因此,原始150*5=750比特信息也可通過將可用性比特信息直接用于原始數(shù)據(jù)而通過150*3+20*1=470比特傳遞。具有表傳遞和熵編碼的區(qū)間編碼能夠?qū)崿F(xiàn)比原始數(shù)據(jù)小的數(shù)據(jù)大小。將理解,可在區(qū)間編碼之前使用不同的修改數(shù)據(jù)的熵的方法。類似地,其逆運算然后需要在區(qū)間解碼之后執(zhí)行。修改熵的這些方法包含(例如)德爾塔編碼、ODelta編碼,即在由Gurulogic Microsystems芬蘭有限公司于2013年3月1日提交的專利申請GB1303661.1中公開的方法(該專利申請在此以引用的方式并入,其中ODelta編碼采用德爾塔編碼、偏移計算和環(huán)繞式計算的組合)、熵修改器(EM),在由Gurulogic Microsystems芬蘭有限公司于2013年3月1日提交的專利申請GB1303658.7中公開的方法(該專利申請在此以引用的方式并入)、行程長度編碼(RLE)和分割行程長度編碼(SRLE),在由Gurulogic Microsystems芬蘭有限公司于2013年3月1日提交的專利申請GB1303660.3中公開的方法(在此以引用的方式并入)。
如較早描述的,依據(jù)本公開的改進(jìn)方法在實施區(qū)間編碼時有益地任選地不利用一個或多個<EOM>符號,因為可替代地傳遞待編碼的數(shù)據(jù)的量(=待解碼的數(shù)據(jù)的量)或編碼數(shù)據(jù)(將需要被解碼)的量?;诖幋a的數(shù)據(jù)的量或在區(qū)間編碼之后存在于編碼數(shù)據(jù)(E2)30中的編碼數(shù)據(jù)的量可在數(shù)據(jù)(D3)90借助區(qū)間解碼被解碼時使用。此外,依據(jù)本公開,在用于生成編碼數(shù)據(jù)(E2)30的區(qū)間編碼期間,不需要在數(shù)據(jù)后傳遞額外的<EOM>符號。
任選地,當(dāng)例如通過編碼數(shù)據(jù)(E2)30(但不限于此)傳遞概率值時,當(dāng)概率值的總和已知(例如預(yù)設(shè))或者已傳遞到一個或多個解碼器80時,不需要傳遞最后一個概率值。用于存在于數(shù)據(jù)中的符號、轉(zhuǎn)義、<EOM>或真實符號的最后一個概率值任選地通過從概率總和中減去所有先前傳遞的值來計算。在任一情況下,需要已知該總和,從而可適當(dāng)?shù)卦谝粋€或多個解碼器80中執(zhí)行對概率值的解碼。因此任選地,可通過不傳遞最后一個概率值而提前從數(shù)據(jù)大小節(jié)省一些比特。
雖然本公開的實施例是關(guān)于區(qū)間編碼提供的,但其還易于在細(xì)節(jié)上作必要的修改以用于在編碼器20中實施的算術(shù)編碼和二進(jìn)制算術(shù)編碼。當(dāng)此算術(shù)編碼和二進(jìn)制算術(shù)編碼在編碼器20中實施時,在實際編碼過程中不使用轉(zhuǎn)義代碼,而是相反用于確定針對類似特征項目發(fā)送概率區(qū)間的方式。然而,該方法的效率不及本公開的上述改進(jìn)方法,其使用可用性信號和概率值來傳達(dá)給定符號是存在的以及對該給定符號的相關(guān)聯(lián)概率的指示;在此參考已知的“壓縮比通常比靜態(tài)<http://compressions.sourceforge.net/Arithmetic.html#static>編碼中更低。雖然對于短輸入序列,不發(fā)送統(tǒng)計數(shù)據(jù)的益處可更顯著”。因此,本公開的改進(jìn)方法展示出數(shù)據(jù)編碼技術(shù)中的相當(dāng)大的技術(shù)進(jìn)步。
依據(jù)本公開的改進(jìn)的編碼方法易于用在數(shù)據(jù)處理和數(shù)據(jù)生成設(shè)備中,例如用于個人計算機(jī)、便攜式具有無線能力的計算機(jī)、平板手機(jī)計算機(jī)、平板計算機(jī)、智能電話、移動電話(“蜂窩電話”)、視聽裝置、數(shù)字相機(jī)、視頻相機(jī)、科學(xué)儀表、基因測序裝置、電視機(jī)、監(jiān)控裝置中,但不限于此。這些改進(jìn)方法任選地在數(shù)字硬件(例如專用集成電路(ASIC))中實施。可替換地或附加地,這些改進(jìn)方法易于使用記錄在非暫時性(非暫時的)機(jī)器可讀數(shù)據(jù)存儲介質(zhì)上的一個或多個軟件產(chǎn)品實施,其中軟件產(chǎn)品可在計算硬件上執(zhí)行。任選地,所述一個或多個軟件產(chǎn)品可作為“軟件應(yīng)用”經(jīng)由通信網(wǎng)絡(luò)例如下載到具有無線能力的便攜式通信設(shè)備,例如移動電話。編碼器20和對應(yīng)解碼器80易于被構(gòu)建為編碼解碼器95,例如供在便攜式信號捕獲裝置中使用,例如數(shù)字相機(jī)、具有因特網(wǎng)能力的多媒體裝置、游戲裝置、監(jiān)控相機(jī)、環(huán)境監(jiān)視裝置以及諸如此類,但不限于此。
接下來參見圖2,示出了在編碼器20中對數(shù)據(jù)(D1)10進(jìn)行編碼以生成對應(yīng)編碼數(shù)據(jù)(E2)30的方法的步驟。這些步驟任選地如圖示依次實施,雖然這些步驟中的一些步驟為任選的,并且其執(zhí)行次序可改變。
表2:對數(shù)據(jù)進(jìn)行編碼的方法的步驟
在一個或多個解碼器80中,實質(zhì)上實施表2的相反步驟,即從得自步驟100的編碼數(shù)據(jù)(E2)30提取頻率、概率或區(qū)間信息,并且采用來自步驟120的數(shù)據(jù)來確定在編碼數(shù)據(jù)(E2)30中編碼的哪些符號將使用該頻率、概率或區(qū)間信息經(jīng)歷解碼并且哪些其它符號不將以此方式解碼,其中這種計算的結(jié)果集合在一起以提供解碼數(shù)據(jù)(D3)90。任選地,一個或多個解碼器80可操作為實施轉(zhuǎn)碼,以使得數(shù)據(jù)D1和數(shù)據(jù)D3相互不同。此轉(zhuǎn)碼例如在一個或多個解碼器80相互不同并且數(shù)據(jù)D3將再現(xiàn)在相互不同的展示裝置上(需要轉(zhuǎn)碼針對此呈現(xiàn)裝置自定義,例如像素顯示分辨率和顯示縱橫比)時是有利的。
接下來參見圖3,示出了對編碼數(shù)據(jù)(E2)30進(jìn)行解碼以生成解碼數(shù)據(jù)(D3)90的方法的步驟200至240;任選地,解碼數(shù)據(jù)(D3)90是數(shù)據(jù)(D1)10的重新生成的版本,但不限于此。在操作中,在步驟200中,解碼器80接收可用性信號,即可用性比特或者編碼方法或者索引的量和索引自身。此外,在步驟210中,解碼器80接收數(shù)據(jù)編號60(其包含在數(shù)據(jù)E2,30中)中的所發(fā)送頻率、概率或區(qū)間表,其中解碼器80構(gòu)造完整的頻率表、概率表或區(qū)間表。如果需要,“0”比特時隙有益地設(shè)置為值“0”或“1”,并且“1”比特時隙將設(shè)置為所接收的頻率、概率或區(qū)間的值。如果接收到頻率表,則其轉(zhuǎn)換成概率表,以便可在區(qū)間編碼中使用。將理解,編碼器20也始終需要在編碼可通過利用區(qū)間編碼被有效執(zhí)行之前將頻率表轉(zhuǎn)換成概率表。在概率表在解碼器80中的構(gòu)造之后(其中組合后的值的總和為2的冪),在步驟220至240中,則可能對所接收的經(jīng)變換數(shù)據(jù)50(其包含在數(shù)據(jù)E2,30中)進(jìn)行區(qū)間解碼,并且因此產(chǎn)生經(jīng)解碼的輸出數(shù)據(jù)(D3)90。步驟200至240實質(zhì)上對應(yīng)于圖2中步驟100至140的逆步驟。
編碼器20和解碼器80易于用于許多各種不同的數(shù)據(jù)處理裝置中,例如無線通信設(shè)備、音頻裝置、視聽裝置、計算裝置、視頻會議裝置、監(jiān)控裝置、科學(xué)測量裝置、基因測序裝置、基因序列分析裝置、通信系統(tǒng)硬件和/或軟件、通信網(wǎng)絡(luò)硬件和/或軟件,但不限于此。
在不脫離如所附權(quán)利要求所限定的本發(fā)明的范圍的情況下,可以對上文所描述的本發(fā)明的實施方式進(jìn)行修改。用于描述并主張本發(fā)明的諸如“包括(including)”、“包括(comprising)”、“并入(incorporating)”、“由……組成(consisting of)”、“具有(have)”、“是(is)”的表達(dá)旨在以非排他性的方式進(jìn)行解釋,即也允許存在未明確地描述的項目、部件或元件。對單數(shù)的指示也應(yīng)解釋為涉及復(fù)數(shù)。所附權(quán)利要求中包含在括號中的數(shù)字旨在幫助對權(quán)利要求的理解并不應(yīng)解釋為以任何方式限制這些權(quán)利要求所主張的主題。