基于DM368的視頻捕獲與編解碼系統設計
摘要:為了實現對視頻進行捕獲后壓縮,文中提出一種基于DM368的視頻捕獲壓縮方案,并設計完成相應的硬件與軟件。該系統主要使用 TI達芬奇DM368片上系統作為主控芯片,采用TVP5158作為視頻采集前端。采用1G容量的DDR2內存作為易失性存儲器。采用1GFlash作為系統內核與文件系統的存儲介質。軟件部分在Linux平臺中使用達芬奇DVSDK進行編程。壓縮規格上使用目前較為流行的MPEG4算法。從而實現視頻的捕獲與壓縮。經實際測試顯示,使用該平臺進行視頻捕獲壓縮開發較以往DSP和FPGA方案更加成熟穩定,并可以通過TI的開發工具和現有軟件庫大大減少開發周期。
本文引用地址:http://www.104case.com/article/201609/303574.htm隨著人類社會的進步,視頻技術越來越發揮著重要的作用。視頻的傳輸也經歷了由模擬到數字的轉變。數字視頻的分辨率也隨著感光元器件的革新而不斷增加,在給人們提供越來越清晰額視覺享受的同時產生了更大的視頻數據。針對海量的視頻數據,人們通過改進壓縮算法使得視頻數據所需的存儲空間大大減小。時至今日,ITU-T已經公布了H.264壓縮標準,并且在推進H.265壓縮標準。在MPEG會議的努力下,MPEG-4壓縮標準也開始應用于數字視頻領域。這些標準都使得高分辨率的視頻數據以非常高的壓縮率壓縮。最明顯的成果便是以網絡為媒體的實時視頻傳輸技術。而在硬件方面隨著微電子技術的進步,微處理器體積變得越來越小但是處理能力如摩爾定律那樣快速增長。這些技術的進步使得嵌入式設備實現數字視頻的捕獲壓縮成為可能。目前常用的設計方案常用 DSP+FPGA或者DSP+ARM組合實現。鑒于嵌入式設備對數字視頻壓縮的要求,誕生了許多現成的壓縮芯片,只需要發送指令和數據就可以完成原始視頻數據的壓縮。
多處理器組合,雖然可以既利用DSP芯片的數字信號處理能力,又利用協處理器的邏輯處理能力,但是這種組合屬于板級連接設計者在設計過程中難免會引入連接錯誤,給項目開發帶來許多不穩定因素,大大延長開發周期。同時兩種不同公司的芯片在設計過程中,接口邏輯會有或多或少的不同,也會給設計者帶來意想不到的問題。近年來許多芯片公司將核心處理器如ARM、DSP和其他外圍硬件內核集成到一塊芯片中,這種System On Chip(SOC)技術大大增強了新的嵌入式視頻處理器的穩定性。在其中TI公司開發出達芬奇系列視頻處理SOC,并提供了相應的開發環境與成熟的視頻處理算法。2010年4月TI推出DM368視頻處理芯片。與之前DM365視頻庫軟件兼容,但提供了更為豐富的接口。
文中介紹一種使用達芬奇DM368SOC實現數字視頻的捕獲并按照MPEG4標準進行壓縮的設計。本設計將對模擬視頻信號進行采樣量化,將原始的視頻數據按照MPEG4壓縮標準進行編碼。最后將編碼后的壓縮視頻解碼輸出,從而驗證視頻的編解碼及視頻輸出功能。
1 總體設計
該嵌入式視頻處理設備整體結構如圖1所示,模擬攝像頭采集的視頻信號經過視頻處理前端,進行按照一定視頻格式進行采樣量化,將模擬視頻信號轉換為數字信號。這些視頻原始數據被傳輸到視頻處理模塊。然后通過該模塊將原始視頻數據進行相關的視頻壓縮處理。本設計預留網口和模擬視頻輸出端口,可以將壓縮的視頻解壓輸出,并通過模擬視頻輸出端顯示在微計算機終端或者嵌入式顯示設備。

2 系統硬件設計
嵌入式視頻處理的硬件設計由視頻前端、視頻處理模塊、電源部分和外部接口四個部分組成。電源部分是一個嵌入式設備的最基礎模塊,是一個設備能夠穩定運行的基礎。該設備由于使用了多個芯片,每個芯片需要的供電電壓不同,這就需要使用多個電源芯片進行電壓轉換產生對應的供電電壓。本次設計中將輸入的12 V電源經第一次電平轉換產生5 V電源。5 V電源經兩個芯片轉換產生1.1 V、1.2 V、1.8 V和3.3V電源。最后產生的3.3 V電源經轉換產生1.24 V電源。如圖2所示。

模擬視頻接入端連接至TVP5158進行初步處理。TI公司的TVP5158是四路NTSC/PAL視頻譯碼器,具有單獨的定標器,降噪,自動對比度調整,以及靈活的輸出格式編制器。TV P5158提供和DaVinc處理器的音頻和視頻連接接口,視頻輸出端支持8位ITU—R BT.656和16位4:2:2 YCbCr。輸出端連接DM368視頻處理器。
在DM368的片上系統中有許多硬件設備。對于視頻處理來說最重要的是其中的VPSS,即視頻子系統(結構如圖3所示)。該系統有若干硬件組件支持對視頻的處理,可以實現從YUV422到YUV420的格式轉換等具體處理操作。其中的VPFE(視頻處理前端)和VPBE(視頻處理后端)可以實現視頻數據的預處理和解碼輸出功能。除此之外,該系統中還有一個緩沖器和一個DMA控制器,可以充分使用外部DDR2存儲器。本次設計采用一片1G容量DDR2存儲器,該RAM與DM368的內存引腳相連,為該芯片處理大數據視頻提供了足夠的運行空間。使用三星公司的1G容量FLASH作為Linux系統內核、文件系統和視頻應用程序的存儲區域。

在視頻輸出部分,DM368自帶了模擬視頻輸出接口,另外考慮到嵌入式Linux的開發調試需求和目前常用的視頻傳輸方法,本次設計還添加了網絡和串口。網卡主控芯片采用
AR8032,串口部分采用MAX3221實現通信電平轉換。整個視頻處理模塊硬件設計如圖4所示。

3 系統軟件設計
TI公司為達芬奇系列視頻處理器設計了軟件開發構架,方便開發者在這個構架上開發自己的視頻處理程序。該軟件開發構架核心為CODE ENGINE編程框架,它能夠自動地請求和實現符合eXpress DSP的Codec算法。在code engine中為開發人員提供3種開發方向。作為算法開發人員,可以將設計好的視頻處理算法通過Codec部分,按照TI通用的視頻處理算法標準生成算法庫,并進行打包。視頻應用程序開發人員可以在APP部分調用已經打包好的算法庫,開發自己的視頻處理應用程序。在應用程序與算法庫之間是sever部分,該部分可以實現Codec算法庫被APP調用。Server為Codec提供APP調用過程中所必須的組件(例如BIOS、Framework Component、DSPLink等),并生成可執行文件[dv]。系統軟件設
評論