视频掩码信息的生成、弹幕防遮挡方法、服务器及客户端与流程

文档序号:21819252发布日期:2020-08-11 21:34阅读:207来源:国知局
视频掩码信息的生成、弹幕防遮挡方法、服务器及客户端与流程

本发明涉及互联网技术领域,特别涉及一种视频掩码信息的生成、弹幕防遮挡方法、服务器及客户端。



背景技术:

随着弹幕(barrage)技术的不断发展,当前的视频直播或者视频点播领域中,往往都会在视频播放的画面中一并播放用户发表的弹幕信息。这种方式在增强用户的交互性的同时,有时候也会对用户观看的视频画面造成遮挡的不良效果。

鉴于此,现有技术中提出了一系列的方式来避免视频画面被弹幕遮挡。一种实现方式为:播放器可以设置弹幕屏蔽控件,从而屏蔽视频画面中指定位置的弹幕。然而这种方式会极大地减少弹幕的展示数量,虽然不会对画面造成遮挡,但损失的弹幕数量过多。另一种实现方式为:服务器可以生成与视频画面一致的二值掩码图,并将该二值掩码图压缩后随着视频数据一并发送至客户端。客户端可以通过解析二值掩码图,从而知晓当前视频画面中哪些区域不显示弹幕信息,这样便可以在保留绝大部分弹幕信息的情况下,避免对视频画面中的主要对象进行遮挡。然而,这种方式生成的二值掩码图的数据量过大,会极大地提高客户端的带宽消耗,在客户端带宽不够的情况下,很可能会导致视频卡顿。



技术实现要素:

本申请的目的在于提供一种视频掩码信息的生成、弹幕防遮挡方法、服务器及客户端,能够在保留绝大多数弹幕信息,以及减少客户端的带宽消耗的情况下,避免弹幕信息对视频画面造成遮挡。

为实现上述目的,本申请一方面提供一种视频掩码信息的生成方法,所述方法包括:读取待解析的视频数据,并针对所述视频数据中的任一视频帧,识别所述视频帧中目标对象所处的区域;选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域;根据所述若干个几何图形的拟合参数,生成所述视频帧的掩码信息,并将所述掩码信息和所述视频帧的数据同步发送至客户端。

为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的视频掩码信息的生成方法。

为实现上述目的,本申请另一方面还提供一种弹幕防遮挡方法,所述方法包括:接收服务器发来的视频数据和弹幕数据,所述视频数据中至少包括视频帧的掩码信息,所述掩码信息中包括若干个几何图形的拟合参数;其中,所述若干个几何图形构成的组合覆盖所述视频帧中的目标对象;解析所述视频帧的掩码信息,以根据所述若干个几何图形的拟合参数,在所述视频帧中分别确定各个所述几何图形所处的区域;在所述视频帧中渲染所述弹幕数据时,在各个所述几何图形所处的区域内不显示对应的弹幕数据。

为实现上述目的,本申请另一方面还提供一种客户端,所述客户端包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的弹幕防遮挡方法。

由上可见,本申请提供的技术方案,针对视频帧中需要防遮挡的目标对象,可以识别出该目标对象所处的区域。然后,可以通过几何图形拟合的方式,采用一个或者多个几何图形的组合来覆盖视频帧中的目标对象。在确定出覆盖目标对象的若干个几何图形后,可以生成这些几何图形的拟合参数,该拟合参数可以表征各个几何图形的类型以及各个几何图形在视频帧中的布局。然后,服务器可以根据拟合参数生成视频帧的掩码信息,并将该掩码信息与视频帧的数据一并发送给客户端。由于几何图形的拟合参数所占用的字节通常较小,因此掩码信息的数据量也较小,从而不会额外占用客户端过多的带宽。后续,客户端在接收到服务器发来的视频帧的数据和掩码信息后,可以解析出其中各个几何图形在视频帧中所处的区域。当需要在视频帧中渲染弹幕数据时,在各个所述几何图形所处的区域内可以不显示对应的弹幕数据,而在其它区域都正常显示弹幕数据,从而可以避免弹幕数据对目标对象造成遮挡。由此可见,本申请提供的技术方案,通过向客户端发送基于几何图形的拟合参数生成的掩码信息,能够减少客户端的带宽消耗,此外还能够在保留绝大多数的弹幕数据的情况下,避免对目标对象造成遮挡。

附图说明

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

