基于ARM的MPEG4视频解码器
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8940次
文章摘要: 在同时对4像素进行补偿的过程中,只有当相邻两像素的最高位都为1时,才会有进位产生。使用这种补偿方法其实牺牲了部分精度,但这里只是使所影响的像素值增加了1,所以影响并不大,而且可以使补偿速度大大提升。同时对4像素进行补偿的过程中,寄存器加载需要3个周期,存储需要2个周期,共有两次加载和一次存储操作,中间的加法和移位操作需要6个指令周期,共需14个周期。如果对上面4个像素分别进行补偿,则需5次加载操作和4次存储操作,共23个周期,另外中间计算还需12个周期,所以共需35个周期。可见,牺牲部分精度换取补偿速度是很值得的。 对于垂直方向和水平垂直方向的半像素补偿,其原理与水平方向相同。3
基于ARM的MPEG4视频解码器,标签:电子小制作,http://www.88dzw.com 在同时对4像素进行补偿的过程中,只有当相邻两像素的最高位都为1时,才会有进位产生。使用这种补偿方法其实牺牲了部分精度,但这里只是使所影响的像素值增加了1,所以影响并不大,而且可以使补偿速度大大提升。同时对4像素进行补偿的过程中,寄存器加载需要3个周期,存储需要2个周期,共有两次加载和一次存储操作,中间的加法和移位操作需要6个指令周期,共需14个周期。如果对上面4个像素分别进行补偿,则需5次加载操作和4次存储操作,共23个周期,另外中间计算还需12个周期,所以共需35个周期。可见,牺牲部分精度换取补偿速度是很值得的。
对于垂直方向和水平垂直方向的半像素补偿,其原理与水平方向相同。
3 实验结果与数据分析
通过优化,MPEG4的解码性能有了较大的提升。在ADS1.2环境下分别对各模块进行C算法优化和ARM代码优化,结果如表3所列。按调用一次模块函数所需周期数进行统计。
表3 仿真器上各模块单独统计(使用QCIF格式图像news)
所优化模块名称
C优化(cycles)/个
ARM优化(cycles)/个
优化率/%
DC/AC预测
703
534
24.04
逆扫描/VLD
1 730
1 118
35.38
逆量化/IDCT
6 032
2 562
57.53
运动补偿
17 143
8 471
50.59
这些模块是解码过程中经常会调用的函数,因此,这些函数的优化将使解码速度有明显的提高。
表4比较了不同序列的15帧QCIF格式视频解码优化前后所需的带宽。这些图像具有不同的复杂度,因而结果也不一样。
表4 对不同序列的优化结果(15fps QCIF格式)
视频序列①
优化前所需带宽/MHz
优化后所需带宽/MHz
news
27.24
16.86
foreman
64.83
48.78
miss_am
27.71
15.95
carphone
52.54
34.52
salesman
28.06
16.56
trevor
52.56
34.24
注: ① 为标准视频测试序列。
解码速度基本取决于图像画面的运动情况和颜色是否丰富。从上面的数据可以看出对于不同的序列,其解码速度也不同。news、salesman和miss_am之所以很快,是因为图像背景静止,只有肩部和头部有运动,所以P帧的编码数据量较少,解码速度较高。另外,如果图像很简单(单调),其能量集中到DC系数(直流分量)上,交流系数会出现多个零,因此变长解码速度就会较高,从而节约了解码时间。
从仿真速度分析,通过本文所总结的ARM7TDMI上视频解码的优化方法,可以使MPEG4视频解码节约大量的数据处理时间。由实验结果可见,本视频解码器能较好地满足低分辨率、低帧率场合实时解码的要求。
4 MPEG4视频解码的嵌入式系统实现
实现本解码器的主要硬件平台是Easy ARM2200,如图5所示。它是一款功能强大的32位ARM单片机开发板,采用了Philips公司的ARM7TDMI?S核,以及总线开放的单片机LPC2210,具有JTAG调试功能。
- 上一篇:提升市电电压
《基于ARM的MPEG4视频解码器》相关文章
- › 基于ARM7内核的IP电话设计
- › 基于ARM的车载音响设计与研究
- › 基于ARM的智能家居远程控制系统设计
- › 基于ARM的MPEG4视频解码器
- › 基于ARM Cortex-M3的MODBUS协议实现及其应用
- › 基于ARM核的音频解码器单芯片系统
- 在百度中搜索相关文章:基于ARM的MPEG4视频解码器
- 在谷歌中搜索相关文章:基于ARM的MPEG4视频解码器
- 在soso中搜索相关文章:基于ARM的MPEG4视频解码器
- 在搜狗中搜索相关文章:基于ARM的MPEG4视频解码器