基于内容敏感线裁剪的自适应网络带宽分级传输图像方法与流程

文档序号:17898214发布日期:2019-06-13 16:09阅读:295来源:国知局
基于内容敏感线裁剪的自适应网络带宽分级传输图像方法与流程

本发明涉及图像网络传输的技术领域,尤其涉及一种基于内容敏感线裁剪的自适应网络带宽分级传输图像方法。



背景技术:

在有限的网络带宽环境下进行图像的实时传输是现有图像传输经常面临和需要解决的一个重要难题。国内外对于图像的实时传输主要针对不改变图像大小和高宽比的情形进行分析和研究,减少传输数据量所采用的常规方法即是对图像进行压缩。采用压缩编码的方式对图像进行处理,减少了图像传输的数据量和时间消耗,但要保持图像的清晰度等质量则并不容易,过高的压缩比往往很容易使图像出现块效应与模糊效应。总的来说,这些方法常常既不考虑网络带宽的实际情况,也未考虑图像中包含的具体内容。



技术实现要素:

针对现有图像传输利用图像压缩方法,不考虑传输网络带宽的实际情况,容易使图像出现块效应与模糊效应的技术问题,本发明提出一种基于内容敏感线裁剪的自适应网络带宽分级传输图像方法,既考虑了网络带宽的实际情况,也考虑了图像中包含的具体内容,为图像高效高质量的网络传输提供了支撑。

为了达到上述目的,本发明的技术方案是这样实现的:一种基于内容敏感线裁剪的自适应网络带宽分级传输图像方法,其步骤如下:

步骤一:发送端接收需要通过网络传输的图像,识别图像的大小,并将图像转化为图像矩阵;

步骤二:根据当前技术条件下的平均网络带宽预设网络基准带宽,参考预设网络基准带宽对网络带宽进行分级,预设四级网络带宽区间,为每个网络带宽区间设定对应的图像裁剪量;

步骤三:获取传输过程中的网络带宽,根据步骤二中预设的各级网络带宽区间对获取的网络带宽进行分级,确定当前网络所属网络带宽区间;

步骤四:根据步骤二中各级网络带宽区间对应的图像裁剪量和步骤三确定的当前网络所属带宽网络区间,确定待传输图像的图像裁剪量;

步骤五:根据步骤四获得的图像裁剪量,利用基于内容敏感的线裁剪方法对待传输图像进行线裁剪;

步骤六:通过当前网络带宽输出并传输线裁剪后的图像。

所述步骤二的实现方法是:

s21:预设网络基准带宽:根据当前技术条件下的平均网络带宽预设网络基准带宽bwbench;

s22:预设各级网络带宽区间:参考所预设的网络基准带宽bwbench,采用人工辅助设定或按比例自动设定的方式作为分级依据,预设各级网络带宽区间分别为br1[b1,b2)、br2[b2,b3)、br3[b3,b4)、br4[b4,b5),其中,b1<b2<b3<b4<b5;各级网络带宽区间br1、br2、br3和br4分布在网络基准带宽bwbench的两侧。

s23:设置各级网络带宽区间对应的图像裁剪量:网络带宽越低的区间对应的线裁剪比例设置越高,这样相比原始待传输图像,经过线剪裁处理后的图像占用的数据量将缩小越多;反之,网络带宽越高的区间对应的线裁剪比例设置越低,这样相比原始待传输图像,经过线剪裁处理后的图像占用的数据量将缩小越少、甚至不缩减。

所述网络带宽区间br1、br2、br3和br4的线裁剪比例典型地分别设置为30%、20%、10%和0%。

所述步骤三中获取传输过程中的网络带宽的方法是通过linux命令speedtest-cli来测试网速和获取网络带宽,根据步骤s22中各级网络带宽区间设置情况来判断所获当前网络带宽处于哪级网络带宽区间中。

所述步骤四中确定待传输图像的图像裁剪量是根据步骤三中获得的当前网络所属分级,对照步骤s23中设置各级网络带宽区间对应的图像裁剪量,确定当前网络带宽对应的图像裁剪量。

所述步骤五中基于内容敏感的线裁剪方法为通过移除垂直或者水平方向上的裁剪线来减少图像的数据量,而位于裁剪线上的像素点都是由能量函数计算出的能量值较小的、不容易引起视觉变化的像素点。该方法的具体步骤为:

