作為一種高品質的數字多媒體播放器和高性能的網絡信息終端,基于嵌入式系統實現的高清數字電視技術將是下一代消費電子市場的熱點。文章給出了一種內置機頂盒模塊的雙嵌入式處理器高清數字電視系統,提出實現該系統單一系統映像的方法。
1 引言
隨著數字傳輸技術和圖像處理技術的提高,電視技術正逐步從SDTV(Standard Definition TV,標準清晰度電視)過渡到HDTV(High Definition TV,高清晰度電視)。高清數字電視符合人們對高品質的數字多媒體播放和高性能的網絡信息終端的需要,具備廣闊的市場前景,其基于嵌入式系統技術的實現也成為嵌入式領域的新熱點[1-2]。
高清電視是指播放畫質超過720p或者1080i的高清晰度電視系統(i表示隔行掃描,p表示逐行掃描)。目前標清的播放畫質為480i,而DVD最高畫質可以達到480p,即720x480逐行顯示的標準,可見高清電視要比最清晰的DVD還要清晰許多。美國的高清標準主要有兩種格式,1280×720p/60Hz和1920×1080i/60Hz,歐洲支持1920× 1080i/50Hz。
數字電視的標準主要有美國的ATSC和歐洲的DVB兩種。二者的信源編碼都采用MPEG2,信道編碼和調制方式不同。ATSC針對地面廣播;DVB分為衛星(DVB-S)、有線(DVB-C)和地面(DVB-T)等方式。
當前市場上的高清電視系統本身并沒有接收數字電視信號的功能,主要還是接收的普通模擬電視信號,如果要接收數字電視、瀏覽網絡信息,還需要外置機頂盒。由于外置機頂盒和電視機是兩套系統,有各自獨立的用戶界面,包括兩套遙控器和OSD界面(On-Screen-Display),使用過程中會給用戶帶來不便,而目前將二者功能合一的單機系統方案還不成熟,成本也高。如果利用比較成熟的機頂盒芯片方案內置在高清電視系統中,將獲得低成本、高性能的高清數字電視解決方案[3]。
DVB-T接收方便,應用廣泛,本文將給出一種基于多嵌入式處理器的高清DVB-T數字電視的設計,在模擬高清電視中內置DVB-T數字信號接收模塊,通過實現HDTV模塊與DVB-T模塊處理器之間的雙機通信來同步處理任務,最終組合成一個完整的數字高清電視系統。為了將兩個獨立的模塊進行組合,文章提出了實現該系統單一系統映像的方法,通過單一系統映像為用戶提供單一的用戶操作界面,單一的顯示界面,單一的數據維護,使用戶感覺是一套系統在運行。
2 系統硬件結構
2.1 DVB-T模塊
DVB-T接收模塊基于ST公司的高清機頂盒解碼芯片Sti7710[4],由32位RISC CPU ST20和MPEG2 A/V解碼器組成,A/V解碼器是MP@HL規格的,支持1280×720p或1920× 1080i高清分辨率輸出,其系統硬件框圖和信號流程如圖1所示。DVB-T模塊分三個部分:前端接收解調、A/V解碼、A/V輸出。
前端接收解調由Tuner和解調器組成,地面傳輸的DVB-T數字電視信號通過Tuner接收,Tuner將中頻信號傳送給QAM解調器。解調器采用ST的芯片STV0370,可以解調COFDM調制的信號,解出MPEG TS流。TS流通過并行或串行方式輸入Sti7710,進入MPEG2 A/V解碼部分。
MPEG2 A/V解碼器首先主要對TS流進行處理,在解復用后提取MPEG2壓縮的音視頻數據,解碼得到圖像,再加上OSD顯示,以模擬和數字音視頻的方式輸出。A/V輸出有模擬和數字多種方式,模擬視頻有RGB、YPbPr等方式輸出,數字視頻可以通過HDMI編碼和DVI接口輸出[5-7]。
2.2 HDTV模塊
HDTV模塊基于Trident公司的模擬高清方案,實現一個接收模擬電視信號的高清電視機的功能。其系統框圖如圖1所示。
模塊支持RGB、YPbPr、CVBS等模擬視頻輸入和HDMI數字視頻輸入,并會對圖像進行相應處理,并疊加自己的OSD系統。處理器由兩個部分組成,一個是16位的M16C/62系列MCU,負責執行電視主控程序,控制電視系統的運行;另一個是圖像處理器SVP-EX52,在MCU的控制下處理輸入的圖像數據并輸出給屏幕顯示。圖像處理器的主要功能有以下幾點,一是將輸入的隔行掃描的圖像轉換成逐行掃描的圖像,二是將輸入的24Hz,30Hz等低于60Hz場頻的圖像轉換成60Hz,三是對畫面解析度和形狀大小進行調整,重新填寫像素矩陣,使得圖像可以按需求縮放和處理。
高清信號的數據量很大,以1280×720p為例,每秒需要輸出給顯示屏幕的圖像數據量為1280×720×24×60bit,約等于1.327Gbit,所以傳輸率要求非常高。LVDS即低電壓差分信號技術達到幾個Gbit的傳輸率,可以滿足需要,所以圖像處理器輸出的高清視頻信號需要調制成LVDS信號傳給大尺寸的LCD液晶屏幕或者PDP等離子屏幕。

