《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于嵌入式Web服務(wù)器的數(shù)字電視接收終端的設(shè)計(jì)

基于嵌入式Web服務(wù)器的數(shù)字電視接收終端的設(shè)計(jì)

2008-05-06
作者:陶雄飛,劉衛(wèi)忠,鄒雪城

  摘 要: 提出了一種面向計(jì)算機(jī)用戶的數(shù)字電視接收終端的設(shè)計(jì)方案,從硬件構(gòu)成、協(xié)議選擇、音視頻" title="音視頻">音視頻數(shù)據(jù)傳輸?shù)确矫娼榻B了該接收終端的實(shí)現(xiàn)方法。
  關(guān)鍵詞: 嵌入式Web服務(wù)器 流服務(wù)器 數(shù)字電視


  目前,在PC機(jī)上實(shí)現(xiàn)數(shù)字電視的播放主要有兩種方案,一種是基于PCI總線的數(shù)字電視接收卡" title="接收卡">接收卡,另一種是基于USB總線的數(shù)字電視接收終端。
  兩種方案各有利弊。前種方案硬件成本較后一種低,但是PC機(jī)的處理負(fù)擔(dān)比后種方案重。這兩種方案均不能實(shí)現(xiàn)對加擾節(jié)目的播放,且實(shí)現(xiàn)的復(fù)雜度都較高,開發(fā)周期較長。以下方案可有效解決其存在的問題:
  (1)機(jī)頂盒專用芯片+CY7C68013芯片。
  (2)機(jī)頂盒專用芯片+以太網(wǎng)接口芯片" title="接口芯片">接口芯片DM9000A。
  本文所提出的系統(tǒng)采用方案(2)。這是因?yàn)镈M9000A比CY7C68013更有價(jià)格優(yōu)勢,同時(shí)較容易實(shí)現(xiàn)。
1 系統(tǒng)結(jié)構(gòu)
  本數(shù)字電視接收終端方案采用機(jī)頂盒專用解碼芯片和以太網(wǎng)接口芯片DM9000A實(shí)現(xiàn)。解碼芯片選用STMicroelectronics公司的STi5517芯片,STi5517主頻可達(dá)180MHz,內(nèi)置DVB的解擾模塊,可以處理加擾數(shù)據(jù)流。通過STi5517的EMI接口總線實(shí)現(xiàn)SDRAM、Flash以及DM9000A等的擴(kuò)展,DM9000A是100MHz的非PCI以太網(wǎng)接口芯片。系統(tǒng)硬件框圖如圖1所示。


  采用此方案實(shí)現(xiàn)的接收終端連接在有線電視網(wǎng)和以太網(wǎng)之間,在接收終端中內(nèi)嵌Web服務(wù)器和簡單的流服務(wù)器功能。
  用戶通過瀏覽器向接收終端的Web服務(wù)器提出請求,如節(jié)目搜索、獲取節(jié)目列表及節(jié)目的EIT信息等。Web服務(wù)器根據(jù)瀏覽器的請求執(zhí)行相應(yīng)的動作,并將相應(yīng)的靜態(tài)頁面或動態(tài)頁面發(fā)送到瀏覽器。如果用戶通過瀏覽器向Web服務(wù)器發(fā)送播放節(jié)目的請求,Web服務(wù)器將用戶所請求節(jié)目的描述性文件(PD file)返回給瀏覽器,同時(shí)啟動流服務(wù)器程序接收音視頻數(shù)據(jù)并將接收到的數(shù)據(jù)封裝為數(shù)據(jù)包發(fā)送。瀏覽器接收到PD file后,將PD file傳給流播放程序,流播放程序根據(jù)PD file內(nèi)容,接收來自流服務(wù)器的數(shù)據(jù)包并播放。
2 設(shè)計(jì)要點(diǎn)
  系統(tǒng)設(shè)計(jì)的要點(diǎn)是嵌入式Web服務(wù)器和嵌入式流服務(wù)器的實(shí)現(xiàn)。
2.1 嵌入式Web服務(wù)器
  一個(gè)典型的Web服務(wù)器的系統(tǒng)結(jié)構(gòu)如圖2所示。


  雖然嵌入式Web服務(wù)器的容量可以很小,但也同樣具有典型Web服務(wù)器的特點(diǎn)和主要功能。嵌入式Web服務(wù)器應(yīng)不僅給瀏覽器提供靜態(tài)網(wǎng)頁,同時(shí)還應(yīng)具備動態(tài)生成網(wǎng)頁的功能。因此系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了嵌入式CGI的功能,它作為應(yīng)用程序的一部分存在。
