一种防止弹幕遮挡目标对象的方法转让专利

申请号 : CN201811542866.X

文献号 : CN109618213B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘文许贵平叶圣启胡涛

申请人 : 华中科技大学

摘要 :

本发明公开了一种防止弹幕遮挡目标对象的方法,包括:(1)根据视频播放场景对视频数据进行语义分割,得到目标对象的掩膜;(2)使用R‑Distance方法对掩膜进行处理,以生成用于识别目标对象区域内部和目标对象区域外部的目标蒙版;(3)对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示;其中,弹幕为预先收集且经过预处理的弹幕数据。本发明能够针对不同的视频播放场景及需求,准确、有效地防止弹幕遮挡目标对象。

权利要求 :

1.一种防止弹幕遮挡目标对象的方法,其特征在于,包括:

(1)根据视频播放场景对视频数据进行语义分割,得到目标对象的掩膜;

(2)使用R-Distance方法对所述掩膜进行处理,以生成用于识别目标对象区域内部和目标对象区域外部的目标蒙版;

(3)根据所述目标蒙版对视频画面的显示进行控制,使得位于所述目标对象区域内部的全部或部分弹幕被隐藏,且位于所述目标对象区域外部的全部或部分弹幕被显示;

其中,所述弹幕为预先收集且经过预处理的弹幕数据;

所述步骤(2)中的R-Distance方法包括:

(S1)获得构成所述目标对象的轮廓边缘的二维点并采样,从而得到由采样所得的二维点组成的样本点集;

(S2)若所述视频为直播视频,则获得所述样本点集的凸包作为所述目标对象的轮廓,以识别所述目标对象区域内部和所述目标对象区域外部,并转入(S10);否则,转入(S3);

(S3)从所述样本点集中随机选择一个二维点作为起始点,并将所述起始点从所述样本点集移入有序点集;

(S4)若所述样本点集不为空,则遍历所述样本点集以计算所述起始点与所述样本点集中每一个二维点P1之间的距离D1,并转入(S5);否则,检测结束,转入(S9);

(S5)若D1<R-δ,则将所述二维点P1从所述样本点集中移除;若R-δ≤D1≤R+δ且D1≠R,则将所述二维点P1从所述样本点集中移入候选点集;若D1=R,则将所述二维点P1从所述样本点集中移入边集;若D1>R+δ,则不对所述二维点P1进行操作;

(S6)若所述边集为空,则将所述候选点集中与所述起始点之间的距离最大的二维点移入所述边集并转入(S7);否则,转入(S7);

(S7)随机从所述边集中选择一个二维点P0移入所述有序点集,并清空所述边集和所述候选集;

(S8)将所述二维点P0作为起始点,转入(S4);

(S9)根据所述有序点集确定所述目标对象区域内部和所述目标对象区域外部;

(S10)对所述目标对象区域外部进行填充,并且对所述目标区域内部不进行填充,以生成所述目标蒙版;

R为预先设定的距离阈值,δ为预先设定的距离偏差,且

2.如权利要求1所述的防止弹幕遮挡目标对象的方法,其特征在于,所述步骤(1)包括:若所述视频数据为直播视频的视频数据,则在用户端对所述视频数据进行语义分割,以得到所述掩膜;否则,在服务器端对所述视频数据进行语义分割,以得到所述掩膜。

3.如权利要求2所述的防止弹幕遮挡目标对象的方法,其特征在于,在用户端对所述视频数据进行语义分割时,所采用的模型为基于TensorFlow.js框架的Light-Weight RefineNet网络;在服务器端对所述视频数据进行语义分割时,所采用的计算模型为基于TensorFlow框架的Mask R-CNN网络。

4.如权利要求1所述的防止弹幕遮挡目标对象的方法,其特征在于,所述目标蒙版为SVG图像。

