一种基于最佳裁剪的实时视频缩略方法转让专利

申请号 : CN201910733872.1

文献号 : CN110418195B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭礼华严开标李宇威

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于最佳裁剪的实时视频缩略方法,包括步骤:S1、从视频流中提取当前帧和前一帧;S2、判断是否镜头切换;S3、计算当前帧的显着性图;S4、在显着性图上查找最佳裁剪窗口;S5、缩略当前帧;S6、将处理好的帧在视频流中替换;S7、若存在下一帧,令前一帧等于当前帧,从视频流中提取下一帧作为当前帧,执行S2‑S7。本发明既能够保留视频帧的主要信息,不会使视频内容变形,不会带来画面抖动,保持视频的视觉连贯性,并且具有较高的效率和拓展性,能够做到对内存中或文件中的视频流实时地进行缩放。

权利要求 :

1.一种基于最佳裁剪的实时视频缩略方法,其特征在于,包括以下步骤:S1、从视频流中提取当前帧和前一帧,若当前帧为视频的第一帧,则生成一幅与视频相同分辨率的全白图片赋值给前一帧;

S2、判断是否镜头切换

计算当前帧和前一帧的直方图并归一化,而后再计算当前帧和前一帧的归一化直方图的相关系数,若相关系数大于阈值,判断为没有镜头切换,执行S5-S7;若相关系数小于阈值,判断为镜头切换,执行S3-S7;

S3、计算当前帧的显着性图

使用基于谱分析模型的视觉显着性算法计算帧的显着性图,并对显着性图作二值化处理,滤除显着性值低的像素点;

S4、在显着性图上查找最佳裁剪窗口,查找过程分为两个阶段:阶段一和阶段二;

阶段一:面积最大化、显着性值丢失最少地将视频帧裁剪至与目标分辨率相同宽高比,具体如下:计算显着性图垂直方向的投影,裁剪窗口的高=视频帧的高,裁剪窗口的宽=视频帧的高*目标宽/目标高,视频帧的宽>视频帧的高*目标宽/目标高;

定义一个与上述窗口宽度相同的滑动区间,在得到的投影的序列上遍历,区间内包含投影值之和最大的区间所在位置,就是裁剪窗口的位置;

阶段二:在保证窗口内包含显着性值之和不变的前提下,尝试将裁剪窗口进一步缩小,具体如下:在阶段一得到的裁剪区域内,计算显着性图垂直方向和水平方向的投影;找到垂直方向和水平方向投影的序列的最小非零区间;由垂直方向和水平方向投影的最小非零区间相交得到的区域称作待选区域;

宽高比与目标宽高比相同,面积最小,但宽和高不小于阶段一宽高的0.9倍,能够完整包含待选区域,最接近中心的窗口,则为最佳裁剪窗口;

最后,记录最佳裁剪窗口,作为当前帧所在镜头的所有帧的裁剪窗口;

S5、缩略当前帧

根据当前镜头的裁剪窗裁剪当前帧,将裁剪后的帧均匀缩放到目标分辨率;

S6、将处理好的帧在视频流中替换;

S7、若存在下一帧,令前一帧等于当前帧,从视频流中提取下一帧作为当前帧,执行S2-S7。

2.根据权利要求1所述的一种基于最佳裁剪的实时视频缩略方法,其特征在于,在步骤S2中,直方图的相关系数定义为:式中, N是直方图中bin的数目,Hk(I)或Hk(J)表示第k幅直方图中值为I或J的像素个数,这里k=1,2。

3.根据权利要求1所述的一种基于最佳裁剪的实时视频缩略方法,其特征在于,在步骤S3中,视觉显着性算法的计算步骤如下:首先,对输入图像I(x)作傅里叶变换,得到I(x)的振幅谱A(f)和它的相位谱P(f):A(f)=re(F[I(x)])

P(f)=im(F[I(x)])

式中,F[I(x)]表示对I(x)作傅里叶变换,re()表示取实部,im()表示取虚部;然后,求出光谱残留R(f):R(f)=L(f)-hn(f)*L(f)

式中,hn(f)是一个n×n均值滤波的卷积核,L(f)=log(A(f));

最后,对R(f)进行傅里叶反变换,再进行一个高斯模糊滤波,就得到了显著性区域为:S(x)=g(x)*F-1{exp[R(f)+P(f)]}2式中,F-1{}表示作傅里叶反变换,g(x)表示高斯模糊滤波器。

