Global Sources
電子工程專輯
 
電子工程專輯 > 控制技術/MCU
 
 
控制技術/MCU  

讓3G手機顯示MPEG-4視頻資訊的ACM解決方案

上網時間: 2001年06月10日     打印版  Bookmark and Share  字型大小:  

關鍵字:3G手機  MPEG-4視頻資訊  ACM解決方案  自適應電腦(ACM)  DSP 

MPEG-4視頻目前仍是猶抱琵琶半遮面,但它對數據處理能力所提出的要求與現有處理器性能之間的矛盾卻已對設計商提出了一個新的挑戰。本文介紹的自適應電腦(ACM)或許正是一種兼顧高性能與低功耗的理想解決之道。

Paul Master

技術副總裁

paul.master@qstech.com

Keith Lane

高級系統工程師

keith.lane@qstech.com

QuickSilver Technology公司

當前新興的MPEG-4多媒體標準結合了交互性、普通與合成數位視頻、音頻以及電腦圖像,它主要針對視頻會議、移動電視電話、多媒體及其它應用場合。這個標準由一系列支援從數位電視、視頻流到移動多媒體和遊戲等應用的方法組成,提供了形狀編碼、位移判斷與補償、紋理編碼、錯誤恢復、子畫面編碼以及縮放等各種方法。

MPEG-4預示著高品質個人視頻通訊和會議應用將獲得重大發展。但另一方面它也會帶來一些設計困難,因為在此標準下算法變得更加複雜,同時標準本身也還在不斷發展。與以前的MPEG-1和MPEG-2相比,MPEG-4的算法複雜性大為增加。

要開發新型的支援移動MPEG-4的設備,其關鍵也許在於一種被稱為“自適應處理”的技術。與傳統的微處理器和DSP方法相比,自適應處理的優點在於它能根據當前的需求重新配置處理資源,將其用在所需之處和所需之時。

3G手機備受矚目

MPEG-4技術潛在的最有意義的應用是第三代(3G)無線手機。一些設計商可能會想當然地認為手機的螢幕小,因而它對計算性能的需求也不會太高,但事實上這種想法與工程實際相去甚遠。圖1顯示了一個長方形視頻對象(VO)或四分之一普通立即格式QCIF(quarter common immediate format)的176×144像素圖像幀的MPEG-4計算複雜度。為了生成高品質的視頻圖像,MPEG-4編/解碼器必須達到3.7BOPS(十億次/每秒)的運算能力。

除了計算性能的要求以外,由電池供電的即時圖像通訊應用環境也對低功耗提出了非常苛刻的要求。基於全搜索位移判斷的即時視頻設計使計算負荷達到9.34BOPS整數運算(8位或16位數據),並且要求儲存頻寬達到6.22BOPS的8位訪問。對於視頻編碼器而言,位移判斷大約占總計算複雜度的66%。傳統的微處理器、數位訊號處理器(DSP)以及ASIC設計方法的性能不夠強大,同時功耗也不夠低,不能有效地處理此類位移判斷計算。雖然除了位移判斷之外,其它許多MPEG-4方法並不進行如此大量的計算,但它們要承擔提高圖像品質的任務,錯誤恢復便是其中的一個重要處理方法。

對於無線和移動通訊等易出錯環境下的一般訪問,錯誤恢復至關重要。目前有多種機制可用來進行錯誤恢復處理,其魯棒性和複雜度各不相同。這些機制的實現依賴於能夠實現再同步、錯誤檢測、數據恢復和錯誤消隱的方法。MPEG-4視頻有四種錯誤恢復方法:再同步、數據分離、頭擴展代碼和可逆變長度碼。

再同步是位流錯誤恢復中最常用的方法。它在位流中插入獨特的標識,當不可恢復的錯誤出現時,解碼器能跳過剩餘的數據位,直到發現下一個標識,然後再從此處開始解碼。MPEG-4允許在一定數量左右的編碼位或視頻數據包後插入再同步標識,這與只允許在特定數量的編碼宏塊(coded macro-block)後進行再同步的MPEG-2和H.263不同。

數據分離是一種將位移資訊編碼位與紋理資訊編碼位分開的方法,藉由使用解碼出來的位移資訊有可能得到效率更高的錯誤隱藏方法。例如,若只在紋理位上出現錯誤時就可以使用這種方法。

頭擴展碼是二進制碼,其中可包含對於視頻正確解碼至關重要的冗餘頭資訊。頭擴展碼減少了頭資訊的錯誤,還可避免一次跳過大量的位流。

可逆變長度碼進一步減輕了錯誤對解碼數據的影響。它們是可以前向和後向解碼的代碼字。發生錯誤時,這些代碼字使我們可以對不正確的位流部份進行反向解碼,而不必再跳過從發生錯誤處到下一個再同步標識之間的位流,從而將錯誤造成的影響限制在一定的範圍內。