5.如权利要求1或4所述的防止弹幕遮挡目标对象的方法,其特征在于,所述步骤(3)包括:(T1)判断用于观看视频的浏览器是否支持mask样式属性,若是,则转入(T2);否则,转入(T3);

(T2)设置弹幕容器的样式属性并将所述目标蒙版覆盖于所述弹幕上方,使得位于所述目标蒙版填充区域的全部或部分弹幕被显示,并且位于所述目标蒙版未填充区域的全部或部分弹幕被隐藏;转入(T5);

(T3)监听每条弹幕的移动事件以获得弹幕的位置几何信息;

(T4)根据弹幕的位置几何信息、所述目标对象区域内部的几何信息以及所述目标对象区域外部的几何信息,对弹幕的显示进行控制,使得位于所述目标对象区域内部的全部或部分弹幕被隐藏,且位于所述目标对象区域外部的全部或部分弹幕被显示;转入(T5);

(T5)处理结束。

说明书 :

一种防止弹幕遮挡目标对象的方法

技术领域

[0001] 本发明属于弹幕视频技术领域,更具体地,涉及一种防止弹幕遮挡目标对象的方法。

背景技术

[0002] 社交性成为了现代互联网的重要特征,视频网站也不例外,除了传统的评论功能外,弹幕技术已经成为了视频网站的核心所在。弹幕技术的出现对于提高用户观看体验,增强互动性、趣味性有着不可或缺的作用。然而,随着弹幕数量的增加,会导致无法看清视频中的画面,从而影响正常的视频观看。用户在观看视频时,可选择关闭弹幕,但直接关闭又会失去弹幕带来的互动性和趣味性。
[0003] 针对上述情况,主流的解决方案是按照一定规则对弹幕进行屏蔽处理。但还是会出现视频中人物等被重点关注的目标对象被弹幕遮挡的问题。

发明内容

