新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 手機(jī)電視(DVB-H)軟件接收器

手機(jī)電視(DVB-H)軟件接收器

作者: 時(shí)間:2012-06-05 來源:網(wǎng)絡(luò) 收藏

4.5錯(cuò)誤產(chǎn)生、偵測與分類機(jī)制

當(dāng)接收端硬件接收到由傳送端所傳送的傳輸串流封包時(shí),硬件會(huì)先對封包進(jìn)行一次所羅門譯碼,若是超出其糾錯(cuò)解a能力時(shí),將會(huì)把封包標(biāo)頭內(nèi)的錯(cuò)誤指標(biāo)字段(ErrorIndicator)設(shè)定為1,藉此來標(biāo)示發(fā)生錯(cuò)誤的封包,而本研究于錯(cuò)誤偵測判斷時(shí),即是根據(jù)此標(biāo)頭字段值,并透過設(shè)定此字段值來產(chǎn)生顯著的錯(cuò)誤數(shù)據(jù),以突顯MPE-FEC機(jī)制的運(yùn)作。當(dāng)發(fā)現(xiàn)錯(cuò)誤封包之后,將立即執(zhí)行錯(cuò)誤分類機(jī)制來找出錯(cuò)誤發(fā)生在整個(gè)section的哪個(gè)區(qū)段并在一個(gè)與MPE-FEC框架相同大小的ErrorBit-mapBuffer(EBB)中的相對應(yīng)位置設(shè)成1來表示其在框架中的錯(cuò)誤位置,以便提供往后所羅門譯碼所需的錯(cuò)誤位置數(shù)據(jù),而整個(gè)錯(cuò)誤分類機(jī)制的虛擬程序代碼如表3所示。

表3 錯(cuò)誤分類機(jī)制虛擬程序代碼

If ErrorIndicator is equal to 1

If HeaderDecoded is true

If error at middle of section

Set 1 in EBB according to the TS payload

region of this section in MPE-FEC frame

Drop this TS packet

else

If packet carry part of next section header

Set 1 in EBB according to the TS payload

region of this section and whole the next

section payload region in MPE-FEC

frame

Drop this TS packet and drop all TS

packets of next section

else

Set 1 in EBB according to the TS

payload region of this section in

MPE-FEC frame

Drop this packet

else

Set 1 in EBB at whole section payload

region in MPE-FEC frame

Drop all TS packets of this section

當(dāng)傳輸串流分派器收到封包并立即偵測與判斷封包標(biāo)頭中的錯(cuò)誤指標(biāo)字段是否為1,若為1則表示發(fā)生錯(cuò)誤而進(jìn)一步開始找出此錯(cuò)誤封包所載送的數(shù)據(jù)是位于整個(gè)section的哪個(gè)區(qū)段位置,若是發(fā)生在section標(biāo)頭部位,由于標(biāo)頭是載送整個(gè)section最重要的信息來源位置,因此為了能正確地接收往后的section,故當(dāng)發(fā)生錯(cuò)誤的封包包含任一字節(jié)的標(biāo)頭信息時(shí),將會(huì)將整個(gè)section數(shù)據(jù)完全丟棄而等待下一個(gè)正確載送section標(biāo)頭的封包進(jìn)來。如果發(fā)生錯(cuò)誤的封包是載送標(biāo)頭信息之外的部份時(shí),則再進(jìn)一步判斷封包中載送的數(shù)據(jù)范圍是位于整個(gè)section數(shù)據(jù)的哪個(gè)區(qū)段,若僅是中間部位,則只丟棄該封包而等待下一個(gè)正確封包即可,但若是section末端數(shù)據(jù)的話,則需再進(jìn)一步的判斷是否包含到下一個(gè)section標(biāo)頭信息,如果有的話,則一并把載送下一個(gè)section數(shù)據(jù)的所有封包丟棄而等待下一個(gè)正確載送section標(biāo)頭的封包進(jìn)來,反之則一樣僅丟棄該封包即可。

4.6Time-Slicing傳輸機(jī)制設(shè)計(jì)

傳送數(shù)據(jù)的方式是采用Burst傳輸方式,采用此種方式時(shí),則必須精確地得知下一個(gè)Burst的抵達(dá)時(shí)間與傳輸該Burst數(shù)據(jù)的最大傳輸時(shí)間,才能讓硬件能于正確時(shí)間點(diǎn)開關(guān)來接收數(shù)據(jù),而接收端在接收數(shù)據(jù)時(shí),必須滿足兩個(gè)時(shí)間要求:

