新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于多核DSP處理器DM8168的視頻處理方法

基于多核DSP處理器DM8168的視頻處理方法

作者: 時(shí)間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

摘要:隨著1080P高清視頻以及4K超高清晰視頻的普及和應(yīng)用,基于傳統(tǒng)單核處理器的視頻信息處理已有些力不從心。為此TI公司推出了一款專門用于高清視頻處理的處理器,它擁有4個(gè)不同類型的處理器,使得視頻處理達(dá)到了一個(gè)更高水平。本文分析研究了該處理器的結(jié)構(gòu)及應(yīng)用開發(fā)方法,并對(duì)間的協(xié)調(diào)工作及負(fù)載情況進(jìn)行了測(cè)試分析。

本文引用地址:http://m.butianyuan.cn/article/201610/308114.htm

引言

以DSP為核心的處理器憑借自身硬件結(jié)構(gòu)的優(yōu)勢(shì)和算法優(yōu)化使得一般的嵌入式產(chǎn)品在視頻應(yīng)用領(lǐng)域得到了廣泛的應(yīng)用。隨著高清視頻應(yīng)用的增多,傳統(tǒng)單核DSP處理器已經(jīng)不能很好地滿足應(yīng)用需求了。為此,TI公司推出了一款專門針對(duì)高清大數(shù)據(jù)量快速計(jì)算的專用多核DSP處理器DM8168。與傳統(tǒng)單核DSP或ARM+DSP的異構(gòu)多核結(jié)構(gòu)相比,DM8168集成了4個(gè)不同類型的處理器,除了傳統(tǒng)ARM+DSP結(jié)構(gòu)外,DM8168還擁有兩個(gè)專門針對(duì)高清視頻的圖像處理器。因此,研究如何基于這種復(fù)雜的多核DSP進(jìn)行應(yīng)用設(shè)計(jì),是有一定實(shí)用價(jià)值的。

本文在一款基于多核DSP DM8168處理器的SEED-DVS8168平臺(tái)上,研究了16通道D1數(shù)據(jù)格式60 fps的大數(shù)據(jù)量高速及壓縮的實(shí)現(xiàn)方法,并且對(duì)DM8168實(shí)現(xiàn)過程中4個(gè)核心處理器的負(fù)載進(jìn)行了測(cè)試和分析。

1 硬件平臺(tái)結(jié)構(gòu)

TMS320DM816是TI公司推出的達(dá)芬奇(DaVinci)硬件平臺(tái)。它在DM8168開發(fā)板上拓展了16路模擬輸入口,集成了多種外設(shè)接口。DM8168硬件平臺(tái)為TI的高性能異構(gòu)多核SoC片上系統(tǒng),該平臺(tái)集成了一個(gè)主頻為1.2 GHz的ARM Cortex—A8處理器,一個(gè)主頻為1GHz的C674x DSP以及3個(gè)主頻為600 MHz高清視頻圖像(High Definition Video/Imaging Coprocessor,HDVICP),以及一個(gè)高清視頻處理子系統(tǒng)(Hight Defi nition Video Processing Subsystem,HDVPSS)。多核DSP系統(tǒng)應(yīng)用中,各處理器在硬件上相互獨(dú)立、相互配合,極大地提升了整個(gè)系統(tǒng)的效率。本文針對(duì)DM8168集成的4片TVP8158對(duì)16路60 fps視頻的采集壓縮過程進(jìn)行了研究,并對(duì)結(jié)果進(jìn)行了分析。硬件平臺(tái)結(jié)構(gòu)如圖1所示。

基于多核DSP處理器DM8168的視頻處理方法

1.1 ARM Cortex—A8處理器

ARM Cortex—A8是一款專門針對(duì)多任務(wù)應(yīng)用的高性能哈佛結(jié)構(gòu)處理器。本文中ARM Cortex—A8處理器主要用于控制管理各個(gè)從處理器,配置和調(diào)節(jié)各子系統(tǒng)的協(xié)同工作,管理外部設(shè)備及外部存儲(chǔ)器。

1.2 高清視頻處理子系統(tǒng)HDVPSS

HDVPSS集成了兩個(gè)獨(dú)立的視頻捕捉輸入端口VIN0、VIN1,每個(gè)VIN口又分為A、B兩組,即VINOA、VINOB、VIN1A、VIN1B。每個(gè)TVP5158復(fù)合了4路視頻送入VIN口,HDVPSS采集到數(shù)據(jù)之后利用內(nèi)部硬件把視頻抽離分解出來進(jìn)行后期處理,捕捉時(shí)鐘高達(dá)165MHz。此外,HDVPSS每個(gè)視頻輸入端口支持縮放、像素格式轉(zhuǎn)換、支持1路高達(dá)1080P60或8路復(fù)用的D1數(shù)據(jù)處理。功能上,HDVPSS集成了兩個(gè)視頻處理引擎,具有去隔行處理、降噪、格式轉(zhuǎn)換、視頻輸入/輸出等數(shù)據(jù)處理能力。

