CN107750007A - 一种视频弹幕的处理方法及装置 - Google Patents

一种视频弹幕的处理方法及装置 Download PDF

Info

Publication number
CN107750007A
CN107750007A CN201711272919.6A CN201711272919A CN107750007A CN 107750007 A CN107750007 A CN 107750007A CN 201711272919 A CN201711272919 A CN 201711272919A CN 107750007 A CN107750007 A CN 107750007A
Authority
CN
China
Prior art keywords
barrage
target video
target
information
video
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
Application number
CN201711272919.6A
Other languages
English (en)
Inventor
钱旭升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201711272919.6A priority Critical patent/CN107750007A/zh
Publication of CN107750007A publication Critical patent/CN107750007A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频弹幕的处理方法及装置,所述方法包括:在目标视频播放时,获取用户对所述目标视频输入的弹幕信息;基于所述弹幕信息,生成弹幕对象;将所述弹幕对象保存到预设的缓存池中,并运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。本申请通过在用户对目标视频输入弹幕信息后,在运行弹幕信息生成的弹幕对象,从而在目标视频的显示屏幕上显示相应的弹幕信息的同时,将弹幕对象保存到缓存池中,从而在后续每次刷新弹幕时,不需要多次绘制弹幕对象,而是从缓存池中获取相应的弹幕对象进行弹幕绘制,减少对CPU资源的占用量,从而节省CPU资源消耗,改善用户对弹幕的使用体验。

Description

