一种基于预处理的视频高倍压缩方法与流程

文档序号:22321494发布日期:2020-09-23 01:56阅读:117来源:国知局
一种基于预处理的视频高倍压缩方法与流程

本发明涉及视频压缩编解码技术领域,特别涉及一种基于预处理的视频高倍压缩方法。



背景技术:

随着计算机和互联网的快速发展,以图像和视频为重要表现形式的多媒体数据通信技术迅速飞起,简单的文本、语音通信形式不再满足人们的日常需求。多媒体通信得到各行各业的厚爱,被广泛应用在远程教育、远程会议、可视电话、安防监控等领域,并且改变着我们的生活、学习和工作方式。但在多媒体铺天盖地而来之时,通信中的数据量变的非常庞大。例如,一幅大小为1280*720的24位真彩图,其原始数据量约为18.9mb,在4mbps的网络传输下,传输一幅图大约需要4.7秒。由此可见,多媒体技术对存储介质容量、信道带宽和计算机处理速度带来了极大的压力。虽然生产容量更大的存储介质、提高通信带宽及研发性能更高的计算机可以缓解这个问题,但实际却要付出很大的代价。所以,在储存之前对视频进行压缩编码从而减少通信中的数据量是势在必行的。

很多应用场景信道带宽和传输时延都是有固定要求的,尤其是目标码率较低的情况下,采用直接进行视频压缩是传统的做法,但是直接进行是品压缩,解码重建的图像会出现明显的方块效应及振铃效应,给视觉上造成严重不适。这种现象主要是由于在低码率下必须采用粗量化获得高压缩率。但是低码率传输在多媒体通信应用中非常广泛,例如在pstn上的可视电话、ip网以及无线网络的视频传输等。为了改善图像质量提高视觉效果。对于分辨率较大的视频尤其是高清视频在固定低码率下传输,在压缩之前对视频进行预处理是必不可少的。其中滤波和插值采样是最常用的算法。常用的滤波方法就是高斯滤波、双边滤波等,插值算法一般为最近邻插值、线性插值、双立方插值。但是传统做法一般都是针对整帧图像进行处理,即整帧图像采用一种滤波器,整帧图像实现1/2或者1/4采样。类似传统算法带来的问题:对于滤波来讲,细节部分希望保留,否则会使图像变得模糊。平坦区域希望尽可能的减小冗余,为提高压缩效率提供条件。但是所有区域用同一种滤波器很难既兼顾细节又兼顾平滑效果。因此,研究一种根据图像纹理及复杂度自适应选择合适的滤波器成为一种迫切的需求。

为了提高视频压缩效率,改善重建视频质量,低码率下对视频进行下采样是必不可少的。但是传统的所有区域等比例缩放会造成垂直纹理水平采样或者较强的边缘细节无论水平还是垂直采样,在解码完恢复上采样的时候都会出现很明显的锯齿效应,振铃效应因为插值而扩散等问题。



技术实现要素:

本发明的主要目的是提出一种基于预处理的视频高倍压缩方法将图像分成互不重叠的处理单元,一定程度上降低图像时延减少图像存储,另一方面为自适应滤波和自适应下采样提供了处理单元和区域划分;改善重建视频的质量。

为实现上述目的,本发明提出的一种基于预处理的高倍视频压缩方法,包括如下步骤:

s1、根据原始视频的分辨率将一帧图像划分成互不重叠的n*m的处理单元;

s2、利用sobel算子模板检测边缘信息,以所述处理单元为单位进行复杂度检测及纹理区域划分;

s3、即根据s2中标记的不同复杂度,对所述处理单元进行自适应性滤波去噪;

s4、即根据s2中标记的不同复杂度,对所述处理单元进行自适应性下采样;

s5、对每一所述处理单元进行下采样模式编码;

s6、对每一所述处理单元的视频内容进行视频编码;

其中,n和m根据图像分辨率以及压缩倍数自定义。

进一步地,n和m均为2的倍数。

进一步地,利用sobel算子计算得到的值value=abs(sumx)+abs(sumy),设定两个阀值t1和t2,t1<t2,设定满足上述阈值条件的计数分别为counter1和counter2;value>t2时,counter2加1,为强边缘像素计数;t1<value<t2时,counter1加1,为纹理像素值;value<t1时,说明像素为平坦像素值。