1.3 高清視頻HDVOCP

HDVICP是一個(gè)視頻編解碼硬件加速器,可以最大支持1080P60標(biāo)準(zhǔn)高清視頻的編解碼流。硬件加速可支持MPEG1/2/4 ASP/SP、H.264 BL/MP/HP、VC-1 SP/MP/AP、RV9/10、AVS-1.0等主流的編解標(biāo)準(zhǔn)。HDVICP集成了運(yùn)動(dòng)估計(jì)加速引擎、幀內(nèi)預(yù)測(cè)估計(jì)引擎、熵編/解碼器等硬件模塊。HDVICP直接在硬件上提升了原本復(fù)雜的數(shù)字圖像處理運(yùn)算,從而增強(qiáng)了HDVICP的視頻處理能力。HDVICP的內(nèi)部結(jié)構(gòu)如圖2所示。

基于多核DSP處理器DM8168的視頻處理方法

在外部,HDVICP與其他處理器之間通過郵箱中斷以及硬件自旋鎖來實(shí)現(xiàn)。郵箱中斷通過寫寄存器的方式向某個(gè)從處理器發(fā)送中斷信號(hào),自旋鎖機(jī)制則為訪問系統(tǒng)共享資源提供了完善的解決方案;內(nèi)部,同步箱負(fù)責(zé)所有嵌入式模塊的調(diào)度,同步各加速器之間的參數(shù)以及數(shù)據(jù)。

1.4 數(shù)字信號(hào)處理DSP

C674x DSP內(nèi)核是TMS320C6000 DSP平臺(tái)上的高性能浮點(diǎn)數(shù)字信號(hào)處理器,其除了具有傳統(tǒng)DSP的硬件運(yùn)算加速器單元外,還具有SPLOO P、壓縮的指令集、增強(qiáng)的指令集、異常處理以及優(yōu)先級(jí)管理,完備的硬件支持使得C674x DSP在應(yīng)用中具有強(qiáng)大地?cái)?shù)據(jù)信號(hào)處理能力。本系統(tǒng)研究中將傳統(tǒng)的及壓縮編碼這類算法從DSP模塊中分離出來,極大地減輕了DSP的負(fù)載,使多核DSP協(xié)同工作的環(huán)境、性能得到了極大的優(yōu)化。

2 系統(tǒng)軟件設(shè)計(jì)

DM8168的主處理器是ARM Cortex—A8,開始上電之后U-Boot引導(dǎo)其從ROM中啟動(dòng)Linux,一旦啟動(dòng)成功,ARM Cortex—A8便引導(dǎo)從處理器C674x DSP和媒體控制器的電源管理、重啟控制以及設(shè)置可執(zhí)行文件的入口到相應(yīng)寄存器中,完成這個(gè)軟件運(yùn)行環(huán)境的建立。

結(jié)合DM8168硬件平臺(tái)的特點(diǎn),軟件系統(tǒng)整體劃分為4個(gè)模塊。其中ARM為主控模塊,運(yùn)行Linux系統(tǒng),主要負(fù)責(zé)整個(gè)系統(tǒng)的控制以及外設(shè)管理;另外3個(gè)內(nèi)核運(yùn)行BIOS6系統(tǒng),其中VPSS M3運(yùn)行在HDVPSS上,主要管理視頻的采集、存儲(chǔ)以及輸入/輸出;Video M3運(yùn)行在HDVICP上,主要負(fù)責(zé)視頻的編解碼;C674x DSP主要執(zhí)行軟件的顯示策略以及用戶算法。軟件結(jié)構(gòu)設(shè)計(jì)如圖3所示。

基于多核DSP處理器DM8168的視頻處理方法

多通道視頻處理框架(Multi—channel FrameWork,McFw)中對(duì)視頻處理常用的捕獲、壓縮編碼、解碼、顯示等處理過程進(jìn)行了優(yōu)化,該框架下的視頻處理以Link為基本處理單位進(jìn)行。視頻傳遞采集、編碼以及顯示過程大致分為以下幾個(gè)過程。

(1)原始采集過程

系統(tǒng)獲得采集任務(wù)之后,首先初始化采集參數(shù),包括采集設(shè)備的檢測(cè)、需采集的視頻格式、輸出格式等。稍后調(diào)用McFW框架下的System _linkCreate()創(chuàng)建CaptureLink,調(diào)用System_linkStart()進(jìn)行,模擬信號(hào)經(jīng)過主板上集成的4片TV5158解碼芯片之后轉(zhuǎn)換為16ChD1 YUV422i 60fps的數(shù)字信號(hào)傳遞給VPSS,等待下一步處理。

