999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
基于DAVINCI的3G視頻服務器的設計
成都宇鴻科技有限公司
收藏本文     查看收藏

  摘要 :視頻編解碼系統(tǒng)一般的實現(xiàn)可以采用DSP,ASIC專用芯片,F(xiàn)PGA可編程邏輯芯片,基于DSP處理器設計的系統(tǒng)具備易于升級,易于擴展等優(yōu)點所以在視頻系統(tǒng)設計中被大量采用。TI DAVINCI 6446處理器是TI公司最新的雙核視頻處理芯片,TI公司提供一種基于CODE ENGINE的API機制封裝了復雜的DSP的編解碼接口,給ARM應用程序提供一種簡單明了的系統(tǒng)調用來實現(xiàn)視頻的處理,但是同時這種機制也存在一個問題,就是如果要對機制本身進行一些修改或者擴展,添加自定義的接口或者算法,需要開發(fā)者去深入了解復雜的code engine機制,成都宇鴻科技提出一種跳過code engine機制,直接使用coff文件加載雙核中的dsp處理器,直接根據(jù)共享內存實現(xiàn)arm和DSP的通信。DSP直接運行一些開源的編解碼算法比如XVID,或者T264。該方法具備算法移植簡單,arm和dsp接口自定義,

  系統(tǒng)框架非常簡單的優(yōu)點。本文提出的DAVINCI 開發(fā)系統(tǒng)開發(fā)的時候只需要CCS開發(fā)工具和montvista的linux arm編譯環(huán)境,整個產(chǎn)品開發(fā)可以不需要仿真器的參與。

  實現(xiàn):

  1:DSP的手動加載實現(xiàn)

  在DAVINCIN 6446雙核處理器出來之前的DM642或者不含arm的davinci DM6437芯片都是可以通過PCI 和HPI接口進行DSP程序的加載的,首先開發(fā)者使用CCS工具生成目標coff文件,通過TI提供的BIN文件轉換工具轉換成二進制的加載文件。加載程序DSPboot讀取該文件,把文件中的每一個程序段根據(jù)相應的加載地址加載到DSP的內存空間或者L2RAM,最后把處于RESET狀態(tài)的dsp 恢復運行,DSP從入口地址開始運行。

  Dsp加載的流程如下:    

  2:視頻編碼算法的移植

  本文以XVID在DAVINCI 6446上的移植為例子,展示如何用CCS編譯生成在DSP上的可執(zhí)行代碼。

  1:首先新建一個CCS工程,并且把所有的XVID的c源碼文件拷貝到工程的文件夾下面

  編譯的時候有幾個問題:

  2:沒有configure文件,需要用戶手動在portb。h中加入了以下的定義: 

  #define ARCH_IS_GENERIC 
  #define ARCH_IS_32BIT
  #define ARCH_IS_LITTLE_ENDIAN 

  3:ccs不允許數(shù)組初始化的時候用變量,改變一下數(shù)組的代碼編寫方式編譯通過。 

  4:很多函數(shù)沒有定義,是c標準庫,目前加的是 rts6400_eh.lib

  按照上述步驟編譯XVID

  接下來就是編寫系統(tǒng)的內存分布CMD文件,可以參考ti的example目錄下的CMD文件編寫,在剛開始的時候可以直接把所有的段都映射到DDR內存里面。

  3:視頻編碼算法的優(yōu)化

  有關xvid或者T264等開源軟件的優(yōu)化,網(wǎng)絡上已經(jīng)有很多資料,這里不多說,主要原則有以下幾點:

  1:對XVID 的一些針對PC的特性進行裁減,使之適合嵌入式編碼器。

  2:對xvid的代碼進行線性匯編優(yōu)化,比如核心的DCT IDCT運算,計算運動向量的SAD計算函數(shù)。

  3:充分利用DSP的EDMA技術,把當前dsp運算需要的數(shù)據(jù)搬移到運行速度快的L2Ram中,同時在后臺用EDMA準備下次DSP運算所需要的數(shù)據(jù),這樣時鐘讓dsp核心在CACHE中找到可以使用的內存,大大提供整個系統(tǒng)的并成程度。

  Xvid不經(jīng)過任何優(yōu)化的情況下,一秒種大概只編譯1/3幀左右,經(jīng)過良好的優(yōu)化,在一個DAVINCI 處理器上實現(xiàn)4路cif或者1路D1的實時編碼是完全可行的。

  4:基于共享內存的arm和dsp交互設計

  利用前面CCS生成的dsp二進制代碼,就可以利用dspboot加載工具讓dsp開始運行。接下來就是需要設計arm和dsp如何進行數(shù)據(jù)交互,要完成一個圖像的編碼,xvid需要幾個參數(shù):

  1:YUV原始數(shù)據(jù)的輸入:
  2:編碼后的MPEG4數(shù)據(jù)的輸出。
  3:編碼的參數(shù)控制。

  整個系統(tǒng)實現(xiàn)主要由以下任務完成:

  1:采集線程:

  負責從驅動視頻AD techwell系統(tǒng)或者TI TVP系列,然后送入davinci的bt656接口,最后通過resize 得到所需要編碼的分辨率,本文以CIF 352*288分辨率為例。

  最后采集線程把resize以后的原始輸入數(shù)據(jù)寫入一個固定的內存比如 0x83c00000;

  2:dsp 編碼線程:

  Dsp運行一個死循環(huán),每次循環(huán)開始先從0x83c00000地址處讀大小為352*28*2大小的數(shù)據(jù)拷貝到自己的編碼緩沖區(qū),然后執(zhí)行encode_main 函數(shù)完成一次圖像的編碼,然后把編碼后的數(shù)據(jù)輸出的固定內存比如0x83e00000;并且同時做上標記DSP已經(jīng)完成一次編碼。

  3:ARM 端處理線程:

  Arm只負責編碼后的數(shù)據(jù)的網(wǎng)絡發(fā)送或者系統(tǒng)存儲,arm端判斷去0x83e00000處的內存是否有dsp編碼后的數(shù)據(jù),如果有則通過網(wǎng)絡發(fā)送到指定的客戶端電腦去,由電腦實現(xiàn)視頻的解碼和顯示。

  5:PC端客戶端軟件的實現(xiàn):

  Pc端客戶端軟件的實現(xiàn)主要參考XVID的解碼例子,最后把解碼后的數(shù)據(jù)通過direct draw或者其他方式實現(xiàn)。

  6:3G的實現(xiàn)

  利用成都宇鴻科技本身的3G驅動技術,實現(xiàn)在davinci上的USB 的3G上網(wǎng)卡的驅動,同時配合VPN可以實現(xiàn)在外網(wǎng)通過IP訪問內置在視頻服務器上的web對路由器進行設置和狀態(tài)查詢,同時可設置基于時間的定時撥號機制,實現(xiàn)7*24小時的無人值守工作環(huán)境。


 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 成都宇鴻科技有限公司
聯(lián) 系 人: 汪在霞
電  話: 028-13208176277
傳  真:
地  址: 成都錦江區(qū)郭家橋南街3號
郵  編: 610065
主  頁:
 
該廠商相關技術文摘:
基于VPN 的3G無線視頻傳輸解決方案
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡

關于我們 | 聯(lián)系我們 | 廣告服務 | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網(wǎng)客服熱線:0755-86369299
版權所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved