CN113949922A - 一种蒙版图片的生成方法、计算设备以及存储介质 - Google Patents
一种蒙版图片的生成方法、计算设备以及存储介质 Download PDFInfo
- Publication number
- CN113949922A CN113949922A CN202111199656.7A CN202111199656A CN113949922A CN 113949922 A CN113949922 A CN 113949922A CN 202111199656 A CN202111199656 A CN 202111199656A CN 113949922 A CN113949922 A CN 113949922A
- Authority
- CN
- China
- Prior art keywords
- video
- target video
- mask
- mask picture
- generated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000011946 reduction process Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种方法、计算设备以及存储介质。方法包括:获取目标视频的弹幕统计数据;至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片;在确定需要为所述目标视频生成蒙版图片时,获取所述目标视频的主体内容类别;基于所述主体内容类别对所述目标视频进行处理,生成所述目标视频的蒙版图片。
Description
技术领域
本发明涉及互联网领域,具体涉及一种用于视频弹幕的蒙版图片的生成方法、计算设备以及存储介质。
背景技术
弹幕是指一种在观看视频时,大量以字幕形式呈现的评论,且将评论与视频呈现在同一个画面中的现象。在视频上方大量飘过的评论如密集炮弹一般,故得名弹幕。弹幕会随着视频的播放实时在视频上呈现,这样观看者在观看该视频时能够看到其他观看者和自己发送的弹幕,形成一种基于视频观看,围绕视频内容的新的网络社交形态。
然而,在弹幕过多的情况下,遮挡视频内容较多,也会使得观看效果不佳。面对这样的问题,现有的技术中,可以通过定期清理减少弹幕的量,也可以通过提供给视频观众弹幕开关或弹幕过滤工具来减少弹幕的量。然而采用这些方法,势必使得弹幕变“薄”,部分用户也并不喜欢这种使用体验,因为更“厚”的弹幕可以更多地让观众体会到参与感乃至认同感。
另一方面,上述这些手段的实质是仅提供了一种观众侧的弹幕选择方法,与视频本身的内容没有直接的关联,而更了解视频内容的视频提供者缺乏有效的手段对弹幕的显示进行调节。
因此如何提供一种可由视频提供者使用的、选择弹幕的区别显示方式,且不减少弹幕数量的弹幕处理方法就成为本发明亟待解决的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的蒙版图片的生成方法、计算设备以及存储介质。
根据本发明的一个方面,提供一种蒙版图片的生成方法,在计算设备中执行,所述方法包括:
获取目标视频的弹幕统计数据;
至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片;
在确定需要为所述目标视频生成蒙版图片时,获取所述目标视频的主体内容类别;以及
基于所述主体内容类别对所述目标视频进行处理,生成所述目标视频的蒙版图片。
可选地,根据本发明的蒙版图片生成方法,其中,所述弹幕统计数据包括所述目标视频的单位时长的弹幕数量,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:在单位时长的弹幕数量大于第一阈值时,确定需要为所述目标视频生成蒙版图片。
可选地,根据本发明的蒙版图片生成方法,其中,所述弹幕统计数据包括所述目标视频的每个预定时长的视频片段的弹幕数量,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:获取弹幕数量大于第二阈值的视频片段的第一数量,以及弹幕数量不大于第二阈值的视频片段的第二数量;在第一数量与第二数量之比大于第三阈值时,确定需要为所述目标视频生成蒙版图片。
可选地,根据本发明的蒙版图片生成方法,其中,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:获取所述目标视频的视频热度;当所述视频热度大于第四阈值,并且,基于所述弹幕统计数据确定需要为所述目标视频生成蒙版图片时,确定需要为所述目标视频生成蒙版图片。
可选地,根据本发明的蒙版图片生成方法,其中,视频热度包括目标视频的观看量、点赞量和评论量中的一个或多个。
可选地,根据本发明的蒙版图片生成方法,其中,所述基于所述主体内容类别对所述目标视频进行处理,生成所述目标视频的蒙版图片,包括:从所述目标视频解析出视频帧;对解析出的每个视频帧,对该视频帧进行实例分割,以获取所述主体内容类别对应的主体内容在所述视频帧中的位置;将主体内容在视频帧的位置处的像素点的alpha通道设置为透明,其他位置的像素点坐标设置为不透明,得到目标视频中该视频帧的蒙版图片。
可选地,在根据本发明的蒙版图片生成方法中,还包括:在对视频帧进行实例分割前,对该视频帧进行缩小处理。
可选地,根据本发明的蒙版图片生成方法,其中,所述获取所述目标视频的主体内容类别,包括:获取所述目标视频的视频主题;基于所述目标视频的视频主题确定所述目标视频的主体内容类别。
可选地,根据本发明的蒙版图片生成方法,其中,基于用户的选择,来确定所述目标视频的主体内容类别。
可选地,根据本发明的蒙版图片生成方法,其中,所述主体内部类别的类别数量为1。
可选地,根据本发明的蒙版图片生成方法,其中,所述基于所述主体内容类别对所述目标视频进行处理的步骤,由分布式任务调度系统执行,并具体包括:任务生产端基于目标视频的长度,创建多个子任务并添加到任务队列中,每个子任务对应一个视频片段;任务调度端对任务消费端进行调度;任务消费端基于调度从任务队列中获取子任务,对子任务对应的视频片段中的视频帧进行蒙版图片生成。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
本发明实施例主要是针对蒙版弹幕文件生成端进行技术改进,克服该方案的相关缺点,根据视频弹幕数量的统计来生成蒙版图片文件,对于视频库中有多个视频文件的情况,并非对所有视频文件都生成蒙版图片文件,从而在整体上提高视频的蒙版图片文件的生成效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的应用场景100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的蒙版图片的生成方法300的流程图;
图4a~4d示出了本发明实施例中分布式任务调度系统进行蒙版图片生成的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
蒙版弹幕是本发明实施例提供的可由视频提供者使用的、选择弹幕的区别显示方式的技术。通过计算机视觉的技术对视频内容进行分析,并将之前已经定义好的“视频主体内容”进行识别,生成蒙版并分发给客户端后,让客户端进行渲染从而达成最终的效果,这样就形成了我们最终看到的,“不挡脸”弹幕效果。
蒙版弹幕的一种实现方案为,蒙版弹幕图片(简称蒙版图片)生成端将视频文件拆解成多帧画面(多个视频帧),利用计算机视觉技术:实例分割,识别每帧画面的主体内容,将识别的主体内容保存成蒙版图片(例如SVG图片),并存入服务器中。其中,SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。
客户端在播放视频时,同时向服务器实时请求该视频的蒙版图片,并在弹幕区域渲染该蒙版图片,达到弹幕不遮挡视频主体内容的效果。
该实现方案提供了视频提供者使用的、选择弹幕的区别显示,使得更了解视频内容的视频提供者能够对弹幕的显示进行调节,相较于由观众进行弹幕选择,灵活性更高。但也存在一定的弊端:
1)长视频生成的蒙版图片文件耗时过长,且单个视频不能多台机器并行生成。
2)生成的蒙版图片占用空间大,蒙版图片分散,不利于客户端获取数据。
3)无弹幕或弹幕量小的视频进行蒙版弹幕渲染无意义。
于是,本发明实施例还对上述方案进行了进一步的优化。
图1示出了根据本发明一个实施例的应用场景100的示意图。如图1所示,应用场景100包括一个或多个用户终端110、计算设备200和数据存储装置120。
用户终端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。用户终端110中驻留有浏览器或者页面应用(webapp),通过浏览器或者页面应用访问互联网中的计算设备200,在下文中,将浏览器和页面应用统称为客户端,相应地,计算设备200则为服务端。计算设备200用于向用户终端110提供服务,其可以实现为服务器,例如应用服务器、Web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、平板电脑等,但不限于此。
根据一种实施例,计算设备200可以向用户终端110提供视频播放服务,具体地,用户终端110在播放视频时,计算设备110一方面为用户终端提供视频流,另一方面,还提供对应的蒙版图片。其中,蒙版图片是由计算设备200自动生成的。
数据存储装置120可以是关系型数据库例如MySQL、ACCESS等,也可以是非关系型数据库例如NoSQL等;可以是驻留于计算设备200中的本地数据库,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置120用于存储数据,本发明对数据存储装置120的具体部署、配置情况不做限制。计算设备200可以与数据存储装置120连接,并获取数据存储装置120中所存储的数据。例如,计算设备200可以直接读取数据存储装置120中的数据(在数据存储装置120为计算设备200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置120中的数据。
在本发明的实施例中,数据存储装置120适于存储视频文件,还适于存储所述视频文件对应的蒙版图片,且蒙版图片由计算设备200生成。
图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括储存设备232和储存接口总线234,储存设备232包括可移除储存器236和不可移除储存器238,可移除储存器236和不可移除储存器238均与储存接口总线234连接。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行蒙版图片的生成方法300的多条程序指令。
图3示出了根据本发明一个实施例的蒙版图片的生成方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。
如图3所示,方法300始于步骤S302,在步骤S302中,获取目标视频的弹幕统计数据。服务器端(例如数据存储装置120)存储有视频库(多个视频文件),对于每个视频文件,还存储有该视频文件的弹幕数据。视频文件的弹幕数据包括每条弹幕的起始时间和结束时间,这样,根据各条弹幕的起始时间和结束时间,就可以对该视频文件的所有弹幕进行统计,得到弹幕统计数据。
弹幕统计数据可以包括视频文件的总弹幕数,也可以包括视频文件在单位时长的弹幕数量,其中,单位时长的弹幕数量为总弹幕数与视频文件的时长之商。例如,视频文件的时长为90分钟,总弹幕数量为1800条,则单位时长的弹幕数量为20条/分钟。
弹幕统计数据还可以包括视频文件的每个预定时长的视频片段的弹幕数量。可以将视频文件按照时间顺序划分为多个预定时长的视频片段,对于每个视频片段,都可以统计出该视频片段所包括的弹幕数量。预定时长例如为5分钟,则可以将视频文件按照时间顺序划分为18个视频片段。
在本发明实施例中,可以对视频库中的多个视频文件进行遍历,对遍历到的每个视频文件,称之为目标视频,对目标视频执行后续步骤的处理,从而为每个视频文件分别生成对应的蒙版图片。
在步骤S304中,至少基于弹幕统计数据判断是否需要为目标视频生成蒙版图片。在一种实现方式中,在单位时长的弹幕数量大于第一阈值时,确定需要为目标视频生成蒙版图片,否则,不需要为目标视频生成蒙版图片。这里,第一阈值的具体取值,可以由本领域技术人员根据经验或者进行试验确定。
在另一种实现方式中,先分别获取弹幕数量大于第二阈值的视频片段的第一数量,以及弹幕数量不大于第二阈值的视频片段的第二数量,在第一数量与第二数量之比大于第三阈值时,确定需要为所述目标视频生成蒙版图片,否则,不需要为目标视频生成蒙版图片。这里,第二阈值和第三阈值的具体取值,可以由本领域技术人员根据经验或者进行试验确定。
在又一种实现方式中,当视频文件的总弹幕数大于预设值时,确定需要为目标视频生成蒙版图片。
根据一些实施例,在判断是否需要为目标视频生成蒙版图片时,除了考虑弹幕统计数据之外,还考虑目标视频的视频热度。视频热度例如为目标视频的观看量、点赞量和/或评论量。
在一种实现方式中,当所述视频热度大于第四阈值,并且,基于弹幕统计数据确定需要为所述目标视频生成蒙版图片时(即上文所述的任一方法),确定需要为所述目标视频生成蒙版图片,否则,不需要为目标视频生成蒙版图片。这里,第四阈值的具体取值,可以由本领域技术人员根据经验或者进行试验确定。
在步骤S306中,在确定需要为目标视频生成蒙版图片时,获取所述目标视频的主体内容类别。在本发明实施例中,可以将主体内部类别的类别数量设置为1。
在一种实现方式中,先获取目标视频的视频主题,然后基于目标视频的视频主题确定目标视频的主体内容类别。例如,视频主题为人物,则主体内容类别为人;视频主题为汽车,则主体内容类别为汽车。
在另一种实现方式中,可以提供蒙版图片选项供用户选择,并基于用户的选择,来确定目标视频的主体内容类别。例如,蒙版图片选项包括人物、汽车等。
在步骤S308中,基于主体内容类别对目标视频进行处理,生述目标视频的蒙版图片。
首先,对目标视频进行解析,得到目标视频包括的所有视频帧。
然后,对解析出的每个视频帧,对该视频帧进行实例分割,以获取所述主体内容类别对应的主体内容在所述视频帧中的位置。可以采用实例分割模型对视频帧进行分割,在本发明实施例中,实例分割模型不进行全类别预测,仅预测主体内容类别。例如,主体内容类别为汽车,则即使视频帧中包括人物和汽车,也仅仅分割出汽车对象,对人物对象不做分割。
得到预测结果后,将主体内容在视频帧的位置处的像素点的alpha通道设置为透明,其他位置的像素点坐标设置为不透明,得到目标视频中该视频帧的蒙版图片。
需要说明的是,本发明实施例中的视频帧是具有alpha通道的图像。在计算机图形学中,一个RGB颜色模型的真彩图形,用由红、绿、蓝三个色彩信息通道合成的,每个通道用了8位色彩深度,共计24位,包含了所有彩色信息。为实现图形的透明效果,采取在图形文件的处理与存储中附加上另一个8位信息的方法,这个附加的代表图形中各个素点透明度的通道信息就被叫做Alpha通道。
对目标视频包括的所有视频帧分别执行上述处理,生成每个视频帧分别对应的蒙版图片,从而得到该目标视频对应的蒙版图片集合。
在一种实现方式中,在对视频帧进行实例分割前,先对该视频帧进行缩小处理。然后对缩小后的视频帧进行实例分割和蒙版图片生成。
根据本发明的一些实施例,基于主体内容类别对目标视频进行处理的步骤,由分布式任务调度系统执行,并具体包括:任务生产端基于目标视频的长度,创建多个子任务并添加到任务队列中,每个子任务对应一个视频片段任务调度端对任务消费端进行调度;任务消费端基于调度从任务队列中获取子任务,对子任务对应的视频片段中的视频帧进行蒙版图片生成。
以下给出分布式任务调度系统的具体实现。
图4a~4d示出了本发明实施例中分布式任务调度系统进行蒙版图片生成的示意图。图4a为任务生产端的处理流程,图4b为任务调度端的处理流程,图4c为任务消费端的处理流程,图4d为任务消费端执行任务的具体流程。
参照图4a~4d,分布式任务调度系统的实现过程如下:
1)定义主任务表(video_main_mask_task),用于存储视频蒙版主任务,包含:主任务ID,视频ID,视频URL,视频总时长。
2)定义子任务表(video_sub_mask_task),用于存储视频蒙版子任务,包含:子任务ID,视频分段开始时间,视频分段结束时间,任务状态,主任务ID,任务消费端最后任务上报时间,子任务优先级等字段。其中,任务状态字段(status)包含如下几个定义:待领取、执行中、完成。
3)定义蒙版文件表(video_mask),用于存储视频蒙版文件,包含:视频ID,视频URL,蒙版文件对应视频的开始时间,蒙版文件对应视频的结束时间,视频蒙版文件CDN路径,主任务ID,子任务ID等字段。
4)定义任务生产端程序,启动定时器,每隔10分钟执行一次任务生产。
5)任务生产端依次查询当前视频库的弹幕数,如果该视频弹幕数超过预设值,并且未创建过蒙版任务,对该视频进行任务生产。使用FFmpeg组件,查询该视频的长度。按照视频的长度,每10分钟视频创建一个子任务,并插入到video_mask_task表中,该子任务的状态为待执行。
6)定义任务调度端程序,提供接口:查询当前待领取的任务。示例性sql如下:select*from video_sub_mask_task where status=1limit 1order by priority desc。
7)定义任务调度端接口:根据子任务ID占领该子任务。示例性sql如下:updatevideo_sub_mask_task set status=2where id={任务ID}and status=1。如果该sql执行成功返回true,如果执行失败,返回false。以数据库的update全局锁保证多个程序的并发执行调用。
8)定义任务调度端接口:更新子任务状态。示例性sql如下:update video_sub_mask_task set status={任务状态},last_report_time=now()where id={任务ID}。
9)定义任务调度端接口:上传蒙版文件接口,将子任务生成好的文件的URL存入video_mask表中。
10)定义任务消费端程序,执行初始化操作:加载配置文件,加载Detectron2组件的实例分割预测模型。
11)任务消费端程序请求步骤6)中定义的接口,查询一个待领取的子任务,如果查询到子任务,则开始执行,否则程序休眠1分钟,下次继续请求接口查询一个待领取的子任务。
12)任务消费端程序根据查询到的子任务开始执行。使用FFmpeg组件依次读取每一帧的视频图片,当获得一帧图片时,先记录好该帧图片对应所在视频的时间戳show_time,按照配置文件配置的图片缩小尺寸,对该图片进行等比缩小。其中,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
13)使用Detectron2组件的实例分割预测模型,对步骤步骤12)缩小后的图片进行预测,预测的类别为配置文件中定义的主体内容类别,不进行全类别预测,这样可加快预测图片速度。预测阈值分数调整到0.7,这样也能加快预测图片的速度。其中,Detectron2是构建在Caffe2和Python之上计算机视觉库,是新一代目标检测和分割框架。
14)得到预测结果后,就可以获得该图片中主体内容的所在位置的所有像素点,将主体内容的像素点的alpha通道设置透明,非主体内容的像素点的alpha通道设置不透明,这样就得到了该视频帧的蒙版图片。
15)蒙版图片生成后,使用potrace组件,将图片转换成SVG矢量图形,该矢量图形大约只有1KB左右。其中,Potrace是一个将JPG、PNG等图片转换成SVG的组件。
16)由于SVG矢量图是由XML格式定义图像,里面包含了一些冗余的数据信息,可将以下字符串删除:<?xml version="1.0"standalone="no"?>
<!DOCTYPE svg PUBLIC"-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">,删除冗余字符串后再使用zlib压缩算法,对该字符串进行压缩,完整的一张蒙版图片制作完成。其中,Zlib是提供数据压缩用的函式库。
17)为保证视频蒙版文件数据的完整性和安全性,需将多张蒙版图片进行打包,使用私有二进制协议封装数据包。私有二进制协议内容由本领域技术人员根据具体需求制定。
18)蒙版文件数据打包好后,调用文件上传接口,将蒙版文件存入CDN服务器中,加快文件访问速度。这样,就得到了该文件的URL,调用步骤9)的接口,将该蒙版文件的URL存入video_mask表中。如果任务完成,调用步骤8)的接口,更新任务状态为完成状态。
19)任务消费端程序需每隔1分钟,调用步骤8)的接口,上报该子任务的执行状态为正在执行状态,以防止该任务被任务调度端回收。
本发明实施例通过采用分布式任务调度系统,将视频分段下发给蒙版弹幕生成程序,可使用多台机器,并行预测视频的蒙版图片,加快视频蒙版图片的生成。将蒙版弹幕图片合并,使用二进制私有协议打包,保证了数据的完整性和安全性。客户端只要下载视频对应的蒙版文件即可获得所有的蒙版图片,不用对各个蒙版图片一一请求,减少了服务器的压力。
具体地,通过步骤1)到步骤3),分别存储了视频蒙版主任务,视频蒙版子任务,视频蒙版文件。通过步骤4)和步骤5),定义了任务生产端程序,对视频弹幕数超过预定数量的,进行任务生产,并对视频进行分段切分,以子任务的形式进行存储,这样任务消费端程序可以并行消费各个子任务,达到多个任务消费端同时对一个视频进行视频蒙版的生成。通过步骤6)到步骤9),定义了任务调度端程序,提供相关任务调度接口,保证子的任务分配到各个任务消费端程序。同时,能够对长期未上报状态的子任务进行回收和报警,保证了子任务的顺利执行。通过步骤10)和步骤11),定义了任务消费端程序,定时从任务调度端获取待执行的子任务,如果获取到任务则执行,否则程序进行休眠。通过步骤12)和步骤13),任务消费端程序对各个视频帧进行预测,获得各个视频帧的主体内容的所有像素点。预测图片的时候,只预测定义好的主体内容,同时,图片进行等比压缩,这样,加快了蒙版图片的生成速度。通过步骤14)到步骤17),将识别好的视频帧的像素点生成SVG矢量图,使用zlib压缩,并去除XML冗余信息,多张SVG蒙版图片使用私有二进制协议打包,既减小了文件体积,又保证了文件的完整性和安全性。通过步骤18)和步骤19),任务消费端程序执行完成后进行状态变更,并能在任务进行中状态上报,保证了任务的执行和监控。
综上所述,本发明实施例具有以下特性:
引入分布式任务调度系统,该系统包含任务的生产端、调度端和消费端。任务生产端进行任务生产,定时将弹幕达到一定数量的视频生成任务,并将该任务按照时间段进行切分,生成多个子任务。每个任务包含任务优先级,优先级高的任务会优先分配给任务消费者执行。
任务消费端向任务调度端请求任务,任务调度端根据任务的优先级,请求当前未执行的子任务,多个任务消费端可并行执行,这样单个视频可按照时间段拆分几个子任务,每个任务消费端执行一个视频片段即可,加快视频蒙版文件的整体生成速度。
任务消费端定时上报自己的任务执行状态,如果10分钟后仍未上报状态,任务生产端对该任务进行回收,并生成一个新的任务,供任务消费端执行。
本发明实施例对视频帧画面主体内容识别进行优化,识别速度由单帧500ms改进到40ms。优化包含如下几个方面:减少预测的主体内容类别;图片等比缩小到一定尺寸再进行预测;预测结果只使用主体内容像素点,其他像素点舍弃。
本发明对单张蒙版矢量图形(SVG)进行zlib压缩,并去除掉SVG里相同的字符串:<?xml version="1.0"standalone="no"?>
<!DOCTYPE svg PUBLIC"-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">。
多张蒙版矢量图形按照私有二进制协议拼接成一个蒙版文件,防止蒙版文件外泄,保护数据的安全性,并上传到CDN服务器上,加快蒙版文件的存储和访问。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种蒙版图片的生成方法,在计算设备中执行,所述方法包括:
获取目标视频的弹幕统计数据;
至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片;
在确定需要为所述目标视频生成蒙版图片时,获取所述目标视频的主体内容类别;以及
基于所述主体内容类别对所述目标视频进行处理,生成所述目标视频的蒙版图片。
2.如权利要求1所述的方法,其中,所述弹幕统计数据包括所述目标视频的单位时长的弹幕数量,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:
在单位时长的弹幕数量大于第一阈值时,确定需要为所述目标视频生成蒙版图片。
3.如权利要求1所述的方法,其中,所述弹幕统计数据包括所述目标视频的每个预定时长的视频片段的弹幕数量,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:
获取弹幕数量大于第二阈值的视频片段的第一数量,以及弹幕数量不大于第二阈值的视频片段的第二数量;
在第一数量与第二数量之比大于第三阈值时,确定需要为所述目标视频生成蒙版图片。
4.如权利要求1至3中任一项所述的方法,其中,所述至少基于所述弹幕统计数据判断是否需要为所述目标视频生成蒙版图片,包括:
获取所述目标视频的视频热度;
当所述视频热度大于第四阈值,并且,基于所述弹幕统计数据确定需要为所述目标视频生成蒙版图片时,确定需要为所述目标视频生成蒙版图片。
5.如权利要求4所述的方法,其中,视频热度包括目标视频的观看量、点赞量和评论量中的一个或多个。
6.如权利要求1至5中任一项所述的方法,其中,所述基于所述主体内容类别对所述目标视频进行处理,生成所述目标视频的蒙版图片,包括:
从所述目标视频解析出视频帧;
对解析出的每个视频帧,对该视频帧进行实例分割,以获取所述主体内容类别对应的主体内容在所述视频帧中的位置;
将主体内容在视频帧的位置处的像素点的alpha通道设置为透明,其他位置的像素点坐标设置为不透明,得到目标视频中该视频帧的蒙版图片。
7.如权利要求6所述的方法,还包括:
在对视频帧进行实例分割前,对该视频帧进行缩小处理。
8.如权利要求1至7中任一项所述的方法,其中,所述获取所述目标视频的主体内容类别,包括:
获取所述目标视频的视频主题;
基于所述目标视频的视频主题确定所述目标视频的主体内容类别。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111199656.7A CN113949922A (zh) | 2021-10-14 | 2021-10-14 | 一种蒙版图片的生成方法、计算设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111199656.7A CN113949922A (zh) | 2021-10-14 | 2021-10-14 | 一种蒙版图片的生成方法、计算设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113949922A true CN113949922A (zh) | 2022-01-18 |
Family
ID=79329920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111199656.7A Pending CN113949922A (zh) | 2021-10-14 | 2021-10-14 | 一种蒙版图片的生成方法、计算设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113949922A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108124185A (zh) * | 2016-11-28 | 2018-06-05 | 广州华多网络科技有限公司 | 一种弹幕显示方法、装置及终端 |
CN109120984A (zh) * | 2018-09-30 | 2019-01-01 | 重庆小雨点小额贷款有限公司 | 弹幕显示方法、装置、终端及服务器 |
CN109218800A (zh) * | 2018-06-29 | 2019-01-15 | 努比亚技术有限公司 | 一种弹幕信息显示方法、终端及计算机可读存储介质 |
CN109862414A (zh) * | 2019-03-22 | 2019-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种蒙版弹幕显示方法、装置及服务器 |
CN111954060A (zh) * | 2019-05-17 | 2020-11-17 | 上海哔哩哔哩科技有限公司 | 弹幕蒙版的渲染方法、计算机设备及可读存储介质 |
CN112492323A (zh) * | 2019-09-12 | 2021-03-12 | 上海哔哩哔哩科技有限公司 | 直播蒙版的生成方法、可读存储介质及计算机设备 |
CN112637670A (zh) * | 2020-12-15 | 2021-04-09 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
CN113225606A (zh) * | 2021-04-30 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 视频弹幕处理方法及装置 |
-
2021
- 2021-10-14 CN CN202111199656.7A patent/CN113949922A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108124185A (zh) * | 2016-11-28 | 2018-06-05 | 广州华多网络科技有限公司 | 一种弹幕显示方法、装置及终端 |
CN109218800A (zh) * | 2018-06-29 | 2019-01-15 | 努比亚技术有限公司 | 一种弹幕信息显示方法、终端及计算机可读存储介质 |
CN109120984A (zh) * | 2018-09-30 | 2019-01-01 | 重庆小雨点小额贷款有限公司 | 弹幕显示方法、装置、终端及服务器 |
CN109862414A (zh) * | 2019-03-22 | 2019-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种蒙版弹幕显示方法、装置及服务器 |
CN111954060A (zh) * | 2019-05-17 | 2020-11-17 | 上海哔哩哔哩科技有限公司 | 弹幕蒙版的渲染方法、计算机设备及可读存储介质 |
CN112492323A (zh) * | 2019-09-12 | 2021-03-12 | 上海哔哩哔哩科技有限公司 | 直播蒙版的生成方法、可读存储介质及计算机设备 |
CN112637670A (zh) * | 2020-12-15 | 2021-04-09 | 上海哔哩哔哩科技有限公司 | 视频生成方法及装置 |
CN113225606A (zh) * | 2021-04-30 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 视频弹幕处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12003743B2 (en) | Video stream decoding method and apparatus, terminal device, and storage medium | |
US20180270496A1 (en) | Composite video streaming using stateless compression | |
KR20210129583A (ko) | 미디어 재생 디바이스에서의 콘텐츠 필터링 | |
JP2009518103A (ja) | ユーザがモバイル機器によって大画面ゲームをプレイできるようにするための方法およびシステム | |
US11792245B2 (en) | Network resource oriented data communication | |
CN113225585B (zh) | 一种视频清晰度的切换方法、装置、电子设备以及存储介质 | |
CN114679607B (zh) | 一种视频帧率控制方法、装置、电子设备及存储介质 | |
CN111432142B (zh) | 视频合成方法、装置、设备及存储介质 | |
WO2023040825A1 (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
KR20220068880A (ko) | 인공지능 모델을 이용한 동영상 인코딩 최적화 방법, 시스템, 및 컴퓨터 프로그램 | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
CN116095336A (zh) | 用于转码视频的方法、设备和计算机可读介质 | |
CN110858388B (zh) | 一种增强视频画质的方法和装置 | |
CN112954452B (zh) | 视频生成方法、装置、终端及存储介质 | |
CN113949922A (zh) | 一种蒙版图片的生成方法、计算设备以及存储介质 | |
CN116170636A (zh) | 直播视频播放方法及其装置、设备、介质 | |
CN116939233A (zh) | 直播视频处理方法、装置、设备、存储介质及计算机程序 | |
CN114217758A (zh) | 图像显示方法、装置、电子设备及计算机可读存储介质 | |
CN112612435A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN113645486A (zh) | 视频数据的处理方法、装置、计算机设备和存储介质 | |
CN109905766A (zh) | 一种动态视频海报生成方法、系统、装置及存储介质 | |
CN116996695B (zh) | 一种全景图像压缩方法、装置、设备及介质 | |
KR20180074964A (ko) | 원격 디스플레이의 체감 품질을 향상하는 영상 처리 장치 및 방법 | |
Fang et al. | Design of Tile-Based VR Transcoding and Transmission System for Metaverse | |
US20240121287A1 (en) | Extended w3c media extensions for processing dash and cmaf inband events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220118 |
|
RJ01 | Rejection of invention patent application after publication |