2.1.1 HTTP協(xié)議選擇
  嵌入式Web服務(wù)器技術(shù)的核心是HTTP引擎。HTTP是一個(gè)應(yīng)用層協(xié)議,使用TCP作為傳輸層協(xié)議。HTTP1.0不支持持續(xù)連接,對每一次請求和響應(yīng)都要通過TCP的3次握手建立,這造成對網(wǎng)絡(luò)資源的浪費(fèi)。通常,一個(gè)典型的網(wǎng)頁頁面由多個(gè)html文件和多個(gè)圖形組成,而為了完整接收這個(gè)頁面,需要為每個(gè)文件或圖形的接收建立一個(gè)連接,建立和關(guān)閉連接都需要消耗CPU及內(nèi)存資源。HTTP1.1允許在一個(gè)已經(jīng)建立的連接上進(jìn)行多次HTTP交互,這樣可大大提高網(wǎng)絡(luò)和系統(tǒng)的執(zhí)行效率。另外,HTTP1.0沒有直接的緩沖控制(cache-control),因此,對于一些客戶端已經(jīng)接收過的靜態(tài)頁面,如靜態(tài)文本、圖片、圖標(biāo)等會重復(fù)接收,這將增加CPU的負(fù)擔(dān)。而HTTP1.1增加了緩沖控制機(jī)制,將一些已經(jīng)接收的靜態(tài)數(shù)據(jù)緩存起來,再次使用時(shí)則無需再次接收這些數(shù)據(jù),從而減輕了網(wǎng)絡(luò)和CPU的負(fù)擔(dān)。基于以上兩點(diǎn),本系統(tǒng)中的Web服務(wù)器采用HTTP1.1協(xié)議。
2.1.2 嵌入式通用網(wǎng)關(guān)接口eCGI
  本系統(tǒng)采用CGI生成動態(tài)頁面,實(shí)現(xiàn)服務(wù)器和瀏覽器之間的數(shù)據(jù)交互。
  通用網(wǎng)關(guān)接口CGI(Common Gateway Interface)定義了Web服務(wù)器主機(jī)對外服務(wù)的標(biāo)準(zhǔn)接口。其主要功能是在Web環(huán)境下,從客戶端傳送信息給Web服務(wù)器,Web服務(wù)器把接收到的有關(guān)信息放入環(huán)境變量,然后啟動所指定的CGI腳本以完成特定的工作,CGI腳本從環(huán)境變量中獲取相關(guān)信息運(yùn)行,最后以HTML格式輸出相應(yīng)的執(zhí)行結(jié)果返回給瀏覽器端。由于用戶能給CGI腳本傳遞不同的參數(shù),所以CGI技術(shù)使得瀏覽器和服務(wù)器之間具有交互性。
  標(biāo)準(zhǔn)的CGI程序需要有文件系統(tǒng)以及程序動態(tài)調(diào)用的支持,在嵌入式系統(tǒng)中實(shí)現(xiàn)標(biāo)準(zhǔn)的CGI將增加代碼量,而且也影響系統(tǒng)的執(zhí)行效率。本系統(tǒng)采取一種變通的方式實(shí)現(xiàn)CGI,稱之為eCGI以區(qū)別標(biāo)準(zhǔn)的CGI。
  在eCGI服務(wù)器中,通過調(diào)用函數(shù)完成CGI程序的執(zhí)行。如果接收到瀏覽器的CGI請求,就需要找到相應(yīng)的處理函數(shù),eCGI通過查找鏈表方式解決此問題。
  AddCgiFuncs(char*funcName,char*path,void*funcs);
  此函數(shù)用來建立eCGI服務(wù)器中的CGI處理函數(shù)的列表,funcName和path分別是處理函數(shù)的虛擬文件名和虛擬路徑。
  void*LookupCgiFuncs(char*funcName,char*path);
  此函數(shù)用來查找CGI處理函數(shù)的指針,funcName和path是從解析瀏覽器請求中得到的處理函數(shù)的文件名和路徑。
  eCGI服務(wù)器中有一些環(huán)境變量以及瀏覽器與服務(wù)器交互的參數(shù),這些數(shù)據(jù)采用類似上面的機(jī)制處理。
  cgiAddVar(char*varName,v_type_t vType,v_value_t value);
  此函數(shù)用來創(chuàng)建一個(gè)參數(shù),并添加到參數(shù)列表中。varName是參數(shù)的名稱,vType是參數(shù)的類型,value是參數(shù)的初始值。
  cgiSetValue(char*varName,v_value_t value);
  此函數(shù)用來設(shè)置參數(shù)的值。
  cgiGetValue(char*varName,v_value_t*value);
  此函數(shù)用來獲得參數(shù)的值。
  eCGI工作的主要流程與CGI相似,即解析瀏覽器請求中CGI相關(guān)的腳本信息,然后查找并調(diào)用相應(yīng)的eCGI處理函數(shù),服務(wù)器將處理結(jié)果通過html文件返回瀏覽器,結(jié)束本次eCGI進(jìn)程。