[0004] 针对现有技术的缺陷和改进需求,本发明提供了一种防止弹幕遮挡目标对象的方法,旨在解决现有的弹幕屏蔽方法会导致目标对象被弹幕遮挡的问题。
[0005] 为实现上述目的,本发明提供了一种防止弹幕遮挡目标对象的方法,包括:
[0006] (1)根据视频播放场景对视频数据进行语义分割,得到目标对象的掩膜;
[0007] (2)使用R-Distance方法对目标对象的掩膜进行处理,以生成用于识别目标对象区域内部和目标对象区域外部的目标蒙版;
[0008] (3)根据目标蒙版对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示;
[0009] 其中,弹幕为预先收集且经过预处理的弹幕数据。
[0010] 上述方法,根据掩膜得到用于识别目标对象区域内部和目标对象区域外部的目标蒙版,并根据目标蒙版对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效防止观看视频时目标对象被弹幕遮挡。
[0011] 进一步地,步骤(1)包括:
[0012] 若视频数据为直播视频的视频数据,则在用户端对视频数据进行语义分割以得到目标对象的掩膜;否则,在服务器端对视频数据进行语义分割以得到目标对象的掩膜;根据视频播放场景,在服务器端或用户端对视频数据进行语义分割,能够有效减轻服务器的压力,提高系统的利用效率。
[0013] 更进一步地,在用户端对视频数据进行语义分割时,所采用的模型为基于TensorFlow.js框架的Light-Weight RefineNet网络,以提高计算速度,从而保证视频播放的实时性;在服务器端对视频数据进行语义分割时,所采用的计算模型为基于TensorFlow框架的Mask R-CNN网络,以提高计算精度,从而保证画面质量。
[0014] 进一步地,步骤(2)中的R-Distance方法包括:
[0015] (S1)获得构成目标对象的轮廓边缘的二维点并采样,从而得到由采样所得的二维点组成的样本点集;
[0016] (S2)若视频为直播视频,则获得样本点集的凸包作为目标对象的轮廓,以识别目标对象区域内部和目标对象区域外部,并转入(S10);否则,转入(S3);
[0017] (S3)从样本点集中随机选择一个二维点作为起始点,并将起始点从样本点集移入有序点集;
[0018] (S4)若样本点集不为空,则遍历样本点集以计算起始点与样本点集中每一个二维点P1之间的距离D1,并转入(S5);否则,检测结束,转入(S9);
[0019] (S5)若D1<R-δ,则将二维点P1从样本点集中移除;若R-δ≤D1≤R+δ且D1≠R,则将二维点P1从样本点集中移入候选点集;若D1=R,则将二维点P1从样本点集中移入边集;若D1>R+δ,则不对二维点P1进行操作;
[0020] (S6)若边集为空,则将候选点集中与起始点之间的距离最大的二维点移入边集并转入(S7);否则,转入(S7);
[0021] (S7)随机从边集中选择一个二维点P0移入有序点集,并清空边集和候选集;
[0022] (S8)将二维点P0作为起始点,转入(S4);
[0023] (S9)根据有序点集确定目标对象区域内部和目标对象区域外部;
[0024] (S10)对目标对象区域外部进行填充,并且对目标对象区域内部不进行填充,以生成目标蒙版;
[0025] 其中,R为预先设定的距离阈值,δ为预先设定的距离偏差,且
[0026] 上述生成目标蒙版的R-Distance方法中,通过采样将目标对象区域的轮廓边缘离散化为一个二维点集,能够有效减少信息量,降低计算复杂度;对于直播视频,通过R-Distance方法将轮廓二维点集采样排序问题转化为凸包问题能够快速识别目标对象区域内部和目标对象区域外部,保证视频播放的实时性;对于非直播视频,R-Distance方法能够准确地识别目标对象区域内部和目标对象区域外部,从而能够准确地防止弹幕遮挡目标对象,提高观看画面的质量。
[0027] 更进一步地,所生成的目标蒙版为SVG图像;SVG(Scalabel Vector Graphics,可缩放矢量图),是一种基于XML语法的图像格式,与png、jpg等一般图像格式不同,SVG是基于矢量图形格式的,本质上为文本文件,体积较小,且无论放大多少倍都不会失真,因此它可以在任意分辨率上显示,而不破坏图像的清晰度和细节;由于SVG矢量图体积小,加载快,因此在用作弹幕蒙版时,可以快速渲染使弹幕播放比较流畅而不会产生卡顿的现象。
[0028] 进一步地,步骤(3)包括:
[0029] (T1)判断用于观看视频的浏览器是否支持mask样式属性,若是,则转入(T2);否则,转入(T3);
[0030] (T2)设置弹幕容器的样式属性并将目标蒙版覆盖于弹幕上方,使得位于目标蒙版填充区域的全部或部分弹幕被显示,并且位于目标蒙版未填充区域的全部或部分弹幕被隐藏;转入(T5);
[0031] (T3)监听每条弹幕的移动事件以获得弹幕的位置几何信息;
[0032] (T4)根据弹幕的位置几何信息、目标对象区域内部的几何信息以及目标对象区域外部的几何信息,对弹幕的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示;转入(T5);
[0033] (T5)处理结束。
[0034] 在上述控制画面显示的方法中,对于支持mask样式属性的浏览器,通过生成目标蒙版并设置弹幕容器的样式属性的方式使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效简化对画面的控制操作。
[0035] 总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0036] (1)本发明所提供的防止弹幕遮挡目标对象的方法,根据目标对象的掩膜得到用于识别目标对象区域内部和目标对象区域外部的目标蒙版,并根据目标蒙版对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效防止观看视频时目标对象被弹幕遮挡。
[0037] (2)本发明所提供的防止弹幕遮挡目标对象的方法,根据视频播放场景,在服务器端或用户端对视频数据进行语义分割,能够有效减轻服务器的压力,提高系统的利用效率。
[0038] (3)本发明所提供的防止弹幕遮挡目标对象的方法,使用R-Distance方法识别目标对象区域内部和目标对象区域外部时,通过采样将目标对象区域的轮廓边缘离散化为一个二维点集,能够有效减少信息量,降低计算复杂度;对于直播视频,通过凸包能够快速识别目标对象区域内部和目标对象区域外部,保证视频播放的实时性;对于非直播视频,能够准确地识别目标对象区域内部和目标对象区域外部,从而能够准确地防止弹幕遮挡目标对象,提高观看画面的质量。
[0039] (4)本发明所提供的防止弹幕遮挡目标对象的方法,对于支持mask样式属性的浏览器,通过生成目标蒙版并设置弹幕容器的样式属性的方式使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效简化对画面的控制操作。

