實時視頻處理系統(tǒng)中乒乓緩存控制器的設計
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):781
引言 緩存技術是分布式計算環(huán)境中的重要技術,它可以改善系統(tǒng)的整體性能(如吞吐量、查詢響應時間等),構建大規(guī)模視頻服務系統(tǒng)時,可以減少對磁盤的訪問,提高系統(tǒng)性能。在高速數(shù)據(jù)采集系統(tǒng)中,通常在存儲設備的前端加一級緩存,可以使低速存儲設備無丟失地記錄高速數(shù)據(jù)[1]。不僅如此,現(xiàn)在,在比較高速cpu的性能參數(shù)時,一個重要的指標就是看其是否具有高速緩存。 隨著數(shù)字多媒體技術的不斷發(fā)展,實時視頻數(shù)據(jù)處理的一個突出的問題就是數(shù)據(jù)量龐大,特別是在圖像幀率及分辨率要求比較高的場合,僅用專用的視頻壓縮芯片(video asic)、專用的視頻信號處理器(video dsp)或通用的高性能數(shù)字信號處理芯片(dsp),均無法獲得令人滿意的效果,為此,人們提出了多種解決方案,其中比較有代表性的方案有以下兩種:一是在中央控制器的調度下,兩片或多片視頻處理芯片并行對實時視頻進行處理。二是整個實時視頻處理系統(tǒng)由視頻采集系統(tǒng)和視頻壓縮系統(tǒng)組成,其中視頻采集系統(tǒng)負責接收原始的視頻數(shù)據(jù)并對其進行一定的預處理;視頻壓縮系統(tǒng)負責接收視頻采集系統(tǒng)預處理后的數(shù)據(jù)并進行壓縮[2]。本文將采用第二種方法,并在此方法中應用fpga設計乒乓緩存控制器,從而實現(xiàn)實時視頻數(shù)據(jù)流的無縫緩沖和處理。 常用數(shù)據(jù)緩存結構的比較 實時視頻處理系統(tǒng)中,輸入緩沖和輸出緩沖電路的作用主要是為恒速的視頻編解碼與變速的dsp圖像處理過程之間提供適應通道,輸入和輸出緩沖電路一般有三種結構形式: (1)雙口ram結構 雙口ram是在一個sram存儲器上具有兩套完全獨立的數(shù)據(jù)線、地址線、讀寫控制線、并允許兩個獨立的系統(tǒng)同時對該存儲器進行隨機訪問。 (2)fifo結構 fifo可以進行雙端操作,但是數(shù)據(jù)必須先進先出,不能進行隨機性的訪問,從容量大小來看,雙口ram比fifo要大一些,但總的來說,這兩種緩沖結構的存儲容量還是相對較小,對高速圖像處理系統(tǒng)而言,還不是特別適合。 (3)乒乓緩存結構 這種結構是將輸入數(shù)據(jù)流通過輸入數(shù)據(jù)選擇單元等時地將數(shù)據(jù)流分配到兩個數(shù)據(jù)緩沖區(qū)。在第1個緩沖周期,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1上,在第2個緩沖周期,通過輸入數(shù)據(jù)選擇單元的切換,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊2,同時,將數(shù)據(jù)緩沖模塊1緩存的第1個周期的數(shù)據(jù)通過輸出數(shù)據(jù)選擇單元的選擇,送到運算處理單元進行處理,第3個緩沖周期,再次切換數(shù)據(jù)的輸入與輸出緩沖模塊。如此循環(huán),周而復始。 綜上所述,乒乓緩存結構實際上相當于一個雙口ram,但它與普通的雙口ram又有所不同,主要表現(xiàn)在以下幾方面: ◆普通雙口ram是單個存儲體構成的ic,乒乓緩存結構則由包含兩個相互獨立存儲體的多片ic構成,從而使其在結構、速度、容量等方面具有更大的靈活性; ◆若雙口在訪問同一地址時,普通雙口sam指向的必定是存儲體內的同一存儲單元,而乒乓緩存結構則分別指向屬于sram1和sram2的兩個不同的存儲單元; ◆乒乓緩存結構的雙口指向的存儲區(qū)(sram1還是sram2)可以由外部信號來控制,而普通雙口ram則必須由地址線來控制。 乒乓緩存結構的上述特點決定了可以相對較便宜的高速大容量sram、外圍邏輯器件構成比雙口ram以及高速fifo更適合視頻處理的系統(tǒng)所需要的緩沖存儲器。 實時視頻處理系統(tǒng)結構 數(shù)字視頻處理系統(tǒng)的突出特點是視頻數(shù)據(jù)的流量非常大,且對系統(tǒng)處理的實時性要求也比較高,因此,系統(tǒng)必須建立快速、有序的視頻數(shù)據(jù)輸入、輸出機制、盡可能采用高速的fpga,在此基礎上,采用適應于高速dsp和fpga處理系統(tǒng)的乒乓緩存結構。 雖然視頻信號處理的需求多種多樣,但數(shù)據(jù)處理的流程都遵循數(shù)據(jù)采集、格式轉換、數(shù)據(jù)接收、數(shù)據(jù)計算、數(shù)據(jù)通信的步驟,圖1所示是基于fpga和dsp的實時視頻信號處理框架。 視頻信號轉換模塊由視頻信號處理器完成視頻信號從模擬信號到數(shù)字信號的轉換、圖像信號與其他信號的分離、視頻信號的格式轉換等,最終提供供給后端可以處理的數(shù)字視頻數(shù)據(jù);視頻數(shù)據(jù)計算模塊首先接受來自前一個模塊的數(shù)字視頻數(shù)據(jù),然后完成對數(shù)字視頻數(shù)據(jù)的計算,數(shù)據(jù)接收由fpga完成,數(shù)據(jù)計算由dsp完成,通信模塊則實現(xiàn)與外界的數(shù)據(jù)交換。 本文重點介紹的是視頻數(shù)據(jù)計算模塊中的輸入乒乓緩存結構(如果經dsp編碼的信號需要輸出并解碼的話,同樣可以設計輸出乒乓緩存結構,原理一樣。) 乒乓緩存控制器分析 由上文可知,實現(xiàn)乒乓緩存結構的關
|