圖2簡要揭示了無線手機設計中實現MPEG-4標準所需的離散餘弦變換(DCT)和位移判斷的計算需求。在DCT計算中,加法、減法和乘法累加(MAC)運算各占30%。另一方面,位移判斷大約需要40%到50%的加法運算,此外還有40%到50%是累加計算中的絕對差分運算。對系統工程師而言,DSP並不適合於進行累加計算中的絕對差分運算。

混合編碼概念

MPEG-4的視頻壓縮方案建立在基於塊的混合編碼的概念之上。基於塊的混合編碼概念曾應用在國際標準組織/國際電工委員會(ISO/IEC)的MPEG-1、MPEG-2和國際電話電報顧問委員會(CCITT)的H.261/ITU-T H.263視頻壓縮標準及建議中,現在又在MPEG-4標準中被進一步擴充以支援任意形狀的視頻對象。這種任意形狀的視頻對象在一個邊界框內被分割為16×16像素的宏塊(macro-blocks),並基於MB宏塊和8×8像素塊進行編碼,這與基於塊的視頻壓縮方案類似,但採用的是MPEG-4編碼方法。

視頻對象的形狀用一個具有像素精密度的alpha平面表示,並由一種標準之外的、與應用相關的方法放大。圖像實體可以是半透明的,大小可變。它們可以是一般視頻對象(VO),也可以是能由用戶操縱的合成對象或電腦生成的對象。每個對象都由不同的編碼器和解碼器進行編碼和解碼,編碼方法可以不同。特定時間段內的視頻對象顯示稱為視頻物面VOP(video object plane),相當於基於塊的視頻中“幀”的概念。

每個視頻對象都有不同的品質要求,這意味著每個視頻對象可能各有一套不同的位移判斷算法。例如,前景對象可能是高品質模式,而幾個背景對象則可能採用各不相同的低品質模式。從基於塊的視頻編碼轉向基於對象的視頻編碼之後,下一步是需要一種新的超大規模整合(VLSI)設計方法,以及一種靈活性相當高的新的VLSI結構體系。增加這些要求的主要原因是位移判斷和DCT是MPEG-4標準中對計算性能要求最高的方法。

DCT是一種在圖像壓縮中廣泛使用的變換方法,它大約占到了MPEG-4計算量的20%到30%。一維DCT用作二維DCT的結構單元。使用一維DCT的傳統二維DCT的總體性能依賴於這些一維DCT的組織方式。JPEG靜態圖像壓縮標準、H.261、H.263視頻會議標準,以及MPEG-1、MPEG-2和MPEG-4數位視頻標準都採用了DCT。在這些標準中,二維DCT用於處理被壓縮圖像中的8×8像素塊。

DCT得到的64個系數藉由量化之後用於實際壓縮。對於一般的圖像,8×8像素塊的大部份DCT系數都很小,量化後變為0。DCT的這種性質對於真實圖像的壓縮是非常重要的。

移動對象

位移判斷是在行動電話設計中實現MPEG-4標準的關鍵因素之一。位移判斷主要基於一種搜索機制,這種機制試圖在當前幀中找出一個16×16的宏塊,與前一幀中某一預定或自適應搜索範圍內的16×16塊取得最佳匹配效果。但是,由於位移判斷的算法沒有標準化,此處介紹的方案現在還存在幾種不同的選擇。與最初位置相關的匹配位置由一個位移向量描述,它以位流的形式傳送到視頻解碼器。

在無線手機的視頻編碼中,位移向量用於補償視頻序列內的位移,而且,只有殘餘訊號和預測誤差才需進行編碼和發送。因此,所選擇的位移向量必須能最大程度地降低預測誤差,並能最大程度地減少預測誤差編碼所需要的位數。圖3顯示了位移判斷算法的兩種分類,即時域算法和頻域算法。

設計商也可使用能降低計算複雜度並相應降低功耗的快速位移判斷算法。不過,在使用傳統的微處理器和DSP來執行這些算法時,這種設計方案所得到的結果是圖像品質差,數據流也不穩定。但是,當採用自適應計算等更新的技術來實現這些算法時,其效果可得到提高。

由於這些算法乃至MPEG-4規範本身都還不成熟,至今仍在不斷改進,因此對於行動電話設計商而言,今後肯定還會有很多變化,包括算法上的改變、增強、缺陷修補,互作業性的改善以及性能的改良等等。MPEG-4算法的不斷變化使基於ASIC的實現方法變得基本不可行。這種情況對傳統的基於ASIC的實現方法或一種將處理器/DSP與ASIC核心相結合的所謂“最佳嘗試”實現方法提出了更多的要求。

功耗問題