说明书 :

一种基于最佳裁剪的实时视频缩略方法

技术领域

[0001] 本发明涉及视频播放、视频图像缩放的技术领域,尤其是指一种基于最佳裁剪的实时视频缩略方法。

背景技术

[0002] 随着电视、笔记本、PDA和手机等显示设备的普及,显示设备的多样性急剧增加,以及图像和视频媒体源的通用性的增强,使图像适应不同分辨率和纵横比的图像缩略对于提高用户的观看体验变得越来越重要,图像视频缩略已经成为一个重要的问题。直接应用简单的缩放或裁剪,通常会引起视频图像的信息损失和视频图像的内容失真,例如,播放的视频图像中所显示的小物体看不清楚,或者播放的视频图像中所显示的物体长宽比例发生改变。在这种环境下,各种智能多样的视频缩放方法应运而生,它旨在将视频帧重新修正,在新的视频分辨率下保留原始视频帧的主要信息。
[0003] 专利CN102270093A公开了“一种基于视频图像分辨率的视频自适应方法”,先对输入视频的每一帧计算区域关注度,并根据预先设定的裁剪比例找出每帧保留关注度最大的最佳裁剪窗口,然后再以“整个视频保留能量最大”为基准调整每一帧最佳裁剪窗口的裁剪比例,最后将裁剪后的每一帧在缩放至目标大小。这一方法虽然通过基于内容感知的裁剪方式保留了视频图像中的重要信息,并且不会带来变形,但是针对每一帧单独进行裁剪会带来视频的抖动,并且需要根据计算整个视频的能量来调整裁剪比例,不适用于需要实时缩放的使用场景。
[0004] 专利CN102541494A公开了“一种面向显示终端的视频尺寸转换系统”,该方法先将视频作镜头分割处理,然后识别远景镜头,对每个远景镜头,通过感知窗口模型计算出感兴趣窗口尺寸将感兴趣区域裁剪出来,最后对感兴趣区域中心点进行时间域平滑处理。这一方法虽然也是只使用裁剪,不会带来内容的变形,并且加入了镜头分割处理和时间域平滑处理保证了视频的连贯性,但是该方法主要是针对远景镜头直接缩放感兴趣区域可能会过小的情况设计的,并不广泛适用于其他场景的视频缩放,并且该方法计算复杂,也不能够达到实时缩放的效果。
[0005] 专利CN101764968A公开了“一种重要内容无感知畸变的视频图像非等比例缩放方法”,该方法先对关键帧分割打包,然后进行独立包内的视频帧缩放,依次定义视频能量、确定低能量线、选取最优低能量线、复制或删除相同的最优低能量线进行等比例缩放,最后进行相邻独立包间的连贯性处理。这一方法虽然考虑到了实时缩放的使用需求,也具有良好的连贯性,但是该方法侧重点在保持视频图像的重要内容不产生明显的畸变,并不是完全不变形,而且非均匀的删除视频图像内容可能会带来重要内容与不重要内容之间的比例失调,影响观看体验。
[0006] 因此,有必要提出一种既能够保留视频帧的主要信息,不会使视频内容变形,又不会带来画面抖动,保持视频视觉连贯性的简单快速、可拓展性高、应用范围广的实时视频缩略方法。

发明内容

