亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用彈性代碼與柔性源塊映射進(jìn)行編碼和解碼的制作方法

文檔序號(hào):7540975閱讀:398來(lái)源:國(guó)知局
使用彈性代碼與柔性源塊映射進(jìn)行編碼和解碼的制作方法
【專利摘要】可通過(guò)將源符號(hào)指派到基塊、將基塊指派到源塊以及將每一源塊編碼為編碼符號(hào)而對(duì)數(shù)據(jù)編碼,其中至少一對(duì)源塊使得其具有與所述對(duì)的兩個(gè)源塊共同的至少一個(gè)基塊以及與所述對(duì)的另一源塊不同的至少一個(gè)基塊。源塊的所述編碼可獨(dú)立于其它源塊的內(nèi)容??筛鶕?jù)來(lái)自多個(gè)源塊的編碼符號(hào)集合來(lái)進(jìn)行解碼以恢復(fù)原始源符號(hào)的所要集合的全部,其中來(lái)自第一源塊的編碼符號(hào)的量小于所述第一源塊中的源數(shù)據(jù)的量,且同樣,來(lái)自第二源塊的編碼符號(hào)的量小于所述第二源塊中的源數(shù)據(jù)的量。
【專利說(shuō)明】使用彈性代碼與柔性源塊映射進(jìn)行編碼和解碼
[0001]交叉參考
[0002]本專利申請(qǐng)案涉及以下共同待決的美國(guó)專利申請(qǐng)案,所述申請(qǐng)案中的每ー者與本申請(qǐng)案同時(shí)申請(qǐng),且已轉(zhuǎn)讓給本申請(qǐng)案的受讓人,且明確地以引用的方式并入本文中:
[0003]馬克沃森(Mark Watson)等人的題為“用于包含F(xiàn)EC的改進(jìn)的無(wú)線電鏈路協(xié)議的組中貞(Framing for an Improved Radio Link Protocol Including FEC)” 的美國(guó)專利申請(qǐng)案,代理人案號(hào)為092888U1 ;以及
[0004]邁克爾G盧比(Michael G.Luby)等人的題為“用于改進(jìn)的無(wú)線電鏈路協(xié)議的前Iロ」錯(cuò)誤儀正調(diào)度(Forward Error Correction Scheduling for an Improved Radio LinkProtocol) ”的美國(guó)專利申請(qǐng)案,代理人案號(hào)為092888U2。
[0005]以下頒發(fā)的專利明確地以引用的方式并入本文中以用于所有目的:
[0006]蕭克羅雷希(Shokrollahi)等人于2005年6月21日頒發(fā)的題為“鏈反應(yīng)代碼的系統(tǒng)性編碼和解碼(Systematic Encoding and Decoding of Chain Reaction Codes),,的第6,909,383號(hào)美國(guó)專利(下文中稱為“蕭克羅雷希-系統(tǒng)性”);以及
[0007]蕭克羅雷希等人于2005年2月15日頒發(fā)的題為“用于通過(guò)去活來(lái)對(duì)鏈反應(yīng)代碼解碼的系統(tǒng)和過(guò)程(Systems and Processes for Decoding Chain Reaction CodesThrough Inactivation) ”的第6,856,263號(hào)美國(guó)專利(下文中稱為“蕭克羅雷希_去活”)。
[0008]【技術(shù)領(lǐng)域】
[0009]本發(fā)明大體上涉及用于在時(shí)間和/或空間上對(duì)數(shù)據(jù)編碼以用于經(jīng)由信道傳輸且對(duì)所述數(shù)據(jù)解碼的方法、電路、設(shè)備和計(jì)算機(jī)程序代碼,其中預(yù)期刪除和/或錯(cuò)誤,且更明確地說(shuō),涉及用于使用源塊對(duì)數(shù)據(jù)編碼的方法、電路、設(shè)備和計(jì)算機(jī)程序代碼,所述源塊與其它源塊重疊且可部分地或全部地與其它源塊共同擴(kuò)張。
【背景技術(shù)】
[0010]經(jīng)由通信信道在發(fā)送器與接收者之間傳輸文件已成為大量文獻(xiàn)的主題。優(yōu)選地,接收者希望以某種程度的確定性接收由發(fā)送器經(jīng)由信道傳輸?shù)臄?shù)據(jù)的確切復(fù)本。在信道不具有完美保真度的情況下(其涵蓋大多數(shù)所有物理上可實(shí)現(xiàn)的系統(tǒng)),一個(gè)關(guān)注問(wèn)題為如何處理在傳輸中丟失或錯(cuò)亂的數(shù)據(jù)。丟失數(shù)據(jù)(刪除)常常比損壞的數(shù)據(jù)(錯(cuò)誤)容易處理,這是因?yàn)榻邮照呤冀K無(wú)法了解損壞的數(shù)據(jù)何時(shí)是錯(cuò)誤地接收的數(shù)據(jù)。已開發(fā)許多錯(cuò)誤校正代碼以校正刪除和/或錯(cuò)誤。通常,基于關(guān)于正傳輸數(shù)據(jù)且正傳輸數(shù)據(jù)的性質(zhì)所通過(guò)的信道的無(wú)保真性的某一信息而選擇所使用的特定代碼。舉例來(lái)說(shuō),在已知信道具有長(zhǎng)的無(wú)保真性周期的情況下,突發(fā)錯(cuò)誤代碼可能極適于所述應(yīng)用。在預(yù)期僅具有短的不常見(jiàn)錯(cuò)誤的情況下,簡(jiǎn)單的奇偶校驗(yàn)碼可能為最好的。
[0011 ] 在特定應(yīng)用中,需要處置ー種以上服務(wù)級(jí)別。舉例來(lái)說(shuō),廣播裝置可能廣播兩種服務(wù)級(jí)別,其中僅能夠接收ー種級(jí)別的裝置接收可接受的數(shù)據(jù)集合,且能夠接收第一級(jí)別和第二級(jí)別的裝置使用第二級(jí)別來(lái)改進(jìn)第一級(jí)別的數(shù)據(jù)。此情形的實(shí)例為FM無(wú)線電,其中一些裝置僅接收單耳信號(hào)且其它裝置接收所述單耳信號(hào)和立體聲信號(hào)。此方案的ー個(gè)特性是:在無(wú)較低層的情況下,高層通常并非有用的。舉例來(lái)說(shuō),如果無(wú)線電接收次要立體聲信號(hào)而非基礎(chǔ)信號(hào),那么將不會(huì)發(fā)現(xiàn)次要立體聲信號(hào)特別有用,而如果發(fā)生相反情形,且接收主要級(jí)別而非次要級(jí)別,那么可提供至少ー些有用信號(hào)。為此,常常將主要級(jí)別視為比次要級(jí)別更值得保護(hù)。在FM無(wú)線電實(shí)例中,將主要信號(hào)比次要信號(hào)更接近基帶來(lái)發(fā)送,從而使得主要信號(hào)更穩(wěn)健。
[0012]類似概念存在于數(shù)據(jù)輸送和廣播系統(tǒng)中,其中第一級(jí)別的數(shù)據(jù)輸送是針對(duì)基本信號(hào)且第二級(jí)別是針對(duì)增強(qiáng)層。實(shí)例為H.264可縮放射頻譯碼(SVC),其中連同增強(qiáng)層一起發(fā)送H.264基礎(chǔ)相容流。實(shí)例為I兆位/秒(mbps)基礎(chǔ)層和Imbps增強(qiáng)層。一般來(lái)說(shuō),如果接收器能夠?qū)λ谢A(chǔ)層解碼,那么接收器可提供有用輸出,且如果接收器能夠?qū)λ性鰪?qiáng)層解碼,那么接收器可提供改進(jìn)的輸出,然而,如果接收器無(wú)法對(duì)所有基礎(chǔ)層解碼,那么對(duì)增強(qiáng)層解碼通常并不會(huì)提供任何有用信息。
[0013]常常使用前向錯(cuò)誤校正(“FEC”)來(lái)提高接收器恢復(fù)經(jīng)傳輸?shù)臄?shù)據(jù)的能力。在FEC的情況下,發(fā)射器或針對(duì)發(fā)射器操作的某一操作、模塊或裝置將對(duì)待傳輸?shù)臄?shù)據(jù)編碼,使得接收器能夠從經(jīng)傳輸?shù)慕?jīng)編碼數(shù)據(jù)恢復(fù)原始數(shù)據(jù),甚至在存在刪除和或錯(cuò)誤的情況下也如此。
[0014]由于ー個(gè)層對(duì)另一層的損失效應(yīng)的差異,不同譯碼可能用于不同層。舉例來(lái)說(shuō),基礎(chǔ)層的數(shù)據(jù)可能用表示基礎(chǔ)層中的數(shù)據(jù)的FEC譯碼的額外數(shù)據(jù)來(lái)傳輸,接著用表示基礎(chǔ)層和增強(qiáng)層中的數(shù)據(jù)的FEC譯碼的額外數(shù)據(jù)來(lái)傳輸增強(qiáng)層的數(shù)據(jù)。通過(guò)此方法,后一 FEC譯碼可提供額外保證:可在接收器處成功地對(duì)基礎(chǔ)層解碼。
[0015]雖然此類分層方法在某些應(yīng)用中可能為有用的,但其在其它應(yīng)用中可能非常有限。舉例來(lái)說(shuō),對(duì)于使用從兩個(gè)或兩個(gè)以上層中的一者產(chǎn)生的一些編碼符號(hào)以及從所述兩個(gè)或兩個(gè)以上層的組合產(chǎn)生的其它編碼符號(hào)而有效地對(duì)所述兩個(gè)或兩個(gè)以上層的聯(lián)合解碼,上述方法可能為不切實(shí)際的。

【發(fā)明內(nèi)容】

[0016]可通過(guò)將源符號(hào)指派到基塊、將基塊指派到源塊以及將每一源塊編碼為編碼符號(hào)而對(duì)數(shù)據(jù)編碼,其中至少ー對(duì)源塊使得其具有與所述對(duì)的兩個(gè)源塊共同的至少ー個(gè)基塊以及與所述對(duì)的另一源塊不同的至少ー個(gè)基塊。源塊的所述編碼可獨(dú)立于其它源塊的內(nèi)容??筛鶕?jù)來(lái)自多個(gè)源塊的編碼符號(hào)集合來(lái)進(jìn)行解碼以恢復(fù)原始源符號(hào)的所要集合的全部,其中來(lái)自第一源塊的編碼符號(hào)的量小于所述第一源塊中的源數(shù)據(jù)的量,且同樣,來(lái)自第二源塊的編碼符號(hào)的量小于所述第二源塊中的源數(shù)據(jù)的量。
[0017]在特定實(shí)施例中,編碼器可將源符號(hào)編碼為編碼符號(hào),且解碼器可從合適數(shù)目個(gè)編碼符號(hào)來(lái)對(duì)那些源符號(hào)解碼。來(lái)自每一源塊的編碼符號(hào)的數(shù)目可小于所述源塊中的源符號(hào)的數(shù)目,且仍允許完整的解碼。
[0018]在更特定實(shí)施例中,其中第一源塊包括第一基塊,且第二源塊包括第一基塊和第ニ基塊,解碼器可從來(lái)自第一源塊的編碼符號(hào)集合和來(lái)自第二源塊的編碼符號(hào)集合恢復(fù)第一基塊和第二基塊的全部,其中來(lái)自所述第一源塊的編碼符號(hào)的量小于第一源塊中的源數(shù)據(jù)的量,且同樣,來(lái)自所述第二源塊的編碼符號(hào)的量小于第二源塊中的源數(shù)據(jù)的量,其中解碼過(guò)程中的符號(hào)運(yùn)算的數(shù)目實(shí)質(zhì)上小于第二源塊中的源符號(hào)的數(shù)目的平方?!緦@綀D】

