隨著數(shù)字融合的進一步發(fā)展,系統(tǒng)的設計和實現(xiàn)需要更大的靈活性,以解決將完全不同的標準和要求整合為同類產(chǎn)品時引發(fā)的諸多問題。本文介紹FPGA在視頻處理中的應用,與ASSP和芯片組解決方案相比,FPGA可根據(jù)目前設計工程師的實際需求提供不同層次的靈活性,并保持明顯優(yōu)于傳統(tǒng)DSP的性能。
實時視頻處理對系統(tǒng)性能的要求極高,因此幾乎所有只具最簡單功能的通用DSP都不具備這項功能。可程序邏輯組件允許設計人員利用平行處理技術實現(xiàn)視頻信號處理算法,并且只需單個組件就能實現(xiàn)期望的性能。基于DSP的解決方案通常需要在單板上嵌入許多DSP,以得到必需的處理能力,這無疑將增加程序資源開銷和數(shù)據(jù)內(nèi)存資源開銷。
藉由在實時環(huán)境下進行視頻處理,系統(tǒng)工程人員可將幀內(nèi)存需求和數(shù)據(jù)緩沖需求降至最低,而在非實時應用中則無需如此。隨著業(yè)界積極推動高質(zhì)量視頻開發(fā)以及壓縮格式的不斷改進,系統(tǒng)處理速度也不斷提高??沙绦蜻壿嫿M件也采用了專用尋呼設備中廣泛采用的FPGA組件架構。由于FPGA制程的發(fā)展遵循摩爾定律,因此與稍早開發(fā)的同種產(chǎn)品相比,新產(chǎn)品能以更具吸引力的成本優(yōu)勢實現(xiàn)相同的功能和性能。
這種趨勢的一大源動力來自網(wǎng)絡、廣播、處理和顯示技術的融合,即業(yè)界所稱的‘數(shù)位融合’。由于在極窄的傳輸信道(如無線信道)上發(fā)送高頻寬視頻數(shù)據(jù)并保持適當?shù)臉I(yè)務質(zhì)量(QoS)極其困難,因此設計人員展開了廣泛的研究,致力于改進糾錯、壓縮和圖像處理技術,這些研究均建立在FPGA實現(xiàn)的基礎上。
MPEG2和MPEG4算法的核心是一種稱為離散余弦變換(DCT)的作業(yè)。DCT的基本原理是取圖素塊的平方并除去觀察者察覺不到的冗余信息。為了解壓縮數(shù)據(jù),還需要反離散余弦(IDCT)運算。
雖然MPEG算法中的DCT部份已經(jīng)標準化并能在FPGA中有效實現(xiàn),MPEG編碼仍有許多部份尚未明確規(guī)定。而正是這些不明確部份使得一家公司的產(chǎn)品得以區(qū)別于競爭對手,并開發(fā)出擁有自主產(chǎn)權的算法。許多專用MPEG譯碼器在這些部份(如運動估計模塊)使用了FPGA。因為FPGA可重新配置,因此組件能方便地進行刷新,并在整個開發(fā)階段(包括配置之后)整合新算法,而完全依賴標準ASSP解決方案的公司由于受到自身能力的限制而無法開發(fā)出類似產(chǎn)品,因此市場風險較大(圖1)。

