一種fpga+dsp結構上基于srio總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,該方法中FPGA主要負責視頻數(shù)據(jù)傳輸和視頻接口擴展,視頻數(shù)據(jù)通過FPGA的SRIO總線傳輸至DSP芯片。該方法設計思想主要包括在傳輸時僅使用SWRITE、NREAD和DOORBELL三種SRIO事務,采用多個緩沖隊列重新組織視頻數(shù)據(jù),規(guī)定視頻數(shù)據(jù)在緩沖隊列、傳輸過程和處理過程中的數(shù)據(jù)單元和以FPGA作為SRIO傳輸?shù)目刂坪诵?。本發(fā)明提出的SRIO傳輸方法能夠減少FPGA邏輯資源和存儲資源的消耗,降低SRIO傳輸程序復雜度,發(fā)揮FPGA并行控制優(yōu)勢,減少DSP在視頻傳輸過程的時間開銷,從而在占用較少FPGA資源情況下完成高速視頻傳輸。
【專利說明】—種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法
【技術領域】
[0001]本發(fā)明屬于嵌入式視頻處理領域,特別涉及一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的低復雜度實現(xiàn)方法。
【背景技術】
[0002]為設計具有較高處理性能和具備靈活接口擴展能力的視頻處理系統(tǒng),使用現(xiàn)場可編程門陣列(FPGA)和通用數(shù)字信號處理器(DSP)作為處理核心的研究逐漸增多。其中,F(xiàn)PGA可以滿足多數(shù)視頻處理應用中的接口需求,但是FPGA在完成視頻處理算法時,程序開發(fā)難度大、開發(fā)周期長。相比之下,DSP是一種專用于數(shù)字信號處理運算的微處理器,其主要應用是實時快速地實現(xiàn)各種數(shù)字信號處理算法。以FPGA+DSP結構作為核心的硬件結構,其中DSP負責實現(xiàn)圖像處理算法,F(xiàn)PGA負責實現(xiàn)接口電路及一些圖像預處理工作以減輕DSP負擔可以有效提高DSP處理性能,F(xiàn)PGA與DSP間的高速互連傳輸是視頻處理系統(tǒng)正常工作的基本如提之一。
[0003]Serial Rapid I/O(SRIO)總線是一種高可靠、高效能和具有良好擴展性的開放總線標準,已經(jīng)成為高性能嵌入式系統(tǒng)中高速互連的主要傳輸方式之一?,F(xiàn)有申請?zhí)朇N101562559的專利“一種串行Rapid I/O鏈路數(shù)據(jù)傳輸?shù)姆椒把b置”,提出了一種使用SRIO鏈路傳輸數(shù)據(jù)的方法,該方法中發(fā)送端向接收端發(fā)的數(shù)據(jù)傳輸請求中包括數(shù)據(jù)傳輸類型信息,接收端根據(jù)接收到的數(shù)據(jù)類型信息分配接收緩沖區(qū)并接收數(shù)據(jù)。此方法若用來傳輸視頻數(shù)據(jù),則需要DSP判斷數(shù)據(jù)類型并計算數(shù)據(jù)存放地址,DSP干預數(shù)據(jù)傳輸過程。申請?zhí)枮镃N102186076A的專利“一種實時碼率預分配的圖像壓縮方法及圖像壓縮裝置”與申請?zhí)枮镃N103177455A的專利“基于多核DSP的KLT運動目標跟蹤算法的實現(xiàn)方法”均實現(xiàn)了FPGA到DSP的SRIO數(shù)據(jù)傳輸,由FPGA將視頻數(shù)據(jù)直接打包發(fā)給DSP,DSP接收到數(shù)據(jù)包后要做數(shù)據(jù)包解析等繁瑣工作,導致DSP不能專注于視頻處理。
[0004]SRIO總線需要底層協(xié)議支持才能實現(xiàn)高速可靠的數(shù)據(jù)傳輸,DSP廠商提供了包括簡潔接口的SRIO示例程序;FPGA廠商提供了 SRIO IP核,IP核提供十分靈活的SRIO控制機制,也給用戶程序設計帶來較大的難度,用戶需要實現(xiàn)SRIO IP核繁瑣的控制過程。本發(fā)明提出了一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的低復雜度實現(xiàn)方法,能夠減少FPGA資源消耗,降低程序復雜度,利用FPGA并行優(yōu)勢,使得DSP可以專注于視頻處理基本不需要參與SRIO傳輸過程。
【發(fā)明內(nèi)容】
[0005]針對實時視頻數(shù)據(jù)傳輸需求,本發(fā)明涉及一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的低復雜度實現(xiàn)方法,該方法能夠減少視頻數(shù)據(jù)通過SRIO傳輸時FPGA邏輯資源和存儲資源的消耗,降低SRIO傳輸程序復雜度,發(fā)揮FPGA和DSP各自優(yōu)勢,F(xiàn)PGA負責視頻傳輸控制,DSP專注于視頻處理過程。[0006]為實現(xiàn)上述目的,本發(fā)明采用下述技術方案:FPGA負責視頻數(shù)據(jù)傳輸和視頻接口擴展,視頻數(shù)據(jù)通過FPGA與DSP間的SRIO總線傳輸,DSP主要負責視頻數(shù)據(jù)處理。FPGA作為SRIO傳輸?shù)目刂坪诵?,僅采用三種SRIO事務完成視頻數(shù)據(jù)傳輸,采用多個緩沖隊列重新組織視頻數(shù)據(jù),并規(guī)定視頻數(shù)據(jù)在緩沖隊列、傳輸過程和處理過程中的數(shù)據(jù)單元。
[0007]一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,該方法的步驟如下:
[0008]步驟(I)、FPGA采集打包格式(Packed format)的視頻數(shù)據(jù)按照視頻分量種類(Y、Cb, Cr)寫入各自視頻緩沖隊列,將緩沖隊列中視頻分量按照平面格式(Planner format)組成視頻行寫入SRIO發(fā)送緩沖隊列;
[0009]步驟(2)、FPGA采用SWRITE事務將視頻數(shù)據(jù)寫入DSP外部存儲器中的視頻緩沖區(qū),一幀視頻數(shù)據(jù)寫入完成后FPGA采用DOORBELL事務通知DSP,DSP進入中斷處理該幀視頻數(shù)據(jù);
[0010]步驟(3)、一幀視頻數(shù)據(jù)處理結束后,DSP采用DOORBELL事務通知FPGA,F(xiàn)PGA采用NREAD事務讀取DSP視頻緩沖區(qū)中的視頻數(shù)據(jù);
[0011]步驟(4)、FPGA讀取的視頻數(shù)據(jù)按照平面格式組成視頻行寫入SRIO接收緩沖隊列,SRIO接收緩沖隊列中視頻數(shù)據(jù)按照視頻分量種類不同寫入各自視頻緩沖隊列,等待輸出。
[0012]其中,所述SRIO傳輸方法中僅采用三種SRIO事務,SWRITE、NREAD和DOORBELL事務,SffRITE和NREAD事務用于收發(fā)視頻數(shù)據(jù),DOORBELL事務用于同步FPGA與DSP間的視頻傳輸過程。
[0013]其中,所述SRIO傳輸方法中采用三種分量(Y、Cb、Cr)的視頻緩沖隊列完成視頻數(shù)據(jù)重新組織,采用SRIO收發(fā)緩沖隊列完成視頻數(shù)據(jù)的傳輸緩沖。
[0014]其中,所述SRIO傳輸方法中規(guī)定視頻數(shù)據(jù)單元,在SRIO收發(fā)緩沖隊列中以視頻行為存儲單元,在SRIO傳輸過程中以視頻數(shù)據(jù)包為傳輸單元,在DSP視頻緩沖區(qū)中以視頻矩陣為存儲單元。
[0015]其中,所述SRIO傳輸方法中FPGA是SRIO傳輸?shù)目刂坪诵模倭客綌?shù)據(jù)外(DSP發(fā)送的DOORBELL事務)FPGA負責視頻數(shù)據(jù)收發(fā)控制工作,主動發(fā)起SRIO收發(fā)數(shù)據(jù)請求。
[0016]本發(fā)明與現(xiàn)有技術相比的優(yōu)點在于:
[0017]1、本發(fā)明僅采用三種SRIO事務完成視頻數(shù)據(jù)傳輸,采用直接10傳輸方式(SWRITE和NREAD事務)傳遞視頻數(shù)據(jù),直接10方式使得傳輸過程對DSP完全透明;采用最簡單的消息傳遞方式(DOORBELL事務)同步FPGA和DSP數(shù)據(jù)傳輸;在SRIO程序設計時無需考慮其他事務,可以節(jié)省FPGA邏輯資源,降低FPGA上的SRIO程序設計復雜度。
[0018]2、本發(fā)明采用多個緩沖隊列,緩沖隊列便于視頻采集模塊與SRIO傳輸模塊、視頻輸出模塊與SRIO傳輸模塊間數(shù)據(jù)的跨時鐘域讀寫同步控制,降低FPGA上SRIO讀寫緩沖設計復雜度;多個緩沖隊列的設計使得FPGA上的SRIO傳輸過程形成視頻流,能夠有效節(jié)省對FPGA存儲資源的占用,利用內(nèi)部存儲資源即可滿足程序需求。
[0019]3、本發(fā)明規(guī)定視頻數(shù)據(jù)在緩沖隊列、視頻傳輸和存儲時的處理單元,可以有效降低FPGA上SRIO地址計算過程復雜度,進而節(jié)省FPGA邏輯資源。[0020]4、本發(fā)明傳輸方法以FPGA為SRIO傳輸控制核心,DSP基本不需要參與SRIO傳輸控制工作,SRIO視頻數(shù)據(jù)傳輸過程對DSP基本透明,DSP可以專注于視頻處理計算。
【專利附圖】
【附圖說明】
[0021]圖1是三分量緩沖隊列結構示意圖;
[0022]圖2是FPGA端SRIO程序結構示意圖;
[0023]圖3是SRIO用戶程序IREQ模塊結構示意圖;
[0024]圖4是SRIO視頻數(shù)據(jù)單元示意圖。
【具體實施方式】
[0025]下面以720X576分辨率YCbCr4:2:2視頻為例,進一步說明本發(fā)明的【具體實施方式】。
[0026]FPGA采集打包格式的YCbCr4:2:2視頻數(shù)據(jù),為三種分量設置各自視頻緩沖隊列,用于分離并暫存視頻分量,如圖1所示。在分離過程中同時完成視頻采樣格式轉(zhuǎn)換工作(YCbCr4:2:2轉(zhuǎn)為YCbCr4:2:0)。采集到的視頻數(shù)據(jù)按照頂場和底場及視頻分量順序依次輸入,舍棄頂場中Cr數(shù)據(jù)和底場中Cb數(shù)據(jù),剩余視頻數(shù)據(jù)按照分量不同存入對應視頻緩沖隊列。當一個完整視頻行的分量數(shù)據(jù)都寫入各自視頻緩沖隊列后,分別讀取各視頻緩沖隊列,以視頻行為單位將720字節(jié)Y分量和360字節(jié)Cb (或Cr)寫入SRIO發(fā)送緩沖隊列(TxFifo)。至此,SRIO發(fā)送緩沖隊列中已經(jīng)存入以平面格式視頻行為單位的YCbCr4:2:0視頻數(shù)據(jù),等待發(fā)送。
[0027]FPGA廠商(以Xilinx為例)提供的SRIO IP核使用戶可以在其基礎上實現(xiàn)SRIO收發(fā)數(shù)據(jù)。為控制IP核完成SRIO數(shù)據(jù)收發(fā),用戶程序需要按照IP核四個端口的時序要求編寫,并組織SRIO事務包信息。本發(fā)明用戶程序?qū)狪P核四個端口設計實現(xiàn)四個模塊,如圖2所示。FPGA作為SRIO互連結構核心,多數(shù)SRIO事務由FPGA用戶程序主動發(fā)起。FPGA用戶程序中最重要的模塊是IREQ模塊和IRESP模塊,通過這兩個端口的數(shù)據(jù)量最大。IREQ模塊是FPGA向DSP發(fā)送所有請求的端口,是待處理視頻數(shù)據(jù)流的發(fā)送端口 ;IRESP模塊是FPGA接收DSP所有響應數(shù)據(jù)的端口,是處理后視頻數(shù)據(jù)流接收端口。
[0028]用戶程序IREQ模塊分為四個模塊:C0N、TIK、IGEN和TxFifo,如圖3所示。
[0029](I)CON是整個IREQ模塊的核心控制部分,是一次SRIO請求事務包的起點,它負責檢測是否發(fā)送數(shù)據(jù)、控制何時發(fā)送數(shù)據(jù)以及組織數(shù)據(jù)包信息,CON監(jiān)控TxFifo狀態(tài),控制TIK完成數(shù)據(jù)包發(fā)送;
[0030](2) TIK負責具體的數(shù)據(jù)組織工作,產(chǎn)生數(shù)據(jù)包包頭信息,傳遞包頭信息到IGEN,監(jiān)控IGEN狀態(tài)并向CON反饋;
[0031](3) IGEN負責與IP核的IREQ端口協(xié)同,將組織好的數(shù)據(jù)包信息傳遞給IP核,數(shù)據(jù)包分為包頭信息和數(shù)據(jù)信息,IGEN的包頭信息來自TIK,數(shù)據(jù)信息可以直接取自TxFifo或接收TIK傳遞的數(shù)據(jù);
[0032](4)TxFifo是發(fā)送數(shù)據(jù)緩沖隊列。用戶程序IREQ模塊結構如圖3所示,視頻數(shù)據(jù)依次流經(jīng)TxFifo和IGEN,最終由IGEN傳遞到IP核的IREQ端口通過鏈路發(fā)出。
[0033]CON是FPGA端所有SRIO請求的發(fā)起者,也是FPGA控制SRIO通路數(shù)據(jù)收發(fā)的核心,使用CON模塊請求事務狀態(tài)機完成SRIO通路控制工作。本狀態(tài)機包含六種狀態(tài):INIT、RDY (Ready)、Sff(SffRITE)、DB (DOORBELL)、NR(NREAD)和 SEND 狀態(tài)。INIT 狀態(tài)是狀態(tài)機的初始狀態(tài),當SRIO硬件初始化成功后進入RDY狀態(tài),否則繼續(xù)等待;
[0034](I) RDY狀態(tài)表示SRIO鏈路正常,當發(fā)送請求來臨并且IP核就緒時,進入對應發(fā)送請求狀態(tài),若SRIO鏈路異常進入INIT狀態(tài);
[0035](2) NR、DB和SW狀態(tài)分別是發(fā)送NREAD事務、DOORBELL事務和SWRITE事務狀態(tài),分別組織各自事務信息,當IP核狀態(tài)就緒時進入SEND狀態(tài),否則等待,若SRIO鏈路出現(xiàn)異常進入RDY狀態(tài);
[0036](3) SEND狀態(tài)為SRIO請求事務發(fā)送狀態(tài),CON模塊將組織好的數(shù)據(jù)信號傳遞給TIK模塊,命令TIK模塊開始組織數(shù)據(jù)包頭,并發(fā)送SRIO數(shù)據(jù)包,當TIK完成數(shù)據(jù)接收進入RDY狀態(tài),否則繼續(xù)等待,若出現(xiàn)鏈路異常進入RDY狀態(tài)。
[0037]FPGA的三種SRIO請求事務發(fā)送控制是CON模塊的重點,也是FPGA控制整個SRIO傳輸過程的重點。事務發(fā)送控制主要是控制事務發(fā)送時機和組織事務信息。三種事務操作控制如下:SWRITE事務以TxFifo中數(shù)據(jù)量為觸發(fā)條件,當TxFifo中數(shù)據(jù)多于一行(720字節(jié)Y,360字節(jié)Cb或Cr)數(shù)據(jù)量時,即可組織SWRITE事務完成一行視頻數(shù)據(jù)發(fā)送;
[0038](I)DOORBELL事務以發(fā)送視頻數(shù)據(jù)量為觸發(fā)條件,當成功發(fā)送一幀視頻數(shù)據(jù)時,即可組織DOORBELL事務通知DSP,解除該幀視頻緩沖區(qū)讀寫鎖;
[0039](2)NREAD事務以IRESP模塊中的SRIO接收緩沖區(qū)(RxFifo)中數(shù)據(jù)量和DSP的DOORBELL事務通知為觸發(fā)條件,當DSP解鎖一幀處理后視頻緩沖區(qū)后,并且RxFifo中有多于一行的剩余空間,即可組織NREAD事務完成一行視頻數(shù)據(jù)的讀取。
[0040]另外,規(guī)定三種事務發(fā)送優(yōu)先級由高到低分別為NREAD、D00RBELL和SWRITE事務。當NREAD事務發(fā)出后,DSP的SRIO硬件接口就可以開始組織響應數(shù)據(jù)包,響應數(shù)據(jù)包數(shù)據(jù)量大,時間緊迫程度高,需要盡早開始響應數(shù)據(jù)包組織,同時NREAD和DOORBELL事務占用發(fā)送周期少,因此NREAD發(fā)送優(yōu)先級最高;DSP收到DOORBELL事務后解鎖視頻緩沖區(qū),能夠盡早開始DSP視頻處理工作,因此DOORBELL優(yōu)先級高于SWRITE事務。
[0041]組織事務信息是事務發(fā)送控制的另一個重點部分,主要工作是SWRITE和NREAD事務的存儲地址計算,以SWRITE地址計算方法為例說明。SRIO事務的最大有效數(shù)據(jù)載荷是256字節(jié),F(xiàn)PGA發(fā)送的每個SWRITE事務包中攜帶的數(shù)據(jù)將被按順序?qū)懭隓SP的視頻緩沖區(qū)中的連續(xù)存儲空間,為實現(xiàn)高效SRIO傳輸過程應盡量使用高載荷SWRITE事務包。因此,在綜合考慮采集視頻過程特點和視頻存儲計算特點后,如圖4所示,規(guī)定:
[0042](I)TxFifo中數(shù)據(jù)按視頻行(圖中L標示)排列,每行按照720字節(jié)Y、360字節(jié)Cb (或Cr)數(shù)據(jù)順序排列;
[0043](2)每個SWRITE事務包中數(shù)據(jù)只能包含一種分量(即Y/Cb/Cr中的一種),數(shù)據(jù)存儲地址依此連續(xù)遞增;
[0044](3)在DSP視頻緩沖區(qū)中數(shù)據(jù)按視頻幀(圖中F標示)存儲,每幀數(shù)據(jù)中同一分量連續(xù)存儲,組成各分量矩陣,便于DSP完成視頻處理。
[0045]在這種存儲結構下,CON需要實現(xiàn)為每個SWRITE事務設置特定地址和數(shù)據(jù)長度。CON按行循環(huán)發(fā)送,720字節(jié)的Y數(shù)據(jù)劃分為三個SWRITE包傳輸,前兩個包數(shù)據(jù)長度為256字節(jié),最后一個包數(shù)據(jù)長度208字節(jié),包存儲地址可以由幀基地址、Y分量偏移量和行偏移量計算獲得,三個包存儲地址連續(xù)增加;360字節(jié)Cb (或Cr)數(shù)據(jù)采用兩個SWRITE事務發(fā)送,每個數(shù)據(jù)包長度為180字節(jié),存儲地址由幀基地址、Cb/Cr分量偏移量和行偏移量計算獲得。
[0046]SRIO用戶程序的IRESP模塊主要負責接收解析DSP發(fā)送的NREAD響應事務包數(shù)據(jù),相比IREQ模塊設計簡單。IRESP模塊主要包括IHAN和RxFifo兩部分,IHAN負責接收解析數(shù)據(jù)包,RxFifo是接收數(shù)據(jù)緩沖隊列。IHAN接收解析數(shù)據(jù)工作由IHAN模塊事務解析狀態(tài)機控制完成。IHAN狀態(tài)機只包括三個狀態(tài):INIT、RDY和RECV狀態(tài)。INIT狀態(tài)是初始狀態(tài),表示當前SRIO硬件鏈路連接仍未建立成功,當SRIO鏈路建立成功后進入RDY狀態(tài),否則等待;RDY狀態(tài)表示當前IHAN模塊處于空閑狀態(tài),可以接收響應事務,當響應事務到來時,進入RECV狀態(tài),當SRIO鏈路斷開時,進入ΙΝΠ狀態(tài);RECV狀態(tài)表示當前正在接收IP核IRESP端口數(shù)據(jù)信息,同時完成向RxFifo寫入操作,當數(shù)據(jù)接收完成時,進入RDY狀態(tài),當SRIO鏈路端口時,進入INIT狀態(tài),否則繼續(xù)接收數(shù)據(jù),處于RECV狀態(tài)。
[0047]DSP端SRIO程序使用DSP廠商提供的例程即可;FPGA端SRIO接收緩沖區(qū)及視頻分量合并過程與視頻分量分離發(fā)送過程相反,方法類似。
[0048]本發(fā)明未詳細公開的部分屬于本領域的公知技術。
[0049]以上對本發(fā)明所提供的FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的低復雜度實現(xiàn)方法進行了詳細的說明。對本領域的一般技術人員而言,在不背離本發(fā)明實質(zhì)精神的前提下對它所做的任何顯而易見的改動,都將構成對本發(fā)明專利權的侵犯,將承擔相應的
法律責任。
【權利要求】
1.一種FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,實現(xiàn)FPGA與DSP間視頻數(shù)據(jù)傳輸,F(xiàn)PGA負責視頻數(shù)據(jù)傳輸控制和視頻接口擴展,DSP負責視頻處理,其特征在于包括如下的步驟: 步驟(1) ,FPGA采集打包格式的視頻數(shù)據(jù)按照視頻分量種類Y、Cb、Cr寫入各自視頻緩沖隊列,并將緩沖隊列中的視頻分量按照平面格式組成視頻行寫入SRIO發(fā)送緩沖隊列; 步驟(2)、FPGA采用流寫SWRITE事務將視頻數(shù)據(jù)寫入DSP外部存儲器中的視頻緩沖區(qū),一幀視頻數(shù)據(jù)寫入完成后FPGA采用門鈴DOORBELL事務通知DSP,DSP進入中斷處理該幀視頻數(shù)據(jù); 步驟(3)、一幀視頻數(shù)據(jù)處理結束后,DSP采用DOORBELL事務通知FPGA,F(xiàn)PGA采用讀操作NREAD事務讀取DSP視頻緩沖區(qū)中的視頻數(shù)據(jù); 步驟(4)、FPGA讀取的視頻數(shù)據(jù)按照平面格式組成視頻行寫入SRIO接收緩沖隊列,SRIO接收緩沖隊列中視頻數(shù)據(jù)按照視頻分量種類寫入各自視頻緩沖隊列,等待輸出。
2.如權利要求1所述FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,其特征在于:所述SRIO傳輸方法中僅采用三種SRIO事務,SffRITE, NREAD和DOORBELL事務,SffRITE和NREAD事務用于收發(fā)視頻數(shù)據(jù),DOORBELL事務用于FPGA與DSP間同步SRIO視頻數(shù)據(jù)傳輸;三種事務操作控制如下: (1)SffRITE事務以TxFifo中數(shù)據(jù)量為觸發(fā)條件,當TxFifo中數(shù)據(jù)多于一行數(shù)據(jù)量時,即組織SWRITE事務完成一行視頻數(shù)據(jù)發(fā)送; (2)DOORBELL事務以發(fā)送視頻數(shù)據(jù)量為觸發(fā)條件,當成功發(fā)送一幀視頻數(shù)據(jù)時,即組織DOORBELL事務通知DSP,解除該幀視頻緩沖區(qū)讀寫鎖; (3)NREAD事務以IRESP模塊中的SRIO接收緩沖區(qū)RxFifo中數(shù)據(jù)量和DSP的DOORBELL事務通知為觸發(fā)條件,當DSP解鎖一幀處理后視頻緩沖區(qū)后,并且RxFifo中有多于一行的剩余空間,即組織NREAD事務完成一行視頻數(shù)據(jù)的讀取; 另外,三種事務發(fā)送優(yōu)先級由高到低分別為NREAD、DOORBELL和SWRITE事務;當NREAD事務發(fā)出后,DSP的SRIO硬件接口就開始組織響應數(shù)據(jù)包,響應數(shù)據(jù)包數(shù)據(jù)量大,時間緊迫程度高,需要盡早開始響應數(shù)據(jù)包組織,同時NREAD和DOORBELL事務占用發(fā)送周期少,因此NREAD發(fā)送優(yōu)先級最高;DSP收到DOORBELL事務后解鎖視頻緩沖區(qū),能夠盡早開始DSP視頻處理工作,因此DOORBELL優(yōu)先級高于SWRITE事務。
3.如權利要求1所述FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,其特征在于:所述SRIO傳輸方法中采用視頻緩沖隊列完成視頻數(shù)據(jù)重新組織,采用SRIO收發(fā)緩沖隊列完成視頻數(shù)據(jù)的傳輸緩沖。
4.如權利要求1所述FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,其特征在于:所述SRIO傳輸方法中規(guī)定視頻數(shù)據(jù)單元,在SRIO收發(fā)緩沖隊列中以按照平面格式組織的視頻行為存儲單元,在SRIO傳輸過程中以相同視頻分量組成有效數(shù)據(jù)載荷為256Byte的數(shù)據(jù)包為傳輸單元,在DSP視頻緩沖區(qū)中以相同視頻分量組成的視頻矩陣為存儲單元;具體包括如下操作: (1)TxFifo中數(shù)據(jù)按視頻行排列,每行按照720字節(jié)Y、360字節(jié)Cb或Cr數(shù)據(jù)順序排列; (2)每個SWRITE事務包中數(shù)據(jù)只能包含一種分量,即Y/Cb/Cr中的一種,數(shù)據(jù)存儲地址依此連續(xù)遞增; (3)在DSP視頻緩沖區(qū)中數(shù)據(jù)按視頻幀存儲,每幀數(shù)據(jù)中同一分量連續(xù)存儲,組成各分量矩陣,便于DSP完成視頻處理。
5.如權利要求1所述FPGA+DSP結構上基于SRIO總線傳輸視頻數(shù)據(jù)的實現(xiàn)方法,其特征在于:所述SRIO傳輸方法中FPGA是SRIO傳輸?shù)目刂坪诵?,除DSP發(fā)送的DOORBELL事務外,F(xiàn)PGA 負責視頻數(shù)據(jù)收發(fā)控制工作,主動發(fā)起SRIO收發(fā)數(shù)據(jù)請求。
【文檔編號】H04N19/15GK103986931SQ201410171457
【公開日】2014年8月13日 申請日期:2014年4月25日 優(yōu)先權日:2014年4月25日
【發(fā)明者】姜宏旭, 劉亭杉, 翟東林, 李波, 張萍 申請人:北京航空航天大學