<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于TM1300的嵌入式網(wǎng)絡(luò )視頻編碼器的設計

基于TM1300的嵌入式網(wǎng)絡(luò )視頻編碼器的設計

作者: 時(shí)間:2007-10-23 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:本文介紹了一種適用于IP網(wǎng)絡(luò )的芯片的視頻的硬件和軟件體系.硬件由以下四個(gè)單元組成:以為核心的視頻編碼單元和協(xié)議處理單元;采用RTL8139C(L)芯片的網(wǎng)絡(luò )接口單元;以及以單片機W77E58為核心的完成攝像頭控制和透明數據傳輸的外圍擴展單元. 軟件部分采用專(zhuān)門(mén)針對多媒體信息處理的一種組件對象模型TSSA(triMedia software stream architecture) 軟件流體系結構. 實(shí)驗結果表明視頻實(shí)現了視頻的實(shí)時(shí)編碼傳輸,同時(shí)具有清晰流暢的圖像質(zhì)量.
關(guān)鍵詞:視頻編碼; ;

1  系統介紹

隨著(zhù)網(wǎng)絡(luò )多媒體應用的推廣,獨立機型的嵌入式多媒體通信終端系統由于其成本低、性能好等優(yōu)點(diǎn)已成為當前研究的熱點(diǎn). 具有網(wǎng)絡(luò )通信功能的嵌入式視頻的研究便成為多媒體通信終端系統中的核心內容.嵌入式編碼器的工作原理是將模擬視頻信號數字化后按照國際標準壓縮編碼和網(wǎng)絡(luò )協(xié)議處理后發(fā)送到網(wǎng)絡(luò ),客戶(hù)端可以從網(wǎng)絡(luò )接收視頻數據,解碼后實(shí)時(shí)回放. 嵌入式視頻編碼器是一個(gè)高性能處理器和操作系統捆綁較為緊密、功能專(zhuān)一、設計專(zhuān)門(mén)的獨立設備,不像插卡系統那樣受通用計算機系統中其他軟件硬件的影響,性能上更穩定可靠且易于實(shí)現系統的模塊化設計,便于安裝、管理和維護.

TM1300是一款高性能的多媒體處理器,可采用pSOS 嵌入式實(shí)時(shí)操作系統,并提供了功能較為完善的在線(xiàn)調試工具. 設計人員可以通過(guò)在線(xiàn)調試工具在pSOS 平臺上開(kāi)發(fā)TriMedia 的各種資源和調試各種應用程序,從而最終實(shí)現整個(gè)系統.本文提出了一種適用于IP 網(wǎng)絡(luò )的TM1300 的嵌入式視頻編碼器,并詳細討論了整個(gè)系統的軟硬件設計. 我們將該編碼器應用于監控系統中,實(shí)現了實(shí)時(shí)的視頻傳輸并取得了良好的圖像質(zhì)量. 編碼器實(shí)現的主要功能有:視頻信號的A/D轉換,H.263 視頻壓縮編碼、H.323網(wǎng)絡(luò )協(xié)議處理 、攝像頭控制和透明數據傳輸等.

2  硬件設計

2. 1 TM1300介紹
視頻編碼器的核心TM1300是Philips公司推出的針對多媒體應用的一款高性能DSP ,它能夠進(jìn)行高質(zhì)量的視頻和音頻處理. TriMedia提供的強大的編譯器和軟件開(kāi)發(fā)環(huán)境使開(kāi)發(fā)人員無(wú)需使用匯編語(yǔ)言,而是利用C或C++語(yǔ)言來(lái)編寫(xiě)應用程序.

TM1300的核心是32 位的處理器,能夠進(jìn)行32 位的線(xiàn)性尋址,尋址能力可達到4GB. TM1300核心處理器采用VLIW 結構,可以在每一時(shí)鐘周期內同時(shí)執行5條指令. TM1300 支持16KB 的高速數據緩存和32KB 的高速指令緩存,并且高速數據緩存是雙向的. TM1300還集成了PCI 總線(xiàn)接口,既可以作為PC環(huán)境下的從CPU ,也可以用于嵌入式系統作為主CPU. TM1300 有別于一般的通用DSP,它有專(zhuān)門(mén)的視頻接口、音頻接口以及圖像協(xié)處理器單元和可變長(cháng)解碼器單元等專(zhuān)門(mén)單元.圖像協(xié)處理器主要用于圖像的濾波或縮放,提高處理的速度; 可變長(cháng)解碼器則可以協(xié)助內核完成Huffman 解碼.

