技术领域
[0001] 本公开涉及人工智能技术领域,并且更具体地,涉及一种用于确定视频中的视频段数的方法、装置、设备和计算机可读存储介质。
相关背景技术
[0002] 随着移动终端技术及网络技术的飞速发展,各种视频应用也在飞速地发展当中,视频制作成本也日益降低。用户可以在视频应用平台上传自己制作的视频,而其他用户可以通过视频搜索或视频推荐等方式观看该视频。每天上传到视频应用平台上的视频动辄上百万,在这些视频中存在大量对原创视频进行二次创作之后形成的新视频。例如,视频集锦是一种典型的二次创作类视频,其通常是对一些热门视频或具有相同主题的视频进行剪辑形成视频段、再将这些视频段进行拼接而形成的新视频,例如,时下各种诸如“搞笑视频集锦”、“童年影视混剪”等经过二次创作的集锦类视频。
[0003] 对于那些显式标示有“集锦”或“混剪”等关键字的集锦类视频,目前通常依赖于用户上传时的人工标示,但由于这种方法的有效性取决于用户的个人行为,很多用户在进行上传时并不会主动标示,导致在很多情况下难以获取此类信息。
[0004] 因此,需要一种自动高效的视频段识别方法,以确定视频所包含的视频段数。
具体实施方式
[0031] 为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
[0032] 在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
[0033] 除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
[0034] 为便于描述本公开,以下介绍与本公开有关的概念。
[0035] 本公开的用于确定视频中的视频段数的方法可以是基于人工智能(Artificial intelligence,AI)的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。例如,对于基于人工智能的视频段数确定方法而言,其能够以类似于人类获取和处理视频的方式来获取视频的画面特征并进行处理,以区分属于不同历史视频的独立视频段。人工智能通过研究各种智能机器的设计原理与实现方法,使本公开的视频段数确定方法具有获取和处理视频的视频帧的画面特征、对视频帧所属的历史视频进行推理与决策的功能。
[0036] 本公开的视频或视频集锦由用户通过其用户终端上传至视频应用平台,在每天上传到视频应用平台上的动辄上百万的视频中,存在大量这样的集锦类视频,其通常是对一些热门视频或具有相同主题的视频进行剪辑形成视频段、再将这些视频段进行拼接而形成的新视频。在这些集锦类视频显式标示有诸如“集锦”或“混剪”等关键字的情况下,如果可以在用户上传视频时自动识别出该视频所包含的视频段的个数,则一方面可以将其作为附加字段展示在该视频的诸如“时长”等字段之后,以便其他用户在浏览该视频时能够对此类信息有所感知,另一方面,在视频搜索或视频推荐等场景下,可以类似于通过“时长”字段等进行视频筛选,利用该附加字段对视频进行筛选过滤,也可以将一定视频时长下集锦类视频所包含的视频段数的大小作为指示视频的内容丰富度的特征因子以用于指导视频排序。通过利用视频中的视频段数的信息来优化视频应用平台的各种功能,可以有助于提升用户体验,但是,目前识别集锦类视频的视频段个数的方法通常依赖于用户上传时的人工标示,并且对视频段个数信息的利用并不充分,同时由于这种方法的有效性取决于用户的个人行为,很多用户在进行上传时并不会主动标示或标示信息错误,导致在很多情况下难以准确获取此类信息。
[0037] 因此,需要对视频进行自动处理,以实现更高效且准确的视频段数识别。可选地,本公开中对视频的处理采用了计算机视觉(Computer Vision,CV)技术。计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。由此,基于计算机视觉技术,本公开的用于确定视频中的视频段数的方法可以从视频中获取画面特征信息,并基于该特征信息进行对不同独立视频段的更快速准确的区分。
[0038] 计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理视频内容/行为识别等技术。其中,本公开的视频可以看作在时间上连续的视频帧的集合,因此,对于视频,本公开的实施例的用于确定其视频段数的方法可以基于对这些视频帧的分析处理。可选地,本公开的实施例的对视频所包含的视频帧的处理可以是基于内容的图像检索技术。基于内容的图像检索技术是由计算机对图像的特征进行分析,并提取诸如颜色、纹理和形状等的特征,然后将提取的特征作为向量存入图像特征库中,对于输入的检索图片做相同处理,利用相似性准则计算该检索图片与图像特征库中的每一个特征向量的相似度,并根据相似度排序输出给定相似度条件下的检索结果。在本公开的视频段区分过程中采用此技术对视频帧的画面内容进行特征提取以获得该视频帧的特征表示,不需要人为地对图像进行文本标注,能够为视频帧检索和视频段区分的效率带来很大提升。可选地,本公开的实施例所采用的基于内容的图像检索技术可以基于图像哈希(image hash)技术。图像哈希技术将高维图像数据映射到低维汉明空间,用二进制编码序列来表示图像,其是一种近似最近邻的搜索技术,大大缩短了检索时间,也减少了内存占用空间,其中,感知哈希技术是图像哈希技术中的一类,其使用离散余弦变换(Discrete Cosine Transform,DCT)将图像从像素域变换到频率域,并通过获取经变换的低频部分矩阵来获取图像的低频成分,基于低频成分信息来为每张图像生成作为其特征表示的“指纹”字符串,通过比较不同图像的“指纹”信息来判断图像的相似度,具有良好的鲁棒性。因此,本公开的实施例的用于确定其视频段数的方法可以利用感知哈希技术。
[0039] 综上所述,本公开的实施例提供的方案涉及人工智能、计算机视觉等技术,下面将结合附图对本公开的实施例进行进一步地描述。
[0040] 图1A是示出根据本公开的实施例的通过处理上传的视频向用户返回视频显示的场景100的示例示意图。图1B是示出根据本公开的实施例的视频显示页面的示例示意图。
[0041] 目前,已经存在多种视频应用平台。用户可以在其用户终端上安装的视频应用中发起视频上传。接着用户终端可以通过网络向该应用的服务器传输其视频数据。
[0042] 可选地,用户终端具体可以包括智能手机、平板电脑、MP3播放器、MP4播放器、膝上型便携计算机、车载终端、可穿戴设备等等。用户终端还可以是安装浏览器或各种应用(包括系统应用及第三方应用)的客户端。网络可以是基于互联网和/或电信网的物联网(Internet of Things),其可以是有线网也可以是无线网,例如,其可以是局域网(LAN)、城域网(MAN)、广域网(WAN)、蜂窝数据通信网络等能实现信息交换功能的电子网络。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0043] 如图1A所示,服务器可以对接收的视频数据进行处理与存储,使得在各种用户终端都能正确显示用户上传的视频,并将经处理并存储的视频通过网络返回到用户终端进行显示。
[0044] 如图1B所示,在用户“搞笑博主”通过其用户终端上安装的视频应用完成如图1A所示的视频上传后,该用户以及其他用户都可以通过各自的用户终端在该视频应用中的视频显示页面上观看所上传的视频。该视频显示页面上显示了用户“搞笑博主”上传的视频的基本信息,可以包括视频时长、视频描述、视频进度条等,此外,该视频显示页面还可以显示基于用户当前收看的视频而进行的视频推荐页面的入口。
[0045] 在该视频显示页面上,视频描述部分是由用户“搞笑博主”在发起视频上传时自行输入的信息,视频应用对此信息所需包括的具体内容并无明确要求。部分用户在上传视频时会主动标示与该视频相关的诸如视频来源、视频内容等信息以供观看者获知,其中,对于在一些热门视频或具有相同主题的视频的基础上进行剪辑与拼接而形成的集锦类视频,部分用户还会标示该视频所包含的视频段的个数。对于此视频段数,除了可以用于其他用户在浏览该视频时能够对此类信息有所感知之外,如果该服务器的处理系统能够识别出该视频所包含的此类信息,则可以通过利用此类信息来优化视频应用平台对于视频的筛选过滤处理,以优化视频应用的诸如视频显示、搜索或推荐等的各种功能,从而大大提升用户体验。但是,在每天上传到视频应用平台上的大量视频中,很多用户在进行上传时并不会如此主动标示,甚至存在有意或无意的错误标示的情况,造成在很多情况下无法获取或者无法准确获取此类信息,导致无法实现上述优点。因此,需要对视频应用的处理进行改进,使其能够自动且准确地识别出视频所包含的视频段的个数,而无论用户是否主动且正确地标示出此类信息。
[0046] 本公开基于此,提供了一种用于确定视频的视频段数的方法,其通过利用人工智能技术自动获取视频的画面特征并执行处理,以高效区分属于视频中的各个独立视频段。
[0047] 本公开的实施例所提供的方法相比于基于人工主动标示的视频段数确定方法而言,能够在用户进行视频上传的同时自动且准确地识别视频中的不同视频段并获得视频段数,从而降低了用户操作的复杂度,提升了用户体验。
[0048] 本公开的实施例利用人工智能技术,根据视频中的视频帧的画面特征来确定该视频帧对应的历史视频索引链,并基于对应于该视频的历史视频索引链的交集来区分视频中的不同视频段,从而实现自动高效且准确的视频段数识别。通过本公开的实施例的方法能够对视频应用平台的海量视频的视频段数进行快速识别,以将所识别的视频段数作为显式信息提供给用户,以及基于所识别的视频段数优化视频搜索或视频推荐等场景下的筛选及排序功能,从而达到提升用户体验的效果。应了解,尽管在本公开的描述中采用视频集锦作为示例来描述视频段的确定方法,本公开实施例并不限于对视频集锦进行视频段分类,而且可以适用于对其他视频的视频段分类。
[0049] 图2是示出根据本公开的实施例的用于确定视频的视频段数的方法200的流程图。
[0050] 根据本公开的实施例,所述视频可以包括至少两个独立视频段,其中,所述至少两个独立视频段中在时间上相邻的两个视频段属于不同的历史视频,所述在时间上相邻的两个视频段是指在所述视频中以先后顺序存在的两个视频段。所述视频可以为视频集锦、视频评论、新闻视频、娱乐视频、美食视频等中的至少一部分。
[0051] 如图2所示,在步骤S201中,可以按照预定的时间间隔从所述视频中提取第一数量的视频帧。
[0052] 可选地,通过对当前视频按照预定的时间间隔进行帧切割,可以将对连续的视频的处理转化为对所得的多个视频帧的处理,从而在保证一定识别精度的条件下简化计算。所得的第一数量的视频帧是在当前视频所包含的在时间上连续的所有视频帧中按照该预定的时间间隔采样的视频帧。
[0053] 例如,该预定的时间间隔可以根据处理系统的计算能力和实际识别精度要求来确定,可以通过调节该预定的时间间隔来控制视频段数识别的准确度和计算复杂度。
[0054] 在步骤S202中,对于所述第一数量的视频帧中的每一视频帧,可以确定与所述视频帧对应的历史视频索引链,其中,所述历史视频索引链是通过利用所述视频帧所属的历史视频的视频索引构成的。
[0055] 根据本公开的实施例,上述确定与所述视频帧对应的历史视频索引链的操作可以包括基于预先生成的历史视频索引链集来确定与所述视频帧对应的历史视频索引链,其中,所述预先生成的历史视频索引链集是基于历史视频集生成的,所述历史视频集可以包括多个历史视频,并且所述预先生成的历史视频索引链集可以包括第二数量的历史视频索引链,每个历史视频索引链对应于一个历史视频帧,每个历史视频帧属于至少一个历史视频。
[0056] 图3A是示出根据本公开的实施例的生成与视频帧对应的历史视频索引链的示意图。可选地,该历史视频索引链集可以包括历史视频集中的至少一个历史视频的至少部分历史视频帧对应的历史视频索引链,该历史视频集中的所述至少一个历史视频的至少部分历史视频帧所对应的历史视频索引链即为上述第二数量的历史视频索引链。该历史视频集可以包括视频应用平台中当前存在的所有历史视频,也可以是根据当前视频的类别而选出的同类别的历史视频的集合,可以通过调整该历史视频集的大小来控制计算量以及内存占用空间。例如,图3A示出了历史视频索引链集的示意结构,该历史视频索引链集可以由第二数量的历史视频帧及其对应的历史视频索引链构成。例如,在本示例中,第二数量为M,在第i个历史视频帧属于mi个历史视频的情况下,与历史视频帧i对应的历史视频索引链可以包括这mi个历史视频的历史视频索引(可以如图3A所示分别记为视频 视频 视频),其中M为大于等于3的整数,mi为大于等于1的整数。
[0057] 根据本公开的实施例,所述历史视频索引链是通过将所述历史视频帧所属的历史视频的视频索引按照索引顺序进行排列而生成的,所述索引顺序是按照索引递增的顺序,并且历史视频的视频索引是基于所述历史视频的上传时间的相对大小而确定的。
[0058] 可选地,该历史视频的视频索引可以根据该历史视频的上传时间在视频应用平台中当前存在的所有历史视频的上传时间中所处的相对位置来确定。其中,在本公开的实施例中,历史视频的上传时间是指该历史视频在视频应用平台中上传成功的时间或生成记录的时间,对于视频应用平台中记录的所有视频采用相同的计时方式。例如,历史视频的视频索引可以随历史视频的上传时间递增,即,越早上传的历史视频可以具有越小的索引,并且在视频应用平台中每上传一个新的历史视频时,该新的历史视频的视频索引可以是其之前的历史视频的视频索引加1。对于与视频帧对应的历史视频索引链,其所包括的历史视频索引可以是该视频帧所属的多个历史视频的视频索引以递增的顺序进行排列。例如,在上述示例中,与历史视频帧i对应的历史视频索引链中的视频索引 的大小关系可以是 可选地,在视频应用平台中存在新上传的视频时,可以基于该新
上传的视频来实时更新当前历史视频索引链集。
[0059] 根据本公开的实施例,基于预先生成的历史视频索引链集,确定与所述视频帧对应的历史视频索引链可以包括通过确定与所述视频帧对应的历史视频帧,来基于预先生成的历史视频索引链集,确定与所述视频帧对应的历史视频索引链。其中,根据本公开的实施例,确定与所述视频帧对应的历史视频帧可以包括对于所述视频帧,生成所述视频帧的特征表示,所述特征表示用于表示所述视频帧的内容特征;获取所述历史视频索引链集中每个历史视频索引链所对应的历史视频帧的特征表示;以及分别确定所述视频帧的特征表示与每个所述历史视频帧的特征表示之间的相似度,并将相似度满足相似度条件的历史视频帧作为与所述视频帧对应的历史视频帧。其中,生成视频帧的特征表示的具体操作可以参见如下参考图4A和图4B所述。
[0060] 可选地,通过将当前视频帧的特征表示与历史视频索引链集中每个历史视频索引链所对应的历史视频帧的特征表示进行相似度比较,可以确定与当前视频帧的相似度满足预设的相似度条件的历史视频帧,此时可以将该历史视频帧作为当前视频帧的相似视频帧,并将该历史视频帧所对应的历史视频索引链作为当前视频帧的历史视频索引链。例如,如图3A所示,在确定当前视频帧a与历史视频帧i满足相似度条件时,将该历史视频帧i的历史视频索引链作为视频帧a的历史视频索引链,因此,与视频帧a对应的历史视频索引链可以包括视频 视频 视频 可选地,该相似度条件可以是与当前视频帧的特征表示的相似度达到预设的相似度阈值且/或与当前视频帧的特征表示具有最高相似度。
[0061] 通过对视频中的每一视频帧执行上述操作,可以生成对应于该视频的历史视频索引链的集合。图3B是示出根据本公开的实施例的与视频对应的历史视频索引链的示意图。其中,根据本公开的实施例,所述第一数量为N,所述第一数量的视频帧为在时间上连续的N个视频帧,其中N是大于等于3的整数。如图3B所示,视频A可以包括从其中按照预定的时间间隔提取的、在时间上连续的N个视频帧(视频帧1、视频帧2、...、视频帧N),每个视频帧与一个通过参考图3A所述的操作生成的历史视频索引链相对应。其中,本公开中的“在时间上连续的N个视频帧”应被理解为从视频中按照一定时间间隔连续地提取出的N个视频帧,这N个视频帧在时间上呈先后顺序且间隔固定。以视频索引 为例,其指向视频帧i的第mAi个(最后一个)历史视频,mAi可以表示与视频帧i对应的历史视频索引链所包含的视频索引的个数,即包括视频帧i的历史视频的个数,mAi可以随视频帧变化而改变。本公开的视频至少包括两个独立视频段,因此N可以是大于等于3的整数。
[0062] 回到图2,在步骤S203中,基于所述第一数量的视频帧中的每一视频帧所对应的历史视频索引链,可以确定属于同一历史视频的在时间上连续的至少两个视频帧,并将所确定的属于同一历史视频的在时间上连续的至少两个视频帧识别为独立视频段。
[0063] 可选地,可以基于如图3B所示的与第一数量的视频帧对应的第一数量的历史视频索引链之间的交集来确定视频中属于同一历史视频的视频段。并且可选地,可以基于相邻视频帧对应的相邻历史视频索引链之间的交集来确定属于不同历史视频的相邻视频帧,从而将视频划分为多个独立视频段。此步骤的具体操作可以参见如下参考图5A和图5B所述。
[0064] 在步骤S204中,可以确定所识别出的独立视频段的数量,并将所述数量确定为所述视频中的所述视频段数。
[0065] 通过上述步骤S203确定了当前视频中的多个独立视频段之后,可以将这些独立视频段的数量确定为视频中的视频段数。
[0066] 此外,作为步骤S202中的生成与所述视频帧对应的历史视频索引链的操作的替代,根据本公开的实施例,生成与所述视频帧对应的历史视频索引链还可以包括在历史视频集中查找与所述视频帧的相似度满足相似度条件的相似视频帧,并确定所述相似视频帧所属视频的视频索引;以及将所述相似视频帧所属视频的视频索引,按照索引顺序进行排列,以生成所述视频帧对应的历史视频索引链。其中,所述索引顺序是按照索引递增的顺序,并且历史视频的索引是基于所述历史视频的上传时间的相对大小而确定的。
[0067] 可选地,此步骤直接在历史视频集中检索视频中的视频帧的相似视频帧以及确定由包括该相似视频帧的历史视频的视频索引按照递增的顺序排列的历史视频索引链。
[0068] 其中,根据本公开的实施例,在历史视频集中查找与所述视频帧相似度满足相似度条件的相似视频帧可以包括对于所述视频帧,生成所述视频帧的特征表示,所述特征表示用于表示所述视频帧的内容特征;获取所述历史视频集中每个历史视频帧的特征表示;以及分别确定所述视频帧的特征表示与每个所述历史视频帧的特征表示之间的相似度,并将相似度满足相似度条件的历史视频帧作为所述相似视频帧。可选地,该相似度条件可以是与当前视频帧的特征表示的相似度达到预设的相似度阈值且/或与当前视频帧的特征表示具有最高相似度。类似于步骤S202中所述,生成视频帧的特征表示的具体操作可以参见如下参考图4A和图4B所述。
[0069] 通过此方法200的上述步骤,基于视频中的视频帧画面的特征表示来确定该视频帧对应的历史视频索引链并基于对应于该视频的历史视频索引链的交集来确定视频中的独立视频段,可以对视频实现自动高效且准确的视频段数识别。
[0070] 图4A是示出根据本公开的实施例的生成视频帧的特征表示的流程图。图4B是示出根据本公开的实施例的生成视频帧的特征表示的示意图。
[0071] 根据本公开的实施例,所述特征表示可以是基于感知哈希编码的,因此所述特征表示可以是基于感知哈希所编码的二值数串。
[0072] 根据本公开的实施例,生成视频帧的特征表示可以包括以下步骤。
[0073] 在步骤S401中,可以将所述视频帧缩小至第一预定尺寸并进行灰度化处理,以将所述视频帧转换为第一预定尺寸的灰度图像。
[0074] 如图4B的操作①所示,可以将原始视频帧缩小至第一预定尺寸,并且将原始的彩色画面转化为灰度图像。此步骤将原始视频帧中的高频信息有效去除,展示了图像的低频成分信息,同时只保留了灰度信息。该图像低频成分用于确定图像的大体结构,而高频成分用于完善图像的细节。本公开的实施例在判断视频帧之间的相似程度时,主要关注于视频帧的低频成分部分的差异。通过上述图像降维和缩放处理,可以减少后续计算量。例如,在图4B的小鸟图像中,诸如小鸟的眼睛、嘴巴等细节为高频信息,而背景的天空、树枝等变化很小的部分为低频信息,通过降维和缩放处理之后,去除了高频信息,且将原始视频帧缩放至第一预定尺寸(例如,图4B中的32*32大小)。
[0075] 在步骤S402中,可以对所述第一预定尺寸的灰度图像进行离散余弦变换,以生成第二预定尺寸的矩阵,所述第二预定尺寸小于所述第一预定尺寸。
[0076] 可选地,在获得第一预定尺寸的灰度图像之后,可以通过利用离散余弦变换将图像从像素域转换到频率域,得到新的DCT矩阵,该DCT矩阵中的数据从左上角到右下角代表越来越高频率的系数,由于经过DCT变换后的数据能量非常集中,通常只有左上角部分的数值是非零的,也就是能量都集中在离散余弦变换后的直流和低频部分,因此,为了进一步减小计算量,本公开的实施例可以仅保留该DCT矩阵的左上角部分的第二预定尺寸的矩阵。例如,通过图4B中的操作②,将第一预定尺寸的灰度图像转换为第二预定尺寸为8*8的矩阵。
[0077] 在步骤S403中,可以计算所述第二预定尺寸的矩阵所包含的矩阵元素的均值,并基于所述均值确定所述视频帧的特征表示。
[0078] 可选地,可以通过将该第二预定尺寸的矩阵中的各元素按照一定顺序通过某个门限来对该视频帧进行编码,从而将此编码作为该视频帧的特征表示。如图4B的操作③所示,在本公开的实施例中,该门限可以是该第二预定尺寸的矩阵中的所有元素的均值μ。此外,该门限还可以是诸如第二预定尺寸的矩阵中的所有元素的中位数等,本公开的实施例中的门限的具体取值方式仅用作示例而非限制。
[0079] 根据本公开的实施例,基于所述均值确定所述视频帧的特征表示可以包括对于所述第二预定尺寸的矩阵中的每一元素,将其与所述均值进行比较,在所述元素大于或等于所述均值的情况下,将所述元素对应的值设置为1,并且在所述元素小于所述均值的情况下,将该元素对应的值设置为0;以及按照预定顺序对所述第二预定尺寸的矩阵中的每一元素对应的值进行组合,以生成所述视频帧的二值数串。如图4B的操作④所示,将该第二预定尺寸的矩阵中的所有元素按照一定顺序(例如,从左至右及从上至下的顺序)依次与该均值μ进行比较。以第i行第j列的元素ui,j为例,当该ui,j大于或等于均值μ时,将第二预定尺寸的矩阵中该元素的值设置为1,否则设置为0。在完成该设置之后,如操作⑤所示,可以取出下一元素ui+1,j或ui,j+1来与均值μ执行同样的比较与设置操作,直到该矩阵中的所有元素都比较完毕。可选地,可以按照进行比较的顺序将经设置的这些元素的值进行组合从而生成一个二值数串,作为当前视频帧的特征表示。由于生成的二值数串能够反映画面中相对于平均频率的相对比例,因此在视频帧的整体结构保持不变的情况下,特征表示也不会改变,使得本公开的实施例的方法具有更好的鲁棒性。
[0080] 根据本公开的实施例,基于以上描述,确定所述视频帧的特征表示与所述历史视频帧的特征表示之间的相似度可以包括确定所述视频帧的二值数串与所述历史视频帧的二值数串之间的汉明距离。可选地,可以比较视频帧的二值数串与历史视频帧的二值数串之间不同的位的个数。可选地,该汉明距离的计算方法还可以基于分层计算,例如,首先基于8×8的较小矩阵该计算该汉明距离,然后对于汉明距离小于第一阈值的情况所对应的历史视频帧,再基于较大矩阵(例如,16*16的矩阵)计算汉明距离,如果存在汉明距离小于第二阈值(小于第一阈值)的历史视频帧,则其与当前视频帧的相似度更高。
[0081] 图5A是示出根据本公开的实施例的确定相邻视频帧是否属于同一历史视频的流程图。图5B是示出根据本公开的实施例的确定相邻视频帧是否属于同一历史视频的示意图。图5C是示出根据本公开的实施例的确定两个历史视频索引链的交集的示意图。
[0082] 根据本公开的实施例,确定属于同一历史视频的在时间上连续的至少两个视频帧可以包括如图5A所示的步骤。
[0083] 在步骤501中,对于所述第一数量的视频帧中的视频帧,确定所述视频帧是否属于其前一视频帧所属的历史视频。
[0084] 可选地,确定当前视频帧是否属于其前一视频帧所在的历史视频可以基于当前视频帧与前一视频帧分别对应的历史视频索引链的交集来确定,该交集可以指示同时包括当前视频帧和前一视频帧可能属于其前一视频帧所在的历史视频。
[0085] 根据本公开的实施例,可以确定所述N个视频帧中的第一视频帧对应的历史视频索引链和第二视频帧对应的历史视频索引链的交集,作为第一交集,其中,所述第一视频帧和所述第二视频帧在时间上相邻且呈先后顺序。
[0086] 可选地,该第一视频帧和第二视频帧可以分别是该视频中的第一个视频帧和第二个视频帧,还可以分别是该视频的某一视频段中的第一个视频帧和第二个视频帧。本公开的实施例使用第一视频帧和第二视频帧作为示例来描述对于视频所包含的每一视频段中的第一个视频帧和第二个视频帧的操作。
[0087] 在步骤502中,在确定属于其前一视频帧所属的历史视频的情况下,可以将所述视频帧与其前一视频帧确定为属于同一历史视频的在时间上连续的视频帧,并将所述视频帧及其前一视频帧共同所属的历史视频作为所述视频帧所属的历史视频。
[0088] 根据本公开的实施例,在所述第一交集非空的情况下,可以确定所述第一视频帧和第二视频帧属于同一历史视频,并基于所述第一交集生成所述第二视频帧的更新的历史视频索引链。根据本公开的实施例,对于N个视频帧中的其余视频帧,确定所述视频帧对应的历史视频索引链与其前一视频帧的更新的历史视频索引链的交集作为第二交集,在所述第二交集非空的情况下,基于所述第二交集生成所述视频帧的更新的历史视频索引链。
[0089] 如图5B所示,对于当前视频段中的第一个视频帧和第二个视频帧,利用其对应的历史视频索引链的第一交集来更新第二个视频帧对应的历史视频索引链,而对于该第二个视频帧之后的每个视频帧,可以以该视频帧对应的历史视频索引链与其前一视频帧的更新的历史视频索引链的交集作为第二交集,在第二交集非空的情况下利用该第二交集来更新该视频帧对应的历史视频索引链。例如,第一视频帧与第二视频帧的第一交集为{1,3,4,5,7},而第三视频帧对应的历史视频索引链所包含的视频索引为{2,5,7},此时第二交集为{5,7},因此该第三视频帧的更新的历史视频索引链所包含的视频索引为{5,7}。
[0090] 在步骤503中,在确定不属于其前一视频帧所属的历史视频的情况下,将其前一视频帧作为所述历史视频的结束帧,并将所述视频帧作为新的历史视频的开始帧。
[0091] 根据本公开的实施例,在所述第二交集为空的情况下,可以确定所述视频帧与其前一视频帧不属于同一历史视频,并将其前一视频帧确定为其前一视频帧所属的历史视频的结束帧,以及将所述视频帧确定为新的历史视频的开始帧,并将所述视频帧对应的历史视频索引链作为其更新的历史视频索引链。
[0092] 可选地,可以重复步骤502的操作,直至在第p视频帧(例如,在图5B中为视频帧4)时确定该第二交集为空,其中p小于等于N,在该第二交集为空的情况下,可以基于该第p视频帧来划分视频段,其中,将第p‑1视频帧确定前一历史视频的结束点,并将该第p视频帧确定为当前历史视频的开始点。例如,如图5B所示,在基于视频帧3与视频帧4求得的第二交集为空集的情况下,在视频帧3与视频帧4之间进行分段,视频帧3为前一视频段的结束帧,而视频帧4为当前视频段的开始帧。
[0093] 其中,确定两个历史视频索引链的交集的操作可以如图5C所示。根据本公开的实施例,确定两个历史视频索引链的交集可以包括设置第一指针和第二指针,分别指向所述两个历史视频索引链中的第一历史视频索引链和第二历史视频索引链的链首。如图5C所示,以视频帧1和视频帧2为例,第一指针和第二指针分别指向视频帧1的历史视频索引链中的视频索引 和视频帧2的历史视频索引链中的视频索引
[0094] 接下来,可以比较所述第一指针指向的历史视频索引和所述第二指针指向的历史视频索引,直到所述第一指针和所述第二指针都指向其对应的历史视频索引链的链尾,其中,在所述第一指针指向的历史视频索引与所述第二指针指向的历史视频索引不相等的情况下,将所述第一指针和所述第二指针中指向较小索引的指针向其对应的历史视频索引链的下一历史视频索引移动。例如,第一指针和第二指针当前指向的视频索引并不相等,并且因此,如图5C的操作①所示,将指向较小索引的第二指针后移至指向下一视频索引
[0095] 在所述第一指针指向的历史视频索引与所述第二指针指向的历史视频索引相等的情况下,将所述第一指针指向的历史视频索引添加到所述两个历史视频索引链的交集。例如,第一指针和第二指针当前指向的视频索引相等,即 因此,如图5C的操作②所示,可以将第一指针当前指向的视频索引 添加至两个历史视频索引链的交集。此后,可以将第一指针和第二指针后移,如操作③和④所示。
[0096] 当第一指针和第二指针分别指向其对应的历史视频索引链的链尾(例如图5C所示的 和 )时,两个历史视频索引链的求交过程结束,此时可以获得该两个历史视频索引链的交集。
[0097] 图6是示出根据本公开的实施例的视频的显示页面和筛选页面的示意图。
[0098] 如图6所示,与图1B所示的显示页面相比,根据本公开的实施例的视频的显示页面除了原始显示的诸如视频时长、视频描述、视频进度条等的基本信息外,还可以向观看者提供更多信息,例如在视频时长之后显示的当前视频的视频段数。此外,根据本公开的实施例的视频的显示页面还可以对进度条显示进行改进,例如基于所识别的位于视频分段处的视频帧,在进度条中显示分段信息,以便观看者获知关于当前视频播放进度的更多信息。
[0099] 此外,在视频筛选页面中,还可以基于本公开的实施例的方法添加更多偏好选项供用户选择。例如,可以将视频段数作为一项独立的筛选条件用于对视频进行筛选过滤。附加地或可替代地,还可以将一定视频时长下集锦类视频所包含的视频段数的大小作为指示视频的内容丰富度的特征因子以用于指导优先推荐功能中的视频排序。
[0100] 通过根据本公开的实施例的方法,用户可以减少在视频描述中的额外操作,同时其他用户能够获知更多信息,还能基于通过该方法所获得的信息为用户提供更多用于偏好设置的选项,从而提升用户体验。
[0101] 图7是示出根据本公开的实施例的用于确定视频中的视频段数的装置700的示意图。
[0102] 根据本公开的实施例,用于确定视频中的视频段数的装置700可以包括视频帧提取模块701、索引链获取模块702、视频段识别模块703和视频段数确定模块704。
[0103] 其中,视频帧提取模块701可以被配置为按照预定的时间间隔从所述视频中提取第一数量的视频帧。可选地,该预定的时间间隔可以根据处理系统的计算能力和实际识别精度要求来确定,通过调节该预定的时间间隔可以控制视频段数识别的准确度和计算复杂度。
[0104] 索引链获取模块702可以被配置为对于所述第一数量的视频帧中的每一视频帧,确定与所述视频帧对应的历史视频索引链,其中,所述历史视频索引链是通过利用所述视频帧所属的历史视频的视频索引构成的。
[0105] 根据本公开的实施例,所述索引链获取模块702可以被配置为执行如参考图3A所述的基于预先生成的历史视频索引链集来确定与所述视频帧对应的历史视频索引链的操作。其中,对于与视频帧对应的历史视频索引链,其所包括的历史视频索引可以是该视频帧所属的多个历史视频的视频索引以递增的顺序进行排列。
[0106] 视频段识别模块703可以被配置为基于所述第一数量的视频帧中的每一视频帧所对应的历史视频索引链,确定属于同一历史视频的在时间上连续的至少两个视频帧,并将所确定的属于同一历史视频的在时间上连续的至少两个视频帧识别为独立视频段。如参考图5A和图5B所述,可以基于与第一数量的视频帧对应的第一数量的历史视频索引链之间的交集来确定视频中属于同一历史视频的视频段。并且可以基于相邻视频帧对应的相邻历史视频索引链之间的交集来确定属于不同历史视频的相邻视频帧,从而将视频划分为多个独立视频段。
[0107] 视频段数确定模块704可以被配置为确定所识别出的独立视频段的数量,并将所述数量确定为所述视频中的视频段数。在确定了当前视频中的多个独立视频段之后,可以将这些独立视频段的数量确定为视频中的视频段数。
[0108] 根据本公开的又一方面,还提供了一种用于确定视频中的视频段数的设备。图8示出了根据本公开的实施例的用于确定视频中的视频段数的设备2000的示意图。
[0109] 如图8所示,所述用于确定视频中的视频段数的设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的用于确定视频中的视频段数的方法。
[0110] 本公开的实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
[0111] 一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
[0112] 例如,根据本公开的实施例的方法或装置也可以借助于图9所示的计算设备3000的架构来实现。如图9所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的用于确定视频中的视频段数的方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图8所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图9示出的计算设备中的一个或多个组件。
[0113] 根据本公开的又一方面,还提供了一种计算机可读存储介质。图10示出了根据本公开的存储介质的示意图4000。
[0114] 如图10所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的根据本公开的实施例的用于确定视频中的视频段数的方法。本公开的实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0115] 本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于确定视频中的视频段数的方法。
[0116] 本公开的实施例所提供的方法相比于基于人工主动标示的视频段数确定方法而言,能够在用户进行视频上传的同时自动且准确地识别视频中的不同视频段并获得视频段数,从而降低了用户操作的复杂度,提升了用户体验。
[0117] 本公开的实施例利用人工智能技术,根据视频中的视频帧的画面特征来确定该视频帧对应的历史视频索引链,并基于对应于该视频的历史视频索引链的交集来区分视频中的不同视频段,从而实现自动高效且准确的视频段数识别。通过本公开的实施例的方法能够对视频应用平台的海量视频的视频段数进行快速识别,以将所识别的视频段数作为显式信息提供给用户,以及基于所识别的视频段数优化视频搜索或视频推荐等场景下的筛选及排序功能,从而达到提升用户体验的效果。
[0118] 需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0119] 一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
[0120] 在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。