一种视频编码方法及系统的制作方法

文档序号:7994379阅读:220来源:国知局
专利名称:一种视频编码方法及系统的制作方法
一种视频编码方法及系统技术领域
本发明属于视频编码技术领域,具体涉及一种在增强层模式完全由较低层模式得到的情况下能够提高编码质量的视频编码方法及系统。
背景技术
随着视频编码技术的发展和人们需求的不断变化,现在人们不仅要求视频编码的压缩效率有很大的提高,同时要求编码结果可以满足多种应用场合。以往想要编码一个视频用于多种用途,采用的方法是将一个视频按照不同的码率、帧率、分辨率来分别编码三次,这样如果要编码一个视频就需要做三个视频的备份,针对不同的应用分别给不同的应用程序。这样不仅需要很大的存储空间,而且还需要浪费很多的时间。
采用SVC来进行编码就可以解决这样的麻烦,该编码方法分别从时间、空间和质量三个方面来进行了扩展。只需要对视频进行一次编码即可,在应对不同的应用的时候就可以根据三个方面的扩展来对压缩文件进行提取,使得一次编码的结果能够满足各种情况下的应用。如果要适应带宽比较低的环境就可以只传基本层的数据,如果要满足高清等应用的话就可以将增强层的数据一起用来解码得到质量高的视频。
在编码过程中有一个重要的模式选择过程。模式选择过程会先指定一个用于选择模式的量化参数,进而决定在当前量化参数下最优的模式。量化参数越大,码率越小,选择的模式也越简单。也就是说,对于普通的编码流程,在量化参数决定后,最优模式便决定了,因此编出的码流也就确定了。也就是说,在普通编码流程中,量化参数与模式之间存在一种“绑定”关系。调节模式复杂性需要消除这种“绑定”关系。另一方面,模式选择过程需要对每一种可能使用的模式进行一次尝试,之后根据对尝试结果的分析选出较优的码流。因此,模式选择是非常复杂的。对于非常多编码器的实现,模式选择模块是最复杂最耗时的模块。
在可伸缩编码中,一些情况下增强层的模式完全由较低层的模式得到。例如在H.264/SVC质量可伸缩编码时,由于不同质量层之间极强的相关性,在增强层对所有宏块强制使用base mode模式是一种合理的并且效果不错的做法。在这些情况下,模式选择需要同时考察所有的编码层,才能选出一个在全局上最优的模式。在实现上,这种做法需要同时考察多个不同的编码层,同时对这些不同编码层以某种机制进行权衡。这可能会在本来就很复杂的模式选择过程中引入一套更加复杂的权衡机制。因此,需要一套简单、规整的机制来对不同的编码层进行综合,从而使模式选择能够选择到一些使整体编码效果更优的模式。发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种在提高编码质量的同时不牺牲编码速度的视频编码方法及系统。
为解决上述技术问题,本发明采用的技术方案如下:
一种视频编码方法,在原编码器的基础上增加一个新编码器,编码过程包括以下步骤:
(I)所述原编码器对待编码图像进行预处理,并将预处理结果信息提供给所述新编码器;
(2)所述原编码器和新编码器按照各自的方式进行码率控制,选择出各自的量化参数;
(3)所述新编码器进行模式选择,并将选出的模式提供给所述原编码器。
一种视频编码系统,在原编码器的基础上增加一个新编码器,所述原编码器和新编码器均包括如下模块:
预处理模块,所述原编码器的预处理模块用于对待编码图像进行预处理,并将预处理结果信息提供给所述新编码器的预处理模块;所述新编码器的预处理模块用于接收所述原编码器的预处理模块提供的预处理结果信息;
码率控制模块,所述原编码器的码率控制模块和所述新编码器的码率控制模块用于按照各自的方式进行码率控制,选择出各自的量化参数;
模式选择模块,所述新编码器的模式选择模块用于进行模式选择,并将选出的模式提供给所述原编码器的模式选择模块;所述原编码器的模式选择模块用于接收所述新编码器的模式选择模块选出的模式。
本发明所述方法及系统,通过在原编码器的基础上增加一个不输出码流的新编码器来实现对不同层质量的综合考察,进而决定模式,在质量可伸缩编码中增强层模式完全由较低层模式得到的的情况下,可以明显提高编码质量,同时不牺牲编码速度。而且,对模式占用的码率可以灵活的调节。


