基于ARM7的MPEG-4视频解码器的优化(2)
a=A
所需要的参考数据块。参考数据拷贝到片内。运动补偿
b=fA+B+1-rounding_contr01)/2在片内实行,按照字读取数据并根据情况采用不同的半c=fA+C+1-rounding_contr01)/2d=(A+B+C+D+2-munding_contr01)14
像素插值,提高了程序的执行效率。
2.3VLD优化
图5半像素插值
由于MPEG一4变长编码中的码字长度是不定的,而解MV_X和MV—Y最低位为0或1的情况分为:只进行直码器的输入是连续的比特流,码字之间没有间隔符,所以接复制相应数据;只进行垂直方向插值;只进行水平方
VLC(VariableLengthCoding)码表必须判断码字的长度。在向插值;进行双线性插值。具体做法如下:
通常情况下,VLD(VariableLengthDecoding)解码是通过不当MV_X和MV_Y的最低位都为零时,运动矢量指断搜索和判断得到码字和码长,故解码的时间因码长而
向的16x16的块本身与缓冲区中的像素重合,这时不需异。对于实时处理来说,若该部分计算量过大,将影响整
要进行任何插值处理,直接复制相应数据。当MV_X最个系统的处理速度。原始查表方法涉及到多次读取和判
低位为零而MV.-Y的最低位不为零时,运动矢量指向的断,计算量较大【5l。另外,信源符号内容不同,对应码长也
8x8的块的点落在某列两相邻像素的中间,这时只需要不同,造成查表判断耗费的时间差别很大。可以采用基于进行垂直方向的插值。当MVX最低位不为零而MV—Y分组的办法,根据码字编码位的不同划分为多个码表,将的最低位为零时,运动矢量指向的8x8的块的点落在某码字按照不同的区域进行划分。这样,不断的搜索判断可行两相邻像素的中间,这时只需要进行水平方向的插以简化为三个步骤:(1)读入定长码字;(2)通过对读人数据
值。当Mv._x与MV_Y的最低位均不为零时,运动矢量大小的判断确定读人的符号应属于哪一个查找表;(3)利
指向的8×8的块的点落在相邻四个像素的中心,这时必用得到的码字在查找表中直接获得其对应的信息。因每
须同时进行两个方向的插值。由于相邻帧之间具有很大
个分组包含的符号较少,所以可在取出分组信息后,从剩
的时间相关性,所以本帧和上一帧大部分数据是相同
下的信息位中直接得到符号在表中对应的位置。
的。假设上面4种运动补偿情形各占l,4,当进行水平经分组后,解码过程简化为(按最大码字长度读人数或垂直插值时,运动补偿所占的运算量仅为原来的双线据,以8位数据为例,设分成码长小于3的小码表和码性插值的l/2,比双线性插值约节省一半的计算量,从
长大于3的大码表):
而大大节省了运动补偿的时间。
(1)对读入数据进行大小判断。因分组时考虑到数据
2.2.3像素的并行处理
大小判断的简便性,可用移位代替。
解码过程中处理的像素是8位,如果运动补偿是在(2)数据大小的比较。右移5位,判断是否为0。如果为
字节或像素的基础上执行,则字节加载和存储将被使O,则符号落在码长小码表中;否则,符号落在大码表中。
用,它是存储器访问中代价最高的操作。因为ARM7是
(3)若符号落在小码表中,以右移5位的读入数据作32位微处理器,存储器可以按字读取数据,因此设计出为相对地址,直接在小码表中找到对应非零系数个数和
一种有效的运动补偿方法,即在字数据的基础上进行操
正/负个数及码长。若符号落在大码表中,则直接以读人
作。利用这种方法,便可以用一种非常有效的方式同时
的数据为相对地址,在大码表中找到相应的信息。
对四像素进行运动补偿。下面以水平方向的半像素补偿无法预见的反复读取和判断,经过基于分组的解码为例,讲述补偿的过程。
优化简化成上述三个可预见的步骤,减少了判断次数,
首先读入一个字到寄存器中,从低到高的数据依次加快了处理时间。
对应像素O、像素1、像素2和像素3;然后将读码流指3实验结果与数据分析
针增加l字节,再读取下一个字到另一寄存器中,从低
通过优化,MPEG一4的解码性能有了较大的提升。到高的数据依次对应的为像素l、像素2、像素3和像在ADSl.2环境下分别对各模块进行C算法优化和素4。示意图如图6所示。
ARM代码优化,结果如表3。按调用一次模块函数所需
对于垂直方向和水平垂直方向的半像素补偿,其原
周期数进行统计。
理与水平方向相同。在具体函数实现过程中,由解码数这些模块是解码过程中经常会调用的函数,因此,据获得当前数据块的运动矢量,根据获得的运动矢量得
这些函数的优化将使解码速度有明显提高。
到当前数据块在参考帧的具体位置,从而得到运动补偿
(下转第45页)
《电子技术应用》2009年第3期
39
万
方数据
在以上实验及系统中同时运行多个应用程序的情况下,400MHz主频下的统计结果如表l所示。
门——基于Xseale架构【M】.北京:人民邮电出版社,2006.
【2】黎伟,戴胜华.WindowsCE.NET实时性能测试与分析【J】.
北京交通大学学报,2005,29(5).
【3】罗蕾.嵌入式实时操作系统及应用开发(第二版)【M】.北
京:北京航空航天大学出版社,2007.
【4】刘大鹏,马孝江.基于WindowsCE嵌入式操作系统实时
性分析[J】.自动化技术与应用,2002(1).【5】THOMSONM,BROWNEJ.Designingand
microsoftwindowsCE.NETforreal-time
表1最大延迟时间
WinCE系统
WinCE4.2WinCE5.0
ISR最大延迟时间‰,邺IST最大延迟时间珞,邺
27.927.6
190.2160.4
表1中,WinCE中断延迟最大值‰+珞<250岬,远
小于1脚,可见WinCE操作系统满足大多数(95%)系统
对中断延迟时间的要求,所以可以说WinCE是一款实时操作系统。
optimizing
performance[EB/
OLI.WWW.m8dn.microsoft.corn,2002,7.【61HALL
M,MAILLET
S.Testingreal—time
system
in
本文简要阐述了WindowsCE的中断处理机制,详细分
析了微软提供的中断测量工具ILTiming测试的原理和实现方法,并在CompulabPXA255开发板上运用ILTiming设计测量了WindowsCE4.2和5.O的中断延迟时间。实验测试结果表明:WindowsCE4.2和5.0具有相同的中断延迟特性,即中断延迟时间与MPU频率成反比关系、与系统负荷成正比关系,且在恶劣情况下,均能满足实时系统的要
microsoftwindowscorn.2002.7.
CE.NET[EB/OL].w’M.msdn. …… 此处隐藏:1788字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