現在,用戶一方面對設備的性能提出了越來越高的要求,另一方面又希望維持盡可能低的功耗。針對這種情況,密切關注和深入分析當前的技術對通訊設計工程師相當重要。要達到這個目的,有一種方法是進行計算功耗效率(CPE)比較,這可說是比較當前各種設計技術優缺點的一個尺度。CPE的定義是:在一個時鐘周期內,為解決某個問題實際參加工作的門電路數與該器件中總的門電路數之比。

例如,一般DSP或嵌入式核心的CPE大約為10%。這意味著,一般情況下,在任一給定的時間內,DSP核心或晶片上只有10%的門電路在真正進行工作(見圖4)。圖4顯示,DSP中只有一少部份門電路在真正進行有用的工作,其餘部份在進行開銷管理。這種開銷用來保証真正執行實際工作的那一小部份進程。盡管CPE值較低,DSP在軟體可程式性和上市時間上具有很大的優勢。

ASIC的平均CPE大約為25%,是DSP設計方式的2.5倍。這種性能的提高和功耗的降低是以損失靈活性為代價來獲得的。在ASIC的設計周期內,如果出現任何沒有事先估計到的變化都將導致整個ASIC設計從頭開始。

自適應計算

第三類處理能力,即自適應電腦ACM(adaptive computing machine)技術與傳統的微處理器和DSP不同,它能更有效地用於支援MPEG-4的無線設計。簡而言之,ACM晶片能靈活地調整其結構以執行多種任務。

基於ACM的系統執行時,晶片會發生改變或自我調節變成最有效率的“ASIC”來實現指定的功能。在工作過程中,晶片不停地改變,在短短的一個瞬間它的結構體系就可變化好幾百次。ACM也允許建立起軟體算法,然後將這些算法植入到能最有效地實現其應用的硬體之中。

當一種算法執行在某一硬體上所需的時間最短時,這個硬體就是該算法的最佳硬體。CPE尺度與處理技術無關。換句話說,在相同的處理技術下,基於ACM的處理器總是比DSP或ASIC的解決方案效率更高。

傳統微處理器和DSP的低處理效率反過來也影響了算法的整體性能。在許多情況下,行動電話設計商必須改變給定的算法,以使其適合特定的RISC微處理器或DSP結構體系。對於給定的算法,設計工程師或程式員必須設法調整其代碼,才能使它在特定的微處理器或DSP上盡可能高效地執行。

與之相反,ACM結構使得系統工程師可以讓給定算法以其最有效的形式執行。換句話說,用於有效執行代碼的處理工作可在少數時鐘周期內完成。

過多的時鐘周期

在傳統的DSP或微處理器上執行一個MPEG-4位移判斷或DCT算法需要消耗大量的時鐘周期,這些時鐘周期主要用於取指令和讀寫作業數。微處理器和DSP作業所消耗的大多數時鐘周期都用於開銷管理--不過是建立起實際需要的工作環境而已。圖5為測定微處理器和DSP執行位移判斷或DCT算法時的低效程度的一個基準程式。在這個例子中,基準程式將27個浮點數加到一個27輸入的加法器函數中去。

在本例中,微處理器花費了1,013個時鐘周期來完成27個浮點數相加的運算,執行了大量的數據作業。它首先向記憶體發出一個地址,然後再從中取出一條指令。在這個過程中,使用了大約40種不同的優化技術來提高指令執行的性能。

不同類型的微處理器分別藉由4級到25級流水線來傳送指令。如果是一個超長指令字(VLIW)處理器或超標量RISC處理器,它還會執行推理、暫存器記數(scoreboarding)、多分支預測、非順序執行指令以及其它各種優化作業步驟。在微處理器每次向記憶體發送一個地址、取得第一個數據元並將其放入暫存器後,就會執行這些步驟。上述步驟要執行27次,總共需要1,013個時鐘周期。

具有兩個乘法累加器的DSP執行同樣的基準程式只需107個時鐘周期。執行一個乘法累加運算需要一個單位的時鐘周期,但是這種DSP在一個時鐘周期內可以同時執行兩個乘法累加運算。

這種DSP是一種改進型的Harvard結構,它整合了兩個獨立的數據匯流排和一個獨立的指令匯流排。與傳統的微處理器相比,系統工程師可借助其谷粒平行性(coarse-grain parallelism)的優勢,從而達到執行同一基準程式只需花費107個時鐘周期的性能,遠遠快於微處理器。

一種精確的方法

另一方面,自適應計算能夠隨時在晶片中實現所要求的精確硬體,因此可以將實現27輸入加法器的算法下載到自適應計算晶片中。這種情況下,整個計算只需7個時鐘周期內即可完成,比DSP有很大的提高。藉由採用這種方法,自適應計算晶片能以最高效的形式執行給定的算法。

