位置:51电子网 » 技术资料 » D S P

基于ARM的MPEG4视频解码器

发布时间:2008/5/26 0:00:00 访问次数:2896

        

    

    摘 要 详细阐述了针对arm平台的mpeg4视频解码算法的优化方法。实验数据表明,优化后的***性能得到了全面提升。还结合arm7tdmi的easy arm2200开发平台,给出了嵌入式mpeg-4视频解码的实时实现。

    关键词 arm,mpeg4,嵌入系统,视频***

    1 引 言

    本文旨在研究基于arm微处理器的mpeg-4视频解码技术,主要应用在手持移动设备中。利用嵌入式系统实现mpeg-4视频解码,处理器的选择是关键。在嵌入式系统中常用的risc处理器是arm核,主要是因为它具有体积小,功耗低,成本低,性价比高的特点,这对于移动应用领域非常重要。arm7系列微处理器为低功耗的32位risc处理器,最适合于对价位和功耗要求较高的消费类应用。本***定位于低分辨率和低帧率的应用场合,因此选择在arm7tdmi核上实现解码功能。要实现更高帧率和分辨率的解码,可将软件直接应用在更高端的处理器上。

    2 mpeg-4视频解码算法的优化与实现

    mpeg-4标准可以划分为一套子标准,标准的每一部分都有各自最适合的应用场合。mpeg-4 svp就是一种特殊的、简单的mpeg-4实现,svp代表simple visual profile。这部分是专门针对手持式产品中无线视频传输应用场合而制定的。由于本***应用在手持移动设备视频解码的场合,因此选用mpeg-4 svp作为解码算法。

    本文选用arm7tdmi作为核心处理器进行mpeg-4视频***的开发。在实际开发过程中,针对arm7tdmi的结构和mpeg-4的算法特点,做了大量优化工作,保证了解码的精度,大幅度提高了解码的速度。***的具体功能如表1所列。

    表1 基于arm7tdmi的mpeg-4视频***功能表

    

    

    2.1 ***算法

    解码过程实际上就是从视频编码码流中恢复出vop数据的过程。图1描述了一个视频解码过程。***主要包含两部分: 运动解码和纹理解码。i帧中只含有纹理信息,因此只须解码纹理信息即可恢复i帧。而p帧中不仅包含纹理信息,还包含运动信息,所以须解码运动信息,获得运动矢量并进行运动补偿。另外,还须进行纹理解码获得残差值,将这两部分组合起来才能重建p帧。

    

    

    图1 mpeg4 svp的解码过程

    ***的实现主要是提供一个简单的接口函数,供解码时调用。该接口函数根据解码的不同需要和不同阶段提供了5个入口。5个接口函数中: 4个供初始化、预处理及后续处理时调用;剩余1个是帧解码的实现函数。图2为帧解码主程序的流程图。

    

    

    图2 帧解码主程序的流程图。

    解码过程的计算主要集中在如下几个模块:idct、运动补偿mc、逆量化、逆扫描、逆预测以及变长解码vld。表2给出了优化前解码过程的特征信息。

    从表2中可以看出,上述运算模块在解码过程中占有很大比例。对以上各模块进行优化的效果将直接反映在***的实时效率上。

    表2 优化前解码过程的特征信息

    

    

    2.2 arm平台下算法的优化

    arm结构是基于risc原理的,指令集和相关的解码机制都比cisc要简单得多。它能高效地输出指令,快速送出实时中断响应;它还进行了管道设置,处理和存储系统的所有部分可以持续地运转。在典型的情况下,当一条指令被执行时,其后续指令正在被解码;而第三条指令便从存储器中取出。arm7tdmi并不具有指令或数据的高速缓存,主要被用于控制核心,而非数据处理。但通过对其特性的灵活运用,可以使其非常容易地应用于视频解码过程。对mpeg4视频***的算法优化主要从以下几方面入手:

    (1) 算法的优化

    这里是指高级c语言转化算法以简化计算量, 用最佳算法实现解码中的各模块。

    ① idct算法的选择

    idct运行次数多,运算量很大,其变换的快慢直接影响解码的速度。本文采用一种称为aan的快速算法。其一维8点的dct变换通过16点d

        

    

    摘 要 详细阐述了针对arm平台的mpeg4视频解码算法的优化方法。实验数据表明,优化后的***性能得到了全面提升。还结合arm7tdmi的easy arm2200开发平台,给出了嵌入式mpeg-4视频解码的实时实现。

    关键词 arm,mpeg4,嵌入系统,视频***

    1 引 言

    本文旨在研究基于arm微处理器的mpeg-4视频解码技术,主要应用在手持移动设备中。利用嵌入式系统实现mpeg-4视频解码,处理器的选择是关键。在嵌入式系统中常用的risc处理器是arm核,主要是因为它具有体积小,功耗低,成本低,性价比高的特点,这对于移动应用领域非常重要。arm7系列微处理器为低功耗的32位risc处理器,最适合于对价位和功耗要求较高的消费类应用。本***定位于低分辨率和低帧率的应用场合,因此选择在arm7tdmi核上实现解码功能。要实现更高帧率和分辨率的解码,可将软件直接应用在更高端的处理器上。

    2 mpeg-4视频解码算法的优化与实现

    mpeg-4标准可以划分为一套子标准,标准的每一部分都有各自最适合的应用场合。mpeg-4 svp就是一种特殊的、简单的mpeg-4实现,svp代表simple visual profile。这部分是专门针对手持式产品中无线视频传输应用场合而制定的。由于本***应用在手持移动设备视频解码的场合,因此选用mpeg-4 svp作为解码算法。

    本文选用arm7tdmi作为核心处理器进行mpeg-4视频***的开发。在实际开发过程中,针对arm7tdmi的结构和mpeg-4的算法特点,做了大量优化工作,保证了解码的精度,大幅度提高了解码的速度。***的具体功能如表1所列。

    表1 基于arm7tdmi的mpeg-4视频***功能表

    

    

    2.1 ***算法

    解码过程实际上就是从视频编码码流中恢复出vop数据的过程。图1描述了一个视频解码过程。***主要包含两部分: 运动解码和纹理解码。i帧中只含有纹理信息,因此只须解码纹理信息即可恢复i帧。而p帧中不仅包含纹理信息,还包含运动信息,所以须解码运动信息,获得运动矢量并进行运动补偿。另外,还须进行纹理解码获得残差值,将这两部分组合起来才能重建p帧。

    

    

    图1 mpeg4 svp的解码过程

    ***的实现主要是提供一个简单的接口函数,供解码时调用。该接口函数根据解码的不同需要和不同阶段提供了5个入口。5个接口函数中: 4个供初始化、预处理及后续处理时调用;剩余1个是帧解码的实现函数。图2为帧解码主程序的流程图。

    

    

    图2 帧解码主程序的流程图。

    解码过程的计算主要集中在如下几个模块:idct、运动补偿mc、逆量化、逆扫描、逆预测以及变长解码vld。表2给出了优化前解码过程的特征信息。

    从表2中可以看出,上述运算模块在解码过程中占有很大比例。对以上各模块进行优化的效果将直接反映在***的实时效率上。

    表2 优化前解码过程的特征信息

    

    

    2.2 arm平台下算法的优化

    arm结构是基于risc原理的,指令集和相关的解码机制都比cisc要简单得多。它能高效地输出指令,快速送出实时中断响应;它还进行了管道设置,处理和存储系统的所有部分可以持续地运转。在典型的情况下,当一条指令被执行时,其后续指令正在被解码;而第三条指令便从存储器中取出。arm7tdmi并不具有指令或数据的高速缓存,主要被用于控制核心,而非数据处理。但通过对其特性的灵活运用,可以使其非常容易地应用于视频解码过程。对mpeg4视频***的算法优化主要从以下几方面入手:

    (1) 算法的优化

    这里是指高级c语言转化算法以简化计算量, 用最佳算法实现解码中的各模块。

    ① idct算法的选择

    idct运行次数多,运算量很大,其变换的快慢直接影响解码的速度。本文采用一种称为aan的快速算法。其一维8点的dct变换通过16点d

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式