一种视频编码器及其码率控制方法
技术领域
本发明涉及一种视频编码技术领域,特别是一种视频编码器及其码率控制方法。
背景技术
随着计算机技术、微电子技术和通信技术的不断进步,人们己不仅仅满足于信息、语音、电子邮件等的通信方式,视频通信因为其直观性、可靠性等一系列优点,成为新的应用需求热点。例如远程监控、远程教学、远程医疗诊断、远程购物、远程探视、电视电话会议等应用都迫切需要高质量的网络视频传输的支持。视频编码技术是以视频通信为代表的多媒体应用中的一项关键技术,具体是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的处理方式。
现有技术的视频编码过程一般包括预测、变换和量化操作,预测产生的差值通过变换和量化生成残差系数,再进行熵编码,对应解码器中进行熵解码、反量化和反变换等操作。但是,量化过程会造成信息的丢失,量化系数越大,信息就越少,传输需要的码字越少(即码率越低),图像质量也会相应降低。为此,编码器中都会设置码率控制模块,通过调节量化参数(QuantizationParameter,QP)来控制残差系数的大小,当码率过高时,通过增大QP的取值,减小残差系数的大小,从而降低码率。
为了使视频图像更加清晰通透,通常在视频编码之前还要进行图像预处理(ISP,ImageSignalProcessing,ImagePre-processing)操作,图像预处理过程会对图像的亮度、饱和度、对比度、噪声程度进行调节和处理,使图像显示效果更好。但是,图像预处理过程中一些含有滤波的操作会对视频编码效率会有较大影响。例如:降低噪声操作会对图像作平滑滤波处理。在进行降噪操作时,滤波强度越大,噪声压制越强,图像编码效率越高,但是另一方面,滤波强度越大,图像细节越少,有可能造成图像模糊。比如:边缘增强操作会提取图像中的边缘细节予以加强,使图像轮廓更清晰,细节更突出。在进行边缘增强操作时,虽然能够使图像轮廓更清晰,细节更突出,但同时也增加了图像压缩的难度,即与进行该步骤处理前的图像相比,要使视频编码达到相同的码率,需要更大的QP才能实现。
虽然现有技术的视频编码过程中具有码率控制模块,但是,现有的视频码率控制只针对视频编码器部分,没有综合考虑图像预处理过程对编码效率的影响,在进行码率控制时与图像预处理过程没有任何信息交互和利用,无法实现图像质量与编码效率的平衡,难以实现视频流在更低的码率下保持较好的图像质量。
发明内容
本发明实施例提供了一种视频编码器及其码率控制方法,实现图像质量与编码效率的平衡、在更低码率下可以保持较好图像质量。
本发明实施例提供的一种视频编码的码率控制方法,包括,
设置码率预定值;
在输入图像序列经图像预处理处理后进行视频编码处理生成编码视频流的过程中,获取当前码率信息并判断当前码率的大小;
根据当前码率与码率预定值的大小关系,相应调整图像处理强度控制参数及压缩量化控制参数。
上述方法中,若当前码率大于码率预定值,则增大量化参数取值,或者增加图像预处理过程中的降低噪声操作的滤波强度,或者降低边缘增强操作的处理强度;
若当前码率小于码率预定值,则减小量化参数取值,或者减小图像预处理过程中的降低噪声操作的滤波强度,或者增加边缘增强操作的处理强度。
上述方法中,进一步设置量化参数预定值;若当前量化参数也已达预定值,则不再增加量化参数值。
上述方法中,在对输入图像序列进行图像预处理之前还包括对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行。
上述方法中,利用图像智能分析方法将所述输入图像序列中的目标与背景分离,将目标作为重要区域,将背景作为次要区域。
上述方法中,所述码率控制分区域进行包括:
在图像预处理中对次要区域实现比重要区域强的平滑滤波处理,或在编码过程中对次要区域实现比重要区域强的量化压缩处理。
上述方法中,所述当前码率为当前统计码率。
一种视频编码器,包括:
图像预处理模块,用于对视频图像的亮度、饱和度、对比度、噪声程度进行调节和处理;
视频编码模块,用于对视频图像进行压缩处理生成编码视频流;
码率控制模块,用于在输入图像序列经图像预处理模块处理后,在视频编码模块对其处理生成编码视频流的过程中,获取当前码率统计信息并判断当前码率的大小,根据需要相应调整图像处理强度控制参数及压缩量化控制参数。
上述视频编码器中,还包括:智能分析模块,用于在图像预处理模块对输入图像序列进行图像预处理之前,对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行。
上述视频编码器中,所述图像预处理模块还用于在对输入图像序列进行图像预处理之前对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行。
上述视频编码器中,所述视频编码模块还用于在输入图像序列进行图像预处理之前对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行。
本发明的上述技术方案相比现有技术具有以下优点:
(1)本发明的视频编码器及其码率控制方法,将图像预处理与视频压缩结合在一起考虑,通过图像预处理模块的处理强度与视频编码中的码率控制结合调节,可以达到更佳的图像质量与编码效率的平衡点,使视频流在更低的码率下保持较好的图像质量。
(2)本发明的视频编码器及其码率控制方法,在输入图像序列进入图像预处理模块之前还包括对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行,凸出重要区域,确保重要区域的清晰度和图像质量。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明一实施例所提供的视频编码码率控制方法的方法流程图。
图2是本发明一实施例所提供的视频编码器的结构示意图。
具体实施例
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种视频编码码率控制方法,首先设置码率预定值;在输入图像序列经图像预处理处理后进行视频编码处理生成编码视频流的过程中,获取当前码率信息并判断当前码率的大小;并根据当前码率与码率预定值的大小关系,相应调整图像处理强度控制参数及压缩量化控制参数。
其中图像处理强度控制参数包括降低噪声操作的滤波强度以及边缘增强操作的处理强度。若当前码率大于码率预定值,则增大量化参数取值,或者增加图像预处理过程中的降低噪声操作的滤波强度,或者降低边缘增强操作的处理强度;若当前码率小于码率预定值,则减小量化参数取值,或者减小图像预处理过程中的降低噪声操作的滤波强度,或者增加边缘增强操作的处理强度。
在本发明一实施例中,还进一步包括预先设置量化参数预定值;若当前量化参数也已达预定值,则不再增加量化参数值。
这里需要注意的是,当前码率信息可以是当前码率的统计信息。
下面以一具体实施例来说明本发明所提供的视频编码码率控制方法。图1是本发明一实施例所提供的视频编码码率控制方法的方法流程图。如图1所示,该方法包括:
步骤100:设置码率预定值和量化参数QP预定值,继续执行步骤101。
步骤101:在输入图像序列经图像预处理后进行视频编码处理生成编码视频流的过程中,获取视频编码的当前码率统计信息,继续执行步骤102。
步骤102:判断当前码率与码率预定值的大小,若当前码率大于码率预定值则执行步骤103,若当前码率小于码率预定值则执行步骤106,若当前码率等于码率预定值则执行步骤101。
步骤103:判断当前量化参数QP与量化参数QP预定值的大小,若当前量化参数QP大于或等于预定值,则执行步骤104,否则执行步骤105。
步骤104:增加图像预处理中降低噪声操作的滤波强度,或者降低边缘增强操作的处理强度,以降低码率。
步骤105:增加量化参数QP取值,或者增加图像预处理模块中的降低噪声操作的滤波强度,或者降低边缘增强操作的处理强度,以降低码率。
步骤106:减小量化参数QP取值,或者减小图像预处理模块中的降低噪声操作的滤波强度,或者增加边缘增强操作的处理强度,以提高码率。
本发明将图像预处理模与视频编码模块都参与到码率控制过程中,通过调节图像预处理模块(降噪、边缘增强等)的处理强度,调节图像的细节程度,进一步调节码率,增加了控制码率的手段。
在本发明一实施例中,在对输入图像序列进行图像预处理之前还可以进一步包括:对视频图像进行区域分析并划分出重要区域(感兴趣区域)和次要区域(非感兴趣区域)的步骤,图像预处理时对不同区域采用不同的处理强度,如设置不同的降噪滤波强度或者不同的边缘增强处理程度,使图像质量和码率可以分区域进行调节和控制。
这样根据不同区域采用不同的图像预处理与视频编码处理强度,使重要区域和次要区域的图像质量分别调节,从而在码率受限的条件下优先保证重要区域的图像质量。
具体而言,可以在图像预处理中对次要区域(例如背景部分)实现比较强的平滑滤波处理,在编码过程中做比较强的量化压缩处理,并根据码率情况对图像预处理过程中的平滑滤波强度及编码中的量化强度进行调节,而对重要区域保持较佳的图像预处理及量化处理,使图像预处理过程中的处理模块加入到码率控制的循环反馈体系中,从而获得更佳的图像质量预码率的平衡。
在本发明一实施例中,可以利用图像智能分析方法将目标与背景分离,将目标作为重要区域,将背景作为次要区域。
图2是本发明一实施例所提供的视频编码器的结构示意图。如图2所示,该编码器包括:图像预处理模块、视频编码模块、码率控制模块、智能分析模块。
图像预处理模块用于对视频图像的亮度、饱和度、对比度、噪声程度进行调节和处理。
视频编码模块用于对视频图像进行压缩处理生成编码视频流。
码率控制模块用于在输入图像序列经图像预处理处理后进行视频编码处理生成编码视频流的过程中,获取当前码率统计信息并判断当前码率的大小,根据当前码率与码率预定值的大小关系,相应调整图像处理强度控制参数及压缩量化控制参数。智能分析模块用于在输入图像序列进行图像预处理之前对视频图像进行区域分析并划分出重要区域和次要区域,使码率控制分区域进行。
本领域技术人员可以理解,在某些实施例下,编码器可以不包含智能分析模块,此时不对视频图像进行区域划分,或者区域分析和划分由图像预处理模块及视频编码模块内部自适应产生,或者对视频图像进行区域分析并划分出重要区域和次要区域的过程在外部进行,划分区域完成后再进行图像预处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。