新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于H.264解码器的软件优化

基于H.264解码器的软件优化

作者:时间:2010-08-11来源:网络收藏



3.2 流水新型算法

很多设计中,解码参数准备、解码和DMA的数据输出等过程按顺序串行执行的,该设计有条理安排这3个过程并行执行,充分利用DSP-BF533的指令并行执行特点,减少各模块之间的等待时间。

下面以4×4的宏块矩阵为例,首先给4×4矩阵标上4行4列的坐标,然后把程序处理分成5个阶段.其状态分别按顺序对应1、2、4、8、16,以便状态机运算,如表1所列。CAVLC为解析读入的数据并为后续的图像整合重建提供参数和参考图像等数据的过程,hl_decode是高级解码过程,即根据准备好的条件综合重建图像的过程。DMA是对已解码数据的传送过程。对照表1和表2分析:当新的一帧图像到来时,当前状态标号为1,此时只有CAVLC执行;当运行到坐标为x=1,y=0时,进入第2个状态,当前状态标号为2,CAVLC和hl_decode并行执行;当运行到坐标x=1,y=1时,进入第3个状态,标号为4,3个模块同时并行执行;到坐标y>4时,进入第4个状态,标号为8,只有hl_decode和DMA两个并行执行,CAVLC已经完成对所有宏块的解码前准备工作;再判断x>0,进入第5个状态。标号为16,此时只运行DMA模块。



因此,解码第1个宏块时处在状态1,之后连续4个宏块是状态2,再连续11个宏块进入状态3,随后1个宏块是状态4,最后3个宏块进入状态5。

如果假设CAVLC的执行时间A,hl_decode的执行时间B,DMA的执行时间C,普通算法的执行总时间T=16A+16B+16C;本文提出的方法时间T2=A+16B+3C,因此,明显缩短了程序执行时间。

4 测试结果

在DSP-BF533测试平台上测试Claire.cif和Pairs.cif,从测试分析的结果看来:后的结果提高解码速率,达到实时应用要求。结果如表3所列。



5 结束语

针对移动视频终端应用,根据DSP的特点,提出一个新型的流水算法,使得模块问的协作更紧密,更好利用程序运行的空余时间,减少程序等待时间,提高解码速率。实验测试该程序已达到对CIF图像的实时解码要求,以后进一步,以达到更高更可靠的解码效率,使得DSP-BF533的设计完全可扩展到从无线3G网络、数字电视,到IP网络,媒体的存储格式等不同领域。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