一种视频弹幕的处理方法及装置
技术领域
本申请涉及视频处理技术领域,特别涉及一种视频弹幕的处理方法及装置。
背景技术
弹幕视频是一种新型的交互式视频,深受年轻人的喜爱,观众可以在观看视频过程中发表评论,与其他观众通过弹幕评论进行交流互动,体验一种全新的部落化观影模式。
目前常用的视频弹幕的处理方案为:在视频上放置一个弹幕层,然后通过一个线程,定时通知主线线程刷新弹幕。具体为:用一个handler定时发出弹幕刷新通知,主线程收到通知后,通过一系列计算得到当前应当展示的弹幕及位置,然后通知弹幕层刷新,最终绘制弹幕时,使用canvas对象,先通过canvas.drawrect方法,清除之前的图像,然后调用canvas.drawtext方法绘制文字,canvas.drawbitmap()绘制图片弹幕,并调用canvas的其他方法实现文字描边、阴影、背景等特殊效果。
但是以上弹幕处理方案中,每次刷新弹幕时,对用户输入的弹幕信息如文字等都需要调用最底层的方法绘制每一条弹幕,并且每条弹幕的每个元素,从背景、描边到文案、图片,都需要绘制。而目前实现这些绘制不仅效率一般,而且随着弹幕数量的增加和图片弹幕的增加,弹幕绘制所消耗的CPU时间会越来越高,弹幕绘制所占用的CPU往往会占据整体CPU耗费的40%甚至更多,从而直接影响弹幕的使用体验,还可能会影响用户对视频本身的观看效果。
发明内容
本申请的目的是提供一种的视频弹幕的处理方法及装置,用以解决现有技术中弹幕绘制占用的CPU资源较多,影响弹幕的使用体验的技术问题。
本申请提供了一种视频弹幕的处理方法,包括:
在目标视频播放时,获取用户对所述目标视频输入的弹幕信息;
基于所述弹幕信息,生成弹幕对象;
将所述弹幕对象保存到预设的缓存池中,并运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。
上述方法,优选地,基于所述弹幕信息,生成弹幕对象,包括:
获取所述弹幕信息的输入位置;
将所述弹幕信息的信息内容及所述输入位置保存到预先创建的弹幕对象中,得到所述弹幕信息对应的弹幕对象。
上述方法,优选地,还包括:
接收视频启动指令,所述视频启动指令用于播放所述目标视频;
加载所述目标视频的弹幕对象到所述缓存池中;
在所述目标视频的播放过程中,从所述缓存池中获取所述目标视频对应的目标弹幕对象,并运行所述目标弹幕对象以在所述目标视频的显示屏幕上绘制出所述目标弹幕对象对应的弹幕信息。
上述方法,优选地,从所述缓存池中获取所述目标视频对应的目标弹幕对象,包括:
获取所述目标视频的当前播放时刻点;
从所述缓存池中获取与所述当前播放时刻点相关联的目标弹幕对象。
上述方法,优选地,所述运行所述目标弹幕对象,包括:
获取所述目标弹幕对象中的目标时刻点;
基于所述目标时刻点,确定所述目标视频的显示屏幕上的显示位置;
在所述目标视频播放到所述目标时刻点时,在所述显示位置上绘制出所述目标弹幕对象对应的弹幕信息。
上述方法,优选地,所述方法还包括:
在所述目标视频被加载时,获取所述目标视频预设时刻点对应的弹幕对象,并运行所述预设时刻点对应的弹幕对象,以将其对应的弹幕信息绘制到隐藏画布对象中;
在所述目标视频被播放时,运行所述隐藏画布对象,以使得在所述目标视频被播放到所述预设时刻点时,在所述目标视频的显示屏幕上显示所述预设时刻点对应的弹幕对象的弹幕信息。
上述方法,优选地,还包括:
删除所述缓存池中已经运行结束的弹幕对象。
上述方法,优选地,所述删除所述缓存池中已经运行结束的弹幕对象,包括:
在所述缓存池中的容量超过预设的第一阈值时,删除所述缓存池中已经运行结束的弹幕对象。
上述方法,优选地,所述删除所述缓存池中已经运行结束的弹幕对象,包括:
删除所述缓存池中运行结束后的时间长超过预设的第二阈值的弹幕对象。
本申请还提供了一种视频弹幕的处理装置,包括:
弹幕接收单元,用于在目标视频播放时,获得用户对所述目标视频输入的弹幕信息;
对象生成单元,用于基于所述弹幕信息,生成弹幕对象;
弹幕保存单元,用于将所述弹幕对象保存到预设的缓存池中;
弹幕绘制单元,用于运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。
上述装置,优选地,所述对象生成单元包括:
位置获取子单元,用于获取所述弹幕信息的输入位置;
参数保存子单元,用于将所述弹幕信息的信息内容及所述输入位置保存到预先创建的弹幕对象中,得到所述弹幕信息对应的弹幕对象。
上述装置,优选地,还包括:
指令接收单元,用于接收视频启动指令,所述视频启动指令用于播放目标视频;
对象缓存单元,用于加载所述目标视频的弹幕对象到预设的缓存池中;
缓存获取单元,用于在所述目标视频的播放过程中,从所述缓存池中获取所述目标视频对应的目标弹幕对象;
对象运行单元,用于运行所述目标弹幕对象以在所述目标视频的显示屏幕上绘制出所述目标弹幕对象对应的弹幕信息。
上述装置,优选地,所述缓存获取单元具体用于:获取所述目标视频的当前播放时刻点,从所述缓存池中获取与所述当前播放时刻点相关联的目标弹幕对象。
上述装置,优选地,所述对象运行单元具体用于:获取所述目标弹幕对象中的目标时刻点,并基于所述目标时刻点,确定所述目标视频的显示屏幕上的显示位置,在所述目标视频播放到所述目标时刻点时,在所述显示位置上绘制出所述目标弹幕对象对应的弹幕信息。
上述装置,优选地,还包括:
预加载单元,用于在所述目标视频被加载时,获取所述目标视频预设时刻点对应的弹幕对象,并运行所述预设时刻点对应的弹幕对象,以将其对应的弹幕信息绘制到隐藏画布对象中,在所述目标视频被播放时,运行所述隐藏画布对象,以使得在所述目标视频被播放到所述预设时刻点时,在所述目标视频的显示屏幕上显示所述预设时刻点对应的弹幕对象的弹幕信息。
上述装置,优选地,还包括:
对象删除单元,用于删除所述缓存池中已经运行结束的弹幕对象。
上述装置,优选地,所述对象删除单元具体用于:在所述缓存池中的容量超过预设的第一阈值时,删除所述缓存池中已经运行结束的弹幕对象。
上述装置,优选地,所述对象删除单元具体用于:删除所述缓存池中运行结束后的时间长超过预设的第二阈值的弹幕对象。由上述方案可知,本申请提供的一种视频弹幕的处理方法及装置,通过在用户对目标视频输入弹幕信息后,在运行弹幕信息生成的弹幕对象,从而在目标视频的显示屏幕上显示相应的弹幕信息的同时,将弹幕对象保存到缓存池中,从而在后续每次刷新弹幕时,不需要多次绘制弹幕对象,而是从缓存池中获取相应的弹幕对象进行弹幕绘制,减少对CPU资源的占用量,从而节省CPU资源消耗,改善用户对弹幕的使用体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种视频弹幕的处理方法的流程图;
图2~图4分别为本申请实施例一的部分流程图;
图5为本申请实施例二提供的一种视频弹幕的处理装置的结构示意图;
图6为本申请实施例二的部分结构示意图;
图7~图9分别为本申请实施例二的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种视频弹幕的处理方法的实现流程图,本实施例中的方法适用于能够播放视频文件的终端上,如手机、pad、电脑等,该终端上安装有播放应用,如视频播放器等,该播放应用可以运行视频文件,从而将视频显示在终端的显示屏幕上。
在本实施例中,该方法可以包括以下步骤:
步骤101:在目标视频播放时,获取用户对目标视频输入的弹幕信息。
其中,所述目标视频即为终端上视频播放器当前播放的视频文件,如电视剧或电影等。用户在通过终端观看目标视频时,可以通过视频播放器上的弹幕输入框输入弹幕信息,弹幕信息中可以包含对电视剧人物或剧情的观看体验或对演员的评价信息等信息内容,另外,除了包含信息内容之外,弹幕信息还可以包含内容本身的字体颜色、描边、弹幕背景、图片和文案的组合等信息。
步骤102:基于弹幕信息,生成弹幕对象。
其中,该弹幕对象可以为bitmap对象,在一种实现方式中,本实施例中可以通过以下步骤实现弹幕对象的生成,如图2中所示:
步骤201:获取弹幕信息的输入位置。
其中,输入位置包括用户输入该弹幕信息时目标视频的当前播放位置,可以用播放时刻点来表示。
步骤202:将弹幕信息的信息内容及输入位置保存到预先创建的弹幕对象中,得到弹幕信息对应的弹幕对象。
其中,弹幕信息的信息内容可以包含有用户输入的字符等内容,如“好看”或“点赞演技”等评论内容。
以终端为设置有Android操作系统的终端为例,本实施例中可以调用NativeBitmapFactory.createBitmap(averageWidth,averageHeight,Bitmap.Config.ARGB_8888)方法预先创建一个bitmap对象,在获取到该弹幕信息的输入位置之后,使用该输入位置为参数,调用android.graphics.Canvas对象的drawBitmap方法,将弹幕信息的信息内容保存到之前创建的bitmap对象中。
步骤103:将弹幕对象保存到预设的缓存池中。
其中,缓存池可以为视频播放器中或者终端中预先为目标视频建立的缓存池,该缓存池可以在视频播放器加载目标视频时被创建。另外,在创建好缓存池后,可以将目标视频以前生成的弹幕对象下载到缓存池中,以备后续刷新弹幕时使用。
步骤104:运行弹幕对象,以在目标视频的显示屏幕上绘制出弹幕信息。
其中,步骤104与步骤103可以同时被执行。
具体的,本实施例在将弹幕对象的弹幕信息绘制到目标视频的显示屏幕上时,可以基于用户输入该弹幕信息时目标视频的当前播放时刻点来确定该弹幕信息在显示屏幕上的显示位置,从而在目标视频播放到该当前播放时刻点的时候,在确定的显示位置上绘制出该弹幕信息。例如,在Android终端上本实施例可以调用android.graphics.Canvas对象的drawBitmap方法将弹幕对象对应的弹幕信息绘制到目标视频的显示屏幕上与弹幕对象中输入位置参数的相应位置上。
例如,本实施例中可以调用android.graphics.Canvas对象的drawText方法或者drawBitmap方法运行生成的弹幕对象,由此,将弹幕对象中的弹幕信息绘制到目标视频的显示屏幕上的相应位置上。
在实际使用中,以上实现方案为用户在目标视频在播放过程中进行弹幕输入的弹幕绘制方案,即本实施例中在目标视频处于播放过程中时,通过将用户输入的弹幕信息生成相应的弹幕对象并保存到缓存池中,在多次弹幕刷新中,如持续10秒的每秒60次刷新弹幕的刷新方案中,只需要从缓存池中根据弹幕对象的标识,如显示时间或位置等,再次获取该弹幕对象进行弹幕信息的绘制,而不需要多次调用底层算法对弹幕对象进行多次生成,从而降低弹幕刷新对CPU资源的消耗,改善用户对弹幕的使用体验。
而在目标视频在下一次被用户打开准备在视频播放器上进行播放时,本实施例可以通过以下步骤实现弹幕的绘制,如图3中所示:
步骤301:接收视频启动指令。
其中,该视频启动指令用于播放目标视频,例如,用户选中目标视频的视频文件,并选择使用视频播放器播放目标视频,终端基于用户的选中操作生产视频启动指令。
步骤302:加载目标视频的弹幕对象到缓存池中。
其中,本实施例中加载目标视频的弹幕对象到缓存池中,可以是在目标视频被选中并在视频播放器上进行加载时进行,也可以是在目标视频被加载完成并开始播放后进行。
步骤303:在目标视频的播放过程中,从缓存池中获取目标视频对应的目标弹幕对象。
其中,本实施例中可以通过获取目标视频的当前播放时刻点,该当前播放时刻点作为弹幕标识,从缓存池中获取与当前播放时刻点相关联的目标弹幕对象。
步骤304:运行目标弹幕对象以在目标视频的显示屏幕上绘制出面板弹幕对象对应的弹幕信息。
其中,本实施例中可以通过获取目标弹幕对象中的目标时刻点来确定目标视频的显示屏幕上的显示位置,从而在目标视频播放到目标时刻点时,在该显示位置上绘制出目标弹幕对象对应的弹幕信息。
例如,每当目标视频播放到一个时刻点时,如第5秒或者第10秒时,可以根据这一时刻点查询缓存池中有没有对应的弹幕对象,如bitmap对象,如果有,那么从缓存池中获取该弹幕对象,接着调用Android.graphics.canvas对象的drawbitmap方法运行该弹幕对象,将相应弹幕信息中的信息内容绘制到目标视频的显示屏幕上。其中,在绘制时,根据弹幕信息中的输入位置来确定在显示屏幕上的显示位置,从而实现弹幕刷新,例如,某条弹幕在目标视频上的播放时刻点为第m秒,并且该弹幕在显示屏幕上展示7秒,那么在任意时刻t,该弹幕的右侧端点在显示屏幕上的水平位置为:(t-m)/7*(widthscreen+widthdanmu),其中,widthscreen为屏幕宽度,屏幕从左至右的水平坐标为0到widthscreen,widthdanmu为弹幕宽度,也就是说,在m时刻点之前,弹幕右侧端点水平位置小于0,即弹幕还未开始显示,在m+7时刻点之后,弹幕左侧端点水平位置大于widthscreen,即弹幕已经展示完毕,飞出显示屏幕,而在m时刻点,到m+7时刻点之间,弹幕按照比例匀速在显示屏幕上展示。
为了进一步加快视频文件开始播放时弹幕的绘制显示,本实施例中通过在目标视频加载时对预设时刻点的弹幕对象进行预绘制,不直接将弹幕绘制到屏幕上,而是绘制到一个隐藏的canvas对象中,然后从这个canvas对象去保存弹幕信息到缓存bitmap对象中。具体的,如图4中所示:
步骤401:在目标视频被加载时,获取目标视频预设时刻点对应的弹幕对象,并运行该预设时刻点对应的弹幕对象,以将对应的弹幕信息绘制到隐藏画布对象中。
其中,预设时刻点可以为目标视频第1秒到第3秒之间的时刻点集合,在目标视频开始播放时,可能会因为视频本身加载占用资源的原因,导致刚开始的前几秒视频的弹幕刷新较慢,或者显示延迟,因此,本实施例中在目标视频被加载而没有开始播放时,就将前3秒或者前5秒的弹幕对象预先加载并绘制到隐藏画布对象中,如隐藏的canvas对象。
步骤402:在目标视频被播放时,运行隐藏画布对象,以使得在目标视频被播放到预设时刻点时,在目标视频的显示屏幕上显示预设时刻点对应的弹幕对象的弹幕信息。
其中,本实施例中绘制隐藏画布对象的过程,与首次绘制弹幕的方案类似,如图1中所示,只是不会将弹幕绘制到屏幕上,而是首先绘制到一个隐藏的canvas对象中,然后从这个隐藏画布对象去保存弹幕到缓存bitmap对象中,在目标视频开始播放时,根据播放的时刻点运行相应的隐藏画布对象,实现弹幕的预加载,加快弹幕显示速率。
另外,本实施例在目标视频的播放过程中,可以通过对缓存池进行清理,来降低对终端CPU资源的占用量,如删除缓存池中已经运行结束的弹幕对象。
具体的,本实施例中,可以在缓存池中的容量超过预设的第一阈值时,如超过缓存池总容量的70%时,删除缓存池中已经运行结束的弹幕对象。
进一步的,本实施例中在删除缓存池中已经运行结束的弹幕对象时,可以删除缓存池中已经运行结束的时间长超过预设的第二阈值的弹幕对象,如将已经运行结束超过20秒或者10分钟的弹幕对象进行删除,从而节省终端CPU资源占用率。
由上述方案可知,本申请实施例一提供的一种视频弹幕的处理方法,通过在用户对目标视频输入弹幕信息后,在运行弹幕信息生成的弹幕对象,从而在目标视频的显示屏幕上显示相应的弹幕信息的同时,将弹幕对象保存到缓存池中,从而在后续每次刷新弹幕时,不需要多次绘制弹幕对象,而是从缓存池中获取相应的弹幕对象进行弹幕绘制,减少对CPU资源的占用量,从而节省CPU资源消耗,改善用户对弹幕的使用体验。
参考图5,为本申请实施例二提供的一种视频弹幕的处理装置的结构示意图,本实施例中的装置适用于能够播放视频文件的终端上,如手机、pad、电脑等,该终端上安装有播放应用,如视频播放器等,该播放应用可以运行视频文件,从而将视频显示在终端的显示屏幕上。
在本实施例中,该装置可以包括以下结构:
弹幕接收单元501,用于在目标视频播放时,获得用户对所述目标视频输入的弹幕信息。
其中,所述目标视频即为终端上视频播放器当前播放的视频文件,如电视剧或电影等。用户在通过终端观看目标视频时,可以通过视频播放器上的弹幕输入框输入弹幕信息,弹幕信息中可以包含对电视剧人物或剧情的观看体验或对演员的评价信息等信息内容,另外,除了包含信息内容之外,弹幕信息还可以包含内容本身的字体颜色、描边、弹幕背景、图片和文案的组合等信息。
对象生成单元502,用于基于所述弹幕信息,生成弹幕对象。
其中,该弹幕对象可以为bitmap对象,在一种实现方式中,本实施例中可以通过以下结构实现对象生成单元502的功能,如图6中所示:
位置获取子单元601,用于获取所述弹幕信息的输入位置。
其中,输入位置包括用户输入该弹幕信息时目标视频的当前播放位置,可以用播放时刻点来表示。
参数保存子单元602,用于将所述弹幕信息的信息内容及所述输入位置保存到预先创建的弹幕对象中,得到所述弹幕信息对应的弹幕对象。
其中,弹幕信息的信息内容可以包含有用户输入的字符等内容,如“好看”或“点赞演技”等评论内容。
以终端为设置有Android操作系统的终端为例,本实施例中对象生成单元502可以调用NativeBitmapFactory.createBitmap(averageWidth,averageHeight,Bitmap.Config.ARGB_8888)方法预先创建一个bitmap对象,在获取到该弹幕信息的输入位置之后,使用该输入位置为参数,调用android.graphics.Canvas对象的drawBitmap方法,将弹幕信息的信息内容保存到之前创建的bitmap对象中。
弹幕保存单元503,用于将所述弹幕对象保存到预设的缓存池中。
其中,缓存池可以为视频播放器中或者终端中预先为目标视频建立的缓存池,该缓存池可以在视频播放器加载目标视频时被创建。另外,在创建好缓存池后,可以将目标视频以前生成的弹幕对象下载到缓存池中,以备后续刷新弹幕时使用。
弹幕绘制单元504,用于运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。
其中,弹幕保存单元503与弹幕绘制单元504可以同时被触发运行。
具体的,本实施例中,弹幕绘制单元504在将弹幕对象的弹幕信息绘制到目标视频的显示屏幕上时,可以基于用户输入该弹幕信息时目标视频的当前播放时刻点来确定该弹幕信息在显示屏幕上的显示位置,从而在目标视频播放到该当前播放时刻点的时候,在确定的显示位置上绘制出该弹幕信息。例如,在Android终端上本实施例可以调用android.graphics.Canvas对象的drawBitmap方法将弹幕对象对应的弹幕信息绘制到目标视频的显示屏幕上与弹幕对象中输入位置参数的相应位置上。
例如,弹幕绘制单元504可以调用android.graphics.Canvas对象的drawText方法或者drawBitmap方法运行生成的弹幕对象,由此,将弹幕对象中的弹幕信息绘制到目标视频的显示屏幕上的相应位置上。
在实际使用中,以上实现方案为用户在目标视频在播放过程中进行弹幕输入的弹幕绘制方案,即本实施例中在目标视频处于播放过程中时,通过将用户输入的弹幕信息生成相应的弹幕对象并保存到缓存池中,在多次弹幕刷新中,如持续10秒的每秒60次刷新弹幕的刷新方案中,只需要从缓存池中根据弹幕对象的标识,如显示时间或位置等,再次获取该弹幕对象进行弹幕信息的绘制,而不需要多次调用底层算法对弹幕对象进行多次生成,从而降低弹幕刷新对CPU资源的消耗,改善用户对弹幕的使用体验。
而目标视频在下一次被用户打开准备在视频播放器上进行播放时,本实施例可以通过以下结构实现弹幕的绘制,如图7中所示,该装置还可以包括:
指令接收单元505,用于接收视频启动指令。
其中,该视频启动指令用于播放目标视频,例如,用户选中目标视频的视频文件,并选择使用视频播放器播放目标视频,终端基于用户的选中操作生产视频启动指令。
对象缓存单元506,用于加载所述目标视频的弹幕对象到预设的缓存池中。
其中,本实施例中加载目标视频的弹幕对象到缓存池中,可以是在目标视频被选中并在视频播放器上进行加载时进行,也可以是在目标视频被加载完成并开始播放后进行。
缓存获取单元507,用于在所述目标视频的播放过程中,从所述缓存池中获取所述目标视频对应的目标弹幕对象。
其中,本实施例中缓存获取单元507可以通过获取目标视频的当前播放时刻点,该当前播放时刻点作为弹幕标识,从缓存池中获取与当前播放时刻点相关联的目标弹幕对象。
对象运行单元508,用于运行所述目标弹幕对象以在所述目标视频的显示屏幕上绘制出所述目标弹幕对象对应的弹幕信息。
其中,本实施例中,对象运行单元508可以通过获取目标弹幕对象中的目标时刻点,并基于该目标时刻点来确定目标视频的显示屏幕上的显示位置,从而在目标视频播放到目标时刻点时,在该显示位置上绘制出目标弹幕对象对应的弹幕信息。
例如,每当目标视频播放到一个时刻点时,如第5秒或者第10秒时,可以根据这一时刻点查询缓存池中有没有对应的弹幕对象,如bitmap对象,如果有,那么从缓存池中获取该弹幕对象,接着调用Android.graphics.canvas对象的drawbitmap方法运行该弹幕对象,将相应弹幕信息中的信息内容绘制到目标视频的显示屏幕上。其中,在绘制时,根据弹幕信息中的输入位置来确定在显示屏幕上的显示位置,从而实现弹幕刷新,例如,某条弹幕在目标视频上的播放时刻点为第m秒,并且该弹幕在显示屏幕上展示7秒,那么在任意时刻t,该弹幕的右侧端点在显示屏幕上的水平位置为:(t-m)/7*(widthscreen+widthdanmu),其中,widthscreen为屏幕宽度,屏幕从左至右的水平坐标为0到widthscreen,widthdanmu为弹幕宽度,也就是说,在m时刻点之前,弹幕右侧端点水平位置小于0,即弹幕还未开始显示,在m+7时刻点之后,弹幕左侧端点水平位置大于widthscreen,即弹幕已经展示完毕,飞出显示屏幕,而在m时刻点,到m+7时刻点之间,弹幕按照比例匀速在显示屏幕上展示。
为了进一步加快视频文件开始播放时弹幕的绘制显示,本实施例中可以通过在目标视频加载时对预设时刻点的弹幕对象进行预绘制,不直接将弹幕绘制到屏幕上,而是绘制到一个隐藏的canvas对象中,然后从这个canvas对象对保存弹幕信息到缓存bitmap对象中。具体的,如图8中所示,本实施例中的装置还可以包括:
预加载单元509,用于在所述目标视频被加载时,获取所述目标视频预设时刻点对应的弹幕对象,并运行所述预设时刻点对应的弹幕对象,以将其对应的弹幕信息绘制到隐藏画布对象中,在所述目标视频被播放时,运行所述隐藏画布对象,以使得在所述目标视频被播放到所述预设时刻点时,在所述目标视频的显示屏幕上显示所述预设时刻点对应的弹幕对象的弹幕信息。
其中,预设时刻点可以为目标视频第1秒到第3秒之间的时刻点集合,在目标视频开始播放时,可能会因为视频本身加载占用资源的原因,导致刚开始的前几秒视频的弹幕刷新较慢,或者显示延迟,因此,本实施例中在目标视频被加载而没有开始播放时,就将前3秒或者前5秒的弹幕对象预先加载并绘制到隐藏画布对象中,如隐藏的canvas对象。
而本实施例中绘制隐藏画布对象的过程,与首次绘制弹幕的方案类似,如图1中所示,只是不会将弹幕绘制到屏幕上,而是首先绘制到一个隐藏的canvas对象中,然后从这个隐藏画布对象去保存弹幕到缓存bitmap对象中,在目标视频开始播放时,根据播放的时刻点运行相应的隐藏画布对象,实现弹幕的预加载,加快弹幕显示速率。
另外,本实施例在目标视频的播放过程中,可以通过对缓存池进行清理,来降低对终端CPU资源的占用量,如删除缓存池中已经运行结束的弹幕对象。
具体的,如图9中所示,本实施例中的装置还可以包括以下结构:
对象删除单元510,用于删除所述缓存池中已经运行结束的弹幕对象。
具体的,对象删除单元510可以在缓存池中的容量超过预设的第一阈值时,如超过缓存池总容量的70%时,删除缓存池中已经运行结束的弹幕对象。
进一步的,对象删除单元510在删除缓存池中已经运行结束的弹幕对象时,可以删除缓存池中已经运行结束的时间长超过预设的第二阈值的弹幕对象,如将已经运行结束超过20秒或者10分钟的弹幕对象进行删除,从而节省终端CPU资源占用率。
由上述方案可知,本申请实施例二提供的一种视频弹幕的处理装置,通过在用户对目标视频输入弹幕信息后,在运行弹幕信息生成的弹幕对象,从而在目标视频的显示屏幕上显示相应的弹幕信息的同时,将弹幕对象保存到缓存池中,从而在后续每次刷新弹幕时,不需要多次绘制弹幕对象,而是从缓存池中获取相应的弹幕对象进行弹幕绘制,减少对CPU资源的占用量,从而节省CPU资源消耗,改善用户对弹幕的使用体验。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种视频弹幕的处理方法,其特征在于,包括:
在目标视频播放时,获取用户对所述目标视频输入的弹幕信息;
基于所述弹幕信息,生成弹幕对象;
将所述弹幕对象保存到预设的缓存池中,并运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。
2.根据权利要求1所述的方法,其特征在于,基于所述弹幕信息,生成弹幕对象,包括:
获取所述弹幕信息的输入位置;
将所述弹幕信息的信息内容及所述输入位置保存到预先创建的弹幕对象中,得到所述弹幕信息对应的弹幕对象。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
接收视频启动指令,所述视频启动指令用于播放所述目标视频;
加载所述目标视频的弹幕对象到所述缓存池中;
在所述目标视频的播放过程中,从所述缓存池中获取所述目标视频对应的目标弹幕对象,并运行所述目标弹幕对象以在所述目标视频的显示屏幕上绘制出所述目标弹幕对象对应的弹幕信息。
4.根据权利要求3所述的方法,其特征在于,从所述缓存池中获取所述目标视频对应的目标弹幕对象,包括:
获取所述目标视频的当前播放时刻点;
从所述缓存池中获取与所述当前播放时刻点相关联的目标弹幕对象。
5.根据权利要求3所述的方法,其特征在于,所述运行所述目标弹幕对象,包括:
获取所述目标弹幕对象中的目标时刻点;
基于所述目标时刻点,确定所述目标视频的显示屏幕上的显示位置;
在所述目标视频播放到所述目标时刻点时,在所述显示位置上绘制出所述目标弹幕对象对应的弹幕信息。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述目标视频被加载时,获取所述目标视频预设时刻点对应的弹幕对象,并运行所述预设时刻点对应的弹幕对象,以将其对应的弹幕信息绘制到隐藏画布对象中;
在所述目标视频被播放时,运行所述隐藏画布对象,以使得在所述目标视频被播放到所述预设时刻点时,在所述目标视频的显示屏幕上显示所述预设时刻点对应的弹幕对象的弹幕信息。
7.根据权利要求1所述的方法,其特征在于,还包括:
删除所述缓存池中已经运行结束的弹幕对象。
8.根据权利要求7所述的方法,其特征在于,所述删除所述缓存池中已经运行结束的弹幕对象,包括:
在所述缓存池中的容量超过预设的第一阈值时,删除所述缓存池中已经运行结束的弹幕对象。
9.根据权利要求7或8所述的方法,其特征在于,所述删除所述缓存池中已经运行结束的弹幕对象,包括:
删除所述缓存池中运行结束后的时间长超过预设的第二阈值的弹幕对象。
10.一种视频弹幕的处理装置,其特征在于,包括:
弹幕接收单元,用于在目标视频播放时,获得用户对所述目标视频输入的弹幕信息;
对象生成单元,用于基于所述弹幕信息,生成弹幕对象;
弹幕保存单元,用于将所述弹幕对象保存到预设的缓存池中;
弹幕绘制单元,用于运行所述弹幕对象以在所述目标视频的显示屏幕上绘制出所述弹幕信息。
11.根据权利要求10所述的装置,其特征在于,所述对象生成单元包括:
位置获取子单元,用于获取所述弹幕信息的输入位置;
参数保存子单元,用于将所述弹幕信息的信息内容及所述输入位置保存到预先创建的弹幕对象中,得到所述弹幕信息对应的弹幕对象。
12.根据权利要求10或11所述的装置,其特征在于,还包括:
指令接收单元,用于接收视频启动指令,所述视频启动指令用于播放目标视频;
对象缓存单元,用于加载所述目标视频的弹幕对象到预设的缓存池中;
缓存获取单元,用于在所述目标视频的播放过程中,从所述缓存池中获取所述目标视频对应的目标弹幕对象;
对象运行单元,用于运行所述目标弹幕对象以在所述目标视频的显示屏幕上绘制出所述目标弹幕对象对应的弹幕信息。
13.根据权利要求12所述的装置,其特征在于,所述缓存获取单元具体用于:获取所述目标视频的当前播放时刻点,从所述缓存池中获取与所述当前播放时刻点相关联的目标弹幕对象。
14.根据权利要求12所述的装置,其特征在于,所述对象运行单元具体用于:获取所述目标弹幕对象中的目标时刻点,并基于所述目标时刻点,确定所述目标视频的显示屏幕上的显示位置,在所述目标视频播放到所述目标时刻点时,在所述显示位置上绘制出所述目标弹幕对象对应的弹幕信息。
15.根据权利要求12所述的装置,其特征在于,还包括:
预加载单元,用于在所述目标视频被加载时,获取所述目标视频预设时刻点对应的弹幕对象,并运行所述预设时刻点对应的弹幕对象,以将其对应的弹幕信息绘制到隐藏画布对象中,在所述目标视频被播放时,运行所述隐藏画布对象,以使得在所述目标视频被播放到所述预设时刻点时,在所述目标视频的显示屏幕上显示所述预设时刻点对应的弹幕对象的弹幕信息。
16.根据权利要求10所述的装置,其特征在于,还包括:
对象删除单元,用于删除所述缓存池中已经运行结束的弹幕对象。
17.根据权利要求16所述的装置,其特征在于,所述对象删除单元具体用于:在所述缓存池中的容量超过预设的第一阈值时,删除所述缓存池中已经运行结束的弹幕对象。
18.根据权利要求16或17所述的装置,其特征在于,所述对象删除单元具体用于:删除所述缓存池中运行结束后的时间长超过预设的第二阈值的弹幕对象。
CN201711272919.6A 2017-12-06 2017-12-06 一种视频弹幕的处理方法及装置 Pending CN107750007A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711272919.6A CN107750007A (zh) 2017-12-06 2017-12-06 一种视频弹幕的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711272919.6A CN107750007A (zh) 2017-12-06 2017-12-06 一种视频弹幕的处理方法及装置