(1) 當(dāng)Burst到來,并接收到第一個(gè)MPEsection進(jìn)行解讀時(shí),section標(biāo)頭必須在Delta-TJitter時(shí)間內(nèi)解a并將Delta-T值回傳到實(shí)體層。

(2) IP解封裝器必須于Delta-T時(shí)間內(nèi)完成所有section的譯碼與MPE-FEC機(jī)制的運(yùn)作,并將數(shù)據(jù)輸出到終端。

由于未必能在Burst的最大維持時(shí)間內(nèi)將所有section數(shù)據(jù)解讀完成,故接收端必須以緩沖器暫存整個(gè)Burst時(shí)間內(nèi)的所有section封包,而封包的譯碼工作在剩余的Delta-T時(shí)間內(nèi)完成即可。

除此之外,由于在處理的過程中使用緩沖器來暫存section封包數(shù)據(jù),而再取出解讀時(shí),其標(biāo)頭中所挾帶的實(shí)時(shí)性Delta-T信息已失效,僅有解讀第一個(gè)MPEsection所造成的延遲時(shí)間最為短暫。

因此,在實(shí)作上即采用第一個(gè)MPEsection標(biāo)頭所挾帶的Delta-T信息來告知實(shí)體層下一個(gè)Burst的到來時(shí)間,而其余section標(biāo)頭內(nèi)的Delta-T信息將不被讀取采用。整個(gè)section封包處理延遲時(shí)間示意圖即以圖9呈現(xiàn)。

圖9 section封包處理延遲時(shí)間示意圖

5、 實(shí)驗(yàn)?zāi)M結(jié)果

本研究整個(gè)實(shí)驗(yàn)?zāi)M結(jié)果均是利用個(gè)人計(jì)算機(jī)(PC)進(jìn)行測試,個(gè)人計(jì)算機(jī)的配備如表4所呈現(xiàn),并以公視試播計(jì)劃所提供的傳輸串流當(dāng)作是播放測試檔案,而表5則是從公視所提的串流檔案擷取出來的信息。

5.1正確性驗(yàn)證

本研究糾錯(cuò)后的數(shù)據(jù)驗(yàn)證是利用文字處理Ultra-Edit所提供的二進(jìn)制檔案比對來完成,分別將添加錯(cuò)誤的每個(gè)Burst數(shù)據(jù)與修正后的數(shù)據(jù)存成檔案后再與驗(yàn)證檔案進(jìn)行比對。

5.2效能評(píng)估

本文的MPE架構(gòu)與Time-Slicing傳輸機(jī)制設(shè)計(jì)主要采用[4]的觀實(shí)作觀念與架構(gòu),[4]中對每個(gè)Burst數(shù)據(jù)(僅有針對MPEsection)的處理時(shí)間已有相當(dāng)完整的分析信息,故本論文即針對主要設(shè)計(jì)的MPE-FEC糾錯(cuò)機(jī)制做實(shí)作上的效能分析與探討。

表4個(gè)人計(jì)算機(jī)基本配備表

處理器廠牌規(guī)格

Intel Pentium 4

處理器處理速度

3.0 GHz

硬盤大小

80 GBytes

內(nèi)存容量

512 MBytes

表5公視影像來源參數(shù)數(shù)據(jù)

參數(shù)

數(shù)值

檔案大小

755,605,652(bytes)

封包總數(shù)

4,019,179(封包以188個(gè)bytes為單位)

MPE-FEC框架總列數(shù)

512列

Delta-T

1250 ms

Delta-T Jitter

7.5 ms

最大Burst持續(xù)時(shí)間

200 ms

省電效率

79.7%

每秒畫面更新速率

15 (frame per second,

整個(gè)傳輸流檔案中,每個(gè)Burst所挾帶的框架大小為255×512,而框架資料量大小為1Mbits(128kBytes),每個(gè)MPE-FEC框架執(zhí)行的RS糾錯(cuò)運(yùn)算次數(shù)為512次(即每一列執(zhí)行一次RS糾錯(cuò)運(yùn)算),編碼率(coderate)為2/3的情況條件下,10個(gè)Burst、50個(gè)Burst與100個(gè)Burst單純使用Java以及RS譯碼采用Euclid算法在Windows上的完整MPE-FEC糾錯(cuò)機(jī)制與單純RS譯碼的平均執(zhí)行時(shí)間如圖13所示。



關(guān)鍵詞: 接收器 軟件 DVB-H 電視 手機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