色彩空間轉換
視頻系統(tǒng)另一重要部份是色彩空間轉換,該制程規(guī)定了圖像的表示方法,例如由一種色彩格式轉化為另一種不同的色彩格式。
人眼傳感器只能檢測到波長介于400nm至700nm之間的可見光,這些傳感器稱為圓錐細胞,具有三種不同的類型:紅光圓錐細胞、綠光圓錐細胞和藍光圓錐細胞。如果單波長的光可見,這三種傳感器的相對反應能使我們鑒別出光的顏色。該現(xiàn)象極具實用價值,因為這意味著我們只需簡單地按不同比例將上述三種光混合,就能產(chǎn)生各種顏色的光。這就是著名的三色原理,它在彩電系統(tǒng)中獲得了廣泛的應用。
我們可以在3維立方體中藉由繪制三原色(即紅色、綠色和藍色,簡寫為RGB)的構成比率圖以表示各種顏色,其中黑色位于原點,而白色則位于原點的斜對角。得到的立方體就是著名的RGB色彩空間。
不管最終的顯示媒體是紙張、LED、CRT或等離子顯示器,圖像總可細分為很多個圖素(例如HDTV可具備1920×1080個圖素)。同時每種媒體之間又存在些許差異,但其基本原理都是每個圖素由一定比例的紅色、綠色或藍色構成,構成的比例取決于驅動顯示的電壓信號。
利用RGB格式處理圖像時,每個圖素由3個分別對應于三原色的8位或10位字確定,因而這不是一種最高效的處理方法。這種格式下,必須在所有的紅色、綠色和藍色信道上對圖素進行作業(yè),所需的儲存空間和數(shù)據(jù)頻寬毫無疑問將比其它可供選擇的色彩格式更大。為了解決這個問題,許多廣播標準(如歐洲的PAL和北美的NTSC電視系統(tǒng))均采用亮度和色度視頻信號。因此,不同的色彩格式之間需要一種能互相轉換的機制,即色彩空間轉換(圖2)。

可用如下的方程將YCbCr空間中的色彩轉換為RGB色彩空間中的色彩:
R'=1.164*(Y-16)+1.596*(Cr-128)
G'=1.164*(Y-16)-0.813*(Cr-128)-0.392*(Cb-128)
B'=1.164*(Y-16)+1.596*(Cr-128)
R'G'B'表示圖像灰度校正RGB值。例如,CRT顯示器的信號振幅與輸出密度之間存在非線性,如果在顯示信號之前進行圖像灰度校正,就能使信號振幅與輸出密度間的關系趨于線性。輸出增益同樣必須限定低于特定的臨界值,以減少圖像暗區(qū)中的傳輸噪音(圖3)。

實時圖像和視頻處理功能
標準DSP自身性能上的缺陷促進了專門解決此難題的專用設計芯片(如媒體處理器)的發(fā)展。但是,這些組件極低的靈活度往往使其局限于非常有限的應用中并容易產(chǎn)生性能瓶頸。在高分辨率系統(tǒng)(如HDTV和醫(yī)療成像系統(tǒng))中,基于處理器的方法受到的限制尤為明顯。從根本上講,處理器的分辨率受限于分配給濾波器每個抽頭或每個轉換階段時鐘周期的數(shù)目。一旦達到極限條件,通常除了增加額外的DSP部件外別無選擇。FPGA可以藉由定制調(diào)整提供最具實用價值的高性能高效率產(chǎn)品。設計人員可在適用范圍和速率之間進行折衷考慮,從而以比DSP時鐘低得多的速率實現(xiàn)指定功能。
例如Visicom公司發(fā)現(xiàn),在中值濾波器應用中[3],DSP處理器需要67個時鐘周期執(zhí)行算法,而FPGA只需工作在25MHz頻率下,因為FPGA能平行實現(xiàn)該功能。實現(xiàn)上述功能的DSP必須工作在1.5GHz頻率下,可見在此特定應用中,F(xiàn)PGA解決方案的處理能力可以達到100MHz DSP處理器的17倍。
許多實時圖像和視頻處理功能均適合于用FPGA組件來實現(xiàn),包括:圖像旋轉、圖像縮放色彩校正和色度校正、陰影增強、邊緣檢測、直方圖功能、銳化、中值濾波器和斑點分析等。
許多功能都針對特定的應用和系統(tǒng),并構建在核心架構(如2D-FIR濾波器)之上。我們可以利用HDL設計語言或高級內(nèi)核設計工具(如Xilinx CoreGen軟件)中的DSP程序塊迅速實現(xiàn)這些功能。此外,還能藉由系統(tǒng)級設計方法,利用Matlabs Simulink和Xilinx SystemGenerator工具進一步減少設計和模擬時間。