附图说明

[0040] 图1为本发明实施例提供的防止弹幕遮挡目标对象的方法;
[0041] 图2为本发明实施例提供的R-Distance方法示意图;(a)、(b)为识别有序点集中连续的两个二维点的方法示意图。

具体实施方式

[0042] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0043] 本发明提供了一种防止弹幕遮挡目标对象的方法,用于防止在通过浏览器观看视频时目标对象被弹幕遮挡,其整体思路在于:根据视频播放场景对视频数据进行语义分割,并根据语义分割结果识别目标对象区域内部和目标对象区域外部;对画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,并且位于目标对象区域外部的全部或部分弹幕被显示。
[0044] 如图1所示,本发明所提供的防止弹幕遮挡目标对象的方法,包括:
[0045] (1)根据视频播放场景对视频数据进行语义分割,得到目标对象的掩膜;
[0046] 在一个可选的实施方式中,步骤(1)具体包括:
[0047] 若视频数据为直播视频的视频数据,则在用户端对视频数据进行语义分割以得到目标对象的掩膜;否则,在服务器端对视频数据进行语义分割以得到目标对象的掩膜;根据视频播放场景,在服务器端或用户端对视频数据进行语义分割,能够有效减轻服务器的压力,提高系统的利用效率;
[0048] 在本实施例中,在用户端对视频数据进行语义分割时,所采用的模型为基于TensorFlow.js框架的Light-Weight RefineNet网络,以提高计算速度,从而保证视频播放的实时性;在服务器端对视频数据进行语义分割时,所采用的计算模型为基于TensorFlow框架的Mask R-CNN网络,以提高计算精度,从而保证画面质量;应当理解的是,在用户端对视频数据进行语义分割时,也可采用其他能够快速实现语义分割的方法或模型,在服务器端对视频数据进行语义分割时,也可采用其他能够精确实现语义分割的方法或模型;
[0049] (2)使用R-Distance方法对目标对象的掩膜进行处理,以生成用于识别目标对象区域内部和目标对象区域外部的目标蒙版;
[0050] 在一个可选的实施方式中,步骤(2)中的R-Distance方法具体包括:
[0051] (S1)获得构成目标对象的轮廓边缘的二维点并采样,从而得到由采样所得的二维点组成的样本点集;
[0052] (S2)若视频为直播视频,则获得样本点集的凸包作为目标对象的轮廓,以识别目标对象区域内部和目标对象区域外部,并转入(S10);否则,转入(S3);
[0053] 在本实施例中,采用Andrew算法获得样本点集的凸包,也可采用其他凸包算法;
[0054] (S3)从样本点集中随机选择一个二维点作为起始点,并将起始点从样本点集移入有序点集;
[0055] (S4)若样本点集不为空,则遍历样本点集以计算起始点与样本点集中每一个二维点P1之间的距离D1,并转入(S5);否则,检测结束,转入(S9);
[0056] (S5)若D1<R-δ,则将二维点P1从样本点集中移除;若R-δ≤D1≤R+δ且D1≠R,则将二维点P1从样本点集中移入候选点集;若D1=R,则将二维点P1从样本点集中移入边集;若D1>R+δ,则不对二维点P1进行操作;
[0057] (S6)若边集为空,则将候选点集中与起始点之间的距离最大的二维点移入边集并转入(S7);否则,转入(S7);
[0058] (S7)随机从边集中选择一个二维点P0移入有序点集,并清空边集和候选集;
[0059] (S8)将二维点P0作为起始点,转入(S4);
[0060] (S9)根据有序点集确定目标对象区域内部和目标对象区域外部;
[0061] (S10)对目标对象区域外部进行填充,并且对目标对象区域内部不进行填充,以生成目标蒙版;
[0062] 其中,R为预先设定的距离阈值,R的取值根据采样率、目标对象的尺寸及要求的显示精度来确定,一般而言,R=采样率*目标对象尺寸,δ为预先设定的距离偏差,且[0063] 上述生成目标蒙版的R-Distance方法中,通过采样将目标对象区域的轮廓边缘离散化为一个二维点集,能够有效减少信息量,降低计算复杂度;对于直播视频,通过R-Distance方法将轮廓二维点集采样排序问题转化为凸包问题能够快速识别目标对象区域内部和目标对象区域外部,保证视频播放的实时性;对于非直播视频,R-Distance方法能够准确地识别目标对象区域内部和目标对象区域外部,从而能够准确地防止弹幕遮挡目标对象,提高观看画面的质量;图2(a)和图2(b)所示为采用R-Distance方法识别有序点集中连续的两个点的过程示意图;
[0064] 在本实施例中,所生成的目标蒙版为SVG图像;SVG(Scalabel Vector Graphics,可缩放矢量图),是一种基于XML语法的图像格式,与png、jpg等一般图像格式不同,SVG是基于矢量图形格式的,本质上为文本文件,体积较小,且无论放大多少倍都不会失真,因此它可以在任意分辨率上显示,而不破坏图像的清晰度和细节;由于SVG矢量图体积小,加载快,因此在用作弹幕蒙版时,可以快速渲染使弹幕播放比较流畅而不会产生卡顿的现象;
[0065] 应当理解的是,根据具体的应用需求,目标蒙版也可采用其他格式;
[0066] (3)根据目标蒙版对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示;
[0067] 在一个可选的实施方式中,步骤(3)具体包括:
[0068] (T1)判断用于观看视频的浏览器是否支持mask样式属性,若是,则转入(T2);否则,转入(T3);
[0069] (T2)设置弹幕容器的样式属性并将目标蒙版覆盖于弹幕上方,使得位于目标蒙版填充区域(即目标对象区域外部)的全部或部分弹幕被显示,并且位于目标蒙版未填充区域(即目标对象区域内部)的全部或部分弹幕被隐藏;转入(T5);
[0070] (T3)监听每条弹幕的移动事件以获得弹幕的位置几何信息;
[0071] (T4)根据弹幕的位置几何信息、目标对象区域内部的几何信息以及目标对象区域外部的几何信息,对弹幕的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示;转入(T5);
[0072] (T5)处理结束;
[0073] 在上述控制画面显示的方法中,对于支持mask样式属性的浏览器(例如Webkit内核的浏览器),通过生成目标蒙版并设置弹幕容器的样式属性的方式(例如给弹幕容器加上“-webkit-mask”样式属性)使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效简化对画面的控制操作;
[0074] 其中,弹幕为预先收集且经过预处理的弹幕数据;通常,会对原始弹幕数据进行特殊字符过滤操作以保证弹幕能够正常显示,以及敏感词过滤操作以保证弹幕内容符合相关规定,同时,为了满足用户的个性化需求,也可根据用户的实际需求对弹幕进行相应的操作。
[0075] 上述方法,通过识别目标对象区域内部和目标对象区域外部,并根据识别结果对视频画面的显示进行控制,使得位于目标对象区域内部的全部或部分弹幕被隐藏,且位于目标对象区域外部的全部或部分弹幕被显示,能够有效防止观看视频时目标对象被弹幕遮挡。
[0076] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。