图1是本发明实施方式中视频掩码信息的生成方法示意图;

图2是本发明实施方式中几何图形拟合目标对象的示意图;

图3是本发明实施方式中矩形区域的示意图;

图4是本发明实施方式中椭圆区域的示意图;

图5是本发明实施方式中掩码信息和视频帧的数据的结构示意图;

图6是本发明实施方式中辅助标识位的一种实现方式示意图;

图7是本发明实施方式中服务器的结构示意图;

图8是本发明实施方式中弹幕防遮挡方法示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本申请提供一种视频掩码信息的生成方法,所述方法可以应用于服务器中,所述服务器可以是存储视频数据的服务器。请参阅图1,所述方法包括以下步骤。

s11:读取待解析的视频数据,并针对所述视频数据中的任一视频帧,识别所述视频帧中目标对象所处的区域。

在本实施方式中,所述待解析的视频数据可以是服务器中已经完成上传的点播视频的视频数据,也可以是服务器接收到的直播视频流的视频数据,所述视频数据中可以包括每一个视频帧的数据。服务器在读取了所述待解析的视频数据后,可以针对该视频数据中的每一个视频帧进行处理。具体地,服务器可以预先确定视频数据中需要避免被弹幕遮挡的目标对象,所述目标对象例如可以是视频画面中出现的人物。当然,根据视频内容的不同,所述目标对象也可以灵活更改。例如,在一个展现猫的日常生活的直播视频中,所述目标对象便可以是猫。

在本实施方式中,针对所述视频数据中的任一视频帧,服务器可以从所述视频帧中识别出所述目标对象所处的区域。具体地,从视频帧中识别目标对象可以采用多种方式来实现。例如,可以通过实例分割(instancesegmentation)算法或者语义分割(semanticsegmentation)算法从视频帧中识别出目标对象。在实际应用场景中,可以通过faster-rcnn、mask-rcnn等神经网络系统来识别目标对象。具体地,可以将视频帧输入上述的神经网络系统的模型,该模型输出的结果中,可以标注出所述视频帧中包含的目标对象的位置信息。所述位置信息可以通过视频帧中构成所述目标对象的像素点的坐标值来表示。这样,构成所述目标对象的像素点的坐标值的集合便可以表征所述目标对象在视频帧中所处的区域。

s13:选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域。

在本实施方式中,在确定出所述目标对象在所述视频帧中所处的区域后,可以选用一个或者多个几何图形来共同拟合所述目标对象所处的区域,拟合的结果可以是这一个或者多个几何图形的组合能够刚好覆盖所述目标对象所处的区域。举例来说,请参阅图2,当前视频帧中待识别的目标对象是人体,在从当前视频帧中识别出如图2所示的人体后,可以通过椭圆和矩形来拟合出该人体在视频帧中所处的区域。例如,椭圆可以拟合人体的头部,矩形可以拟合人体的上半身和下半身。

在本实施方式中,在确定上述的一个或者多个几何图形时,可以将所述目标对象所处的区域按照所述目标对象的形体特征分割为一个或者多个子区域。具体地,所述形体特征可以根据目标对象的类型而灵活设置。例如,当所述目标对象为人体时,所述形体特征便可以是头部、躯干、四肢等。当然,根据拟合精度的不同,分割得到的子区域的数量也可以不同。例如,当拟合精度的要求不高时,对于躯干和四肢可以无需分割得过于精细,而是可以简单地分为上半身和下半身。在实际应用中,可以通过多种姿态算法来将目标对象所处的区域分割为一个或者多个子区域。所述姿态算法例如可以包括densepose算法、openpose算法、realtimemulti-personposeestimation算法、alphapose算法、humanbodyposeestimation算法、deeppose算法等。

在本实施方式中,在划分得到各个子区域后,针对任一所述子区域,可以选取与所述子区域相适配的几何图形。例如,对于人体的头部而言,可以选择圆形或者椭圆形,而针对人体的躯干和四肢而言,可以选择矩形。后续,可以继续确定所述几何图形的布局参数,以使得按照所述布局参数绘制的所述几何图形能够覆盖对应的子区域。在实际应用中,根据几何图形的不同,确定的布局参数也可以不同。例如,对于矩形而言,所述布局参数可以是矩形的两个对角顶点在视频帧中的坐标值,以及所述矩形的边与水平线的夹角。如图3所示,为了确定该矩形在视频帧中的布局参数,可以确定出顶点a和顶点b的坐标值,以及边ac与水平线(图3中的虚线)的夹角。这样,根据这些布局参数,便可以在视频帧中确定出该矩形的区域。又例如,为了确定图4中椭圆覆盖的区域,确定的布局参数可以包括该椭圆的中心点的坐标、该椭圆的长轴、短轴以及长轴与水平线(图4中的虚线)的夹角布局参数。再例如,为了确定圆形覆盖的区域,确定的布局参数可以包括该圆形的圆心和半径。

