面向異步視頻的嵌入式圖像處理系統(tǒng)設(shè)計(jì)
可編程邏輯器件(FPGA)將數(shù)字信號處理器(DSP)、4片幀存以及輸入和輸出視頻數(shù)據(jù)流連接起來。依據(jù)功能狀態(tài),幀存定義為寫入幀、處理幀、讀出幀、緩存幀、廢棄幀,其中緩存幀和廢棄幀不同時(shí)存在。寫入幀指該幀存與視頻數(shù)據(jù)輸入流連接,正在存儲輸入的視頻數(shù)據(jù);處理幀指該幀存與DSP連接,作為DSP的數(shù)據(jù)緩存,供軟件讀寫;讀出幀指該幀存與視頻數(shù)據(jù)輸出流連接,視頻數(shù)據(jù)正在被讀出顯示;緩存幀指處理幀的下一個(gè)狀態(tài),等待被讀出顯示,處于孤立狀態(tài),廢棄幀指視頻數(shù)據(jù)已經(jīng)完成輸出,等待被新的數(shù)據(jù)寫入,處于孤立狀態(tài)。每一幀視頻數(shù)據(jù)與一片幀存關(guān)聯(lián),依次經(jīng)歷寫入、處理、緩存、讀出、廢棄的狀態(tài)(不一定是全部的狀態(tài))。FPGA依據(jù)規(guī)則切換4片幀存,循環(huán)往復(fù)。
嵌入式圖像處理系統(tǒng)的功能分為圖像處理和視頻轉(zhuǎn)換2部分。圖像處理功能主要由DSP實(shí)現(xiàn),當(dāng)輸入的視頻數(shù)據(jù)成為處理幀時(shí),DSP軟件要在一個(gè)輸入幀周期內(nèi)讀入數(shù)據(jù)、執(zhí)行處理算法、用新的數(shù)據(jù)覆蓋幀存(該幀存隨后會讀出顯示)。圖像處理結(jié)果可以從DSP的通訊接口上報(bào),必要時(shí),FPGA也可以完成部分圖像處理算法,減輕軟件負(fù)擔(dān)。視頻轉(zhuǎn)換功能指FPGA對4片幀存的切換來實(shí)現(xiàn)異步視頻的幀間不同步方法。
2.2 切換規(guī)則
在異步視頻的幀問不同步狀態(tài)下,輸出幀的完整性需要保證,幀存的切換不能只依據(jù)輸入幀的同步信號,還必須考慮輸出幀的同步信號,嵌入式圖像處理系統(tǒng)利用第4片幀存提供時(shí)間上的緩沖。幀存共有5種狀態(tài),任一時(shí)刻4片幀存分別對應(yīng)寫入、處理、讀出、緩存(廢棄),幀存的寫入、處理、緩存狀態(tài)由輸入幀的同步信號觸發(fā)確定,幀存的讀出、廢棄狀態(tài)由輸出幀的同步信號觸發(fā)確定。
2.3 狀態(tài)轉(zhuǎn)換程序設(shè)計(jì)
設(shè)定4片幀存的初始狀態(tài)見表1。本文引用地址:http://butianyuan.cn/article/148136.htm
幀存的狀態(tài)由兩種同步信號觸發(fā)轉(zhuǎn)換,因此設(shè)定為輸入和輸出兩部分狀態(tài)的組合。
2.3.1 輸入幀頻小于輸出幀頻
在輸入幀頻小于輸出幀頻的情況下,每一個(gè)輸入幀都會被讀出顯示。在每個(gè)輸入幀周期中,至少會發(fā)生1次輸出幀同步觸發(fā)事件,第1次輸出幀同步信號觸發(fā)之后,原緩存狀態(tài)的幀存切換到讀出狀態(tài),原讀出狀態(tài)幀存轉(zhuǎn)換為廢棄狀態(tài),然后保持不變,直到新的輸入幀同步信號到來。從系統(tǒng)整體分析4片幀存的狀態(tài)轉(zhuǎn)換過程,得出表2的結(jié)果。
表2顯示系統(tǒng)狀態(tài)轉(zhuǎn)換的一個(gè)循環(huán)包含8種情況,由4種輸入和4種輸出組合而成,每種輸出狀態(tài)對應(yīng)一個(gè)處于讀出狀態(tài)的幀存。
2.3.2 輸入幀頻大于輸出幀頻
在輸入幀頻大于輸出幀頻的情況下,一個(gè)輸入幀周期內(nèi),如果接收到輸出幀同步信號,緩存幀會轉(zhuǎn)換為讀出幀,否則會被重新寫入,沒有機(jī)會輸出顯示。幀存的狀態(tài)轉(zhuǎn)換與其原來的狀態(tài)相關(guān),具有隨機(jī)特性,不宜從系統(tǒng)總體確定狀態(tài)循環(huán),只能從單個(gè)幀存的角度分析狀態(tài)轉(zhuǎn)換規(guī)律。
評論