2.2 嵌入式流服務(wù)器
2.2.1 傳輸協(xié)議" title="傳輸協(xié)議">傳輸協(xié)議選擇
  流媒體" title="流媒體">流媒體是指在網(wǎng)絡(luò)中使用流技術(shù)傳輸?shù)倪B續(xù)時(shí)基媒體。其特點(diǎn)是播放前不需要下載整個(gè)文件,而是采用邊接收邊播放的方式。進(jìn)行實(shí)時(shí)流媒體數(shù)據(jù)的傳輸可以采用UDP、HTTP、RTP等多種協(xié)議,本系統(tǒng)采用RTP協(xié)議。RTP數(shù)據(jù)報(bào)頭部格式如圖3所示。


  從RTP數(shù)據(jù)報(bào)的格式不難看出,它包含了傳輸媒體的類型、格式、序列號、時(shí)間戳以及是否有附加數(shù)據(jù)等信息。這些都為流媒體實(shí)時(shí)傳輸提供了基礎(chǔ),它可以建立在底層的面向連接或面向非連接的傳輸協(xié)議之上。在典型的應(yīng)用場合,RTP是在傳輸協(xié)議之上(如TCP、UDP)作為應(yīng)用程序的一部分實(shí)現(xiàn)的。雖然TCP提供可靠的連接,但是它的網(wǎng)絡(luò)開銷遠(yuǎn)大于UDP,因此本系統(tǒng)采用UDP協(xié)議承載RTP數(shù)據(jù)。
2.2.2 封裝RTP數(shù)據(jù)包
  在RFC2250(RTP Payload Format for MPEG1/MPEG2 Video)中定義了MPEG音視頻流的封裝格式。對于MPEG2數(shù)據(jù)流,可以采用兩種封裝格式,一種是將MPEG2傳輸流(TS)作為RTP負(fù)載封裝到數(shù)據(jù)包,另一種方式是將MPEG2基本流(ES)數(shù)據(jù)直接封裝到RTP數(shù)據(jù)包。后一種方式復(fù)雜程度較高,同時(shí)加大了服務(wù)器端的負(fù)擔(dān),因此,采用第一種封裝方式。
  將TS數(shù)據(jù)封裝到RTP數(shù)據(jù)包時(shí),每個(gè)RTP數(shù)據(jù)包中必須包含整數(shù)個(gè)TS包,每一個(gè)RTP數(shù)據(jù)包將攜帶一個(gè)由發(fā)送端90kHz的參考時(shí)鐘產(chǎn)生的時(shí)間戳,發(fā)送端的這個(gè)時(shí)鐘(STC)與節(jié)目流中的PCR同步。
  接收終端在接收音視頻節(jié)目時(shí),首先接收PCR數(shù)據(jù),并將接收到的第一個(gè)PCR直接設(shè)置到STC。當(dāng)接收到后續(xù)的PCR時(shí),則比較PCR與STC的值,根據(jù)差值調(diào)整PWM,從而達(dá)到調(diào)整系統(tǒng)時(shí)鐘振蕩頻率的目的。經(jīng)過PCR調(diào)整的系統(tǒng)時(shí)鐘將與前端編碼器的時(shí)鐘同步。
  音視頻數(shù)據(jù)的接收與發(fā)送流程如圖4所示。


  在接收音視頻數(shù)據(jù)時(shí),將接收通道的類型設(shè)置為接收TS流的方式,在接收終端的應(yīng)用程序中創(chuàng)建Prebuffer和RTPSendData兩個(gè)任務(wù),解復(fù)用模塊將接收到的數(shù)據(jù)送入CyclicBuffer,修改CyclicBuffer的寫指針,并通知Prebuffer任務(wù),Prebuffer任務(wù)將CyclicBuffer中的TS數(shù)據(jù)讀出并寫入PreBuffer中,相應(yīng)地修改CyclicBuffer和PreBuffer的寫指針。RTPSendData任務(wù)檢查PreBuffer中TS包的個(gè)數(shù),若達(dá)到一定數(shù)量就將TS包封裝到RTP數(shù)據(jù)包中,通過STC得到時(shí)間戳的信息,生成序列號,將時(shí)間戳、序列號、負(fù)載類型等信息封裝到RTP頭部送入TCP/IP協(xié)議棧組成UDP數(shù)據(jù)包后發(fā)送。
  用戶使用本系統(tǒng)時(shí),可以通過瀏覽器查看電視節(jié)目列表以及選擇電視節(jié)目,并通過嵌入到瀏覽器的播放器播放電視節(jié)目,畫面流暢。
  本系統(tǒng)與基于PCI、USB總線的數(shù)字電視接收終端相比有以下特點(diǎn):(1)PC端無需安裝任何驅(qū)動程序;(2)PC端無需安裝任何操作界面,由瀏覽器完成即可;(3)可以實(shí)現(xiàn)對加擾節(jié)目的播放。
  微軟已經(jīng)將其媒體播放器(Windows Media Player)嵌入IE瀏覽器。如果接收終端以媒體播放器所能支持的協(xié)議(如MMS、RSTP等)傳輸流媒體數(shù)據(jù),則在用戶的計(jì)算機(jī)上無需開發(fā)任何程序,所有的開發(fā)工作僅在接收終端上,從而實(shí)現(xiàn)此接收終端真正的“即插即用”,這是下一步的將要開展的工作。
