CTIMES- 淺談MPEG-4技術架構 :MPEG-4,Xilinx,賽靈思,影像處理器
淺談MPEG-4技術架構
【作者: Robert D. Turney】 2003年12月05日 星期五
瀏覽人次:【3937】
多媒體壓縮技術在採用新MPEG-4技術之後,將面臨另一波轉變。這次轉變的幅度預期將與1990年代發展至MPEG-2壓縮技術一樣產生關鍵性的影響,其影響力將逐漸遍及更廣大之應用領域,例如視訊通訊建置上。許多現今提供音效與資料服務的系統在未來都將提供即時影音的功能,而MPEG-4將成為這個領域的關鍵技術。「MPEG-4」這個名詞包含許多不同的技術,將視不同的ISO 版本標準、設定檔(Profile)以及壓縮比率(Level)而定。本文將探討所有的MPEG-4建置技術,並介紹其需求、架構以及建置策略,亦將特別討論運算方面的問題,更深入瞭解MPEG-4的建置。在影像編碼解決方案上,平台式FPGA能為影片產業提供所需的頻寬、設計工具以及矽元件,以合理的價位進行MPEG-4影片壓縮演算法。
MPEG簡介
ISO MPEG(International Standards Organization、Moving Picture Experts Group),最廣為所知的就是MPEG-2視覺標準,這項標準廣泛使用於DVD、廣播和各種應用(此為與國際電信聯盟共同制定的成果-ITU H.262)。一般人不熟悉的是MPEG-2中可用來建置各種影片編碼機制,例如像MPEG-2傳輸、音效以及符合標準。建立一套標準需要許多流程,包括從擬定草案一直發展到最後確立出的國際性標準。從開始到結束,通常需要二到四年的時間讓技術逐漸被接納、匯整、整合以及採用。整套技術可切分成許多部份,分頭進行這些流程。ISO MPEG標準的前四個部份,包括系統、視訊、音效以及確認,分別由不同的MPEG小組來負責。
MPEG-4 標準的規畫從1995年開始,至今仍針對各個層面進行修訂。這項技術包括16個部份,如(表一)所示。
(表一) MPEG-4 標準的各部份規範
MPEG-4
Part
Description
Part
1
Systems
Part 2
Visual
Part
3
Audio
Part
4
Conformance
testing
Part
5
Reference
software
Part
6
Delivery
Multimedia Integration Framework ( DMIF )
Part
7
Optimized
software for MPEG-4 tools
Part
8
MPEG-4
over IP networks
Part
9
Reference
hardware description
Part
10
Advanced
Video Coding ( AVC )
Part
11
Scene
description and application engine
Part
12
ISO
media file format
Part
13
Intellectual
Property Management and Protection ( IPMP ) extensions
Part
14
MP4
file format
Part
15
AVC
file format
Part
16
Animation
Framework extension ( AFX )
本文將詳細介紹Part 2與Part 10有關視訊編碼的部份(參照表一)
。本文以MPEG-4為重點,但業界一般對建置在軟體或矽元件的MPEG-4,仍未有明確的界定。MPEG-4 第一版在1998年通過,(圖一)說明這項技術在視訊編碼/解碼器版本改良上的發展。MPEG運算語法上改良的新版本,讓技術具備回溯相容性。這部份的修訂已套用於MPEG-4的Part 2視訊應用部份(參照表一)。運用2001至2003年針對MPEG-4 Part 10(Advanced Video Codec;AVC)所修正的技術,這部份的新規格則不具備回溯相容性。
制定一項標準的過程包括MPEG的技術、支援工具被匯集、合併以及採納成工作小組草案(WD)、委員會草案(CD)、最終委員會草案(FCD)、國際標準草案(DIS)、最終國際標準草案(FDIS)以及國際標準(IS)。標準的修正通常是增加更多的設定檔。在MPEG-4 Version 2增補條文1與2中,增加製片與串流細微顆粒可調性(FGS)設定檔,增補條文3則加入Simple Scalable level 0 與Advanced Simple Scalable level 3b二個設定檔。目前的 MPEG 可分 MPEG Level 1 到 Level 4 四種規格。MPEG定義位元流與解碼相容性,不會直接影響編碼的運作。
MPEG-4壓縮技術
為進一步瞭解MPEG設定檔與其壓縮比率(Level),以下將MPEG-4簡易設定檔(Simple Profile)以及MPEG-4 核心設定檔(Core Profiles)為例來說明。簡易設定檔(Simple Profile)以矩型的I與P frames 為基礎,運用基本的動作補償離散餘弦轉換法編碼技術(DCT)。其中P frames採Inter-Coded技術,I frames採Intra-Coded技術,來排除多餘的畫素資料。支援I、P、與B frames 視訊物件平面(VOPs),皆採用Arbitrary Shape Coding編碼以及二元影像定義機制。故業界須發展一套建置技術,讓離散餘弦轉換法(DCT)能與核心設定檔相互轉譯,配合簡易設定檔採用8×8 的離散餘弦轉換法(DCT)。(表二)列出了22種MPEG-4所使用的設定檔。
(表二) MPEG-4 設定檔一覽表
MPEG-4
Profile
Levels
Number
of Levels
MacroBlocks/s
Range
Kbits/s
Range
Technology
Notes
Simple
4
1485
– 11,880
64
– 384
Rectangular
I,
P frames
Adv
Simple
6
2970
– 48600
128
– 8000
Rectangular
I, P, B frames
¼ pel ME
Global ME
Interlaced L4, L5
Simple
Scalable
2
7425
– 23,760
128,
256
Rectangular
Simple
as base layer
FGS
6
2970
– 48,600
128
– 8000
Rectangular
Adv
Simple or Simple as base layer
ARTS
4
1485
– 11,880
64
– 2000
Rectangular
Higher
error resilience and bandwidth tolorance
Core
2
5940
– 23,760
384
– 2000
Arbitrary
shape
Binary
shape
Core
Scalable
3
7425
– 60,480
768
– 4000
Arbitrary
shape
Rect
temporal
Rect & Arb Spatial
Main
3
23,760
– 489,600
2000
– 38,400
Arbitrary
shape
Gray
shape
Sprites Interlaced
ACE
4
5940
– 244,800
384
– 38,400
Arbitrary
shape
Main
+ ¼ pel ME, GME
N-Bit
1
11,880
2000
Arbitrary
shape
4-12
bits
Simple
Studio
4
129,600
– 1,474,560
180
– 1800 Mbit
Arbitrary
shape
I
frame
Core
Studio
4
259,200
– 2,949,120
90
– 900
Mbit
Arbitrary
shape
I,P
frame
Scalable
Textu
re
3
1584
– 262,144
NA
Wavelet
Adv
Scalable Texture
3
1584
– 262,144
NA
Wavelet
Scalable
shape coding
Adv
Core
2
5940
– 23,760
; 16,384
– 262,144
384
– 2000
NA
Core
+ Adv Scalable Texture
Simple
Face
2
NA
16
– 32
1
– 4 objects
Simple
FBA
2
NA
32
– 64
1
– 4 objects
Basic
Animated 2D
2
1584
– 16,384
64
– 128
Simple
Face + Scalable Texture
1-8
objects
480 – 1748 nodes
Hybrid
2
2970
– 11,880
; 1584
– 16,384
384
– 2000
;64
- 128
Core
+ Simple Face + Scalable Texture
1-8
objects
480 – 1748 nodes
AVC
Baseline
5
1485
– 983,040
64
– 240,000
I,
P frames
Integer
DCT
Hadamard
CAVLC
AVC
Main
5
1485
– 983,040
64
– 240,000
I,
P, B frames
Integer
DCT
Hadamard
CAVLC, CABAC
AVC
Extended
5
1485
– 983,040
64
– 240,000
Integer
DCT
Hadamard
CAVLC
ACE:Advance coding efficiency
AVC:Advanced Video Codec
ARTS:Advanced Real Time Simple
CAVLC:Context-based Adaptive Variable Length Coding
CABAC:Context-based Adaptive Binary Arithmetic Coding
DCT:Discrete Cosign Transform
FBA:Face and body animation
FGS:Fine Grain Scalability
GME:Global Motion Estimation
ME:Motion Estimation
表二列出每種設定檔的壓縮比率、每秒處理的巨大區塊(Macroblock)的數量、支援的位元率以及技術差異。一個巨大區塊指的是一個16×16共256個像素所組成的區域,故巨大區塊可用來代表整體畫格更新速度。
壓縮比率(Level)在MPEG詞彙定義是指參數在設定檔(Profile)內的適用範圍。部份參數指的是物件的數量、獨特量化矩陣(Unique Quantization Table)的數量、Video Complexity Verifier(VCV)緩衝區的大小、VCV 解碼速率以及以每秒1000bits的傳輸速率。緩衝區大小與更新率的適用範圍,加上設定檔內的技術,即可明確界定應用領域的運作點。例如,假設國際多媒體串流聯盟(ISMA 1.0)決定要在兩個運算點(Operating Point)進行互通性轉譯作業。在影像部份,他們可選擇Simple@Level1 與Advanced Simple@Level3 ,研發業者即可開始建置影像的規格。應用軟體研發業者可評估哪種設定檔與壓縮比率(Level)最適合用來測量低成本解決方案所需的位元率與處理效能。
MPEG-4中的複雜變數
在各種數位影像應用廣泛建置時,MPEG-4解決方案領域衍生出各種複雜的版本變化。由於許多變因,讓我們在設計一套精密影像編碼/解碼器時,很難估算出真正需要的運算效能。在建置MPEG 4過程中,許多企業與業界人士建立相關的參考程式碼,這些程式碼通常能正常運作,但在即時運作(Real Time Operation)或是記憶體管理(Memory Management)上往往效能不彰。事實上,MPEG-4同時擁有Part 5 參考軟體與Part 7最佳化的參考軟體(參照表一)。但即使是最佳化的參考軟體,因為它有避免使用特定廠商自行研發的處理器程式碼的情況,其速度仍比商業用解決方案慢三到五倍。市場上有兩種支援不同處理器的設定工具,能協助業者評估MPEG程式碼的複雜度。IMEC的Atomium工具以記憶體傳輸器為中心的角度進行最佳化,而EPFL SIT工具則以運算最佳化的角度進行評估。這些設定工具的角色是大略測試MPEG-4設定檔中特定技術的複雜度。
在瞭解不同MPEG-4技術的運算複雜度後,下一個探討的主題就是編碼/解碼器所需傳送的資料量。這方面可透過每秒巨大區塊(Macroblock)參數來瞭解。如圖二所示,簡易設定檔(Simple Profile)涵蓋level 1 至level 3壓縮比率 ,進階簡易設定檔涵蓋level 0到level 5壓縮比率、以及主要設定檔 涵蓋level 2 到level 4壓縮比率的資料。值得注意的是,除了三種設定檔(如表二所示),使用不同的技術之外,不同運作點的流量亦有相當大的差異。此外,若納入Studio設定檔,則範圍可延伸至每秒300萬個巨大區塊。更複雜的是,運算MOPS與應用種類有直接關連,因此在測試每種設定時須重複輸入不同的資料。
建置MPEG-4
如何建置MPEG-4的各種標準?假設已設定單一或一系列的運算點(設定檔與壓縮比率),要如何達到即時的運作模式?以MPEG-4技術評估適合的設定檔,平行處理需求配合像是每秒處理的巨大區塊(Macroblock)系統層面的參數,即可以軟體建置影像管線架構(Video Pipeline Architecture)。FPGA可提供充裕的平行機制處理效能,針對各種影像編碼/解碼器建置低成本的即時處理解決方案。若考量目前的MOPS,就能發現通用型處理器的效能約為2000 MOPS。DSP處理器能將效能提高至8000 MOPS,但其缺點為須透過有限的運算單元處理資料流。
擁有特別運算功能的多媒體處理器,其位元運算可提供2萬 MOPS的處理效能。但FPGA與ASIC具有更高的彈性,可擴充至10萬MOPS以上的處理效能。
因為FPGA是SRAM型元件,所以亦有另一項明顯的優勢:能重複編程。因此FPGA能支援多組運算點,這些運作點有不同數量的通道,如(圖三)所示。在有需要時,可將不同的MPEG-4技術重新編程到FPGA。該模式可支援未來的MPEG-4設定檔與壓縮比率,只要不超越FPGA元件的運算上限。系統層面的需求,例如像國際多媒體串流聯盟(ISMA),通常有許多不同的運作點來因應不同的應用需求。業者可研發有限的設備元件,並搭配FPGA的可重複編程能力,滿足不同市場的需求。
結論
在本文中討論到MPEG-4代表的意義。旨在讓讀者瞭解這個詞彙的涵義,讓每個人聽到MPEG-4解決方案時都會確認對方指的是哪一類MPEG-4技術。最後筆者也提出一套以可編程FPGA技術且具有成本效益解決方案,此方案可用來支援多個運算點與新興的MPEG-4 Part 10技術。(作者任職於美商智霖)
︱
Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3   v3.20.2048.18.119.116.77
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室 電話 (02)2585-5526 #0 轉接至總機 / E-Mail: webmaster@ctimes.com.tw