用于mpeg4解码装置的解码错误恢复方法

文档序号:7962698阅读:964来源:国知局
专利名称:用于mpeg4解码装置的解码错误恢复方法
技术领域
本发明涉及MPEG4解码技术,尤其涉及MPEG4解码装置的解码错误恢复技术。
背景技术
数字技术的蓬勃发展和广泛应用使人类社会迈入了“数字时代”。今天,数字技术产品已走进普通百姓的日常生活之中。
数字技术就是用数字编码来描述和表达图像、声音等各种媒体信息。其其中,压缩编码是一个关键环节。
MPEG是运动图像专家组的英文首字母缩写。该专家组成立于1988年,致力于运动图像及其伴音的压缩编码标准化工作,曾计划开发MPEG1、MPEG2、MPEG3和MPEG4四个版本,以适用于不同带宽和数字影像质量的要求。其中,MPEG4于1999年初正式成为国际标准。MPEG4是一个适用于低传输速率应用的方案。与MPEG1和MPEG2相比,MPEG4更加注重多媒体系统的交互性和灵活性。
MPEG4在多媒体传输、多媒体存储等领域具有广泛应用。目前也已经开发出一些解码装置来实现MPEG4解码过程,例如UMPG-4100-D IP模块。
然而,在使用这些解码装置,例如UMPG-4100-D IP实现mpeg4视频解码时,若输入码流出错或者IP进入错误状态,则会导致其驱动程序无法获得任何回馈信息,从而无法进行其他任何进一步操作的“死锁”现象。

发明内容
本发明所要解决的技术问题在于提供一种用于MPEG4解码装置的解码错误恢复方法,避免解码装置在输入码流出错或者进入错误状态时的死锁现象。
为解决上述技术问题,本发明提供一种用于MPEG4解码装置的解码错误恢复方法,利用解码装置是以产生中断与响应中断的方式实现MPEG4解码过程的特性,当该解码装置产生一个中断时,开始计时,当预设时间到时,如果该解码装置没有再次产生中断,则通知上层应用解码文件出错,或者重新为该解码装置输入比特流。
利用本发明提出的错误恢复机制,使解码装置完全避免了在输入码流出错或者进入错误状态时的死锁现象。