第一,通过梯度函数计算图像的能量;

第二,在水平或垂直方向寻找能量最小的裁剪线即最优裁剪线;

第三,找到最优裁剪线后,从图像中删除掉该最优裁剪线,产生的图像即为中间图像;

第四,按照网络带宽区间对应的线剪量比例要求,从水平方向和垂直方向反复交替执行第二步和第三步,也就是针对图像或中间图像的内容敏感线裁剪操作,使得中间图像在水平和垂直方向均达到裁剪比例要求,即获得最终完成线裁剪后的结果图像。

所述梯度函数由sobel算子计算,对于大小为n×m的图像a,图像的能量计算函数为:其中,e(i)表示图像a的能量,i表示不同大小的图像a;图像的像素能量为水平方向和垂直方向上梯度绝对值之和;像素处于边缘处能量值大,像素处于非边缘处能量值小;

图像a的垂直裁剪线为:

其中,sx表示删除的垂直裁剪线,其由n行像素点组成,表示垂直裁剪线sx上的像素点;x是一个映射x:[1,......,n]→[1,......,m],垂直裁剪线是一个八连通的像素通路,由上而下每一行都代表一个像素点;x(i),x(i-1)分别表示第i列和第i-1列对应的行坐标;

图像a的水平裁剪线为:

其中,sy表示删除的水平裁剪线,其由m列像素点组成,表示水平裁剪线sy上的像素点;其中y是一个映射y:[1,......,m]→[1,......,n],由左至右每一列都代表一个像素点;y(j),(j-1)分别表示第j行和第j-1行对应的行坐标。

所述最优裁剪线的求解方法是:

以垂直方向为例,由能量函数可以计算出每条裁剪线的能量值为:其中,e(s)表示裁剪线的能量值,由该裁剪线上每个像素点的能量值e(i(si))叠加而成;最优垂直裁剪线即为垂直方向上能量最小的裁剪线s*其中,s*表示最优裁剪线,是取垂直方向上能量最小的像素点组成图像的最优裁剪线;

在垂直方向上寻找最优裁剪线时,从图像的第二行开始逐行递推到图像的最后一行,针对每一个像素点(i,j),计算出一个累加最小能量值m(i,j),即:

m(i,j)=e(i,j)+min(m(i-1,j-1),m(i-1,j),m(i-1,j+1)),

其中,e(i,j)表示像素点(i,j)的能量值;m(i-1,j-1)、m(i-1,j)、m(i-1,j+1)分别表示与像素点(i,j)相邻的上一行各像素点的累加最小能量值,取三者最小值与像素点(i,j)处的能量值相加;

最后一行中带有最小值m所对应的裁剪线为当前最优垂直裁剪线。

一种基于内容敏感线裁剪的自适应网络带宽分级传输图像方法的传输图像系统,包括接收待传输图像模块、网络带宽分级及对应裁剪量设定模块、网络带宽获取及分级确定模块、图像裁剪量确定模块、图像线裁剪模块和输出并传输图像模块,网络带宽分级及对应裁剪量设定模块和网络带宽获取及分级确定模块均与图像裁剪量确定模块相连接,图像裁剪量确定模块和接收待传输图像模块均与图像线裁剪模块相连接,图像线裁剪模块与输出并传输图像模块相连接;接收待传输图像模块用于接收需要通过网络传输的图像,网络带宽分级及对应裁剪量设定模块根据当前技术条件下的平均网络带宽预设网络基准带宽,采用人工辅助设定或按比例自动设定的方式作为分级依据,预设各级带宽区间,对网络带宽进行分级、并分别设置对应的图像裁剪量,网络带宽获取及分级确定模块用来获取传输网络当前的实际带宽、并确定所属网络带宽区间,图像裁剪量确定模块根据当前网络所属带宽区间,对照网络带宽分级及对应裁剪量设定模块的分级及裁剪标准,确定相应的图像裁剪量,图像线裁剪模块按照确定的图像裁剪量对图像进行内容敏感线裁剪,输出并传输图像模块用于输出并传输裁剪后的自适应带宽要求的图像。

所述网络带宽分级及对应裁剪量设定模块包括网络基准带宽设定单元、网络带宽区间设定单元和图像裁剪量设定单元,网络基准带宽设定单元与网络带宽区间设定单元相连接,网络带宽区间设定单元与图像裁剪量设定单元相连接。