2. 2  硬件總體結構
編碼器的硬件總體結構如圖1 所示.編碼器將來(lái)自攝像頭的模擬視頻信號經(jīng)AD轉換芯片SAA7111A 轉換成YUV 格式的數字視頻信號,由TM1300 (1) 按H.263 協(xié)議壓縮成多種速率的圖像數據碼流,然后通過(guò)PCI 總線(xiàn)傳遞給負責協(xié)議處理的TM1300 (2) ,視頻壓縮數據在這里封裝之后最后通過(guò)PCI 總線(xiàn)傳給以太網(wǎng)接口控制器RTL8139C(L) 為核心的以太網(wǎng)接口單元,由其送到IP 網(wǎng)上. 外圍擴展模塊以W77E58 單片機為核心,通過(guò)兩個(gè)串口分別控制攝像頭和收發(fā)透明數據. CPLD 主要完成地址譯碼、PCI 總線(xiàn)仲裁等功能. 開(kāi)發(fā)的應用程序經(jīng)編譯連接,寫(xiě)入FLASH 中.編碼器上電復位后通過(guò)EEPROM 中的自舉程序將FLASH 中的程序搬移到SDRAM 中,系統開(kāi)始運行. 根據以上功能可以將網(wǎng)絡(luò )視頻編碼器的硬件設計分為以下四個(gè)功能單元: (1) 視頻編碼單元;(2) 協(xié)議處理單元; (3) 網(wǎng)絡(luò )接口單元; (4) 外圍擴展單元.

圖1  網(wǎng)絡(luò )視頻編碼器硬件總體結構

2. 3  視頻編碼單元
視頻編碼單元以TM1300 (1) 為核心,外圍器件包括EEPROM , 16M SDRAM , 視頻AD芯片SAA7111A ,雙口RAM 和16MB FLASH. 其中,SAA7111A 是Philips的增強型視頻輸入處理器( EVIP) , 輸入的模擬視頻信號可以是CVBS(PAL ,NTSC 等) 和S-Video ( Y/C) ,A/ D 轉換后輸出符合CCIR-656 的YUV4∶2∶2 數字視頻信號.視頻輸入原理圖如圖2 所示,SAA7111A 的YUV數字視頻輸出端口和TM1300 的視頻輸入端口(VI) 相連接, SAA7111A 的工作方式由TM1300通過(guò)I2C 總線(xiàn)進(jìn)行配置.

圖2  視頻輸入原理圖

SDRAM 是同步動(dòng)態(tài)RAM ,它提供Burst 訪(fǎng)問(wèn)方式,用于存取應用程序,原始的數字視頻數據以及處理的中間數據. TM1300 (1) 外接的SDRAM采用2 片(12rank 接口方式) ,每片容量為4 1M 16bit ,總容量為16MB.

在上電復位后, TM1300 (1) 通過(guò)I2C 總線(xiàn)從EEPROM 中讀取啟動(dòng)信息,配置時(shí)鐘分頻寄存器和SDRAM 寄存器,然后將EEPROM 中的自舉程序搬移到自DRAM-BASE 開(kāi)始的SDRAM 中并開(kāi)始執行自舉程序,自舉程序將FLASH 中的相應的應用程序搬移到TM1300 ( 1) 和TM1300 ( 2) 的SDRAM 后,便各自開(kāi)始正常工作了.

2. 4  協(xié)議處理單元
協(xié)議處理單元以TM1300 ( 2) 為核心, 擴展EEPROM 和16M SDRAM ,其電路與視頻編碼單元相應的內存接口和啟動(dòng)電路設計類(lèi)似.TM1300(2) 的工作模式為從模式,在上電復位后,通過(guò)I2C 總線(xiàn)從串行EEPROM 中讀取啟動(dòng)信息,配置時(shí)鐘分頻寄存器和SDRAM 寄存器. 然后等待由TM1300 (1) 完成系統啟動(dòng)的剩余工作,包括MMIO 空間、DRAM 空間的配置等, 等待TM1300(1) 將FLASH 中的相應的應用程序搬移到TM1300 (2) 的SDRAM 中, TM1300 (2) 便可以開(kāi)始正常工作了.

2. 5  網(wǎng)絡(luò )接口單元
網(wǎng)絡(luò )接口單元原理圖如圖3 所示, 以REALTEK的RTL8139C(L)以太網(wǎng)控制器為核心,經(jīng)以太網(wǎng)變壓器ST6118T 和RJ 45 插座,通過(guò)雙絞線(xiàn)連接到局域網(wǎng). RTL8139C(L) 接口和PCI2.1規范完全兼容,可以很方便的掛在TriMedia 的PCI 總線(xiàn)上. 以太網(wǎng)接口把視頻編碼及協(xié)議處理后的數據按以太網(wǎng)的數據格式打包傳送到以太網(wǎng),同時(shí)自動(dòng)監測接收端的數據變化,把接收到的數據拆包,傳送到TM1300 (2) .

圖3  網(wǎng)絡(luò )接口單元原理圖