设定t3、t4两个阈值,用来判断当前区域的类型,即当前区域是平坦区域还是纹理区域还是边缘区域。其中,当conuter2>t3时,划分为边缘区;,即当conuter1>t4,划分为纹理区;否则该区域标记为平坦区。对于纹理区的纹理走向,统计其方向,该方向角度的计算公式如下:

θ=arctan(abs(sumy)/abs(sumx))

纹理走向判断计数分别为counterh和counterv,其counterh计数条件如下:

其counterv的计数条件如下:

若counterh>counterv,则该纹理区域走向标记为水平走向,否则标记为垂直走向。

进一步地,所述sobel算子的检测模板如下:

sx表示垂直检测模板,sy表示水平检测模板;sumx=sx*a,sumy=sy*a;其中a为3*3的像素矩阵。

进一步地,对所述平坦区域采用9抽头的加权均值滤波器进行自适应性滤波去噪,对所述纹理区域和所述边缘区域采用双边滤波器进行自适应性滤波去噪。

进一步地,所述9抽头的加权均值滤波器的filter为:

进一步地,对所平坦区域的水平和垂直都进行下采样,采样倍数为4;其下采样滤波器为mpeg4用的12抽头滤波器;对所述纹理区域采用复杂度较高的双立方线性滤波器进行下采样,根据纹理走向选择水平下采样或者垂直下采样;采样倍数为2。

进一步地,所述12抽头滤波器为filter_down={2,-4,-3,5,19,26,19,5,-3,-4,2,64}。该滤波器可以根据处理单元划分大小来确定抽头系数的个数以及系数值;其中抽头系数的个数小于所述处理单元的行数或列数的最小值的一半。

与现有技术相比,本发明的有益效果是:利用不同的纹理特性对编码前的视频进行自适应的处理。可以很好的保护图像纹理细节,去除图像冗余性。在高倍视频压缩应用中,可以很大程度上改善人的视觉感受。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明的步骤流程示意图;

图2为本发明中视频处理单元划分的流程示意图;

图3为本发明中视频复杂度检测及区域划分的流程示意图;

图4为本发明中视频去噪预处理的流程示意图;

图5为本发明中一实施例中采样模式的流程示意图;

图6为本发明中视频编码示意图;

图7为本发明中视频复杂度检测的流程示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

本实施例提出的本发明提出的一种基于预处理的高倍视频压缩方法,包括如下步骤如图1所示:

s1、视频处理单元划分,即根据原始视频的分辨率将一帧图像划分成互不重叠的n*m的处理单元;

s2、视频复杂度检测及区域划分,即利用sobel算子模板检测边缘信息,以所述处理单元为单位进行复杂度检测及纹理区域划分;

s3、视频去噪预处理,即根据s2中标记的不同复杂度,对所述处理单元进行自适应性滤波去噪;为降低复杂度,平坦区域采用3*3的水平平滑滤波,边缘区域和纹理区域采用双边滤波,且滤波参数可以调节。在一具体实施例中,滤波器的像素差值参数delta=20,距离差值参数delta_c=20。

s4、视频自适应下采样,即根据s2中标记的不同复杂度,对所述处理单元进行自适应性下采样;

s5、下采样模式编码,即对每一所述处理单元进行下采样模式编码;采用的是旁路编码模式。该步骤是为了解码端能够按照采样模式进行对应的上采样最终恢复原始分辨率图像;

s6、视频编码,即对每一所述处理单元的视频内容进行视频编码;。实施例中,使用的是h265的帧内编码。压缩倍数为30倍;

其中,n和m根据图像分辨率以及压缩倍数自定义。

进一步地,n和m均为2的倍数。如图2所示,其中pux(x=0,1,2....n-1…)表示划分的处理单元,h表示视频的分辨率水平方向像素个数,v表示视频的垂直方向像素个数。

