基于ARM的MPEG4视频解码器
发布时间:2008/5/26 0:00:00 访问次数:2926
    
    摘 要 详细阐述了针对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
上一篇:一种智能手机的低功率损耗设计
热门点击
- 为音频设备提供高性能的低通30kHz贝塞尔滤
- 带RF输出的全数字调制器设计
- 支持以太网宽带接入的IP机顶盒解决方案
- 基于ARM的MPEG4视频解码器
- VINETIC语音处理器在VoIP解决方案中
- 基于USB接口和智能卡的PKI客户端设计
- 输出能驱动多个负载的立体声放大器IC
推荐技术资料
- 业余条件下PCM2702
- PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]