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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 一種新型編碼芯片及其驅(qū)動(dòng)程序的設(shè)計(jì)方案

          一種新型編碼芯片及其驅(qū)動(dòng)程序的設(shè)計(jì)方案

          作者:王鑫明 王宏遠(yuǎn) 華中理工大學(xué)電信系 時(shí)間:2008-05-27 來源:電子技術(shù)應(yīng)用 收藏

            目前,電視節(jié)目的拍攝、制作、傳輸?shù)讲コ稣趯?shí)現(xiàn)數(shù)字化。視頻音頻編碼標(biāo)準(zhǔn)的出現(xiàn),解決了電視信號(hào)數(shù)字化后信息量過大而信道帶寬有限的問題,加上數(shù)字視頻硬件方面的產(chǎn)品不斷進(jìn)步,促進(jìn)了各種數(shù)字視頻產(chǎn)品的推出,這一切都預(yù)示著電視廣播全面步入數(shù)字化的時(shí)代。數(shù)字電視產(chǎn)品的開發(fā)不僅能給觀眾帶來高品質(zhì)畫面和音響效果的享受,而且-II視頻音頻壓縮的ATM網(wǎng)接入技術(shù)的開發(fā)為VOD(視頻點(diǎn)播)的時(shí)代鋪平了道路。     

          本文引用地址:http://www.ex-cimer.com/article/83120.htm

            目前世界上的數(shù)字電視系統(tǒng)標(biāo)準(zhǔn)有歐洲的DVB系統(tǒng)和美國的ATSC系統(tǒng)。這兩種系統(tǒng)在視頻壓縮上都采用-II標(biāo)準(zhǔn),在聲音上DVB系統(tǒng)采用MPEG-II的音頻壓縮標(biāo)準(zhǔn),ATSC系統(tǒng)則采用杜比AC-3壓縮技術(shù)。本文介紹C-Cube公司MPEG-II編碼器芯片DVxpert-II,它可用于歐洲D(zhuǎn)VB標(biāo)準(zhǔn)常規(guī)數(shù)字電視的前端系統(tǒng)的產(chǎn)品開發(fā)中。     

          1 芯片簡介     

            C-Cube公司開發(fā)的視頻處理單芯片DVxpert-II是在該公司DVx的MPEG-II單芯片編/解碼結(jié)構(gòu)的基礎(chǔ)上提高了性能的處理器。它可以產(chǎn)生高品質(zhì)的4:2:0和4:2:2 MPEG-II圖像,同時(shí)壓縮率也有所提高。該芯片能實(shí)現(xiàn)視頻編碼(video encoding)、解碼(decoding)和編/解碼(codec)三種功能,可實(shí)現(xiàn)運(yùn)動(dòng)補(bǔ)償、分塊/離散余弦變換壓縮算法。     

            DVxpert-II處理器的核心是32位Micro SPACR RISC Core處理器,工作頻率為100mhZ。該處理器內(nèi)有一個(gè)16K字節(jié)指令的高速緩沖存儲(chǔ)器(I-Cache)和一個(gè)8K字節(jié)的數(shù)據(jù)存儲(chǔ)器(Data Memory)接口,這是一種可編程可升級(jí)的結(jié)構(gòu)。芯片采用數(shù)據(jù)存儲(chǔ)器而不是數(shù)據(jù)緩沖器,目的是使軟件能更多地控制存儲(chǔ)器,并允許重復(fù)進(jìn)行DMA傳輸。此外,DVxpert-II處理器還有兩個(gè)協(xié)處理器:DSP協(xié)處理器和運(yùn)動(dòng)估計(jì)協(xié)處理器(Motion Estimator),減輕了RISC處理器運(yùn)算的負(fù)擔(dān),它們共同完成視頻壓縮編碼算法,提高了編碼速度。DSP協(xié)處理器每秒鐘可執(zhí)行大約16億個(gè)算術(shù)操作指令(1600MOPS),執(zhí)行向量從存儲(chǔ)器到存儲(chǔ)器的指令,這能提高從RISC到DSP流量操作速度。其8K字節(jié)存儲(chǔ)器有兩個(gè)緩沖區(qū)(兩個(gè)塊),可允許DMA和DSP同時(shí)操作。    

             DSP協(xié)處理器能完成以下功能:①解電視電影模式;②活動(dòng)測量;③運(yùn)動(dòng)補(bǔ)償;④自適應(yīng)暫時(shí)濾波;⑤線性濾波和篩選;⑥D(zhuǎn)CT變換和逆DCT變換(12位);⑦量化和逆量化;⑧變長的Huffman編碼和解碼。     

            可編程運(yùn)動(dòng)估計(jì)協(xié)處理器(運(yùn)動(dòng)估計(jì)器ME)支持所有的塊匹配和運(yùn)動(dòng)估計(jì)類型,它從RISC處理的CPU中取得運(yùn)動(dòng)估計(jì)的命令并返回結(jié)果。每次運(yùn)動(dòng)估計(jì)完成后會(huì)產(chǎn)生一個(gè)中斷。     

            很多公司都有自己所開發(fā)的單芯片MPEG-II編碼的LSI。進(jìn)行DCT及運(yùn)動(dòng)補(bǔ)償?shù)妊菟闼璧碾娐方Y(jié)構(gòu)各不相同,C-Cube公司開發(fā)的DVxpert-II等芯片為大部分處理工作由RISC處理器及DSP等完成的“處理器型”芯片,與之配套的還有C-Cube公司開發(fā)的軟件,即微碼(.ux)文件。該文件包括進(jìn)行視頻壓縮的代碼以及初始化DVxpert-II處理器的存儲(chǔ)器和下面要介紹的處理器外掛的SDRAM。因?yàn)樗目删幊绦阅芎?,只要改換輸入到處理器的微碼,就可以變更壓縮算法或修正軟件的差錯(cuò)。          DVxpert-II的內(nèi)部模塊框圖如圖1所示。    

             由圖中可見,DVxpert-II處理器是利用PCI總線接口與主機(jī)等設(shè)備相通信的,主機(jī)必須用PCI總線驅(qū)動(dòng)處理器,控制編碼過程;壓縮好的視頻比特流也必須經(jīng)PCI總線存儲(chǔ)到主機(jī)內(nèi),PCI接口由主機(jī)時(shí)鐘(33MHz)驅(qū)動(dòng)。     

            DVxpert-II處理器還有與串行ROM的接口,開發(fā)人員可選擇利用串行EPROM裝載部分初始化程序。在本開發(fā)系統(tǒng)中,為了使硬件電路簡化,所有全部初始化過程都由經(jīng)PCI總線接口完成(可省去串行EPROM)。     

            該芯片還可外掛64bit同步動(dòng)態(tài)RAM(SDRAM),實(shí)際電路采用4片16M比特的SDRAM實(shí)現(xiàn)8M字節(jié)外部存儲(chǔ)器,存儲(chǔ)C-Cube公司的微碼和數(shù)據(jù),并可由開發(fā)人員分配存儲(chǔ)空間。當(dāng)處理器進(jìn)行MPEG-II視頻編碼時(shí),SDRAM所含具體內(nèi)容如下:①應(yīng)用程序微碼;②視頻幀捕獲緩沖區(qū);③運(yùn)動(dòng)估計(jì)取樣視頻緩沖區(qū);④預(yù)測的重構(gòu)幀緩沖區(qū);⑤參考幀;⑥速率緩沖區(qū);⑦用于編碼算法的本地表和其他數(shù)據(jù)。     

            處理器有視頻接口,可輸入/輸出未壓縮的數(shù)字視頻流;還有音頻接口,可輸入/輸出未壓縮的數(shù)字音頻(為獲得與視頻同步的信息)。DVxpert-II處理器只能進(jìn)行視頻編碼,而未壓縮的音頻數(shù)據(jù)只能經(jīng)PCI總線送到主機(jī)存儲(chǔ)器,在DVxpert-II處理器外進(jìn)行軟件壓縮。     

            本開發(fā)系統(tǒng)進(jìn)行4:2:0Main Level @ Main Profile 的視頻編碼,僅用一片DVxpert-II處理器,因此可不用其和另一處理器相連的IPC的接口。     

          2 的開發(fā)     

            虛擬設(shè)備可包含對(duì)設(shè)備進(jìn)行操作的設(shè)備專用代碼,任務(wù)具有可設(shè)操作模式,需保存數(shù)據(jù)的硬件設(shè)備都需要有虛擬設(shè)備驅(qū)動(dòng)程序。虛擬設(shè)備保持了每個(gè)應(yīng)用程序的設(shè)備狀態(tài)軌跡,并能保證當(dāng)應(yīng)用程序繼續(xù)執(zhí)行時(shí)設(shè)備處于正確狀態(tài)。編碼器將DVxpert-II集成于即插即用的PCI插卡,因此要開發(fā)該P(yáng)CI設(shè)備的虛擬設(shè)備驅(qū)動(dòng)程序(VxD)以支持編碼器芯片的正常工作,該軟件采用Microsoft VC 6.0開發(fā),在WIN98操作系統(tǒng)下運(yùn)行。

            WIN98操作系統(tǒng)的基本系統(tǒng)體系結(jié)構(gòu)分成Ring0層和Ring3層,它們能提供不同級(jí)別的系統(tǒng)保護(hù)。Ring3層通過Intel處理器體系所提供的保護(hù)服務(wù)與其他的運(yùn)行進(jìn)程隔開,以達(dá)到保護(hù)的目的。Ring0層由虛擬機(jī)管理器(VMM)等構(gòu)成。VxD是一個(gè)管理硬件設(shè)備或者已安裝軟件等系統(tǒng)資源的32位可執(zhí)行程序,運(yùn)行在Ring0層,處理系統(tǒng)或外設(shè)中斷及DMA操作等,它使基于Windows的應(yīng)用程序可有效地實(shí)現(xiàn)多任務(wù)。WIN95/98的VxD對(duì)即插即用提供支持,因此當(dāng)DVxpert-II處理器電路設(shè)計(jì)成即插即用PCI擴(kuò)展卡時(shí),起動(dòng)后可由操作系統(tǒng)自動(dòng)檢測到它。VxD的軟件開發(fā)可利用美國Vireo.Software公司推出的VtoolsD for Win95開發(fā)工具包進(jìn)行,該VxD被開發(fā)成可動(dòng)態(tài)加載/卸載的驅(qū)動(dòng)程序,以保護(hù)模式駐留在擴(kuò)展內(nèi)存中。VtoolsD中的Quick VxD程序可提供一些選項(xiàng)來快速生成VxD代碼框架。編碼器的VxD應(yīng)包括:設(shè)備的初始化,處理中斷信號(hào),以及與運(yùn)行在Ring3層進(jìn)行通信。

             
              設(shè)備的初始化流程圖如圖2所示。

              微碼數(shù)據(jù)經(jīng)PCI總線可以兩種模式(從模式和主模式)傳輸?shù)骄幋a器設(shè)備上。從模式一次只能傳一個(gè)32位的雙字,速度慢,主模式以DMA方式猝發(fā),可高速傳大量數(shù)據(jù)。微碼中寫入處理器控制總線寄存器的部分只能采用從模式方式;微碼中寫入SDRAM中的數(shù)據(jù)根據(jù).ux文件要采用DMA方式,這要通過設(shè)置處理器的一些寄存器實(shí)現(xiàn)。     

            WIN95/98的內(nèi)存為平滑線性內(nèi)存模式,線性編址模式簡化了應(yīng)用軟件的開發(fā)過程,提供了存取虛擬地址空間的功能,使用戶可存取的內(nèi)存地址達(dá)4GB,2GB給應(yīng)用軟件,2GB給操作系統(tǒng)本身,因此VxD能申請(qǐng)4個(gè)BUFFER,用于存放DMA方式傳輸編碼時(shí)所用的命令和消息,該BUFFER表示物理地址連續(xù)的空間,同時(shí)還可映射為相應(yīng)的線性地址空間。     

            虛擬設(shè)備驅(qū)動(dòng)程序可處理編碼器工作時(shí)發(fā)來的中斷,其服務(wù)過程如下:     

           ?、偈紫惹宄袛?;②ISR把BUFFER中的消息存放到消息隊(duì)列;③ISR檢查當(dāng)前消息的序列號(hào):如果有錯(cuò),轉(zhuǎn)到處理錯(cuò)誤的函數(shù),若無錯(cuò),ISR把命令隊(duì)列中的下一個(gè)命令移到Ring0層的BUFFER內(nèi);④分析消息隊(duì)列內(nèi)的新消息,并且寫相應(yīng)的新命令。     

            在WIN95/98中,Win32API提供設(shè)備輸入輸出控制(DeviceIoControl)來支持Ring3到Ring0的直接調(diào)用,它通常用于調(diào)用動(dòng)態(tài)加載的VxD;Ring0層則可通過OnW32DeviceIoControl(PEOCTLPARAMSpDIOCParams)中的pDIOCParams->dioc_OutBuf向Ring3層傳遞數(shù)據(jù)。

               DVxpert-II提供的PCI接口和編程接口使其可方便地集成到PC插卡上,而且可由驅(qū)動(dòng)程序?qū)ζ溥M(jìn)行較靈活的控制。目前該VxD已在使用之中,編碼器設(shè)備工作良好。

           



          評(píng)論


          相關(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); })();