元件 次系統 自動控制 |
最新動態
|
產業快訊
|
|
Operation
Computational Characteristics
ME
Regular data flow, high data locality
Shape Coding
BME: bit-level parallelism, regular data flowOthers: bit-level processing of high data locality
Block Operation
High data locality at MB level, rich DSP computations
Bitstream Operation
Irregular bit/bitstream operations, complex control flow, rich conditional branch
移動估計(Motion Estimation)
ME的設計已被廣泛的討論於許多文獻中,其具有高度資料平行運算的特性。由於ME的演算法有全搜尋法(Full search)與快速演算法(Fast algorithm)二大類,此二者在搜尋時所需資料的順序大不相同,因此也產生出各自適合的架構。對全搜尋法,常見的為systolic array的架構;但對於快速演算法,架構上的設計就需要搭配演算法,以得到較高的效率。近年來的作法,是針對不同的應用,以不同的演算法來處理,因而產生了一種混合式的設計,是可在全搜尋法與快速演算法間作切換。
此種作法共分成三個處理程序,第一級為Pattern Generation,根據不同的Search Pattern來產生適當的搜尋位置,如:在全搜尋法時可採用螺旋狀(Spiral Pattern),而在快速演算法(例如Diamond Search)時為Diamond Pattern,並且將此搜尋位置送入第二級FIFO,以提高第三級的硬體使用率。第三級為Distortion Calculation,使用加法樹來計算Distortion並且累加成為SAD值。此外,由於ME需要存取大量的資料,因此如何減少對記憶體存取便成為一個重要的課題,一般的作法會是以記憶體的重新排序或是其它技巧以達到資料重覆使用的目的。
形狀編碼(Shape Coding)
二元形狀編碼法為MPEG-4視訊標準中用以支援物件導向功能最為核心關鍵的一個技術,因其內含大量的位元層次運算以及大量的資料交換特性,導致在精簡指令集計算機運算上的瓶頸。在設計上可採用延遲線模型(Delay Line Model)來實現,利用一些暫存器及適當安排的資料排程,便可達到資料重用的目的,以減少對記憶體的存取。另外,對於CAE(Context Arithmetic Encoder)的運算,需要因應不同的Template與不同Block 大小(16×16、8×8、4×4),因此可重組化(configurable)的功能在此是十分需要的。在Arithmetic Coder的部份,則是需要注意其輸出效率,避免使其成為瓶頸。而在整個形狀編碼的運算中,主要是針對其資料流的安排、資料重複使用的方式來增加運算的平行度與減少資料的傳遞。
Block-level Operation
Bock-level的運算包含了DCT/IDCT、量化(Quantization;Q)/Inverse Quantization(IQ)、與在MPEG-4中出現的AC/DC Prediction,這些運算都是以8×8的block為處理的單位。如(圖一)所示,灰色的部份就是Bock-level的運算。我們可以發現,由於DCT/Q/IQ/IDCT形成一個Coding Loop,而MC的輸出同時必須給不同時間點的A與B。如果Coding Loop的Latency過長,就需要較多的緩衝區來儲存MC的輸出。這就是在設計上的一個取捨,必須根據真實的應用來作調整。使用兩套的DCT與IDCT模組可以達成最短的Coding Loop Latency,但是會造成成本的增加。因此有許多不同的排程方式被提出來。另外一個值得注意的是,Q/IQ與AC/DC Prediction都有類似的乘除器的Data Path。因此,藉由適當的排程,可達到二者Data Path的共用,進一步節省所需的成本。
《圖一 Block-level Operation 流程圖》
系統架構
實現一個完整的多媒體系統需同時兼顧運算能力、可調性、與未來擴充性。實現的方式可以用純軟體,或是純硬體的設計,但都有其缺點。融合了硬體與軟體的特性與優勢,平台架構設計(Platform-based Design)是包含一套處理器與記憶體的完整系統,針對適合於硬體加速的演算法以週邊的方式掛在匯流排之上,經由定義好的協定,達成軟體與硬體的共同工作(HW/SW Co-Design)。由於兼具軟、硬體的實現平台,使適合於軟體實現的演算法由軟體實現,而需要硬體加速的部分由硬體來實現,可達成低成本、高效能、且具高度的延伸性,因此相當適合於實現一個多媒體系統。
(圖二)即為一個MPEG-4編碼系統的架構圖,包含了RISC Processor、二條匯流排(RISC Bus與Data Bus)、DMA(Direct Memory Access)、MEM IF(Memory Interface)、與其它視訊編碼模組。RISC Processor可負責整個編碼流程的控制,與部分具有較低運算量的演算法,如:編碼的模式之決定(Mode Decision)、移動向量的編碼(Motion Vector Coding)、移動向量的預測 (Motion Vector Prediction)等。RISC Processor可透過RISC Bus來驅動每一個硬體電路模組,並且可以控制DMA模組,在適當的週期時間,讀取外部的資料至Data Bus上,或是將Data Bus上的資料寫入至外部記憶體。所有的專屬硬體單元都具有一個Wrapper,負責將RISC Bus上的訊號解譯(Address Decoding)並且可負責作資料型式的轉換。
《圖二 系統架構圖》
結語
在本文中,我們簡單說明了一個多媒體系統晶片之應用與技術架構。以MPEG-4這個標準為例,從系統分析,模組的特性與設計觀念,到系統整合,都有概括的介紹。多媒體的標準日新月異,應用的層面也在不斷的擴大。展望未來,相信如何使得整個系統消耗最低的功率卻提供最多樣化的功能,將是設計者主要的目標,而「低功率」與「可重組化」將是二個主要的設計方向。
(作者陳良基為台大系統晶片中心研究教授、張永基為台大電機系博士班研究生)
參考文獻
[1]MPEG-4 Video Group. Generic Coding of Audio-Visual Objects: Part 2 - Visual 14496-2, ISO/IEC JTC1/SC29/WG11 N2502a, FDIS, Atlantic City, Oct. 1998.
[2]ISO/IEC JTC1 IS 11172, Coding of Moving Picture and Coding of Continuous Audio for Digital Storage Media up to 1.5Mbps, 1992.
[3]ISO/IEC JTC1/SC29/WG11 Draft CD 13818-2, General Coding of Moving Pictures and Associated Audio, ITU-T Recommendation H.262 Committee Draft, 1994.
[4]ITU-T Recommendation H.263: Video coding for low bit rate communication, version 2, Jan. 1998.
[5]W.-M. Chao, Y.-C. Chang, C.-W. Hsu, and L.-G. Chen. "Platform Architecture Design for MPEG-4 Video Coding", in Proceedings of 2003 IEEE International Conference on Image Processing (ICIP2003), Barcelona, Spain, September 2003
[6]H.-C. Chang, Y.-C. Chang, Y.-C. Wang, W.-M. Chao, and L.-G. Chen, "VLSI Architecture Design of MPEG-4 Shape Coding," IEEE Trans. on Circuits and Systems for Video Technology, vol. 12, no. 9, pp.741-751, September 2002.
[7] C.-W. Hsu, W.-M. Chao, Y.-C. Chang, and L.-G. Chen, "Texture Coder Design of MPEG-4 Video by Using Interleaving Schedule," in Proc. International Conference on Multimedia and Exposition (ICME'2002), Lausanne, Switzerland, August 2002.
[8] W.-M. Chao, C.-W. Hsu, Y.-C. Chang, and L.-G. Chen, "A Novel Hybrid Motion Estimator Supporting Diamond Search and Fast Full Search," in Proc. of 2002 IEEE International Symposium on Circuits and Systems (ISCAS 2002), Scottsdale, Arizona, USA, May 2002.
[9]H.-C. Chang, L.-G. Chen, M.-Y. Hsu, and Y.-C. Chang, "Performance Analysis and Architecture Evaluation of MPEG-4 Video Codec System", in Proc. Int. Symposium on Circuits and Systems (ISCAS 2000), May 2000.
[10]N. Brady, "MPEG-4 Standardized Methods for the Compression of Arbitrarily Shaped Video Objects," IEEE Trans. on Circuits and Systems for Video Technology, vol. 9, no. 8, December 1999.
[11]M. Berekovic, G. Meyer, Y. Guo, P. Pirsch, "A multimedia RISC core for efficient bitstream parsing and VLD," Proceedings of SPIE: Multimedia Hardware Architectures, Vol.3311, pp.131-141, 1998.
[12]Z. L. He and M. L. Liou, "Cost Effective VLSI Architecture for Full-Search Block-Matching Motion Estimation Algorithm," Journal of VLSI Signal Processing, vol. 17, pp. 225-240, Nov. 1997.
[13]B. Natarajan, V. Bhaskaran, and K. Konstantinides, "Low-Complexity Block-Based Motion Estimation via One-Bit Transforms", IEEE Trans. on Circuits and Systems for Video Technology, vol.7, No.4, August 1997.
[14]S. H. Nam and M. K. Lee, "Flexible VLSI Architecture of Motion Estimator for Video Image Compression", IEEE Trans. on Circuits and Systems - II: Analog and Digital Signal Processing, Vol. 43, pp. 467-470, Jun 1996.
[15]S. Chang, J.-H. Hwang and C.-W. Jen, "Scalable Array Architecture Design for Full Search Block Matching", IEEE Trans. on Circuits and Systems for Video Technology, Vol. 5, pp. 332-343, Aug. 1995.
|
||||||||||
|
|
|
|
|
|
||||||||||||
|
|