在本实施方式中,可以根据选取的所述几何图形的类型以及所述几何图形的布局参数,生成所述几何图形的拟合参数。具体地,所述拟合参数可以通过编码后的数值来表示。具体地,所述几何图形的类型可以通过预设图形标识来表示。例如,圆形的预设图形标识为0,椭圆的预设图形标识为1,矩形的预设图形标识为2,三角形的预设图形标识为3等等。而几何图形的布局参数则可以通过像素点的坐标或者覆盖的像素点的数量来表示。例如,圆形的圆心可以通过圆心处像素点的坐标值来表示,而半径则可以通过该半径覆盖的像素点的数量来表示。上述确定出的预设图形标识和布局参数均可以是十进制的,而在计算机语言中,通常可以采用二进制或者十六进制来表示。因此,在得到几何图形对应的预设图形标识以及布局参数后,可以分别对所述预设图形标识和所述布局参数进行编码。举例来说,可以对所述预设图形标识和所述布局参数进行二进制编码。假设十进制计数方式下,圆形的预设图形标识为0,布局参数中圆心的坐标为(16,32),半径为8,那么二进制编码后,预设图形标识可以为00,圆心坐标可以表示为010000100000,半径可以表示为001000,组合起来就是00010000100000001000。那么,最终便可以将编码后的数据作为所述几何图形的拟合参数。针对所述视频帧中包含的各个几何图形而言,均可以按照上述的方式生成各自的拟合参数。

s15:根据所述若干个几何图形的拟合参数,生成所述视频帧的掩码信息,并将所述掩码信息和所述视频帧的数据同步发送至客户端。

在本实施方式中,在选取了合适的若干个几何图形后,可以根据这些几何图形的拟合参数,生成所述视频帧的掩码信息。具体地,所述掩码信息中除了包含编码后的拟合参数,还可以包含针对所述拟合参数添加的辅助标识位。其中,添加所述辅助标识位的作用在于,能够将视频帧的掩码信息与视频帧的真实数据进行区分。请参阅图5,服务器传输的视频数据中,可以按照每一个视频帧进行划分,其中,对于同一视频帧而言,该视频帧的掩码信息和该视频帧的数据是首尾相连的。如果不添加辅助标识位,那么客户端在读取视频数据时,无法区分哪些是掩码信息,哪些是需要渲染的视频帧的数据。鉴于此,可以针对所述拟合参数添加辅助标识位,并将所述辅助标识位和所述拟合参数的组合作为所述视频帧的掩码信息。客户端在读取视频数据时,可以通过识别辅助标识位,从而确定出哪些字段是掩码信息。在实际应用中,辅助标识位的实现方式也多种多样。例如,所述辅助标识位可以通过二进制的方式,注明拟合参数的数据大小,并且所述辅助标识位可以是位于拟合参数之前的指定位数的二进制数。例如,所述辅助标识位可以是6比特的二进制数,对于00010000100000001000这样的拟合参数,其数据大小为20位,那么辅助标识位便可以表示为010100,那么最终得到的掩码信息便可以是01010000010000100000001000。客户端在读取完6位的辅助标识位后,便可以知晓拟合参数的数据大小为20位,便可以紧接着读取20位的数据内容,并将这20位的数据内容作为拟合参数的内容。在这20位数据之后的数据,便可以作为待渲染的视频帧的数据。

此外,在其它的一些实施方式中,辅助标识位还可以表征所述拟合参数中包含的几何图形的数量,那么当客户端从视频数据中读取到与辅助标识位表征的数量相一致的几何图形的拟合参数后,后续继续读取的数据就是待渲染的视频帧的数据。再者,辅助标识位还可以表征所述拟合参数的数据结束位置。如图6所示,所述辅助标识位可以是一串预先设定的固定字符,当客户端读取到该固定字符后,便知晓拟合参数已经读取完成,该固定字符之后的就是待渲染的视频帧的数据。

