當今生活的時代,多媒體通信的出現(xiàn)和流行是大勢所趨。隨著數(shù)字電視(DTV)、IP視頻傳輸、數(shù)字相機、無線視頻、醫(yī)療圖像和視頻監(jiān)控等應(yīng)用的興起,目前提供音頻和數(shù)據(jù)服務(wù)的許多系統(tǒng)都會隨實時視頻技術(shù)的應(yīng)用而有不同程度的擴展。在最近的技術(shù)發(fā)展表明,芯片邏輯門密度和嵌入式功能的極大提高為多媒體處理設(shè)計提供了激動人心的設(shè)計可能性。同時,還可以利用可重配置芯片所提供的額外靈活性來提供具有吸引力的解決方案。本文中,我們將考察多媒體系統(tǒng)的要求以及多媒體處理所需要的一些基本構(gòu)建模塊。然后,我們將討論將實時視頻應(yīng)用的抽象描述轉(zhuǎn)換為采用FPGA技術(shù)有效實現(xiàn)的設(shè)計所需要的設(shè)計流程。最后,我們將考察新興壓縮標準JPEG2000和MPEG-4的需求。在多媒體處理解決方案領(lǐng)域,F(xiàn)PGA技術(shù)能夠以合適的價位點提供實現(xiàn)下一代多媒體算法所需要的帶寬、設(shè)計工具和芯片,從而滿足多媒體設(shè)計人員的要求。
多媒體通信
由于新興壓縮和通信技術(shù)的快速應(yīng)用,對多媒體通信的需求每年都在提高。這些技術(shù)大部分都被ISO、ITU、SMTPTE和IEEE等標準機構(gòu)所采納。多媒體壓縮對于有效地使用可用的存儲和帶寬資源非常關(guān)鍵。ISO MPEG和J
PEG工作組和ITU一起開發(fā)了可滿足音頻、視頻和系統(tǒng)壓縮需求的標準。兩個最近完成的標準JPEG2000 和 AVC (高級視頻編碼解碼器, MPEG-4 Part 10/H.264)標準,提供了前所未有的性能水平,但密集的計算需求比較有利于FPGA技術(shù),而不是傳統(tǒng)基于處理器的解決方案。
這些壓縮標準致力于滿足范圍廣泛的應(yīng)用領(lǐng)域,并按運算的"類"(profile)和"級"(level)來劃分。類定義了編碼解碼器中所使用的標準算法功能集合。級則定義了特定類中的參數(shù)選擇集合,如幀大小和速率。這些標準服務(wù)的多樣化市場包括數(shù)字視頻廣播、IP多媒體傳輸、無線多媒體傳輸、視頻監(jiān)控、醫(yī)療圖像和數(shù)碼相機。這些市場在采集、計算和顯示方面有著非常不同的要求。
壓縮芯片市場預(yù)計到2006年時將從目前的15億美元增長到28億美元。這一發(fā)展趨勢與1990年代音頻無線應(yīng)用大變革時的情況類似。今天的許多系統(tǒng)都提供音頻和數(shù)據(jù)服務(wù),我們在文中將考察視頻服務(wù)的興起,以及新帶來的計算需求挑戰(zhàn)。
多媒體系統(tǒng)的要求
多媒體系統(tǒng)的要求高度依賴于最終應(yīng)用。例如,視頻點播(VOD)對延遲的要求相對較高,而視頻會議則對延遲有精確的高要求。視頻監(jiān)控在延遲方面的要求則介于在這兩個極端之間。實時多媒體系統(tǒng)可能需要也可能不需要實時編碼。MPEG標準的開發(fā)主要著眼于降低解碼器的復(fù)雜性,以提供成本經(jīng)濟的方案。相對而言,MPEG編碼器的復(fù)雜程度是MPEG解碼器的10倍左右。不需要實時效果的應(yīng)用,如視頻點播可以采用兩步算法進行離線編碼以獲得最佳的效果。視頻監(jiān)控和視頻會議則是需要實時編碼的例子。在針對多媒體壓縮的標準中,解碼器功能規(guī)定了嚴格的標準兼容性規(guī)則,而編碼器相對則自由多了。換句話來說,視頻編碼器只要能夠生成符合標準的正確位流就可以,而兼容解碼器則必須能夠解釋標準定義的特定"類"和"級"中所允許的任何正確位流。
圖像數(shù)據(jù)庫存儲要求與壓縮視頻傳輸?shù)囊蠼^緣不同。ISO JPEG工作組通常以壓縮比率來衡量不同的壓縮方案,而ISO MPEG通常采用固定位速率做為衡量參數(shù)。只要我們談到多媒體通信,這些系統(tǒng)在數(shù)據(jù)傳輸過程中都需要通信信道能夠保證固定的位速率。這導(dǎo)致一個問題,因為壓縮比率是序列相關(guān)的,因此為了獲得可接受的結(jié)果,必須在質(zhì)量方面有所折衷。很明顯,在編碼器方面如果嚴格遵循固定位速率生成數(shù)據(jù)位流,那么就會導(dǎo)致幀之間質(zhì)量的變化,有時可能會變得無法接受。這一問題可以通過下面的方法來減輕,在類編碼器的后面指定一個緩沖存儲區(qū),這樣就可允許編碼器以可變數(shù)據(jù)速率填充緩沖區(qū),而通信信道則可以以固定速率讀取并清空緩沖區(qū)。這意味著多媒體壓縮系統(tǒng)需要存儲器。為了提高或增強質(zhì)量所需要的額外預(yù)處理和后處理也提高了對存儲器的需求。例如,在MPEG-4編碼器的情況下,典型情況下需要3~10 MB的存儲器,而解碼器只需要1~3 MB。
對任何系統(tǒng)來說,一個主要的要求是為達到實時操作而需要的每秒運算次數(shù)。對于多媒體壓縮來說,這確實是一個需要量化的具有挑戰(zhàn)性的數(shù)字。由于工作點很多,計算所需要的MOPS數(shù)值可能很大。圖1 給出了幾個MPEG-4"類"以及達到這些工作點所需要的相對MOPS數(shù)值,其中一級簡單類歸一化值為1。一個分辨率為640x480、每秒30幀的JPLEG2000視頻監(jiān)控應(yīng)用視頻流大約需要4200 MOPS,而分辨率為1024x1024、 每秒 60幀的醫(yī)療圖像無失真碼流在采用JPEG2000標準編碼時則需要29000 MOPS。利用JPEG200 0標準的4096x2048分辨率24 幀每秒的數(shù)碼相機需要93000 MOPS。使問題更復(fù)雜的是,在整個視頻流運算過程中,所需要的MOPS數(shù)值并不是固定值,而是依賴于圖像內(nèi)容的。在圖2中我們看到在視頻序列的播放過程中,峰值MOPS數(shù)值是需要確定的關(guān)鍵要求。
圖1 不同MPEG"類"編碼所需要的計算MOPS要求
對于多媒體壓縮來說,人們可能會問,到底哪些功能是計算密集的呢?信息理論的基礎(chǔ)告訴我們,無損失壓縮就是在信源編碼過程中不影響圖像集的數(shù)值。在現(xiàn)在的多媒體壓縮編碼解碼器中,這是通過可變長度編碼和算術(shù)編碼實現(xiàn)的。在圖像本身所提供的信息量之外則進入不相干信息處理領(lǐng)域,通常利用運算預(yù)測(Motion Estimation)算法來消除暫時冗余,通過離散余弦變換(DCT)或離散小波變換(DWT)進行能量壓縮,對視頻流中包含的高頻項進行比例壓縮。這兩項都會影響到解碼序列的質(zhì)量,因為對于有損壓縮來說,理想的圖像重構(gòu)是不可能的。對于MPEG編碼,MOPS和運算圖像預(yù)測算法以及結(jié)果的質(zhì)量目標之間影響很大。運算圖像預(yù)測需要從一個幀搜索下一個幀(圖3)以找到空間元素的最小誤差,從而來確定運動 向量。這一運動向量加上不同的數(shù)據(jù)被一起編碼,這可大大提高壓縮比、降低位速率。
圖2 MOPS數(shù)值變化
圖 3 暫時冗余和運動預(yù)測
在多媒體系統(tǒng),多媒體接口也扮演了相當?shù)慕巧NSI/SMPTE 259M-1997標準規(guī)定了如何通過視頻同軸電纜串行傳輸數(shù)字視頻內(nèi)容。通常稱為SDI的這一標準現(xiàn)在被廣泛用來在電視演播室和視頻生產(chǎn)中心通過原來用于傳輸模擬視頻的視頻同軸電纜來傳輸數(shù)字視頻數(shù)據(jù),數(shù)字音頻被插入數(shù)字視頻流的非活動部分。計算出的錯誤檢測數(shù)據(jù)包(EDH)也被插入視頻數(shù)據(jù)流中。然后,數(shù)字視頻內(nèi)容被編碼、串行化并通過同軸電纜發(fā)送。在接收端,數(shù)據(jù)和時鐘從串行位流中恢復(fù)出來,位流被解碼、成幀和去串行化。最后,在對數(shù)字視頻數(shù)據(jù)解碼以前,對位流進行錯誤檢測和分析。
多媒體解決方案
在今天成本敏感的環(huán)境中設(shè)計多媒體系統(tǒng)是一項頗具挑戰(zhàn)性的任務(wù)。從技術(shù)的觀點來看,芯片邏輯門密度不斷提高可支持更復(fù)雜的算法。更多嵌入式功能也降低了系統(tǒng)設(shè)計師所面臨的設(shè)計挑戰(zhàn)。新的芯片集成努力也似乎可將最終設(shè)計的尺寸降到盡可能小。 要找到一個合適的解決方案需要理解計算、存儲器和接口方面存在的各種選擇。
多媒體處理對計算性能的要求從數(shù)千MPOS至數(shù)萬MOPS不等。如果我們考察一下可用于完成計算功能的芯片解決方案,我們可以看到有通用處理器、DSP、媒體處理器、FPGA、SIC和ASSP。集成多媒體擴展功能的通用處理器可達到數(shù)百MOPS的性能,當應(yīng)用中不需要太強的計算能力時,通用處理器提供了一個很好的解決方案。當多媒體僅是整個系統(tǒng)環(huán)境中需要提供的眾多功能中的一項時,通用處理器非常具有吸引力。數(shù)字信號處理器可提供5000 MOPS左右的性能,應(yīng)用范圍更廣,并且可很好地在嵌入式應(yīng)用中工作。媒體處理器的計算能力更進一步,達到約2萬MOPS,而很多嵌入式功能專門針對多媒體處理器而優(yōu)化。此類功能的例子有芯片中做為硬件加速器而集成的嵌入式位處理器和特殊的MPEG功能。FPGA的計算性能可達到10萬MOPS,并可處理高速接口。計算能力的提升源于分布式邏輯、MAC和本地存儲器,可以根據(jù)特殊應(yīng)用高效率地使用這些資源。通過在平臺FPGA中引入嵌入式處理器(如PowerPC),代碼可編程能力和硬件可編程能力都是可能的。ASIC可達到數(shù)十萬MOPS的計算性能,并曾廣泛用于嵌入式應(yīng)用。但是,ASIC也有缺點,那就是ASIC需要極高的NRE成本,因此僅適用于大批量應(yīng)用。ASSP專門針對一種特定應(yīng)用,如果應(yīng)用于其它應(yīng)用中,則通常在質(zhì)量方面會有所折扣。
多媒體應(yīng)用對存儲器的需求依據(jù)應(yīng)用不同可能從數(shù)千字節(jié)到數(shù)M字節(jié)。大多數(shù)應(yīng)用都可以按照需要存儲的幀數(shù)來衡量。作為參考,720x480x24位的一幀NTSC數(shù)據(jù)需要341 KB的存儲空間。如果僅需要存儲少量幀的話,片上集成的存儲器大概可以滿足要求。高分辨率720行逐行掃描(1280x720x24)需要900 kb才能存儲一幀數(shù)據(jù),而 1080i (1080x1920x24)的一幀將需要2.025 MB的存儲空間。大體上,一旦達到數(shù)兆字節(jié)的存儲量,那么就需要外部存儲器了。目前,外部存儲器的流行選擇是同步DRAM和ZBT存儲器。ZBT存儲器的優(yōu)點是可交叉訪問、存儲器控制器簡單,但容量較小,只有2~8MB,而且相應(yīng)地,其成本也比DRAM要高。同步DRAM在讀寫間切換時有延遲,需要更復(fù)雜的存儲器控制器。其容量為32~128MB,有雙倍和四倍數(shù)據(jù)速率的產(chǎn)品型號,可以提高連續(xù)數(shù)據(jù)猝發(fā)讀取時的存儲器帶寬。
多媒體應(yīng)用設(shè)計工具
芯片邏輯門密 度的提高對于設(shè)計工具行業(yè)提出了困難的挑戰(zhàn)。隨著100萬門的設(shè)計非常普通,而1000門的設(shè)計也已達到,工程師如何應(yīng)付設(shè)計單塊芯片上的一億邏輯門系統(tǒng)這些樣的設(shè)計復(fù)雜性?對于通用處理器和數(shù)字信號處理器來說,軟件編程環(huán)境為設(shè)計人員提供了一個很好的環(huán)境,幫助他們利用所提供的計算能力。對于多媒體系統(tǒng),問題變得更為復(fù)雜,因為緩存尺寸變得更大,而且還要滿足更強的實時處理要求。我們期望多媒體擴展處理能力變得更為普遍,從而使設(shè)計人員從實現(xiàn)實時處理目標所需要的細節(jié)中解脫出來。額外的IP庫對于減輕與設(shè)計復(fù)雜性相關(guān)的問題也扮演了一個關(guān)鍵的角色。媒體處理器的嵌入式功能在通用編程環(huán)境中的使用稍微困難一些。FPGA和ASIC的吸引力在于其計算能力提升了數(shù)個量級,這要歸功于其并行機制。充分發(fā)揮其計算能力的關(guān)鍵在于能否擁有一個高效率的編程環(huán)境。C語言和邏輯設(shè)計工具的最新發(fā)展,以及幾家供應(yīng)商新發(fā)布的工具承諾在明年可解決這一問題。
在開發(fā)新的編碼解碼器時,C編程環(huán)境對于標準的應(yīng)用是一個關(guān)鍵的出發(fā)點。在開發(fā)AVC編碼解碼器的過程中,參考軟件為開發(fā)人員提供了解釋編碼解碼器中每種技術(shù)相對參數(shù)的參照標準和方法。當一
種標準被接受時,這一參考軟件扮演了一個有用的角色,可以為設(shè)計人員提供一個參考點。這意味著,通常設(shè)計的起點就是從理解參考軟件以及相應(yīng)的復(fù)雜性瓶頸開始的。特征描述工具也開始出現(xiàn),這些工具可快速揭示出存儲帶寬和計算問題。
我們也看到,市場上也開始出現(xiàn)了針對特定領(lǐng)域應(yīng)用的專用工具,它們可以提高多媒體系統(tǒng)設(shè)計的抽象水平。Mathworks 提供了一個大多數(shù)DSP設(shè)計人員非常熟悉的算法探索/開發(fā)環(huán)境。Xilinx System Generator for DSP就基于這一框架,提供了一種探索/研究算法、進行行為仿真并生成最終FPGA設(shè)計的方法。圖4示意出了在Xilinx System Generator for DSP表達的一個邊沿檢測系統(tǒng)。這一仿真框架還可提供在仿真循環(huán)過程中通過硬件來加快仿真速度的可能。在針對特定領(lǐng)域的工具方面,更高層次的抽象使得更容易跟上芯片邏輯門密度增長的步伐。
結(jié)論
在本文中,我們討論了多媒體通信以及目前多媒體行業(yè)所面臨的問題。同時也討論了多媒體系統(tǒng)的要求和處理需求,并探討了可用來滿足這些要求的器件。最后,我們指出多媒體設(shè)計工具需要不斷提高抽象水平,才能為高效率地使用數(shù)百萬系統(tǒng)門的芯片資源提供支持。
圖4 Xilinx System Generator for DSP