图1是具体实施方式
中视频编码系统的结构框图2是具体实施方式
中视频编码方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式
进行详细描述。
如图1所示,本实施方式中视频编码系统,包括原编码器I和新编码器2,所述原编码器I和新编码器2均包括如下模块:预处理模块11、12,码率控制模块12、22,模式选择模块13、23和后处理模块14、24。
原编码器I的预处理模块11用于对待编码图像进行预处理,并将预处理结果信息提供给新编码器I的预处理模块21。新编码器I的预处理模块21用于接收原编码器I的预处理模块11提供的预处理结果信息。
原编码器I的码率控制模块12和新编码器2的码率控制模块22用于按照各自的方式进行码率控制,选择出各自的量化参数。原编码器I的码率控制模块12还用于根据其决定的量化参数对新编码器2的码率控制模块22决定的量化参数进行修正。
新编码器2的模式选择模块23用于根据量化参数进行模式选择,并将选出的模式提供给原编码器I的模式选择模块13。原编码器I的模式选择模块13用于接收新编码器2的模式选择模块23选出的模式。
原编码器I的后处理模块14用于直接使用新编码器2的模式选择模块23提供的模式进行后处理。新编码器2的后处理模块24用于进行和原编码器I的后处理模块14完全独立的后处理。后处理模块14、24还用于将后处理得到的码率信息,反馈给各自对应的码率控制模块12、22。
如图2所示,采用图1所示系统进行视频编码的方法包括以下步骤:
(I)原编码器I的预处理模块11对待编码图像进行预处理,并将预处理结果信息提供给所述新编码器。
对于视频编码来说,在进行宏块级编码之前,都需要对待编码图像进行分析、处理,从而将图像划分成宏块为后续处理做准备。这里将所有这些准备工作全部归并在预处理模块。对于新增加的编码器,其预处理模块可以和原编码器的基本层完全一样,也可以重新实现。这为实现的时候提供了极大的便利。
(2)原编码器I的码率控制模块12和新编码器2的码率控制模块22按照各自的方式进行码率控制,选择出各自的量化参数。
在模式选择之前,需要先决定一个模式的量化参数。通常来讲,量化参数的选择是属于码率控制范畴的。对于新编码器2,其码率控制模块22的逻辑可以和原编码器的码率控制模块22完全一样,也可以重新实现。这为量化参数的选择提供了极大的实现和研究的空间。
(3)新编码器2的模式选择模块23根据量化参数进行模式选择,并将选出的模式提供给原编码器I的码率控制模块12。
在码率控制模块决定了量化参数之后,模式选择模块需要根据这个量化参数选择一个模式。对于新编码器2,模式选择模块22的作用仍然是通过分析决定一个模式。而对于原编码器I来说,不再需要进行分析,直接使用新编码器2决定出来的模式。也就是说,原编码器I质量基本层的模式选择模块变成了一个“空壳”,而这部分选择模式的工作,则全部交给了新编码器。
模式选择是计算复杂度最高的模块,而原编码器模式选择部分计算复杂度被转移到新编码器中了,因此整个设计增加的计算复杂度在总的复杂度中所占比例非常的小。另一方面,模式选择需要在量化参数一定的情况下进行。利用新编码器进行模式选择,就消除了原编码器中量化参数和模式之间的绑定关系,从而达到可以灵活调节模式复杂度的效果O
本实施方式中,原编码器I根据自己决定的量化参数对新编码器2决定的量化参数进行修正。修正过程可以使输出实际码流的原编码器把自己码率控制的结果反馈给新编码器,进而影响新编码器中模式信息的大小,从而使模式信息的大小在码流整体大小中占用更加合理的比重。本实施方式中简单地对原编码器得到的量化参数和新编码器得到的量化参数进行加权,从而得到新编码器的量化参数。加权的权重由帧类型和原编码器当前编码层是否是基本层决定。原编码器中基本层包含所有模式信息,因此其权重更大。不同帧类型模式信息所占比重不同,因此其权重也会做相应的调整。
(4)原编码器I的后处理模块14直接使用新编码器2的模式选择模块23提供的模式进行后处理,新编码器2也进行和原编码器I同样的、完全独立的后处理。
在决定量化参数和模式之后,便可以进行预测、变换、量化、熵编码等后处理操作。之后还会有一些其余的工作,比如反量化、反变换、得到重建图像,进而进行环路滤波、参考帧管理,对于码率控制可能还会统计实际的使用码率信息反馈给码率控制模块。
下面对新编码器每个模块与原编码器模块之间的协作方式做进一步的描述。新编码器的预处理模块需要的所有编码信息都是由原编码器的预处理模块提供。之后原编码器和新编码器各自按照自己的方式进行码率控制,选择出自己的量化参数。原编码器可以根据自己决定的量化参数对新编码器决定的量化参数进行进一步的修正。之后新编码器进行模式选择,将选出的模式同时送给后处理模块和原编码器的模式选择模块。原编码器模式选择模块直接使用新编码器提供的模式进行后处理,而新编码器也进行和原编码器完全独立的后处理。后处理模块会得到一些码率的信息,这些信息可以反馈给各自对应的码率控制模块,从而使得后面的码率控制更加有效。
这里介绍一个本发明的应用场景。在H.264/SVC质量可伸缩编码中,质量增强层的模式完全由质量基本层得到。如果在基本层模式选择过程中只使用基本层信息进行模式选择,那么编码质量则有较大的损失。如果联合增强层的信息设计优化策略,则会引入复杂的机制,在实现上会有极大的难度。
采用本发明所述的办法,假设原编码器不同质量层分别是500K和IM的码率,那么可以简单地制定新编码器码率为这些质量层码率中间的某个码率,例如800K,就能够提高码流中模式信息所占的比重,从而提升编码的效果。假设实际编码中模式占用码率过高,也可以通过该方法灵活地降低模式信息的码率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种视频编码方法,其特征在于,在原编码器的基础上增加一个新编码器,编码过程包括以下步骤: (1)所述原编码器对待编码图像进行预处理,并将预处理结果信息提供给所述新编码器; (2)所述原编码器和新编码器按照各自的方式进行码率控制,选择出各自的量化参数; (3)所述新编码器根据所述量化参数进行模式选择,并将选出的模式提供给所述原编码器。
2.如权利要求1所述的视频编码方法,其特征在于:步骤(2)中还包括所述原编码器根据自己决定的量化参数对所述新编码器决定的量化参数进行修正的步骤。
3.如权利要求2所述的视频编码方法,其特征在于:所述修正的过程如下:将原编码器选择出的量化参数反馈给新编码器,对原编码器得到的量化参数和新编码器得到的量化参数进行加权,得到新编码器的量化参数。
4.如权利要求1 3中任一项所述的视频编码方法,其特征在于:所述方法还包括原编码器直接使用所述新编码器提供的模式进行后处理,所述新编码器也进行和所述原编码器完全独立的后处理的步骤。
5.如权利要求4所述的视频编码方法,其特征在于:还包括将后处理得到的码率信息,反馈给各自对应的码率控制的步骤。
6.一种视频编码系统,其特征在于,在原编码器(I)的基础上增加一个新编码器(2),所述原编码器(I)和新编码器(2)均包括如下模块: 预处理模块(11、21),所述原编码器(I)的预处理模块(11)用于对待编码图像进行预处理,并将预处理结果信息提供给所述新编码器(I)的预处理模块(21);所述新编码器(I)的预处理模块(21)用于接收所述原编码器(I)的预处理模块(11)提供的预处理结果信息; 码率控制模块(12、22),所述原编码器(I)的码率控制模块(12)和所述新编码器(2)的码率控制模块(22)用于按照各自的方式进行码率控制,选择出各自的量化参数; 模式选择模块(13、23),所述新编码器(2)的模式选择模块(23)用于根据所述量化参数进行模式选择,并将选出的模式提供给所述原编码器(I)的模式选择模块(13);所述原编码器(I)的模式选择模块(13)用于接收所述新编码器(2)的模式选择模块(23)选出的模式。
7.如权利要求6所述的视频编码系统,其特征在于,所述原编码器(I)的码率控制模块(12)还用于根据其决定的量化参数对所述新编码器(2)的码率控制模块(22)决定的量化参数进行修正。
8.如权利要求6或7所述的视频编码系统,其特征在于:所述原编码器(I)和新编码器(2)还包括后处理模块(14、24),所述原编码器(I)的后处理模块(14)用于直接使用所述新编码器(2)的模式选择模块(23)提供的模式进行后处理,所述新编码器(2)的后处理模块(24)用于进行和所述原编码器(I)的后处理模块(14)完全独立的后处理。
9.如权利要求8所述的视频编码系统,其特征在于:所述后处理模块(14、24)还用于将后处理得到的码率信息,反馈给各自对应的码率控制模块(12、22)。
全文摘要
本发明涉及一种视频编码方法,在原编码器的基础上增加一个新编码器,编码过程包括以下步骤原编码器对待编码图像进行预处理,并将预处理结果信息提供给新编码器;原编码器和新编码器按照各自的方式进行码率控制,选择出各自的量化参数;新编码器根据所述量化参数进行模式选择,并将选出的模式提供给原编码器;原编码器直接使用新编码器提供的模式进行后处理,新编码器也进行和原编码器完全独立的后处理。本发明还涉及一种与上述方法相对应的视频编码系统。本发明在增强层模式完全由较低层模式得到的情况下,可以明显提高编码质量,同时不牺牲编码速度。
文档编号H04N7/26GK103139560SQ201110390580
公开日2013年6月5日 申请日期2011年11月30日 优先权日2011年11月30日
发明者陈科吉, 孙俊, 段一舟, 郭宗明 申请人:北京大学, 北大方正集团有限公司, 北京北大方正电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1