【摘要】電腦顯示器分享服務(wù)由于互動(dòng)操作應(yīng)用的需求,因而應(yīng)整個(gè)顯示器畫面獲取、編碼、串流、解碼等技術(shù),串流服務(wù)已成為該項(xiàng)服務(wù)成功與否的關(guān)鍵技術(shù)。在這種背景下,本文針對(duì)串流抹除碼原理加以詳細(xì)介紹,并提出一個(gè)可以達(dá)到極低延遲的動(dòng)態(tài)串流抹碼技術(shù)。
【關(guān)鍵詞】串流技術(shù);互動(dòng)式;電腦顯示器;應(yīng)用
一、引言
近端顯示器分享平臺(tái),或是利用移動(dòng)裝置連接到云端執(zhí)行實(shí)時(shí)運(yùn)算的交互式顯示器分享平臺(tái),這些應(yīng)用都有一個(gè)實(shí)時(shí)互動(dòng)的特性。因?yàn)槭菍?shí)時(shí)交互式的服務(wù)平臺(tái),所以對(duì)于畫面呈現(xiàn)所可以忍受的延遲要求與一般串流服務(wù),例如:隨選信息服務(wù)、網(wǎng)絡(luò)相對(duì)嚴(yán)格,其可以忍受的延遲時(shí)間是150ms,而對(duì)于高動(dòng)態(tài)電腦畫面可以忍受的延遲時(shí)間更降到必須低于100ms,因此我們必要發(fā)展出極低延遲傳輸保護(hù)技術(shù)進(jìn)而達(dá)到顯示器分享與交互式顯示器分享平臺(tái)運(yùn)作順暢。專門為實(shí)時(shí)信息串流所設(shè)計(jì)的錯(cuò)誤更正碼其特性應(yīng)該是:
(1)經(jīng)錯(cuò)誤更正碼編碼器編碼后的串流信息應(yīng)該與原始串流信息一樣有順序地排列;
(2)錯(cuò)誤更正碼譯碼器可以有順序地譯碼出原始串流信息。然而傳統(tǒng)錯(cuò)誤更正碼(如里德-所羅門碼)并無(wú)上述特性,尤其在解碼端必須要等到所有經(jīng)編碼后的串流信息完全接受到后,才可以將錯(cuò)誤的原始串流信息全部回復(fù),所以并未對(duì)回復(fù)的時(shí)間做最佳化設(shè)計(jì)。
雖然串流抹除碼有回復(fù)時(shí)間最佳化設(shè)計(jì)但是在一般建構(gòu)上串流抹除碼(Streaming Erasure Code)其碼率(code rate)是固定,也就是其錯(cuò)誤更正的能力是固定。但在真實(shí)應(yīng)用情境里,應(yīng)對(duì)數(shù)據(jù)重要性及網(wǎng)絡(luò)狀況的變化其碼率應(yīng)該動(dòng)態(tài)變化才可以讓系統(tǒng)效能達(dá)到最佳化的效果,因此我們提出可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度及延遲保證的串流抹除碼,其特性是先針對(duì)重要數(shù)據(jù)進(jìn)行低碼率編碼來(lái)增加冗余保護(hù)封包,當(dāng)偵測(cè)到網(wǎng)絡(luò)狀況良好時(shí)就可以減少大部分的冗余保護(hù)封包以提升頻寬使用效率,反之則增加冗余保護(hù)封包應(yīng)對(duì)網(wǎng)絡(luò)狀況不佳所產(chǎn)生封包大量遺失的狀況。
二、串流抹除碼的原理及網(wǎng)絡(luò)狀況調(diào)整
(一)串流抹除碼(Streaming Erasure Code)的基本原理
傳統(tǒng)錯(cuò)誤更正碼(如里德-所羅門碼)也稱為最大距離分離區(qū)塊碼(Maximum distance separate block code),雖然它是現(xiàn)今許多傳輸系統(tǒng)都是利用它來(lái)保護(hù)信息,但是最大距離分離區(qū)塊碼(Maximum distance separate block code)并未將信息回復(fù)時(shí)間做最佳化的設(shè)計(jì),也就是說(shuō)假定其碼率 R=m/n,其中m為信息封包個(gè)數(shù),n-m為冗余保護(hù)封包,可以解決連續(xù)遺失封包個(gè)數(shù)為k時(shí),所有遺失的封包必須等到n個(gè)封包全接收完全才有辦法回復(fù)遺失的封包,因此串流抹除碼就是用來(lái)改善此缺點(diǎn),而串流抹除碼的建構(gòu)程序應(yīng)該是先建立一個(gè)具有保證回復(fù)時(shí)間的低延遲區(qū)塊碼,之后再經(jīng)過(guò)處理后就可以轉(zhuǎn)化成可以保護(hù)信息串流的串流抹除碼。
(二)根據(jù)數(shù)據(jù)重要性及網(wǎng)絡(luò)狀況調(diào)整
串流抹除碼強(qiáng)化保護(hù)機(jī)制的方法雖然串流抹除碼有延遲保證的特性,但還是固定碼率,并無(wú)法針對(duì)網(wǎng)絡(luò)狀況惡化或是資料重要性作動(dòng)態(tài)調(diào)整,因此本文先探討如何利用串流抹除碼的特性建構(gòu)出適用于解決網(wǎng)絡(luò)惡化及數(shù)據(jù)重要性的強(qiáng)化保護(hù)機(jī)制,之后再根據(jù)所建構(gòu)出的強(qiáng)化保護(hù)機(jī)制發(fā)展出可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度及延遲保證的串流抹除碼。傳統(tǒng)信息串流服務(wù)解決封包遺失的方法不外乎結(jié)合錯(cuò)誤更正碼或是自動(dòng)重傳機(jī)制,錯(cuò)誤更正碼應(yīng)用時(shí)頂多對(duì)所有的信息做均等保護(hù),并未針對(duì)重要信息做強(qiáng)化的保護(hù)機(jī)制,雖然錯(cuò)誤更正碼的研究領(lǐng)域里有探討不均等的錯(cuò)誤保護(hù)機(jī)制,其觀點(diǎn)是在固定碼率下根據(jù)資料重要性設(shè)計(jì)及建構(gòu)錯(cuò)誤更正碼的編碼代數(shù)結(jié)構(gòu)以達(dá)到保護(hù)重要資料的目的,但并無(wú)法實(shí)時(shí)動(dòng)態(tài)調(diào)整其結(jié)構(gòu),另一方面自動(dòng)重傳機(jī)制雖然可以根據(jù)網(wǎng)絡(luò)狀況來(lái)決定是否應(yīng)該重新傳送被遺失的封包,但是在網(wǎng)絡(luò)延遲時(shí)間太長(zhǎng)時(shí)并無(wú)法達(dá)到實(shí)時(shí)性的需求,先前提到串流抹除碼中冗余保護(hù)封包只需要重新進(jìn)行線性組合即可改變其保護(hù)能力,因此可利用改變?nèi)哂啾Wo(hù)信息內(nèi)線性組合內(nèi)容以達(dá)到強(qiáng)化保護(hù)機(jī)制的目的。
三、可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度及延遲保證的動(dòng)態(tài)串流抹除碼技術(shù)
下文我們根據(jù)原本串流抹除碼(B,T)、根據(jù)資料重要性及網(wǎng)絡(luò)狀況所產(chǎn)生強(qiáng)化保護(hù)信息、網(wǎng)絡(luò)回報(bào)狀況建構(gòu)出可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度及延遲保證的串流抹除碼。根據(jù)這一流程,可先就普通信息及重要數(shù)據(jù)進(jìn)行串流抹除碼編碼產(chǎn)生相對(duì)應(yīng)的冗余保護(hù)信息,之后再針對(duì)網(wǎng)絡(luò)回報(bào)的狀況記錄接收或沒(méi)接受到封包的序號(hào),然后根據(jù)紀(jì)錄序號(hào)的結(jié)果來(lái)決定是否啟動(dòng)強(qiáng)化及節(jié)省傳輸兩機(jī)制。以啟動(dòng)節(jié)省傳輸機(jī)制來(lái)說(shuō),當(dāng)網(wǎng)絡(luò)回報(bào)已經(jīng)接受的封包信息,如接收封包的信息Si已經(jīng)收到并將其序號(hào)i記錄下來(lái),然后我們可以檢查即將要傳送的封包S1其冗余保護(hù)封包的內(nèi)容是否包含Si的信息,如果有就將其信息刪除,可以借助這一機(jī)制達(dá)到節(jié)省傳輸量的目的。當(dāng)封包信息一直沒(méi)有收到或是遺失,接收端會(huì)知道遺失封包的序號(hào)并且記錄下來(lái),當(dāng)封包遺失的數(shù)量小于串流抹除碼可回復(fù)B個(gè)連續(xù)遺失封包量與數(shù)據(jù)重要性的強(qiáng)化保護(hù)機(jī)制可對(duì)抗BI連續(xù)錯(cuò)誤封包時(shí),強(qiáng)化保護(hù)機(jī)制是不會(huì)啟動(dòng),但當(dāng)遺失封包的量大于BN時(shí)就會(huì)回到網(wǎng)絡(luò)狀況差的強(qiáng)化保護(hù)機(jī)制。
根據(jù)可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度與延遲保證的串流抹除碼的特性,我們將H.264/AVC信息串流信息傳送在抹除通道中,觀察其對(duì)抗的能力及冗余保護(hù)封包是否有無(wú)增加或減少。我們使用CITY 4CIF sequence,辨率704x576 經(jīng)H.264編碼器編碼,其編碼的frame rate 等于10ps,GOP結(jié)構(gòu)IPPPP,GOP大小為10,信息串流數(shù)據(jù)會(huì)經(jīng)過(guò)串流抹除碼編碼后整理成一傳輸封包傳送出去,傳送的封包包含信息串流信息與冗余保護(hù)信息,其中冗余保護(hù)信息隨數(shù)據(jù)重要性與網(wǎng)絡(luò)狀況動(dòng)態(tài)調(diào)整,我們根據(jù)串流抹除碼(2,4)為基底來(lái)執(zhí)行可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度與延遲保證之串流抹除碼的模擬實(shí)驗(yàn),其模擬實(shí)驗(yàn)中我們?cè)O(shè)定抹除時(shí)間長(zhǎng)度分別為0~70ms,由此觀察串流抹除碼(2,4)與可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度與延遲保證之串流抹除碼的差別。
具有延遲最佳化的抹除碼其特性應(yīng)有:
(1)在固定延遲時(shí)間下,隨著冗余信息增加其可對(duì)抗之抹除時(shí)間應(yīng)該增加;
(2)當(dāng)固定可對(duì)抗抹除時(shí)間長(zhǎng)度時(shí)其增加的冗余信息比例應(yīng)該最少。我們?cè)诠潭ㄑ舆t時(shí)間50ms下根據(jù)各種不同抹除碼的編譯碼原理,仿真與計(jì)算在不同冗余信息比例下可對(duì)抗的最長(zhǎng)抹除時(shí)間,在此我們比較三種不同的抹除碼,分別是里德-所羅門碼、串流抹除碼、重要信息占全部信息量15%的動(dòng)態(tài)串流抹除碼,其中表現(xiàn)最好的是串流抹除碼,其原因是串流抹除碼是針對(duì)恢復(fù)時(shí)間做最佳化設(shè)計(jì),次之是動(dòng)態(tài)串流抹除碼,雖然動(dòng)態(tài)串流抹除碼有對(duì)延遲時(shí)間做最佳化設(shè)計(jì),但是因?yàn)闉榱吮Wo(hù)15%的重要信息量而增加了15%的冗余信息,也因此其性能與串流抹除碼比差15%,而最差的是里德-所羅門碼,其原因是里德-所羅門碼并未對(duì)復(fù)原時(shí)間做最佳化設(shè)計(jì),所以效能會(huì)是最差,由此可知串流抹除抹碼及動(dòng)態(tài)串流抹除碼與傳統(tǒng)的里德所羅門碼比具備恢復(fù)時(shí)間最短的特性。
四、結(jié)論
本文介紹延遲保證的串流抹除碼的基本學(xué)理,由基本學(xué)理可知我們可以根據(jù)抹除時(shí)間長(zhǎng)短設(shè)計(jì)出延遲最佳化的串流抹除碼,但是一般抹除碼的碼率是固定,實(shí)際應(yīng)用上網(wǎng)絡(luò)狀況及數(shù)據(jù)重要大小是會(huì)動(dòng)態(tài)變化,因此我們利用串流抹除碼的特性發(fā)展出可以針對(duì)數(shù)據(jù)重要性及網(wǎng)絡(luò)狀況的強(qiáng)化保護(hù)機(jī)制,在不受固定碼率的限制下產(chǎn)生出強(qiáng)化保護(hù)信息,之后我們根據(jù)其產(chǎn)生的強(qiáng)化保護(hù)信息與網(wǎng)絡(luò)回報(bào)狀況動(dòng)態(tài)增減保護(hù)信息,發(fā)展出可動(dòng)態(tài)調(diào)整保護(hù)強(qiáng)度及延遲保證的串流抹除碼,仿真結(jié)果顯示的確會(huì)隨網(wǎng)路狀況變化動(dòng)態(tài)調(diào)整其冗余信息并有效降低封包遺失率。
參考文獻(xiàn)
[1]李志峰.為所有應(yīng)用程序“伴音”[J].微電腦世界, 1998 (25).
[2]水下蟲(chóng)蟲(chóng).應(yīng)用程序只有我能用[J].電腦應(yīng)用文萃, 2005 (11).