一种视频编码的方法及装置制造方法及图纸

技术编号:9925358 阅读:120 留言:0更新日期:2014-04-16 16:58
本发明专利技术实施例提供一种视频编码的方法及装置,涉及图像处理技术,在I帧进行编码时,对I帧图像的每一个宏块,根据前一帧相同位置宏块的QP确定出各宏块SAD的阈值,再根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及所述各宏块的SAD阈值确定各宏块的QP,各宏块的QP的确定综合考虑了当前帧的码率、码流变化以及解码后图像的清晰度及与前一帧图像的误差值这些因素对各宏块的QP的影响,根据各宏块的QP进行编码,实现了在增加很少计算量的情况下,使得解码后的图像在保障清晰度的同时与前一帧解码后的图像误差值较小,从而简单有效的解决了I帧闪烁的问题。

【技术实现步骤摘要】
一种视频编码的方法及装置
本专利技术涉及图像处理技术,尤其涉及一种视频编码的方法及装置。
技术介绍
在对视频进行H.264编码过程中,对I帧编码时,由于I帧是节点编码图像,相当于一个固定图像,且独立于其他帧的图像,因此对I帧的宏块编码时不以其他帧的宏块作为参考,只进行Intra(内部)编码,与I帧之前帧的编码过程没有联系。对P帧编码时,由于P帧是预测编码图像,对P帧的宏块进行编码时,是以它前面的某些I帧或P帧的不同位置的宏块作为参考数据进行编码的,编码后的信息会有一个较小的连续性的失真。在H.264编码技术中,有这样几个数:为了去掉一系列P帧编码累积下来的与源图像的误差,在编码过程中每隔若干帧设置一个I帧。因此,在连续若干个P帧图像之后的I帧图像,肉眼上看会和前面的P帧图像差别较大,在低码率的情况下,这种现象尤为明显,就会出现I帧闪烁。针对I帧闪烁的问题,目前主要有以下几种解决方案:1)在编码前进行相关滤波,来降低视频中的噪声,从而减小P帧累积误差,以避免I帧闪烁。这种方法有一定的效果,但是在H.264低码率编码的情况下,改善的效果很有限。2)在对I帧编码时,加入一次时域上的滤波进行编码,缩小I帧图像与I帧之前图像的差别,以避免I帧闪烁。这种方法虽然收集了I帧之前时域上的信息,并改变了I帧编码前的图像,但是,对I帧编码过程中的编码策略,并没有进行相关调整,导致I帧解码后的图像与源图像的差别较大,也不能实现通过I帧编码去掉由前面一系列P帧编码累积下来的与源图像的误差的目的,与设置I帧的目的相悖。3)解码端对I帧图像进行后处理,以避免I帧闪烁。这种方案只能在特定解码端实现,灵活和通用性没有保证。综上所述,对于I帧闪烁的问题,目前的解决方案在有效性和通用性等方面都存在一定的问题,并没有简单有效的解决I帧闪烁的技术方案。
技术实现思路
本专利技术实施例提供一种简单有效解决I帧闪烁问题的视频编码的方法及装置。一种视频编码方法,包括:当对当前I帧进行编码时,对I帧的每个宏块,根据前一帧相同位置宏块的量化参数QP,确定各宏块的绝对差值和SAD阈值;根据码率控制算法计算出的QP,以及根据前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及各宏块的SAD阈值确定各宏块的QP;根据各宏块的QP,对各宏块进行编码。一种视频编码装置,包括:第一确定单元,用于当对当前I帧进行编码时,对I帧的每个宏块,根据前一帧相同位置宏块的量化参数QP,确定各宏块的绝对差值和SAD阈值;第二确定单元,用于根据码率控制算法计算出的QP,以及根据前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及各宏块的SAD阈值确定各宏块的QP;编码单元,用于根据各宏块的QP,对各宏块进行编码。本专利技术实施例提供一种视频编码的方法及装置,在对I帧进行编码时,对I帧图像的每一个宏块,根据前一帧相同位置宏块的QP确定出各宏块SAD的阈值,再根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及所述各宏块的SAD阈值确定各宏块的QP,各宏块的QP的确定综合考虑了当前帧的码率、码流变化以及解码后图像的清晰度及与前一帧图像的误差值这些因素对各宏块的QP的影响,根据各宏块的QP进行编码,实现了在增加很少计算量的情况下,使得解码后的图像在保障清晰度的同时与前一帧解码后的图像误差值较小,从而简单有效的解决了I帧闪烁的问题。附图说明图1为本专利技术实施例提供的视频编码的方法流程图之一;图2为本专利技术实施例提供的当前帧每个宏块的最大SAD与前一帧相同位置宏块的QP关系曲线图;图3为本专利技术实施例提供的一种确定各宏块的QP的方法流程图;图4为本专利技术实施例提供的一种各宏块的QP的取值范围的方法流程图;图5为本专利技术实施例提供的一种当前帧每个宏块的QP增量与前一帧相同位置宏块的QP的关系曲线图;图6为本专利技术实施例提供的一种确定第一QP的方法流程图;图7为本专利技术实施例提供的视频编码的方法流程图之二;图8为本专利技术实施例提供的视频编码的方法流程图之三;图9为本专利技术实施例提供的一种视频编码的装置示意图。具体实施方式本专利技术实施例提供一种视频编码的方法及装置,在对I帧进行编码时,对I帧图像的每一个宏块,根据前一帧相同位置宏块的QP确定出各宏块SAD的阈值,再根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及所述各宏块的SAD阈值确定各宏块的QP,各宏块的QP的确定综合考虑了当前帧的码率、码流变化以及解码后图像的清晰度及与前一帧图像的误差值这些因素对各宏块的QP的影响,根据各宏块的QP进行编码,实现了在增加很少计算量的情况下,使得解码后的图像在保障清晰度的同时与前一帧解码后的图像误差值较小,从而简单有效的解决了I帧闪烁的问题。在此介绍本专利技术实施例涉及到的一些现有技术:QP:QP为量化参数,在编码过程中,以QP为量化标准进行编码,QP越小,解码后的图像越清晰,然而编码的码流也会越大,在实际应用中,需要综合考虑图像的清晰度及码流来设定QP。SAD:SAD为绝对差值和,可以反映当前帧解码后的图像与源图像的时域差异,SAD越大,表示当前帧解码后的图像与源图像差异越大,通常,在对同一帧图像进行编码时,选取的QP值越大,图像越模糊,导致与源图像的差异越大,SAD值越大。最小SAD:实际应用中,可以通过QP推算出一个根据该QP进行编码,解码得到的图像的SAD的最小值,以判断通过该QP编码,解码后的图像与源图像的差异。码率控制算法:码率控制算法是根据码率推算QP的算法的统称,码率控制算法的具体实施方式有很多。如图1所示,本专利技术实施例提供一种视频编码方法,包括:S101、当对当前I帧进行编码时,对I帧的每个宏块,根据前一帧相同位置宏块的QP,确定各宏块的SAD阈值;S102、根据码率控制算法计算出的QP,以及根据前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及各宏块的SAD阈值确定各宏块的QP;S103、根据各宏块的QP,对各宏块进行编码。各宏块的QP的确定综合考虑了当前帧的码率、码流以及解码后图像的清晰度及与前一帧图像的误差值这些因素对各宏块的QP的影响,可以在保证有较佳的码率、码流及清晰度的情况下,使各宏块编码后的图像与前一帧相同位置宏块编码后的图像误差值较小,不会产生I帧闪烁。下面对S101、S102及S103进行具体的说明:S101中的阈值,可以为一个能够将各宏块的SAD限定在能保证不出现I帧闪烁范围内的阈值。较佳的,由于SAD越大,解码后的图像与源图像差别越大,可以根据前一帧的QP,考虑前一帧图像的SAD值,将阈值设定为一个能保证不出现I帧闪烁的各宏块SAD的最大值,则确定一个QP值,保证通过这个QP值计算出的最小SAD小于设定的阈值,再通过这个QP值进行编码,可以保证不出现I帧闪烁。具体的,S101中根据前一帧相同位置宏块的量化参数QP,确定各宏块的绝对差值和SAD的阈值,具体为:确定各宏块的SAD的阈值为SADmax(n)=(QP(n-1)*(β1-α1)/X)+α1,QP(n-1)为前一帧相同位置宏块的QP,X为前一帧相同位置宏块的QP的理论最大值,α1为QP(n-1)为零时,保障各宏本文档来自技高网
...
一种视频编码的方法及装置

