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