圖1 系統硬件結構
2.3 模塊接口
兩個模塊的音視頻通過HDMI接口連接,HDMI(High-Definition Multimedia Interface)是用在高清多媒體領域的新的音視頻接口技術,有很多優點,體現在以下幾個方面:
①HDMI可以無壓縮傳送全數字音視頻數據,不需經過D/A和A/D兩次轉換,所以傳輸沒有損失,質量最好

②HDMI傳輸帶寬高達5Gbps,目前只使用2.5Gbps,可以滿足720p,1080i等各種分辨率視頻信號的傳輸要求

③相對模擬視頻傳輸有更高的抗干擾能力

④連接簡單,使用方便

只用一根電纜即可實現音視頻連接和簡單數據傳輸功能

⑤提供HDCP(High-bandwidth Digital Content Protection)技術,可以保護通過該接口傳輸的媒體的版權

UART接口是嵌入式系統中常用的通信接口,兩個嵌入式CPU,Sti7710和M16C/62都支持UART接口,所以通過它交換命令和數據,實現兩個CPU的任務同步和數據交換,為實現單一系統映像提供底層支持

3 單一系統映像
3.1 系統分析
對于雙處理器的數字電視系統,單一系統映像指單一的UI系統和單一的數據訪問控制

數字電視UI主要包括遙控器操作和OSD顯示、系統菜單等

電視與外置機頂盒是用兩個遙控器分別控制的,各自有一套獨立的OSD和系統菜單,所以需要實現遙控器和OSD、系統菜單的統一

數字電視作為信息終端接收數據廣播,維護一個簡單的嵌入式數據庫,數據庫在DVB模塊中維護,是實時更新的

在此數據庫基礎上提供EPG(電子節目導航)、Teletext(圖文電視)、Subtitle(字幕)、MHEG(超媒體)等信息服務

用戶可以通過這個數據庫,方便的管理節目列表、瀏覽網絡信息[8-9]

兩個系統的OSD顯示、系統菜單應該作為一套系統整合在其中一個模塊上

HDTV是顯示設備,DVB的OSD和視頻疊加在一起作為圖像傳給HDTV,HDTV在上面再疊加自己的OSD,傳給屏幕顯示

所以整個系統的OSD應該整合在HDTV模塊上

DVB模塊不再生成OSD,也不響應遙控,只響應HDTV通過串行通信接口發送過來的菜單命令,并將需要顯示的結果通過串行通信接口傳給HDTV的OSD顯示

EPG、Teletext、Subtitle、MHEG等數據服務的訪問接口同樣在HDTV的菜單界面上給出,但是由于它們的數據量比較大,HDTV模塊的非易失性存儲器比較小,所以不能全部移到HDTV系統存放,仍保存在存儲器空間比較大的DVB模塊上

當系統需要顯示這些數據時,由HDTV模塊向DVB模塊發出數據請求,DVB模塊將數據傳送給HDTV的OSD顯示,HDTV模塊并不需要保存這些數據