【附圖說(shuō)明】
[0019]圖1為根據(jù)本發(fā)明的方面的使用彈性代碼的通信系統(tǒng)的框圖。
[0020]圖2為根據(jù)本發(fā)明的方面的使用彈性代碼的解碼器的實(shí)例的框圖,所述解碼器用作接收器的部分。
[0021]圖3更詳細(xì)地說(shuō)明可能為圖1中所展示的編碼器或編碼器陣列中的一個(gè)編碼器單元的編碼器。
[0022]圖4說(shuō)明根據(jù)彈性代碼的源塊映射的實(shí)例。
[0023]圖5說(shuō)明為前綴代碼且G = 4的彈性代碼。
[0024]圖6說(shuō)明用修復(fù)符號(hào)的塊進(jìn)行的操作。
[0025]作為附錄A附加的內(nèi)容為表示關(guān)于刪除信道的斯理篇-伍夫(Skpian-Wolf)型問(wèn)題的論文,其中使用編碼器/解碼器系統(tǒng)的特定實(shí)施例,有時(shí)使用本發(fā)明的細(xì)節(jié),也包含若干特殊情況以及一些實(shí)際應(yīng)用(例如,流式傳輸)中的替代解決方案。應(yīng)理解,附錄A中所描述的特定實(shí)施例并非本發(fā)明的限制性實(shí)例,且本發(fā)明的一些方面可能使用附錄A的教示而其它方面可能不使用附錄A的教示。還應(yīng)理解,附錄A中的限制性陳述可能關(guān)于特定實(shí)施例的要求為限制性的,且此類限制性陳述可能關(guān)于或可能不關(guān)于所主張的發(fā)明且,因此,權(quán)利要求語(yǔ)言無(wú)需通過(guò)此類限制性陳述來(lái)限制。
[0026]為了促進(jìn)理解,除了在適當(dāng)?shù)那闆r下可添加后綴以區(qū)分諸圖所共有的相同元件以夕卜,在可能的情況下使用相同參考數(shù)字來(lái)指明此類元件。圖式中的圖像經(jīng)簡(jiǎn)化以用于說(shuō)明性目的且未必按比例繪制。
[0027]隨附圖式說(shuō)明本發(fā)明的示范性配置且,因而,不應(yīng)被視為限制本發(fā)明的范圍,本發(fā)明可準(zhǔn)許其它同等有效的配置。相應(yīng)地,預(yù)期,一些配置的特征可有益地并入于其它配置中,而無(wú)進(jìn)一步敘述。
【具體實(shí)施方式】
[0028]本發(fā)明不限于經(jīng)傳輸?shù)奶囟愋偷臄?shù)據(jù)。然而,在本文中的實(shí)例中,將假定:通過(guò)一序列的一個(gè)或一個(gè)以上源符號(hào)來(lái)表示可經(jīng)傳輸?shù)臄?shù)據(jù),且每一源符號(hào)具有特定大小,有時(shí)以位來(lái)測(cè)量。雖然并非要求,但在這些實(shí)例中,源符號(hào)大小也為編碼符號(hào)的大小。符號(hào)的“大小”可以位來(lái)測(cè)量,而不管符號(hào)實(shí)際上是否分裂成位流,其中當(dāng)從2M個(gè)符號(hào)的字母表中選擇符號(hào)時(shí),符號(hào)具有M個(gè)位的大小。
[0029]在本文中所使用的術(shù)語(yǔ)中,通過(guò)若干個(gè)源符號(hào)來(lái)表示待傳送的數(shù)據(jù),其中K用以表示所述數(shù)目。在一些情況下,預(yù)先已知K。舉例來(lái)說(shuō),當(dāng)待傳送的數(shù)據(jù)為具有未知大小的文件以及具有為源符號(hào)大小的整數(shù)倍的大小的文件時(shí),K將僅為作為所述倍數(shù)的整數(shù)。然而,也可能為以下情況:在傳輸之前并不知道K,或在已經(jīng)開始傳輸之后才知道K。舉例來(lái)說(shuō),在發(fā)射器正傳輸數(shù)據(jù)流的情況下,這是因?yàn)榘l(fā)射器接收數(shù)據(jù)且并不具有關(guān)于數(shù)據(jù)流何時(shí)可能結(jié)束的指示。
[0030]編碼器基于源符號(hào)而產(chǎn)生編碼符號(hào)。本文中,常常將編碼符號(hào)的數(shù)目稱作N。在于給定K的情況下N固定的情況下,編碼過(guò)程具有編碼率r = K/N。信息論成立:如果所有源符號(hào)值同等地可能,那么K個(gè)源符號(hào)的完美恢復(fù)需要接收至少K個(gè)編碼符號(hào)(假定相同大小用于源符號(hào)與編碼符號(hào))以便完全恢復(fù)所述K個(gè)源符號(hào)。因此,使用FEC的譯碼率通常小于I。在許多情況下,較低譯碼率允許更多冗余且因此更多可靠性,但以較低帶寬和可能增加的計(jì)算努力為代價(jià)。一些代碼對(duì)于每個(gè)編碼符號(hào)需要比其它編碼符號(hào)多的計(jì)算且對(duì)于許多應(yīng)用,編碼和/或解碼的計(jì)算成本將招致有用實(shí)施與不實(shí)用實(shí)施之間的差異。
[0031]每一源符號(hào)具有值和在待傳輸?shù)臄?shù)據(jù)內(nèi)的位置,且其可存儲(chǔ)在含有特定源符號(hào)的值的表示的發(fā)射器和/或接收器、計(jì)算機(jī)可讀存儲(chǔ)器或其它電子存儲(chǔ)器內(nèi)的各處。同樣地,每一編碼符號(hào)具有值和索引,索引用以區(qū)分一個(gè)編碼符號(hào)與另一編碼符號(hào),且也可以計(jì)算機(jī)可讀或電子可讀形式來(lái)表示。因此,應(yīng)理解,符號(hào)與其物理表示常??稍诿枋鲋谢Q地使用。
[0032]在系統(tǒng)性編碼器中,源符號(hào)為編碼符號(hào)的部分且并非源符號(hào)的編碼符號(hào)有時(shí)被稱作修復(fù)符號(hào),這是因?yàn)槠淇稍诮獯a器處用以“修復(fù)”歸因于損失或錯(cuò)誤產(chǎn)生的損壞,即,其可有助于恢復(fù)丟失的源符號(hào)。取決于所使用的代碼,可完全從所接收的編碼符號(hào)恢復(fù)源符號(hào),所接收的編碼符號(hào)可能為所有修復(fù)符號(hào)或一些源符號(hào)和一些修復(fù)符號(hào)。在非系統(tǒng)性編碼器中,編碼符號(hào)可能包含源符號(hào)中的一些源符號(hào),但有可能所有編碼符號(hào)為修復(fù)符號(hào)。為了不必使用單獨(dú)的術(shù)語(yǔ)用于系統(tǒng)性編碼器和非系統(tǒng)性編碼器,應(yīng)理解,術(shù)語(yǔ)“源符號(hào)”指代表示待傳輸或提供到目的地的數(shù)據(jù)的符號(hào),而術(shù)語(yǔ)“編碼符號(hào)”指代由編碼器產(chǎn)生以便改進(jìn)面對(duì)錯(cuò)誤或損失時(shí)的可恢復(fù)性的符號(hào),不管那些編碼符號(hào)為源符號(hào)還是修復(fù)符號(hào)。在一些情況下,在將數(shù)據(jù)呈現(xiàn)給編碼器之前,預(yù)先處理源符號(hào),在所述情況下,編碼器的輸入可能被稱作“輸入符號(hào)”以區(qū)分源符號(hào)。當(dāng)解碼器對(duì)輸入符號(hào)解碼時(shí),通常需要額外步驟以變成源符號(hào),此情形通常為解碼器的最終目標(biāo)。
[0033]一個(gè)有效代碼是簡(jiǎn)單的奇偶校驗(yàn)碼,但穩(wěn)健性常常不足。可能使用的另一代碼是無(wú)速率代碼,例如,描述于盧比(Luby)的第6,307,487號(hào)美國(guó)專利(所述專利已轉(zhuǎn)讓給本申請(qǐng)案的受讓人,且明確地以引用的方式并入本文中,在下文中稱為“盧比I”)中的鏈反應(yīng)代碼,以及如描述于蕭克羅雷希等人的第7,068,729號(hào)美國(guó)專利(所述專利已轉(zhuǎn)讓給本申請(qǐng)案的受讓人,且明確地以引用的方式并入本文中,在下文中稱為“蕭克羅雷希I”)中的多級(jí)鏈反應(yīng)。
[0034]如本文中所使用,術(shù)語(yǔ)“文件”指代存儲(chǔ)在一個(gè)或一個(gè)以上源處且將作為單元遞送到一個(gè)或一個(gè)以上目的地的任何數(shù)據(jù)。因此,來(lái)自文件服務(wù)器或計(jì)算機(jī)存儲(chǔ)裝置的文檔、圖像和文件均為可遞送的“文件”的實(shí)例。文件可具有已知大小(例如,存儲(chǔ)在硬磁盤上的I兆字節(jié)圖像)或可具有未知大小(例如,取自流式傳輸源的輸出的文件)。總之,文件為一序列源符號(hào),其中每一源符號(hào)具有在文件中的位置和值。
[0035]如本文中所使用,術(shù)語(yǔ)“文件”也可能指代待傳輸?shù)钠渌鼣?shù)據(jù),所述數(shù)據(jù)未經(jīng)組織或序列化成線性位置集合,而是可改為表示可在多個(gè)維度上具有排序的數(shù)據(jù),例如,平面貼圖數(shù)據(jù),或根據(jù)優(yōu)先級(jí)沿著時(shí)間軸以及沿著其它軸線組織的數(shù)據(jù),例如,經(jīng)分層且具有依賴彼此以用于呈現(xiàn)的多個(gè)層的視頻流式傳輸數(shù)據(jù)。
[0036]傳輸是通過(guò)信道將數(shù)據(jù)從一個(gè)或一個(gè)以上發(fā)送器傳輸?shù)揭粋€(gè)或一個(gè)以上接收者以便遞送文件的過(guò)程。發(fā)送器有時(shí)也被稱作發(fā)射器。如果一個(gè)發(fā)送器通過(guò)完美信道連接到任何數(shù)目個(gè)接收者,那么所接收數(shù)據(jù)可為輸入文件的確切復(fù)本,如同將正確地接收所有數(shù)據(jù)一樣。此處,假定:信道并非完美的,此情況為大多數(shù)真實(shí)信道的情況。在許多信道缺陷中,兩個(gè)有關(guān)的缺陷是數(shù)據(jù)刪除和數(shù)據(jù)不完整性(其可被視為數(shù)據(jù)刪除的特殊情況)。數(shù)據(jù)刪除發(fā)生在信道丟失或丟棄數(shù)據(jù)時(shí)。數(shù)據(jù)不完整性發(fā)生在以下情形:接收者直到已經(jīng)傳遞數(shù)據(jù)中的一些數(shù)據(jù)時(shí)才開始接收數(shù)據(jù)時(shí),接收者在傳輸結(jié)束之前停止接收數(shù)據(jù)時(shí),接收者選擇僅接收所傳輸數(shù)據(jù)的一部分時(shí),和/或接收器間歇地停止和再次開始接收數(shù)據(jù)時(shí)。
[0037]如果使用包網(wǎng)絡(luò),那么將一個(gè)或一個(gè)以上符號(hào)或符號(hào)的可能部分包含在用于傳輸?shù)陌?,且假定已正確地接收每一包或根本不接收每一包。傳輸可為“可靠的”,此情形在于:接收者與發(fā)送器在面對(duì)故障時(shí)將彼此對(duì)應(yīng),直到接收者對(duì)結(jié)果滿意為止;或?yàn)椴豢煽康模饲樾卧谟?接收者必須處理由發(fā)送器提供的內(nèi)容且因此有時(shí)可能失敗。在FEC的情況下,發(fā)射器通過(guò)提供額外信息或其類似者來(lái)對(duì)數(shù)據(jù)編碼,以補(bǔ)償可能在傳輸中丟失的信息,且通常在確切了解錯(cuò)誤之前進(jìn)行FEC編碼,從而試圖預(yù)先防止錯(cuò)誤。
[0038]一般來(lái)說(shuō),通信信道是連接發(fā)送器與接收者以用于進(jìn)行數(shù)據(jù)傳輸?shù)男诺?。通信信道可為?shí)時(shí)信道,其中在信道得到數(shù)據(jù)時(shí),信道將數(shù)據(jù)從發(fā)送器移動(dòng)到接收者,或通信信道可能為存儲(chǔ)信道,其在數(shù)據(jù)從發(fā)送器到接收者的傳輸中存儲(chǔ)數(shù)據(jù)中的一些或全部。后者的實(shí)例為磁盤存儲(chǔ)器或其它存儲(chǔ)裝置。在所述實(shí)例中,產(chǎn)生數(shù)據(jù)的程序或裝置可被視為將數(shù)據(jù)傳輸?shù)酱鎯?chǔ)裝置的發(fā)送器。接收者為從存儲(chǔ)裝置讀取數(shù)據(jù)的程序或裝置。發(fā)送器用以將數(shù)據(jù)帶到存儲(chǔ)裝置上的機(jī)制、存儲(chǔ)裝置自身以及接收者用以從存儲(chǔ)裝置得到數(shù)據(jù)的機(jī)制共同形成信道。如果存在所述機(jī)制或存儲(chǔ)裝置可能丟失數(shù)據(jù)的機(jī)會(huì),那么所述情形將被視為通信信道中的數(shù)據(jù)刪除。
[0039]“刪除代碼”為將K個(gè)源符號(hào)集合映射到較大(>K)的編碼符號(hào)集合的代碼,具有可從編碼符號(hào)的一些適當(dāng)子集恢復(fù)原始源符號(hào)的屬性。編碼器將進(jìn)行操作以從其提供的源符號(hào)產(chǎn)生編碼符號(hào),且將根據(jù)其提供或編程以實(shí)施的刪除代碼進(jìn)行此操作。如果刪除代碼為有用的,如果碰巧在接收器/解碼器處接收的編碼符號(hào)的子集具有大于或等于源符號(hào)(“理想”代碼)的大小的大小,或至少此情形應(yīng)以相當(dāng)高的概率成立,那么可從所述子集恢復(fù)原始源符號(hào)(或在一些情況下,少于完整的恢復(fù)但足以滿足特定應(yīng)用的需要)。在實(shí)踐中,“符號(hào)”通常為字節(jié)的集合,可能為幾百個(gè)字節(jié),且所有符號(hào)(源符號(hào)和編碼符號(hào))為相同大小。
[0040]“塊刪除代碼”為將源符號(hào)(“塊”)的一組特定不相交子集中的一者映射到每一編碼符號(hào)的刪除代碼。當(dāng)從一個(gè)塊產(chǎn)生編碼符號(hào)集合時(shí),所述編碼符號(hào)可彼此組合使用以恢復(fù)所述一個(gè)塊。
[0041]編碼符號(hào)的“范圍”為產(chǎn)生編碼符號(hào)所來(lái)自的塊和編碼符號(hào)用以解碼的塊,其中其它編碼符號(hào)組合使用。
[0042]給定編碼符號(hào)的“鄰域集合”為編碼符號(hào)直接依賴的符號(hào)的塊內(nèi)的源符號(hào)的集合。鄰域集合可能為編碼符號(hào)的范圍的非常稀疏子集。由于效率和其它原因,許多塊刪除代碼(包含鏈反應(yīng)代碼(例如,LT代碼)、LDPC代碼以及多級(jí)鏈反應(yīng)代碼(例如,速龍代碼(Raptor code)))使用稀疏技術(shù)來(lái)產(chǎn)生編碼符號(hào)。關(guān)于稀疏性的測(cè)量的一個(gè)實(shí)例為編碼符號(hào)依賴的鄰域集合中的符號(hào)的數(shù)目與塊中的符號(hào)的數(shù)目的比率。舉例來(lái)說(shuō),在塊包括256個(gè)源符號(hào)(k = 256)且每一編碼符號(hào)為所述256個(gè)源符號(hào)中的兩者和五者之間的X0R(異或)運(yùn)算的情況下,比率將在2 / 256與5 / 256之間。類似地,在K= 1024且每一編碼符號(hào)為正好三個(gè)源符號(hào)的函數(shù)(即,每一編碼符號(hào)的鄰域集合具有正好三個(gè)成員)的情況下,那么比率為3 / 1024。[0043]對(duì)于例如速龍代碼的一些代碼,并不直接從塊的源符號(hào)產(chǎn)生編碼符號(hào),而是改為從自身從塊的源符號(hào)產(chǎn)生的其它中間符號(hào)產(chǎn)生編碼符號(hào)。在任一情況下,對(duì)于速龍代碼,鄰域集合可比所述編碼符號(hào)的范圍(其等于塊中的源符號(hào)的數(shù)目)的大小小得多。在這些情況下,其中有效的編碼和解碼為關(guān)注問(wèn)題且所得代碼構(gòu)造為稀疏的,編碼符號(hào)的鄰域集合可比其范圍小得多,且不同的編碼符號(hào)可具有不同鄰域集合,甚至在從相同范圍產(chǎn)生時(shí)也如此。
[0044]由于塊刪除代碼的塊為不相交的,因此從一個(gè)塊產(chǎn)生的編碼符號(hào)無(wú)法用以恢復(fù)來(lái)自不同塊的符號(hào),這是因?yàn)槠洳缓嘘P(guān)于其它塊的信息。通常,代碼的設(shè)計(jì)、用于此類不相交塊刪除代碼的編碼器和解碼器歸因于代碼的性質(zhì)而以某種方式表現(xiàn)。如果簡(jiǎn)單地修改編碼器/解碼器以考慮非不相交塊,即,在塊的范圍可能與另一塊的范圍重疊的情況下,從重疊塊產(chǎn)生的編碼符號(hào)將不可用于有效地從塊的聯(lián)合恢復(fù)源符號(hào),即,在使用編碼符號(hào)的小鄰域集合對(duì)重疊塊解碼時(shí),解碼過(guò)程并不允許有效地使用編碼符號(hào)的小鄰域集合。因此,在經(jīng)應(yīng)用以對(duì)重疊塊解碼時(shí),塊刪除代碼的解碼效率比這些代碼在經(jīng)應(yīng)用以對(duì)其經(jīng)設(shè)計(jì)以用于的塊解碼(即,對(duì)不相交塊解碼)時(shí)的解碼效率差得多。
[0045]“系統(tǒng)性代碼”為編碼符號(hào)集合含有源符號(hào)自身的代碼。在此上下文中,在源符號(hào)與“修復(fù)符號(hào)”之間可能存在區(qū)別,其中后者指代編碼符號(hào)而不是匹配源符號(hào)的那些符號(hào)。在使用系統(tǒng)性代碼且正確地接收所有編碼符號(hào)的情況下,在接收器處不需要額外符號(hào)(修復(fù)符號(hào)),但如果在傳輸中丟失或刪除了一些源符號(hào),那么可使用修復(fù)符號(hào)來(lái)修復(fù)此類情形以使得解碼器可恢復(fù)遺失的源符號(hào)。如果編碼符號(hào)包括修復(fù)符號(hào)且源符號(hào)并非直接為編碼符號(hào)的部分,那么將代碼視為“非系統(tǒng)性的”。
[0046]記住這些定義,現(xiàn)在將描述各種實(shí)施例。
[0047]用于彈性代碼的編碼器/解碼器的概述
[0048]在編碼器中,從源符號(hào)、輸入?yún)?shù)、編碼規(guī)則以及可能的其它考慮因素產(chǎn)生編碼符號(hào)。在本文中所描述的基于塊的編碼的實(shí)例中,編碼符號(hào)可依賴的此源符號(hào)集合被稱作“源塊”,或者,被稱作編碼符號(hào)的“范圍”。因?yàn)榫幋a器是基于塊的,所以給定編碼符號(hào)僅依賴一個(gè)源塊內(nèi)的源符號(hào)(以及可能的其它細(xì)節(jié)),或者,僅依賴其范圍內(nèi)的源符號(hào),且并依賴在其源塊或范圍之外的源符號(hào)。
[0049]塊刪除代碼可用于允許有效編碼,以及有效解碼。舉例來(lái)說(shuō),一旦接收器成功地恢復(fù)給定源塊的所有源符號(hào),接收器便可暫停處理對(duì)所述源塊內(nèi)的源符號(hào)編碼的所有其它所接收的編碼符號(hào),且改為集中于其它源塊的編碼符號(hào)。
[0050]在簡(jiǎn)單的塊刪除編碼器中,可能將源數(shù)據(jù)劃分成固定大小的、連續(xù)且非重疊源塊,即,每一源塊具有相同數(shù)目個(gè)源符號(hào),在源塊范圍內(nèi)的所有源符號(hào)在源數(shù)據(jù)中在位置上鄰近且每一源符號(hào)屬于正好一個(gè)源塊。然而,對(duì)于某些應(yīng)用,此類約束可能降低性能,減少穩(wěn)健性,和/或添加編碼和/或解碼的計(jì)算努力。
[0051]彈性刪除代碼以若干種方式不同于塊刪除代碼。一種方式是:在面對(duì)重疊塊的聯(lián)合時(shí),彈性刪除代碼編碼器和解碼器更有效地操作。對(duì)于本文中所描述的彈性刪除代碼方法中的一些方法,所產(chǎn)生的編碼符號(hào)為稀疏的,即,其鄰域集合比其范圍的大小小得多,且當(dāng)使用從重疊的范圍(塊)的組合產(chǎn)生的編碼符號(hào)來(lái)對(duì)范圍的聯(lián)合解碼時(shí),對(duì)應(yīng)解碼器過(guò)程不僅為有效的(在解碼過(guò)程中充分利用編碼符號(hào)的稀疏性,且用于解碼的符號(hào)運(yùn)算的數(shù)目實(shí)質(zhì)上小于求解稠密方程組所需的符號(hào)運(yùn)算的數(shù)目),而且具有小的接收開銷(恢復(fù)范圍的聯(lián)合所需的編碼符號(hào)的數(shù)目可能等于或不大于范圍的聯(lián)合的大小)。舉例來(lái)說(shuō),當(dāng)從K個(gè)源符號(hào)的塊產(chǎn)生編碼符號(hào)時(shí),即,當(dāng)編碼符號(hào)具有范圍K時(shí),每一編碼符號(hào)的鄰域集合的大小可能為K的平方根。接著,從由兩個(gè)重疊塊產(chǎn)生的編碼符號(hào)恢復(fù)所述兩個(gè)塊的聯(lián)合所需的符號(hào)運(yùn)算的數(shù)目可能比K'的平方小得多,其中所述兩個(gè)塊的聯(lián)合包括K'個(gè)源符號(hào)。
[0052]在本文中所描述的彈性刪除譯碼的情況下,源塊不需要為大小固定的,可能有可能包含非鄰近位置,以及允許源塊重疊,使得給定源符號(hào)由一個(gè)以上源塊“包封”。
[0053]在下文所描述的編碼器的實(shí)施例中,待編碼的數(shù)據(jù)為有序的多個(gè)源符號(hào),且編碼器確定表示源符號(hào)的“基塊”的分界使得每一源符號(hào)由一個(gè)基塊涵蓋(或獲得關(guān)于所述情形的確定),以及源塊的確定和分界,其中源塊包封一個(gè)或一個(gè)以上基塊(以及所述基塊中的源符號(hào))。在每一源塊包封正好一個(gè)基塊的情況下,結(jié)果類似于常規(guī)塊編碼器。然而,當(dāng)源塊能夠彼此重疊使得某一基塊可能在一個(gè)以上源塊中,使得兩個(gè)源塊在其交集處具有至少一個(gè)基塊,且兩個(gè)源塊的聯(lián)合包含比所述源塊中的任一者中的源符號(hào)多的源符號(hào)時(shí),在譯碼中存在若干個(gè)有用且未預(yù)期的益處。
[0054]如果編碼使得可從由源塊對(duì)中的第一源塊產(chǎn)生的第編碼符號(hào)集合與由源塊對(duì)中的第二源塊產(chǎn)生的第二編碼符號(hào)集合的組合恢復(fù)由源塊對(duì)的聯(lián)合表示的源數(shù)據(jù)的部分,那么可能有可能使用比在使用更簡(jiǎn)單的編碼過(guò)程的情況下可能需要的所接收符號(hào)少的所接收符號(hào)來(lái)解碼。在此編碼過(guò)程中,在一些情況下,所得編碼符號(hào)可組合使用以用于有效地恢復(fù)一個(gè)以上源塊的源符號(hào)。
[0055]下文提供關(guān)于此情形的原因的說(shuō)明,但首先,將描述實(shí)施的實(shí)例。應(yīng)理解,這些實(shí)施可以硬件、由處理器或計(jì)算機(jī)執(zhí)行的程序代碼、在通用計(jì)算機(jī)上運(yùn)行的軟件或其類似者來(lái)進(jìn)行。
[0056]彈件代碼理想恢復(fù)屬件
[0057]對(duì)于塊代碼,理想恢復(fù)是從由塊產(chǎn)生的K個(gè)編碼符號(hào)的任何所接收集合來(lái)恢復(fù)塊的K個(gè)源符號(hào)的能力。眾所周知的,存在具有此理想恢復(fù)屬性的塊代碼。舉例來(lái)說(shuō),用作刪除代碼的里德所羅門(Reed-Solomon)代碼展現(xiàn)此理想恢復(fù)屬性。
[0058]可能針對(duì)彈性代碼定義類似的理想恢復(fù)屬性。假設(shè)彈性代碼通信系統(tǒng)經(jīng)設(shè)計(jì)使得接收器接收編碼符號(hào)的某一集合(其中信道可能造成編碼符號(hào)中的一些編碼符號(hào)的損失,因此確切集合可能無(wú)法在編碼器處指定)且接收器試圖恢復(fù)所有原始源符號(hào),其中在編碼器處從重疊范圍集合產(chǎn)生編碼符號(hào)。重疊范圍使得從重疊的源符號(hào)的多個(gè)源塊產(chǎn)生所接收的編碼符號(hào),其中每一所接收的編碼符號(hào)的范圍為所述源塊中的一者。換句話說(shuō),從T個(gè)塊(范圍)的集合b1;b2,K,br產(chǎn)生編碼符號(hào),其中從所述T個(gè)塊(范圍)中的正好一者產(chǎn)生每一編碼符號(hào)。
[0059]在此上下文中,對(duì)于任何S,使得I≤S≤T,對(duì)于{1,K,T}的所有子集UpKaJ,如果以下情形成立,那么可將彈性刪除代碼的理想恢復(fù)屬性描述為從所接收的編碼符號(hào)的子集E恢復(fù)T個(gè)塊的集合的能力:對(duì)于所有S,使得I≤s ≤S,對(duì)于UpLisI的所有子集U1',K,is' },MvK,<中的任一者產(chǎn)生的E中的符號(hào)的數(shù)目至多為VK 的聯(lián)合的大小,且從,κ Α,中的任一者產(chǎn)生的E中的符號(hào)的數(shù)目等于h,K ,h.的聯(lián)合的大小。應(yīng)注意,E可為所接收的編碼符號(hào)的子集,即,在評(píng)估此理想恢復(fù)定義以查看是否可恢復(fù)特定的塊(范圍)集合時(shí),可能不考慮一些所接收的編碼符號(hào)。
[0060]理想地,塊(范圍)集合的恢復(fù)應(yīng)為計(jì)算上有效的,例如,解碼過(guò)程使用的符號(hào)運(yùn)算的數(shù)目可能與經(jīng)恢復(fù)的范圍的聯(lián)合中的源符號(hào)的數(shù)目成線性比例,與二次方程成對(duì)比。
[0061]應(yīng)注意,雖然本文中的一些描述可能描述用于彈性刪除代碼編碼、處理、解碼等的方法和過(guò)程,所述方法和過(guò)程在一些情況下實(shí)現(xiàn)上文所描述的理想恢復(fù)屬性,在其它情況下,僅實(shí)現(xiàn)彈性代碼的理想恢復(fù)和效率屬性的緊密近似,但仍將所述方法和過(guò)程視為在彈性刪除代碼編碼、處理、解碼等的定義內(nèi)。
[0062]系統(tǒng)概沭
[0063]圖1為使用彈性代碼的通信系統(tǒng)100的框圖。
[0064]在系統(tǒng)100中,彈性代碼塊映射器(“映射器”)110產(chǎn)生基塊到源塊的映射,且有可能也產(chǎn)生基塊的分界。如圖1中所展示,通信系統(tǒng)100包含映射器110、用于源塊映射的存儲(chǔ)器115、編碼器陣列或編碼器120、用于對(duì)符號(hào)編碼的存儲(chǔ)器125,以及發(fā)射器模塊130。
[0065]映射器110根據(jù)各種輸入以及其中所表示的可能的規(guī)則集合而確定哪些源塊將與哪些基塊對(duì)應(yīng),且將對(duì)應(yīng)存儲(chǔ)在存儲(chǔ)器115中。如果此過(guò)程為確定性的且可重復(fù)的過(guò)程,那么可在解碼器處運(yùn)行相同過(guò)程以獲得此映射,但如果此過(guò)程為隨機(jī)的或并非完全確定性的,那么可將關(guān)于映射如何發(fā)生的信息發(fā)送到目的地以允許解碼器確定所述映射。
[0066]如所展示,在此實(shí)施例中使用輸入集合(決不需要為詳盡的),以用于控制映射器110的操作。舉例來(lái)說(shuō),在一些實(shí)施例中,映射可能依賴源符號(hào)自身的值、源符號(hào)的數(shù)目(K)、作為輸入(而不是完全在映射器110內(nèi)部產(chǎn)生)提供的基塊結(jié)構(gòu)、接收器反饋、數(shù)據(jù)優(yōu)先級(jí)信號(hào),或其它輸入。
[0067]作為實(shí)例,映射器110可能經(jīng)編程以創(chuàng)建具有包封的源塊,所述包封依賴于作為映射器110的輸入提供的基塊邊界的特定指不。
[0068]源塊映射也可能依賴于接收器反饋。在發(fā)射器容易得到接收器反饋且接收器指示對(duì)數(shù)據(jù)的成功接收的情況下,此情形可能為有用的。因此,接收器可能用信號(hào)向發(fā)射器通知接收器已接收并恢復(fù)直到第i個(gè)符號(hào)的所有源符號(hào),且映射器110可能進(jìn)行響應(yīng)而更改源塊包封以排除在第i個(gè)符號(hào)之前到達(dá)的完全恢復(fù)的基塊,此情形可節(jié)省發(fā)射器以及接收器處的計(jì)算努力和/或存儲(chǔ)。
[0069]源塊映射可依賴于數(shù)據(jù)優(yōu)先級(jí)輸入,所述數(shù)據(jù)優(yōu)先級(jí)輸入用信號(hào)向映射器110通知針對(duì)不同源塊或基塊使數(shù)據(jù)優(yōu)先級(jí)值變化。此情形的實(shí)例使用情況是在以下情況下:其中發(fā)射器正傳輸數(shù)據(jù)且接收到關(guān)于經(jīng)傳輸?shù)臄?shù)據(jù)的優(yōu)先級(jí)比其它數(shù)據(jù)低的信號(hào),在所述情況下,可以較低優(yōu)先級(jí)數(shù)據(jù)為代價(jià)針對(duì)較高優(yōu)先級(jí)數(shù)據(jù)增加譯碼和穩(wěn)健性。在以下應(yīng)用中,此情形將為有用的:在例如地圖顯示器的應(yīng)用中,其中最終用戶可能在載入地圖時(shí)移動(dòng)“感興趣的焦點(diǎn)”;或在視頻應(yīng)用中,其中最終用戶在傳輸視頻序列期間快進(jìn)或快退。
[0070]在任一情況下,編碼器陣列120使用源塊映射以及源符號(hào)值和用于編碼的其它參數(shù)來(lái)產(chǎn)生編碼符號(hào),所述編碼符號(hào)存儲(chǔ)在存儲(chǔ)器125中以用于最終由發(fā)射器模塊130傳輸。當(dāng)然,應(yīng)理解,系統(tǒng)100可完全以軟件來(lái)實(shí)施,所述軟件讀取源符號(hào)值和其它輸入且產(chǎn)生所存儲(chǔ)的編碼符號(hào)。因?yàn)榫幋a器陣列可得到源塊映射且編碼符號(hào)可獨(dú)立于不在與所述編碼符號(hào)相關(guān)聯(lián)的源塊內(nèi)的源符號(hào),所以編碼器陣列120可包括各自對(duì)不同源塊操作的多個(gè)獨(dú)立操作編碼器。還應(yīng)理解,在一些應(yīng)用中,緊接在產(chǎn)生每一編碼符號(hào)之后或幾乎緊接在產(chǎn)生每一編碼符號(hào)之后發(fā)送每一編碼符號(hào),且因此可能不存在對(duì)存儲(chǔ)器125的需要,或可能在傳輸編碼符號(hào)之前僅在短持續(xù)時(shí)間內(nèi)將編碼符號(hào)存儲(chǔ)在存儲(chǔ)器125內(nèi)。
[0071]現(xiàn)參看圖2,展示目的地處用作接收器的部分的解碼器的實(shí)例。如此處所說(shuō)明,接收器200包含接收器模塊210、用于所接收的編碼符號(hào)的存儲(chǔ)器220、解碼器230、用于經(jīng)解碼的源符號(hào)的存儲(chǔ)器235,以及對(duì)應(yīng)源塊映射存儲(chǔ)器215。未展示的內(nèi)容為接收關(guān)于如何創(chuàng)建源塊映射的信息所需的任何連接(如果發(fā)射器需要所述連接)。
[0072]接收器模塊210從發(fā)射器接收信號(hào),可能包含刪除、損失和/或遺失數(shù)據(jù),從所接收的信號(hào)導(dǎo)出編碼符號(hào),且將編碼符號(hào)存儲(chǔ)在存儲(chǔ)器220中。
[0073]解碼器230可讀取可得到的編碼符號(hào)、來(lái)自存儲(chǔ)器215的源塊映射,以基于映射、可得到的編碼符號(hào)以及存儲(chǔ)器235中的先前經(jīng)解碼符號(hào)來(lái)確定可從編碼符號(hào)對(duì)哪些符號(hào)解碼??蓪⒔獯a器230的結(jié)果存儲(chǔ)在存儲(chǔ)器235中。
[0074]應(yīng)理解,用于所接收的經(jīng)編碼符號(hào)的存儲(chǔ)器220以及用于經(jīng)解碼的源符號(hào)的存儲(chǔ)器235可能由共同存儲(chǔ)器元件來(lái)實(shí)施,即,其中解碼器230將解碼結(jié)果保存在與用以解碼的所接收的編碼符號(hào)相同的存儲(chǔ)區(qū)域中。還應(yīng)從本發(fā)明理解,編碼符號(hào)和經(jīng)解碼源符號(hào)可存儲(chǔ)在易失性存儲(chǔ)器中,例如,隨機(jī)存取存儲(chǔ)器(RAM)或高速緩沖存儲(chǔ)器,尤其在于編碼符號(hào)首次到達(dá)時(shí)與經(jīng)解碼數(shù)據(jù)將供其它應(yīng)用使用時(shí)之間存在短延遲的情況下。在其它應(yīng)用中,將符號(hào)存儲(chǔ)在不同類型的存儲(chǔ)器中。
[0075]圖3更詳細(xì)地說(shuō)明編碼器300,其可能為圖1中所展示的編碼器或編碼器陣列中的一個(gè)編碼器單元。在任一情況下,如所說(shuō)明,編碼器300具有符號(hào)緩沖器305,源符號(hào)的值存儲(chǔ)在符號(hào)緩沖器305中。在說(shuō)明中,可一次存儲(chǔ)所有K個(gè)源符號(hào),但應(yīng)理解,編碼器也可同等地對(duì)具有少于全部源符號(hào)的符號(hào)緩沖器起作用。舉例來(lái)說(shuō),可能用僅含有相當(dāng)于一個(gè)源塊價(jià)值的源符號(hào)或甚至相當(dāng)于少于整個(gè)源塊價(jià)值的源符號(hào)的符號(hào)緩沖器來(lái)執(zhí)行產(chǎn)生編碼符號(hào)的給定操作。
[0076]符號(hào)選擇器310從符號(hào)緩沖器305中的源符號(hào)位置中的一到K中選擇,且運(yùn)算符320對(duì)對(duì)應(yīng)于源符號(hào)的操作數(shù)進(jìn)行運(yùn)算且借此產(chǎn)生編碼符號(hào)。在特定實(shí)例中,符號(hào)選擇器310使用稀疏矩陣來(lái)從經(jīng)產(chǎn)生的編碼符號(hào)的源塊或范圍中選擇符號(hào),且運(yùn)算符320通過(guò)對(duì)符號(hào)執(zhí)行逐位異或(XOR)運(yùn)算來(lái)對(duì)選定的符號(hào)進(jìn)行運(yùn)算以獲得編碼符號(hào)。除XOR之外的其它運(yùn)算是可能的。
[0077]如本文中所使用,作為針對(duì)特定編碼符號(hào)的操作數(shù)的源符號(hào)被稱作所述編碼符號(hào)的“相鄰者”,且依賴于給定源符號(hào)的所有編碼符號(hào)的集合被稱作所述源塊的鄰域。
[0078]當(dāng)運(yùn)算為XOR時(shí),如果編碼符號(hào)的所有其它相鄰者源符號(hào)可得到,那么可簡(jiǎn)單地通過(guò)對(duì)編碼符號(hào)和其它相鄰者執(zhí)行XOR運(yùn)算,從編碼符號(hào)來(lái)恢復(fù)為所述編碼符號(hào)的相鄰者的源符號(hào)。此情形可使得有可能對(duì)其它源符號(hào)解碼。其它運(yùn)算可能具有相似的功能性。
[0079]在己知相鄰者關(guān)系的情況下,將存在源符號(hào)和編碼符號(hào)的曲線圖,以表示編碼關(guān)系O
[0080]彈件代碼的細(xì)節(jié)
[0081]彈性代碼具有優(yōu)于塊代碼或卷積碼或網(wǎng)絡(luò)代碼的許多優(yōu)點(diǎn),且容易允許經(jīng)譯碼的內(nèi)容基于在編碼期間所接收的反饋而改變。歸因于塊代碼對(duì)整個(gè)數(shù)據(jù)塊譯碼的要求,塊代碼為有限的,但隨著編碼繼續(xù)進(jìn)行而對(duì)數(shù)據(jù)的不同部分譯碼可為有利的,基于信道的己知的錯(cuò)誤條件和/或反饋,考慮:在許多應(yīng)用中,歸因于時(shí)序約束,例如,當(dāng)流式傳輸數(shù)據(jù)時(shí),在可恢復(fù)所有數(shù)據(jù)之前按前綴次序恢復(fù)數(shù)據(jù)為有用的。
[0082]卷積碼通過(guò)按預(yù)定樣式化方式將修復(fù)符號(hào)添加到數(shù)據(jù)流而對(duì)所述流提供某種保護(hù),例如,基于預(yù)定樣式以預(yù)定速率將修復(fù)符號(hào)添加到流。卷積碼并不允許任意的源塊結(jié)構(gòu),其也不提供靈活性以從源數(shù)據(jù)的不同部分產(chǎn)生變化量的編碼符號(hào),且其也以許多其它方式而為有限的,包含恢復(fù)屬性以及編碼和解碼的效率。
[0083]網(wǎng)絡(luò)代碼提供對(duì)通過(guò)多種中間接收器傳輸?shù)臄?shù)據(jù)的保護(hù),且每一個(gè)此類中間接收器接著基于其所接收的內(nèi)容而對(duì)額外編碼數(shù)據(jù)編碼且傳輸額外編碼數(shù)據(jù)。網(wǎng)絡(luò)代碼并不提供靈活性以確定源塊結(jié)構(gòu),也不存在比強(qiáng)力好的已知的有效編碼和解碼程序,且網(wǎng)絡(luò)代碼也以許多其它方式而為有限的。
[0084]彈性代碼提供合適級(jí)別的數(shù)據(jù)保護(hù),同時(shí)允許實(shí)時(shí)流式傳輸體驗(yàn),即,在給定當(dāng)前錯(cuò)誤條件的情況下(歸因于經(jīng)引入以保護(hù)從而免于錯(cuò)誤條件的譯碼),在過(guò)程中引入盡可能少的等待時(shí)間。
[0085]如所解釋,彈性代碼為滿足以下情形的代碼:其中每一編碼符號(hào)可依賴于源符號(hào)的任意子集。一種類型的一般性彈性代碼為彈性弦代碼,其中源符號(hào)按序列布置且每一編碼符號(hào)是從連續(xù)源符號(hào)集合產(chǎn)生的。下文更詳細(xì)地解釋彈性弦代碼。
[0086]彈性代碼的其它實(shí)施例為也為線性代碼的彈性代碼,S卩,其中每一編碼符號(hào)為其所依賴的源符號(hào)的線性總和,且GF(q)線性代碼為滿足以下情形的線性代碼:其中任何編碼符號(hào)的構(gòu)造中的源符號(hào)的系數(shù)為有限域GF(q)的成員。
[0087]如本文中所描述的使用彈性代碼的編碼器和解碼器以及通信系統(tǒng)提供使等待時(shí)間和帶寬開銷最小化的良好平衡。
[0088]用于多優(yōu)先級(jí)譯碼的彈性代碼用途
[0089]彈性代碼也可用于需要遞送包括多個(gè)部分的對(duì)象的通信系統(tǒng)中,因?yàn)樗霾糠挚删哂胁煌倪f送優(yōu)先級(jí),其中靜態(tài)地或動(dòng)態(tài)地確定所述優(yōu)先級(jí)。
[0090]靜態(tài)優(yōu)先級(jí)的實(shí)例將為經(jīng)分割成不同部分以按依賴于所述部分的優(yōu)先級(jí)而遞送的數(shù)據(jù),其中不同部分可在邏輯上相關(guān)或依賴于彼此(在時(shí)間或某一其它因果關(guān)系維度上)。在此情況下,協(xié)議可能不具有從接收器到發(fā)送器的反饋,即,為開環(huán)。
[0091]動(dòng)態(tài)優(yōu)先級(jí)的實(shí)例將為滿足以下情形的協(xié)議:當(dāng)最終用戶動(dòng)態(tài)地且不可預(yù)測(cè)地集中于地圖改變的不同部分時(shí),動(dòng)態(tài)地分成幾部分地將二維地圖信息遞送到最終用戶。在此情況下,待遞送的地圖的不同部分的優(yōu)先級(jí)基于僅基于協(xié)議過(guò)程期間的反饋而已知的未知的先驗(yàn)優(yōu)先級(jí)而改變,例如,反應(yīng)于改變的網(wǎng)絡(luò)條件、接收器輸入或興趣或其它輸入。舉例來(lái)說(shuō),最終用戶可基于其當(dāng)前地圖視圖中的信息以及其個(gè)人傾向和/或目標(biāo)而改變其在將查看地圖的哪一接下來(lái)的部分方面的興趣??蓪⒌貓D數(shù)據(jù)分割成象限,且在每一象限內(nèi),分割成不同的細(xì)化級(jí)別,且因此可能存在針對(duì)每一象限的每一級(jí)別的基塊,且源塊可能包括一個(gè)或一個(gè)以上基塊的聯(lián)合,例如,一些源塊可能包括與一個(gè)象限內(nèi)的不同的細(xì)化級(jí)別相關(guān)聯(lián)的基塊的聯(lián)合,而其它源塊可能包括與一個(gè)細(xì)化級(jí)別的鄰近象限相關(guān)聯(lián)的基塊的聯(lián)合。此為閉環(huán)協(xié)議的實(shí)例。
[0092]使用彈性刪除譯碼的編碼器
[0093]本文中所描述的編碼器使用新穎的譯碼,所述新穎的譯碼允許對(duì)數(shù)據(jù)的任意子集編碼。舉例來(lái)說(shuō),一個(gè)修復(fù)符號(hào)可對(duì)一個(gè)數(shù)據(jù)符號(hào)集合編碼,而第二修復(fù)符號(hào)可對(duì)第二數(shù)據(jù)符號(hào)集合編碼,按以下方式進(jìn)行:使得所述兩個(gè)修復(fù)符號(hào)可從其范圍的交集中的兩個(gè)源符號(hào)的損失來(lái)恢復(fù),且每一修復(fù)符號(hào)可從來(lái)自數(shù)據(jù)符號(hào)的在其范圍內(nèi)但不在另一修復(fù)符號(hào)的范圍內(nèi)的一個(gè)數(shù)據(jù)符號(hào)的損失來(lái)恢復(fù)。彈性代碼的一個(gè)優(yōu)點(diǎn)在于:其可提供恢復(fù)能力與端到端等待時(shí)間之間的彈性折衷。此類代碼的另一個(gè)優(yōu)點(diǎn)在于其可用以按以下方式保護(hù)不同優(yōu)先級(jí)的數(shù)據(jù):使得可組合僅針對(duì)最高優(yōu)先級(jí)數(shù)據(jù)提供的保護(hù)與針對(duì)整個(gè)數(shù)據(jù)提供以恢復(fù)整個(gè)數(shù)據(jù)的數(shù)據(jù),甚至在針對(duì)最高優(yōu)先級(jí)數(shù)據(jù)提供的修復(fù)并非單獨(dú)足夠用于恢復(fù)最高優(yōu)先級(jí)數(shù)據(jù)時(shí)的情況下也如此。
[0094]在不存在反饋的情況下以及在協(xié)議內(nèi)存在反饋的情況下,這些代碼可用于完整協(xié)議設(shè)計(jì)中。在協(xié)議內(nèi)存在反饋的情況下,可基于反饋而動(dòng)態(tài)地改變代碼以提供所提供的保護(hù)與添加的等待時(shí)間(歸因于譯碼)的最好組合。
[0095]可通過(guò)具有單個(gè)的源范圍(每一源符號(hào)僅屬于一個(gè)源塊)將塊代碼視為使用彈性代碼的退化情況。在彈性代碼的情況下,源范圍確定可為完全靈活的,源符號(hào)可屬于多個(gè)源范圍,可即時(shí)地確定源范圍,以不同于預(yù)先定義的規(guī)則樣式的樣式,通過(guò)源數(shù)據(jù)的基礎(chǔ)結(jié)構(gòu)確定,通過(guò)輸送條件或其它因素確定。
[0096]圖4說(shuō)明實(shí)例,其中下行方框表示源符號(hào)且符號(hào)上方的大括號(hào)指示源塊的包封。在此實(shí)例中,存在三個(gè)源塊且因此將存在三個(gè)經(jīng)編碼塊,針對(duì)所述源塊中的每一者編碼的經(jīng)編碼塊。在此實(shí)例中,如果源塊由基塊形成,那么可存在五個(gè)基塊,其中基塊分界用箭頭來(lái)指示。
[0097]一般來(lái)說(shuō),使用彈性代碼的編碼器和解碼器將操作,其中源符號(hào)中的每一者在一個(gè)基塊內(nèi)但可在一個(gè)以上源塊或源范圍中,其中源塊中的一些源塊重疊且在一些情況下,至少并非完全為其它源塊的子集,即,存在至少兩個(gè)源塊,所述至少兩個(gè)源塊具有一些共同的源符號(hào),而且每一源塊具有存在于所述源塊中的一者中但不存在于所述源塊中的另一者中的一些源符號(hào)。源塊是產(chǎn)生修復(fù)符號(hào)所來(lái)自的單元,即,修復(fù)符號(hào)的范圍,使得一個(gè)源塊的修復(fù)符號(hào)可獨(dú)立于不在所述源塊中的源符號(hào),借此允許使用源塊的經(jīng)編碼、所接收和/或修復(fù)符號(hào)對(duì)所述源塊的源符號(hào)解碼,而不需要解碼器存取另一源塊的經(jīng)編碼、所接收或修復(fù)符號(hào)。
[0098]源塊的范圍的樣式可為任意的,和/或可依賴于目的解碼器的需要或請(qǐng)求。在一些實(shí)施中,可即時(shí)地確定源范圍,通過(guò)源數(shù)據(jù)的基礎(chǔ)結(jié)構(gòu)確定,通過(guò)輸送條件確定,和/或通過(guò)其它因素確定??蓮慕o定源塊產(chǎn)生的修復(fù)符號(hào)的數(shù)目可針對(duì)每一源塊而相同,或可變化。從給定源塊產(chǎn)生的修復(fù)符號(hào)的數(shù)目可基于譯碼率而固定或可獨(dú)立于源塊,如在鏈反應(yīng)代碼的情況下。
[0099]在傳統(tǒng)塊代碼或鏈反應(yīng)代碼的情況下,由解碼器組合彼此使用以恢復(fù)源符號(hào)的修復(fù)符號(hào)通常從單個(gè)源塊產(chǎn)生,而在本文中所描述的彈性代碼的情況下,可從源數(shù)據(jù)的任意部分以及從源數(shù)據(jù)的重疊部分產(chǎn)生修復(fù)符號(hào),且源符號(hào)到源塊的映射可為靈活的。
[0100]選定設(shè)計(jì)考慮因素
[0101]有效的編碼和解碼為彈性代碼設(shè)計(jì)中的主要關(guān)注問(wèn)題。舉例來(lái)說(shuō),理想效率可能見(jiàn)于可使用若干個(gè)符號(hào)運(yùn)算解碼的彈性代碼中,所述彈性代碼在經(jīng)恢復(fù)的源符號(hào)的數(shù)目上為線性的,且因此使用實(shí)質(zhì)上比強(qiáng)力方法少的符號(hào)運(yùn)算用于恢復(fù)的任何解碼器為優(yōu)選的,其中強(qiáng)力方法通常需要在經(jīng)恢復(fù)的源符號(hào)的數(shù)目上為二次的若干個(gè)符號(hào)運(yùn)算。
[0102]用最少的接收開銷解碼也是目標(biāo),其中可將“接收開銷”表示為實(shí)現(xiàn)先前所描述的理想恢復(fù)屬性所需的額外編碼符號(hào)的數(shù)目,解碼器需要超過(guò)所述數(shù)目。此外,得到保證的恢復(fù)或高概率恢復(fù)或非常高可能性的恢復(fù)或大體上高的可靠性恢復(fù)為優(yōu)選的。換句話說(shuō),在一些應(yīng)用中,目標(biāo)不需要為完全恢復(fù)。
[0103]彈性代碼可用于若干環(huán)境中。舉例來(lái)說(shuō),在分層譯碼的情況下,提供第一修復(fù)符號(hào)集合以保護(hù)較高優(yōu)先級(jí)數(shù)據(jù)塊,而第二修復(fù)符號(hào)集合保護(hù)較高優(yōu)先級(jí)數(shù)據(jù)塊與較低優(yōu)先級(jí)數(shù)據(jù)塊的組合,在解碼處需要較少符號(hào)且如果分別對(duì)較高優(yōu)先級(jí)數(shù)據(jù)塊編碼且分別對(duì)較低優(yōu)先級(jí)數(shù)據(jù)塊編碼。一些已知代碼提供分層譯碼,但常常以未能實(shí)現(xiàn)重疊源塊的聯(lián)合的有效解碼和/或未能實(shí)現(xiàn)高可靠性恢復(fù)為代價(jià)。
[0104]下文所描述的基于彈性窗口的代碼可同時(shí)實(shí)現(xiàn)重疊源塊的聯(lián)合的有效且高可靠性解碼,且還可在分層譯碼的情況下進(jìn)行此操作。
[0105]結(jié)合網(wǎng)絡(luò)譯碼
[0106]在另一環(huán)境中,使用網(wǎng)絡(luò)譯碼,其中起始節(jié)點(diǎn)將源數(shù)據(jù)的編碼發(fā)送到可經(jīng)歷不同損失樣式的中間節(jié)點(diǎn),且中間節(jié)點(diǎn)將從所接收的編碼數(shù)據(jù)的部分產(chǎn)生的編碼數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)。目的節(jié)點(diǎn)可接著通過(guò)對(duì)從多個(gè)中間節(jié)點(diǎn)接收的所接收的編碼數(shù)據(jù)解碼而恢復(fù)原始源數(shù)據(jù)??稍诰W(wǎng)絡(luò)譯碼協(xié)議內(nèi)使用彈性代碼,其中所得解決方案提供原始源數(shù)據(jù)的有效且高可靠性恢復(fù)。
[0107]彈性弦代碼的簡(jiǎn)單構(gòu)造
[0108]為了解釋的目的,假定編碼器如下產(chǎn)生修復(fù)符號(hào)集合,其提供彈性弦代碼的簡(jiǎn)單構(gòu)造。可擴(kuò)展此簡(jiǎn)單構(gòu)造以提供未必為彈性弦代碼的彈性代碼,在所述情況下,修復(fù)符號(hào)以及其鄰域集合或范圍的識(shí)別為此處所描述的識(shí)別的擴(kuò)展。用GF(256)中的元素產(chǎn)生mXn矩陣A。用Au表示第i行和第j列的元素,且用S j=O, 1,2,...)表示源符號(hào)。接著,對(duì)于任何元組(e,1,i),其中e、l和i為整數(shù),e
I > O且O
i <m,且修復(fù)符號(hào)具有如在方程I中闡述的值。
[0110]應(yīng)注意,對(duì)于待良好定義的Re, U,應(yīng)指定符號(hào)乘以GF(256)的元素的乘法的概念和符號(hào)的求和的概念。在實(shí)例中,在本文中,將GF(256)的兀素表不為八進(jìn)制數(shù)且將可為一序列八進(jìn)制數(shù)的每一符號(hào)視為GF(256)的一序列元素。符號(hào)乘以域元素的乘法需要符號(hào)的每一元素乘以相同域元素的乘法。符號(hào)的求和簡(jiǎn)單地為由待求和的符號(hào)中的對(duì)應(yīng)域元素的總和的串聯(lián)形成的符號(hào)。
[0111]針對(duì)給定修復(fù)符號(hào)的出現(xiàn)于方程I中的源符號(hào)集合被稱為修復(fù)符號(hào)的“范圍”,而具有針對(duì)所述修復(fù)符號(hào)中的每一者的出現(xiàn)于方程I中的給定源符號(hào)的修復(fù)符號(hào)集合被稱作給定源符號(hào)的“鄰域”。因此,在此構(gòu)造中,修復(fù)符號(hào)的鄰域集合與修復(fù)符號(hào)的范圍相同。
[0112]代碼的編碼符號(hào)則包括源符號(hào)加上修復(fù)符號(hào),如本文中所定義,S卩,經(jīng)構(gòu)造的代碼為系統(tǒng)性的。
[0113]考慮矩陣A的兩個(gè)替代構(gòu)造,其對(duì)應(yīng)于兩個(gè)不同的彈性代碼。對(duì)于“隨機(jī)弦代碼”,從GF(256)的非零元素中偽隨機(jī)地選擇A的元素。應(yīng)理解,貫穿本文,除非另外指示,否則在描述為隨機(jī)地選擇的情況下,應(yīng)假定:偽隨機(jī)選擇包含于所述描述中且,更一般來(lái)說(shuō),可偽隨機(jī)地執(zhí)行隨機(jī)操作。對(duì)于“柯西弦代碼”,如方程2中所展示來(lái)定義A的元素,其中k=255-m,且g(x)為八進(jìn)制數(shù)表示為x的有限域元素。
[0114]& =(g(_/mocU)十袞(255-/))_i (方程 2)
[0115]對(duì)來(lái)自使用彈性弦代碼的簡(jiǎn)單構(gòu)造的編碼的符號(hào)解碼
[0116]又關(guān)于編碼符號(hào)自身,解碼器存取每一符號(hào)的識(shí)別信息,所述識(shí)別信息可僅為索引,即,對(duì)于源符號(hào)Sj,識(shí)別信息為索引j。對(duì)于修復(fù)符號(hào)Re, u,識(shí)別信息為三元組(e,1,i)。當(dāng)然,解碼器也存取矩陣A。
[0117]對(duì)于每一所接收的修復(fù)符號(hào),解碼器確定識(shí)別信息,且如果源符號(hào)值己知,那么使用源符號(hào)值從方程I計(jì)算所述修復(fù)符號(hào)的值,且如果源符號(hào)值未知,那么使用零符號(hào)從方程I計(jì)算所述修復(fù)符號(hào)的值。當(dāng)將如此計(jì)算的值添加到所接收的修復(fù)符號(hào)時(shí),假定修復(fù)符號(hào)經(jīng)正確地接收,結(jié)果為修復(fù)符號(hào)的范圍或鄰域中的剩余的未知源符號(hào)的總和。
[0118]為了簡(jiǎn)單起見(jiàn),此描述對(duì)解碼器編程以試圖恢復(fù)在至少一個(gè)所接收的修復(fù)符號(hào)的范圍內(nèi)的所有未知源符號(hào)。在閱讀本發(fā)明后,應(yīng)顯而易見(jiàn),如何修改解碼器以恢復(fù)少于全部的未知源符號(hào),或以高概率但少于確定性地恢復(fù)所有未知源符號(hào),或其組合。
[0119]在此實(shí)例中,假設(shè)t為在所接收的修復(fù)符號(hào)的范圍的聯(lián)合中的未知源符號(hào)的數(shù)目,且假設(shè)jo,Jij K,jt_i為所述未知源符號(hào)的索引。假設(shè)U為所接收的修復(fù)符號(hào)的數(shù)目且將所接收的修復(fù)符號(hào)表示(任意地)為R。,K,Rlrf。
[0120]構(gòu)造具有項(xiàng)目Em的u X t矩陣E,其中Em為方程I中的針對(duì)修復(fù)符號(hào)Rp的源符號(hào) 的系數(shù),或在?不出現(xiàn)于方程中的情況下,Em為零。接著,如果S=(S V,SJf/為遺失源符號(hào)的向量,且R=(Ro,Λ ,RuJt為在應(yīng)用步驟I之后的所接收的修復(fù)符號(hào)的向量,那么將滿足方程3中的表達(dá)式。
[0121]R=E.S (方程 3)
[0122]如果E并不具有秩U,那么存在可移除而不改變E的秩的一行Ε。移除所述一行Ε,將u遞減一且將剩余修復(fù)符號(hào)重新編號(hào),使得方程3仍成立。重復(fù)此步驟,直到E具有秩u為止。
[0123]如果u=t,那么完全解碼是可能的,E為滿秩正方形,且因此為可逆的。由于E為可逆的,因此可從E4R找到S,且解碼完成。如果u〈t,那么在不接收額外源符號(hào)和/或源符號(hào)的此子集的修復(fù)符號(hào)或具有關(guān)于來(lái)自某一其它途徑的源符號(hào)的其它信息的情況下完全解碼是不可能的。
[0124]如果u〈t,那么假設(shè)E'為滿秩的E的uXu子矩陣。在合適的列排列的情況下,可將E寫為(E' |U),其中U為uX(t-u)矩陣。將方程3的兩邊乘以E, 可獲得方程4中的表達(dá)式,方程4提供針對(duì)對(duì)應(yīng)于E-1R的行(其中E, 為零)的源符號(hào)的解決方案。
[0125]E1.R=(I)E1.U).S (方程 4)
[0126]如果接收 到其它修復(fù)符號(hào)和/或源符號(hào),那么方程4允許更簡(jiǎn)單地恢復(fù)剩余源符號(hào)。
[0127]源符號(hào)的其它部分的恢復(fù)可能為有可能的,甚至在恢復(fù)在至少一個(gè)所接收的修復(fù)符號(hào)的范圍內(nèi)的所有未知源符號(hào)為不可能的時(shí)也如此。舉例來(lái)說(shuō),可能為以下情況:盡管一些未知源符號(hào)在至少一個(gè)所接收的修復(fù)符號(hào)的范圍內(nèi),但存在不足的修復(fù)符號(hào)來(lái)恢復(fù)未知源符號(hào),或修復(fù)符號(hào)與未知源符號(hào)之間的方程中的一些方程為線性依賴的。在這些情況下,可能有可能僅使用具有在源符號(hào)的較小子集內(nèi)的范圍的所述修復(fù)符號(hào)來(lái)至少恢復(fù)源符號(hào)的所述較小子集。
[0128]使用彈性弦代碼的簡(jiǎn)單構(gòu)造的基于流的解碼器
[0129]在“流”操作模式中,源符號(hào)形成流,且在產(chǎn)生修復(fù)時(shí)經(jīng)由源符號(hào)的后綴產(chǎn)生修復(fù)符號(hào)。此基于流的協(xié)議使用上文所描述的彈性弦代碼的簡(jiǎn)單構(gòu)造。
[0130]在解碼器處,源符號(hào)和修復(fù)符號(hào)逐個(gè)地到達(dá),可能具有某種重新排序,且源符號(hào)或修復(fù)符號(hào)一到達(dá),解碼器就可識(shí)別任何丟失的源符號(hào)是否變得可解碼,接著對(duì)此源符號(hào)解碼且將此源符號(hào)遞送到解碼器的輸出。
[0131]為了實(shí)現(xiàn)此目的,解碼器維持矩陣(IlE' ―1.U),且根據(jù)下文的程序,每次接收到新的源符號(hào)或修復(fù)符號(hào)時(shí),更新此矩陣(IlE' _、U)。
[0132]假設(shè)D表示“解碼矩陣”(I IE' -1.U)。假設(shè)Dij表示位置(i,j)處的元素,Diy表示D的第j列,且Di*表示D的第i行。
[0133]在下文所描述的程序中,解碼器對(duì)解碼矩陣執(zhí)行各種運(yùn)算。對(duì)修復(fù)符號(hào)執(zhí)行等效運(yùn)算以實(shí)現(xiàn)解碼。這些運(yùn)算可與矩陣運(yùn)算同時(shí)執(zhí)行,但在一些實(shí)施中,將這些運(yùn)算延遲,直到在下文所描述的“恢復(fù)符號(hào)”程序中恢復(fù)實(shí)際源符號(hào)為止。
[0134]在接收到源符號(hào)后,如果源符號(hào)為遺失源符號(hào)中的一者,那么解碼器移除D的對(duì)應(yīng)列。如果經(jīng)移除的列為前u列中的一者,那么解碼器識(shí)別與具有經(jīng)移除的列中的非零元素的行相關(guān)聯(lián)的修復(fù)符號(hào)。解碼器接著針對(duì)此修復(fù)符號(hào)的接收重復(fù)下文所描述的程序。如果經(jīng)移除的列并非前u列中的一者,那么解碼器執(zhí)行下文所描述的“恢復(fù)符號(hào)”程序。
`[0135]在接收到修復(fù)符號(hào)后,首先,解碼器針對(duì)當(dāng)前未知的每一源符號(hào)將新的列添加到D,在新的修復(fù)符號(hào)的范圍內(nèi)且并非已與D的列相關(guān)聯(lián)。接下來(lái),解碼器針對(duì)所接收的修復(fù)符號(hào)將新的行Du*添加到D,將來(lái)自方程I的系數(shù)填入此行。
[0136]對(duì)于從O到u-Ι (包含O和u-Ι)的i,解碼器用(D--Dui.DiJ替換Du*。此步驟導(dǎo)致消除Du*的前u個(gè)元素(即,減少到零)。如果在此消除步驟之后Du*為非零的,那么解碼器執(zhí)行列交換(在必要的情況下),使得Duu為非零的且用(DuiT1.DuJ替換Du*。
[0137]對(duì)于從u-Ι到O (包含u-Ι和O)的i,解碼器用(Di1-Diu.Du*)替換Di*。此步驟導(dǎo)致消除列u的元素(S卩,減少到零)(除了行u之外)。
[0138]矩陣現(xiàn)在再次呈形式(IlE' 1.U),且解碼器可設(shè)置u:=u+l。
[0139]為了執(zhí)行“恢復(fù)符號(hào)”程序,解碼器考慮為零的E' 1 -U的每一行,或如果E' 1 -U為空,那么考慮D的所有行??苫謴?fù)D的所述行中列為非零的源符號(hào)。通過(guò)對(duì)修復(fù)符號(hào)執(zhí)行所存儲(chǔ)的運(yùn)算序列來(lái)實(shí)現(xiàn)恢復(fù)。具體來(lái)說(shuō),當(dāng)解碼器用(Dw-C1-Di*)替換行Di*時(shí),其也用(R1-C1-Ri)替換對(duì)應(yīng)修復(fù)符號(hào)Ri,且當(dāng)用(a -DiJ替換行Di*時(shí),其用α.Ri替換修復(fù)符號(hào)民。
[0140]應(yīng)注意,執(zhí)行運(yùn)算的次序?yàn)橹匾那宜龃涡蚺c執(zhí)行矩陣運(yùn)算的次序相同。
[0141]一旦已執(zhí)行運(yùn)算,接著針對(duì)為零的E' ―1.U的每一行,對(duì)應(yīng)修復(fù)符號(hào)現(xiàn)在具有等于在D的所述行中列為非零的源符號(hào)的值的值,且因此恢復(fù)所述符號(hào)??山又鴮⒋诵泻土袕腄中移除。[0142]在一些實(shí)施中,僅在識(shí)別可恢復(fù)至少一個(gè)符號(hào)時(shí)執(zhí)行符號(hào)運(yùn)算。針對(duì)D的所有行執(zhí)行符號(hào)運(yùn)算,但可能并不導(dǎo)致恢復(fù)所有遺失符號(hào)。解碼器因此追蹤哪些修復(fù)符號(hào)已“經(jīng)處理”以及哪些符號(hào)“未經(jīng)處理”,且在執(zhí)行進(jìn)一步矩陣運(yùn)算時(shí),小心地保持經(jīng)處理的符號(hào)為最新的。
[0143]在此“流”模式中,彈性代碼的屬性在于:依賴性可無(wú)限地伸展到過(guò)去且因此解碼矩陣D可任意大地生長(zhǎng)。實(shí)際上,實(shí)施應(yīng)設(shè)置對(duì)D的大小的限制。在實(shí)際應(yīng)用中,常常存在針對(duì)任何給定源符號(hào)的遞送的“截止時(shí)間”,即,在所述時(shí)間之后,符號(hào)對(duì)上部協(xié)議層無(wú)用,或在所述時(shí)間之后,告知上部層無(wú)論如何繼續(xù)進(jìn)行而無(wú)丟失的符號(hào)。
[0144]可基于此約束而設(shè)置D的最大大小。然而,對(duì)于彈性代碼解碼器來(lái)說(shuō),保持可用以恢復(fù)給定源符號(hào)的信息可為有利的,即使所述符號(hào)從未遞送到應(yīng)用程序也如此。這是因?yàn)樘娲桨甘莵G棄具有對(duì)所討論的源符號(hào)的依賴性的所有修復(fù)符號(hào),且可為以下情況:所述修復(fù)符號(hào)中的一些修復(fù)符號(hào)可用以恢復(fù)截止時(shí)間未過(guò)期的不同源符號(hào)。
[0145]對(duì)D的大小的替代限制與存儲(chǔ)在彈性代碼解碼器中的信息的總量有關(guān)。在一些實(shí)施中,在循環(huán)緩沖器中緩沖所接收的源符號(hào)且保持已經(jīng)遞送的符號(hào),這是因?yàn)殡S后解譯所接收的修復(fù)符號(hào)可能需要這些符號(hào)(例如,計(jì)算上述方程I中的值)。當(dāng)最后丟棄源符號(hào)時(shí)(歸因于緩沖器滿了),有必要丟棄(或處理)范圍包含所述符號(hào)的任何(未經(jīng)處理的)修復(fù)符號(hào)。給定此事實(shí),以及源緩沖器大小,可能應(yīng)設(shè)置矩陣D的大小以適應(yīng)預(yù)期被接收的范圍均在源緩沖器內(nèi)的最大數(shù)目個(gè)修復(fù)符號(hào)。
[0146]替代實(shí)施是根據(jù)上文所描述的理想恢復(fù)屬性僅在存在成功解碼的可能性時(shí)來(lái)構(gòu)造矩陣D。
[0147]計(jì)算復(fù)雜性
[0148]上文所描述的代碼的計(jì)算復(fù)雜性受符號(hào)運(yùn)算支配。
[0149]符號(hào)的加法可為對(duì)符號(hào)的逐位異或。此操作可在一些處理器上通過(guò)使用寬寄存器(例如,遵循x86架構(gòu)的CPU上的SSE寄存器)有效地來(lái)實(shí)現(xiàn),所述寬寄存器可同時(shí)對(duì)64位或128位數(shù)據(jù)執(zhí)行XOR運(yùn)算。然而,符號(hào)乘以有限域元素的乘法常常必須逐字節(jié)地來(lái)執(zhí)行,這是因?yàn)樘幚砥饕话悴⒉惶峁┯糜谟邢抻蜻\(yùn)算的本機(jī)指令且因此必須使用查找表,這意味著每一字節(jié)乘法需要若干個(gè)處理器指令,包含存取存儲(chǔ)器而不是處理數(shù)據(jù)。
[0150]在編碼器處,使用上述方程I來(lái)計(jì)算每一修復(fù)符號(hào)。此操作涉及I個(gè)符號(hào)乘法以及1-1個(gè)符號(hào)加法,其中I為修復(fù)符號(hào)范圍內(nèi)的源符號(hào)的數(shù)目。如果每一源符號(hào)通過(guò)正好r個(gè)修復(fù)符號(hào)來(lái)保護(hù),那么總的復(fù)雜性為0(r.k)個(gè)符號(hào)運(yùn)算,其中k為源符號(hào)的數(shù)目?;蛘?,如果每一修復(fù)符號(hào)具有具I個(gè)源符號(hào)的范圍或鄰域集合,那么每個(gè)所產(chǎn)生的修復(fù)符號(hào)的計(jì)算復(fù)雜性為0(1)個(gè)符號(hào)運(yùn)算。如本文中所使用,應(yīng)將表達(dá)式0()理解為常規(guī)的“屬于函數(shù)一類的”。
[0151]在解碼器處,存在復(fù)雜性的兩個(gè)分量:所接收的源符號(hào)的消除以及丟失的源符號(hào)的恢復(fù)。第一分量等效于編碼操作,即,0(r*k)符號(hào)運(yùn)算。第二分量對(duì)應(yīng)于由uXu矩陣E的倒置產(chǎn)生的符號(hào)運(yùn)算,其中u為丟失的源符號(hào)的數(shù)目,且因此具有復(fù)雜性為0(u2)個(gè)符號(hào)運(yùn)算。
[0152]對(duì)于低損失速率,u小且因此,如果在解碼器處使用所有修復(fù)符號(hào),那么編碼復(fù)雜性和解碼復(fù)雜性將類似。然而,由于復(fù)雜性的主要分量與修復(fù)符號(hào)的數(shù)目成比例,因此如果并非使用所有修復(fù)符號(hào),那么復(fù)雜性應(yīng)降低。
[0153]如上文所說(shuō)明,在實(shí)施中,將修復(fù)符號(hào)的處理延遲,直到已知可恢復(fù)數(shù)據(jù)為止。此情形使符號(hào)運(yùn)算最小化且因此使代碼的計(jì)算要求最小化。然而,此情形導(dǎo)致解碼活動(dòng)的突發(fā)。
[0154]替代實(shí)施可通過(guò)在符號(hào)到達(dá)時(shí)執(zhí)行對(duì)所接收的源符號(hào)的消除操作(使用方程I)而解決計(jì)算負(fù)荷。此情形導(dǎo)致對(duì)所有修復(fù)符號(hào)執(zhí)行消除操作,即使修復(fù)符號(hào)并非全部使用也如此,此情形導(dǎo)致較高的(但更穩(wěn)定的)計(jì)算復(fù)雜性。為了使此情形成為可能,解碼器必須預(yù)先具有關(guān)于將產(chǎn)生哪些修復(fù)符號(hào)的信息,而這在所有應(yīng)用中可能并非有可能的。
[0155]解碼概率
[0156]理想地,每個(gè)修復(fù)符號(hào)由于其范圍中的所有源符號(hào)在其經(jīng)接收之前已經(jīng)恢復(fù)或接收而明顯為冗余的或可用于恢復(fù)丟失的源符號(hào)。此情形成立的頻率取決于代碼的構(gòu)造。
[0157]當(dāng)新的所接收的修復(fù)符號(hào)導(dǎo)致在消除步驟后將零行添加到D時(shí),可在解碼器邏輯中檢測(cè)到與此理想的偏差。此類符號(hào)不載送新的信息到解碼器,且因此將其丟棄以避免不必要的處理。
[0158]在隨機(jī)GF(256)代碼實(shí)施的情況下,基于以下事實(shí),此可為256中大致I個(gè)修復(fù)符號(hào)的情況:在將新的隨機(jī)行添加到滿秩GF(256)的uXu+1矩陣時(shí),所得uXu矩陣不具有滿秩的概率為1 / 256。
[0159]在柯西代碼實(shí)施的情況下,當(dāng)用作塊代碼時(shí)且在源符號(hào)和修復(fù)符號(hào)的總數(shù)小于256時(shí),故障概率為零。此類代碼等效于里德所羅門代碼。
_0] 塊模式結(jié)果
[0161]在用作塊代碼(即,產(chǎn)生全部具有等于k個(gè)源符號(hào)的全集合的范圍的許多修復(fù)符號(hào))的彈性弦代碼的測(cè)試(針對(duì)固定塊大小(k=256)和修復(fù)量(r=8))中,編碼速度和解碼速度針對(duì)高于約200字節(jié)的變化的塊大小而大約相同,但速度針對(duì)低于約200字節(jié)的塊大小而降低。這有可能是因?yàn)樵诘陀?00字節(jié)的符號(hào)(或取決于條件而為某一其它閾值)時(shí),確定符號(hào)運(yùn)算所需的邏輯的開銷實(shí)質(zhì)上與符號(hào)運(yùn)算本身相當(dāng),但針對(duì)較大符號(hào)大小,符號(hào)運(yùn)算本身為主要的。
[0162]在其它測(cè)試中,針對(duì)固定的塊和符號(hào)大小的隨著修復(fù)開銷(r / k)而變的編碼和解碼速度展示:編碼和解碼復(fù)雜性與修復(fù)符號(hào)的數(shù)目成比例(且因此速度與I / r成比例)。
_3] 流模式結(jié)果
[0164]當(dāng)損失率比開銷小得多時(shí),平均等待時(shí)間較低,但其隨著損失率接近代碼開銷而快速增加。這是所預(yù)期的,因?yàn)楫?dāng)損失率比開銷小得多時(shí),多數(shù)損失可使用單個(gè)修復(fù)符號(hào)來(lái)恢復(fù)。隨著損失率增加,我們更經(jīng)常遭遇到以下情況:其中在單個(gè)修復(fù)符號(hào)的范圍內(nèi)發(fā)生多個(gè)損失,且此要求使用更多修復(fù)符號(hào)。
[0165]可能發(fā)生的另一細(xì)調(diào)是考慮使修復(fù)符號(hào)的跨度變化的效應(yīng)(所述跨度為在修復(fù)符號(hào)的范圍中或鄰域集合中存在多少個(gè)源符號(hào)),所述跨度在上述實(shí)例中為256。針對(duì)固定開銷而減小跨度可減少保護(hù)每一源符號(hào)的修復(fù)符號(hào)的數(shù)目,且因此可預(yù)期此將增加殘余誤碼率。然而,減小跨度還可降低編碼器與解碼器兩者處的計(jì)算復(fù)雜性。
[0166]作為噴泉塊代石馬(Fountain Block Code)的基于窗□的代石馬[0167]在許多編碼器和解碼器中,分配給編碼和解碼的計(jì)算能力的量和時(shí)間是有限的。舉例來(lái)說(shuō),在解碼器處于電池供電的手持式裝置中的情況下,解碼應(yīng)為有效的且不需要過(guò)量的計(jì)算能力。編碼和解碼操作所需的計(jì)算能力的一個(gè)測(cè)量是對(duì)特定符號(hào)集合解碼所需的符號(hào)運(yùn)算(將兩個(gè)符號(hào)相加、相乘、異或(XOR)運(yùn)算、復(fù)制等)的數(shù)目。代碼應(yīng)鑒于此而經(jīng)設(shè)計(jì)。雖然確切運(yùn)算數(shù)目可能并未預(yù)先已知,但由于其可基于哪些編碼符號(hào)經(jīng)接收以及多少個(gè)編碼符號(hào)經(jīng)接收而變化,所以常??赡艽_定平均情況或最壞情況且相應(yīng)地對(duì)設(shè)計(jì)進(jìn)行配置。
[0168]本段描述新類型的噴泉塊代碼(本文中稱作“基于窗口的代碼”),其為下文進(jìn)一步描述的展現(xiàn)有效編碼和解碼的一些方面的彈性代碼中的一些彈性代碼的基礎(chǔ)?;诖翱诘拇a在首次描述時(shí)為非系統(tǒng)性代碼,但在下文進(jìn)一步描述時(shí),存在用于將此變換為系統(tǒng)性代碼的若干方法,這在閱讀本發(fā)明后將顯而易見(jiàn)。在此情況下,每一編碼符號(hào)的范圍是K個(gè)源符號(hào)的整個(gè)塊,但每一編碼符號(hào)的鄰域集合更為稀疏(由B〈〈K個(gè)相鄰者組成),且不同編碼符號(hào)的鄰域集合通常為非常不同的。
[0169]考慮K個(gè)源符號(hào)的塊。編碼器如下工作。首先,編碼器在每一側(cè)上用B個(gè)零符號(hào)填充(邏輯上或?qū)嶋H上)所述塊以形成K+2B個(gè)符號(hào)的擴(kuò)展塊Xtl, X1, LXk+ ,即,前B個(gè)符號(hào)和后B個(gè)符號(hào)為零符號(hào),且中間K個(gè)符號(hào)為源符號(hào)。為產(chǎn)生編碼符號(hào),編碼器隨機(jī)地選擇開始位置t(在I與K+B-1之間),且從合適的有限域(例如,GF⑵或GF(256))隨機(jī)地或偽隨機(jī)地選擇值Qci, K,CIb+接著由編碼器使用方程5的公式來(lái)計(jì)算編碼符號(hào)值ESV,在此情況下,在擴(kuò)展塊中的位置t到t+Β-Ι中的符號(hào)中選擇所產(chǎn)生編碼符號(hào)的領(lǐng)域集合。
[0170] (方程 5)
[0171]解碼器在接收到至少K個(gè)編碼符號(hào)后在擴(kuò)展塊中的源符號(hào)的位置上使用往復(fù)掃描(to-and-fro sweep)以進(jìn)行解碼。第一掃描是從第一位置的源符號(hào)到所述塊的最后位置的源符號(hào),使源符號(hào)s與編碼符號(hào)e (其可恢復(fù)源符號(hào)s)匹配,以及消除對(duì)可用以恢復(fù)稍后位置中的源符號(hào)的編碼符號(hào)的s的依賴性,以及將s對(duì)e的貢獻(xiàn)(contribution)調(diào)整為僅S。第二掃描是從最后位置的源符號(hào)到所述塊的第一位置的源符號(hào),消除對(duì)用以恢復(fù)先前位置的源符號(hào)的編碼符號(hào)的源符號(hào)s的依賴性。在成功的往復(fù)掃描后,每一源符號(hào)的經(jīng)恢復(fù)的值為其所匹配的編碼符號(hào)的值。
[0172]對(duì)于第一掃描過(guò)程,解碼器獲得所有所接收的編碼符號(hào)的集合E。對(duì)于擴(kuò)展塊內(nèi)的位置i = B, Κ,Β+Κ-1中的每一源符號(hào)S,解碼器選擇編碼符號(hào)e且接著將e匹配到s且從E刪除e,編碼符號(hào)e在E中的所有編碼符號(hào)(其在其相鄰者集合中具有s)中具有最早的相鄰者末端位置。此選擇是在那些編碼符號(hào)e當(dāng)中進(jìn)行的,其中s對(duì)e的貢獻(xiàn)在當(dāng)前線性方程集合中為非零的,即,8對(duì)6的貢獻(xiàn)為β *s,其中β古0。如果不存在s的貢獻(xiàn)為非零的編碼符號(hào)e,那么由于s不能經(jīng)解碼,因此解碼失敗。一旦源符號(hào)s與編碼符號(hào)e匹配,便從集合E移除編碼符號(hào)e,使用高斯消除來(lái)消除s對(duì)E中的所有編碼符號(hào)的貢獻(xiàn),且通過(guò)將e乘以s對(duì)e的貢獻(xiàn)的系數(shù)的倒數(shù)而將s對(duì)e的貢獻(xiàn)調(diào)整為僅S。
[0173]解碼器的第二掃描過(guò)程如下工作。對(duì)于源位置i = K-1, K,0,中的每一源符號(hào)S,使用高斯消除來(lái)消除s對(duì)E中匹配到i之前的位置的源符號(hào)的所有編碼符號(hào)的貢獻(xiàn)。
[0174]解碼當(dāng)且僅當(dāng)所接收編碼符號(hào)所界定的線性方程系統(tǒng)具有秩K的情況下才成功地完全恢復(fù)所有源符號(hào),即,如果所接收編碼符號(hào)具有秩K,那么保證上述解碼過(guò)程恢復(fù)所述塊的K個(gè)源符號(hào)。
[0175]每個(gè)所產(chǎn)生編碼符號(hào)的符號(hào)運(yùn)算的數(shù)目為B。
[0176]編碼符號(hào)的有效范圍(reach)經(jīng)界定為作為編碼符號(hào)的相鄰者的第一位置與作為編碼符號(hào)的相鄰者的最后位置之間的擴(kuò)展塊內(nèi)的位置集合。在上述構(gòu)造中,每一編碼符號(hào)的有效范圍的大小為B。解碼符號(hào)運(yùn)算的數(shù)目受用于解碼的編碼符號(hào)的有效范圍的大小的總和約束。這是因?yàn)?順便說(shuō)一句,設(shè)計(jì)了上文描述的匹配過(guò)程):在解碼過(guò)程期間從不擴(kuò)展編碼符號(hào)有效范圍,且每一解碼符號(hào)運(yùn)算使編碼符號(hào)有效范圍的大小的總和減一。此意指用于對(duì)K個(gè)源符號(hào)解碼的符號(hào)運(yùn)算的數(shù)目為0(K.B)。
[0177]在基于窗口的代碼的計(jì)算復(fù)雜性與其恢復(fù)屬性之間存在折衷。通過(guò)簡(jiǎn)單分析可展示:如果Β=0(Κ1/2)且如果有限域大小經(jīng)選擇為足夠大(例如,0(Κ)),那么所述塊的所有K個(gè)源符號(hào)可以高概率而從K個(gè)所接收的編碼符號(hào)恢復(fù),且故障概率隨著每一額外接收的編碼符號(hào)而快速降低。當(dāng)GF[2] 或 GF [256]分別用作有限域且B=O (K1 ,2)時(shí),基于窗口的代碼的恢復(fù)屬性類似于隨機(jī)GF[2]代碼或隨機(jī)GF[256]代碼的屬性。
[0178]可使用類似分析來(lái)展示:如果B=O (In (K / δ ) / ε ),那么在已接收K.(1+ε )個(gè)編碼符號(hào)后,所述塊的所有K個(gè)源符號(hào)可以至少概率1- δ來(lái)恢復(fù)。
[0179]如所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,存在本文所描述的基于窗口的代碼的許多變化。作為一個(gè)實(shí)例,代替創(chuàng)建Κ+2Β個(gè)符號(hào)的擴(kuò)展塊,可改為從K個(gè)源符號(hào)直接產(chǎn)生編碼符號(hào),在此情況下,針對(duì)每一編碼符號(hào)在O與K-1之間隨機(jī)地選擇t,且接著如方程6中所示來(lái)計(jì)算編碼符號(hào)值。針對(duì)此經(jīng)修改的基于窗口的塊代碼進(jìn)行解碼的一種方式是使用類似于上文描述的程序的解碼程序,不同之處在于:在開頭,K個(gè)源符號(hào)的連續(xù)集合B為“去活的”,所述解碼如先前所述而繼續(xù)進(jìn)行,假定這些B個(gè)去活的源符號(hào)值為已知的,形成編碼符號(hào)與B個(gè)去活的源符號(hào)之間的BXB方程系統(tǒng)并求解,且接著基于此以及往復(fù)掃描的結(jié)果,來(lái)求解剩余K-B個(gè)源符號(hào)。在蕭克羅雷希去活中描述了此工作方式的細(xì)節(jié)。
【權(quán)利要求】
1.一種用于對(duì)將經(jīng)由有可能引入錯(cuò)誤或刪除的通信信道而傳輸?shù)臄?shù)據(jù)編碼的方法,其中源數(shù)據(jù)由有序的多個(gè)源符號(hào)表示,且所述源數(shù)據(jù)可從經(jīng)傳輸?shù)木幋a符號(hào)而恢復(fù),所述方法包括: 識(shí)別所述有序多個(gè)源符號(hào)中的每ー符號(hào)的基塊,其中所述經(jīng)識(shí)別基塊為共同涵蓋待編碼的所述源數(shù)據(jù)的多個(gè)基塊中的一者; 根據(jù)多個(gè)源塊且針對(duì)每一基塊識(shí)別包封所述基塊的至少ー個(gè)源塊,其中所述多個(gè)源塊包含至少ー對(duì)源塊,所述至少一對(duì)源塊具有存在由所述對(duì)的兩個(gè)源塊包封的至少ー個(gè)基塊以及針對(duì)所述對(duì)的每一源塊而言由所述源塊包封而不由所述對(duì)的另一源塊包封的至少ー個(gè)基塊的特性;以及 根據(jù)編碼過(guò)程對(duì)所述多個(gè)源塊中的每ー者編碼,從而產(chǎn)生編碼符號(hào),其中所述編碼過(guò)程對(duì)ー個(gè)源塊操作以產(chǎn)生編碼符號(hào),其中所述編碼符號(hào)獨(dú)立于來(lái)自基塊的未被所述ー個(gè)源塊包封的源符號(hào)的源符號(hào)值,其中所述編碼使得確保由所述源塊對(duì)的聯(lián)合表示的所述源數(shù)據(jù)的部分可從由所述對(duì)的第一源塊產(chǎn)生的第一編碼符號(hào)集合與由所述對(duì)的第二源塊產(chǎn)生的第二編碼符號(hào)集合的組合恢復(fù),其中所述第一集合中的編碼符號(hào)的量小于所述第一源塊中的源數(shù)據(jù)的量,且所述第二集合中的編碼符號(hào)的量小于所述第二源塊中的源數(shù)據(jù)的量。
2.根據(jù)權(quán)利要求1所述的方法,其中所述編碼過(guò)程使得:當(dāng)所述編碼符號(hào)和所述源符號(hào)具有相同大小吋,當(dāng)所述第一編碼符號(hào)集合包括Ml個(gè)編碼符號(hào)時(shí),所述第一源塊包括NI個(gè)源符號(hào),所述第二編碼符號(hào)集合包括M2個(gè)編碼符號(hào),所述第二源塊包括N2個(gè)源符號(hào),以及當(dāng)所述第一源塊與所述第二源塊的交集包括N3個(gè)源符號(hào)時(shí),其中N3大于零,如果針對(duì)M1〈N1且M2〈N2的值的至少ー些組合而言M1+M2=N1+N2_N3,那么確保所述源塊對(duì)的所述聯(lián)合的可恢復(fù)性超出預(yù)定的閾值概率。
3.根據(jù)權(quán)利要求2所述的方法,其中如果針對(duì)使得Ml< NI且M2 < N2的Ml和M2的值的所有組合而言M1+M2= N1+N2-N3,那么確保所述源塊對(duì)的所述聯(lián)合的所述可恢復(fù)性超出預(yù)定閾值概率。
4.根據(jù)權(quán)利要求2所述的方法,其中如果針對(duì)使得Ml< NI且M2 < N2的Ml和M2的值的所有組合而言M1+M2=N1+N2-N3,那么所述源塊對(duì)的所述聯(lián)合的所述可恢復(fù)性是確定的。
5.根據(jù)權(quán)利要求2所述的方法,其中如果針對(duì)Ml和M2的值的至少ー些組合而言M1+M2大于N1+N2-N3的量小于預(yù)定百分比但M1+M2小于N1+N2,那么確保所述源塊對(duì)的所述聯(lián)合的可恢復(fù)性具有高于預(yù)定閾值概率的概率。
6.根據(jù)權(quán)利要求1所述的方法,其中由源塊產(chǎn)生的至少ー個(gè)編碼符號(hào)等于來(lái)自由所述源塊表示的所述源數(shù)據(jù)的所述部分的源符號(hào)。
7.根據(jù)權(quán)利要求1所述的方法,其中所述編碼使得確保由所述對(duì)的所述第一源塊表示的所述源數(shù)據(jù)的所述部分可從由所述第一源塊產(chǎn)生的第三編碼符號(hào)集合恢復(fù),其中所述第三集合中的編碼符號(hào)的量不大于所述第一源塊中表示的源數(shù)據(jù)的所述量。
8.根據(jù)權(quán)利要求1所述的方法,其中所述編碼使得確保由所述對(duì)的所述第一源塊表示的所述源數(shù)據(jù)的所述部分可從由所述第一源塊產(chǎn)生的第三編碼符號(hào)集合恢復(fù)的概率高于預(yù)定閾值概率,其中所述第三集合中的編碼符號(hào)的所述量?jī)H稍大于所述第一源塊中表示的源數(shù)據(jù)的所述量。
9.根據(jù)權(quán)利要求1所述的方法,其中可由每一源塊產(chǎn)生的獨(dú)特編碼符號(hào)的數(shù)目獨(dú)立于所述源塊的大小。
10.根據(jù)權(quán)利要求1所述的方法,其中可由每一源塊產(chǎn)生的獨(dú)特編碼符號(hào)的所述數(shù)目取決于所述源塊的所述大小。
11.根據(jù)權(quán)利要求1所述的方法,其中在開始編碼之前執(zhí)行識(shí)別符號(hào)的基塊。
12.根據(jù)權(quán)利要求1所述的方法,其中在開始編碼之前執(zhí)行識(shí)別基塊的源塊。
13.根據(jù)權(quán)利要求1所述的方法,其中在針對(duì)每一源符號(hào)識(shí)別基塊之前或在針對(duì)所述源塊中的每ー者確定所述經(jīng)包封基塊之前或在產(chǎn)生所有所述源數(shù)據(jù)或使所有所述源數(shù)據(jù)可用之前,產(chǎn)生至少ー個(gè)編碼符號(hào)。
14.根據(jù)權(quán)利要求1所述的方法,其進(jìn)ー步包括: 接收接收器反饋,所述接收器反饋表示正接收編碼符號(hào)或已接收編碼符號(hào)的解碼器處的結(jié)果;以及 調(diào)整以下各項(xiàng)中的一者或一者以上:基塊中的源符號(hào)的成員、包封源塊中的基塊的成員、每個(gè)基塊的源符號(hào)的數(shù)目、源塊中的符號(hào)的數(shù)目,和/或由源塊產(chǎn)生的編碼符號(hào)的數(shù)目,其中至少部分基于所述接收器反饋而進(jìn)行所述調(diào)整。
15.根據(jù)權(quán)利要求14所述的方法,其中調(diào)整包含確定新的基塊或改變先前所確定基塊中的源符號(hào)的成員。
16.根據(jù)權(quán)利要求14所述的方法,其中調(diào)整包含確定新的源塊或改變先前所確定源塊的基塊的包封。.
17.根據(jù)權(quán)利要求1所述的方法,其進(jìn)ー步包括: 接收表示對(duì)所述源數(shù)據(jù)的變化的數(shù)據(jù)優(yōu)先級(jí)偏好的數(shù)據(jù)優(yōu)先級(jí)偏好信號(hào);以及 調(diào)整以下各項(xiàng)中的一者或一者以上:基塊中的源符號(hào)的成員、包封源塊中的基塊的成員、每個(gè)基塊的源符號(hào)的數(shù)目、源塊中的符號(hào)的數(shù)目,和/或由源塊產(chǎn)生的編碼符號(hào)的數(shù)目,其中至少部分基于所述數(shù)據(jù)優(yōu)先級(jí)偏好信號(hào)而進(jìn)行所述調(diào)整。
18.根據(jù)權(quán)利要求1所述的方法,其中由每一源塊包封的所述基塊中的源符號(hào)的所述數(shù)目如在所述源塊中的兩者或兩者以上之間為獨(dú)立的。
19.根據(jù)權(quán)利要求1所述的方法,其中經(jīng)識(shí)別為基塊的源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)并非連續(xù)的。
20.根據(jù)權(quán)利要求1所述的方法,其中經(jīng)識(shí)別為基塊的所述源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
21.根據(jù)權(quán)利要求20所述的方法,其中經(jīng)識(shí)別為由源塊包封的所述基塊的源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
22.根據(jù)權(quán)利要求1所述的方法,其中可針對(duì)源塊而產(chǎn)生的編碼符號(hào)的所述數(shù)目獨(dú)立于可針對(duì)其它源塊而產(chǎn)生的編碼符號(hào)的所述數(shù)目。
23.根據(jù)權(quán)利要求1所述的方法,其中針對(duì)給定源塊而產(chǎn)生的編碼符號(hào)的所述數(shù)目獨(dú)立于由所述給定源塊包封的所述基塊中的源符號(hào)的所述數(shù)目。
24.根據(jù)權(quán)利要求1所述的方法,其中編碼包括: 針對(duì)每ー編碼符號(hào)確定從有限域選擇的系數(shù)集合; 產(chǎn)生所述編碼符號(hào)作為由單個(gè)源塊所包封的ー個(gè)或ー個(gè)以上基塊的源符號(hào)的組合,其中部分通過(guò)所述系數(shù)集合來(lái)界定所述組合。
25.根據(jù)權(quán)利要求1所述的方法,其中用以從源塊產(chǎn)生編碼符號(hào)的符號(hào)運(yùn)算的數(shù)目比由所述源塊表示的所述源數(shù)據(jù)的所述部分中的源符號(hào)的所述數(shù)目少得多。
26.一種用于對(duì)經(jīng)由有可能包含錯(cuò)誤或刪除的通信信道而接收的數(shù)據(jù)解碼以恢復(fù)由源符號(hào)集合表示的源數(shù)據(jù)的方法,所述方法包括: 識(shí)別每一源符號(hào)的基塊,其中所述經(jīng)識(shí)別基塊為共同涵蓋所述源數(shù)據(jù)的多個(gè)基塊中的一者; 根據(jù)多個(gè)源塊且針對(duì)每一基塊識(shí)別包封所述基塊的至少ー個(gè)源塊,其中所述多個(gè)源塊包含至少ー對(duì)源塊,所述至少一對(duì)源塊具有存在由所述對(duì)的兩個(gè)源塊包封的至少ー個(gè)基塊以及針對(duì)所述對(duì)的每一源塊而言由所述源塊包封而不由所述對(duì)的另一源塊包封的至少ー個(gè)基塊的特性;以及 接收多個(gè)所接收符號(hào); 針對(duì)每一所接收符號(hào),識(shí)別源塊,所述所接收符號(hào)為所述源塊的編碼符號(hào);以及 對(duì)來(lái)自所述多個(gè)所接收符號(hào)的源符號(hào)集合解碼,其中確保由所述源塊對(duì)的聯(lián)合表示的所述源數(shù)據(jù)的部分可從對(duì)應(yīng)于由所述對(duì)的第一源塊產(chǎn)生的編碼符號(hào)的所接收符號(hào)的第一集合與對(duì)應(yīng)于由所述對(duì)的第二源塊產(chǎn)生的編碼符號(hào)的所接收符號(hào)的第二集合的組合恢復(fù),其中所述第一集合中的所接收符號(hào)的量小于所述第一源塊中的源數(shù)據(jù)的量且所述第二集合中的所接收符號(hào)的量小于所述第二源塊中的源數(shù)據(jù)的量。
27.根據(jù)權(quán)利要求26所述的方法,其中如果NI為所述第一源塊的所述源數(shù)據(jù)中的源符號(hào)的數(shù)目,如果N2為所述第二源塊的所述源數(shù)據(jù)中的源符號(hào)的數(shù)目,如果N3為所述第一源塊與所述第二源塊的交集中的源符號(hào)的數(shù)目且N3大于零,如果所述編碼符號(hào)與所述源符號(hào)具有相同大小,如果Rl為所`接收符號(hào)的所述第一集合中的所接收符號(hào)的數(shù)目,如果R2為所接收符號(hào)的所述第二集合中的所接收符號(hào)的數(shù)目,那么,如果針對(duì)使得R1〈N1且R2〈N2的Rl和R2中的至少ー個(gè)值而言R1+R2=N1+N2-N3,那么確保對(duì)來(lái)自Rl個(gè)所接收符號(hào)的所述第一集合和來(lái)自R2個(gè)所接收符號(hào)的所述第二集合的所述源塊對(duì)的所述聯(lián)合的解碼超出預(yù)定閾值概率。
28.根據(jù)權(quán)利要求27所述的方法,其中如果針對(duì)使得Rl< NI且R2 < N2的所有值而言R1+R2=N1+N2-N3,那么確保對(duì)所述源塊對(duì)的所述聯(lián)合的解碼超出預(yù)定閾值概率。
29.根據(jù)權(quán)利要求27所述的方法,其中如果針對(duì)Rl< NI且R2 < N2的所有值而言R1+R2=N1+N2-N3,那么對(duì)所述源塊對(duì)的所述聯(lián)合的解碼為確定的。
30.根據(jù)權(quán)利要求26所述的方法,其中由所述對(duì)的所述第一源塊表示的所述源數(shù)據(jù)的所述部分可從由所述第一源塊產(chǎn)生的第三編碼符號(hào)集合恢復(fù),其中所述第三集合中的編碼符號(hào)的量不大于所述第一源塊中表示的源數(shù)據(jù)的所述量。
31.根據(jù)權(quán)利要求26所述的方法,其中可由每一源塊產(chǎn)生的獨(dú)特編碼符號(hào)的數(shù)目獨(dú)立于所述源塊的大小。
32.根據(jù)權(quán)利要求26所述的方法,其中在開始編碼之前執(zhí)行識(shí)別源符號(hào)的基塊以及識(shí)別基塊的源塊中的至少ー者。
33.根據(jù)權(quán)利要求26所述的方法,其中在針對(duì)每一源符號(hào)識(shí)別基塊之前及/或在針對(duì)所述源塊中的每ー者確定所述經(jīng)包封基塊之前,產(chǎn)生至少ー些編碼符號(hào)。
34.根據(jù)權(quán)利要求26所述的方法,其進(jìn)ー步包括:基于哪些所接收符號(hào)已經(jīng)接收到和/或在接收器處需要所述源數(shù)據(jù)的哪個(gè)部分和/或數(shù)據(jù)優(yōu)先級(jí)偏好而確定表示解碼器處的結(jié)果的接收器反饋;以及 輸出所述接收器反饋,使得其可用于更改編碼過(guò)程。
35.根據(jù)權(quán)利要求26所述的方法,其中由每一源塊包封的所述基塊中的源符號(hào)的所述數(shù)目如在所述源塊中的兩者或兩者以上之間為獨(dú)立的。
36.根據(jù)權(quán)利要求26所述的方法,其中經(jīng)識(shí)別為基塊的所述源符號(hào)在有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
37.根據(jù)權(quán)利要求26所述的方法,其中經(jīng)識(shí)別為由源塊包封的所述基塊的源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
38.根據(jù)權(quán)利要求26所述的方法,其中解碼進(jìn)一歩包括: 針對(duì)每一所接收的符號(hào)而確定選自有限域的系數(shù)集合;以及 使用針對(duì)ー個(gè)以上所接收符號(hào)的所述系數(shù)集合來(lái)對(duì)來(lái)自所述ー個(gè)以上所接收符號(hào)或先前經(jīng)解碼的源符號(hào)的至少ー個(gè)源符號(hào)解碼。
39.根據(jù)權(quán)利要求26所述的方法,其中用以恢復(fù)ー個(gè)或ー個(gè)以上源塊的聯(lián)合的符號(hào)運(yùn)算的數(shù)目比由所述源塊的所述聯(lián)合表示的所述源數(shù)據(jù)的所述部分中的源符號(hào)的所述數(shù)目的平方少得多。
40.一種編碼器,其對(duì)用于經(jīng)由有可能引入錯(cuò)誤或刪除的通信信道而傳輸?shù)臄?shù)據(jù)編碼,所述編碼器包括:· 輸入端,其用于接收由有序的多個(gè)源符號(hào)表示的源數(shù)據(jù),且所述源數(shù)據(jù)可從經(jīng)傳輸?shù)木幋a符號(hào)恢復(fù); 存儲(chǔ)器,其用于多個(gè)基塊中的至少一部分,其中每一基塊包括所述有序的多個(gè)源符號(hào)中的ー個(gè)或ー個(gè)以上源符號(hào)的表示; 邏輯映射,其以機(jī)器可讀形式而存儲(chǔ)或可根據(jù)邏輯指令而產(chǎn)生,將多個(gè)源塊中的每ー者映射到ー個(gè)或ー個(gè)以上基塊,其中所述多個(gè)源塊包含至少ー對(duì)源塊,所述至少一對(duì)源塊具有存在由所述對(duì)的兩個(gè)源塊包封的至少ー個(gè)基塊以及針對(duì)所述對(duì)的每一源塊而言由所述源塊包封而不由所述對(duì)的另一源塊包封的至少ー個(gè)基塊的特性; 存儲(chǔ)器,其用于經(jīng)編碼的塊;以及 ー個(gè)或ー個(gè)以上編碼器,每ー編碼器對(duì)源塊的源符號(hào)編碼以形成多個(gè)編碼符號(hào),其中給定編碼符號(hào)獨(dú)立于來(lái)自不同于對(duì)源符號(hào)編碼的所述源塊的源塊的源符號(hào)值,使得確保由所述源塊對(duì)的聯(lián)合表示的所述源數(shù)據(jù)的部分可從由所述對(duì)的第一源塊產(chǎn)生的第一編碼符號(hào)集合與由所述對(duì)的第二源塊產(chǎn)生的第二編碼符號(hào)集合的組合恢復(fù),其中所述第一集合中的編碼符號(hào)的量小于所述第一源塊中的源數(shù)據(jù)的量,且所述第二集合中的編碼符號(hào)的量小于所述第二源塊中的源數(shù)據(jù)的量。
41.根據(jù)權(quán)利要求40所述的編碼器,其中如果所述編碼符號(hào)和所述源符號(hào)具有相同大小,那么所述第一集合中的編碼符號(hào)的數(shù)目加上所述第二集合中的編碼符號(hào)的數(shù)目不大于由所述源塊對(duì)的所述聯(lián)合表示的所述源數(shù)據(jù)的所述部分中的源符號(hào)的數(shù)目。
42.根據(jù)權(quán)利要求40所述的編碼器,其中由所述對(duì)的所述第一源塊表示的所述源數(shù)據(jù)的所述部分可從由所述第一源塊產(chǎn)生的第三編碼符號(hào)集合恢復(fù),其中所述第三集合中的編碼符號(hào)的量不大于所述第一源塊中表示的源數(shù)據(jù)的所述量。
43.根據(jù)權(quán)利要求40所述的編碼器,其中可由每一源塊產(chǎn)生的獨(dú)特編碼符號(hào)的數(shù)目獨(dú)立于所述源塊的大小。
44.根據(jù)權(quán)利要求40所述的編碼器,其進(jìn)ー步包括: 輸入端,其用于接收接收器反饋,所述接收器反饋表示正接收編碼符號(hào)或已接收編碼符號(hào)的解碼器處的結(jié)果;以及 邏輯,其用于調(diào)整以下各項(xiàng)中的一者或一者以上:基塊中的源符號(hào)的成員、包封源塊中的基塊的成員、每個(gè)基塊的源符號(hào)的數(shù)目、源塊中的符號(hào)的數(shù)目,和/或由源塊產(chǎn)生的編碼符號(hào)的數(shù)目,其中至少部分基于所述接收器反饋而進(jìn)行所述調(diào)整。
45.根據(jù)權(quán)利要求40所述的編碼器,其進(jìn)ー步包括: 輸入端,其用于接收表示對(duì)所述源數(shù)據(jù)的變化的數(shù)據(jù)優(yōu)先級(jí)偏好的數(shù)據(jù)優(yōu)先級(jí)偏好信號(hào);以及 邏輯,其用于調(diào)整以下各項(xiàng)中的一者或一者以上:基塊中的源符號(hào)的成員、包封源塊中的基塊的成員、每個(gè)基塊的源符號(hào)的數(shù)目、源塊中的符號(hào)的數(shù)目,和/或由源塊產(chǎn)生的編碼符號(hào)的數(shù)目,其中至少部分基于所述數(shù)據(jù)優(yōu)先級(jí)偏好信號(hào)而進(jìn)行所述調(diào)整。
46.根據(jù)權(quán)利要求40所述的編碼器,其中由每一源塊包封的所述基塊中的源符號(hào)的所述數(shù)目如在所述源塊中的兩者或兩者以上之間為獨(dú)立的。
47.根據(jù)權(quán)利要求40所述的編碼器,其中經(jīng)識(shí)別為基塊的所述源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
48.根據(jù)權(quán)利要求40所述的編碼器,其中經(jīng)識(shí)別為由源塊包封的所述基塊的源符號(hào)在所述有序的多個(gè)源符號(hào)內(nèi)為連續(xù)的。
49.根據(jù)權(quán)利要求40所述的編碼器,其中可針對(duì)源塊而產(chǎn)生的獨(dú)特編碼符號(hào)的所述數(shù)目獨(dú)立于可針對(duì)其它源塊而產(chǎn)生的編碼符號(hào)的所述數(shù)目。
50.根據(jù)權(quán)利要求40所述的編碼器,其中針對(duì)給定源塊而產(chǎn)生的獨(dú)特編碼符號(hào)的所述數(shù)目獨(dú)立于由所述給定源塊包封的所述基塊中的源符號(hào)的所述數(shù)目。
51.根據(jù)權(quán)利要求40所述的編碼器,其進(jìn)ー步包括: 存儲(chǔ)器,其用于針對(duì)多個(gè)所述編碼符號(hào)中的每ー者而選自有限域的系數(shù)集合;以及 邏輯,其用于產(chǎn)生所述編碼符號(hào)作為由單個(gè)源塊所包封的ー個(gè)或ー個(gè)以上基塊的源符號(hào)的組合,其中部分通過(guò)所述系數(shù)集合來(lái)界定所述組合。
【文檔編號(hào)】H03M13/37GK103444087SQ201280012542
【公開日】2013年12月11日 申請(qǐng)日期:2012年2月10日 優(yōu)先權(quán)日:2011年2月11日
【發(fā)明者】邁克爾·G·盧比, 帕揚(yáng)·帕克扎德, 穆罕默德·阿明·尚克羅拉喜, 馬克·瓦森, 洛倫佐·維奇薩諾 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1