2. 6  外圍擴展單元
外圍擴展單元原理圖如圖4 所示, 以WINBOND公司的具有兩個(gè)串口的單片機W77E58 為核心, 擴展IDT7130 雙口RAM ,MAX232 和MAX485. W77E58 通過(guò)串口0 根據RS-485 接口標準實(shí)現對攝像頭及云臺的控制,通過(guò)串口1 傳送RS-232 透明數據 . W77E58 和TM1300 (1) 之間通過(guò)自定簡(jiǎn)單協(xié)議對雙口RAM進(jìn)行存取,從而相互傳遞控制信息和數據. 外圍擴展單元的功能是通過(guò)對W77E58 編程來(lái)實(shí)現的,為了提高程序運行的可靠性,在我們的單片機程序開(kāi)發(fā)中還使用了看門(mén)狗定時(shí)器.

圖4  外圍擴展單元原理圖

3  軟件結構
3. 1  編碼器軟件體系結構TSSA
TSSA( TriMedia Software St ream Arc2hitecture) 是由應用層模塊(Application) 與若干功能模塊(Component ) 組成的建立在數據包交換上的一種流結構. 沿用了COM 技術(shù)中軟組件對象(Software Component) 交互的思想,提出了對多媒體數據流進(jìn)行處理的一種組件對象模型 . 其中應用層模塊負責系統的初始化,采用軟件流體系結構可以大大簡(jiǎn)化多媒體應用開(kāi)發(fā). TSSA 體系分為以下幾層(見(jiàn)表1) :

各個(gè)功能模塊的創(chuàng )建、啟動(dòng)、關(guān)閉以及狀態(tài)的改變,接收某個(gè)功能模塊的響應. 每個(gè)功能模塊由OL層、操作系統抽象層、AL 層、設備庫層組成. 功能模塊之間、功能模塊與應用層模塊之間通過(guò)數據包交換數據,數據包在消息隊列中傳遞,消息隊列將各個(gè)功能模塊、功能模塊與應用層模塊連接起來(lái).

3. 2  編碼器軟件組成結構
編碼器軟件組成結構如圖5 示(不包括單片機編程部分) . 主控模塊相當于TSSA 中的應用層模塊,負責創(chuàng )建、運行視頻編碼模塊、協(xié)議處理模塊和信道接口模塊,并通過(guò)響應隊列與命令隊列在各功能模塊之間轉發(fā)控制與狀態(tài)消息. 視頻編碼模塊實(shí)現遵循H.263 協(xié)議的視頻壓縮編碼 ;協(xié)議處理模塊實(shí)現H.323 協(xié)議棧 ;信道接口模塊實(shí)現將數據報封裝成MAC 幀送上具體的物理信道. 各個(gè)功能模塊之間通過(guò)雙向消息隊列交換數據.

圖5  編碼器軟件組成結構

主控模塊和各個(gè)功能模塊在pSOS 操作系統中都作為任務(wù)(task) 獨立運行,它們之間任務(wù)狀態(tài)的變化完全靠對資源的獲取是否能夠滿(mǎn)足(通過(guò)調用pSOS 系統內核) 來(lái)實(shí)現.pSOS 根據任務(wù)的優(yōu)先級來(lái)動(dòng)態(tài)地切換各個(gè)任務(wù),以保證系統的實(shí)時(shí)性. 為提高主控模塊對狀態(tài)消息的響應靈敏度,我們將主控模塊的優(yōu)先級設計比功能模塊高.視頻編碼模塊作為編碼器的核心部分占用了系統的絕大部分資源從而決定了編碼器的性能.針對多媒體通信系統的實(shí)時(shí)性要求,我們在編碼軟件模塊的實(shí)現過(guò)程中采用了多種優(yōu)化策略. 除了對編碼程序代碼進(jìn)行結構和局部?jì)?yōu)化,視頻壓縮中選取快速運動(dòng)估計算法等方法外, 特別針對TM1300 的CPU 體系結構,將循環(huán)展開(kāi)進(jìn)行并行處理,充分利用TM1300 提供的多媒體指令和編譯優(yōu)化等其它策略. 實(shí)踐表明在使用上述優(yōu)化策略后編碼器的圖像編碼幀率提高了一倍以上.

4  結束語(yǔ)

TM1300 芯片的嵌入式網(wǎng)絡(luò )視頻編碼器具有成本低,可靠性好的優(yōu)點(diǎn),并且由于在設計和實(shí)現過(guò)程中充分利用TriMedia 專(zhuān)門(mén)針對多媒體信息處理設計的硬件結構和TSSA 軟件體系,因此同時(shí)獲得了良好的性能. 嵌入式編碼器遵循ITU-T H.263 協(xié)議,可以與兼容H.323 協(xié)議的終端實(shí)現互聯(lián)互通,實(shí)現了實(shí)時(shí)的視頻傳輸,獲得了清晰流暢的運動(dòng)圖像. 碼率可以從64kbps~1920kbps 選擇來(lái)調節幀率和獲得不同級別的圖像質(zhì)量. 在64kbps 帶寬下,解碼后的QCIF 和CIF圖像的幀率可達到15fps以上. 通過(guò)適當提高碼率,QCIF和CIF 圖像的幀率均可達到25fps.
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>