具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关本公开相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于确定对象添加方式的方法或用于确定对象添加方式的装置的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件、视频编辑类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持视频编辑的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如为终端设备101、102、103上显示的视频编辑软件提供支持的后台服务器。后台服务器可以对接收到的目标视频和待添加至目标视频中的待添加对象集合进行分析等处理,并将所生成的处理结果(如对象添加指示信息)反馈给终端设备。
需要说明的是,上述目标视频和待添加至目标视频中的待添加对象集合也可以直接存储在服务器105的本地,服务器105可以直接提取本地所存储的目标视频和待添加至目标视频中的待添加对象集合并进行处理,此时,可以不存在终端设备101、102、103和网络104。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于确定对象添加方式的方法一般由服务器105执行,相应地,用于确定对象添加方式的装置一般设置于服务器105中。可选地,在满足计算能力的条件下,本申请实施例所提供的用于确定对象添加方式的方法也可以由终端设备101、102、103执行,相应地,用于确定对象添加方式的装置也可以设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于确定对象添加方式的方法的一个实施例的流程200。该用于确定对象添加方式的方法包括以下步骤:
步骤201,获取目标视频和待添加至目标视频中的待添加对象集合。
在本实施例中,用于确定对象添加方式的方法的执行主体(如图1所示的服务器105)可以通过有线连接方式或者无线连接方式获取目标视频和待添加至目标视频中的待添加对象集合。其中,上述目标视频可以指用于向其中添加待添加对象的视频。上述目标视频例如可以包括电影、电视剧集、短视频、电子相册等等。上述待添加对象可以包括各种能够添加至上述目标视频中的对象。其可以包括但不限于以下至少一项:图像,文本框,贴纸。
作为示例,上述执行主体可以获取预先存储于本地的目标视频和待添加至目标视频中的待添加对象集合。作为又一示例,上述执行主体也可以从与之通信连接的电子设备(例如图1所示的终端设备)获取目标视频和待添加至目标视频中的待添加对象集合。作为再一示例,上述执行主体也可以从本地获取目标视频,并从与之通信连接的电子设备(例如图1所示的终端设备)获取待添加至目标视频中的待添加对象集合。
步骤202,确定目标视频的各分镜对应的时间段。
在本实施例中,上述执行主体可以通过各种方式确定步骤201所获取的目标视频的各分镜对应的时间段。作为示例,上述执行主体可以采用各种镜头边界检测(ShotBoundary Detection)技术来确定上述目标视频的各分镜对应的时间段。其中,上述镜头边界检测技术可以包括但不限于以下至少一项:像素比较法,颜色直方图比较法,块匹配比较法,双阈值检测法。上述分镜对应的时间段可以用于指示上述目标视频中包含的镜头对应的起始和结束时间。作为示例,第1镜头是从第0分第0秒至第0分第11秒,第2镜头是从第0分第12秒至第0分第26秒,第3镜头是从第0分第27秒至第1分第3秒。
步骤203,基于各分镜对应的时间段,确定待添加对象集合中的待添加对象在目标视频中的呈现时段。
在本实施例中,基于步骤202所确定的各分镜对应的时间段,上述执行主体可以通过各种方式确定待添加对象集合中的待添加对象在目标视频中的呈现时段。作为示例,上述执行主体可以首先获取各分镜所能分配的待添加对象的数目。例如,分镜对应的时间段所指示的时长为0~10秒的情况下可以分配1个待添加对象,分镜对应的时间段所指示的时长为11~30秒的情况下可以分配2个待添加对象等。之后,上述执行主体可以确定将待添加对象集合中的待添加对象添加至目标视频中的哪些分镜。例如,上述执行主体可以将待添加对象集合中的待添加对象随机分配至上述目标视频中的各分镜,也可以按照预设顺序进行分配。例如,上述执行主体可以将待添加对象1分配至第1分镜,将待添加对象3、5分配至第2分镜,将待添加对象2、4、6分配至第3分镜。之后,上述执行主体可以通过各种方式确定分配至各分镜的待添加对象在目标视频中的呈现时段。例如,上述执行主体可以在上述第1分镜对应的时间段内随机选取满足呈现时长(例如不少于2秒)条件的时间段作为待添加对象1的呈现时段(例如第8秒至第10秒)。再例如,上述执行主体可以将待添加对象1的呈现时段确定为在第1分镜对应的时间段的中间时段(例如第5秒至第7秒)。
在本实施例的一些可选的实现方式中,上述执行主体可以按照如下步骤确定待添加对象集合中的待添加对象在目标视频中的呈现时段:
第一步,确定目标视频的总时长。
在这些实现方式中,上述执行主体可以通过各种方式确定上述目标视频的总时长。
第二步,根据目标视频的总时长,确定待添加对象集合中的待添加对象在目标视频中的初始呈现时段。
在这些实现方式中,根据第一步所确定的目标视频的总时长,上述执行主体可以通过各种方式确定上述待添加对象集合中的待添加对象在目标视频中的初始呈现时段。作为示例,上述执行主体可以首先确定上述待添加对象集合中的待添加对象在目标视频中的初始呈现时段,以使上述待添加对象尽可能均匀分布于上述目标视频的总时长中。例如,上述包括3个分镜的目标视频的总时长为1分3秒,上述执行主体可以将上述待添加对象集合中的待添加对象的初始呈现时段确定为从第0分第8秒至第0分第9秒、第0分第17秒至第0分第18秒、第0分第26秒至第0分第27秒、第0分第35秒至第0分第36秒、第0分第44秒至第0分第45秒、第0分第53秒至第0分第54秒。
第三步,根据所确定的初始呈现时段与目标视频的各分镜对应的时间段的匹配,从待添加对象集合中选取跨分镜的待添加对象,生成目标对象集合。
在这些实现方式中,根据所确定的初始呈现时段与目标视频的各分镜对应的时间段的匹配,上述执行主体从待添加对象集合中选取跨分镜的待添加对象,生成目标对象集合。其中,上述跨分镜用于表征上述目标视频的分镜对应的时间段的起始或结束时刻包含在待添加对象的初始呈现时段中。作为示例,基于上述第2镜头从第0分第12秒至第0分第26秒、上述第3镜头从第0分第27秒至第1分第3秒,则上述执行主体可以将初始呈现时段为第0分第26秒至第0分第27秒的待添加对象添加至上述目标对象集合。
第四步,基于对目标对象集合中的目标对象的初始呈现时段的调整,确定待添加对象集合中的待添加对象在目标视频中的呈现时段。
在这些实现方式中,上述执行主体可以从目标对象集合中选取目标对象的初始呈现时段进行调整。而后,根据调整后的初始呈现时段和无需调整的初始呈现时段,上述执行主体可以确定上述待添加对象集合中的待添加对象在目标视频中的呈现时段。
基于上述可选的实现方式,上述执行主体可以通过首先确定待添加对象的初始呈现时段,在基于初始呈现时段进行调整而最终确定待添加对象集合中的待添加对象在目标视频中的呈现时段。从而,与直接确定各待添加对象的呈现时段相比,一方面减少了计算量,另一方面可以根据实际需求灵活调整呈现时段的生成方式。
可选地,上述执行主体可以通过以下步骤确定待添加对象集合中的待添加对象在目标视频中的呈现时段:
S1、确定目标对象集合中的目标对象是否满足预设的时段调整条件。
在这些实现方式中,上述执行主体可以通过各种方式确定上述第三步所生成的目标对象集合中的目标对象是否满足预设的时段调整条件。
可选地,上述执行主体可以通过以下步骤确定目标对象集合中的目标对象是否满足预设的时段调整条件:
S11、根据所确定的初始呈现时段和目标视频的各分镜对应的时间段,确定目标对象集合中的目标对象对应的镜头切换时刻。
在这些实现方式中,根据所确定的初始呈现时段和目标视频的各分镜对应的时间段,上述执行主体可以通过各种方式确定目标对象集合中的目标对象对应的镜头切换时刻。其中,上述目标对象对应的镜头切换时刻用于表征处于目标对象的初始呈现时段范围内的、上述目标视频的分镜对应的时间段的起始或结束时刻。作为示例,上述执行主体可以确定初始呈现时段为第0分第26秒(的开始)至第0分第27秒(的结束)的目标对象对应的镜头切换时刻为第0分第27秒(的开始),即前述第2镜头和第3镜头的切换时刻。
S12、根据所确定的镜头切换时刻,确定待调整的目标对象的初始呈现时段在时间维度上的调整方向。
在这些实现方式中,根据所确定的镜头切换时刻,上述执行主体可以通过各种方式确定待调整的目标对象的初始呈现时段在时间维度上的调整方向。其中,上述待调整的目标对象可以是上述目标对象集合中的任意目标对象。上述时间维度上的调整方向可以包括向前调整或向后调整。作为示例,向前调整可以是将从第0分第26秒至第0分第27秒的初始呈现时段调整为从第0分第20秒至第0分第21秒。作为又一示例,向后调整可以是将从第0分第26秒至第0分第27秒的初始呈现时段调整为从第0分第30秒至第0分第31秒。
在这些实现方式中,上述执行主体可以随机确定在时间维度上的调整方向,也可以根据预设规则确定。作为示例,上述预设规则可以是在时间维度上向目标视频的中间时刻(例如总时长的1/2)调整。作为又一示例,上述预设规则可以是向待调整的目标对象的初始呈现时段与所跨分镜对应的时间段重叠较多的分镜的方向调整。
S13、确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
在这些实现方式中,上述执行主体可以通过各种方式确定上述待调整的目标对象沿步骤S12所确定的调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
基于上述可选的实现方式,上述执行主体可以通过确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠来作为是否满足时段调整条件的依据。其中,上述处于调整方向上的分镜可以是1个分镜,也可以是连续的预设数目个分镜(例如待添加对象的初始呈现时段跨N个分镜的情况),在此不做限定。
可选地,上述执行主体可以通过以下步骤确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠:
S131、确定沿调整方向上、与待调整的目标对象的初始呈现时段最接近的待添加对象与待调整的目标对象之间的呈现间隔。
在这些实现方式中,上述执行主体可以首先确定沿上述步骤S12所确定的调整方向上、与上述待调整的目标对象的初始呈现时段最接近的待添加对象与上述待调整的目标对象之间的呈现间隔。其中,上述呈现间隔可以包括在时间维度上较前的待添加对象的初始呈现时段的结束时刻与相邻的较后的待添加对象的初始呈现时段的起始时刻之间的时间差。
S132、基于呈现间隔与待调整的目标对象的初始呈现时段所指示的时长的比较,确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
在这些实现方式中,作为示例,响应于确定上述步骤S131所确定的呈现间隔大于上述待调整的目标对象的初始呈现时段所指示的时长,上述执行主体可以确定上述待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段不重叠。作为又一示例,响应于确定上述步骤S131所确定的呈现间隔不大于上述待调整的目标对象的初始呈现时段所指示的时长,上述执行主体可以确定上述待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠。
基于上述可选的实现方式,上述执行主体可以通过相邻待添加对象的呈现间隔与目标对象的呈现时长之间的比较来作为是否满足时段调整条件的依据。
可选地,上述执行主体可以通过以下步骤确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠:
S13’1、确定目标分镜所对应的待添加对象的初始呈现时段的总时长。
在这些实现方式中,上述执行主体可以首先确定目标分镜。其中,上述目标分镜通常与上述调整方向一致、且与上述待调整的目标对象的初始呈现时段有重叠。作为示例,如前所述,若调整方向为在时间维度上向前调整,上述执行主体可以确定前述第2分镜为上述目标分镜。若调整方向为在时间维度上向后调整,上述执行主体可以确定前述第3分镜为上述目标分镜。之后,上述执行主体可以通过各种方式确定上述目标分镜所对应的待添加对象的初始呈现时段的总时长。作为示例,上述执行主体可以将除了目标对象之外的待添加对象的初始呈现时段与上述目标分镜所对应的时间段重叠的部分以及上述目标对象的初始呈现时段所指示的时长之和确定为上述总时长。
S13’2、根据总时长与目标分镜对应的时间段的时长,确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
在这些实现方式中,作为示例,响应于确定上述步骤S13’1所确定的总时长小于上述目标分镜对应的时间段的时长,上述执行主体可以确定上述待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段不重叠。作为又一示例,响应于确定上述步骤S13’1所确定的总时长不小于上述目标分镜对应的时间段的时长,上述执行主体可以确定上述待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠。
基于上述可选的实现方式,上述执行主体可以通过目标分镜所对应的待添加对象的初始呈现时段的总时长与目标分镜对应的时间段的时长之间的比较来作为是否满足时段调整条件的依据。
S14、根据待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠,确定目标对象集合中的目标对象是否满足预设的时段调整条件。
在这些实现方式中,根据待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠,上述执行主体可以通过各种方式确定目标对象集合中的目标对象是否满足预设的时段调整条件。作为示例,响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠,上述执行主体可以确定不满足上述预设的时段调整条件。
可选地,响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段不重叠,上述执行主体可以确定满足上述预设的时段调整条件。
可选地,上述执行主体还可以通过以下步骤确定目标对象集合中的目标对象是否满足预设的时段调整条件:
S141、响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠,确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段是否重叠。
在这些实现方式中,响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠,上述执行主体可以利用与前述步骤S13类似的方式确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段是否重叠。其中,上述调整方向例如是向前调整,则上述与调整方向的反方向可以是向后调整。
S142、响应于确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段不重叠,确定满足预设的时段调整条件。
在这些实现方式中,响应于确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段不重叠,上述执行主体可以确定满足预设的时段调整条件。
基于上述可选的实现方式,通过在时间维度上向两个方向尝试调整,可以尽可能地保证待添加对象不跨分镜,提升待添加对象在目标视频中的显示效果。
S2、对满足时段调整条件的目标对象的初始呈现时段进行调整,以使所调整的目标对象的调整后呈现时段不跨分镜。
在这些实现方式中,上述执行主体可以对步骤S1所确定的满足时段调整条件的目标对象的初始呈现时段进行调整,以使所调整的目标对象的调整后呈现时段不跨分镜。
基于上述可选的实现方式,上述执行主体可以对满足时段调整条件的目标对象进行调整,以使所调整的目标对象的调整后呈现时段不跨分镜,从而提升待添加对象在目标视频中的显示效果。
可选地,上述执行主体可以将满足上述时段调整条件的目标对象的初始呈现时段调整至新的分镜,以使新的分镜下的待添加对象均匀分布。作为示例,上述执行主体可以首先将满足上述时段调整条件的目标对象的初始呈现时段调整至与调整方向相匹配的新的分镜(例如所跨分镜的前一分镜)。之后,由于上述新的分镜中所包括的待添加对象的数目增加,上述执行主体可以将上述新的分镜中所包括的待添加对象的呈现时段进行调整,以使上述待添加对象在上述新的分镜中在时间维度上等间隔分布。从而进一步提升待添加对象在目标视频中的呈现效果,进而有助于提高业务质量(例如展示信息的转化率)。
步骤204,基于所确定的呈现时段,生成对象添加指示信息。
在本实施例中,基于步骤203所确定的呈现时段,上述执行主体可以通过各种方式生成对象添加指示信息。其中,上述对象添加指示信息可以包括用于指示上述待添加对象集合中的待添加对象在上述目标视频中的呈现时段的时间提示信息。上述时间提示信息可以包括上述呈现时段的起始时刻和结束时刻。
继续参见图3,图3是根据本申请实施例的用于确定对象添加方式的方法的应用场景的一个示意图。在图3的应用场景中,用户301使用302向后台服务器304发送包括4个贴纸的贴纸集合3031。后台服务器304从数据库服务器305获取目标视频3032。之后,后台服务器304可以利用镜头边界检测技术确定目标视频3032的各分镜对应的时间段(如图3中的306所示)。接下来,基于所确定的各分镜对应的时间段,后台服务器304可以确定贴纸集合3031中的贴纸在目标视频3032中的呈现时段(如图3中的307所示)。而后,后台服务器304还可以生成对象添加指示信息308。其中,对象添加指示信息308例如可以包括与上述呈现时段对应的“请添加贴纸”的提示文字。可选地,后台服务器304还可以将上述对象添加指示信息308和目标视频3032结合后所生成的包含对象添加提示信息的视频309发送至终端302,以使终端302在播放目标视频3032至图3所示的307所指示的时段时显示诸如“请添加贴纸”的提示文字。
目前,现有技术之一通常是通过人工操作的方式确定视频中的对象添加时间节点,导致向视频中添加对象的效率不高,并且耗费人工成本。现有技术之一还采用随机分配的方式在视频播放的不同时间节点添加业务对象,由于在确定添加时机时并未结合与视频的关联,导致与视频的融合度、衔接度不高。而本申请的上述实施例提供的方法,通过首先确定目标视频的各分镜对应的时间段,再基于所确定的时间段确定待添加对象在目标视频中的呈现时段,进而生成包括用于指示待添加对象在目标视频中的呈现时段的时间提示信息的对象添加指示信息。实现了自动选择待添加对象向目标视频中添加的时机,以使待添加对象在目标视频中的呈现时段尽可能地不跨分镜,从而提升待添加对象与目标视频的融合度和衔接度,进而提升用户接受度。特别是在视频广告领域,可以显著提升贴纸广告的转化率。
进一步参考图4,其示出了用于确定对象添加方式的方法的又一个实施例的流程400。该用于确定对象添加方式的方法的流程400,包括以下步骤:
步骤401,获取目标视频和待添加至目标视频中的待添加对象集合。
步骤402,确定目标视频的各分镜对应的时间段。
步骤403,基于各分镜对应的时间段,确定待添加对象集合中的待添加对象在目标视频中的呈现时段。
上述步骤401、步骤402、步骤403分别与前述实施例中的步骤201、步骤202、步骤203一致,上文针对步骤201、步骤202和步骤203的描述也适用于步骤401、步骤402和步骤403,此处不再赘述。
步骤404,从目标视频中提取与所确定的呈现时段相匹配的视频帧。
在本实施例中,用于确定对象添加方式的方法的执行主体(例如图1所示的服务器105)可以通过各种方式从目标视频中提取与所确定的呈现时段相匹配的视频帧。作为示例,上述执行主体可以从上述所确定的呈现时段所对应的视频帧序列中随机选取视频帧作为相匹配的视频帧。作为又一示例,上述执行主体还可以从上述所确定的呈现时段所对应的视频帧序列中选取与呈现时段所指示的起始时刻和结束时刻相对应的视频帧作为相匹配的视频帧。
步骤405,对所提取的视频帧进行预设类别对象检测,生成预设类别对象的位置信息。
在本实施例中,上述执行主体可以通过各种目标检测(Object Detection)技术对步骤404所提取的视频帧进行预设类别对象检测,生成预设类别对象的位置信息。从而,可以得到每个所提取的视频帧中各预设类别对象分别对应的位置信息。
在本实施例的一些可选的实现方式中,上述预设类别对象可以包括人脸图像和文本图像。
步骤406,获取待添加对象集合对应的待添加对象的显示面积。
在本实施例中,上述执行主体可以从本地或通信连接的电子设备(例如图1中的终端设备)获取上述待添加对象集合对应的待添加对象的显示面积。其中,上述显示面积可以用于指示待添加对象在视频帧中所占据的面积。
在本实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤获取待添加对象集合对应的待添加对象的显示面积:
第一步,接收用户端发送的待添加对象的长宽比例和最小宽度。
在这些实现方式中,上述执行主体可以接收用户端(例如图1所示的终端设备)发送的各待添加对象的长宽比例和最小宽度。
第二步,获取待添加对象所包括的文字数目。
在这些实现方式中,上述执行主体可以获取各待添加对象所包括的文字数目,例如10个字、8个字等。其中,上述文字可以包括但不限于中文字符、英文字符等。
第三步,基于文字数目和预设的字体大小,生成待添加对象的文字面积。
在这些实现方式中,上述执行主体可以根据预设的字体所占据的面积的大小和上述第二步所获取的文字数目,生成待添加对象的文字面积。作为示例,上述执行主体可以直接将上述预设的字体所占据的面积的大小和上述第二步所获取的文字数目的乘积确定为待添加对象的文字面积。作为又一示例,上述执行主体可以根据上述第二步所获取的文字数目(例如8)和预设每行显示的字数(例如5)确定所需行数(例如2)。而后,上述执行主体可以将预设每行显示的字数和所确定所需行数以及预设的字体所占据的面积的大小的乘积确定为待添加对象的文字面积。
第四步,根据文字面积,生成待添加对象的显示面积。
在这些实现方式中,根据上述第三步所生成的文字面积,上述执行主体可以通过各种方式生成待添加对象的显示面积。其中,上述显示面积的长宽比例通常与上述用户端发送的待添加对象的长宽比例一致,且上述显示面积的宽度不小于上述最小宽度。
基于上述可选的实现方式,可以根据待添加对象所包括的内容生成满足用户需求(例如比例要求、最小宽度要求)的显示面积。
步骤407,根据显示面积与所生成的预设类别对象的位置信息所指示的位置之间的重叠度,确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量。
在本实施例中,上述执行主体可以首先确定步骤406所获取的显示面积与步骤405所生成的预设类别对象的位置信息所指示的位置之间的重叠度。其中,上述重叠度例如可以是重叠部分的面积,也可以是重叠部分与显示面积之间的比值。而后,根据所确定的重叠度,上述执行主体可以确定上述显示面积位于上述相匹配的视频帧中的不同位置的实体遮挡度量。其中,上述实体遮挡度量用于表征视频帧中的实体与显示面积之间的遮挡程度。
在本实施例的一些可选的实现方式中,基于上述预设类别对象包括的人脸图像和文本图像,根据显示面积与所生成的预设类别对象的位置信息所指示的位置之间的重叠度,上述执行主体可以通过以下步骤确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量:
第一步,确定显示面积与所生成的人脸图像的位置信息所指示的位置之间的第一重叠度量。
在这些实现方式中,上述执行主体可以确定上述显示面积与所生成的人脸图像的位置信息所指示的位置之间的第一重叠度量。其中,上述第一重叠度量用于表征视频帧中的人脸图像与显示面积之间的遮挡程度。作为示例,上述执行主体可以首先确定上述相匹配的图像帧中所包括的各人脸图像的位置信息所指示的人脸图像所占据的面积与显示面积之间的重叠度。而后,上述执行主体可以将各重叠度之和确定为上述第一重叠度量。作为又一示例,上述执行主体可以将上述相匹配的图像帧中所包括的各人脸图像的位置信息所指示的人脸图像所占据的面积与显示面积之间存在重叠的人脸图像的数目确定为上述第一重叠度量。
第二步,确定显示面积与所生成的文字图像的位置信息所指示的位置之间的第二重叠度量。
在这些实现方式中,上述执行主体可以通过与前述第一步类似的方式确定上述第二重叠度量。
第三步,基于所生成的第一重叠度量和第二重叠度量,确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量。
在这些实现方式中,上述执行主体可以通过各种方式将所生成的第一重叠度和第二重叠度进行综合(例如取最大值、最小值、加权平均等),以确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量。
基于上述可选的实现方式,上述执行主体可以根据待添加对象与人脸图像和文字图像之间的重叠度来生成实体遮挡度量,细化了对待添加对象处于不同位置的实体遮挡程度的评价,为最终呈现位置的确定提供数据基础。
步骤408,基于实体遮挡度量,确定待添加对象在相匹配的视频帧中的呈现位置。
在本实施例中,基于步骤407所确定的实体遮挡度量,上述执行主体可以通过各种方式确定待添加对象在相匹配的视频帧中的呈现位置。作为示例,上述执行主体可以根据所确定的实体遮挡度量,选取表征实体遮挡程度最小的位置作为上述待添加对象在相匹配的视频帧中的呈现位置。作为又一示例,上述执行主体可以首先根据所确定的实体遮挡度量,选取表征实体遮挡程度符合预设要求的呈现位置作为准呈现位置。之后,上述执行主体可以从上述准呈现位置中通过各种方式确定上述待添加对象在相匹配的视频帧中的呈现位置。例如,从上述准呈现位置中随机选取呈现位置。再例如,将上述准呈现位置中距离视频帧的中央位置距离最近的位置确定为上述呈现位置。
在本实施例的一些可选的实现方式中,基于实体遮挡度量,上述执行主体可以通过以下步骤确定待添加对象在相匹配的视频帧中的呈现位置:
第一步,获取待添加对象的位置偏好度量。
在这些实现方式中,上述执行主体可以通过各种方式获取待添加对象的位置偏好度量。其中,上述位置偏好度量可以包括以下至少一项:用户位置偏好度量,待添加对象的位置显著性度量,待添加对象的呈现位置规律度量。上述用户位置偏好度量可以用于指示待添加对象在相匹配的视频帧中的不同位置与预先设置的用户偏好位置之间的匹配程度。上述位置显著性度量可以用于指示待添加对象在相匹配的视频帧中的不同位置的显著性,例如位于视频帧的左上、左下、右上、右下位置的显著性较弱。上述呈现位置规律度量可以用于指示呈现顺序相邻的多个待添加对象在各自相匹配的视频帧中的呈现位置的规律性。其中,上述规律性例如可以是对称性,也可以是顺时针或逆时针顺序。
第二步,基于实体遮挡度量和位置偏好度量,生成显示面积位于相匹配的视频帧中的不同位置的位置评价度量。
在这些实现方式中,基于步骤407所确定的实体遮挡度量和上述第一步所获取的位置偏好度量,上述执行主体可以通过各种方式生成上述显示面积位于相匹配的视频帧中的不同位置的位置评价度量。其中,上述位置评价度量的值通常可以与上述实体遮挡度量所指示的遮挡程度负相关。上述位置评价度量的值通常可以与上述位置偏好度量所指示的匹配程度、显著性和规律性中的至少一项正相关。
第三步,将位置评价度量的最大值对应的位置确定为待添加对象在相匹配的视频帧中的呈现位置。
在这些实现方式中,上述执行主体可以将上述第二步所生成的位置评价度量得分最高的位置确定为待添加对象在相匹配的视频帧中的呈现位置。可选地,若上述位置评价度量的值与上述实体遮挡度量所指示的遮挡程度正相关或与上述位置偏好度量所指示的匹配程度、显著性和规律性中的至少一项负相关,则上述执行主体可以将位置评价度量的最小值对应的位置确定为待添加对象在相匹配的视频帧中的呈现位置,此处不再赘述。
步骤409,基于所确定的呈现时段和呈现位置,生成对象添加指示信息。
在本实施例中,基于步骤403所确定的呈现时段和上述步骤408所确定的呈现位置,上述执行主体可以通过各种方式生成对象添加指示信息。其中,上述对象添加指示信息还可以包括用于指示待添加对象集合中的待添加对象在目标视频的视频帧中的呈现位置的位置指示信息。
在本实施例的一些可选的实现方式中,上述位置指示信息可以包括用于指示待添加对象显示位置的中心坐标。上述位置指示信息也可以包括在所确定的呈现位置处所显示的提示框。
从图4中可以看出,本实施例中的用于确定对象添加方式的方法的流程400体现了确定待添加对象的显示面积在视频帧中不同位置的实体遮挡度量的步骤,以及基于所确定的实体遮挡度量确定在视频帧中的呈现位置的步骤。由此,本实施例描述的方案所生成的对象添加指示信息既可以用于指示呈现时段,又可以指示呈现位置,从而实现了自动确定待添加对象在目标视频中的呈现位置和呈现时段,有效地减少了由于人工手动添加而造成的成本,提升了效率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了用于确定对象添加方式的装置的一个实施例,该装置实施例与图2或图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例提供的用于确定对象添加方式的装置500包括获取单元501、第一确定单元502、第二确定单元503和生成单元504。其中,获取单元501,被配置成获取目标视频和待添加至目标视频中的待添加对象集合;第一确定单元502,被配置成确定目标视频的各分镜对应的时间段;第二确定单元503,被配置成基于各分镜对应的时间段,确定待添加对象集合中的待添加对象在目标视频中的呈现时段;生成单元504,被配置成基于所确定的呈现时段,生成对象添加指示信息,其中,对象添加指示信息包括用于指示待添加对象集合中的待添加对象在目标视频中的呈现时段的时间提示信息。
在本实施例中,用于确定对象添加方式的装置500中:获取单元501、第一确定单元502、第二确定单元503和生成单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,上述第二确定单元503可以包括第一确定子单元(图中未示出)、第二确定子单元(图中未示出)、选取子单元(图中未示出)、调整子单元(图中未示出)。其中,上述第一确定子单元可以被配置成确定目标视频的总时长。上述第二确定子单元可以被配置成根据目标视频的总时长,确定待添加对象集合中的待添加对象在目标视频中的初始呈现时段。上述选取子单元可以被配置成根据所确定的初始呈现时段与目标视频的各分镜对应的时间段的匹配,从待添加对象集合中选取跨分镜的待添加对象,生成目标对象集合。上述调整子单元可以被配置成基于对目标对象集合中的目标对象的初始呈现时段的调整,确定待添加对象集合中的待添加对象在目标视频中的呈现时段。
在本实施例的一些可选的实现方式中,上述调整子单元可以包括第一确定模块(图中未示出)、调整模块(图中未示出)。其中,上述第一确定模块可以被配置成确定目标对象集合中的目标对象是否满足预设的时段调整条件。上述调整模块可以被配置成对满足时段调整条件的目标对象的初始呈现时段进行调整,以使所调整的目标对象的调整后呈现时段不跨分镜。
在本实施例的一些可选的实现方式中,上述第一确定模块可以包括第一确定子模块(图中未示出)、第二确定子模块(图中未示出)、第三确定子模块(图中未示出)、第四确定子模块(图中未示出)。其中,上述第一确定子模块可以被配置成根据所确定的初始呈现时段和目标视频的各分镜对应的时间段,确定目标对象集合中的目标对象对应的镜头切换时刻。上述第二确定子模块可以被配置成根据所确定的镜头切换时刻,确定待调整的目标对象的初始呈现时段在时间维度上的调整方向。上述第三确定子模块可以被配置成确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。上述第四确定子模块可以被配置成根据待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠,确定目标对象集合中的目标对象是否满足预设的时段调整条件。
在本实施例的一些可选的实现方式中,上述第三确定子模块可以进一步被配置成:确定沿调整方向上、与待调整的目标对象的初始呈现时段最接近的待添加对象与待调整的目标对象之间的呈现间隔;基于呈现间隔与待调整的目标对象的初始呈现时段所指示的时长的比较,确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
在本实施例的一些可选的实现方式中,上述第三确定子模块可以进一步被配置成:确定目标分镜所对应的待添加对象的初始呈现时段的总时长,其中,目标分镜与调整方向一致、且与待调整的目标对象的初始呈现时段有重叠;根据总时长与目标分镜对应的时间段的时长,确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段是否重叠。
在本实施例的一些可选的实现方式中,上述第四确定子模块可以进一步被配置成:响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段不重叠,确定满足预设的时段调整条件。
在本实施例的一些可选的实现方式中,上述第四确定子模块可以进一步被配置成:响应于确定待调整的目标对象沿调整方向调整后的初始呈现时段与处于调整方向上的分镜的待添加对象的初始呈现时段重叠,确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段是否重叠;响应于确定待调整的目标对象沿调整方向的反方向调整后的初始呈现时段与处于与调整方向的反方向上的分镜的待添加对象的初始呈现时段不重叠,确定满足预设的时段调整条件。
在本实施例的一些可选的实现方式中,上述调整模块可以被进一步配置成:将满足时段调整条件的目标对象的初始呈现时段调整至新的分镜,以使新的分镜下的待添加对象均匀分布。
在本实施例的一些可选的实现方式中,上述对象添加指示信息还可以包括用于指示待添加对象集合中的待添加对象在目标视频的视频帧中的呈现位置的位置指示信息。上述生成单元504可以包括:提取子单元(图中未示出)、第一生成子单元(图中未示出)、获取子单元(图中未示出)、第三确定子单元(图中未示出)、第四确定子单元(图中未示出)、第二生成子单元(图中未示出)。其中,上述提取子单元可以被配置成从目标视频中提取与所确定的呈现时段相匹配的视频帧。上述第一生成子单元可以被配置成对所提取的视频帧进行预设类别对象检测,生成预设类别对象的位置信息。上述获取子单元可以被配置成获取待添加对象集合对应的待添加对象的显示面积。上述第三确定子单元可以被配置成根据显示面积与所生成的预设类别对象的位置信息所指示的位置之间的重叠度,确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量。上述第四确定子单元可以被配置成基于实体遮挡度量,确定待添加对象在相匹配的视频帧中的呈现位置。上述第二生成子单元可以被配置成基于所确定的呈现时段和呈现位置,生成对象添加指示信息。
在本实施例的一些可选的实现方式中,上述预设类别对象可以包括人脸图像和文本图像。上述第三确定子单元可以包括第五确定子模块(图中未示出)、第六确定子模块(图中未示出)、第七确定子模块(图中未示出)。其中,上述第五确定子模块可以被配置成确定显示面积与所生成的人脸图像的位置信息所指示的位置之间的第一重叠度量。上述第六确定子模块可以被配置成确定显示面积与所生成的文字图像的位置信息所指示的位置之间的第二重叠度量。上述第七确定子模块可以被配置成基于所生成的第一重叠度量和第二重叠度量,确定显示面积位于相匹配的视频帧中的不同位置的实体遮挡度量。
在本实施例的一些可选的实现方式中,上述获取子单元可以包括接收模块(图中未示出)、第一获取模块(图中未示出)、第一生成模块(图中未示出)、第二生成模块(图中未示出)。其中,上述接收模块可以被配置成接收用户端发送的待添加对象的长宽比例和最小宽度。上述第一获取模块可以被配置成获取待添加对象所包括的文字数目。上述第一生成模块可以被配置成基于文字数目和预设的字体大小,生成待添加对象的文字面积。上述第二生成模块可以被配置成根据文字面积,生成待添加对象的显示面积。其中,上述显示面积的长宽比例可以与用户端发送的待添加对象的长宽比例一致。上述显示面积的宽度可以不小于最小宽度。
在本实施例的一些可选的实现方式中,上述第四确定子单元可以包括第二获取模块(图中未示出)、第三生成模块(图中未示出)、第二确定模块(图中未示出)。其中,上述第二获取模块可以被配置成获取待添加对象的位置偏好度量。其中,上述位置偏好度量可以包括以下至少一项:用户位置偏好度量,待添加对象的位置显著性度量,待添加对象的呈现位置规律度量。上述第三生成模块可以被配置成基于实体遮挡度量和位置偏好度量,生成显示面积位于相匹配的视频帧中的不同位置的位置评价度量。上述第二确定模块可以被配置成将位置评价度量的最大值对应的位置确定为待添加对象在相匹配的视频帧中的呈现位置。
本申请的上述实施例提供的装置,通过第一确定单元502首先确定目标视频的各分镜对应的时间段,再由第二确定单元503基于所确定的时间段确定待添加对象在目标视频中的呈现时段,进而通过生成单元504生成包括用于指示待添加对象在目标视频中的呈现时段的时间提示信息的对象添加指示信息。实现了自动选择待添加对象向目标视频中添加的时机,以使待添加对象在目标视频中的呈现时段尽可能地不跨分镜,从而提升待添加对象与目标视频的融合度和衔接度,进而提升用户接受度。特别是在视频广告领域,可以显著提升贴纸广告的转化率。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备(例如图1中的服务器或终端设备)600的结构示意图。本申请实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD,LiquidCrystal Display)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本申请的实施例的方法中限定的上述功能。
需要说明的是,本申请的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取目标视频和待添加至目标视频中的待添加对象集合;确定目标视频的各分镜对应的时间段;基于各分镜对应的时间段,确定待添加对象集合中的待添加对象在目标视频中的呈现时段;基于所确定的呈现时段,生成对象添加指示信息,其中,对象添加指示信息包括用于指示待添加对象集合中的待添加对象在目标视频中的呈现时段的时间提示信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言、Python或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括获取单元、第一确定单元、第二确定单元、生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取目标视频和待添加至目标视频中的待添加对象集合的单元”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请的实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述本公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。