Publications (1)

Publication Number Publication Date
CN107750007A true CN107750007A (zh) 2018-03-02

Family

ID=61250264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711272919.6A Pending CN107750007A (zh) 2017-12-06 2017-12-06 一种视频弹幕的处理方法及装置

Country Status (1)

Country Link
CN (1) CN107750007A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670427A (zh) * 2018-12-07 2019-04-23 腾讯科技(深圳)有限公司 一种图像信息的处理方法、装置及存储介质
CN109803153A (zh) * 2019-01-15 2019-05-24 网宿科技股份有限公司 一种直播视频的白板绘制方法及装置
CN110392293A (zh) * 2019-06-21 2019-10-29 平安普惠企业管理有限公司 基于canvas的弹幕控制方法、装置、设备及存储介质
CN110876086A (zh) * 2018-09-04 2020-03-10 广州虎牙信息科技有限公司 一种弹幕生成调整方法、装置、设备及存储介质
CN111459369A (zh) * 2020-04-13 2020-07-28 深圳康佳电子科技有限公司 一种界面元素的筛选方法、智能终端及存储介质
CN111796825A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 一种弹幕的绘制方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009194518A (ja) * 2008-02-13 2009-08-27 Sony Corp 映像処理装置、及び映像処理方法
CN105307030A (zh) * 2015-09-30 2016-02-03 广州酷狗计算机科技有限公司 弹幕显示方法及装置
CN105979337A (zh) * 2015-12-28 2016-09-28 武汉斗鱼网络科技有限公司 一种弹幕播放装置及方法
CN106303715A (zh) * 2016-08-25 2017-01-04 乐视控股(北京)有限公司 弹幕存储处理方法及装置
CN106454434A (zh) * 2016-11-15 2017-02-22 广州华多网络科技有限公司 一种弹幕播放方法及装置
CN106792225A (zh) * 2016-11-09 2017-05-31 武汉斗鱼网络科技有限公司 前端弹幕控制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009194518A (ja) * 2008-02-13 2009-08-27 Sony Corp 映像処理装置、及び映像処理方法
CN105307030A (zh) * 2015-09-30 2016-02-03 广州酷狗计算机科技有限公司 弹幕显示方法及装置
CN105979337A (zh) * 2015-12-28 2016-09-28 武汉斗鱼网络科技有限公司 一种弹幕播放装置及方法
CN106303715A (zh) * 2016-08-25 2017-01-04 乐视控股(北京)有限公司 弹幕存储处理方法及装置
CN106792225A (zh) * 2016-11-09 2017-05-31 武汉斗鱼网络科技有限公司 前端弹幕控制方法及装置
CN106454434A (zh) * 2016-11-15 2017-02-22 广州华多网络科技有限公司 一种弹幕播放方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110876086A (zh) * 2018-09-04 2020-03-10 广州虎牙信息科技有限公司 一种弹幕生成调整方法、装置、设备及存储介质
CN109670427A (zh) * 2018-12-07 2019-04-23 腾讯科技(深圳)有限公司 一种图像信息的处理方法、装置及存储介质
US11386933B2 (en) 2018-12-07 2022-07-12 Tencent Technology (Shenzhen) Company Limited Image information processing method and apparatus, and storage medium
CN109803153A (zh) * 2019-01-15 2019-05-24 网宿科技股份有限公司 一种直播视频的白板绘制方法及装置
CN109803153B (zh) * 2019-01-15 2021-06-04 网宿科技股份有限公司 一种直播视频的白板绘制方法及装置
CN110392293A (zh) * 2019-06-21 2019-10-29 平安普惠企业管理有限公司 基于canvas的弹幕控制方法、装置、设备及存储介质
CN111459369A (zh) * 2020-04-13 2020-07-28 深圳康佳电子科技有限公司 一种界面元素的筛选方法、智能终端及存储介质
CN111459369B (zh) * 2020-04-13 2021-07-20 深圳康佳电子科技有限公司 一种界面元素的筛选方法、智能终端及存储介质
CN111796825A (zh) * 2020-06-30 2020-10-20 北京字节跳动网络技术有限公司 一种弹幕的绘制方法、装置、设备和存储介质
CN111796825B (zh) * 2020-06-30 2024-02-09 北京字节跳动网络技术有限公司 一种弹幕的绘制方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN107750007A (zh) 一种视频弹幕的处理方法及装置
CN105378661B (zh) 资源包索引
US7898542B1 (en) Creating animation effects
CN111277910B (zh) 弹幕显示方法、装置、电子设备及存储介质
CN109803180A (zh) 视频预览图生成方法、装置、计算机设备及存储介质
CN109636884A (zh) 动画处理方法、装置及设备
CN107124624A (zh) 视频数据生成的方法和装置
CN105912234B (zh) 虚拟场景的交互方法和装置
CN106802803A (zh) 应用数据处理的方法和装置
CN103279496A (zh) 一种终端及关联信息的显示方法
DE202009019145U1 (de) Hardware-beschleunigte Grafiken für Online-Applikationen mithilfe von nativen Code-Modulen
US9396564B2 (en) Atlas generation based on client video configuration
US20230232077A1 (en) Bullet screen play method, related device, and storage medium
CN109725948A (zh) 一种动画资源的配置方法及装置
CN109862293A (zh) 终端喇叭的控制方法、设备及计算机可读存储介质
CN110505498A (zh) 视频的处理、播放方法、装置及计算机可读介质
CN106303669A (zh) 一种视频剪辑方法和装置
WO2022193614A1 (zh) 水波特效生成方法及装置、存储介质、计算机设备
CN109144652A (zh) 一种视图显示方法、装置、电子设备及存储介质
CN104601535B (zh) 视频处理方法和系统
CN109712219A (zh) Unity中粒子特效批量渲染方法、装置、电子设备及存储介质
CN107748688A (zh) 一种信息展示方法及装置
WO2015180448A1 (zh) 移动终端播放方式切换方法、装置、存储介质和程序
US20120159348A1 (en) Mosaic generation from user-created content
CN107823881A (zh) 特效显示方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180302