多媒體無線接收機系統單晶片設計技術之研究(1/3)-子計畫四
適用於無線傳輸環境之泛用視訊解碼處理器設計
General Video Decoding Processor Design for Wireless
Communication Environment
計畫編號:NSC89-2215-E-002-026
執行期限:88/8/1 ~ 89/7/31
計畫主持人: 陳良基 教授 國立台灣大學電機所
摘要
MPEG-4 是下一代多媒體通訊技術應 用的一個國際標準,它結合了視訊、音訊、 數據的壓縮及傳輸等多項多媒體通訊技 術,可提供一個優良的多媒體通訊環境,預 料 在 未 來 將 會 成 為 個 人 通 訊 的 主 流 。 MPEG-4 可搭配無線傳輸技術,提供更豐富 的個人無線通訊系統,同時也可以結合寬頻 網路技術,提供更多樣化的多媒體功能,例 如互動式的多媒體物件存取能力。 本研究計劃的主要目的是設計一符合 MPEG-4 視訊標準的泛用解碼器(Universal Decoding)硬體架構。在 MPEG-4 視訊標準 所建議的 Core Profile 之下,支援 VOP 的解 碼、AC/DC 的預測解碼二元形狀解碼以及 錯 誤 對 抗 。 本 計 劃 之 研 究 方 向 首 先 對 MPEG-4 視 訊 解 碼 演 算 法 徹 底 的 運 算 分 析,並且在複雜度較高的演算法上做運算最 佳 化 的 考 量 , 並 設 計 最 佳 化 的 指 令 集 (Instruction Set)。除將深入探討此解碼器中 各個模組的演算法以得到最佳的電路架構 外,本計畫亦著重於成果本身之實用價值與 技術突破。研究動機與發展現況
影像與視訊系統在資訊傳播與記錄上的應 用已日趨普遍,即將成為下一世紀訊息傳播 的主流。而在新一代的無線傳輸標準上,視 訊影像傳輸更是不可或缺的功能。考量新的 無線傳輸環境以及更多樣化的功能性,國際 組 織 動 態 影 片 專家 研 究 群 (ISO MPEG)於 1999 年底完成制訂了一個新的視訊壓縮標 準,也就是 MPEG-4 視訊壓縮標準。在這個 標準之下,包含了許多新的功能,目的就是 為了支援在新的傳輸環境下,有更好的視訊 影像傳輸效果及更加生動的功能。目前視訊 解碼器的研究雖已相當廣泛,但是在無線傳 輸的環境下,伴隨在傳輸通道上的雜訊干 擾,會使得整體的視訊影像品質下降,故具 備錯誤對抗(Error Resilience)的功能將 是此視訊解碼器的研究重點之一。另外為提 供了對視訊內容具有以物件導向方式存取 的能力(Content-based interactive),還需要特 殊的硬體架構支援,以協同處理器的方式整 合在泛 用處理 器中,即二 元形狀 解碼器 (Binary Shape Decoder)。由於演算法的複雜 度不斷的提高,且變化越來越快,為了能夠 因應未來標準的變化,縮短系統發展時間, 架構的可程式化也成為一個主要的考量。研究方法與成果
為了符合在多媒體傳輸的環境下提供標準 化的核心壓縮技術,對視訊資料做有效率的 儲存、傳輸及操作應用;同時為了能支援多 種環境下不同的應用與需求,MPEG 具備了 多種功能性(Functionalities),而不同的應用 可以是選擇不一樣的功能。於是 MPEG-4 定義了各式的演算法及工具來提供各種不 同應用的解決方案。這些工具及演算法各有其特定的功能、運算特性以及運算複雜度, 所以在設計一個高效率的 MPEG-4 解碼器 之前,必須對所有工具及演算法的運算行為 (Computational Behavior)做一 個 徹底 的 研 究。 首先我們定義了一個簡單的運算模型,如圖 一所示。這是一個以常見的精簡指令集計算 機(RISC)為基礎所設計的一個簡單運算模 型。依據這個模型,我們可以將所有演算法 的運算大致歸納成兩類,亦即資料運算單元 操作(data-path operations)以及資料轉移操 作 (data transfer operations) 。 接 著 , 將 MPEG-4 解碼所需要用到的演算法以及工 具套用在這個模型上,我們可以得到一個非 常清楚的運算分析結果,如表一所示。同時 我們也將這些演算法及工具以軟體模擬的 方式,實際在精簡指令集計算機實作出來, 並以執行時間分析的工具取得真正的執行 結果(表一)。 仔細分析這些模擬結果並比對模型分析的 結果,我們可以很清楚的看出幾個關鍵性的 運 算 分 別 是 二 元 形 狀 解 碼 (binary shape decoding)、移動補償(MC)、以及反向離散 餘弦轉換(IDCT)以及可變位元流解碼(VLD) 等運算,這其中又以二元形狀解碼花去較多 的運算資源(Computation Power)。由於二元 形狀解碼是屬於新增加到 MPEG-4 視訊標 準的演算法,是用來支援內容互動性的功 能,也就是說,比起傳統視訊解碼演算法的 複雜度,這個新增的演算法是相當重要而且 必須做設計最佳化的一個部分。此外,傳統 視訊解碼的移動補償、反向離散餘弦轉換以 及可變位元流解碼仍佔去相當的運算時 間,所以在設計最佳化的考慮上,也是屬於 重點項目。至於錯誤對抗功能的運算量分 析,在分析的結果上並無法明確的得知,其 實這是因為錯誤對抗處理是在位元流分析 (bit-stream parsing)的層次上所做的處理,而 這部分的運算是合併到可變位元流解碼的 運算量上一併計算。但其實錯誤對抗的運算 其實並不大,這可以由可變位元流解碼所佔 的運算比例得知。因為錯誤對抗的運算大都 屬於決策、比對這類的運算,同時在位元的 分析處理與可變位元流解碼有若干程度的 共用,所以運算量並不大。 除了運 算量的 分析,演算 法的處 理型態 (Processing Type)也會大大的影響到架構設 計最佳化的考量。其中最重要的幾個因素, 包括了演算法是否具有資料處理上的平行 度(data-level parallelism)、工作上的平行度 (task-level parallelism)或者是在指令集上的 平行度(instruction-level parallelism)。具有高 度平行度的演算法,在架構設計上就可以利 用 平 行 化 的 硬 體 模 組 , 增 加 其 產 出 (throughput)的效能,進而增加整體系統架 構的效 能。另外,也可以 使用管 線處理 (pipelining)的技巧來增加系統的效能,前提 是演算法之間的資料相關性是否可以在時 間軸上 適當的 安排。表二 簡單的 歸納了 MPEG-4 視 訊 解 碼 所 需 的 工 具 及 演 算 法 中,他們的處理型態以及所使用的運算種類 (算術運算、流程控制、決策等)。 根據我們對 MPEG-4 視訊解碼各種演算法 的處理型態分析,我們可以初步得到幾個結 論。首先,二元形狀解碼的運算是屬於大量 位元層次的運算,在資料的平行處理上會有 困難,一般的 RISC、DSP 並不能有有效的 處理這個運算,為了能夠有效的提升系統的 運算效能,我們採用了一個協同處理器的架 構來處理這個運算。這個協同處理器包含了 一個延遲線(delay line)的設計,用來儲存二 元形狀解碼所需的鄰近位元資料,利用資料 重用的技巧,在每一個時間週期可以產生一 個樣式(template),分別可以供給二元形狀 解碼中的以內容為基礎的算術解碼單元 (CAD-PE) 以 及 重 新 取 樣 運 算 單 元
(Re-Sampling-PE)之用,如此一來可以省去泛用 處理器在位元定址(bit-addressing)花去太多 的運算浪費。圖三顯示了延遲線模組的架構 方塊圖。同樣屬於位元層次處理的還包括了 可變位元流解碼運算,在一般的泛用處理器 架構中,並沒有對這個運算做特別的設計考 量,雖然可以利用查表法等程式技巧來加速 這個運算,不過加速的幅度仍有其限制。仔 細分析位元流中的組成,我們可以得到一個 簡 單 的 結 論 , 分 支 指 令 操 作 (Branch operation)、可變位元長符號取出(VLD)與固 定長位元解碼(Fixed Length Decoding, FLD) 佔去大部分的運算,所以我們也採用協同處 理單元來負責這部分的運算處理。 第二個部分則是規則資料流的處理。圖三顯 示了在規則資料流中的演算法,包括了 IS, IQ, IDCT 以及 MC 運算,除了 IS 之外,其 它的幾個運算都具有資料平行處理的特 性,所以可以使用平行的資料路徑 DSP, 例如 Spilt-ALU 或是 SIMD 架構來處理,就 會有相當不錯的處理效能。另外,由於在這 個資料流的路徑上所使用的資料都是屬於 同一個 macro-block 的資料,所以在泛用處 理器的設計上可以安排一個內部的暫存記 憶體區塊放置這個 macro-block 資料。如此 一來,可以減少泛用處理器存取系統匯流排 的次數,增加 系統整 合的有 效性。由於 MPEG-4 視訊解碼的資料流是可以經過事 先的模擬得知,所以我們可以在記憶體系統 的安排上做最佳化的考慮,特別是在移動補 償的運算上根據上述這些特性。根據上述這 些特性,我們可以設計出一組有效指令集及 泛用處理器的架構。
結論
在多媒體傳輸日漸普及的趨勢之下,一個多 媒體的無線接收裝置將會變得十分重要。然 而,也隨著應用的多樣性,多媒體訊息的處 理勢必變得更為複雜,這可以由 MPEG-4 視訊標準的多樣功能性得知。因此,多媒體 的無線接收器的設計就必須能夠應付這樣 的需求,而這需要一個具備可程式化及強大 運算能力的處理器。為了滿足這樣需求,首 先我們由 MPEG-4 視訊解碼演算法的分析 著 手 , 利 用 一 個 簡 單 的 運 算 模 型 取 得 MPEG-4 視訊解碼的運算行為,並由演算法 的研究得知其處理型態。藉由這些分析結 果,我們開始設計最佳化的目標架構(target architecture),包括了一個位元處理協同處理 器、資料路徑平行 DSP 以及重要的指令 集。在這樣的安排下,各個演算法可以得到 其最佳的運算架構,如此一來系統的效能就 會大大的提升。參考文獻
[1] ISO/IEC JTC1/SC29/WG11, N2502a, Generic Coding of Audio-Visual Objects: Visual 14496-2, Final Draft IS, Atlantic City, Dec. 1998.
[2] N. Brady, F. Bossen, N. Murphy," Context-Based Arithmetic Encoding of 2D Shape Sequences", Proc. of International Conference on Image Processing (ICIP'97), vol.1, pp.29-32, 1997. [3] ISO/IEC JTC1/SC29/WG11. “MPEG-4 Video
Verifacation Model Version 8.0”, July 1997. [4] P. Pirsch, H.-J. Stolberg, "VLSI Implementations
of Image and Video Multimedia Processing Systems", IEEE Trans. on Circuits and Systems for Video Tech., vol.8, no.7, pp.878-891, November 1998.
[5] H.-C. Chang, L.-G. Chen, M.-Y. Hsu, Y.-C. Chang, "Performance Analysis and Architecture Evaluation of MPEG-4 Video Codec System", in Proc. International Symposium on Circuits and Systems (ISCAS'2000), May 2000.
[6] T. Onoye, T. Masaki, Y. Morimoto, Y. Sato, I. Shirakawa, “HDTV level MPEG2 video decoder VLSI,” pp.727-736, TENCON'95.
[7] M. Berekovic, G. Meyer, Y. Guo, P. Pirsch, “A multimedia RISC core for efficient bitstream parsing and VLD,” SPIE'98.
[8] J. L. Hennessy, D. A. Patterson, Computer Architecture: A Quantitative Approach, second edition, Morgan Kaufmann Publishers, Inc., 1996.
[9] K. NADEHARA, H. LIESKE and I. KURODA, “Software MPEG-2 Video Decoder on a 200-MHz, Low Power Multimedia Microprocessor”, Proc. of IEEE Int. Conf. Acoustics, Speech, Signal Processing, Seattle, May.1998
[10] I. KURODA and T. NISHITANI, “Multimedia Processors”, Proceedings of the IEEE, Vol. 86, No. 6, June 1998
GM LM DP LM DP Function Unit (FU1) system bus Function Unit (FUn) FUs FUs ShiftReg1 SR1 ShiftReg2 SR2 ShiftReg3 SR3 input pixel (IP entry) discard preload first raw preload second raw preload third raw PE
圖一、以 RISC 為基礎的運算模型 圖二、延遲線模組之硬體架構方塊圖 Variable Length Decoding Inverse Scan (Move) Inverse DC & AC Pred. (<, >, +) Inverse Quantization (==, x, +) Inverse DCT (x, +, -) Motion Compensation (+, >>, clip) VOP Memory Padding (+, cp, >>) ...010001110010 Coded Data 8 8 8 8 8 8 8 8 8 8 8 8 8 8 16 16 16 16 Reload Row Previous MB Column Q Matrix Q Factor IDCT
Coefficients MotionVector
16 16 Shape Order Table
圖三、MPEG-4 視訊解碼流程—視訊材質(texture)資料解碼資料流
Theor etical Analysis Decoder
Simulative Analysis (300 fr ames, IPPP
unit: sec)
Ar ithmetic Oper ations (unit: MOPS) Mem. Tr ansfer (unit: MBytes) Performance Summary 1160.22 405.768 198.03 Motion Compensation 383.6 34.696 41.824 Shape Decoding 556.79 227.727 104.183 IDCT 64.75 102.644 21.609 Inv. Quant. 14.35 13.684 18.246 Padding 117.49 21.29 11.918 VLD 23.24 5.727 0.25
表一、在 MPEG-4 視訊標準的 Core Profile Level 2 所做的運算分析及執行時間分析
Algor ithms Pr ocessing Type Oper ations Type
Shape Decoding (CAD) bit-serial arithmetic, control
Motion Compensation data parallelism arithmetic
IDCT data parallelism arithmetic
VLD bit-serial control, decision
Inv. Quant. data parallelism arithmetic
Inv. Scan memory re-addressing table-lookup
System Functions data serial control, decision