发明内容
本发明实施例所要解决的技术问题在于,提供一种视频图像处理方法和装置。可以提高视频场景检测的准确性。
为了解决上述技术问题,本发明实施例提供了一种视频图像处理方法包括:
获取相邻视频帧的缩略帧,其中,所述相邻视频帧是指视频中的当前帧的前一帧和当前帧;
获得所述当前帧和所述前一帧的缩略帧的色度分量;
获得所述当前帧的缩略帧的色度分量直方图和所述前一帧的缩略帧的色度分量直方图;
获得两个所述直方图的相关值,根据所述相关值判断当前帧的场景是否发生变化。
相应地,本发明实施例还提供了一种视频图像处理装置,包括:
帧获取模块,用于获取相邻视频帧的缩略帧,其中,所述相邻视频帧是指视频中的当前帧的前一帧和当前帧;
色度获取模块,用于获得所述当前帧和所述前一帧的缩略帧的色度分量;
直方图获取模块,用于获得所述当前帧的缩略帧的色度分量直方图和所述前一帧的缩略帧的色度分量直方图;
相关值获取模块,用于获得两个所述直方图的相关值;
判断模块,用于根据所述相关值判断当前帧的场景是否发生变化。
在本发明实施例中,仅根据视频帧中的色度信息生成直方图,来检测视频的场景是否发生了变化,可以去除亮度变化带来的干扰,提高视频检测的准确性。同时,检测的对象为相邻视频帧的缩略帧,减少了场景检测时的数据输入,可以提高检测的效率;而且,由于检测的对象是相邻视频帧可以去除镜头移动带来的干扰,即,由于现有技术中比较的通常是第一帧和当前帧,使得判断的结果变成视频片段的第一帧与当前帧的场景差异,若该片段中存在镜头移动时,会使检测结果不够准确和实时。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中主要通过三个方面来提高场景检测的准确性和效率,一是分析对象为相邻视频帧;二是对原始视频帧进行压缩;三是仅对色度分量进行分析。以下通过各具体实施例进行描述。
如图1所示,为本发明实施例中的视频图像处理方法的一个具体流程示意图。该方法包括如下步骤。
101、获取相邻视频帧的缩略帧,其中,所述相邻视频帧是指视频中的当前帧的前一帧和当前帧。
该缩略帧是指对视频帧进行数据压缩后获得的帧,如将640*480的视频压缩成80*60的视频,后续只分析80*60的视频帧即可。
102、获得所述当前帧和所述前一帧的缩略帧的色度分量。其中,该缩略帧为YUV数据,所述色度分量包括U、V数据分量。
103、获得所述当前帧的缩略帧的色度分量直方图和所述前一帧的缩略帧的色度分量直方图。
其中,色度分量直方图中的横坐标表示缩略帧的色度分量,纵坐标表示视频播放区域对应的屏幕的像素点的个数。
104、获得两个所述直方图的相关值,根据所述相关值判断当前帧的场景是否发生变化。
如,将两个所述直方图中的每一个色度的像素点的个数进行相减,获得每一个色度的像素点的差值;再将所述差值的绝对值相加,获得两个所述直方图的差值;当所述差值大于预定的阈值时,则判断当前帧的场景发生了变化。
如图2所示,为本发明实施例中的视频图像处理方法的一个具体流程示意图。该流程更为详细具体的描述了上述方法。
201、获取视频帧的缩略帧数据(如YUV格式)。
如对需要检测视频场景的视频进行压缩,比如将640*480的视频压缩成80*60的视频,后续只分析80*60的视频帧即可。这样,只要适度控制压缩的比例,就可以在基本保持后续生成的直方图不变的情况下提高处理效率。
202、去除亮度干扰,计算缩略帧数据的色度相关分量(如,综合U,V数据),并计算直方图。
即,在YUV数据中的Y即表示亮度,去除Y,只综合分析U,V数据。
如图3和图4的直方图,横坐标可以但不限于为综合U,V数据的色度值,纵坐标为视频播放区域对应的屏幕的像素点的个数,图中标明处于某色度的像素点的个数。
需要说明的是,如图3、4所示,图中横轴为x轴,其还可以表示U,V数据的灰度级;纵轴为y轴,其表示相应灰度级的累计个数。所谓灰度级就是灰度值等分级别,比如本例中,灰度值范围是0-255,分16个灰度级,即x轴的范围从0到15(等级),x轴的最大值为15,那么256 /16 = 16,即每16个灰度值为一个灰度等级: 0~15灰度值为第一个灰度级,16~31灰度值为第二个灰度级,以此类推。一般来说,色度值(本例中为灰度值)的范围可设为0-255。
203、比较相邻缩略图帧直方图(可去除镜头移动干扰),检测出所有视频中发生场景变化的地方。
如图3为上一视频帧对应的直方图,图4为当前视频帧对应的直方图,将该两个直方图进行对比分析,得到该两个直方图的差值。比如先将两个直方图中的每一个色度分段(分段大小影响直方图中每一竖条的宽度)的像素点的个数进行相减,得到每一个色度分段的像素点的差值,获得差值的绝对值,然后将每一个差值的绝对值进行相加,得到该两个直方图的差值,然后判断该差值是否大于预设的阈值,若大于,表明当前帧与上一帧代表的场景不同,即发生了场景变化,根据当前帧对应的时间点标记出整个视频播放时间中该时间点发生了场景变化,从而分割出各个视频场景,比如分割出场景1、场景2等等。
本发明实施例中也不限于YUV格式的视频。还可以是其他格式,如为RGB格式,则RGB格式时色度信息S可采用下式获取:S = (MAX(R,G,B) - MIN(R,G,B)) / MAX(R,G,B)。式中R、G、B分别代表RGB格式中像素的三原色值。
通过上述实施例描述可知,仅根据视频帧中的色度信息生成直方图,来检测视频的场景是否发生了变化,可以去除亮度变化带来的干扰,提高视频检测的准确性。
同时,检测的对象为相邻视频帧的缩略帧,减少了场景检测时的数据输入,可以提高检测的效率;而且,由于检测的对象是相邻视频帧可以去除镜头移动带来的干扰。以往的场景检测都是比较场景片段第一帧与当前帧,这样当镜头移动的时候片段第一帧与当前帧差别较大,导致因移动而误判;而在本发明实施例中,将当前帧的前一帧与当前帧进行比较,因为它们相邻,这两帧数据差别不大,即使存在移动也相差不大。
比如拍摄办公室场景,可能是从门这边慢慢往里头拍,这样镜头是从门慢慢移动到里边的,那么这个场景片段第一帧是门的图像,到后面拍摄里头的画面是基本上跟第一帧完全不同的,如果采用第一种方法,那么这两帧图像没有任何共同点,但是当前场景跟时间上连续的前一视频帧的场景有可能还处于同一场景中,现有技术的这种做法会将当前场景误判为不同场景。
如图5所示,为本发明实施例中的视频图像处理装置的一个具体组成示意图。该装置5包括:帧获取模块50,用于获取相邻视频帧的缩略帧,其中,所述相邻视频帧是指视频中的当前帧的前一帧和当前帧;色度获取模块52,用于获得所述当前帧和所述前一帧的缩略帧的色度分量;直方图获取模块54,用于获得所述当前帧的缩略帧的色度分量直方图和所述前一帧的缩略帧的色度分量直方图;相关值获取模块56,用于获得两个所述直方图的相关值;判断模块58,用于根据所述相关值判断当前帧的场景是否发生变化。
其中,所述缩略帧为YUV数据,所述色度分量包括U、V数据分量。所述色度分量直方图中的横坐标表示缩略帧的色度分量,纵坐标表示视频播放区域对应的屏幕的像素点的个数。
所述相关值获取模块56还用于,将两个所述直方图中的每一个色度的像素点的个数进行相减,获得每一个色度的像素点的差值,再将所述差值的绝对值相加,获得两个所述直方图的差值。所述判断模块58还用于,当所述差值大于预定的阈值时,判断当前帧的场景发生了变化。
本装置实施例中的各功能和术语与上述方法实施例中一致,图3和图4中描述的直方图也适用于本装置实施例,此处不做赘述。
通过上述实施例描述可知,仅根据视频帧中的色度信息生成直方图,来检测视频的场景是否发生了变化,可以去除亮度变化带来的干扰,提高视频检测的准确性。
同时,检测的对象为相邻视频帧的缩略帧,减少了场景检测时的数据输入,可以提高检测的效率;而且,由于检测的对象是相邻视频帧可以去除镜头移动带来的干扰。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。