【技术保护点】
一种视频编码方法,其特征在于,包括:当对当前I帧进行编码时,对I帧的每个宏块,根据前一帧相同位置宏块的量化参数QP,确定各宏块的绝对差值和SAD阈值;根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及所述各宏块的SAD阈值确定各宏块的QP;根据各宏块的QP,对各宏块进行编码。

【技术特征摘要】
1.一种视频编码方法,其特征在于,包括:当对当前I帧进行编码时,对I帧的每个宏块,根据前一帧相同位置宏块的量化参数QP,确定各宏块的绝对差值和SAD阈值;根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的各宏块的QP的取值范围,以及所述各宏块的SAD阈值确定各宏块的QP;根据各宏块的QP,对各宏块进行编码;其中,所述根据码率控制算法计算出的QP,以及根据所述前一帧相同位置宏块的QP确定出的每个宏块的QP的取值范围,以及所述每个宏块的SAD阈值确定各宏块的QP,具体包括:根据所述取值范围,以及根据码率控制算法计算出的QP确定各宏块的QP值,作为第一QP,所述第一QP位于所述取值范围内,并根据所述第一QP确定各宏块的最小SAD;当所述各宏块的最小SAD大于所述阈值时,根据所述阈值及各宏块的最小SAD按设定步长调小所述第一QP,直至根据调小后第一QP确定出的各宏块的最小SAD不大于所述阈值为止,并将最后一次调小后的第一QP的值确定为各宏块的QP,否则,直接确定第一QP的值为各宏块的QP;其中,所述根据所述取值范围,以及根据码率控制算法计算出的QP确定各宏块的QP值,作为第一QP,具体包括:根据码率控制算法确定各宏块的QP值,作为第二QP;当所述第二QP在所述取值范围内时,将所述第二QP的值确定为第一QP,当第二QP大于所述取值范围的最大值时,将该最大值确定为第一QP,当所述第二QP小于所述取值范围的最小值时,将该最小值确定为第一QP。2.如权利要求1所述的方法,其特征在于,所述根据前一帧相同位置宏块的QP,确定各宏块的SAD的阈值,具体包括:确定各宏块的SAD的阈值为SADmax(n)=(QP(n-1)*(β1-α1)/X)+α1,所述QP(n-1)为所述前一帧相同位置宏块的QP,所述n为当前帧,所述X为所述前一帧相同位置宏块的QP的理论最大值,所述α1为所述QP(n-1)为零时,保障各宏块解码后的图像与前一帧相同位置宏块解码后的图像在肉眼观察下误差值在设定范围内的各宏块的SAD的最大值,所述β1为所述QP(n-1)为X时,保障各宏块解码后的图像与前一帧相同位置宏块解码后的图像在肉眼观察下误差值在设定范围内的各宏块的SAD的最大值。3.如权利要求1所述的方法,其特征在于,所述根据所述前一帧相同位置宏块的QP确定出的每个宏块的QP的取值范围,具体为:根据所述前一帧相同位置宏块的QP确定各宏块的QP增量;各宏块的QP的取值范围为QP(n-1)-ΔQP≤QP(n)≤QP(n-1)+ΔQP,所述QP(n-1)为所述前一帧相同位置宏块的QP,所述ΔQP为所述各宏块的QP增量。4.如权利要求3所述的方法,其特征在于,所述根据所述前一帧相同位置宏块的QP确定各宏块的QP增量,具体包括:将各宏块的QP增量确定为:所述QP(n-1)为所述前一帧相同位置宏块的QP,所述γ为各宏块的QP相对于前一帧相同位置宏块的QP最大增量,所述X为所述前一帧相同位置宏块的QP的理论最大值,所述α为大于0小于X的整数,所述β为大于α小于X的整数。5.如权利要求1所述的方法,其特征在于,所述根据所述阈值及各宏块的最小SAD按设定步长调小所述第一QP,具体为:当各宏块的最小SAD大于所述阈值时,将所述第一QP减去设定步长的差作为新的第一QP,并根据新的第一QP确定各宏块的最小SAD,直至各宏块的最小SAD...

【专利技术属性】
技术研发人员:尤冬江澈张兴明傅利泉朱江明吴军吴坚
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1