數(shù)模一體電視機(jī)通用處理方案
數(shù)字電視與模擬電視不同之處還在于數(shù)字電視可以加密,這樣運(yùn)營商就可以很方便的控制著用戶,而不擔(dān)心欠費(fèi)現(xiàn)象。用戶要想接收數(shù)字電視
PCMCIA接口已經(jīng)成熟并且頒布了行業(yè)標(biāo)準(zhǔn),也是國際上通用的一種接口標(biāo)準(zhǔn)。一般的機(jī)頂盒上并沒有看到大卡,這是因為機(jī)頂盒生產(chǎn)商是和運(yùn)營商聯(lián)合推廣市場的,數(shù)字電視的加密算法已經(jīng)確定,機(jī)頂盒生產(chǎn)商就可以把大卡做在機(jī)頂盒里面了。而電視機(jī)生產(chǎn)商是把電視機(jī)直接賣給用戶的,不同于機(jī)頂盒的操作模式,為了適應(yīng)不同的CA要求,本方案采取了機(jī)卡分離方式,即把CA大卡和整機(jī)分離開來,電視機(jī)上留有PCMCIA接口,對于不同CA的運(yùn)營商配置相應(yīng)的大卡即可,非常靈活方便,機(jī)卡分離也是數(shù)字電視的發(fā)展趨勢。
數(shù)模一體機(jī)的系統(tǒng)
TI公司發(fā)布的最新一款集成 HDTV解碼和視頻處理的一體化SoC芯片TVP9000,主要針對的就是數(shù)模一體電視機(jī)的市場。與其他芯片廠家提供的方案相比,其集成度較高,成熟度較佳,圖像解碼模塊成熟,成本較低,具有很強(qiáng)的市場競爭力。本方案就是以TVP9000為核心的數(shù)模一體電視機(jī)的解決方案,可廣泛應(yīng)用于 CRT電視、平板電視、背投電視等。TVP9000集成了162MHZ的ARM926EJ CPU,HDTV-MPEG2解碼,圖像處理,Scaler(縮放)等模塊,功能強(qiáng)大。
本方案能夠接收數(shù)字的電視信號(支持高清HDTV及標(biāo)清 SDTV)和模擬電視信號,數(shù)字電視部分符合DVB-C標(biāo)準(zhǔn),接收16-256QAM制式信號;多路輸入接口:其中三路AV輸入、一路S端子輸入、一路AV輸出、一路分量(YPbPr/YCbCr)輸入、一路RGB輸入、一路 HDMI輸入;支持多種信號格式如:480I、480P、576I、576P、720P、1080I、1080P及VGA、SVGA、XGA等信號格式;能夠通過RGB接口實現(xiàn)本地軟件升級和更新,方便售后服務(wù);滿足MPEG1/MPEG2 layers1、2 音頻解碼;SPDIF光纖和左右聲道音頻同時輸出;標(biāo)準(zhǔn)電子節(jié)目單(EPG)功能;支持NVOD(準(zhǔn)視頻點播);支持基于DVB-C-CI 接口標(biāo)準(zhǔn)的付費(fèi)電視節(jié)目服務(wù)。
如圖1所示,模擬電視信號由模擬高頻頭輸入經(jīng)過LA75520中頻解調(diào)輸出視頻和音頻,視頻信號送到TVP5147進(jìn)行處理;音頻信號送到NJW1185 進(jìn)行處理。各路AV輸入的視頻和YCbCr信號一起送到TVP5147和電視視頻信號作切換后進(jìn)行A/D變換、彩色解碼后轉(zhuǎn)換成ITU.656格式的信號送給TVP9000,如果當(dāng)前輸入是模擬電視信號和AV時,TVP5147同時輸出一個復(fù)合視頻信號作為監(jiān)視用。
HDMI信號送到TDA9970A變換成數(shù)字的 RGB信號;模擬RGB信號、YpbPr信號送到TDA9970A作切換、A/D轉(zhuǎn)換處理和HDMI信號再切換一次后進(jìn)行格式變換,以雙ITU.656的信號格式送到TVP9000和TVP5147送來的信號作切換。當(dāng)選擇TVP5147送來的信號時,要對信號進(jìn)行去隔行(Deinterlace)、圖象增強(qiáng)、縮放(Scaler)等處理;當(dāng)選擇TDA9970A輸入的信號時,要對信號進(jìn)行圖象增強(qiáng)、縮放等處理。YCbCr和YpbPr共用一個輸入端子,自動識別格式后選擇正確的輸入通道。
數(shù)字電視信號由數(shù)字高頻頭輸入,經(jīng)過信道解調(diào)后輸出加密的TS流信號送給T90FJR,T90FJR把加密的TS流信號通過PCMCIA接口送到大卡,大卡對加密的TS流信號解密后再進(jìn)行二次加密通過PCMCIA接口和T90FJR再送到TVP9000,TVP9000對二次加密的TS流信號進(jìn)行解密,然后進(jìn)行數(shù)字解碼、縮放處理后輸出視頻信號,其中第二次解密的算法由大卡向TVP9000提供。為什么要進(jìn)行二次加密的原因是防止出現(xiàn)透明的TS流而被非法拷貝,從而有效的保證了節(jié)目的版權(quán)。
HDMI聲音由HDMI接口芯片TDA9970A輸出到TVP9000 和數(shù)字電視的聲音切換后輸出到CS4344,同時輸出一路數(shù)字音頻信號SPDIF供外接的聲音功放使用。CS4344把輸入的數(shù)字聲音信號數(shù)模轉(zhuǎn)換后送給NJW1185 和送來的模擬電視聲音、各路AV的聲音信號切換、經(jīng)過高音、低音、平衡、環(huán)繞聲效果處理后送給功率放大器。如果當(dāng)前輸入是模擬電視信號和AV、RGB、YCbCr/YpbPr時,NJM1185 同時輸出聲音信號作為監(jiān)視用。
軟件架構(gòu)
隨著軟件在整個電視產(chǎn)品中扮演著越來越重的角色,數(shù)字電視的發(fā)展趨勢導(dǎo)致編寫電視軟件的復(fù)
雜程度和工作量都比以往有了相當(dāng)大的提高,已經(jīng)不是個人能編寫和完成的了?,F(xiàn)階段電視生產(chǎn)廠商的電視軟件開發(fā),無論是平臺還是系統(tǒng)架構(gòu)都是基于方案提供商提供,芯片供應(yīng)商的千差萬別導(dǎo)致開發(fā)的平臺的不可重用性。每個供應(yīng)商都有自己的一套系統(tǒng)架構(gòu),這就造成在每遇到一個新的平臺情況下,以前平臺的功能和相關(guān)代碼基本上沒有可以重復(fù)利用的地方,都需要重新學(xué)習(xí)和編寫新平臺下的各種電視功能和功能邏輯,這種無法重利用以前的勞動成果是一種對開發(fā)的浪費(fèi),尤其在數(shù)字電視軟件工作量急劇提升的情況下。
本方案的軟件的特點是基于方案提供商提供的軟件基礎(chǔ)上再開發(fā)一個中間層軟件,本中間層通過封裝和重新架構(gòu)底層電視功能函數(shù)和操作系統(tǒng)函數(shù)形成一個完整的數(shù)字電視上層框架。在盡可能的情況下,能夠最快的移植到相關(guān)的電視環(huán)境中,并使模塊能夠最大化的復(fù)用到其他電視方案。設(shè)計并實現(xiàn)OSD庫以及和底層的相關(guān)接口,模塊化數(shù)據(jù)存儲的定義以及和底層的相關(guān)接口,編寫電視的聲音,圖像,搜臺,信道切換等各種基本功能模塊以及和底層驅(qū)動的中間層封裝。軟件代碼具有獨立性,耦合度低,具有通用性,經(jīng)簡單修改接口函數(shù)即可移植到其他的數(shù)模一體機(jī)平臺上。具有自己獨立的GUI庫和行為架構(gòu)將大大節(jié)省GUI的開發(fā)周期和開發(fā)復(fù)雜度,軟件工程師在技術(shù)積累的基礎(chǔ)上可以重復(fù)利用以前GUI的資源,兼容性和穩(wěn)定性都將有很大的提高。電視行為控制的上層封裝相當(dāng)于擁有自己的SDK平臺,基于此SDK平臺的修改和擴(kuò)展可以逐步形成自己的平臺技術(shù)積累。模塊用C語言開發(fā),使用標(biāo)準(zhǔn)的ANSI C語言庫,GUI庫使用C++語言開發(fā),中間層是在底層庫的基礎(chǔ)上實現(xiàn)圖像,聲音,搜臺,功能,節(jié)目管理等電視基本功能和邏輯。
該方案的軟件是基于LINUX UC0S的平臺,是具有多線程,多任務(wù)管理的操作系統(tǒng)。平臺基本可以分為三層:固件,API層,應(yīng)用軟件層。固件和API層由TI公司提供,用于底層的驅(qū)動和TVP9000解復(fù)用。在此基礎(chǔ)上進(jìn)行應(yīng)用軟件層的開發(fā),主要是提供一些和用戶接口的功能部分,用戶菜單主要分為以下5個部分,分別是圖像,聲音,搜臺,頻道管理和服務(wù)菜單,其中服務(wù)菜單是在數(shù)字電視下才有的,TVP9000的軟件框架如圖2。
圖2 TVP9000的軟件構(gòu)架
圖3 軟件結(jié)構(gòu)
本方案的軟件結(jié)構(gòu)如圖3示,中間層包含了以下幾個層:
模塊管理層,模塊可以控制一個菜單,或者多個菜單,比如圖像模塊,聲音模塊。理論上模塊管理器可以管理的模塊是無限多的,不過基于鏈表的效率而言,推薦的模塊數(shù)目不要超過50個,一般電視機(jī)而言不會有超過50個模塊的。每個模塊都有自己特定的功能,比如圖像,聲音,搜臺等模塊。
事件轉(zhuǎn)換層,將底層的不同的事件都經(jīng)過事件轉(zhuǎn)換層轉(zhuǎn)換為中間層可識別的事件,比如將遙控碼事件轉(zhuǎn)化為中間層的key事件。
功能抽象層,將底層基于硬件功能的部分都抽象為中間層標(biāo)準(zhǔn)的API函數(shù),客戶按照相應(yīng)的功能填寫這些函數(shù)。
存儲、公共變量層,存儲(如EEPROM,F(xiàn)LASH)和公共變量的管理和接口層。
主動任務(wù)層,用于作為實時檢測,和定時功能實現(xiàn)的模塊。
評論