与现技术相比,本发明的有益效果为:将基于内容敏感的图像线裁剪与传输图像的网络带宽结合在一起,通过测试网络带宽进行分级操作,针对不同等级的网络带宽进行不同程度的图像内容敏感线裁剪操作,实现基于网络带宽分级对图像进行自适应裁剪并传输。本发明在传输图像时,基于对图像内容的分析,能在保留图像的重要视觉内容和显著视觉特征的同时削减掉视觉冗余或视觉显著性不明显的部分,从而减少了图像数据量,根据网络带宽分级自适应到不同的图像裁剪量,在保留图像重要视觉特征及其传输质量的同时,减少传输图像的数据量、缩短了传输时间、保证传输时效性,使传输目标端能快速获得高质量图像,实现对图像的高效传输。本发明可以根据目标端显示设备分辨率结合网络带宽设定传输发送端图像水平和垂直方向的裁剪量,改变图像大小和高宽比自适应到目标端显示设备上。本发明不需要在目标端对图像进行压缩解码还原,同时由于图像重要视觉内容和特征上的像素未被裁剪而保证了它们的清晰度和质量,避免了图像出现块效应与模糊效应。本发明既考虑了网络带宽的实际情况,也考虑了图像中包含的具体内容,为图像高效高质量的网络传输提供了支撑。

附图说明

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

图1为本发明的总体框图。

图2为本发明具体实施例中确定图像裁剪量的流程图。

图3为本发明具体实施例中针对五幅图像自适应不同网络带宽、对图像进行对应的分级线裁剪后获得的结果图像。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,一种基于内容敏感线裁剪的自适应网络带宽分级传输图像方法,其步骤如下:

步骤一:发送端接收需要通过网络传输的图像,识别图像的大小,并将图像转化为图像矩阵。

发送端的接收待传输图像模块用于接收需要通过网络传输的图像,识别待传输的图像大小,将图像转化为图像矩阵,方便后续数字化处理。

步骤二:根据当前技术条件下的平均网络带宽预设网络基准带宽,参考预设网络基准带宽对网络带宽进行分级得到四个网络带宽区间,为每个网络带宽区间设定对应的图像裁剪量。

网络带宽分级及对应裁剪量设定模块根据当前技术条件下的平均网络带宽预设网络基准带宽,采用人工辅助设定或按比例自动设定的方式作为分级依据,预设各级带宽区间,对网络带宽进行分级、并分别设置对应的图像裁剪量。

s21:预设网络基准带宽。根据当前技术条件下的平均网络带宽预设网络基准带宽bwbench,比如在下面具体的实例中,网络基准带宽bwbench被设置为1000kbps。

s22:预设各级网络带宽区间。参考所预设的网络基准带宽bwbench,采用人工辅助设定或按比例自动设定的方式作为分级依据,预设各级网络带宽区间分别为br1[b1,b2)、br2[b2,b3)、br3[b3,b4)、br4[b4,b5),其中b1<b2<b3<b4<b5。比如在下面具体的实例中,网络带宽区间被人工辅助设定为四个区间等级,其中带宽低于150kbps为差,带宽在150kbps至550kbps之间为正常,带宽在550kbps至2000kbps之间为好,带宽大于2000kbps为等级优。即各级网络带宽区间分布在网络基准带宽bwbench的两侧。

s23:设置各级网络带宽区间对应的图像裁剪量。网络带宽越低的区间对应的线裁剪比例设置越高,这样相比原始待传输图像,经过线剪裁处理后的图像占用的数据量将缩小越多;反之,网络带宽越高的区间对应的线裁剪比例设置越低,这样相比原始待传输图像,经过线剪裁处理后的图像占用的数据量将缩小越少、甚至不缩减。

典型地针对网络带宽区间br1、br2、br3和br4,可分别设置线裁剪比例为30%、20%、10%和0%。比如在下面展示的实例中,针对步骤s23的网络带宽区间分级,设置各级区间对应的图像裁剪量。考虑到过高的线裁剪容易造成图像的变形,将差(带宽低于150kbps)、正常(带宽在150kbps至550kbps之间)、好(带宽在550kbps至2000kbps之间)这三个网络带宽分级区间分别对应30%、20%、10%的线裁剪,当网络带宽区间处于等级优(带宽大于2000kbps)时,不进行线裁剪而传输原始图像。

