资料介绍
MPEG-4是一种新兴的视频标准,其弹性纠错能力和可支持小屏幕的特性使之在移动通信市场上受到广泛关注,几乎所有移动电话生产商和PDA开发商都对其表示出极大的兴趣。然而这种视频标准对处理器的要求却非常高。在整个移动通信结构中,仅MPEG-4处理器这一部分就会毫不客气地吞掉大量的资源。因而要想真正实现无线视频应用这一梦想,首先就必须解决MPEG-4信号处理问题。
工程师们已经尝试过采用固定编码逻辑和通用型DSP来完成这一庞然大物般的MPEG-4处理,但结果均不理想。固定编码逻辑虽然能够提供较高的性能,但设计和实现所需的时间太长,而且得到的设计结果不够灵活,无法满足将来修改的需要。而通用可编程数字信号处理器(DSP)尽管很适合有限冲击响应(FIR)滤波和其他一些MAC密集的应用,但对于可变长度解码和离散余弦变换等视频编解码中固有的算法却又无法有效实现。
那么怎样才能设计出满足要求的处理器呢?本文给出了一种方案:采用定制DSP。工程师们可以利用数字DSP IP核并结合一些新的设计方法,设计一种用户化的引擎来完成所需的MPEG-4功能,从而将无线视频应用变为现实。
本方案的第一步,要开发一种应用软件来执行MPEG-4视频标准,然后对该软件进行优化和校验,以保证其满足MPEG-4视频标准的要求。第二步,在这个应用软件得到优化之后,将其编译至一个通用型DSP引擎,仔细分析它在应用中可能出现的性能瓶颈。通过分析,构造一组由设计者定义的计算单元(DDCU),有针对性地解决应用中的计算瓶颈问题。这组DDCU构成一个库,利用这个库,设计者可以为不同的产品和产品域创建不同的用户应用DSP引擎。例如,在一个支持QCIF(四分之一普通接口格式)和CIF帧格式的PDA中,可以通过简单等级(SP)和高级简单等级(ASP)创建一个简单的定制 DSP来实现低速编解码。
此外,通过恰当的设计规划,设计者还可以使引擎的性能刚好满足目标产品的要求——例如针对CIF格式设计出帧处理速度为每秒15帧的 DSP引擎——这样就能降低对时钟速率、指令长度和存储映像的要求,从而实现低功率和低成本。但是若想支持更大尺寸的帧并支持高级分析,就需要创建一种性能更高的DSP引擎。这种DSP引擎内部并行度更高,可用资源量更大,因而运行速度也更快。
最后一步,将定制DSP融入多处理器内核,通过两者的共同作用来达到进一步规划高端应用性能的目的。在当今的通信行业中,产品推向市场的速度越来越快,以上谈到的方法和工具恰好为快速分析和创建定制DSP从而加快产品设计提供了一种较好的方案。
下面让我们看看定制DSP是如何创建的。
可定制的VLIW(超长指令字)引擎
引擎指一组资源的集合,通过对这种资源编程,可以使之以某种给定的顺序实现一系列操作。通常,设计中最主要的处理工作是由数据通道资源-即我们所说的计算单元-来完成的。
计算单元可以对其输入进行一系列操作,并输出一个或多个计算结果。RISC(精简指令集计算机)和DSP是两种由计算单元组成的处理器。其中,RISC处理器每次(每时钟周期)只能执行一个操作,而典型的多媒体和DSP应用却可以在每个时钟周期内执行多项操作。这是因为大部分这种高级DSP 的结构都具有某种形式的指令级并行处理能力。
本文给出的方案中,针对MPEG-4应用而设计的DSP引擎能够达到固定编码逻辑和通用型DSP都无法达到的性能。该引擎之所以如此成功,主要原因之一就是采用了VLIW结构。VLIW是一种非常适合多媒体应用的结构。它支持指令级并行性,这就使得采用它的DSP引擎可以在单时钟周期内执行多项操作。不但如此,它还支持应用程序编译过程中的并行性,这又避免了为庞大的视频处理耗费过长的运行时间或增加过大的晶片体积。与VLIW类似的超标量体系结构也具备这一特性。
用户应用引擎的一种专用解决方案
下面来讨论一个现实生活中的解决方案,该方案采用了三级不同的可定制性来构造专门的用户应用引擎。
第一级可定制性在处理器的标准资源处提供,这些标准资源包括算术逻辑单元(ALU)以及乘法器和累加器(MAC)等。对某些应用而言MAC 用得较多,如基于快速傅立叶变换(FFT)的算法;还有一些则倾向于更多地采用ALU。这就提出了一个要求,对于不同的应用,处理器应有不同的资源组合,而不是将所有的应用都分配到同样的一组固定的资源中去。
例如,可以将一个MAC密集的算法分配到一个包含4 MAC、2 ALU、1 SHIFT的处理器中去,而将一个ALU密集的应用分配给一个包含3 ALU、1 MAC、1 SHIFT的引擎。这种处理器资源分配的可定制性对许多普通应用而言已经绰绰有余,但对大多数与视频相关的应用来说还远远不够,它们的要求更高,并且需要更多的运算单元来加快运行速度。
第二级可定制性允许向处理器添加DDCU协处理器。设计者先要对所需完成的应用有一个大致的认识,接着对该应用进行分析,将其中的一些专用函数分离出来,然后在硬件上专门针对这些函数进行加速处理,即添加DDCU。此外,设计者还可以分析一下,采用工具组添加DDCU来加快运行速度会对处理器的性能造成怎样的潜在影响,以及在诸如此类的一些其他假设下会出现什么情况。
DDCU是一种适用于专用算法的计算单元。一旦设计者确认了哪个算法需要用DDCU进行硬件加速之后,就可以写出实现该DDCU的RTL 代码,并将其加入用户应用引擎。例如,在通用DSP中加入滤波DDCU,那么若用该DSP实现一个需要滤波的应用,其表现出来的性能就会有所增强。
除此以外,设计者还要在增加并行性所带来的性能优化和该并行性对指令的影响之间寻找最佳平衡。为解决这一问题,可以在VLIW指令中定义分段的数目(从而定义最大并行度),并为每一段分别分配CU和DDCU(见图1)。
最后一级可定制性表现在处理器资源的选择上。设计者可以自己决定需要多大的数据存储器,以及需要多少个数据寄存器和地址寄存器。而且,根据具体应用所提出的数据要求,设计者还可以增加存储器接口,以便提供并行数据访问。这些共享的存储器接口又可以用来连接多个处理器引擎,这就为处理器资源提供了一定的可伸缩性。
采用DSP引擎的一个关键的好处是可以加快产品投入市场的时间。但要达到这个目的,还要先定义一系列与DSP引擎协作的DDCU协处理器。在设计MPEG-4引擎的时候,首先要对其各个方面进行全面分析,确定需要采用哪些DDCU。然后用这些DDCU构建起一个大致MPEG-4引擎,分析其性能瓶颈,并针对性能瓶颈再定义一些DDCU加入引擎中,从而提高该引擎的性能,冲破其瓶颈。为了更方便地完成以上工作,人们开发出一个专门用于MPEG -4应用的DDCU库。以下讨论了该库中的某些专用DDCU。
工程师们已经尝试过采用固定编码逻辑和通用型DSP来完成这一庞然大物般的MPEG-4处理,但结果均不理想。固定编码逻辑虽然能够提供较高的性能,但设计和实现所需的时间太长,而且得到的设计结果不够灵活,无法满足将来修改的需要。而通用可编程数字信号处理器(DSP)尽管很适合有限冲击响应(FIR)滤波和其他一些MAC密集的应用,但对于可变长度解码和离散余弦变换等视频编解码中固有的算法却又无法有效实现。
那么怎样才能设计出满足要求的处理器呢?本文给出了一种方案:采用定制DSP。工程师们可以利用数字DSP IP核并结合一些新的设计方法,设计一种用户化的引擎来完成所需的MPEG-4功能,从而将无线视频应用变为现实。
本方案的第一步,要开发一种应用软件来执行MPEG-4视频标准,然后对该软件进行优化和校验,以保证其满足MPEG-4视频标准的要求。第二步,在这个应用软件得到优化之后,将其编译至一个通用型DSP引擎,仔细分析它在应用中可能出现的性能瓶颈。通过分析,构造一组由设计者定义的计算单元(DDCU),有针对性地解决应用中的计算瓶颈问题。这组DDCU构成一个库,利用这个库,设计者可以为不同的产品和产品域创建不同的用户应用DSP引擎。例如,在一个支持QCIF(四分之一普通接口格式)和CIF帧格式的PDA中,可以通过简单等级(SP)和高级简单等级(ASP)创建一个简单的定制 DSP来实现低速编解码。
此外,通过恰当的设计规划,设计者还可以使引擎的性能刚好满足目标产品的要求——例如针对CIF格式设计出帧处理速度为每秒15帧的 DSP引擎——这样就能降低对时钟速率、指令长度和存储映像的要求,从而实现低功率和低成本。但是若想支持更大尺寸的帧并支持高级分析,就需要创建一种性能更高的DSP引擎。这种DSP引擎内部并行度更高,可用资源量更大,因而运行速度也更快。
最后一步,将定制DSP融入多处理器内核,通过两者的共同作用来达到进一步规划高端应用性能的目的。在当今的通信行业中,产品推向市场的速度越来越快,以上谈到的方法和工具恰好为快速分析和创建定制DSP从而加快产品设计提供了一种较好的方案。
下面让我们看看定制DSP是如何创建的。
可定制的VLIW(超长指令字)引擎
引擎指一组资源的集合,通过对这种资源编程,可以使之以某种给定的顺序实现一系列操作。通常,设计中最主要的处理工作是由数据通道资源-即我们所说的计算单元-来完成的。
计算单元可以对其输入进行一系列操作,并输出一个或多个计算结果。RISC(精简指令集计算机)和DSP是两种由计算单元组成的处理器。其中,RISC处理器每次(每时钟周期)只能执行一个操作,而典型的多媒体和DSP应用却可以在每个时钟周期内执行多项操作。这是因为大部分这种高级DSP 的结构都具有某种形式的指令级并行处理能力。
本文给出的方案中,针对MPEG-4应用而设计的DSP引擎能够达到固定编码逻辑和通用型DSP都无法达到的性能。该引擎之所以如此成功,主要原因之一就是采用了VLIW结构。VLIW是一种非常适合多媒体应用的结构。它支持指令级并行性,这就使得采用它的DSP引擎可以在单时钟周期内执行多项操作。不但如此,它还支持应用程序编译过程中的并行性,这又避免了为庞大的视频处理耗费过长的运行时间或增加过大的晶片体积。与VLIW类似的超标量体系结构也具备这一特性。
用户应用引擎的一种专用解决方案
下面来讨论一个现实生活中的解决方案,该方案采用了三级不同的可定制性来构造专门的用户应用引擎。
第一级可定制性在处理器的标准资源处提供,这些标准资源包括算术逻辑单元(ALU)以及乘法器和累加器(MAC)等。对某些应用而言MAC 用得较多,如基于快速傅立叶变换(FFT)的算法;还有一些则倾向于更多地采用ALU。这就提出了一个要求,对于不同的应用,处理器应有不同的资源组合,而不是将所有的应用都分配到同样的一组固定的资源中去。
例如,可以将一个MAC密集的算法分配到一个包含4 MAC、2 ALU、1 SHIFT的处理器中去,而将一个ALU密集的应用分配给一个包含3 ALU、1 MAC、1 SHIFT的引擎。这种处理器资源分配的可定制性对许多普通应用而言已经绰绰有余,但对大多数与视频相关的应用来说还远远不够,它们的要求更高,并且需要更多的运算单元来加快运行速度。
第二级可定制性允许向处理器添加DDCU协处理器。设计者先要对所需完成的应用有一个大致的认识,接着对该应用进行分析,将其中的一些专用函数分离出来,然后在硬件上专门针对这些函数进行加速处理,即添加DDCU。此外,设计者还可以分析一下,采用工具组添加DDCU来加快运行速度会对处理器的性能造成怎样的潜在影响,以及在诸如此类的一些其他假设下会出现什么情况。
DDCU是一种适用于专用算法的计算单元。一旦设计者确认了哪个算法需要用DDCU进行硬件加速之后,就可以写出实现该DDCU的RTL 代码,并将其加入用户应用引擎。例如,在通用DSP中加入滤波DDCU,那么若用该DSP实现一个需要滤波的应用,其表现出来的性能就会有所增强。
除此以外,设计者还要在增加并行性所带来的性能优化和该并行性对指令的影响之间寻找最佳平衡。为解决这一问题,可以在VLIW指令中定义分段的数目(从而定义最大并行度),并为每一段分别分配CU和DDCU(见图1)。
最后一级可定制性表现在处理器资源的选择上。设计者可以自己决定需要多大的数据存储器,以及需要多少个数据寄存器和地址寄存器。而且,根据具体应用所提出的数据要求,设计者还可以增加存储器接口,以便提供并行数据访问。这些共享的存储器接口又可以用来连接多个处理器引擎,这就为处理器资源提供了一定的可伸缩性。
采用DSP引擎的一个关键的好处是可以加快产品投入市场的时间。但要达到这个目的,还要先定义一系列与DSP引擎协作的DDCU协处理器。在设计MPEG-4引擎的时候,首先要对其各个方面进行全面分析,确定需要采用哪些DDCU。然后用这些DDCU构建起一个大致MPEG-4引擎,分析其性能瓶颈,并针对性能瓶颈再定义一些DDCU加入引擎中,从而提高该引擎的性能,冲破其瓶颈。为了更方便地完成以上工作,人们开发出一个专门用于MPEG -4应用的DDCU库。以下讨论了该库中的某些专用DDCU。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于DSP的MPEG-4无线视频产品设计方案解析 0次下载
- 基于DSP设计MPEG-4无线视频产品的案例分析 0次下载
- 多DSP的MPEG-4系统设计方案 0次下载
- ADSP-21535实现MPEG-4视频编解码软硬件设计方案解析 0次下载
- MPEG-4视频编解码实现方案解析 1次下载
- 基于MPEG-4编码的近距离无线视频传输系统 25次下载
- 基于MPEG-4编码的近距离无线视频传输系统 121次下载
- 嵌入式MPEG-4视频流解码系统设计 123次下载
- Linux动态扩展MPEG-4智能视频监控系统
- MPEG-4系统中基于FPGA实现数据采集及预处理
- 嵌入式MPEG-4视频的流控算法
- 基于SOPC的MPEG-4视频播放器
- 基于VW2010和MPEG-4的视频服务器设计
- 基于Blackfin533的MPEG-4解码系统实现
- mpeg-4技术白皮书 (MPEG-4 Technologi
- 基于MPEG-4图像压缩技术的多媒体视频会议系统的设计 2248次阅读
- 带有环路滤波的HEVC视频解码器的结构和应用实例分析 3928次阅读
- 采用数字信号处理器实现MPEG-4视频编码卡的设计 1759次阅读
- MPEG-4在视频监控录像领域中的应用优势及在DVR中的应用 2385次阅读
- 基于VW2005音视频编码芯片实现压缩卡的应用方案 2082次阅读
- 基于TMS320C6416芯片实现ASP视频编码器的设计及应用 2899次阅读
- 利用DSP芯片实现MPEG-4视频编码的优化设计 2120次阅读
- 采用MPEG-4压缩算法的数字视频监控系统的应用方案 2228次阅读
- 以DSP和FPGA协同技术设计实现的高性能视频编码器视频采集设计 719次阅读
- 基于TI的达芬奇 DSP系统解决方案适用于高效数字视频应用 3444次阅读
- 20年经验的电子总工回忆之永远不要相信外观和结构设计效果图 5247次阅读
- mpeg4是mp4吗_mpeg和mp4有什么区别 8.1w次阅读
- AVS视频标准和H.264核心技术的区别 1856次阅读
- 国际视频编码标准mpeg简述及AVS视频关键技术 3510次阅读
- 基于频域水印嵌入方法的MPEG-4形状错误隐藏技术 1471次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1489次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 91次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 9次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 3次下载 | 免费
- 8基于单片机的红外风扇遥控
- 0.23 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30319次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多