在本实施方式中,在添加了所述辅助标识位,生成所述视频帧的掩码信息后,便可以将该掩码信息和视频帧的数据合并起来,作为该视频帧对应的待传输的数据。多个不同视频帧对应的待传输的数据组合起来,便可以构成向客户端发送的视频数据。需要说明的是,服务器向客户端发送的视频数据,与步骤s11中待解析的视频数据已经不同,不同之处在于,向客户端发送的视频数据中,包含了生成的视频帧的掩码信息。这样,视频帧的掩码信息和视频帧的数据便可以同步发送至客户端。

在一个实施方式中,为了更加方便地拟合视频帧中的目标对象所处的区域,在识别所述视频帧中目标对象所处的区域之后,还可以生成所述视频帧的二进制掩码图。对于所述二进制掩码图中的各个像素点而言,可以仅具备两种不同的像素值。其中,构成所述目标对象所处的区域的像素点可以具备第一像素值,而其它像素点可以具备第二像素值。在实际应用中,为了与原始的视频帧相匹配,生成的二进制掩码图可以与所述视频帧的尺寸一致。该尺寸一致可以理解为画面的长度和宽度一致,并且分辨率也一致,从而使得原始的视频帧和生成的二进制掩码图中包含的像素点的数量是一致的。当然,为了减少二进制掩码图像的数据量,在生成的二进制掩码图像中可以仅包含所述目标对象对应的区域即可,而无需显示原始视频帧的全部区域。这样,生成的二进制掩码图像的尺寸可以与原始视频帧中剪裁出的一个子区域的尺寸相一致,而无需与原始视频帧的尺寸相一致。在本实施方式中,生成所述二进制掩码图之后,可以直接在所述二进制掩码图中,按照上述的方式通过所述若干个几何图形对具备第一像素值的像素点构成的区域进行拟合,从而得到各个几何图形的拟合参数。

在一个实施方式中,还可以通过机器学习的方式,来确定视频帧的拟合参数。具体地,不同的目标对象可以通过不同的训练样本集来对识别模型进行训练。首先,可以获取所述目标对象的训练样本集,所述训练样本集中可以包括若干个图像样本,并且所述若干个图像样本中均包含所述目标对象。对于训练样本而言,每个图像样本可以通过人工标注的方式,标注出每个图像样本中覆盖目标对象所需的几何图形。这些标注出的几何图形可以通过几何图形的拟合参数来表示,所述拟合参数可以包括几何图形的类型以及几何图形的布局参数。也就是说,在标注训练样本时,可以生成各个图像样本对应的拟合参数,该拟合参数可以作为图像样本的标注标签。

然后,可以通过人工标注的图像样本对预设的识别模型进行训练。所述识别模型中可以包括深度神经网络,该深度神经网络中的神经元可以具备初始权重值。携带初始权重值的深度神经网络对输入的图像样本进行处理后,可以得到输入的图像样本对应的预测结果。该预测结果可以表明输入的图像样本中,覆盖目标对象所需的几何图形的拟合参数。由于识别模型在初始阶段携带的权重值不够准确,会导致预测结果表征的拟合参数与人工标注的拟合参数存在一定差距。那么在得到预测结果后,可以计算预测结果表征的拟合参数与人工标注的拟合参数之间的差异值,并将该差异值作为反馈数据提供给识别模型,以更改识别模型中神经元的权重值。这样,通过反复校正权重值,最终可以使得在将任一图像样本输入训练后的识别模型后,所述训练后的识别模型输出的预测结果与输入的图像样本的标注标签表征的拟合参数一致,这样便可以完成训练过程。

后续,当需要确定视频帧的拟合参数时,可以将所述视频帧输入所述训练后的识别模型,并将所述训练后的识别模型输出的预测结果作为所述视频帧的拟合参数。