步骤三:获取传输过程中的网络带宽,根据步骤二中预设的各级网络带宽区间对获取的网络带宽进行分级,确定当前网络带宽区间。

网络带宽获取及分级确定模块用来获取传输网络当前的实际带宽、并确定所属网络带宽区间。在本发明的具体实施例中,网络带宽获取及分级确定模块是通过linux命令speedtest-cli来测试网速和获取网络带宽,然后根据步骤s22中各级网络带宽区间设置情况来判断所获当前网络处于哪级网络带宽区间中。

步骤四:根据步骤二中各级网络带宽区间对应的图像裁剪量和步骤三确定的当前网络带宽区间,确定待传输图像的图像裁剪量。

图像裁剪量确定模块根据当前网络所属带宽区间,对照网络带宽分级及对应裁剪量设定模块的分级及裁剪标准,确定相应的图像裁剪量。请参考图2,在本发明的一种实施例中,图像裁剪量确定是根据步骤三中网络带宽获取及分级确定模块获得的当前网络所属分级,对照步骤二中网络带宽分级及对应裁剪量设定模块的各级网络带宽区间及对应裁剪量,确定相应的图像裁剪量。

步骤五:根据步骤四获得的图像裁剪量,利用基于内容敏感的线裁剪方法对待传输图像进行线裁剪。

在本发明的一种实施例中,图像线裁剪模块按照确定的图像裁剪量,对接收待传输图像模块传来的图像进行基于内容敏感的线裁剪,具体步骤为:

第一,通过梯度函数计算图像的能量。其中梯度函数由sobel算子计算,反映图像边缘的信息。假设一幅图像a,其大小为n×m,该图像的能量计算函数为:其中,e(i)表示图像的能量,i表示不同大小的图像的图像矩阵,x,y分别表示水平方向和竖直方向。能量计算函数分别对图像的水平与垂直方向上求偏导数并取绝对值得到图像的梯度绝对值。图像的像素能量为水平跟垂直方向上梯度绝对值之和。像素处于边缘处能量值大,像素处于非边缘处能量值小。

第二,在水平或垂直方向寻找能量最小的裁剪线即最优裁剪线。为了对图像进行线裁剪又不引起图像失真,就需要寻找出一条最优裁剪线。对于图像a,垂直裁剪线定义为:

其中,sx表示删除的垂直裁剪线,其由n行像素点组成。x是一个映射x:[1,......,n]→[1,......,m],垂直裁剪线是一个八连通的像素通路,由上而下每一行都代表一个像素点。表示垂直裁剪线sx上的像素点;x(i),x(i-1)分别表示第i列和第i-1列对应的行坐标。

同理,水平裁剪线定义为:

其中,sy表示删除的水平裁剪线,其由m列像素点组成。其中y是一个映射y:[1,......,m]→[1,......,n],由左至右每一列都代表一个像素点。表示水平裁剪线sy上的像素点;y(j),(j-1)分别表示第j行和第j-1行对应的行坐标。

以垂直方向为例,由能量函数可以计算出每条裁剪线的能量值如下:其中,e(s)表示裁剪线的能量值,其由该裁剪线上每个像素点的能量值e(i(si))叠加而成。is表示裁剪线所在图像矩阵上的像素点,si表示裁剪线上的像素点。而最优裁剪线即为垂直方向能量最小的那条裁剪线。设最优裁剪线为s*其中,s*表示最优裁剪线,取垂直方向上能量最小的像素点,组成图像的最优裁剪线。在寻找该方向上的最优裁剪线时,从图像的第二行开始逐行递推到图像的最后一行,针对每一个像素点(i,j),计算出一个累加最小能量值m(i,j),即:m(i,j)=e(i,j)+min(m(i-1,j-1),m(i-1,j),m(i-1,j+1)),其中,e(i,j)表示像素点(i,j)的能量值。m(i-1,j-1)、m(i-1,j)、m(i-1,j+1)分别表示与像素点(i,j)相邻的上一行各像素点的累加最小能量值,取三者最小值与像素点(i,j)处的能量值相加,这样,最后一行中带有最小值m所对应的裁剪线为当前最优垂直裁剪线。

在具体操作时,对图像矩阵利用sobel算子求取每个像素点的能量值,然后根据能量值计算累加最小能量值,找到最后一行或列中的最小值,得到的最小值中的每一行或列的像素组成的连线为最优垂直裁剪线或最优水平裁剪线。