[0007] 本发明的目的在于克服现有技术的缺点与不足,提出了一种基于最佳裁剪的实时视频缩略方法,该方法既能够保留视频帧的主要信息,不会使视频内容变形,不会带来画面抖动,保持视频的视觉连贯性,并且具有较高的效率和拓展性,能够做到对内存中或文件中的视频流实时地进行缩放。
[0008] 为实现上述目的,本发明所提供的技术方案为:一种基于最佳裁剪的实时视频缩略方法,包括以下步骤:
[0009] S1、从视频流中提取当前帧和前一帧,若当前帧为视频的第一帧,则生成一幅与视频相同分辨率的全白图片赋值给前一帧;
[0010] S2、判断是否镜头切换
[0011] 计算当前帧和前一帧的直方图并归一化,而后再计算当前帧和前一帧的归一化直方图的相关系数,若相关系数大于阈值,判断为没有镜头切换,执行S5-S7;若相关系数小于阈值,判断为镜头切换,执行S3-S7;
[0012] S3、计算当前帧的显着性图
[0013] 使用基于谱分析模型的视觉显着性算法计算帧的显着性图,并对显着性图作二值化处理,滤除显着性值低的像素点;
[0014] S4、在显着性图上查找最佳裁剪窗口,查找过程分为两个阶段:阶段一和阶段二;
[0015] 阶段一:面积最大化、显着性值丢失最少地将视频帧裁剪至与目标分辨率相同宽高比,具体如下:
[0016] 计算显着性图垂直方向的投影,裁剪窗口的高=视频帧的高,裁剪窗口的宽=视频帧的高*目标宽/目标高;
[0017] 定义一个与上述窗口宽度相同的滑动区间,在得到的投影的序列上遍历,区间内包含投影值之和最大的区间所在位置,就是裁剪窗口的位置;
[0018] 阶段二:在保证窗口内包含显着性值之和不变的前提下,尝试将裁剪窗口进一步缩小,具体如下:
[0019] 在阶段一得到的裁剪区域内,计算显着性图垂直方向和水平方向的投影;找到垂直方向和水平方向投影的序列的最小非零区间;由垂直方向和水平方向投影的最小非零区间相交得到的区域称作待选区域;
[0020] 宽高比与目标宽高比相同,面积最小,但宽和高不小于阶段一宽高的0.9倍,能够完整包含待选区域,最接近中心的窗口,则为最佳裁剪窗口;
[0021] 最后,记录最佳裁剪窗口,作为当前帧所在镜头的所有帧的裁剪窗口;
[0022] S5、缩略当前帧
[0023] 根据当前镜头的裁剪窗裁剪当前帧,将裁剪后的帧均匀缩放到目标分辨率;
[0024] S6、将处理好的帧在视频流中替换;
[0025] S7、若存在下一帧,令前一帧等于当前帧,从视频流中提取下一帧作为当前帧,执行S2-S7。
[0026] 在步骤S2中,直方图的相关系数定义为:
[0027]
[0028] 式中, N是直方图中bin的数目,Hk(I)或Hk(J)表示第k幅直方图中值为I或J的像素个数,这里k=1,2。
[0029] 在步骤S3中,视觉显着性算法的计算步骤如下:
[0030] 首先,对输入图像I(x)作傅里叶变换,得到I(x)的振幅谱A(f)和它的相位谱P(f):
[0031] A(f)=re(F[I(x)])
[0032] P(f)=im(F[I(x)])
[0033] 式中,F[I(x)]表示对I(x)作傅里叶变换,re()表示取实部,im()表示取虚部;然后,求出光谱残留R(f):
[0034] R(f)=L(f)-hn(f)*L(f)
[0035] 式中,hn(f)是一个n×n均值滤波的卷积核,L(f)=log(A(f));
[0036] 最后,对R(f)进行傅里叶反变换,再进行一个高斯模糊滤波,就得到了显著性区域为:
[0037] S(x)=g(x)*F-1{exp[R(f)+P(f)]}2
[0038] 式中,F-1{}表示作傅里叶反变换,g(x)表示高斯模糊滤波器。
[0039] 本发明与现有技术相比,具有如下优点与有益效果:
[0040] 本发明采用裁剪加均匀缩放相结合的方式,既没有传统裁剪方式会带来的删除大量重要信息的缺点,也不会像直接缩放那样导致图像内容的明显挤压变形;在保留视频重要信息的同时,不会带来任何的挤压、拉伸变形。同时,本发明的计算简便高效,不需要依赖高效的硬件即可达到实时缩放的效果,适合应用于多种设备多种使用场景下的实时视频流缩放处理,并且视频播放时完全没有视觉抖动、图像错位等问题,有着良好的观看体验。

附图说明

[0041] 图1为本发明方法的逻辑流程图。
[0042] 图2为查找最佳裁剪窗口的过程举例示意图。

具体实施方式