图1为UMPG-4100-D IP模块实现解码的过程示意图。
具体实施例方式
参考图1,现有的MPEG4解码装置,以UMPG-4100-D IP模块及其驱动程序为例,其主要是通过产生中断与响应中断来实现mpeg4解码过程。
驱动程序接受待解码的MPEG4码流,当驱动程序给解码模块发送解码开始命令MPEG4_DEC_START后,解码模块开始接受MPEG4码流,并执行解码操作,在解码过程中,解码模块产生不同的中断信号给驱动程序,如MPEG4_DEC_VOP_END_INT(表示一帧图象解码完毕)、MPEG4_DEC_BLOCK_END_INT(表示输入的比特流BLOCK解码完毕)、MPEG4_DEC_DONE_INT(解码过程全部完成)等,驱动程序则响应中断再产生不同的工作命令返回给该解码模块,如MPEG4_DEC_VOP_START(新一帧解码开始)、MPEG_DEC_BLOCK_START(新输入比特流解码开始)等,如此往复直至解码过程完成。
根据图1所示的工作模式,由于解码速率必须满足正常显示速度的要求,在正常情况下,UMPG-4100-D IP解码模块产生的每次中断间隔是在一定时间域值范围内的,此时间域值与解码速率成反比。当MPEG4解码模块出现错误,比如收到不符合MPEG4文件格式的错误码流,解码模块无法正常解析文件时,就会造成模块不再正常工作,具体表现为不能产生正常中断信号。因此当中断间隔超过设定时间域值即可认定解码已经无法正常工作,此时若没有错误恢复机制,则应用在播放一个MPEG4文件时屏幕既无显示也没有任何报错信息通知应用,这是无法接受的。
因此,本发明提出,解码过程中当检测到中断间隔超过设定时间域值时,将由驱动程序通知上层应用解码文件出错并不再进行解码,或者略过当前解码文件若干帧后重新为IP模块输入比特流。这是由于MPEG4码流由三种图象帧码流组成,分别是I帧、P帧与B帧,其中I帧,在解码时不需要其它帧的参考信息;而P帧与B帧解码需要其前序参考帧的参考信息。这样驱动程序对输入比特流进行简单解析,直至找到一个I帧帧头,将此帧及其以后的比特流输入给解码模块,就可以使得解码模块从错误状态中恢复出来,继续实现解码操作,而在应用看到的只是显示图象出现了短暂的跳跃,这仍是可以接受的。对于每次中断间隔的计时可以由软件-驱动程序实现,也可由硬件-解码模块来实现。软件实现即为驱动程序设置计时器并进行计时,每收到中断信号,此计时器清零,并重新计数,当计数超过设定域值时表明解码出错;硬件实现即为硬件设置计时器,每发出中断信号后计时器清零并重新计数,当与域值比较超时后发送超时中断MPEG4_DEC_ERROR_INT给驱动程序。
简单来说,就是当解码装置产生一个中断时,开始计时,当预设时间到时,如果该解码装置没有再次产生中断,则通知上层应用解码文件出错,或者重新为该解码装置输入比特流。而所述计时的预设时间,可以根据解码速率而事先设置。
权利要求
1.一种用于MPEG4解码装置的解码错误恢复方法,所述解码装置是以产生中断与响应中断的方式实现MPEG4解码过程,其特征在于,当该解码装置产生一个中断时,开始计时,当预设时间到时,如果该解码装置没有再次产生中断,则通知上层应用解码文件出错,或者重新为该解码装置输入比特流。
2.如权利要求1所述的方法,其特征在于,所述通知上层应用解码文件出错后,将不再进行解码工作。
3.如权利要求1所述的方法,其特征在于,所述重新为该解码装置输入比特流的步骤,包括略过当前解码文件若干帧后重新为该解码装置输入比特流。
4.如权利要求1所述的方法,其特征在于,所述计时步骤,由控制该解码装置的驱动程序来完成。
5.如权利要求1所述的方法,其特征在于,所述计时步骤,由该解码装置本身来完成。
6.如权利要求1所述的方法,其特征在于,所述计时的预设时间,根据解码速率而事先设置。
7.如权利要求1所述的方法,其特征在于,所述重新为该解码装置输入比特流的步骤,包括对当前输入比特流进行简单解析,直至找到一个I帧帧头,将此帧及其以后的比特流输入给解码装置。
8.如权利要求1所述的方法,其特征在于,所述解码装置为UMPG-4100-D IP模块。
9.如权利要求4所述的方法,其特征在于,所述计数步骤,包括由驱动程序设置计时器并进行计时,每收到中断信号,此计时器清零,并重新计数,当计数超过预设时间时,通知上层应用解码文件出错,或者重新为该解码装置输入比特流。
10.如权利要求5所述的方法,其特征在于,所述计数步骤,包括设置一个硬件计时器,每发出中断信号后计时器清零并重新计数,当与预设时间比较超时后,通知上层应用解码文件出错,或者重新为该解码装置输入比特流。
全文摘要
本发明公开了一种用于MPEG4解码装置的解码错误恢复方法,所述解码装置是以产生中断与响应中断的方式实现MPEG4解码过程,其中,当该解码装置产生一个中断时,开始计时,当预设时间到时,如果该解码装置没有再次产生中断,则如果该解码装置没有再次产生中断,则通知上层应用解码文件出错,或者重新为该解码装置输入比特流。利用本发明提出的错误恢复机制,使解码装置完全避免了在输入码流出错或者进入错误状态时的死锁现象。
文档编号H04N7/26GK1901677SQ20061008890
公开日2007年1月24日 申请日期2006年7月25日 优先权日2006年7月25日
发明者左慧莉 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1