第三,找到最优裁剪线后,从图像矩阵中删除掉该最优裁剪线,产生的图像即为中间图像。最优裁剪线为最优垂直裁剪线或最优水平裁剪线。

第四,按照网络带宽区间对应的线剪量比例要求,从水平方向和垂直方向反复交替执行第二步和第三步,也就是针对图像或中间图像的内容敏感线裁剪操作,使得中间图像在水平和垂直方向均达到裁剪比例要求,即获得最终完成线裁剪后的结果图像。基于内容的线裁剪不同程度地大幅减少图像传输的数据量。

步骤六:通过当前网络带宽输出并传输线裁剪后图像。

输出并传输图像模块用于输出并传输裁剪后的自适应带宽要求的图像。如图3所示,在本发明的一种实施例中,步骤五中的图像线裁剪,针对五幅图像自适应不同网络带宽、对图像进行对应的分级线裁剪后获得结果图像,用于步骤s6的传输。各图像分别被测试在不同的网络带宽环境下进行传输,在传输中自适应网络带宽进行了不同裁剪量的线裁剪。

由图3可知,五幅图像在不同程度内容敏感线裁剪操作下基本上都保留了显著特征。只有第3幅和第4幅图像在30%线裁剪操作后出现了轻微的变形,但是并不影响汽车与向日葵的显著视觉特征。除了在保持图像质量、保证图像重要视觉内容和显著视觉特征清晰传输方面表现不错之外,本发明适应到不同网络带宽,各图像的数据量得到了不同程度的削减,在图像传输数据量方面也有很大的减少。表1是对五幅图像自适应到不同网络带宽下进行线裁剪的原始图和结果图像数据量的对比分析。由表1可以看出,五幅图像在不同的网络带宽下分别进行了不同程度的线裁剪,当网络带宽处于等级优时,不进行裁剪。当带宽处于好、正常、差这三个等级时,分别进行了10%、20%和30%的线裁剪,都不同程度的减少了图像传输的数据量,既保证了图像传输的快速高效,提高了图像传输的时效性,也使传输目标端能获得高质量图像,实现对图像的快速高质量的高效传输。本发明在传输图像时,将网络带宽与内容敏感图像线裁剪有效结合,既考虑网络带宽实际情况,又考虑了图像中包含的具体内容。

表1图像自适应网络带宽线裁剪的原始图像和结果图像数据量的对比分析

实施例2

如图1所示,一种基于内容敏感线裁剪的自适应网络带宽分级图像传输系统,包括接收待传输图像模块、网络带宽分级及对应裁剪量设定模块、网络带宽获取及分级确定模块、图像裁剪量确定模块、图像线裁剪模块和输出并传输图像模块,网络带宽分级及对应裁剪量设定模块和网络带宽获取及分级确定模块均与图像裁剪量确定模块相连接,图像裁剪量确定模块和接收待传输图像模块均与图像线裁剪模块相连接,图像线裁剪模块与输出并传输图像模块相连接。接收待传输图像模块用于接收需要通过网络传输的图像,网络带宽分级及对应裁剪量设定模块根据当前技术条件下的平均网络带宽预设网络基准带宽,采用人工辅助设定或按比例自动设定的方式作为分级依据,预设各级带宽区间,对网络带宽进行分级、并分别设置对应的图像裁剪量,网络带宽获取及分级确定模块用来获取传输网络当前的实际带宽、并确定所属网络带宽区间,图像裁剪量确定模块根据当前网络所属带宽区间,对照网络带宽分级及对应裁剪量设定模块的分级及裁剪标准,确定相应的图像裁剪量,图像线裁剪模块按照确定的图像裁剪量对图像进行内容敏感线裁剪,输出并传输图像模块用于输出并传输裁剪后的自适应带宽要求的图像。

所述网络带宽分级及对应裁剪量设定模块包括网络基准带宽设定单元、网络带宽区间设定单元和图像裁剪量设定单元,网络基准带宽设定单元与网络带宽区间设定单元相连接,网络带宽区间设定单元与图像裁剪量设定单元相连接。网络基准带宽设定单元用于预设网络基准带宽,网络带宽区间设定单元根据网络基准带宽设定单元预设的网络基准带宽设置各级网络带宽区间,图像裁剪量设定单元根据网络带宽区间设定单元设置的区间确定各级区间对应的图像裁剪量。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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