元件 次系统 自动控制 |
最新动态
|
产业快讯
|
|
本文将详细介绍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 Profile Levels | Number of Levels | MacroBlocks/s Range | Kbits/s Range | Technology Notes |
Simple | 4 | 1485 – 11,880 | 64 – 384 | Rectangular |
Adv Simple | 6 | 2970 – 48600 | 128 – 8000 | Rectangular |
Simple Scalable | 2 | 7425 – 23,760 | 128, 256 | Rectangular |
FGS | 6 | 2970 – 48,600 | 128 – 8000 | Rectangular |
ARTS | 4 | 1485 – 11,880 | 64 – 2000 | Rectangular |
Core | 2 | 5940 – 23,760 | 384 – 2000 | Arbitrary
shape |
Core Scalable | 3 | 7425 – 60,480 | 768 – 4000 | Arbitrary
shape |
Main | 3 | 23,760 – 489,600 | 2000 – 38,400 | Arbitrary
shape |
ACE | 4 | 5940 – 244,800 | 384 – 38,400 | Arbitrary
shape |
N-Bit | 1 | 11,880 | 2000 |
Arbitrary
shape |
Simple Studio | 4 | 129,600 – 1,474,560 | 180 – 1800 Mbit | Arbitrary
shape |
Core Studio | 4 | 259,200 – 2,949,120 | 90
– 900 |
Arbitrary
shape |
Scalable
Textu |
3 | 1584 – 262,144 | NA | Wavelet |
Adv Scalable Texture | 3 | 1584 – 262,144 | NA | Wavelet |
Adv Core | 2 | 5940
– 23,760 |
384
– 2000 |
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 |
Hybrid | 2 | 2970
– 11,880 |
384
– 2000 |
Core
+ Simple Face + Scalable Texture |
AVC Baseline | 5 | 1485 – 983,040 | 64 – 240,000 | I,
P frames |
AVC Main | 5 | 1485 – 983,040 | 64 – 240,000 | I,
P, B frames |
AVC Extended | 5 | 1485 – 983,040 | 64 – 240,000 | Integer
DCT |
表二列出每种配置文件的压缩比率、每秒处理的巨大区块(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技术。(作者任职于美商智霖)
|
||||||||||
|
|
comments powered by Disqus | |
|
|
|
|