CN109803180A - 视频预览图生成方法、装置、计算机设备及存储介质 - Google Patents
视频预览图生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109803180A CN109803180A CN201910176620.3A CN201910176620A CN109803180A CN 109803180 A CN109803180 A CN 109803180A CN 201910176620 A CN201910176620 A CN 201910176620A CN 109803180 A CN109803180 A CN 109803180A
- Authority
- CN
- China
- Prior art keywords
- frame
- lines
- picture
- video
- image
- 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.)
- Granted
Links
Abstract
本申请是关于一种视频预览图生成方法、装置、计算机设备及存储介质。该方法包括:获取视频的字幕文件,字幕文件包含视频的各句台词,以及各句台词各自的展示时间段;根据字幕文件,从视频中提取各句台词分别对应的图像帧;根据各句台词分别对应的图像帧的展示时间顺序以及相邻图像帧之间的图像差异度,对各句台词分别对应的图像帧进行分组,获得至少一个图像帧组;生成每一个图像帧组对应的台词拼接图片,根据台词拼接图片生成视频预览图。本申请所示方案生成的视频预览图对视频内容具有较好的展示效果,能够显著的提高生成的视频预览图的准确性。
Description
技术领域
本申请涉及互联网应用技术领域,特别涉及一种视频预览图生成方法、装置、计算机设备及存储介质。
背景技术
视频预览图又称为视频速览截图,是一种用于快速浏览视频内容的图片,通常由视频中的多张截图构成。
在相关技术中,视频预览图可以通过在视频中进行等时间采样来生成。比如,对于某个需要生成视频预览图的视频,可以按照播放时间顺序对该视频中的各个图像帧进行等时间间隔采样,获得一定数量的采样截图,然后对采样截图拼接得到该视频的视频预览图。
然而,相关技术中生成的视频预览图只能大致的展示视频中包含的部分场景画面,影响视频速览图对视频内容的展示效果,导致生成视频速览图的准确较差。
发明内容
本申请实施例提供了一种视频预览图生成方法、装置、计算机设备及存储介质,可以提高生成视频预览图的准确性,该技术方案如下:
一方面,提供了一种视频预览图生成方法,所述方法包括:
获取视频的字幕文件,所述字幕文件包含所述视频的各句台词,以及所述各句台词的展示时间段;
根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧;
根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少一个图像帧组;
生成所述至少一个图像帧组各自的台词拼接图片;
根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图。
另一方面,提供了一种视频预览图生成装置,所述装置包括:
字幕文件获取模块,用于获取视频的字幕文件,所述字幕文件包含所述视频的各句台词,以及所述各句台词的展示时间段;
图像帧提取模块,用于根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧;
分组模块,用于根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少两个图像帧组;
图片生成模块,用于生成每一个所述图像帧组对应的台词拼接图片;
预览图生成模块,用于根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图。
可选的,所述图像帧提取模块,具体用于,
根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段;
从每一个所述视频片段中分别获取一帧图像帧。
可选的,在根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段时,图像帧提取模块,具体用于,
获取目标台词的展示时间段,所述目标台词是所述各句台词中的任一台词;
将所述视频中对应在所述展示时间段内的片段获取为所述目标台词对应的视频片段。
可选的,在从每一个所述视频片段中分别获取一帧图像帧时,图像帧提取模块,具体用于,
获取目标视频片段中的各个图像帧的帧属性,所述帧属性用于指示对应的图像帧是否为关键帧,所述目标视频片段是目标台词对应的视频片段,所述目标台词是所述各句台词中的任一台词;
根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧;
根据所述目标图像帧获取所述目标台词对应的图像帧。
可选的,在根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧时,图像帧提取模块,具体用于,
当所述目标视频片段中包含关键帧时,将所述目标视频片段中的一帧关键帧获取所述目标图像帧;
当所述目标视频片段中不包含关键帧时,将所述目标视频片段中的第一帧获取所述目标图像帧。
可选的,在根据所述目标图像帧获取所述目标视频片段对应的图像帧时,图像帧提取模块,具体用于,
当所述目标图像帧上不存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧;
或者,当所述目标图像帧上不存在台词时,将所述目标台词叠加在所述目标图像帧上,获得所述目标台词对应的图像帧;
或者,当所述目标图像帧上存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧。
可选的,所述分组模块,具体用于,
按照展示时间从先到后的顺序,对所述各句台词分别对应的图像帧进行排列,获得图像帧队列;
获取所述图像帧队列中每相邻两帧图像帧之间的图像差异度;
按照数值从高到低的顺序,对所述图像帧队列中每相邻两帧图像帧之间的图像差异度进行排序;
以排列在前L位的图像差异度分别对应的相邻两帧图像帧为切分点,对所述图像帧队列进行切分,获得所述至少一个图像帧组,L为大于或者等于1的整数。
可选的,在获取所述图片队列中每相邻两幅图像帧之间的图像差异度时,所述分组模块,具体用于,
对于第一图像帧和第二图像帧,获取所述第一图像帧的图像参数和所述第二图像帧的图像参数,所述图像参数包括对应图像帧的灰度矩阵、图像特征以及平均颜色;所述第一图像帧和所述第二图像帧是所述图像帧队列中的任意相邻两帧图像帧;
根据所述第一图像帧的灰度矩阵以及所述第二图像帧的灰度矩阵,获取所述第一图像帧和所述第二图像帧之间的像素差异度;
根据所述第一图像帧的图像特征以及所述第二图片的图像特征,获取所述第一图片和所述第二图片之间的特征差异度;
根据所述第一图像帧的平均颜色以及所述第二图像帧的平均颜色,获取所述第一图像帧和所述第二图像帧之间的颜色差异度;
根据所述像素差异度、所述特征差异度以及所述颜色差异度,获取所述第一图像帧和所述第二图像帧之间的图像差异度。
可选的,所述预览图生成模块,具体用于,
按照播放时间从先到后的顺序,对所述至少一个图像帧组各自的台词拼接图片进行排序,将排序后的所述至少一个图像帧组各自的台词拼接图片获取为所述视频的视频预览图;
或者,
按照播放时间从先到后的顺序,将所述至少一个图像帧组各自的台词拼接图片拼接为单幅图片,获得所述视频的视频预览图。
可选的,所述装置还包括:
视频获取请求接收模块,用于接收终端发送的视频获取请求,所述视频获取请求中包含目标台词拼接图片的标识;所述目标台词拼接图片是所述至少一个图像帧组各自的台词拼接图片中的任意台词拼接图片;
起始时间确定模块,用于根据所述目标台词拼接图片的标识确定起始播放时间点,所述起始播放时间点不晚于所述目标台词拼接图片中的第一句台词对应的展示时间段的开始时间点;
视频推送模块,用于将所述视频中,从所述起始播放点开始播放的视频数据推送给所述终端。
可选的,所述装置还包括:
图片获取请求接收模块,用于接收终端发送的图片获取请求,所述图片获取请求包含所述视频的播放进度;
拼接图片确定模块,用于确定所述至少一个图像帧组各自的台词拼接图片中,与所述视频的播放进度相对应的台词拼接图片;
响应模块,用于向所述终端发送图片获取响应,所述图片获取响应用于指示所述终端展示与所述视频的播放进度相对应的台词拼接图片。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的视频预览图生成方法。
又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的视频预览图生成方法。
本申请提供的技术方案可以包括以下有益效果:
根据视频的字幕文件中各句台词对应的展示时间段,从视频中提取各句台词对应的图像帧,然后再按照图像帧的时间顺序以及相邻图像帧之间的差异度对各句台词对应的图像帧进行分组,针对每一图像帧组生成包含台词拼接图片,该台词拼接图片包含对应图像帧组中各图像帧的台词部分图像,最后根据生成的台词拼接图片生成视频预览图。在上述方案中,由于图像帧组的划分是结合时间顺序和图像帧之间的差异度进行划分的,每个图像帧组可以视为视频中的一个对话场景的图像,而对应一个图像帧组的台词拼接图片又包含该图像帧组中的各句台词,因此,每个台词拼接图片的内容可以包含视频中的一个对话场景的场景画面和台词内容,相应的,通过各个台词拼接图片生成的视频预览图对能够同时展示视频中各个场景的画面和台词,对视频内容具有较好的展示效果,因此,上述方案能够显著的提高生成的视频预览图的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请涉及的一种视频预览图;
图2是根据一示例性实施例示出的一种视频服务系统的结构示意图;
图3是相关技术涉及的一种视频预览图生成界面示意图;
图4是根据一示例性实施例示出的一种视频预览图生成方法的流程图;
图5是图4所示实施例涉及的视频预览图生成过程示意图;
图6是根据一示例性实施例示出的一种视频预览图生成方法的流程图;
图7是图6所示实施例涉及的一种字幕文件结构示意图;
图8是图6所示实施例涉及的一种图像帧提取示意图;
图9是图6所示实施例涉及的确定目标图像帧的示意图;
图10是图6所示实施例涉及的一种图像帧生成示意图;
图11是图6所示实施例涉及的一种图像帧分组流程示意图;
图12是图6所示实施例涉及的像素差异度计算组件的工作流程图;
图13是图6所示实施例涉及的特征差异度计算组件的工作流程图;
图14是图6所示实施例涉及的颜色差异度计算组件的工作流程图;
图15是图6所示实施例涉及的图像差异度计算流程图;
图16是图6所示实施例涉及的一种图像帧分组流程示意图;
图17是图6所示实施例涉及的一种视频预览图生成流程示意图;
图18是图6所示实施例涉及的一种视频预览图的结构示意图;
图19是根据一示例性实施例示出的视频预览图生成装置的结构方框图;
图20是根据一示例性实施例示出的一种计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在对本申请所示的各个实施例进行说明之前,首先对本申请涉及到的几个概念进行介绍:
1)台词拼接图片
台词拼接图片可以是包含视频中多句台词的长图片。
比如,请参考图1,其示出了本申请涉及的一种台词拼接图片。通常情况下,一个台词拼接图片上半部分是该台词拼接图片包含的多句台词中,第一句台词对应的完整视频截图,而下半部分由其它各句台词对应的台词区域图像拼接而成。其中,台词区域图像是指视频的一个图像帧中,台词显示区域的图像。
2)视频预览图
视频预览图是由视频中的一张或多张截图构成的,以静态方式展示视频大致内容的图片。
在本申请各个实施例中,视频预览图可以由一张或多张台词拼接图片构成,每张台词拼接图片可以对应视频中的一个对话场景,该视频预览图可以展示视频中的各个场景的场景画面和台词内容。
图2是根据一示例性实施例示出的一种视频服务系统的结构示意图。该系统包括:服务器220以及若干个终端240。
服务器220是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。
终端240可以是具有视频播放功能的终端设备,比如,终端可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
终端240与服务器220之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
在本申请实施例中,服务器220可以将视频数据推送给终端240,由终端240进行视频播放。
可选的,终端240中可以预先安装视频播放类的应用程序(Application,APP),终端通过该APP来接收服务器220推送的视频数据,并根据接收到的视频数据播放视频。
或者,终端240中也可以安装浏览器,并通过浏览器访问服务器220提供的视频播放页面,通过该视频播放页面接收服务器220推送的视频数据并播放视频。
可选的,本申请实施例中的服务器220还可以生成并存储各个视频的视频预览图,该视频预览图是预先根据一张或多张台词拼接图片生成的,并且,不同的台词拼接图片可以对应视频中不同的对话场景。终端240通过APP或者网页访问服务器220时,服务器可以向终端提供视频预览图,以便用户通过视频预览图来速览视频中各个场景的场景画面和台词内容。
可选的,该系统还可以包括管理设备(图2未示出),该管理设备与服务器240之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
在一种可能的实现方式中,本申请实施例提供一种借助于拼接图片生成工具来生成台词拼接图片,继而生成视频预览图的方法。比如,请参考图3,其示出了相关技术涉及的一种台词拼接图片生成界面示意图。如图3所示,拼接图片生成工具提供预先设置好的模板,每个视频对应一个模板,模板中包含有视频中各句台词,以及各句台词对应的视频图片。其中,上述模板可以由服务器预先生成。服务器后台人员通过拼接图片生成工具打开某个视频后,拼接图片生成工具展示拼接图片生成界面,后台人员在该界面中选择生成一幅台词拼接图片所使用的一个或多个台词(通常为同一个对话场景中的台词),拼接图片生成工具根据选择的台词所对应的图像帧,生成台词拼接图片;在通过拼接图片生成工具生成视频中各个场景的台词拼接图片之后,根据生成的一张或多张台词拼接图片生成该视频的视频预览图。
在上述方案中,需要服务器后台人员通过人工来判断对话场景并选择一张台词拼接图片中的台词,对台词拼接图片的生成效率有很大的影响。
针对上述方案存在的问题,本申请还提供一种自动生成视频预览图的方案,通过该方案,能够自动生成视频中不同场景对应的台词拼接图片,继而生成视频预览图。
图4是根据一示例性实施例示出的一种视频预览图生成方法的流程图,该视频预览图生成方法可以由图1所示的系统中的服务器220执行。如图4所示,该视频预览图生成方法可以包括如下步骤:
步骤41,获取视频的字幕文件,该字幕文件包含该视频的各句台词,以及该各句台词各自的展示时间段。
其中,每句台词可以是在视频中的显示时间相同的台词文本。
步骤42,根据该字幕文件,从该视频中提取该各句台词分别对应的图像帧。
步骤43,根据该各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对该各句台词分别对应的图像帧进行分组,获得至少一个图像帧组。
步骤44,生成至少一个图像帧组各自的台词拼接图片,该台词拼接图片包含对应的图像帧组中的各图像帧的台词区域图像。
请参考图5,其示出了本申请实施例涉及的台词拼接图片生成过程示意图。如图5所示,服务器生成一个台词拼接图片的过程主要包括如下步骤:
S51,根据字幕文件对视频文件进行图像帧提取,获得字幕文件中的各句台词对应的图像帧。
其中,一句台词对应的图像帧,可以是视频中与该台词同步显示的一帧图像帧,该图像帧中可以叠加有对应的台词,或者,该图像帧中也可以不叠加对应的台词。
S52,根据各个图像帧的展示时间顺序以及图像帧之间的差异度,对图像帧进行自动分组,获得若干个图像帧组(图5中示出为T个图像帧组)。
S53,根据每个图像帧组生成一幅台词拼接图片(图5中示出为台词拼接图片1~台词拼接图片T)。
步骤45,根据至少一个图像帧组各自的台词拼接图片,生成该视频的视频预览图。
在本申请实施例中,服务器可以将至少一个图像帧组各自的台词拼接图片直接作为视频预览图,也就是说,上述每个图像帧组对应的台词拼接图片按照时间顺序排列,即为该视频的视频预览图。用户按照顺序依次查看各个台词拼接图片,即可以快速了解整个视频。
或者,在另一种可能的实现方式中,服务器也可以对至少一个图像帧组各自的台词拼接图片进行进一步的处理,以获得视频预览图。
综上所述,在本申请实施例中,服务器根据视频的字幕文件中各句台词对应的展示时间段,从视频中提取包含台词的各幅图像帧,然后再按照图像帧的时间顺序以及相邻图像帧之间的差异度对各句台词对应的图像帧进行分组,针对每一图像帧组生成包含台词拼接图片,该台词拼接图片包含对应图像帧组中各图像帧的台词部分图像,最后根据生成的台词拼接图片生成视频预览图。在上述方案中,由于图像帧组的划分是结合时间顺序和图像帧之间的差异度进行划分的,每个图像帧组可以视为视频中的一个对话场景的图像,而对应一个图像帧组的台词拼接图片又包含该图像帧组中的各句台词,因此,每个台词拼接图片的内容可以包含视频中的一个对话场景的场景画面和台词内容,相应的,通过各个台词拼接图片生成的视频预览图对能够同时展示视频中各个场景的画面和台词,对视频内容具有较好的展示效果,因此,上述方案能够显著的提高生成的视频预览图的准确性。
此外,在上述方案中,通过对各局台词对应的图像帧进行自动分组来实现对同一台词拼接图片中的台词的自动选择,不需要人工选择用于生成每张台词拼接图片的台词,极大的缩短了选择同一台词拼接图片对应的台词的时间,从而能够显著的提高台词拼接图片以及视频预览图的生成效率。
在本申请所示的方案中,服务器可以针对一个视频生成一个或多个台词拼接图片,并根据一个或多个台词拼接图片生成该视频的视频预览图,并提供给终端进行展示,使得用户可以只通过一个或多个台词拼接图片即可以了解到整个视频的大致剧情。
图6是根据一示例性实施例示出的一种台词拼接图片生成方法的流程图,该台词拼接图片生成方法可以由图1所示的系统中的服务器220执行。如图6所示,该台词拼接图片生成方法可以包括如下步骤:
步骤601,获取视频的字幕文件,该字幕文件包含该视频的各句台词,以及该各句台词各自的展示时间段。
一个视频的字幕文件可以指示视频中各句台词所在的图像帧(即视频图片)。比如,请参考图7,其示出了本申请实施例涉及的一种字幕文件结构示意图。如图7所示,字幕文件中包含若干个字幕子数据,每个字幕子数据包含序列号、时间信息(即图7中的协调世界时、时长以及时间戳)以及台词文本。
其中,序列号用于表示字幕子数据在字幕文件中的顺序。
时间信息中的协调世界时和时间戳可以用于指示台词文本在视频中展示的起始时间/结束时间;时间信息中的时长可以是对应的台词文本在视频中的展示时长;因此,通过图7所示的时间信息可以确定对应的台词文本在视频中的展示时间段。
每个字幕子数据中的台词文本可以是一句台词的文本。
在本申请实施例中,对于任意对应有字幕文件的视频,服务器可以获取该视频的字幕文件,提取字幕文件中包含的各句台词,以及各句台词对应的时间信息(指示台词的展示时间段)。
其中,字幕文件的获取方式可以包括但不限于以下两种:
1)对于图像和字幕分开传输的视频,该视频的视频数据中包含未叠加有字幕的视频图片以及字幕文件,播放器在播放该视频时,在某一播放时刻,将对应的视频图片以及字幕文本同时渲染在屏幕中。对于此类视频,服务器可以直接获取视频数据中包含的字幕文件。
2)对于图像和字幕合并传输的视频,该视频的视频数据中包含已经叠加有字幕的视频图片,且该视频的视频数据中通常不再额外包含字幕文件,此时,服务器可以向该视频的提供商的数据库请求获取该视频的字幕文件。
获取到字幕文件之后,服务器即可以根据该字幕文件,从该视频的各个视频图片中提取该各句台词分别对应的图像帧,该过程可以分为以下步骤602和步骤603。
步骤602,根据各句台词各自的展示时间段对该视频进行分段,获得该各句台词分别对应的视频片段。
可选的,在根据该各句台词各自的展示时间段对该视频进行分段时,服务器可以获取目标台词的展示时间段,该目标台词是该各句台词中的任一台词;将该视频中对应在该展示时间段内的片段获取为该目标台词对应的视频片段。
比如,字幕文件中某一台词a的时间戳为00:08:18,时长为6s,其中,该时间戳表示对应台词的起始展示时间,则服务器可以确定该台词a的展示时间段为00:08:18~00:08:24,此时,服务器可以将该视频中展示时间段处于00:08:18~00:08:24这一时间区间内的图像帧按照展示时间顺序提取为台词a对应的视频片段。对于字幕文件中的每一个台词,服务器都按照上述方法进行处理,获得每句台词分别对应的视频片段。也就是说,一个视频片段中的各个视频图片对应同一句台词。
步骤603,从每一个该视频片段中分别获取一帧图像帧。
可选的,在从每一个该视频片段中分别获取一帧图像帧时,服务器可以获取目标视频片段中的各帧图像帧的帧属性,该帧属性用于指示对应的图像帧是否为关键帧,该目标视频片段是该各句台词分别对应的视频片段中的任意视频片段;根据该目标视频片段中的各帧图像帧的帧属性,从该目标视频片段中提取目标图像帧;根据该目标图像帧获取该目标视频片段对应的图像帧。
在上述步骤602和步骤603中,需要提取每一句台词的图像帧;在字幕文件中,都带有了每句台词的时间信息;因此可以按照这些时间信息,把视频分割成许多片段,也就说,根据字幕文件中包含的信息,记台词的句数为M,对视频进行分段,每个视频分段对应一个台词。对于每一个片段,基于其中一张图片(即上述目标图像帧)提取包含台词的图像帧。
请参考图8,其示出了本申请实施例涉及的一种图像帧提取示意图。如图8所示,假设视频对应的字幕文件中包含M句台词,相应的,服务器从视频中提取出M个视频片段,每个视频片段对应一句台词。服务器通过图像帧提取组件,对每个视频片段分别进行图像帧提取,获得M个图像帧。
可选的,服务器通过图像帧提取组件对每个视频片段分别进行图像帧提取时,可以采用并行方式进行提取,比如,服务器可以创建多个图像帧提取线程,并通过多个图像帧提取线程同时对多个视频片段进行图像帧的提取(每个图像帧提取线程在同一时间可以通过图像帧提取组件对一个视频片段进行图像帧的提取)。
或者,服务器也可以采用串行的方式进行图像帧的提取,比如,服务器可以创建单个图像帧提取线程,并通过该图像帧提取线程依次对各个视频片段进行图像帧的提取。
其中,服务器根据该目标视频片段中的各个图像帧的帧属性,从该目标视频片段中提取目标图像帧的方式可以如下:
1)当该目标视频片段中包含关键帧时,将该目标视频片段中的一帧关键帧获取该目标图像帧;
2)当该目标视频片段中不包含关键帧时,将该目标视频片段中的第一帧获取该目标图像帧。
请参考图9,其示出了本申请实施例涉及的确定目标图像帧的示意图。如图9所示,服务器在提取图像帧的过程中,在选取一个视频片段中的目标图像帧时,判断片段中是否包含关键帧(91),如果片段中有关键帧,则选用关键帧作为该片段的目标图像帧(92),当存在多个关键帧时,可以选择其中第一个关键帧作为该片段的目标图像帧;如果片段中没有关键帧,则使用片段中的第一帧作该片段的目标图像帧(93)。
在其它可能的实现方式中,服务器也可以选择视频片段中的第一个关键帧或者第一帧之外的其它帧作为目标图像帧。比如,当视频片段中存在多个关键帧,服务器可以选择最后一个关键帧,或者随机一个关键帧作为目标图像帧。或者,当视频片段中不存在关键帧时,服务器可以选择最后一帧,或者随机一帧作为目标图像帧。
可选的,上述根据该目标图像帧获取该目标视频片段对应的图像帧的方式可以如下:
1)当该目标图像帧上不存在台词时,将该目标图像帧获取为该目标视频片段对应的图像帧。
在本申请实施例中,服务器可以直接将未叠加有台词的目标图像帧获取为图像帧,后续在生成台词拼接图片时,再进行台词的叠加操作。
2)当该目标图像帧上不存在台词时,将该目标视频片段对应的台词叠加在该目标图像帧上,获得该目标视频片段对应的图像帧。
或者,在本申请实施例中,服务器也可以在获取图像帧是就执行台词叠加操作。比如,请参考图10,其示出了本申请实施例涉及的一种图像帧生成示意图。如图10所示,对于图像和字幕文件分开传输的视频,服务器可以基于未叠加台词的图像帧序列进行片段切分,相应的,提取出的目标图像帧也可以是未叠加台词的图片,此时,服务器可以将目标图像帧对应的台词渲染在目标图像帧上,获得该目标视频片段对应的,叠加有台词的图像帧。
3)当该目标图像帧上存在台词时,将该目标图像帧获取为该目标视频片段对应的图像帧。
对于图像和台词合并传输的视频,由于视频的视频数据中包含的图像帧已经叠加有台词,因此,提取出的目标图像帧也是叠加有台词的图片,此时,服务器可以将目标图像帧直接获取为图像帧。
步骤604,根据该各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对该各句台词分别对应的图像帧进行分组,获得至少一个图像帧组。
可选的,服务器可以按照展示时间从先到后的顺序,对该各句台词分别对应的图像帧进行排列,获得图像帧队列;获取该图像帧队列中每相邻两幅图像帧之间的图像差异度;按照数值从高到低的顺序,对该图像帧队列中每相邻两幅图像帧之间的图像差异度进行排序;以排列在前L位的图像差异度分别对应的相邻两幅图像帧为切分点,对该图像帧队列进行切分,获得至少一个图像帧组,L为大于或者等于1的整数。
比如,请参考图11,其示出了本申请实施例涉及的一种图像帧分组流程示意图。如图11所示,在本申请实施例中,服务器可以使用特征提取网络提取各个图像帧的特征,并通过差异度计算组件计算相邻图像帧之间的差异度,M个图像帧可以计算获得M-1个差异度。服务器对各个差异度进行排序,获得差异度序列,然后根据差异度序列对图像帧进行分组。
可选的,在以排列在前L位的图像差异度分别对应的相邻两幅图像帧为切分点,对该图像帧队列进行切分后,服务器可以直接将切分获得的各个图像帧组作为上述至少一个图像帧组。
或者,在另一种可能的实现方式中,服务器也可以对切分获得的各个图像帧组进行筛选,比如,丢弃图像帧数量少于预设数量阈值的图像帧组,将筛选后获得的图像帧组作为上述至少一个图像帧组。
可选的,在获取该图像帧队列中每相邻两幅图像帧之间的图像差异度时,对于第一图像帧和第二图像帧,获取该第一图像帧的图像参数和该第二图像帧的图像参数,该图像参数包括对应图像帧的灰度矩阵、图像特征以及平均颜色;该第一图像帧和该第二图像帧是该图像帧队列中的任意相邻两帧图像帧;根据该第一图像帧的灰度矩阵以及该第二图像帧的灰度矩阵,获取该第一图像帧和该第二图像帧之间的像素差异度;根据该第一图像帧的图像特征以及该第二图片的图像特征,获取该第一图片和该第二图片之间的特征差异度;根据该第一图像帧的平均颜色以及该第二图像帧的平均颜色,获取该第一图像帧和该第二图像帧之间的颜色差异度;根据该像素差异度、该特征差异度以及该颜色差异度,获取该第一图像帧和该第二图像帧之间的图像差异度。
在该步骤中,需要对截取出的各句台词对应的图像帧进行分组。此外,在分组的同时,要保证分组后图像帧的先后顺序:对于分到同一组内的图像帧,分组前是相邻的,分组后也必须是相邻的。记图像帧共M帧,对图像帧按照时间顺排排序后,第i帧图像帧记为xi,指定的分组个数为N;
总的来说可以分解为3个小步骤:
1)基于分类网络的图像特征提取;
2)基于图像特征、颜色、像素的台词图像差异度计算;
3)基于差异度序列的自动分组。
在本申请实施例中,可以基于分类网络的图像特征提取部分(即特征提取网络)对图像帧进行特征提取,比如,可以使用已经训练好的物体分类网络的进行图像的特征提取。其中,可以使用的分类网络有很多种,例如视觉几何组(Visual Geometry Group,VGG)网络、残差神经网络(Residual Neural Network,ResNet)以及谷歌创始网络(GoogleInception Net,GoogLeNet)等;训练分类网络的数据集可以是COCO2014、ImageNet等等。对于一个训练好的物体分类网络,当其去除最后一层后,剩余的网络即可作为特征提取网络——即输入一张图像后,输出一个特征向量。该过程可以用下述步骤来描述:
1、选取一个训练好的物体分类网络;
2、去除物体分类网络的最后一层;
3、若剩余网络的最后一层不为激活层(sigmoid层),则在网络尾部加入sigmoid层;将得到的网络作为特征提取网络(加入sigmiod层的目的是限制特征提取网络的输出范围到[0,1]区间)。
在提取特征之后,服务器就可以计算第i句台词对应的图像帧xi与第i+1句台词对应的图像帧xi+1的差异度ai,在计算ai的过程中,可以分别计算两幅图像帧的像素差异度、特征差异度以及颜色差异度。
比如,请参考图12至图14。其中,图12示出了本申请实施例涉及的像素差异度计算组件的工作流程图;图13示出了本申请实施例涉及的特征差异度计算组件的工作流程图;图14示出了本申请实施例涉及的颜色差异度计算组件的工作流程图。
如图12所示,服务器可以提取各个图像帧的灰度矩阵,将图像帧xi的灰度矩阵,以及图像帧xi+1的灰度矩阵输入像素差异度计算组件,获得图像帧xi与图像帧xi+1之间的像素差异度。
如图13所示,服务器通过特征提取网络分别提取图像帧xi和图像帧xi+1的图像特征,并根据图像帧xi的图像特征和图像帧xi+1的图像特征计算获得图像帧xi与图像帧xi+1之间的特征差异度。
如图14所示,服务器通过颜色计算组件分别计算图像帧xi和图像帧xi+1的平均颜色,并根据图像帧xi的平均颜色和图像帧xi+1的平均颜色计算获得图像帧xi与图像帧xi+1之间的颜色差异度。
请参考图15,其示出了本申请实施例涉及的图像差异度计算流程图。如图15所示,服务器通过像素差异度计算组件、特征差异度计算组件以及颜色差异度计算组件分别计算获得图像帧xi和图像帧xi+1之间的像素差异度、特征差异度以及颜色差异度之后,根据计算获得的三个差异度进一步计算获得图像帧xi和图像帧xi+1之间的图像差异度ai,该ai可以定义如下公式所示:
ai=λ1sum((xi-xi+1)^2)+λ2(fi-fi+1)^2+λ3(ci-ci+1)^2;
其中xi为第i句台词对应的图像帧,fi为第i句台词对应的图像帧的特征,ci为第i句台词对应的图像帧的平均颜色;λ1、λ2、λ3为权重。
其中,上述图像差异度算法通过图像帧的灰度矩阵、图像特征以及颜色进行差异度计算。可选的,还可以引入其他因素计算图像帧之间的图像差异度,比如,加入语义差异度,即增加图像帧对应的台词之间的语义差异度。即服务器可以计算相邻两个图像帧之间的像素差异度、特征差异度、颜色差异度以及语义差异度(即相邻两个图像帧各自对应的台词之间的语义差异度),并根据上述像素差异度、特征差异度、颜色差异度以及语义差异度计算获得相邻两个图像帧之间的图像差异度。
通过上述方案,对于M幅图像帧,可以计算出M-1个图像差异度的值,该值用于后续对图像帧进行分组。也就是说,在计算出图像差异度后,服务器就可以使用图像差异度对图像帧进行分组。请参考图16,其示出了本申请实施例涉及的一种图像帧分组流程示意图。如图16所示,图像帧分组的方法如下:
1、对所有图像差异度的值进行降序排列(大的值在前面,小的值在后面),获得差异度序列a;其中,差异度的数值越大,表示对应的相邻两个图像帧之间的差异越大;相应的,差异度的数值越小,表示对应的相邻两个图像帧之间的差异越小。
2、若图像差异度的数量大于N-1,则取排序后的前N-1个相似度,若差异度的数量小于N-1,则取出所有取出的差异度。其中,N的数值可以由开发人员在服务器中预先设置。记服务器取出的图像差异度的序列为a’。
3、记取出的差异度的数量为L,按照图像差异度的时间顺序(比如,按照差异度的下标i)进行升序排列;记排序后的图像差异度序列为A,根据图像差异度序列A构建图像帧序列B,图像帧序列B中每一个图像帧,是图像差异度序列A中每一个差异度对应的相邻两幅图像帧中的第一幅图像帧,即差异度Ai为第Bi句台词对应的图像帧与第Bi+1句台词对应的图像帧之间的图像差异度;则有:
将第1句台词对应的图像帧到第B1句台词对应的图像帧分为一组;
将第Bi+1句台词对应的图像帧到第Bi+1句台词对应的图像帧分为一组,i=2,…,L-1;
将第BL+1句台词对应的图像帧到最后一句台词对应的图像帧分为一组。
步骤605,生成每一个该图像帧组对应的台词拼接图片,该台词拼接图片包含对应的图像帧组中的各图像帧的台词区域图像。
在得到图像帧的分组后,服务器将每组的图像帧排版成方便阅读的格式。在本申请实施例中,服务器可以采用台词分享的形式,对于同一组的台词截图,生成一张台词拼接图片。请参考图17,其示出了本申请实施例涉及的一种台词拼接图片生成流程示意图。以上述台词对应的图像帧是未叠加有台词的图像帧为例,如图17所示,对于任意一张台词拼接图片,其生成的方法如下:
1、对分组内的所有图像帧按照时间顺序进行升序排序,记组内图像帧数量为n;
2、对于组内排序后的每一张图像帧,记第i个图像帧为xi,其对应台词序号为Yi;在图像帧xi下部加入Yi对应台词的硬字幕,得到图片yi,并取出带有区域的整行图像区域,记为zi;
3、选出该分组中时间顺序最靠前的图片y1作为封面图,记为X1;
4、将图像zi拼接到图像Xi-1下部,得到图片Xi,其中i=2,…,n;
5、重复步骤4,直到得到最终拼接出的图片Xn。
其中,上述Xn即该组图像帧对应的台词拼接图片。如图18所示,其示出了本申请实施例涉及的一种台词拼接图片的结构示意图。该图18所示的台词拼接图片即为按照图17所示的方案拼接获得的台词拼接图片。
其中,上述图17所示的方案以图像帧是未叠加有台词的图片为例进行说明,当图像帧是叠加有台词的图片时,服务器可以针对分组中除了第一幅图像帧y1之外的各个图片yi,提取带有区域的整行图像区域zi,然后再执行上述步骤4和步骤5,直至获得图片Xn。
在另一种可能的实现方式中,服务器在生成台词拼接图片时,也可以直接在分组中的各个图像帧上叠加台词(若图像帧中已经叠加有台词,则可以不执行该步骤),然后将叠加了台词的各个图像帧首位相接进行拼接,获得该分组的台词拼接图片。
步骤606,根据上述至少一个图像帧组各自的台词拼接图片,生成视频的视频预览图。
在一种可能的实现方式中,服务器可以按照播放时间从先到后的顺序,对上述至少一个图像帧组各自的台词拼接图片进行排序,将排序后的至少一个图像帧组各自的台词拼接图片获取为视频的视频预览图。
或者,在另一种可能的实现方式中,服务器也可以按照播放时间从先到后的顺序,将至少一个图像帧组各自的台词拼接图片拼接为单幅图片,获得视频的视频预览图。
比如,服务器可以按照播放时间从先到后的顺序,将至少一个图像帧组各自的台词拼接图片首位相接进行拼接,获得单幅图片,并将该单幅图片作为当前视频的视频预览图。
可选的,在生成上述视频的视频预览图之后,服务器还可以接收终端发送的视频获取请求,该视频获取请求中包含目标台词拼接图片的标识;该目标台词拼接图片是上述至少一个图像帧组各自的台词拼接图片中的任意台词拼接图片;根据该目标台词拼接图片的标识确定起始播放时间点,该起始播放时间点不晚于该目标台词拼接图片中的第一个台词对应的展示时间段的开始时间点;将该视频中,从该起始播放点开始播放的视频数据推送给该终端。
在一种可能的实现方式中,终端通过播放器界面展示视频预览图时,播放器界面中可以同时展示切换至视频播放的第一切换控件,若用户想要切换至视频播放,则可以触发该第一切换控件,终端向服务器发送当前展示的台词拼接图片的标识(即视频获取请求),服务器接收到台词拼接图片的标识后,即可以确定该台词拼接图片对应的起始播放时间点,然后从该台词拼接图片对应的起始播放时间点对应的视频数据开始,向服务器推送视频数据,终端的播放器界面根据接收到的视频数据开始视频播放。
可选的,服务器还可以接收终端发送的图片获取请求,该图片获取请求包含该视频的播放进度;确定该至少一个图像帧组各自的台词拼接图片中,与该视频的播放进度相对应的台词拼接图片;向该终端发送图片获取响应,该图片获取响应用于指示该终端展示与该视频的播放进度相对应的台词拼接图片。
在一种可能的实现方式中,终端通过播放器界面播放视频时,播放器界面中可以同时展示切换至视频预览图的第二切换控件,若用户想要切换至视频预览图快速浏览视频,则可以触发该第二切换控件,终端向服务器发送视频的播放进度,服务器接收到播放进度后,即可以确定该播放进度对应的台词拼接图片,并向终端返回图片获取响应,该图片获取响应中可以包含视频预览图的完整数据,也可以只包含播放进度对应的台词拼接图片的数据,由终端进行视频预览图或者当前播放进度对应的台词拼接图片的展示。
通过本申请提供的方案,当用户觉得剧情无聊的时候,可以选择切换观看视频预览图,直到遇到自己感兴趣片段,再切换播放视频。视频预览图能让用户快速跳过不感兴趣的视频,节省时间,提高效率;并且,视频预览图的观看方式也能节省用户的流量,使得用户的流量能用在自己感兴趣的片段上(图片截图相较视频文件体积大大减小)。
比如,内容相同分辨率不同的某视频与通过本方案提取出的视频预览图的数据量对比可以如下表1所示。
表1
某一视频 | 720P截图 | 270P视频 | 480P视频 | 720P视频 | 1080P视频 |
文件大小 | 16MB | 47MB | 112MB | 193MB | 351MB |
剧情消耗流量/分钟 | 0.49MB | 1.45MB | 3.47MB | 5.96MB | 10.83MB |
由上述表1可以看出,如果通过本申请上述实施例所示的方案生成的视频预览图来快速浏览不感兴趣的剧情,既能保证截图较高的清晰度,又能明显减少用户消耗的流量。
此外,本申请实施例提供的,用于生成台词拼接图片的算法具有速度快(能够快速地将视频转为台词拼接图片)、鲁棒性强(即便自动生成的截图有瑕疵,也不影响用户阅读)、算法简单(无GPU依赖,能够快速地部署到CPU机器上大批量运行)以及传输数据少(当使用该算法生成的视频预览图速看视频的剧情时,相比于快放视频,数据在网络传输过程中流量的消耗的大大减少)等特点,可以完全自动化,无需人工标注,能够大批量的在后台运行,为用户提供视频的基础速看图片版。
此外,除了用于生成台词拼接图片之外,本申请实施例所示的方案中的部分步骤也可以用于构建拼接图片生成工具所使用的模板。比如,在上述步骤601至603之后,服务器获得各句台词以及各句台词分别对应的图像帧,然后根据各句台词以及各句台词分别对应的图像帧生成台词拼接图片生成工具所使用的模板。
综上所述,在本申请实施例中,服务器根据视频的字幕文件中各句台词对应的展示时间段,从视频中提取包含台词的各幅图像帧,然后再按照图像帧的时间顺序以及相邻图像帧之间的差异度对各句台词对应的图像帧进行分组,针对每一图像帧组生成包含台词拼接图片,该台词拼接图片包含对应图像帧组中各图像帧的台词部分图像,最后根据生成的台词拼接图片生成视频预览图。在上述方案中,由于图像帧组的划分是结合时间顺序和图像帧之间的差异度进行划分的,每个图像帧组可以视为视频中的一个对话场景的图像,而对应一个图像帧组的台词拼接图片又包含该图像帧组中的各句台词,因此,每个台词拼接图片的内容可以包含视频中的一个对话场景的场景画面和台词内容,相应的,通过各个台词拼接图片生成的视频预览图对能够同时展示视频中各个场景的画面和台词,对视频内容具有较好的展示效果,因此,上述方案能够显著的提高生成的视频预览图的准确性。
此外,在上述方案中,通过对各局台词对应的图像帧进行自动分组来实现对同一台词拼接图片中的台词的自动选择,不需要人工选择用于生成每张台词拼接图片的台词,极大的缩短了选择同一台词拼接图片对应的台词的时间,从而能够显著的提高台词拼接图片以及视频预览图的生成效率。
图19是根据一示例性实施例示出的一种视频预览图生成装置的结构方框图。该视频预览图生成装置可以用于如图1所示系统中,以执行图4或图6所示实施例提供的方法中由服务器执行的全部或者部分步骤。该视频预览图生成装置可以包括:
字幕文件获取模块1901,用于获取视频的字幕文件,所述字幕文件包含所述视频的各句台词,以及所述各句台词的展示时间段;
图像帧提取模块1902,用于根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧;
分组模块1903,用于根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少两个图像帧组;
图片生成模块1904,用于生成每一个所述图像帧组对应的台词拼接图片,所述台词拼接图片包含对应的图像帧组中的各帧图像帧的台词区域图像;
预览图生成模块1905,用于根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图。
可选的,所述图像帧提取模块1902,具体用于,
根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段;
从每一个所述视频片段中分别获取一帧图像帧。
可选的,在根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段时,图像帧提取模块1902,具体用于,
获取目标台词的展示时间段,所述目标台词是所述各句台词中的任一台词;
将所述视频中对应在所述展示时间段内的片段获取为所述目标台词对应的视频片段。
可选的,在从每一个所述视频片段中分别获取一帧图像帧时,图像帧提取模块1902,具体用于,
获取目标视频片段中的各个图像帧的帧属性,所述帧属性用于指示对应的图像帧是否为关键帧,所述目标视频片段是目标台词对应的视频片段,所述目标台词是所述各句台词中的任一台词;
根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧;
根据所述目标图像帧获取所述目标台词对应的图像帧。
可选的,在根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧时,图像帧提取模块1902,具体用于,
当所述目标视频片段中包含关键帧时,将所述目标视频片段中的一帧关键帧获取所述目标图像帧;
当所述目标视频片段中不包含关键帧时,将所述目标视频片段中的第一帧获取所述目标图像帧。
可选的,在根据所述目标图像帧获取所述目标视频片段对应的图像帧时,图像帧提取模块1902,具体用于,
当所述目标图像帧上不存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧;
或者,当所述目标图像帧上不存在台词时,将所述目标台词叠加在所述目标图像帧上,获得所述目标台词对应的图像帧;
或者,当所述目标图像帧上存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧。
可选的,所述分组模块1903,具体用于,
按照展示时间从先到后的顺序,对所述各句台词分别对应的图像帧进行排列,获得图像帧队列;
获取所述图像帧队列中每相邻两帧图像帧之间的图像差异度;
按照数值从高到低的顺序,对所述图像帧队列中每相邻两帧图像帧之间的图像差异度进行排序;
以排列在前L位的图像差异度分别对应的相邻两帧图像帧为切分点,对所述图像帧队列进行切分,获得所述至少一个图像帧组,L为大于或者等于1的整数。
可选的,在获取所述图片队列中每相邻两幅图像帧之间的图像差异度时,所述分组模块1903,具体用于,
对于第一图像帧和第二图像帧,获取所述第一图像帧的图像参数和所述第二图像帧的图像参数,所述图像参数包括对应图像帧的灰度矩阵、图像特征以及平均颜色;所述第一图像帧和所述第二图像帧是所述图像帧队列中的任意相邻两帧图像帧;
根据所述第一图像帧的灰度矩阵以及所述第二图像帧的灰度矩阵,获取所述第一图像帧和所述第二图像帧之间的像素差异度;
根据所述第一图像帧的图像特征以及所述第二图片的图像特征,获取所述第一图片和所述第二图片之间的特征差异度;
根据所述第一图像帧的平均颜色以及所述第二图像帧的平均颜色,获取所述第一图像帧和所述第二图像帧之间的颜色差异度;
根据所述像素差异度、所述特征差异度以及所述颜色差异度,获取所述第一图像帧和所述第二图像帧之间的图像差异度。
可选的,所述预览图生成模块1905,具体用于,
按照播放时间从先到后的顺序,对所述至少一个图像帧组各自的台词拼接图片进行排序,将排序后的所述至少一个图像帧组各自的台词拼接图片获取为所述视频的视频预览图;
或者,
按照播放时间从先到后的顺序,将所述至少一个图像帧组各自的台词拼接图片拼接为单幅图片,获得所述视频的视频预览图。
可选的,所述装置还包括:
视频获取请求接收模块,用于接收终端发送的视频获取请求,所述视频获取请求中包含目标台词拼接图片的标识;所述目标台词拼接图片是所述至少一个图像帧组各自的台词拼接图片中的任意台词拼接图片;
起始时间确定模块,用于根据所述目标台词拼接图片的标识确定起始播放时间点,所述起始播放时间点不晚于所述目标台词拼接图片中的第一句台词对应的展示时间段的开始时间点;
视频推送模块,用于将所述视频中,从所述起始播放点开始播放的视频数据推送给所述终端。
可选的,所述装置还包括:
图片获取请求接收模块,用于接收终端发送的图片获取请求,所述图片获取请求包含所述视频的播放进度;
拼接图片确定模块,用于确定所述至少一个图像帧组各自的台词拼接图片中,与所述视频的播放进度相对应的台词拼接图片;
响应模块,用于向所述终端发送图片获取响应,所述图片获取响应用于指示所述终端展示与所述视频的播放进度相对应的台词拼接图片。
图20是本申请一个示例性实施例示出的计算机设备2000的结构框图。所述计算机设备2000包括中央处理单元(CPU)2001、包括随机存取存储器(RAM)2002和只读存储器(ROM)2003的系统存储器2004,以及连接系统存储器2004和中央处理单元2001的系统总线2005。所述计算机设备2000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)2006,和用于存储操作系统2013、应用程序2014和其他程序模块2015的大容量存储设备2007。
所述基本输入/输出系统2006包括有用于显示信息的显示器2008和用于用户输入信息的诸如鼠标、键盘之类的输入设备2009。其中所述显示器2008和输入设备2009都通过连接到系统总线2005的输入输出控制器2010连接到中央处理单元2001。所述基本输入/输出系统2006还可以包括输入输出控制器2010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器2010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备2007通过连接到系统总线2005的大容量存储控制器(未示出)连接到中央处理单元2001。所述大容量存储设备2007及其相关联的计算机可读介质为计算机设备2000提供非易失性存储。也就是说,所述大容量存储设备2007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器2004和大容量存储设备2007可以统称为存储器。
计算机设备2000可以通过连接在所述系统总线2005上的网络接口单元2011连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器2001通过执行该一个或一个以上程序来实现图4或图6任一所示的方法中由服务器执行的全部或者部分步骤。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法中,由服务器执行的方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种视频预览图生成方法,其特征在于,所述方法包括:
获取视频的字幕文件,所述字幕文件包含所述视频的各句台词,以及所述各句台词的展示时间段;
根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧;
根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少一个图像帧组;
生成所述至少一个图像帧组各自的台词拼接图片,所述台词拼接图片包含对应的图像帧组中的各图像帧的台词区域图像;
根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧,包括:
根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段;
从每一个所述视频片段中分别获取一帧图像帧。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各句台词各自的展示时间段对所述视频进行分段,获得所述各句台词分别对应的视频片段,包括:
获取目标台词的展示时间段,所述目标台词是所述各句台词中的任一台词;
将所述视频中对应在所述展示时间段内的片段获取为所述目标台词对应的视频片段。
4.根据权利要求2所述的方法,其特征在于,所述从每一个所述视频片段中分别获取一帧图像帧,包括:
获取目标视频片段中的各个图像帧的帧属性,所述帧属性用于指示对应的图像帧是否为关键帧,所述目标视频片段是目标台词对应的视频片段,所述目标台词是所述各句台词中的任一台词;
根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧;
根据所述目标图像帧获取所述目标台词对应的图像帧。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标视频片段中的各个图像帧的帧属性,从所述目标视频片段中提取目标图像帧,包括:
当所述目标视频片段中包含关键帧时,将所述目标视频片段中的一帧关键帧获取所述目标图像帧;
当所述目标视频片段中不包含关键帧时,将所述目标视频片段中的第一帧获取所述目标图像帧。
6.根据权利要求4所述的方法,其特征在于,所述根据所述目标图像帧获取所述目标台词对应的图像帧,包括:
当所述目标图像帧上不存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧;
或者,当所述目标图像帧上不存在台词时,将所述目标台词叠加在所述目标图像帧上,获得所述目标台词对应的图像帧;
或者,当所述目标图像帧上存在台词时,将所述目标图像帧获取为所述目标台词对应的图像帧。
7.根据权利要求1所述的方法,其特征在于,所述根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少一个图像帧组,包括:
按照展示时间从先到后的顺序,对所述各句台词分别对应的图像帧进行排列,获得图像帧队列;
获取所述图像帧队列中每相邻两帧图像帧之间的图像差异度;
按照数值从高到低的顺序,对所述图像帧队列中每相邻两帧图像帧之间的图像差异度进行排序;
以排列在前L位的图像差异度分别对应的相邻两帧图像帧为切分点,对所述图像帧队列进行切分,获得所述至少一个图像帧组,L为大于或者等于1的整数。
8.根据权利要求7所述的方法,其特征在于,所述获取所述图像帧队列中每相邻两帧图像帧之间的图像差异度,包括:
对于第一图像帧和第二图像帧,获取所述第一图像帧的图像参数和所述第二图像帧的图像参数,所述图像参数包括对应图像帧的灰度矩阵、图像特征以及平均颜色;所述第一图像帧和所述第二图像帧是所述图像帧队列中的任意相邻两帧图像帧;
根据所述第一图像帧的灰度矩阵以及所述第二图像帧的灰度矩阵,获取所述第一图像帧和所述第二图像帧之间的像素差异度;
根据所述第一图像帧的图像特征以及所述第二图片的图像特征,获取所述第一图片和所述第二图片之间的特征差异度;
根据所述第一图像帧的平均颜色以及所述第二图像帧的平均颜色,获取所述第一图像帧和所述第二图像帧之间的颜色差异度;
根据所述像素差异度、所述特征差异度以及所述颜色差异度,获取所述第一图像帧和所述第二图像帧之间的图像差异度。
9.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图,包括:
按照播放时间从先到后的顺序,对所述至少一个图像帧组各自的台词拼接图片进行排序,将排序后的所述至少一个图像帧组各自的台词拼接图片获取为所述视频的视频预览图;
或者,
按照播放时间从先到后的顺序,将所述至少一个图像帧组各自的台词拼接图片拼接为单幅图片,获得所述视频的视频预览图。
10.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
接收终端发送的视频获取请求,所述视频获取请求中包含目标台词拼接图片的标识;所述目标台词拼接图片是所述至少一个图像帧组各自的台词拼接图片中的任意台词拼接图片;
根据所述目标台词拼接图片的标识确定起始播放时间点,所述起始播放时间点不晚于所述目标台词拼接图片中的第一句台词对应的展示时间段的开始时间点;
将所述视频中,从所述起始播放点开始播放的视频数据推送给所述终端。
11.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
接收终端发送的图片获取请求,所述图片获取请求包含所述视频的播放进度;
确定所述至少一个图像帧组各自的台词拼接图片中,与所述视频的播放进度相对应的台词拼接图片;
向所述终端发送图片获取响应,所述图片获取响应用于指示所述终端展示与所述视频的播放进度相对应的台词拼接图片。
12.一种视频预览图生成装置,其特征在于,所述装置包括:
字幕文件获取模块,用于获取视频的字幕文件,所述字幕文件包含所述视频的各句台词,以及所述各句台词的展示时间段;
图像帧提取模块,用于根据所述字幕文件,从所述视频中提取所述各句台词分别对应的图像帧;
分组模块,用于根据所述各句台词分别对应的图像帧的展示时间顺序,以及,相邻图像帧之间的图像差异度,对所述各句台词分别对应的图像帧进行分组,获得至少两个图像帧组;
图片生成模块,用于生成每一个所述图像帧组对应的台词拼接图片,所述台词拼接图片包含对应的图像帧组中的各帧图像帧的台词区域图像;
预览图生成模块,用于根据所述至少一个图像帧组各自的台词拼接图片,生成所述视频的视频预览图。
13.根据权利要求12所述的装置,其特征在于,所述分组模块,具体用于,
按照展示时间从先到后的顺序,对所述各句台词分别对应的图像帧进行排列,获得图像帧队列;
获取所述图像帧队列中每相邻两帧图像帧之间的图像差异度;
按照数值从高到低的顺序,对所述图像帧队列中每相邻两帧图像帧之间的图像差异度进行排序;
以排列在前L位的图像差异度分别对应的相邻两帧图像帧为切分点,对所述图像帧队列进行切分,获得所述至少一个图像帧组,L为大于或者等于1的整数。
14.一种计算机设备,其特征在于,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一所述的视频预览图生成方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一所述的视频预览图生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910176620.3A CN109803180B (zh) | 2019-03-08 | 2019-03-08 | 视频预览图生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910176620.3A CN109803180B (zh) | 2019-03-08 | 2019-03-08 | 视频预览图生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109803180A true CN109803180A (zh) | 2019-05-24 |
CN109803180B CN109803180B (zh) | 2022-05-20 |
Family
ID=66561699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910176620.3A Active CN109803180B (zh) | 2019-03-08 | 2019-03-08 | 视频预览图生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109803180B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113617A (zh) * | 2019-06-13 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 一种图像压缩与解压缩的方法及装置 |
CN110968391A (zh) * | 2019-11-28 | 2020-04-07 | 珠海格力电器股份有限公司 | 一种截图方法、装置、终端设备及存储介质 |
CN111010610A (zh) * | 2019-12-18 | 2020-04-14 | 维沃移动通信有限公司 | 一种视频截图方法及电子设备 |
CN111182361A (zh) * | 2020-01-13 | 2020-05-19 | 青岛海信移动通信技术股份有限公司 | 一种通信终端及视频预览的方法 |
CN111818362A (zh) * | 2020-05-31 | 2020-10-23 | 武汉市慧润天成信息科技有限公司 | 一种多媒体数据云存储系统及方法 |
WO2021047532A1 (en) * | 2019-09-10 | 2021-03-18 | Huawei Technologies Co., Ltd. | Method and system for video segmentation |
CN112561798A (zh) * | 2020-12-09 | 2021-03-26 | 深圳传音控股股份有限公司 | 图片处理方法、移动终端以及存储介质 |
CN112752121A (zh) * | 2020-05-26 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 一种视频封面生成方法及装置 |
WO2021164326A1 (zh) * | 2020-02-17 | 2021-08-26 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、装置、设备及计算机可读存储介质 |
CN113438538A (zh) * | 2021-06-28 | 2021-09-24 | 康键信息技术(深圳)有限公司 | 短视频预览方法、装置、设备及存储介质 |
CN113766149A (zh) * | 2020-08-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 字幕拼接图片的拼接方法、装置、电子设备和存储介质 |
CN113806570A (zh) * | 2021-09-22 | 2021-12-17 | 维沃移动通信有限公司 | 图像生成方法和生成装置、电子设备和存储介质 |
CN114071184A (zh) * | 2021-11-11 | 2022-02-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种字幕定位方法、电子设备及介质 |
WO2022237448A1 (zh) * | 2021-05-08 | 2022-11-17 | 京东科技控股股份有限公司 | 语音识别训练集的生成方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073961A1 (en) * | 2011-09-20 | 2013-03-21 | Giovanni Agnoli | Media Editing Application for Assigning Roles to Media Content |
CN103634605A (zh) * | 2013-12-04 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 视频画面的处理方法及装置 |
US20160066055A1 (en) * | 2013-03-24 | 2016-03-03 | Igal NIR | Method and system for automatically adding subtitles to streaming media content |
CN106454151A (zh) * | 2016-10-18 | 2017-02-22 | 珠海市魅族科技有限公司 | 视频画面拼接方法及装置 |
CN107241616A (zh) * | 2017-06-09 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 视频台词提取方法、装置及存储介质 |
CN108259991A (zh) * | 2018-03-14 | 2018-07-06 | 优酷网络技术(北京)有限公司 | 视频处理方法及装置 |
CN108347643A (zh) * | 2018-03-05 | 2018-07-31 | 成都索贝数码科技股份有限公司 | 一种基于深度学习的字幕叠加截图的实现方法 |
CN108683924A (zh) * | 2018-05-30 | 2018-10-19 | 北京奇艺世纪科技有限公司 | 一种视频处理的方法和装置 |
CN108924626A (zh) * | 2018-08-17 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 图片生成方法、装置、设备及存储介质 |
CN108966004A (zh) * | 2018-06-27 | 2018-12-07 | 维沃移动通信有限公司 | 一种视频处理方法及终端 |
-
2019
- 2019-03-08 CN CN201910176620.3A patent/CN109803180B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130073961A1 (en) * | 2011-09-20 | 2013-03-21 | Giovanni Agnoli | Media Editing Application for Assigning Roles to Media Content |
US20160066055A1 (en) * | 2013-03-24 | 2016-03-03 | Igal NIR | Method and system for automatically adding subtitles to streaming media content |
CN103634605A (zh) * | 2013-12-04 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 视频画面的处理方法及装置 |
CN106454151A (zh) * | 2016-10-18 | 2017-02-22 | 珠海市魅族科技有限公司 | 视频画面拼接方法及装置 |
CN107241616A (zh) * | 2017-06-09 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 视频台词提取方法、装置及存储介质 |
CN108347643A (zh) * | 2018-03-05 | 2018-07-31 | 成都索贝数码科技股份有限公司 | 一种基于深度学习的字幕叠加截图的实现方法 |
CN108259991A (zh) * | 2018-03-14 | 2018-07-06 | 优酷网络技术(北京)有限公司 | 视频处理方法及装置 |
CN108683924A (zh) * | 2018-05-30 | 2018-10-19 | 北京奇艺世纪科技有限公司 | 一种视频处理的方法和装置 |
CN108966004A (zh) * | 2018-06-27 | 2018-12-07 | 维沃移动通信有限公司 | 一种视频处理方法及终端 |
CN108924626A (zh) * | 2018-08-17 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 图片生成方法、装置、设备及存储介质 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113617A (zh) * | 2019-06-13 | 2019-08-09 | 腾讯科技(深圳)有限公司 | 一种图像压缩与解压缩的方法及装置 |
CN110113617B (zh) * | 2019-06-13 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 图像压缩与解压缩的方法、装置、电子设备及存储介质 |
WO2021047532A1 (en) * | 2019-09-10 | 2021-03-18 | Huawei Technologies Co., Ltd. | Method and system for video segmentation |
US10963702B1 (en) | 2019-09-10 | 2021-03-30 | Huawei Technologies Co., Ltd. | Method and system for video segmentation |
CN110968391A (zh) * | 2019-11-28 | 2020-04-07 | 珠海格力电器股份有限公司 | 一种截图方法、装置、终端设备及存储介质 |
CN111010610B (zh) * | 2019-12-18 | 2022-01-28 | 维沃移动通信有限公司 | 一种视频截图方法及电子设备 |
CN111010610A (zh) * | 2019-12-18 | 2020-04-14 | 维沃移动通信有限公司 | 一种视频截图方法及电子设备 |
CN111182361A (zh) * | 2020-01-13 | 2020-05-19 | 青岛海信移动通信技术股份有限公司 | 一种通信终端及视频预览的方法 |
WO2021164326A1 (zh) * | 2020-02-17 | 2021-08-26 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、装置、设备及计算机可读存储介质 |
CN112752121B (zh) * | 2020-05-26 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 一种视频封面生成方法及装置 |
CN112752121A (zh) * | 2020-05-26 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 一种视频封面生成方法及装置 |
CN111818362A (zh) * | 2020-05-31 | 2020-10-23 | 武汉市慧润天成信息科技有限公司 | 一种多媒体数据云存储系统及方法 |
CN113766149A (zh) * | 2020-08-28 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 字幕拼接图片的拼接方法、装置、电子设备和存储介质 |
CN112561798A (zh) * | 2020-12-09 | 2021-03-26 | 深圳传音控股股份有限公司 | 图片处理方法、移动终端以及存储介质 |
WO2022237448A1 (zh) * | 2021-05-08 | 2022-11-17 | 京东科技控股股份有限公司 | 语音识别训练集的生成方法及装置 |
CN113438538A (zh) * | 2021-06-28 | 2021-09-24 | 康键信息技术(深圳)有限公司 | 短视频预览方法、装置、设备及存储介质 |
CN113438538B (zh) * | 2021-06-28 | 2023-02-10 | 康键信息技术(深圳)有限公司 | 短视频预览方法、装置、设备及存储介质 |
CN113806570A (zh) * | 2021-09-22 | 2021-12-17 | 维沃移动通信有限公司 | 图像生成方法和生成装置、电子设备和存储介质 |
CN114071184A (zh) * | 2021-11-11 | 2022-02-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种字幕定位方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109803180B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109803180A (zh) | 视频预览图生成方法、装置、计算机设备及存储介质 | |
CN104219559B (zh) | 在视频内容中投放不明显叠加 | |
CN109618222A (zh) | 一种拼接视频生成方法、装置、终端设备及存储介质 | |
CN106713964A (zh) | 一种生成视频摘要视点图的方法及装置 | |
CN110990631A (zh) | 视频筛选方法、装置、电子设备和存储介质 | |
CN109040779B (zh) | 字幕内容生成方法、装置、计算机设备及存储介质 | |
CN111310041B (zh) | 图文发布的方法、模型的训练方法、装置及存储介质 | |
CN110263272A (zh) | 用于呈现与主题相关的内容项目的系统和方法 | |
CN110832583A (zh) | 用于从多个图像帧生成概要故事板的系统和方法 | |
CN111277910B (zh) | 弹幕显示方法、装置、电子设备及存储介质 | |
CN105874449A (zh) | 用于提取和生成用于显示内容的图像的系统和方法 | |
EP3975109A1 (en) | Image processing method and apparatus, computer device and storage medium | |
CN105612511A (zh) | 标识并结构化相关数据 | |
CN112215171A (zh) | 目标检测方法、装置、设备及计算机可读存储介质 | |
CN111783712A (zh) | 一种视频处理方法、装置、设备及介质 | |
CN108604389A (zh) | 连续深度排序图像合成 | |
CN105659584A (zh) | 基于移动媒体渲染定制移动媒体字幕 | |
CN112149642A (zh) | 一种文本图像识别方法和装置 | |
CN112101344B (zh) | 一种视频文本跟踪方法及装置 | |
CN114339362A (zh) | 视频弹幕匹配方法、装置、计算机设备和存储介质 | |
CN109714627A (zh) | 一种评论信息的渲染方法、装置及设备 | |
CN111126390A (zh) | 一种用于识别媒体内容中标识图案的相关方法及装置 | |
CN111415396A (zh) | 一种图像生成方法、装置和存储介质 | |
CN114449355B (zh) | 一种直播互动的方法、装置、设备及存储介质 | |
CN115063800B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |