隨著(zhù)數字融合的進(jìn)一步發(fā)展,系統的設計和實(shí)現需要更大的靈活性,以解決將完全不同的標準和要求集成為同類(lèi)產(chǎn)品時(shí)引發(fā)的諸多問(wèn)題。本文介紹FPGA在視頻處理中的應用,與ASSP和芯片組解決方案相比,FPGA可根據當前(中國)設計工程師的實(shí)際需求提供不同層次的靈活性,并保持明顯優(yōu)于傳統DSP的性能。 實(shí)時(shí)視頻處理對系統性能的要求極高,因此幾乎所有只具最簡(jiǎn)單功能的通用DSP都不具備這項功能??删幊踢壿嬈骷试S設計人員利用并行處理技術(shù)實(shí)現視頻信號處理算法,并且只需單個(gè)器件就能實(shí)現期望的性能?;贒SP的解決方案通常需要在單板上嵌入許多DSP,以得到必需的處理能力,這無(wú)疑將增加程序資源開(kāi)銷(xiāo)和數據存儲器資源開(kāi)銷(xiāo)。 通過(guò)在實(shí)時(shí)環(huán)境下進(jìn)行視頻處理,系統工程人員可將幀存儲器需求和數據緩沖需求降至最低,而在非實(shí)時(shí)應用中則無(wú)需如此。 隨著(zhù)業(yè)界積極推動(dòng)高質(zhì)量視頻開(kāi)發(fā)以及壓縮格式的不斷改進(jìn),系統處理速度也不斷提高??删幊踢壿嬈骷膊捎昧藢?zhuān)用尋呼設備中廣泛采用的FPGA器件架構。由于FPGA工藝的發(fā)展遵循摩爾定律,因此與稍早開(kāi)發(fā)的同種產(chǎn)品相比,新產(chǎn)品能以更具吸引力的成本優(yōu)勢實(shí)現相同的功能和性能。 這種趨勢的一大源動(dòng)力來(lái)自網(wǎng)絡(luò )、廣播、處理和顯示技術(shù)的融合,即業(yè)界所稱(chēng)的“數字融合”。由于在極窄的傳輸信道(如無(wú)線(xiàn)信道)上發(fā)送高帶寬視頻數據并保持適當的業(yè)務(wù)質(zhì)量(QoS)極其困難,因此設計人員展開(kāi)了廣泛的研究,致力于改進(jìn)糾錯、壓縮和圖像處理技術(shù),這些研究均建立在FPGA實(shí)現的基礎上。 圖像壓縮/解壓縮-DCT/IDCT 目前在數字視頻系統中主要使用的視頻壓縮格式是MPEG2,已廣泛應用于數字電視、機頂盒、數字衛星系統、高清晰度電視(HDTV)解碼器、DVD播放器、視頻會(huì )議設備和網(wǎng)絡(luò )電話(huà)中。原始的數字視頻信息總需要進(jìn)行壓縮,以便通過(guò)適當的傳輸信道傳送或者存儲在適當的介質(zhì)(如磁盤(pán))中。此外還有許多新標準即將或正在推出,包括最為引人注目的MPEG4,但大多數基于該技術(shù)的產(chǎn)品仍在開(kāi)發(fā)中。 MPEG2和MPEG4算法的核心是一種稱(chēng)為離散余弦變換(DCT)的操作。DCT的基本原理是取像素塊的平方并除去觀(guān)察者察覺(jué)不到的冗余信息。為了解壓縮數據,還需要反離散余弦(IDCT)運算。 雖然MPEG算法中的DCT部分已經(jīng)標準化并能在FPGA中有效實(shí)現,MPEG編碼仍有許多部分尚未明確規定。而正是這些不明確部分使得一家公司的產(chǎn)品得以區別于競爭對手,并開(kāi)發(fā)出擁有自主產(chǎn)權的算法。許多專(zhuān)用MPEG解碼器在這些部分(如運動(dòng)估計模塊)使用了FPGA。因為FPGA可重新配置,因此器件能方便地進(jìn)行刷新,并在整個(gè)開(kāi)發(fā)階段(包括配置之后)集成新算法,而完全依賴(lài)標準ASSP解決方案的公司由于受到自身能力的限制而無(wú)法開(kāi)發(fā)出類(lèi)似產(chǎn)品,因此市場(chǎng)風(fēng)險較大(圖1)。 色彩空間轉換 視頻系統另一重要部分是色彩空間轉換,該工藝規定了圖像的表示方法,例如由一種色彩格式轉化為另一種不同的色彩格式。 人眼感測器只能檢測到波長(cháng)介于400nm至700nm之間的可見(jiàn)光,這些感測器稱(chēng)為圓錐細胞,具有三種不同的類(lèi)型:紅光圓錐細胞、綠光圓錐細胞和藍光圓錐細胞。如果單波長(cháng)的光可見(jiàn),這三種感測器的相對反應能使我們鑒別出光的顏色。該現象極具實(shí)用價(jià)值,因為這意味著(zhù)我們只需簡(jiǎn)單地按不同比例將上述三種光混合,就能生成各種顏色的光。這就是著(zhù)名的三色原理,它在彩電系統中獲得了廣泛的應用。 我們可以在3維立方體中通過(guò)繪制三原色(即紅色、綠色和藍色,簡(jiǎn)寫(xiě)為RGB)的構成比率圖以表示各種顏色,其中黑色位于原點(diǎn),而白色則位于原點(diǎn)的斜對角。得到的立方體就是著(zhù)名的RGB色彩空間。 不管最終的顯示媒質(zhì)是紙張、LED、CRT或等離子顯示器,圖像總可細分為很多個(gè)像素(例如HDTV可具備1920×1080 個(gè)像素)。同時(shí)每種媒質(zhì)之間又存在些許差異,但其基本原理都是每個(gè)像素由一定比例的紅色、綠色或藍色構成,構成的比例取決于驅動(dòng)顯示的電壓信號。 利用RGB格式處理圖像時(shí),每個(gè)像素由3個(gè)分別對應于三原色的8位或10位字確定,因而這不是一種最高效的處理方法。這種格式下,必須在所有的紅色、綠色和藍色信道上對像素進(jìn)行操作,所需的存儲空間和數據帶寬毫無(wú)疑問(wèn)將比其它可供選擇的色彩格式更大。為了解決這個(gè)問(wèn)題,許多廣播標準(如歐洲的PAL和北美的NTSC電視系統)均采用亮度和色度視頻信號。因此,不同的色彩格式之間需要一種能互相轉換的機制,即色彩空間轉換(圖2)。 用硬件實(shí)現這些電路則相對比較簡(jiǎn)單,只需要知道從一種格式映射到另一種格式的系數。最通用的一種轉換是由RGB格式轉換至YCbCr 格式(反之則從YCbCr 格式轉換至RGB格式)。研究表明,人眼察覺(jué)到的光亮度信息(Y)的60%至70%來(lái)自綠色光。紅色和藍色信道實(shí)際上只是亮度信息的復制,因此這些重復信息完全可以去除掉。最終的結果是圖像可用表征色度和亮度的信號來(lái)表示。在這種格式下,8位系統規定亮度的取值范圍介于16至235之間,而Cb和Cr 信號的取值范圍介于16至240之間,并規定128表示亮度為0。 可用如下的方程將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顯示器的信號振幅與輸出密度之間存在非線(xiàn)性,如果在顯示信號之前進(jìn)行圖像灰度校正,就能使信號振幅與輸出密度間的關(guān)系趨于線(xiàn)性。輸出增益同樣必須限定低于特定的閥值,以減少圖像暗區中的傳輸噪聲(圖3)。 我們可以采用許多可行的方法實(shí)現所需的乘積功能,如利用內存、邏輯器件或嵌入式乘法器[1][2]。 顯然,HDTV系統所需的74.25MHz數據率可輕松地達到,而且還可以嘗試不同的設計折衷考慮,如系統精確度和設計范圍之間的折衷。例如,為了保證3%的轉換誤差,YCbCr至RGB色彩空間轉換器的設計尺寸可以至少減小一半。這或許超出了大多數顯示器產(chǎn)品所能承受的范圍,但仍然能被其它的應用系統接受,如機器視覺(jué)或安全系統。采用FPGA的系統架構就能調整應用系統的算法,由此實(shí)現最佳的性能和效率。 實(shí)時(shí)圖像和視頻處理功能 標準DSP自身性能上的缺陷促進(jìn)了專(zhuān)門(mén)解決此難題的專(zhuān)用設計芯片(如媒質(zhì)處理器)的發(fā)展。但是,這些器件極低的靈活度往往使其局限于非常有限的應用中并容易產(chǎn)生性能瓶頸。在高分辨率系統(如HDTV和醫療成像系統)中,基于處理器的方法受到的限制尤為明顯。從根本上講,處理器的分辨率受限于分配給濾波器每個(gè)抽頭或每個(gè)轉換階段時(shí)鐘周期的數目。一旦達到極限條件,通常除了增加額外的DSP部件外別無(wú)選擇。FPGA可以通過(guò)定制調整提供最具實(shí)用價(jià)值的高性能高效率產(chǎn)品。設計人員可在適用范圍和速率之間進(jìn)行折衷考慮,從而以比DSP時(shí)鐘低得多的速率實(shí)現指定功能。 例如Visicom公司發(fā)現,在中值濾波器應用中[3],DSP處理器需要67個(gè)時(shí)鐘周期執行算法,而FPGA只需工作在25MHz頻率下,因為FPGA能并行實(shí)現該功能。實(shí)現上述功能的DSP必須工作在1.5GHz頻率下,可見(jiàn)在此特定應用中,FPGA解決方案的處理能力可以達到100MHz DSP處理器的17倍。 許多實(shí)時(shí)圖像和視頻處理功能均適合于用FPGA器件來(lái)實(shí)現,包括:圖像旋轉、圖像縮放色彩校正和色度校正、陰影增強、邊緣檢測、直方圖功能、銳化、中值濾波器和斑點(diǎn)分析等。 許多功能都針對特定的應用和系統,并構建在核心架構(如2D-FIR濾波器)之上。我們可以利用HDL設計語(yǔ)言或高級內核設計工具(如Xilinx CoreGen軟件)中的DSP程序塊迅速實(shí)現這些功能。此外,還能通過(guò)系統級設計方法,利用Matlabs Simulink和Xilinx SystemGenerator工具進(jìn)一步減少設計和仿真時(shí)間。需要獲取最新的視頻技術(shù)信息以及數字融合市場(chǎng)信息,可訪(fǎng)問(wèn)http://www.xilinx.com/esp/esp.htm。 參考文獻 - XAPP283: Color Space Application Note by Latha Pillai. Available from http://www.xilinx.com
- TechXclusives: Color Space Conversion by Andy Miller http://support.xilinx.com/support/techxclusives/techX-home.htm
- A Cost Effective Image Acquisition, Real-Time Processing and Display Architecture Using FPGA Technology http://www.chipcenter.com/pld/plf049.htm
- RC100 Data Sheet http://www.celoxica.com/products/technical_papers/datasheets/DATRC100_001_01.pdf
- Video Demystified - 3rd Edition by Keith Jack: LLH Technology Publishing http://www.video-demystified.com/
- Video and Image Processing System Solution Web Page http://www.xilinx.com/xlnx/xil_prodcat_landingpage.jsp?iLanguageID=1&iCountryID=1&title=Video+%26+Image+Processing
作者:David Nicklin 戰略解決方案市場(chǎng)部 高級經(jīng)理 Xilinx公司 |