從非常簡單的消費類音/視頻播放器到在專業制作環境中使用的高度復雜的音視頻捕捉、編輯和回放系統,多媒體設備或系統的應用范圍非常廣泛。人們在實現這類應用系統時會使用特殊應用標準產品(ASSP)、專用數字信號處理器(DSP)、RSIC處理器和可編程邏輯等多種類型的技術。這些技術有各自的獨特優勢和局限性。 可編程邏輯的好處是靈活性高,易于擴展,可以采用可重配置技術進行多媒體信號處理。由可編程邏輯構成的典型模塊有乘法器、存儲器、協議接口和時鐘電路(如PLL)。這些模塊具有可擴展性,能夠適應從簡單到復雜的各種多媒體處理系統。把繁重的計算工作交給FPGA協處理器,由一個DSP器件和一個FPGA(而不是多達8-10個DSP器件)構成的FPGA高清方案具有更高的性價比。 視頻和嵌入式DSP模塊 創新的消費類需求,如1080p高清電視、多媒體家庭網關、高帶寬效率的機頂盒解碼器,一直在推動視頻和圖像處理應用快速向前發展。低成本FPGA(如Cyclone III系列)的優點是能以ASIC的價格提供DSP性能、高度靈活性和更快的上市速度。Cyclone III系列中成本最低的是EP3C5器件,它擁有的嵌入式乘法器和邏輯資源足以在HDTV 1080p視頻應用中完成實時7x7像素濾波功能。面向更高端產品的Stratix III FPGA中所包含的DSP模塊可以提供600MHz以上性能的18x18乘法器。Stratix III DSP模塊還能以9x9、36x36和新的12x12模式支持可變比特寬度。該DSP模塊可以為每個18x18乘法器提供兩個9x9或一個半12x12乘法器。如圖1所示,級聯模式可以把一個DSP模塊的輸入傳送到下一級,進而實現更為卓越的整體性能。Stratix III FPGA的邏輯和存儲器結構還針對DSP應用進行了優化,可以用MLAB模塊構成抽頭延遲線,用ALM(自適應邏輯模塊)中的快速3輸入加法器構成高效快速的加法器樹。 圖1:采用級聯模式的Stratix III DSP模塊。 隨著圖像捕捉、顯示器分辯率、高級壓縮技術和視頻智能方面不斷取得重大進展,視頻應用所要求的處理帶寬也在不斷增長。而標準的快速變化和更高的分辨率也促使設計者遠離現成技術。用可編程邏輯實現的模塊化可編程視頻和圖像處理方案具有性能高、靈活、升級方便、開發成本低等優點,當產品成熟和生產批量攀升時,可編程邏輯還可提供轉移到更低成本的途徑。 FPGA內部的嵌入式數字信號處理知識產權(IP)可以作為單獨的系統方案,也可以與標準的數字信號處理器一起作為協處理器使用。與標準的數字信號處理器相比,FPGA的主要優點是內建有高水平的并行處理機制,如圖2所示。而專用的RISC處理器無法滿足許多視頻和成像應用的所有處理要求。 圖2:DSP和FPGA并行處理方案的對比。 由于可以把繁重的計算任務交給FPGA協處理器來完成,FPGA方案改善了性價比,見圖3。例如,同使用多達8個到10個DSP器件的方案相比,用一個DSP器件和一個FPGA實現的高清方案成本效益更高。ASSP無力支持快速改變和不斷發展的視頻和成像標準。由于可以方便地通過升級來支持更高的分辨率和最新引入的視頻標準,FPGA可以用作視頻方案的通用平臺。 圖3:DSP與用作協處理器的FPGA一起使用。 FPGA的可重新編程能力也消除了設計過時的風險。ASIC需要較長的開發時間,基于ASIC的方案不能像FPGA方案那樣方便高效地進行修改。FPGA縮短了上市時間,消除了NRE(非重復工程)成本,可以通過實時改進來支持新興的標準、新的功能要求或對競爭者發布的新功能做出回應。 一個常見的設計挑戰是視頻分配通道受到帶寬限制。如果利用不同的視頻壓縮算法限制數字域中的可用帶寬,那么在顯示經過解碼的數據流時將有不同的表現方式。如果提高視頻壓縮器的壓縮比,模塊式CODEC的離散余弦變換將產生馬賽克噪聲或干擾。使用FPGA對視頻數據實現預壓縮和后壓縮可使編碼器更容易實現視頻壓縮,并可進一步改進圖像質量,降低傳輸帶寬要求。對于有線、衛星、電信和IPTV廣播業務模型來說,由于必須在狹窄的帶寬條件下滿足高質量要求,這種功能的意義更為重大。 預處理可在視頻數據進入編碼器之前用2D濾波平滑掉一些高頻成分,從而降低馬賽克噪聲。2D FIR濾波器和中值濾波器功能可以利用3x3、5x5或7x7恒定系數矩陣提供靈活和高效的2D FIR濾波實現方式。 可編程嵌入式處理器 大部分多媒體產品不僅需要進行信號處理,而且需要使用某種類型的微控制器或處理器來完成指令和控制功能或其它日常任務。對于從最小的消費產品到最大的專業視頻產品的各類多媒體系統,基于FPGA的嵌入式處理器(如Nios II)向設計者提供了靈活地定制各種要求的能力。多媒體系統開發者面臨的一個重大挑戰是選擇合適的(既不降低性能也不減少功能的)處理器。至今有眾多供應商提供了數百種型號的處理器,其外圍設備、存儲器接口和性能特性也各不相同。 FPGA嵌入式處理器可以降低BOM和PCB版圖成本。在需要多個處理器的情況,開發工具將允許用戶創建多處理器系統,進而提升系統的性能或把軟件應用分成更簡單的任務。可以針對最大系統性能或最小邏輯使用率對Nios II內核進行優化,或者在系統性能和邏輯使用率之間取得平衡。該內核可以方便地通過配置實現乘法器、用戶設定的高速緩存、定制指令、硬件調試邏輯等特性以適應特殊的性能需求。 Nios II嵌入式設計套件(EDS)支持創建定制的多內核系統。Nios II處理器與超高密度的FPGA(如Stratix III器件系列產品)相結合可以創建出非常理想的高性能多處理器應用系統。Nios II的典型應用如圖4所示。 圖4:NIOS II嵌入式處理器的典型系統應用。 嵌入式存儲器和外部存儲器接口 存儲器是所有視頻處理應用(如視頻壓縮編碼、2D濾波和縮放)都需要的關鍵構建模塊之一。現在,由于FPGA提供了眾多的內部專用存儲器模塊,因此一個FPGA就可以實現完整的多媒體系統。這些內部存儲器模塊包括RAM、ROM、FIFO、雙端口存儲器和移位寄存器。大多數系統通常需要使用存儲器來滿足各種復雜功能(如通訊、數字信號處理、電子數據處理和控制應用)所需要的不同存儲需求。 Stratix器件中包含的TriMatrix存儲器架構提供了多種不同的存儲器結構,可以實現復雜設計中的各種存儲器功能。在存儲器帶寬不夠充裕時,設計師可以使用較小的M512 RAM模塊實現先入先出(FIFO)和時鐘域緩存功能。M-RAM模塊可以使FPGA滿足大型緩存應用(如知識產權包緩存和系統高速緩存)的需求。M4K模塊非常適合為消費多媒體應用(如數字電視視頻增強)提供中等規模的存儲器應用。另外,Stratix器件也支持DDR2和DDR3 SDRAM及RLDRAM等多種類型的外部存儲器。 高速接口 帶有內建高速差分接口(如LVDS、RSDS、mini-LVDS和PPDS)的FPGA可直接連接到平板LCD或等離子顯示器。典型的平板顯示器通常會聯合運用可編程器件和ASSP在把圖像提供給顯示器之前進行視頻質量增強。 圖5顯示了一個用FPGA實現視頻處理和顯示屏接口的完整LCD模塊。除了差分接口之外,高端FPGA還帶有其它高速串行接口收發器。對于專業視頻應用,串行接口可以是SDI、ASI、PCI Express或Serial Rapid IO。 圖5:使用Cyclone III FPGA的典型LCD模塊。 設計工具 Quartus II軟件等設計入門工具是完成高密度和低成本FPGA設計的最快和最高效途徑。它提供了時序分析、功率分析、增量編譯、用于IO分配的引腳規劃器和TcL腳本接口。DSP Builder等專用視頻處理工具則可以進一步提高用戶的設計效率。DSP Builder是一種數字信號處理開發工具,它在設計入門工具Quartus II和MathWorks公司的MATLAB/Simulink之間架起了連接橋梁。 本文小結 從低成本系列(如Cyclone)到高端Stratix系列的可編程邏輯器件可用于實現各類音視頻產品。內建的DSP和存儲器模塊提供了完成這些任務所需要的基本單元。Quartus II、SOPC Builder和DSP Builder等用戶友好的設計工具大大提高了工程設計的效率。圖6給出了FPGA的一個數字電視應用,其中的FPGA包含有嵌入式處理器、存儲器接口、視頻圖像處理、圖像縮放以及用于平板顯示器(FPD)的屏顯(OSD)和時序控制器(TCON)功能。 圖6:典型的數字電視框圖。 |