浅谈MPEG-4技术架构
浅谈MPEG-4技术架构
【作者: Robert D. Turney】2003年12月05日 星期五
浏览人次:【3722】
多媒体压缩技术在采用新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.1.HK89K6IE74GSTACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室 电话 (02)2585-5526 #0 转接至总机 / E-Mail: webmaster@ctimes.com.tw