3.2 雙處理器通信協議
TV模塊處理器與DVB模塊處理器是并行工作的,二者為了協同工作,需要傳遞命令、同步狀態與交換數據

兩個處理器之間的通信和操作通過UART接口實現

根據應用需要,協議從下往上由物理連接層、鏈路驅動層、傳輸層和應用層組成

傳輸層以數據包為單位,包括包發送和包解析兩部分功能

數據包基于ASCII碼字符傳輸,格式如圖2所示,各字段定義如下


圖2 雙處理器通信協議數據包格式
Start byte:起始字符,定義為字符"#";
Packet type:包傳輸的數據類型,"C"表示包傳輸的為命令,"D"表示數據

"S"表示狀態;
Packet length:包數據的長度,定義每個包最多可以傳送255個字節;
Direction:包傳輸的方向,字符"0"表示由TV向DVB發送命令或數據,字符"1"表示由DVB 向TV發送狀態或數據;
CRC:簡單的CRC-8糾錯碼,用來保證數據傳輸的可靠性;
End byte:終止字符,定義為ASCII碼0x0AH(回車符)

Data block字段為包的數據塊,根據Packet type決定的傳輸的數據類型的不同,內容根據需要將安裝命令、狀態和數據這三種情況作不同的約定

3.3 軟件結構
HDTV模塊分為ATV和DTV兩個狀態,當HDTV模塊處于ATV狀態時,將DVB模塊關閉,只留HDTV模塊工作,整機只實現普通電視的功能

當HDTV模塊處于DTV狀態時,將DVB模塊打開,系統處于雙處理器協同工作狀態

DVB模塊輸出音視頻信號通過HDMI接口傳給HDTV模塊播放


圖3雙處理器協同工作的軟件系統結構
系統只使用一個遙控器,遙控鍵碼在ATV和DTV不同狀態下由兩個模塊復用

遙控器命令由HDTV處理器響應,HDTV對遙控器命令作分析,如果是對電視機本身的遙控操作則由電視機作相應操作,如果是對DVB的遙控操作則映射成控制DVB模塊的命令,通過通信協議的包發送程序將命令打包傳送給DVB模塊,DVB處理器的包解析進程從包中提取出命令內容,然后處理器做指定的動作,同時返回相應狀態

系統只在HDTV處理器上維護一個OSD系統,當HDTV在DTV狀態下,需要顯示DVB的數據時,通過通信協議向DVB模塊請求顯示數據,DVB模塊將需要OSD顯示的數據也通過通信協議的傳給HDTV模塊,HDTV模塊的包解析程序將數據內容提取出來交給OSD顯示

因此,通過這種方法,在HDTV模塊上實現了單一用戶界面,在DVB模塊上實現了單一數據訪問控制

整個系統的軟件結構可見圖3所示

4 結論
基于雙處理器的高清數字電視設計在硬件和軟件上都有一些新的技術難點,不僅意味著功能的整合,同時要求雙處理器能協同工作,實現單一系統映像

本文給出了系統的硬件結構,在此基礎上提出了通過串行通信在雙處理器之間同步命令與狀態、交換數據來實現單一系統映像的方法

這一設計思想為高清數字電視開發提供了一種思路,也對其他基于多CPU的嵌入式系統設計有一定的參考價值

參考文獻
[1] Nam Ling

Nien-Tsu Wang. Real-time video decoding scheme for HDTV set-top boxes[J]. IEEE Transactions on Broadcasting

2002

48(4) :353–360.
[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] 舒國麗

金韜

任秀麗.網絡電視機頂盒GUI系統的設計與實現[J].小型微型計算機系統

2002

23(10):1270-1273.
[7] 夏愷

薛永林.MPEG-2 TS流分析模塊及系統的設計和實現[J].微計算機信息

2005

(20):85-87.
[8] 劉寶鋒

張文軍.機頂盒應用軟件模塊的設計與實現[J].計算機工程

2004

30(8):85-87.
[9] 李小將

樊天晴

胡正國.嵌入式系統在信息家電中的應用[J].計算機工程

2002

28(4):192-193.