基于雙嵌入式處理器的高清數(shù)字電視設(shè)計(jì)
隨著數(shù)字傳輸技術(shù)和圖像處理技術(shù)的提高,電視技術(shù)正逐步從SDTV(Standard Definition TV,標(biāo)準(zhǔn)清晰度電視)過(guò)渡到HDTV(High Definition TV,高清晰度電視)。高清數(shù)字電視符合人們對(duì)高品質(zhì)的數(shù)字多媒體播放和高性能的網(wǎng)絡(luò)信息終端的需要,具備廣闊的市場(chǎng)前景,其基于嵌入式系統(tǒng)技術(shù)的實(shí)現(xiàn)也成為嵌入式領(lǐng)域的新熱點(diǎn)[1-2]。
高清電視是指播放畫(huà)質(zhì)超過(guò)720p或者1080i的高清晰度電視系統(tǒng)(i表示隔行掃描,p表示逐行掃描)。目前標(biāo)清的播放畫(huà)質(zhì)為480i,而DVD最高畫(huà)質(zhì)可以達(dá)到480p,即720x480逐行顯示的標(biāo)準(zhǔn),可見(jiàn)高清電視要比最清晰的DVD還要清晰許多。美國(guó)的高清標(biāo)準(zhǔn)主要有兩種格式,1280×720p/60Hz和1920×1080i/60Hz,歐洲支持1920× 1080i/50Hz。
數(shù)字電視的標(biāo)準(zhǔn)主要有美國(guó)的ATSC和歐洲的DVB兩種。二者的信源編碼都采用MPEG2,信道編碼和調(diào)制方式不同。ATSC針對(duì)地面廣播;DVB分為衛(wèi)星(DVB-S)、有線(DVB-C)和地面(DVB-T)等方式。
當(dāng)前市場(chǎng)上的高清電視
DVB-T接收方便,應(yīng)用廣泛,本文將給出一種基于多嵌入式處理器的高清DVB-T數(shù)字電視的設(shè)計(jì),在模擬高清電視中內(nèi)置DVB-T數(shù)字信號(hào)接收模塊,通過(guò)實(shí)現(xiàn)HDTV模塊與DVB-T模塊處理器之間的雙機(jī)通信來(lái)同步處理任務(wù),最終組合成一個(gè)完整的數(shù)字高清電視系統(tǒng)。為了將兩個(gè)獨(dú)立的模塊進(jìn)行組合,文章提出了實(shí)現(xiàn)該系統(tǒng)單一系統(tǒng)映像的方法,通過(guò)單一系統(tǒng)映像為用戶提供單一的用戶操作界面,單一的顯示界面,單一的數(shù)據(jù)維護(hù),使用戶感覺(jué)是一套系統(tǒng)在運(yùn)行。
2 系統(tǒng)硬件結(jié)構(gòu)
2.1 DVB-T模塊
DVB-T接收模塊基于ST公司的高清機(jī)頂盒解碼芯片Sti7710[4],由32位RISC CPU ST20和MPEG2 A/V解碼器組成,A/V解碼器是MP@HL規(guī)格的,支持1280×720p或1920× 1080i高清分辨率輸出,其系統(tǒng)硬件框圖和信號(hào)流程如圖1所示。DVB-T模塊分三個(gè)部分:前端接收解調(diào)、A/V解碼、A/V輸出。
前端接收解調(diào)由Tuner和解調(diào)器組成,地面?zhèn)鬏數(shù)腄VB-T數(shù)字電視信號(hào)通過(guò)Tuner接收,Tuner將中頻信號(hào)傳送給QAM解調(diào)器。解調(diào)器采用ST的芯片STV0370,可以解調(diào)COFDM調(diào)制的信號(hào),解出MPEG TS流。TS流通過(guò)并行或串行方式輸入Sti7710,進(jìn)入MPEG2 A/V解碼部分。
MPEG2 A/V解碼器首先主要對(duì)TS流進(jìn)行處理,在解復(fù)用后提取MPEG2壓縮的音視頻數(shù)據(jù),解碼得到圖像,再加上OSD顯示,以模擬和數(shù)字音視頻的方式輸出。A/V輸出有模擬和數(shù)字多種方式,模擬視頻有RGB、YPbPr等方式輸出,數(shù)字視頻可以通過(guò)HDMI編碼和DVI接口輸出[5-7]。
2.2 HDTV模塊
HDTV模塊基于Trident公司的模擬高清方案,實(shí)現(xiàn)一個(gè)接收模擬電視信號(hào)的高清電視機(jī)的功能。其系統(tǒng)框圖如圖1所示。
模塊支持RGB、YPbPr、CVBS等模擬視頻輸入和HDMI數(shù)字視頻輸入,并會(huì)對(duì)圖像進(jìn)行相應(yīng)處理,并疊加自己的OSD系統(tǒng)。處理器由兩個(gè)部分組成,一個(gè)是16位的M16C/62系列MCU,負(fù)責(zé)執(zhí)行電視主控程序,控制電視系統(tǒng)的運(yùn)行;另一個(gè)是圖像處理器SVP-EX52,在MCU的控制下處理輸入的圖像數(shù)據(jù)并輸出給屏幕顯示。圖像處理器的主要功能有以下幾點(diǎn),一是將輸入的隔行掃描的圖像轉(zhuǎn)換成逐行掃描的圖像,二是將輸入的24Hz,30Hz等低于60Hz場(chǎng)頻的圖像轉(zhuǎn)換成60Hz,三是對(duì)畫(huà)面解析度和形狀大小進(jìn)行調(diào)整,重新填寫(xiě)像素矩陣,使得圖像可以按需求縮放和處理。
高清信號(hào)的數(shù)據(jù)量很大,以1280×720p為例,每秒需要輸出給顯示屏幕的圖像數(shù)據(jù)量為1280×720×24×60bit,約等于1.327Gbit,所以傳輸率要求非常高。LVDS即低電壓差分信號(hào)技術(shù)達(dá)到幾個(gè)Gbit的傳輸率,可以滿足需要,所以圖像處理器輸出的高清視頻信號(hào)需要調(diào)制成LVDS信號(hào)傳給大尺寸的LCD液晶屏幕或者PDP等離子屏幕。
圖1 系統(tǒng)硬件結(jié)構(gòu)
2.3 模塊接口
兩個(gè)模塊的音視頻通過(guò)HDMI接口連接,HDMI(High-Definition Multimedia Interface)是用在高清多媒體領(lǐng)域的新的音視頻接口技術(shù),有很多優(yōu)點(diǎn),體現(xiàn)在以下幾個(gè)方面:
①HDMI可以無(wú)壓縮傳送全數(shù)字音視頻數(shù)據(jù),不需經(jīng)過(guò)D/A和A/D兩次轉(zhuǎn)換,所以傳輸沒(méi)有損失,質(zhì)量最好。
?、贖DMI傳輸帶寬高達(dá)5Gbps,目前只使用2.5Gbps,可以滿足720p,1080i等各種分辨率視頻信號(hào)的傳輸要求。
?、巯鄬?duì)模擬視頻傳輸有更高的抗干擾能力。
④連接簡(jiǎn)單,使用方便。只用一根電纜即可實(shí)現(xiàn)音視頻連接和簡(jiǎn)單數(shù)據(jù)傳輸功能。
?、萏峁〩DCP(High-bandwidth Digital Content Protection)技術(shù),可以保護(hù)通過(guò)該接口傳輸?shù)拿襟w的版權(quán)。
UART接口是嵌入式系統(tǒng)中常用的通信接口,兩個(gè)嵌入式CPU,Sti7710和M16C/62都支持UART接口,所以通過(guò)它交換命令和數(shù)據(jù),實(shí)現(xiàn)兩個(gè)CPU的任務(wù)同步和數(shù)據(jù)交換,為實(shí)現(xiàn)單一系統(tǒng)映像提供底層支持。
3 單一系統(tǒng)映像
3.1 系統(tǒng)分析
對(duì)于雙處理器的數(shù)字電視系統(tǒng),單一系統(tǒng)映像指單一的U
數(shù)字電視UI主要包括遙控器操作和OSD顯示、系統(tǒng)菜單等。電視與外置機(jī)頂盒是用兩個(gè)遙控器分別控制的,各自有一套獨(dú)立的OSD和系統(tǒng)菜單,所以需要實(shí)現(xiàn)遙控器和OSD、系統(tǒng)菜單的統(tǒng)一。
數(shù)字電視作為信息終端接收數(shù)據(jù)廣播,維護(hù)一個(gè)簡(jiǎn)單的嵌入式數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)在DVB模塊中維護(hù),是實(shí)時(shí)更新的。在此數(shù)據(jù)庫(kù)基礎(chǔ)上提供EPG(電子節(jié)目導(dǎo)航)、Teletext(圖文電視)、Subtitle(字幕)、MHEG(超媒體)等信息服務(wù)。用戶可以通過(guò)這個(gè)數(shù)據(jù)庫(kù),方便的管理節(jié)目列表、瀏覽網(wǎng)絡(luò)信息[8-9]。
兩個(gè)系統(tǒng)的OSD顯示、系統(tǒng)菜單應(yīng)該作為一套系統(tǒng)整合在其中一個(gè)模塊上。HDTV是顯示設(shè)備,DVB的OSD和視頻疊加在一起作為圖像傳給HDTV,HDTV在上面再疊加自己的OSD,傳給屏幕顯示。所以整個(gè)系統(tǒng)的OSD應(yīng)該整合在HDTV模塊上。DVB模塊不再生成OSD,也不響應(yīng)遙控,只響應(yīng)HDTV通過(guò)串行通信接口發(fā)送過(guò)來(lái)的菜單命令,并將需要顯示的結(jié)果通過(guò)串行通信接口傳給HDTV的OSD顯示。
EPG、Teletext、Subtitle、MHEG等數(shù)據(jù)服務(wù)的訪問(wèn)接口同樣在HDTV的菜單界面上給出,但是由于它們的數(shù)據(jù)量比較大,HDTV模塊的非易失性存儲(chǔ)器比較小,所以不能全部移到HDTV系統(tǒng)存放,仍保存在存儲(chǔ)器空間比較大的DVB模塊上。當(dāng)系統(tǒng)需要顯示這些數(shù)據(jù)時(shí),由HDTV模塊向DVB模塊發(fā)出數(shù)據(jù)請(qǐng)求,DVB模塊將數(shù)據(jù)傳送給HDTV的OSD顯示,HDTV模塊并不需要保存這些數(shù)據(jù)。
3.2 雙處理器通信協(xié)議
TV模塊處理器與DVB模塊處理器是并行工作的,二者為了協(xié)同工作,需要傳遞命令、同步狀態(tài)與交換數(shù)據(jù)。兩個(gè)處理器之間的通信和操作通過(guò)UART接口實(shí)現(xiàn)。根據(jù)應(yīng)用需要,協(xié)議從下往上由物理連接層、鏈路驅(qū)動(dòng)層、傳輸層和應(yīng)用層組成。傳輸層以數(shù)據(jù)包為單位,包括包發(fā)送和包解析兩部分功能。數(shù)據(jù)包基于ASCII碼字符傳輸,格式如圖2所示,各字段定義如下。
圖2 雙處理器通信協(xié)議數(shù)據(jù)包格式
Start byte:起始字符,定義為字符"#";
Packet type:包傳輸?shù)臄?shù)據(jù)類型,"C"表示包傳輸?shù)臑槊睿?D"表示數(shù)據(jù), "S"表示狀態(tài);
Packet length:包數(shù)據(jù)的長(zhǎng)度,定義每個(gè)包最多可以傳送255個(gè)字節(jié);
Direction:包傳輸?shù)姆较?,字?0"表示由TV向DVB發(fā)送命令或數(shù)據(jù),字符"1"表示由DVB 向TV發(fā)送狀態(tài)或數(shù)據(jù);
CRC:簡(jiǎn)單的CRC-8糾錯(cuò)碼,用來(lái)保證數(shù)據(jù)傳輸?shù)目煽啃裕?/P>
End byte:終止字符,定義為ASCII碼0x0AH(回車符)。
Data block字段為包的數(shù)據(jù)塊,根據(jù)Packet type決定的傳輸?shù)臄?shù)據(jù)類型的不同,內(nèi)容根據(jù)需要將安裝命令、狀態(tài)和數(shù)據(jù)這三種情況作不同的約定。
3.3 軟件結(jié)構(gòu)
HDTV模塊分為ATV和DTV兩個(gè)狀態(tài),當(dāng)HDTV模塊處于ATV狀態(tài)時(shí),將DVB模塊關(guān)閉,只留HDTV模塊工作,整機(jī)只實(shí)現(xiàn)普通電視的功能。當(dāng)HDTV模塊處于DTV狀態(tài)時(shí),將DVB模塊打開(kāi),系統(tǒng)處于雙處理器協(xié)同工作狀態(tài)。DVB模塊輸出音視頻信號(hào)通過(guò)HDMI接口傳給HDTV模塊播放。
圖3雙處理器協(xié)同工作的軟件系統(tǒng)結(jié)構(gòu)
系統(tǒng)只使用一個(gè)遙控器,遙控鍵碼在ATV和DTV不同狀態(tài)下由兩個(gè)模塊復(fù)用。遙控器命令由HDTV處理器響應(yīng),HDTV對(duì)遙控器命令作分析,如果是對(duì)電視機(jī)本身的遙控操作則由電視機(jī)作相應(yīng)操作,如果是對(duì)DVB的遙控操作則映射成控制DVB模塊的命令,通過(guò)通信協(xié)議的包發(fā)送程序?qū)⒚畲虬鼈魉徒oDVB模塊,DVB處理器的包解析進(jìn)程從包中提取出命令內(nèi)容,然后處理器做指定的動(dòng)作,同時(shí)返回相應(yīng)狀態(tài)。
系統(tǒng)只在HDTV處理器上維護(hù)一個(gè)OSD系統(tǒng),當(dāng)HDTV在DTV狀態(tài)下,需要顯示DVB的數(shù)據(jù)時(shí),通過(guò)通信協(xié)議向DVB模塊請(qǐng)求顯示數(shù)據(jù),DVB模塊將需要OSD顯示的數(shù)據(jù)也通過(guò)通信協(xié)議的傳給HDTV模塊,HDTV模塊的包解析程序?qū)?shù)據(jù)內(nèi)容提取出來(lái)交給OSD顯示。
因此,通過(guò)這種方法,在HDTV模塊上實(shí)現(xiàn)了單一用戶界面,在DVB模塊上實(shí)現(xiàn)了單一數(shù)據(jù)訪問(wèn)控制。整個(gè)系統(tǒng)的軟件結(jié)構(gòu)可見(jiàn)圖3所示。
4 結(jié)論
基于雙處理器的高清數(shù)字電視設(shè)計(jì)在硬件和軟件上都有一些新的技術(shù)難點(diǎn),不僅意味著功能的整合,同時(shí)要求雙處理器能協(xié)同工作,實(shí)現(xiàn)單一系統(tǒng)映像。本文給出了系統(tǒng)的硬件結(jié)構(gòu),在此基礎(chǔ)上提出了通過(guò)串行通信在雙處理器之間同步命令與狀態(tài)、交換數(shù)據(jù)來(lái)實(shí)現(xiàn)單一系統(tǒng)映像的方法。這一設(shè)計(jì)思想為高清數(shù)字電視開(kāi)發(fā)提供了一種思路,也對(duì)其他基于多CPU的嵌入式系統(tǒng)設(shè)計(jì)有一定的參考價(jià)值。
參考文獻(xiàn)
[1] Nam Ling,Nien-Tsu Wang. R
[2] Jun Xin,Ming-Ting Sun,Byung-Sun Choi,Kang-Wook Chun. An HDTV-to-SDTV spatial transcoder[J]. IEEE Transactions on Circuits and Systems for Video Technology. 2002,12(11): 998–1008.
[3] Yamauchi,H.Okada,S.Taketa,K. Single chip video processor for digital HDTV[J]. IEEE Transactions on Consumer Electronics.2001,47(3): 394-404.
[4] Sti7710 Data sheet, STMicroelectronics. [DB/OL]. www.st.com.
[5] Kuge,T. Wavelet picture coding and its several problems of the application to the interlace HDTV and the ultra-high definition images. Proceedings of International Conference on Image Processing,2002, Volume 3: III-217- III-220.
[6] 舒國(guó)麗,金韜,任秀麗.網(wǎng)絡(luò)電視機(jī)頂盒GUI系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2002,23(10):1270-1273.
[7] 夏愷 ,薛永林.MPEG-2 TS流分析模塊及系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005,(20):85-87.
[8] 劉寶鋒,張文軍.機(jī)頂盒應(yīng)用軟件模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2004,30(8):85-87.
[9] 李小將,樊天晴,胡正國(guó).嵌入式系統(tǒng)在信息家電中的應(yīng)用[J].計(jì)算機(jī)工程,2002,28(4):192-193.