[0043] 下面结合具体实施例对本发明作进一步说明。
[0044] 以演示视频宽高为1920*1040,缩放目标宽高为720*520,设置镜头切换阈值为0.4的案子为例,本实施例所提供的基于最佳裁剪的实时视频缩略方法,参见图1所示的流程,其包括以下步骤:
[0045] S1:从视频流中提取当前帧和前一帧;
[0046] 若当前帧为视频的第一帧,则生成一幅与视频相同分辨率的全白图片赋值给前一帧。
[0047] S2:判断是否镜头切换
[0048] 计算当前帧和前一帧的直方图并归一化;再计算当前帧和前一帧的归一化直方图的相关系数;若相关系数大于阈值0.4,判断为没有镜头切换,执行S5-S7;若相关系数小于阈值0.4,判断为镜头切换,执行S3-S7;其中,直方图的相关系数定义为:
[0049]
[0050] 式中, N是直方图中bin的数目,Hk(I)或Hk(J)表示第k幅直方图(这里k=1,2)中值为I或J的像素个数。
[0051] S3:计算当前帧的显着性图
[0052] 使用基于谱分析模型的视觉显着性算法计算帧的显着性图(包含归一化处理);对显着性图作二值化处理,滤除显着性值比较低的像素点,这里将显着性值小于0.2的像素点的值置为0,大于等于0.2的像素点的值置为1;其中,计算显着性值图采用论文[Hou,Xiaodi,and Liqing Zhang."Saliency detection:Aspectral residual approach."CVPR 2007.]中所阐述的基于谱分析模型的视觉显着性算法,计算步骤如下:
[0053] 首先,对输入图像I(x)作傅里叶变换,得到I(x)的振幅谱A(f)和它的相位谱P(f):
[0054] A(f)=re(F[I(x)])
[0055] P(f)=im(F[I(x)])
[0056] 式中,F[I(x)]表示对I(x)作傅里叶变换,re()表示取实部,im()表示取虚部;然后,求出光谱残留(Spectral Residual)R(f):
[0057] R(f)=L(f)-hn(f)*L(f)
[0058] 式中,hn(f)是一个n×n均值滤波的卷积核,L(f)=log(A(f))
[0059] 最后,对R(f)进行傅里叶反变换,再进行一个高斯模糊滤波,就得到了显著性区域为:
[0060] S(x)=g(x)*F-1{exp[R(f)+P(f)]}2
[0061] 式中,F-1{}表示作傅里叶反变换,g(x)表示高斯模糊滤波器。
[0062] S4:在显着性图上查找最佳裁剪窗口,查找过程分为两个阶段:阶段一和阶段二;
[0063] 阶段一:面积最大化、显着性值丢失最少地将视频帧裁剪至与目标分辨率相同宽高比;
[0064] 计算如图2中(a)所示的显着性图垂直方向的投影,如图2中(b)所示;
[0065] 裁剪窗口的高=视频帧的高=1040,裁剪窗口的宽=视频帧的高*目标宽/目标高=1440;
[0066] 定义一个与上述窗口宽度相同的滑动区间,在得到的投影的序列上遍历,区间内包含投影值之和最大的区间所在位置,就是裁剪窗口的位置,为图2中(c)的方框,窗口在第[481,1920]列内能够包含最多的垂直方向投影值,相应的显着性图如图2中(d)所示;
[0067] 阶段二:在保证窗口内包含显着性值之和不变的前提下,尝试将裁剪窗口进一步缩小;
[0068] 在阶段一得到的裁剪区域内,计算显着性图垂直方向和水平方向的投影,如图2中(e)所示;
[0069] 找到垂直方向和水平方向投影的序列的最小非零区间,如图2中(e)所示,为第[717,1920]列,第[45,866]行;
[0070] 由垂直方向和水平方向投影的最小非零区间相交得到的区域称作待选区域,如图2中(e)文字表示部分或图2中(f)的小方框;
[0071] 宽高比与目标宽高比相同,面积最小,但宽和高不小于阶段一宽高的0.9倍,能够完整包含待选区域,最接近中心的窗口,则为最佳裁剪窗口,如图2中(f)的大方框,裁剪窗口为第[625,1920]列,第[45,980]行;
[0072] 最后,记录最佳裁剪窗口,作为当前帧所在镜头的所有帧的裁剪窗口。
[0073] S5:缩略当前帧
[0074] 根据当前镜头的裁剪窗裁剪当前帧;将裁剪后的帧均匀缩放到目标分辨率,其中,采用双线性插值进行均匀缩放。
[0075] S6:将处理好的帧在视频流中替换。
[0076] S7:若存在下一帧,令前一帧等于当前帧,从视频流中提取下一帧作为当前帧,执行S2-S7。
[0077] 以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。