进一步地,利用sobel算子计算得到的值value=abs(sumx)+abs(sumy),如图3所示,设定两个阀值t1和t2,t1<t2,设定满足上述阈值条件的计数分别为counter1和counter2;value>t2时,counter2加1,为强边缘像素计数;t1<value<t2时,counter1加1,为纹理像素值;value<t1时,说明像素为平坦像素值;设定t3、t4两个阈值,用来判断当前区域的类型,即当前区域是平坦区域还是纹理区域还是边缘区域;其中,当t3<t4,conuter2>t3时,划分为边缘区;,即当conuter1>t4,划分为纹理区;否则该区域标记为平坦区。对于纹理区的纹理走向,统计其方向,该方向角度的计算公式如下:

θ=arctan(abs(sumy)/abs(sumx))

纹理走向判断计数分别为counterh和counterv,其counterh计数条件如下:

其counterv的计数条件如下:

若counterh>counterv,则该纹理区域走向标记为水平走向,否则标记为垂直走向。

如图4所示,对视频滤的波去噪预处理是根据处理单元的类别即纹理区、边缘区或者平坦区自适应选择滤波器的类型,其中平坦区选择较为简单的3*3的平滑模板,纹理区和边缘区选择复杂度较高的高斯滤波或者双边滤波,如下:

其中,视频自适应下采样,根据处理单元的类别即纹理区、边缘区或者平坦区自适应选择下采样模式。即边缘区不进行下采样,平坦区进行1/4下采样,纹理区进行垂直或水平1/2下采样。其中纹理区采用的是双立方插值算法,平坦区采用的是改进的mpeg4的线性滤波器,边缘区不采样,保留边缘信息。

如下:

采样模式如图5所示,图5是以8*8的块为例说明。其中平坦区域使用mpeg4常用的插值滤波器进行下采样,纹理区域采用双立方插值,有效的保护图像细节,边缘区域为防止锯齿效应,不进行下采样。

其中,视频编码输入单元为采样之后的处理单元,编码器可采用h264或者h265。图6为视频编码示意图。

本发明专利采用自适应滤波以及自适应下采样,对低码率高倍压缩视频重建视频的质量改善起了很大作用,尤其是针对高于25倍压缩的视频应用场景。例如固定低带宽的无线有线视频传输等应用实例中。

首先跟利用sobel算子窗和像素窗卷积得到边缘值value和方向,然后根据vaule值确定该点是边缘点、纹理点还是平坦区域点,若该点是纹理点,则进一步判断该点的纹理是水平纹理还是垂直纹理。直到将该处理单元内的所有像素遍历完。

最后根据统计结果,即counter2、counter1、counterh和counterv来判断当前区域是边缘区、垂直纹理区、水平纹理区还是平坦区。实施例中,t1=150,t2=300,t3=2000,t4=6000。如图7所示,展示了平坦区域、垂直纹理、水平纹理和边缘区域的示例图。其中p表示平坦区域,ch表示水平纹理区域,cv表示垂直纹理区域,e表示边缘区域。

进一步地,所述sobel算子的检测模板如下:

sx表示垂直检测模板,sy表示水平检测模板;sumx=sx*a,sumy=sy*a;其中a为3*3的像素矩阵。

进一步地,对所述平坦区域采用9抽头的加权均值滤波器进行自适应性滤波去噪,对所述纹理区域和所述边缘区域采用双边滤波器进行自适应性滤波去噪。

进一步地,所述9抽头的加权均值滤波器的filter为:

进一步地,对所平坦区域的水平和垂直都进行下采样,采样倍数为4;其下采样滤波器为mpeg4用的12抽头滤波器;对所述纹理区域采用复杂度较高的双立方线性滤波器进行下采样,根据纹理走向选择水平下采样或者垂直下采样;采样倍数为2。

进一步地,所述12抽头滤波器为filter_down={2,-4,-3,5,19,26,19,5,-3,-4,2,64}。该滤波器可以根据处理单元划分大小来确定抽头系数的个数以及系数值;其中抽头系数的个数小于所述处理单元的行数或列数的最小值的一半。

本发明的有益效果是:利用不同的纹理特性对编码前的视频进行自适应的处理。可以很好的保护图像纹理细节,去除图像冗余性。在高倍视频压缩应用中,可以很大程度上改善人的视觉感受。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

其中,本发明实施例可以应用于高清视频无线实时传输中,例如无人机、fpv、vr、医学图像处理、遥感图像处理、交通运输系统、高清电视、图像压缩、图像修复等领域。本发明尤其是应用于高压缩倍数低码率的使用环境和需求下。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1