參考文獻(xiàn)
1 Jeremy Bentham著,陳向群譯.嵌入式系統(tǒng)Web服務(wù)器TCP/IP Lean.北京:機(jī)械工業(yè)出版社,2003
2 林福宗.多媒體技術(shù)基礎(chǔ)(第2版).北京:清華大學(xué)出版社,2002
3 STMicroelectronics.STi5517 Low-cost interactive set-top box decoder datasheet.2003
4 GoAhead Software Inc.GoAhead Web Server White Paper[Z].http://www.goahead.com.1999-5
5 Ian Douglas Agranat.Engineering Web technologies for embedded applications.IEEE Internet Computing,1998;(5)~(6)
6 Schulzrinne.RTP:A Transport Protocol for Real-time Appli-cations,RFC1889.1996
7 Hoffman.RTP Payload Format for MPEG1/MPEG2 Video,RFC2250.1998
8 Fielding.Hypertext Transfer Protocol,RFC2616.1999
9 胡 寧,崔鐵生,吳 楚.基于PCI總線的衛(wèi)星DVB接收卡設(shè)計(jì)及實(shí)現(xiàn).山東電子,2004;(3)
10 劉三強(qiáng),劉 堅(jiān).基于USB接口的數(shù)字電視接收盒設(shè)計(jì).電視技術(shù),2004;(9)
11 施景華,劉衛(wèi)忠.基于USB2.0協(xié)議的數(shù)字廣播終端接收卡的設(shè)計(jì)和實(shí)現(xiàn).電視技術(shù),2005;(3)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲作爱视频| 亚洲高清久久久| 国外精品视频| 欧美日韩在线播| 欧美精品福利视频| 欧美成人伊人久久综合网| 久久久一二三| 久久午夜视频| 久久躁日日躁aaaaxxxx| 久久国产精品毛片| 欧美一区二区在线视频| 亚洲欧美日韩一区在线| 亚洲天堂免费观看| 亚洲网址在线| 亚洲小说春色综合另类电影| 一区二区三区欧美在线观看| 一本到高清视频免费精品| 最近看过的日韩成人| 亚洲第一色中文字幕| 亚洲高清资源| 亚洲国产日韩欧美在线99| 亚洲成人在线视频网站| 亚洲国产人成综合网站| 最近看过的日韩成人| 亚洲国产精品黑人久久久| 亚洲第一二三四五区| 亚洲国产国产亚洲一二三| 亚洲黄一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲精品美女免费| 一本色道88久久加勒比精品 | 亚洲调教视频在线观看| 亚洲私人影院| 亚洲欧美日韩国产一区| 久久成人18免费网站| 亚洲精品乱码久久久久久| 一区二区三区 在线观看视频| 亚洲午夜一区| 久久精品国产精品亚洲综合| 久久亚洲私人国产精品va媚药| 美女视频黄 久久| 欧美日韩理论| 国产伦精品一区二区三区四区免费| 国产在线播精品第三| 亚洲激情社区| 亚洲一线二线三线久久久| 欧美怡红院视频一区二区三区| 亚洲高清视频在线观看| 一区二区精品在线| 小黄鸭精品aⅴ导航网站入口| 久久久成人精品| 欧美全黄视频| 国产女主播在线一区二区| 在线成人激情| 夜夜嗨av色一区二区不卡| 午夜日韩在线观看| 99成人在线| 欧美在线|欧美| 欧美成人精品一区| 国产精品尤物| 亚洲黑丝在线| 亚洲在线观看免费| 91久久亚洲| 新67194成人永久网站| 噜噜噜噜噜久久久久久91| 欧美日韩在线视频一区二区| 国产亚洲精品aa午夜观看| 亚洲激情图片小说视频| 亚洲免费视频中文字幕| 亚洲国产精品日韩| 亚洲欧美在线另类| 欧美国产日韩亚洲一区| 国产日韩精品一区二区三区| 亚洲国产欧美在线| 午夜在线成人av| 一本到12不卡视频在线dvd| 久久精品亚洲一区二区| 欧美片网站免费| 国内精品视频在线观看| 一区二区三区黄色| 亚洲国产精品激情在线观看| 亚洲欧美综合另类中字| 欧美福利视频网站| 国产日韩欧美精品| 日韩视频免费观看| 亚洲国产精品电影| 欧美一区二区三区喷汁尤物| 欧美日本不卡高清| 激情六月综合| 午夜精品视频| 亚洲在线黄色| 欧美精品在线播放| 在线观看三级视频欧美| 欧美一区二区视频免费观看| 亚洲欧美在线网| 欧美三级特黄| 亚洲精品乱码| 亚洲人成网站777色婷婷| 欧美专区日韩专区| 国产精品亚洲一区二区三区在线| 亚洲精品在线免费观看视频| 亚洲第一区中文99精品| 欧美在线电影| 国产精品亚洲网站| 中国女人久久久| 一区二区三区免费网站| 欧美激情第六页| 在线观看视频一区| 久久国产精品一区二区| 欧美一区二区女人| 国产精品嫩草99av在线| 一本一本久久a久久精品综合妖精| 亚洲激情一区二区三区| 久久综合亚洲社区| 国产日韩欧美在线视频观看| 亚洲主播在线| 亚洲欧美www| 国产精品久久久99| 亚洲图片欧美午夜| 亚洲一二区在线| 欧美日韩一区在线视频| 亚洲毛片网站| 一区二区三区国产精品| 欧美连裤袜在线视频| 亚洲精品极品| 一区二区高清视频| 欧美日韩大片| 亚洲精品在线视频| 一本色道久久综合亚洲精品高清 | 国产精品s色| 亚洲最新视频在线播放| 亚洲性视频网址| 国产精品激情av在线播放| 亚洲图片欧洲图片av| 午夜精品在线| 国产欧美韩国高清| 久久国产精品久久久久久| 久久一综合视频| 亚洲国产三级| 亚洲视频精选在线| 国产精品私拍pans大尺度在线| 亚洲欧美在线一区| 久久亚洲风情| 亚洲激情另类| 亚洲一区二区在线免费观看| 国产精品你懂得| 久久成人免费电影| 欧美成人a∨高清免费观看| 99pao成人国产永久免费视频| 亚洲视频在线免费观看| 国产精品一区二区三区久久久 | 欧美久久九九| 亚洲手机视频| 久久久蜜臀国产一区二区| 亚洲国产精彩中文乱码av在线播放| 亚洲精品资源| 国产精品theporn88| 欧美一级久久久| 另类专区欧美制服同性| 亚洲精品综合在线| 香蕉成人久久| 伊人久久噜噜噜躁狠狠躁| 一区二区三区欧美亚洲| 国产女精品视频网站免费| 欧美一区影院| 欧美另类videos死尸| 亚洲尤物在线视频观看| 久久久久久网站| 亚洲免费电影在线| 久久激情网站| 亚洲精品一二三区| 欧美在线影院| 亚洲精品一线二线三线无人区| 欧美在线观看网址综合| 亚洲国产精品视频一区| 亚洲欧美日韩精品久久| 精品成人国产在线观看男人呻吟| 一区二区三区国产在线| 国内精品视频久久| 亚洲视频在线二区| 激情久久久久久| 亚洲一区二区三区在线视频| 国内精品久久久久久影视8| 中国av一区| 精品91在线| 欧美亚洲综合久久| 亚洲精品一区二区三区樱花| 欧美中文在线观看| 亚洲精品综合精品自拍| 久久漫画官网| 中国成人黄色视屏| 欧美成人一区二区在线| 亚洲欧美区自拍先锋| 欧美日本不卡| 亚洲国产美女久久久久| 国产精品视屏| 亚洲午夜91| 亚洲日本va午夜在线电影| 久久天天躁狠狠躁夜夜av| 亚洲一区二区网站|