一种高效的h264解码方法

文档序号:7797513阅读:420来源:国知局
一种高效的h264解码方法
【专利摘要】本发明公开了一种高效的H264解码方法,包括以下步骤:接收到编码后第一帧图像数据,将其充入解码器的缓冲区;连续复制第一帧图像数据直至填充整个缓冲区;缓冲区达到解码器的解码要求,解码第一帧图像数据;第二帧图像数据充入缓冲区,解码第二帧图像数据……直到解码最后帧图像数据。本发明通过快速复制第一帧图像数据以尽快填充缓冲区达到解码器的解码要求,能够明显加快第一帧图像数据的解码,有效降低了解码延迟时间,提高了解码效率。
【专利说明】—种高效的H264解码方法
【技术领域】
[0001]本发明涉及一种图像数据的解码方法,尤其涉及一种高效的H264解码方法。
【背景技术】
[0002]目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261 (即H261)、H.263 (即H263)、H.263+ (即H263+)等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
[0003]H.264即H264,是由两个组织联合组建的联合视频组(JVT )共同制定的新数字视频编码标准,所以它既是ITU-T的H264,又是IS0/IEC的MPEG-4高级视频编码(AdvancedVideoCoding,AVC),而且它将成为MPEG-4标准的第10部分。因此,不论是MPEG-4AVC、MPEG-4PartlO,还是 IS0/IEC14496-10,都是指 H264。
[0004]H264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25: 1,而采用H264压缩标准压缩后变为879MB,从88GB到879MB,H264的压缩比达到惊人的102: I! H264为什么有那么高的压缩比?低码率(Low Bit Rate)起了重要的作用,和MPEG-2和MPEG-4ASP等压缩技术相比,H264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H264在具有闻压缩比的同时还拥有闻质量流畅的图像。
[0005]目前H264编码格式(AVC)已经是一种流行压缩编码格式,它被广泛的使用在高精度视频的录制、压缩和发布。H264编码格式能够在更低带宽下提供优质视频(只有MPEG-2,
H.263或MPEG-4第2部分的一半带宽或更少)。
`[0006]在算法上,H264使用了帧间和帧内预测(Estimation)、变换(Transform)和反变换、量化(Quantization)和反量化、环路滤波(LoopFilter)、熵编码(Entropy Coding)五个部分,从而将压缩效率在原有基础上提高了两倍以上。
[0007]在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B中贞。
[0008]H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。
[0009]H264压缩时,主要基于以下方法:
[0010]1、分组:把几帧图像分为一组(G0P,也就是一个序列),为防止运动变化,帧数不宜
取多;
[0011]2、定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧;
[0012]3、预测帧:以I帧做为基础帧,以I帧预测P帧,再由I帧和P帧预测B帧;
[0013]4、数据传输:最后将I帧数据与预测的差值信息进行存储和传输。
[0014]因为H264使用了多种预测算法提高其压缩率,造成了传统解码技术存在的延迟缺陷。H264解码方式在解码一帧图像时,需要对一帧图像进行向前向后的多方预测才能解出来完整视频数据,正是由于这种必须的机制,导致了 H264解码器在解码时需要不断的填充自己的缓冲区(buffer),在缓冲区填充完整之前无法进行一些帧图像的解码,所以传统的解码方法需要等待足够多帧图像填充满缓冲区后才能进行第一帧图像的解码,所以会出现很大延迟。
[0015]另外,由于添加了解码器机制,传统解码方法中,在解码网络丢帧时,必须等待关键帧后将原有缓冲区清空,重新进行解码显示,所以会因数据缺乏造成花屏、马赛克现象。

【发明内容】

[0016]本发明的目的就在于为了解决上述问题而提供一种高效的H264解码方法。
[0017]本发明通过以下技术方案来实现上述目的:
[0018]一种高效的H264解码方法,包括以下步骤:
[0019](1)接收到编码后第一帧图像数据,将其充入解码器的缓冲区;
[0020](2)连续复制第一帧图像数据直至填充整个缓冲区;
[0021](3)缓冲区达到解码器的解码要求,解码第一帧图像数据;
[0022](4)第二帧图像数据充入缓冲区,解码第二帧图像数据……直到解码最后帧图像数据。
[0023]上述方法中,用复制帧图像数据的方式代替传统等待接收后续帧图像数据的方式完成第一帧图像数据的解码准备功能,由于复制所需的时间远小于等待所需的时间,所以本发明解码第一帧图像数据的速度要快得多。
[0024]进一步,在解码过程中,如果遇到某个关键帧图像数据丢失,则自动调取该关键帧图像数据的前一帧非关键帧图像数据充入缓冲区并实现解码,直到获取下一个关键帧图像数据。这种方法可以减少因关键帧图像数据缺乏造成的花屏、马赛克现象。
[0025]本发明的有益效果在于:
[0026]本发明通过快速复制第一帧图像数据以尽快填充缓冲区达到解码器的解码要求,能够明显加快第一帧图像数据的解码,有效降低了解码延迟时间,提高了解码效率;通过在丢失关键帧图像数据时补充前面一帧非关键帧图像数据的方法以保持图像输出的连贯性,减少了因关键帧图像数据缺乏造成的花屏、马赛克现象,提升了解码器质量。总的来说,本发明增加了缓冲区图像数据的快速补偿机制,实现在在缓冲区缺乏帧图像数据无法解码时及时补充帧图像数据以完成快速、连续解码,降低了整个视频数据的延迟,减少了输出图像(视频)的花屏、马赛克现象,提高了解码效率和解码图像(视频)质量。
【专利附图】

【附图说明】
[0027]图1是传统H264解码方法的流程图;
[0028]图2是本发明所述高效的H264解码方法的流程图。
【具体实施方式】
[0029]下面结合附图对本发明作进一步说明:
[0030]如图2所示,本发明所述高效的H264解码方法包括以下步骤:
[0031](I)接收到编码后第一帧图像数据,将其充入解码器的缓冲区;[0032](2)连续复制第一帧图像数据直至填充整个缓冲区;
[0033](3)缓冲区达到解码器的解码要求,解码第一帧图像数据;
[0034](4)第二帧图像数据充入缓冲区,解码第二帧图像数据……直到解码最后帧图像数据。
[0035]在解码过程中,如果遇到某个关键帧图像数据丢失,则自动调取该关键帧图像数据的前一帧非关键帧图像数据充入缓冲区并实现解码,直到获取下一个关键帧图像数据。
[0036]如图1所示,传统的H264解码方法包括以下步骤:
[0037](I)接收到编码后第一帧图像数据,将其充入解码器的缓冲区;
[0038](2)等待缓冲区达到解码器的解码要求,在此过程中,连续充入第二帧图像数据、第三帧图像数据……第N帧图像数据,直到将缓冲区充满;
[0039](3)缓冲区达到解码器的解码要求后,开始解码第一帧图像数据;
[0040](4)第N+1帧图像数据充入缓冲区,解码第二帧图像数据……直到解码最后帧图像数据。
[0041]比较图1与图2可知,本发明用复制帧图像数据的方式代替传统等待接收后续帧图像数据的方式完成第一帧图像数据的解码准备功能,由于复制所需的时间远小于等待所需的时间,所以本发明解码 第一帧图像数据的速度要快得多。
[0042]上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。
【权利要求】
1.一种高效的H264解码方法,其特征在于:包括以下步骤: (1)接收到编码后第一帧图像数据,将其充入解码器的缓冲区; (2)连续复制第一帧图像数据直至填充整个缓冲区; (3)缓冲区达到解码器的解码要求,解码第一帧图像数据; (4)第二帧图像数据充入缓冲区,解码第二帧图像数据……直到解码最后帧图像数据。
2.根据权利要求1所述的高效的H264解码方法,其特征在于:在解码过程中,如果遇到某个关键帧图像数据丢失,则自动调取该关键帧图像数据的前一帧非关键帧图像数据充入缓冲区并实现解码,直到获取下一个关键帧图像数据。
【文档编号】H04N19/42GK103780908SQ201410064396
【公开日】2014年5月7日 申请日期:2014年2月25日 优先权日:2014年2月25日
【发明者】寇健, 覃勉, 秦臻 申请人:成都佳发安泰科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1