在一个实施方式中,由于拟合目标对象所需的几何图形的数量可能不止一个,那么最终的掩码信息中实际上会包含多个几何图形的拟合参数。在实际应用中,这些多个拟合参数在掩码信息中可以按照几何图形的尺寸大小进行排序。具体地,可以按照各个所述几何图形的拟合参数表征的几何图形的尺寸大小,对各个所述几何图形的拟合参数进行排序,并基于排序后的拟合参数生成所述视频帧的掩码信息。例如,在掩码信息中,从前到后排列的拟合参数,可以分别对应几何图形尺寸从大到小的顺序。这样处理的目的在于,当客户端接收到服务器发来的掩码信息时,针对视频帧中的像素点,需要判断该像素点是否落入了覆盖目标对象的几何图形内。如果落入了,则表示该像素点需要展现视频帧的内容,该视频帧的内容不能被弹幕信息遮挡,因此该像素点不能显示弹幕信息。而在实际应用中,该像素点需要针对掩码信息中的各个几何图形逐个分析,从而判断该像素点是否落入了其中的一个几何图形内。如果将尺寸较大的几何图形的拟合参数排在掩码信息的前列,那么像素点落入该几何图形内的概率会较大,一旦检测到像素点落入了其中一个几何图形内,便可以立即确定该像素点不能显示弹幕信息,从而停止对该像素点的判断过程,转而继续分析下一个像素点。因此,将拟合参数按照几何图形的尺寸从大到小的顺序在掩码信息中排列,能够减少判断像素点是否落入几何图形内的判断时间,从而加快客户端的画面渲染过程。

请参阅图7,本申请还提供一种服务器,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现如上述的掩码信息的生成方法。具体地,如图7所示,在硬件层面,该服务器可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,所述服务器还可包括比图7中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如gpu(graphicsprocessingunit,图像处理器),或者具有与图7所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。

本实施方式中,所述的处理器可以包括中央处理器(cpu)或图形处理器(gpu),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。

需要说明的是,本说明书中的服务器,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。

本申请还提供一种弹幕防遮挡方法,所述方法可以应用于客户端中,所述客户端可以是具备视频播放功能的电子设备,还可以是运行于所述电子设备中的视频播放软件。具体地,请参阅图8,所述方法可以包括以下步骤。

s21:接收服务器发来的视频数据和弹幕数据,所述视频数据中至少包括视频帧的掩码信息,所述掩码信息中包括若干个几何图形的拟合参数;其中,所述若干个几何图形构成的组合覆盖所述视频帧中的目标对象。

在本实施方式中,服务器在生成视频帧的掩码信息后,可以将掩码信息与视频帧的数据作为处理后的视频数据一并发送至客户端,同时还可以同步向客户端发送当前视频的弹幕数据,所述弹幕数据中的内容也会与视频帧保持同步。其中,在所述掩码信息中,可以包括添加的辅助标识位和各个几何图形的拟合参数,这些几何图形的组合可以刚好覆盖所述视频帧中的目标对象。

s23:解析所述视频帧的掩码信息,以根据所述若干个几何图形的拟合参数,在所述视频帧中分别确定各个所述几何图形所处的区域。

在本实施方式中,客户端可以通过识别所述掩码信息中的辅助标识位,从而根据所述辅助标识位,从所述视频数据中识别出所述掩码信息的字符段。具体地,所述辅助标识位可以通过二进制的方式,注明拟合参数的数据大小,并且所述辅助标识位可以是位于拟合参数之前的指定位数的二进制数。这样,客户端在读取完指定位数的辅助标识位后,便可以知晓拟合参数的数据大小,从而可以按照拟合参数的数据大小,读取出拟合参数的数据内容。这样,辅助标识位和拟合参数的数据内容可以作为视频帧的掩码信息的字符段。

此外,在其它的一些实施方式中,辅助标识位还可以表征所述拟合参数中包含的几何图形的数量,那么客户端可以从视频数据中读取与辅助标识位表征的数量相一致的几何图形的拟合参数,并将读取的拟合参数和辅助标识位作为视频帧的掩码信息的字符段。再者,辅助标识位还可以表征所述拟合参数的数据结束位置。所述辅助标识位可以是一串预先设定的固定字符,当客户端读取到该固定字符后,便知晓拟合参数已经读取完成,那么客户端可以将固定字符之前的数据内容和所述固定字符的组合作为视频帧的掩码信息的字符段。

在本实施方式中,客户端通过解析识别出的所述掩码信息的字符段,从而可以确定出所述若干个几何图形的拟合参数,并可以在所述视频帧中分别确定各个所述几何图形所处的区域。具体地,根据几何图形类型的不同,确定区域的方式也可以不同。举例来说,对于圆形而言,其所处的区域可以通过以下公式来表示:

(x-a)2+(y-b)2≤r2

其中,符合上式的(x,y)可以表示处于圆形区域内的像素点的坐标值,(a,b)可以表示圆形的圆心的坐标值,r可以表示圆形的半径。

