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