(2)視頻處理

VPSS協(xié)處理器檢測(cè)到視頻輸入以后,對(duì)輸入的視頻進(jìn)行降噪、去隔行處理等,然后將數(shù)據(jù)傳遞給HDVICP協(xié)處理器,DM8168內(nèi)部集成的3個(gè)HDVICP協(xié)處理器的視頻編解碼硬件加速支持MPEG4 H.264等視頻的編解碼格式,運(yùn)行在HDVICP上的視頻編碼子系統(tǒng)(Video Encode Subsyst em,VENC)以及視頻解碼子系統(tǒng)(Video Decode Subsystem,VDEC)具體實(shí)現(xiàn)16 Ch D1 60 fps的H.264編碼壓縮/解碼處理。

(3)視頻的存儲(chǔ)、顯示以及傳輸

HDVICP協(xié)處理器壓縮產(chǎn)生的視頻數(shù)據(jù),放入內(nèi)存共享區(qū),供ARM處理器進(jìn)行后期的網(wǎng)絡(luò)傳輸或本地存儲(chǔ)。同時(shí),也將數(shù)據(jù)傳遞給HDVPSS協(xié)處理器實(shí)現(xiàn)16 Ch視頻的顯示輸出。

(4)視頻采集的銷毀

視頻采集結(jié)束后,HDVPSS首先調(diào)用System_link Stop()停止視頻采集,然后調(diào)用System_linkDelete()釋放占用資源。視頻采集編碼過程如圖4所示。

基于多核DSP處理器DM8168的視頻處理方法

視頻的采集、降噪、壓縮編碼/解碼、顯示都由Host A8進(jìn)行控制,每個(gè)視頻采集過程中的功能都在各自處理上進(jìn)行了模塊的劃分,以獨(dú)立的線程運(yùn)行。各模塊間通過消息中斷、IPC等方式進(jìn)行通信,通過共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)共享。

3 結(jié)果測(cè)試與分析

本研究方法中,模擬視頻信號(hào)經(jīng)過主板上集成的4片TVP5158解碼芯片轉(zhuǎn)換為16Ch D1 YUV422i 60fps數(shù)字信號(hào)傳遞給HDVPSS協(xié)處理器進(jìn)行降噪、隔行掃描處理,數(shù)據(jù)預(yù)處理之后HDVPSS將數(shù)據(jù)傳送給HDVICP協(xié)處理器進(jìn)行視頻的H.264壓縮存儲(chǔ),同時(shí)數(shù)據(jù)也由HDVPSS協(xié)處理器的HDMI數(shù)據(jù)輸出接口輸出到顯示器。多核CPU負(fù)載情況統(tǒng)計(jì)如表1所列。

基于多核DSP處理器DM8168的視頻處理方法

實(shí)驗(yàn)結(jié)果中,Host A8作為主控處理器,負(fù)責(zé)多核DSP的任務(wù)調(diào)度和協(xié)調(diào),HDVPSS以及HDVICP協(xié)處理器承擔(dān)了16 D1視頻的采集以及壓縮編碼工作,處理器負(fù)載較均衡。由于協(xié)處理器獨(dú)立承擔(dān)視頻的處理任務(wù),DSP在本設(shè)計(jì)中只負(fù)責(zé)SCD算法,負(fù)載較小。整體上來看,由于多核DSP DM8168的各個(gè)核心處理器之間相互協(xié)同工作,整個(gè)系統(tǒng)的負(fù)載較均衡,整個(gè)系統(tǒng)得到了有效的利用,且性能也比較突出。

結(jié)語

針對(duì)16通道D1數(shù)據(jù)格式的大數(shù)據(jù)量視頻數(shù)據(jù)置的采集編碼,在傳統(tǒng)達(dá)芬奇DSP處理器上實(shí)現(xiàn)相對(duì)較為困難,而本文針對(duì)基于多核DSP DM8 168將視頻的采集、降噪、隔行掃描以及壓縮編碼等任務(wù)從傳統(tǒng)的單核DSP處理器上獨(dú)立出來,分別由從硬件加速的HDVPSS協(xié)處理器和HDVICP協(xié)處理器來完成,極大地提升了視頻采集的效率,同時(shí)也減輕了單核DSP的任務(wù)負(fù)擔(dān),功能模塊化設(shè)計(jì)大大提升了嵌入式設(shè)備的整體處理能力,效果較為明顯。但從實(shí)際應(yīng)用的角度來考慮,本設(shè)計(jì)可能考慮得不夠全面,需在后期設(shè)計(jì)中不斷地充實(shí)和完善。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