基于ADSP―BF561的圖像平移系統(tǒng)的設(shè)計與實現(xiàn)
2.2 關(guān)鍵技術(shù)問題的解決途徑
在平移算法中由于每40 ms采集1幀數(shù)據(jù),為了保證能夠使人眼實時的看到平移后的視頻流,必須要保證能夠?qū)崟r的完成數(shù)據(jù)搬移工作。為此本設(shè)計中采用如下關(guān)鍵技術(shù)來解決。
(1)由于圖像輸入后,要經(jīng)過平移算法對圖像進行上、下、左、右平移后,圖像才能輸出到電視上。因此該系統(tǒng)將圖像的輸入存儲區(qū)域和圖像的輸出存儲區(qū)域分別設(shè)為2塊獨立的區(qū)域,使得在數(shù)據(jù)輸入的同時還可進行數(shù)據(jù)的搬移及輸出顯示工作。每個輸入/輸出區(qū)域又可以分為4個區(qū)域,用來存儲順次進入的輸入/輸出圖像。其中sFrame0~sFrame3用來存儲輸入的視頻圖像,sFrame4~sFrame7用來存儲搬移后的視頻圖像。當(dāng)啟動ADV7181B采集完1幀圖像存入后sFrame0,BF561啟動數(shù)據(jù)搬移工作,將視頻圖像搬移到sFrame4中,并通過PPI1送給視頻編碼器ADV7171,最后由電視屏幕顯示輸出,同時PPI0將數(shù)據(jù)繼續(xù)采集到sFramel。圖像存儲在SDRAM中,sFrame0~sFrame7各存儲區(qū)域的首地址分別為0x0000C400,0x1000000,0x1500000,0x01A00000,0x01F00000,0x02400000,0x02900000,0x03000000。
(2)為了提高系統(tǒng)的實時處理能力,將數(shù)據(jù)在不同存儲空間的轉(zhuǎn)移任務(wù)交給DMA來完成,從而使CPU只專注于數(shù)據(jù)的計算。為保證連續(xù)采集不斷幀,DMA采用描述子方式,并將最后一個描述子指向首塊的頭地址。CCD采集到的視頻圖像首先送到PPI0,經(jīng)過2維DMA方式依次送到由描述子描述的圖像輸入存儲區(qū)域。
(3)由于圖像的平移,輸出后的圖像會有一些邊框,為提高系統(tǒng)的實時性,將邊框數(shù)據(jù)預(yù)先存放在SDRAM中,然后再采用MDMA方式將邊框數(shù)據(jù)傳送到相應(yīng)的視頻輸出區(qū)域中。存放邊框數(shù)據(jù)的SDRAM定義為sFrame8,其首地址為0x03600000。其中sFrame8的大小為1440*288,即為ITU-656格式中一場數(shù)據(jù)的大小。本算法中上、下、左、右平移后的邊界填充為黑色,按UYVY格式即應(yīng)該填充為0x80,0x10,0x80,0x10。邊框數(shù)據(jù)的MDMA方式傳輸在有效數(shù)據(jù)傳輸之前進行,每次MDMA傳輸也是只傳遞1場數(shù)據(jù),1幀數(shù)據(jù)同樣需要2次MDMA傳輸完成。邊框數(shù)據(jù)的填充見圖2。圖2(b)為圖像右移后左邊填充為黑色邊框數(shù)據(jù)的示意圖。本文引用地址:http://cafeforensic.com/article/161958.htm
(4)從輸入?yún)^(qū)域到輸出區(qū)域只搬移有效的數(shù)據(jù)(Active Field),ITU-656格式的文件頭在輸出區(qū)域初始化時已設(shè)置完成。且有效的數(shù)據(jù)傳輸方式采用MDMA方式,每次傳輸1幀圖像數(shù)據(jù)中的1場圖像,搬完奇場數(shù)據(jù)后再搬偶場數(shù)據(jù)。
(5)平移后的圖像存儲在圖像輸出存儲區(qū)域(sFrame4~sFrame7)中,平移后的圖像由PPI1通過按描述子的指示輸出到電視上顯示出來。整個系統(tǒng)的工作框圖如圖3所示。
評論