教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

基于ARM7的MPEG-4视频解码器的优化(2)

来源:网络收集 时间:2026-08-16
导读: a=A 所需要的参考数据块。参考数据拷贝到片内。运动补偿 b=fA+B+1-rounding_contr01)/2在片内实行,按照字读取数据并根据情况采用不同的半c=fA+C+1-rounding_c

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于ARM7的MPEG-4视频解码器的优化(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/115977.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)