<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > 數(shù)模一體電視機(jī)通用處理方案

          數(shù)模一體電視機(jī)通用處理方案

          ——
          作者:柏祥 時間:2007-03-27 來源: 收藏
          隨著技術(shù)的不斷發(fā)展,電視廣播由轉(zhuǎn)換到數(shù)字技術(shù)的趨勢已經(jīng)成為必然。目前很多地方有 數(shù)字電視的信號播出,而且大部分城市在數(shù)字電視轉(zhuǎn)換過程中采取了 機(jī)頂盒方式,機(jī)頂盒方式雖然可以接收數(shù)字電視信號,但是在機(jī)頂盒把接收來的數(shù)字電視信號輸出給時,又將其轉(zhuǎn)換成了模擬信號,這樣無形中損失了圖像質(zhì)量。而且用戶在操作時不是很方便:需要用連接線連接機(jī)頂盒和、同時需要兩個遙控器等。很好的解決了這個問題,一臺電視機(jī)既可以接收傳統(tǒng)的模擬電視信號,也可以接收最新播出的數(shù)字電視信號。但是早期的電視機(jī)是把接收數(shù)字電視的模塊放在普通的逐行電視中,此種實(shí)現(xiàn)方式幾乎和機(jī)頂盒方式效果一樣,只是外表看起來是一個整體。而現(xiàn)在的方案基本上是單芯片方案,即數(shù)字電視解碼處理和模擬通道信號處理在同一個芯片中實(shí)現(xiàn)。數(shù)字電視信號被解碼后直接在芯片內(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)營商給每個電視或機(jī)頂盒分配一個CA卡(俗稱小卡),里面有用戶識別等信息,小卡是裝在大卡里面的,大卡里面有數(shù)字電視信號加密的有關(guān)信息,負(fù)責(zé)和電視機(jī)里面相關(guān)的接口芯片通訊把數(shù)字電視信號解出來。大卡和電視機(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ā)展趨勢。

          機(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接口實(shí)現(xiàn)本地軟件升級和更新,方便售后服務(wù);滿足MPEG1/MPEG2 layers1、2 音頻解碼;SPDIF光纖和左右聲道音頻同時輸出;標(biāo)準(zhǔn)電子節(jié)目單(EPG)功能;支持NVOD(準(zhǔn)視頻點(diǎn)播);支持基于DVB-C-CI 接口標(biāo)準(zhǔn)的付費(fèi)電視節(jié)目服務(wù)。

          數(shù)模一體電視機(jī)通用處理方案

          如圖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)不是個人能編寫和完成的了。現(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ù)字電視軟件工作量急劇提升的情況下。

          本方案的軟件的特點(diǎn)是基于方案提供商提供的軟件基礎(chǔ)上再開發(fā)一個中間層軟件,本中間層通過封裝和重新架構(gòu)底層電視功能函數(shù)和操作系統(tǒng)函數(shù)形成一個完整的數(shù)字電視上層框架。在盡可能的情況下,能夠最快的移植到相關(guān)的電視環(huán)境中,并使模塊能夠最大化的復(fù)用到其他電視方案。設(shè)計并實(shí)現(xiàn)OSD庫以及和底層的相關(guān)接口,模塊化數(shù)據(jù)存儲的定義以及和底層的相關(guān)接口,編寫電視的聲音,圖像,搜臺,信道切換等各種基本功能模塊以及和底層驅(qū)動的中間層封裝。軟件代碼具有獨(dú)立性,耦合度低,具有通用性,經(jīng)簡單修改接口函數(shù)即可移植到其他的數(shù)模一體機(jī)平臺上。具有自己獨(dú)立的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ǔ)上實(shí)現(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)架

            圖2 TVP9000的軟件構(gòu)架
           圖3 軟件結(jié)構(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ù)層,用于作為實(shí)時檢測,和定時功能實(shí)現(xiàn)的模塊。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();