一般的ACM晶片都整合有一個RISC處理器核心和一個相鄰的大型自適應功能電路,專門設計的介面電路使得RISC微處理器核心和細粒度(fine-grained)自適應計算電路能夠緊密配合。RISC微處理器核心周圍的硬佈線週邊設備則用來與外部電路介面。

ACM晶片上還有幾個靜態RAM用於支援RISC微處理器或自適應電路,可配置I/O允許數據輸入或輸出自適應電路。因此,可以根據需要來建立電路,而且一旦這個電路的任務已經完成,它就可以被自適應電路中實現的其它電路或功能替換。

最新推出的DSP已針對有限衝擊響應(FIR)濾波運算進行了優化,FIR濾波是前幾年的一個熱門應用。藉由採用改進型Harvard結構,這些DSP能實現平行讀取、譯碼和執行兩條獨立的指令。兩個帶附加訪問匯流排的記憶體塊允許在每個時鐘周期內同時執行兩個數據存取作業。

這些記憶體可藉由專門的地址模式硬體進行順序讀取而無需額外執行指令。此外,為了實現零開銷循環還採用了其它專門硬體。有了這些新的改進,DSP現在能以連續方式在每個時鐘周期內同時處理兩個乘法累加作業。總之,FIR算法是作出這些體系結構變化的基礎,有了這些變化,DSP就能更有效地執行FIR濾波作業了。

尋址複雜性

最近出現的DCT算法比FIR濾波算法複雜得多。針對FIR濾波進行優化的DSP並不能有效地執行DCT運算。DCT的複雜性主要在於高度的互連性,乘法累加器的高密度使用,以及大量的專用算術邏輯單元(ALU)作業。每個一維DCT大約需要29次加法和五次乘法。

DCT作業可採用兩種不同的方式加以實現。記住,在一個DSP時鐘周期內可執行兩條指令。在正常地址方式下,從雙數據記憶體中取出四個數據字,然後對它們進行雙MAC作業,專用零開銷循環硬體對循環進行計數。

但是,DCT所要求的尋址方式比較獨特,針對FIR濾波器的尋址進行優化的DSP硬體不適用於DCT尋址,這種尋址方式的特殊性要求程式員必須計算出每個MAC作業的地址。DCT中的數據訪問是一種非常規的尋址機制。數據的所有8個像素點都是以一種非順序的、混合的方式被多次尋址,直到DCT作業完成,然後再處理下面的8個像素點。

有兩種不同的方式來組織指令進行DCT運算。第一種方法是,每個時鐘周期執行兩條指令:(計算地址和獲取數據)+MAC作業。第二種方法是,在第一個時鐘周期內執行:(計算地址和獲取數據)+(計算地址和獲取數據);在第二個時鐘周期內執行:MAC作業+MAC作業。

在第二種方法(不讀取數據而平行執行兩個MAC作業)中,即使兩個MAC作業都在同一個時鐘周期內執行,它們也得首先取得作業數,這意味著需要一個額外的時鐘周期來從記憶體中讀取像素點。這導致其執行時間最少需要兩個時鐘周期。

第一種實現方式(平行讀取一個新像素和執行一個MAC作業)有兩個缺點。由於DCT算法是訪問記憶體中的數據,所以它採用了在DSP中廣泛使用的間接尋址模式。這導致的第一個問題是間接尋址與平行執行指令不相容。換句話說,在兩條指令中,只要其中一條採用間接尋址方式,它們就不能平行執行。為了避免這種設計上的問題,必須計算出新的地址並將其保存到暫存器中。於是,這又導致了第二個問題:需要更多的時鐘周期和暫存器。在這兩種實現方式中,由於改進的DSP結構上的固有限制,只能以連續方式執行一個MAC作業。

由於任何MPEG-4設備都不可避免地會存在數據流非一致性的問題,手機設計商必須探索解決計算需求和功耗之間矛盾的所有可能方法。基於數據流的自適應處理是可能的解決方案之一,但從事這項極具挑戰性工作的工程師仍然希望繼續對這一新興標準進行各種嘗試。另外,只有在MPEG-4標準最終完成之後,ASIC解決方案才具備可行性和大量應用的基礎。這種狀況促使謹慎的設計商去探索一種能夠將已有的優秀處理能力和過渡性技術結合起來的結構體系。

作者簡介:

Paul Master是QuickSilver Technology公司的技術副總裁。他有15年的高技術管理經驗,主要涉及的是與可重新配置的計算、數位訊號處理、協議和系統相結合的通訊和電腦編程。Emial:paul.master@qstech.com。

Keith Lane是QuickSilver Technology公司的高級系統工程師。他在通訊系統的設計和實現方面有15年以上的經驗,主要從事無線協議設計、無線多媒體應用和無線訊息通道特性研究。Email:keith.lane@qstech.com。





投票數:   加入我的最愛
我來評論 - 讓3G手機顯示MPEG-4視頻資訊的ACM解決...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首