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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

          0 引言

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

          隨著科技的日新月異,視頻應(yīng)用得到了飛速發(fā)展。視頻以其直觀、方便、信息內(nèi)容豐富而廣泛應(yīng)用于許多場(chǎng)合。近年來(lái),隨著互聯(lián)網(wǎng)的大范圍普及以及計(jì)算機(jī)網(wǎng)絡(luò)和圖像處理、信息傳輸技術(shù)的發(fā)展,視頻技術(shù)也有了長(zhǎng)足的發(fā)展。視頻監(jiān)控已經(jīng)滲透到教育、政府、娛樂(lè)場(chǎng)合、醫(yī)院、酒店、運(yùn)動(dòng)場(chǎng)館、城市治安等多種領(lǐng)域。目前安防監(jiān)控的要求對(duì)于設(shè)備提出了較高的要求:比如對(duì)于傳輸?shù)膶?shí)時(shí)性,畫(huà)面的質(zhì)量的要求。本文實(shí)現(xiàn)一個(gè)基于DSP的視頻監(jiān)控服務(wù)器的(DVS)設(shè)計(jì),它具有較高的壓縮比,低誤碼率以及較低的失真對(duì)視頻進(jìn)行編碼,由TCP/IP協(xié)議實(shí)現(xiàn)了視頻的網(wǎng)絡(luò)輸出,可以達(dá)到視頻傳輸?shù)膶?shí)時(shí)性。

          1 系統(tǒng)設(shè)計(jì)

          如圖1所示,本系統(tǒng)采用TI的DM6467處理器,DSP架構(gòu)的硬件平臺(tái)系列,具有強(qiáng)大的計(jì)算能力,在低功耗的前提下可達(dá)到1.2GHz,以及包含了H26x的編解碼庫(kù),可以滿足對(duì)視頻算法的需求,此外,此平臺(tái)支持多種外設(shè),諸如PCI、LAN、以及各種視屏輸入,廣泛應(yīng)用于視頻會(huì)議、監(jiān)控系統(tǒng)、機(jī)頂設(shè)備。因此,此平臺(tái)可以用來(lái)設(shè)計(jì)的視頻服務(wù)器。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          視頻服務(wù)器的系統(tǒng)構(gòu)架主要包括視頻采集模塊、視屏編碼模塊以及網(wǎng)絡(luò)傳輸模塊。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          在系統(tǒng)上電之后,加載程序編譯成功的.out文件,初始化DSP/BIOS系統(tǒng),以及視頻編碼庫(kù)。視頻采集處理過(guò)程如下:攝像機(jī)的PAL視頻通過(guò)AD轉(zhuǎn)為數(shù)字信號(hào),并且通過(guò)內(nèi)部算法轉(zhuǎn)為YUV(4:2:2),然后通過(guò)接口EMIF把數(shù)據(jù)傳遞至存儲(chǔ)器EEPROM中,然后DSP采用視頻編碼庫(kù)中的算法對(duì)數(shù)據(jù)進(jìn)行壓縮,通過(guò)TCP協(xié)議將壓縮后的視頻信號(hào)通過(guò)以太網(wǎng)LAN傳輸出去,從而構(gòu)成了視頻服務(wù)器,而客戶端只需要按照TCP協(xié)議接收數(shù)據(jù)并解碼,就可以實(shí)時(shí)顯示圖像。

          1.1 視頻采集模塊

          圖3為視頻采集模塊的原理圖,CVBS為視頻輸入,可以將模擬視頻信號(hào)轉(zhuǎn)換為YUV分量,輸出為ITU—R BT.656,其中對(duì)該編碼器的配置是通過(guò)IIC總線將指令寫入內(nèi)部寄存器,就可以正常采取視頻信號(hào)并把數(shù)據(jù)傳給存儲(chǔ)器做進(jìn)一步的處理。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          在此系統(tǒng)中,使用了ROM對(duì)視頻信號(hào)做緩存以及編碼處理(圖4),芯片通過(guò)CS、OE來(lái)控制芯片并對(duì)其做讀取操作。它和DSP的連接示意圖如圖4所示。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          1.2 H264算法

          H264具有壓縮率高以及失真率低的優(yōu)點(diǎn),其實(shí)現(xiàn)過(guò)程如下:1)把當(dāng)前的圖像劃分成若干個(gè)子模塊,以子模塊作為編碼的基本單元;2)通過(guò)當(dāng)前幀減去預(yù)測(cè)值經(jīng)過(guò)變換、量化、重排、熵編碼,從而加強(qiáng)了壓縮率;3)采用了時(shí)域運(yùn)動(dòng)補(bǔ)償?shù)姆椒?,從而減少了冗余以及增強(qiáng)信道傳輸?shù)娜蒎e(cuò)性。

          DM64xx芯片本身具有H264編碼庫(kù),在開(kāi)發(fā)的時(shí)候只需加載h264enc.lib并調(diào)用函數(shù)int h264.enc即可,參數(shù)聲明如下:

          Unsigned char*pic原始圖像首地址

          Unsigned char*ostream編碼后輸出數(shù)據(jù)流緩沖地址

          int channel對(duì)應(yīng)的編碼通道號(hào),不重疊的正整數(shù)

          int *frametype幀類型

          1.3 TCP協(xié)議以及IEEE802.3以太網(wǎng)

          控制傳輸協(xié)議(TCP)是一種可靠的、基于字節(jié)流的傳輸層通信協(xié)議。高可靠性是通過(guò)發(fā)送數(shù)據(jù)前先建立連接,結(jié)束數(shù)據(jù)傳輸時(shí)關(guān)閉連接,在數(shù)據(jù)傳輸過(guò)程中進(jìn)行超時(shí)重發(fā)、流量控制和數(shù)據(jù)確認(rèn),對(duì)亂序數(shù)據(jù)進(jìn)行重排校驗(yàn)等機(jī)制來(lái)實(shí)現(xiàn)的。利用協(xié)議網(wǎng)絡(luò)通信,通信進(jìn)程間相互作用的主要模式是服務(wù)器,客戶機(jī)模式通信的具體編程由套接字來(lái)實(shí)現(xiàn),套接字是網(wǎng)絡(luò)程序設(shè)計(jì)接口,分為流式套接字和用戶數(shù)據(jù)報(bào),流式套接字提供一種面向連接的、可靠的雙向數(shù)據(jù)傳輸服務(wù),實(shí)現(xiàn)數(shù)據(jù)無(wú)差錯(cuò)無(wú)重復(fù)的發(fā)送,流式套接字內(nèi)設(shè)流量控制,被傳輸?shù)臄?shù)據(jù)看做是無(wú)記錄邊界的字節(jié)流在協(xié)議族中,使用TCP協(xié)議實(shí)現(xiàn)字節(jié)流的傳輸,當(dāng)要發(fā)送大批量數(shù)據(jù)或者對(duì)數(shù)據(jù)傳輸有較高的要求時(shí),使用流套接字。

          在本設(shè)計(jì)中,如圖5所示,首先創(chuàng)建Socket,綁定IP地址和端口值,協(xié)議設(shè)置為IPv4同時(shí)設(shè)定掩碼值,設(shè)定最大字節(jié)數(shù)目,然后創(chuàng)建連接請(qǐng)求,若連接成功則從緩存區(qū)讀取若干字節(jié)發(fā)送出去,否則的話將阻塞在該進(jìn)程中。此外為了保證視頻的流暢性,在網(wǎng)絡(luò)情況不好的情況下進(jìn)行丟幀處理,同時(shí)在緩存區(qū)設(shè)置標(biāo)志位,當(dāng)緩存區(qū)的數(shù)據(jù)全部被套接字處理之后,該標(biāo)志位設(shè)置為有效,從而清理緩存區(qū),從而加載新的視頻數(shù)據(jù)做進(jìn)一步處理。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)

          該處理器外設(shè)的以太網(wǎng)結(jié)構(gòu)如圖6所示。在和EMAC控制器之間用設(shè)備總線相連,EMAC控制器可以使用DSP內(nèi)存,并且控制中斷和復(fù)位,及內(nèi)存使用的優(yōu)先級(jí)。另外EMAC單元還可以提供網(wǎng)絡(luò)和處理器內(nèi)核的接口,支持1 0、100Mpbs數(shù)據(jù)傳輸。MDIO可以查詢和控制以太網(wǎng)PHY,它可以配置以太網(wǎng)的參數(shù),從而達(dá)到糾錯(cuò)的目的,同時(shí)又可以獲取數(shù)據(jù)傳輸結(jié)果。

          2 客戶端的實(shí)現(xiàn)

          客戶端無(wú)論是Windows或者Linux系統(tǒng)都具有Socket API,可以實(shí)現(xiàn)協(xié)議,首先創(chuàng)建Socket并連接服務(wù)器端,并讀取來(lái)buffer的數(shù)據(jù),在接收到數(shù)據(jù)之后,需要通過(guò)解碼將視頻顯示出來(lái),通過(guò)加載動(dòng)態(tài)鏈接庫(kù),調(diào)用視頻播放器的API接口函數(shù)即可。Windows程序加載DLL的流程如圖7所示,客戶端工作流程如圖8所示。

          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)
          基于DSP的H264數(shù)字視頻服務(wù)器設(shè)計(jì)
          上一頁(yè) 1 2 下一頁(yè)

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