针对不同的几何图形,都可以通过数学公式来表示其所处的区域。

s25:在所述视频帧中渲染所述弹幕数据时,在各个所述几何图形所处的区域内不显示对应的弹幕数据。

在本实施方式中,在确定出当前视频帧中各个几何图形所处的区域后,当在所述视频帧中渲染对应的弹幕数据时,对于几何图形所处的区域内,可以不显示对应的弹幕数据,而在几何图形外的其它区域,可以正常显示弹幕数据,这样,当前视频帧中的弹幕数据便不会对几何图形的组合覆盖的目标对象造成遮挡。

在实际应用中,可以针对所述视频帧中的每个像素点逐一判断。具体地,针对所述视频帧中的当前像素点,可以判断所述当前像素点是否落入所述几何图形所处的区域内。判断的方法可以是:将当前像素点的坐标值代入当前待判断的几何图形的数学公式中,若该数学公式成立,则表示当前像素点落入了当前待判断的几何图形中。相反,若该数学公式不成立,则表示当前像素点处于当前待判断的几何图形外。这样,若所述当前像素点位于任一所述几何图形所处的区域内,则不在所述当前像素点处显示对应的弹幕数据。而若所述当前像素点位于各个所述几何图形所处的区域外,则在所述当前像素点处显示对应的弹幕数据。其中,在判定不显示对应的弹幕数据时,只需要当前像素点落入任意一个几何图形内即可,而在判定显示对应的弹幕数据时,则需要当前像素点位于所有的几何图形外才可以。

在实际应用中,由于几何图形的拟合参数在掩码信息中是按序排列的,在判断当前像素点是否落入任一几何图形内时,是根据掩码信息中几何图形的拟合参数的排列顺序逐一判断的。在一个实施方式中,为了节省当前像素点的判断过程所需的时间,服务器发送的所述掩码信息中,各个所述几何图形的拟合参数可以按照几何图形的尺寸大小进行排序,具体地,可以将尺寸较大的几何图形的拟合参数排列在掩码信息的前端。这样,当客户端在判断当前像素点是否落入几何图形内时,可以优先选择尺寸较大的几何图形来判断。由于像素点落入尺寸较大的几何图形内的概率也会较大,因此在按照所述几何图形的拟合参数的排序结果,从前到后逐一判断所述当前像素点是否落入各个所述几何图形所处的区域内时,一旦检测到当前像素点落入了当前的几何图形所处的区域内,便可以立即确定不在所述当前像素点处显示对应的弹幕数据,并可以停止针对所述当前像素点的判断过程,转而继续判断下一个像素点是否落入各个所述几何图形所处的区域内。因此,将拟合参数按照几何图形的尺寸从大到小的顺序在掩码信息中排列,能够减少判断像素点是否落入几何图形内的判断时间,从而加快客户端的画面渲染过程。

本申请还提供一种客户端,所述客户端包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现如上述的弹幕防遮挡方法。

需要说明的是,本说明书中的客户端,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。

由上可见,本申请提供的技术方案,针对视频帧中需要防遮挡的目标对象,可以识别出该目标对象所处的区域。然后,可以通过几何图形拟合的方式,采用一个或者多个几何图形的组合来覆盖视频帧中的目标对象。在确定出覆盖目标对象的若干个几何图形后,可以生成这些几何图形的拟合参数,该拟合参数可以表征各个几何图形的类型以及各个几何图形在视频帧中的布局。然后,服务器可以根据拟合参数生成视频帧的掩码信息,并将该掩码信息与视频帧的数据一并发送给客户端。由于几何图形的拟合参数所占用的字节通常较小,因此掩码信息的数据量也较小,从而不会额外占用客户端过多的带宽。后续,客户端在接收到服务器发来的视频帧的数据和掩码信息后,可以解析出其中各个几何图形在视频帧中所处的区域。当需要在视频帧中渲染弹幕数据时,在各个所述几何图形所处的区域内可以不显示对应的弹幕数据,而在其它区域都正常显示弹幕数据,从而可以避免弹幕数据对目标对象造成遮挡。由此可见,本申请提供的技术方案,通过向客户端发送基于几何图形的拟合参数生成的掩码信息,能够减少客户端的带宽消耗,此外还能够在保留绝大多数的弹幕数据的情况下,避免对目标对象造成遮挡。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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