CN116980717A - 基于视频分解处理的交互方法、装置、设备及存储介质 - Google Patents

基于视频分解处理的交互方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116980717A
CN116980717A CN202311226937.6A CN202311226937A CN116980717A CN 116980717 A CN116980717 A CN 116980717A CN 202311226937 A CN202311226937 A CN 202311226937A CN 116980717 A CN116980717 A CN 116980717A
Authority
CN
China
Prior art keywords
action
video
target
sequence data
group
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
Application number
CN202311226937.6A
Other languages
English (en)
Other versions
CN116980717B (zh
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 Small Sugar Technology Co ltd
Original Assignee
Beijing Small Sugar 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 Small Sugar Technology Co ltd filed Critical Beijing Small Sugar Technology Co ltd
Priority to CN202311226937.6A priority Critical patent/CN116980717B/zh
Publication of CN116980717A publication Critical patent/CN116980717A/zh
Application granted granted Critical
Publication of CN116980717B publication Critical patent/CN116980717B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于视频分解处理的交互方法、装置、设备及存储介质,涉及图像通信技术领域,用以解决不能向用户提供分解动作视频的问题,其中所述方法包括:获取基于目标视频生成的目标对象的动作序列数据;基于滑动窗口从动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组;以及基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。利用本发明公开的实施例能够将教学视频中的动作进行分组,并按照动作组分解出相应的视频片段,能够有效地帮助学习者提高学习效率。

Description

基于视频分解处理的交互方法、装置、设备及存储介质
技术领域
本发明涉及图像通信技术领域,尤其涉及一种基于视频分解处理的交互方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,人们通过网络学习各种各样的知识变得越来越便利,并且,随着基于各类不同平台的应用(APP)的兴起以及视频技术的发展,通过视频传授或学习知识成为越来越普遍的一种教学方式。例如,内容提供用户录制各种教学视频上传到某些平台,利用平台资源推送给学习用户,学习用户可以通过观看教学视频学习相关知识。所述教学视频内容例如为面向学生的各个学科的教学,或者面向普通公众的厨艺、园艺、舞蹈、书法、针织、乐器演奏等等。
目前在各种平台上发行的视频主要由内容提供用户制作,视频质量严重依赖于内容提供用户的制作技术水平。其中,对于一类需要向学习者提供动作讲解的教学内容,例如针织技术的针法、舞蹈动作、书法学习当中的运笔、乐器的弹奏指法等等,通常都依赖内容提供用户对这些内容的录制技巧。以舞蹈为例,舞蹈教学视频中通常首先提供舞蹈演示者的正面跳舞教学演示,而后再一边演示动作,一边讲解。有些舞蹈教学视频中,为了方便学习者能够观看到舞蹈演示者正面之外的身体部位的动作,通常会辅助镜子,在正面视角演示舞蹈动作的同时也能够从背面视角演示舞蹈动作,从而帮助学习者正确地掌握动作要领。在另外一些舞蹈教学视频中,还会包括舞蹈演示者对舞蹈动作的分组演示和讲解。同理,对于其他内容的教学视频,也有类似的内容,如小提琴演奏时的指法、位置等等。
从学习者角度来看,当教学视频能够提供分组演示时容易掌握动作要领,便于分段学习,因而学习效果更好,所以,这类提供分组演示、具有分解动作的教学视频更受欢迎,然而,这类视频在制作时的难度也更大,并不是所有内容提供用户都能提供这类视频。
发明内容
有鉴于此,本发明实施例提供了一种基于视频分解处理的交互方法、装置、设备及存储介质,以解决不能向用户提供分解动作视频的技术问题。
第一方面,本发明实施例提供了一种基于视频分解处理的交互方法,其应用于服务端,所述方法包括以下步骤:
获取基于目标视频生成的目标对象的动作序列数据,其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成;
基于目标视频的类型确定对所述动作序列数据进行分组时使用的滑动窗口的帧数;
基于滑动窗口从所述动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组;以及
基于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的动作序列数据发送给所述客户端,由所述客户端基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。
第二方面,本发明实施例还提供了另一种基于视频分解处理的交互方法,其应用于客户端,所述方法包括以下步骤:
在目标视频的播放过程中,在所述目标视频的文件信息中包括所述目标视频的分解动作结构信息时,在播放所述目标视频的同时显示所述分解动作结构信息;
响应于用户对所述分解动作结构信息中的指定动作组的请求,向服务端发送对所述动作组的请求;以及
响应于从服务端接收到对应被请求的动作组的虚拟数字人动作视频片段,播放所述虚拟数字人动作视频片段;响应于从服务端接收到对应被请求的动作组的动作序列数据,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段,并播放所述虚拟数字人动作视频片段;其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。
第三方面,本发明实施例提供了一种基于视频分解处理的交互装置,其应用于服务端,包括动作序列数据获取模块、滑动窗口确定模块、分组模块和分组请求处理模块,其中,所述动作序列数据获取模块经配置以获取基于目标视频生成的目标对象的动作序列数据,其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由所述目标视频中的目标对象骨骼关键点的三维坐标构成;所述滑动窗口确定模块经配置以基于目标视频类型确定对所述动作序列数据进行分组时使用的第一滑动窗口的帧数;所述分组模块经配置以基于第一滑动窗口从动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组;所述分组请求处理模块经配置以响应客户端对目标视频中指定动作组的请求,将对应被请求的动作组的动作序列数据发送给客户端,由客户端基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。
第四方面,本发明实施例还提供了另一种基于视频分解处理的交互装置,其应用于客户端,包括目标视频模块、动作组请求模块和分解动作视频模块,其中,所述目标视频模块经配置以播放目标视频,在所述目标视频的文件信息中包括所述目标视频的分解动作结构信息时,在播放所述目标视频的同时显示所述分解动作结构信息;所述动作组请求模块经配置以响应用户对所述分解动作结构信息中的指定动作组的请求,向服务端发送对所述动作组的请求;所述分解动作视频模块经配置以响应于从服务端接收到对应被请求的动作组的虚拟数字人动作视频片段时播放所述虚拟数字人动作视频片段;从服务端接收到对应被请求的动作组的动作序列数据,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段,并播放所述虚拟数字人动作视频片段;其中,所述动作序列数据包括多帧动作数据,每帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。
第五方面,本发明实施例还提供了一种电子设备,所述电子设备包括处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如上所述的应用于服务端的基于视频分解处理的交互方法,或实现如上所述的应用于客户端的基于视频分解处理的交互方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的应用于服务端的基于视频分解处理的交互方法,或实现如上所述的应用于客户端的基于视频分解处理的交互方法。
本发明实施例能够在视频应用提供教学视频的同时,将教学视频中的演示者的动作进行分组,并按照分解出的动作组生成相应的视频片段,可以使学习者从全局的角度了解要学习的动作规律及结构组成,从而方便学习者选择性地、有针对性地进行动作学习,由于本发明提供的处理方法能够地有效地帮助学习者提高学习效率,因而能够为视频应用吸引更多用户及提升用户粘性。
附图说明
为了更清楚地说明本发明实施例的技术方案,以下对本发明实施例中的附图作简单介绍。
图1是根据本发明一个实施例的视频应用系统原理框架图。
图2是根据本发明一个实施例的一种基于视频分解处理的交互方法流程图。
图3是根据本发明一个实施例的舞蹈教学视频中舞者动作序列数据的生成方法流程图。
图4是根据本发明一个实施例的从目标视频的一个动作序列数据中分解出一个或多个动作组的方法流程图。
图5是根据本发明一个实施例的从未计算的动作帧组中确定第一目标帧组M及第二目标帧组N的示意图。
图6是根据本发明一个实施例的移动一次滑动窗口Z后确定新的第二目标帧组N的示意图。
图7是根据本发明一个实施例的对两个相同动作组中的动作帧进行标记后的示意图。
图8是根据本发明应用实施例一的基于视频分解处理的交互方法流程图。
图9是根据本发明应用实施例二的基于视频分解处理的交互方法流程图。
图10是根据本发明应用实施例三的基于视频分解处理的交互方法流程图。
图11是根据本发明一个实施例的应用于服务端的第一交互装置100的原理框图。
图12是是根据本发明一个实施例的应用于客户端的第二交互装置200的原理框图。
图13是根据本发明一个实施例的电子设备的硬件结构示意图。
具体实施方式
以下将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,提供这些实施方式的目的是为了使本发明的原理和精神更加清楚和透彻,使本领域技术人员能够更好地理解进而实现本发明的原理和精神。本文中提供的示例性实施方式仅是本发明的一部分实施方式,而不是全部的实施方式。基于本文中的实施方式,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本领域技术人员知晓,本发明的实施方式可以实现为一种方法、系统、装置、设备、计算机可读存储介质或计算机程序产品。因此,本公开可以具体实现为以下至少一种形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件与软件结合的形式。
在本文中,诸如第一、第二之类的用语,仅用来将一个实体(或操作)与另一个实体(或操作)区分开来,而不在于要求或暗示这些实体(或操作)之间存在任何顺序或关联。在本文中,由语句“包括……”所限定的要素(例如部件、组分、过程、步骤),并不排除在所列举要素之外还存在其他要素,也就是,还可包括没有明确列举的其他要素。在本文中,附图中的任何元素及其数量均用于示例而非限制,附图中的任何命名均仅用于区分,而不具有任何限制含义。
以下参考本发明的若干示例性或代表性实施方式,详细阐释本发明的原理和精神。
本发明为了解决视频提供用户制作的教学视频中没有动作分组的内容而无法满足视频应用用户的学习需求的问题,提供了一种基于视频分解处理的交互方法和装置,能够将原始教学视频中的演示动作分解成多组动作,从而构成多个动作组,并能够基于动作组制作出视频片段,根据视频应用用户的学习需求,按照视频应用用户指定的动作组,向其播放对应的视频片段,以便于视频应用用户快速掌握动作要领,取得好的学习效果。
图1是根据本发明一个实施例的视频应用系统原理框架图。所述视频应用系统包括终端设备102和服务器104。其中,终端设备102可以包括以下至少一项:智能手机、平板电脑、笔记本电脑、台式电脑、智能电视等等。终端设备102上安装有视频应用客户端,视频应用客户端可以为提供与视频相关的客户端(如应用程序APP),或者为内嵌有应用小程序(不同功能)的客户端,还可以是通过浏览器登录的客户端。用户可以在终端设备102上进行操作,比如,用户可以打开终端设备102上安装的客户端,通过客户端操作输入指令,或者,用户可以打开终端设备102上安装的浏览器,并通过浏览器操作输入指令。在终端设备102接收到用户输入的指令之后,将包含指令的请求信息发送至作为视频应用服务端的服务器104。服务器104接收到请求信息之后执行相应的处理,然后将处理结果信息返回给终端设备102。通过一系列数据处理和信息交互完成用户指令。本实施例中的所述视频应用系统作为一个平台,能够为用户提供各种各样的教学视频或者某个特定领域的教学视频。例如,提供各种针织针法的教学视频、舞蹈视频、乐器教学视频等等。所述视频应用系统的用户包括两类,一类是视频提供用户,一类是视频应用用户。其中的视频提供用户制作教学视频,并上传给服务器104,服务器104将视频提供用户制作的教学视频存储在数据库106中,并按照预置的业务逻辑发布到客户端。在视频应用用户可以通过安装在其终端设备102上的客户端浏览、播放教学视频。
图2是根据本发明一个实施例的一种基于视频分解处理的交互方法流程图,所述方法包括:
步骤S110,获取基于目标视频生成的目标对象的动作序列数据,其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。在以下的说明中,将动作序列数据中的一帧称为动作帧,所述动作帧与目标视频的视频帧相对应,具有相同的时间信息和帧id。
步骤S120,基于目标视频类型确定对动作序列数据进行分组时使用的滑动窗口的帧数。
步骤S130,基于滑动窗口对所述动作序列数据进行动作相似性计算。具体地,基于滑动窗口从所述动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组。
步骤S140,基于指定动作组,按照指定动作组的动作序列数据驱动虚拟数字人生成所述动作组的虚拟数字人动作视频片段。
其中,图2所示的方法流程可基于图1所示的系统实现,例如,数据库106中存储有各种数据,如各类视频提供用户制作的教学视频、用户的个人数据、业务处理过程中的中间数据等等,服务器104与终端设备102或者单独实现图2所示的方法,或者相互配合实现图2所示的方法。例如,服务器104执行步骤S110至步骤S140得到对视频分解后的动作组的虚拟数字人动作视频片段,在业务处理过程中,根据终端设备102对某个动作组的请求,将对应动作组的虚拟数字人动作视频片段发送给终端设备102;或者,服务器104执行步骤S110至步骤S130得到多个动作组及对应的动作序列数据,在业务处理过程中,根据终端设备102的对某个动作组的请求,将对应动作组的动作序列数据发送给终端设备102,由终端设备102执行步骤S140得到动作组的虚拟数字人动作视频片段;或者,终端设备102执行S110至步骤S140得到对分解后的动作组的虚拟数字人动作视频片段。在终端设备102的处理过程中,根据需要向服务器104发送数据请求,由服务器104向其提供所需的各种数据。例如,服务器104对数据库106中的所有视频进行处理得到视频中的目标对象的动作序列数据,当终端设备102执行步骤S110时,可以从服务器获得基于目标视频生成的目标对象的动作序列数据,当然也可以由终端设备102对目标视频进行处理得到视频中的目标对象的动作序列数据。
其中,对于服务器104而言,其管理的教学视频包括已经存储到数据库中的视频,该类教学视频称为存量视频;其管理的教学视频还包括在预定时间段内新接收到的教学视频,如每天24小时内新接收到的教学视频,这类教学视频称为增量视频。在服务端由服务器104执行图2所示的基于视频分解处理的交互方法中的步骤S110至步骤S130或至步骤S140时,在一个实施例中,步骤S110中的所述目标视频可以是给定视频组中的视频,如存量视频,服务器104针对每一个存量视频执行步骤S110至步骤S130或步骤S140,将每一个存量视频中目标对象的动作序列分解成多个动作组或进一步生成动作组的虚拟数字人动作视频片段。步骤S110中的所述目标视频还可以是增量视频,例如服务器104定时识别增量视频,当识别到增量视频的文件信息中没有分组打点信息时,将所述增量视频确定为目标视频,执行步骤S110至步骤S130或步骤S140。其中,所述打点信息是指在将整个视频分割成若干短片段即“切片”后,为每个片段添加的相应的时间节点、标签等信息。当视频提供用户制作的视频已经对视频中目标对象的动作序列分解成多个动作组、并在视频信息中增加了对应的打点信息时,视频应用用户能够根据需求观看特定动作组的视频,因而这类视频不需要再进行分解处理。本发明处理没有打点信息的视频。步骤S110中的所述目标视频还可以是客户端正在播放的视频。例如,当接收到客户端对当前正在播放的视频的分解请求时,将所述正在播放的视频确定为目标视频。
步骤S110中的基于目标视频生成的目标对象的动作序列数据可以是已经过处理后得到的已知数据,每个视频对应一个动作序列数据,并存储在数据库106中,在服务器104执行步骤S110时,基于目标视频标识查询数据库106,从中获得对应的动作序列数据。在终端设备102执行步骤S110时,可向服务器104请求该动作序列数据,服务器104基于终端设备102发送来的目标视频标识查询数据库106,从中获得对应的动作序列数据,并返回给终端设备102。当数据库106中没有目标视频的动作序列数据时,由服务器104或终端设备102根据骨骼节点识别算法和目标对象的特征数据生成。所述动作序列数据包括按照视频帧顺序组成的动作数据,每个视频帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。为了方便说明,以下说明动作序列数据时,对应一个视频帧的数据称为一个动作帧的数据。在一个实施例中,为了能够提供多视角的分组视频,在得到一个动作序列数据后,还生成其他视角的动作序列数据。
图3是根据本发明一个实施例的舞蹈教学视频中舞者动作序列数据的生成方法流程图。所述方法简要包括以下步骤:
步骤S111,根据骨骼节点识别算法和视频中舞者的特征数据生成舞者第一动作序列数据,第一动作序列数据中的每个动作帧的数据包括帧id,时间点信息和骨骼相邻关节点坐标向量(包括关节点名称、关节点三维坐标)。其中,本实施例使用骨骼的关节点作为骨骼关键点,用以表示动作。每个动作帧的数据存储格式例如为:[帧id:xx;时间信息:xx;关节1名称:相邻关节点三维坐标;关节2名称:相邻关节点三维坐标……]。
步骤S112,识别舞者在目标视频中的视觉方位。在本实施例中,将舞者在目标视频中的视觉方位预置为三种:正面、背面和侧面。为了判断舞者在目标视频中的视觉方位,从目标视频中抽取预置数量的视频帧(如100帧)作为识别的工作帧,识别每一工作帧中舞者的面部特征,本实施将面部特征也分为正面、背面和侧面三类,当包括某一类的面部特征的工作帧数量所占全部工作频数量的比例高于阈值(如,70%)时,确定舞者在目标视频中的视觉方位与其面部特征类型相同,或者为正面,或者为背面,或者为侧面。
步骤S113,基于舞者在目标视频中的视觉方位和目标方位,对第一动作序列数据进行转换得到对应的第二动作序列数据。例如,当舞者在目标视频中的视觉方位为正面、目标方位为背面时,需要将舞者的形体沿Y轴顺时针旋转180度,因而,可以将正面的第一动作序列数据中的各关节点三维坐标(x,y,z)转换为(-x,y,-z),即可以得到背面的第二动作序列数据;当舞者在目标视频中的视觉方位为正面、目标方位为侧面时,需要将舞者的形体沿Y轴顺时针旋转90度或270度,可以将正面的第一动作序列数据中的各关节点三维坐标(x,y,z)转换为(-z,y,x)或(z,y,-x),因而获取侧面的第三动作序列数据。
对于一个舞蹈视频,经过上述处理可以得到正面的第一动作序列数据、背面的第二动作序列数据和侧面的第三动作序列数据。对于其他动作类的视频,依据需要得到不同视角、或不同视觉方位的动作序列数据。例如,对于烹饪类视频,可以得到正面的第一动作序列数据和从上向下俯视的第二动作序列数据。
在步骤S120中,基于目标视频类型确定对动作序列数据进行分组时使用的滑动窗口的帧数。由于不同类型的动作,其分组的标准不同,例如,对于舞蹈类内容,通常以一定的节拍作为动作的计量单位,不同类型的舞蹈,分组的节拍数量不同,因而采用与视频内容相匹配的帧数作为分组使用的滑动窗口的帧数。
以舞蹈视频为例,鉴于舞蹈视频多为八拍的节奏模式且不同品类的舞蹈节奏不同(如,古典舞节奏慢,流行舞节奏快,广场舞节奏适中),故而对不同品类的舞蹈视频设定不同粒度的滑动窗口。确定滑动窗口的帧数Ztype的公式(1-1)如下所示:
(1-1)
其中,type表示舞蹈品类,Ztype表示当前舞蹈品类的舞蹈视频采用的滑动窗口帧数,Mtype和Ttype分别为当前舞蹈品类的舞蹈的八拍数和一个八拍的时长,F为1秒视频内视频帧数(如,24帧/秒),在一个实施例中,所述Mtype和Ttype是根据数据库106中的视频库中有分解教学片段的视频统计得到,例如,在通常的舞蹈中(type为usual,简称u),4个八拍为1组,即Mu=4;1个八拍为7秒,即Tu=7。delta的计算公式(1-2)如下所示:
(1-2)
delta为动态调整帧数,i为动态调整拍数,其中,i>=0且i<=8,如,一些舞蹈以4个8拍+4拍进行分组,此时i=4;为动态调整系数,取值为0或1。
在步骤S130中,基于滑动窗口从动作序列数据中确定目标帧,通过动作相似性计算,从动作序列中识别出相似的动作,将相似的一组动作确定为相同的动作组,因而可以将一个视频中的目标对象的动作顺序分解成多个动作组,通过为这些动作组命名,得到一个视频的分解动作结构。例如,对于舞蹈名称为《花轿里的人》的视频,对其中舞者的舞蹈动作进行分解后得到四个不同的动作组,分别为前奏、A组、B组和C组,视频全部动作的结构为:前奏+AABB+前奏+AAC。
经过对视频动作的分解,可以使学习者从全局的角度了解要学习的舞蹈的动作规律及结构组成,从而方便学习者选择性地、有针对性地进行动作学习,因而有效地提高了学习效率。
图4是根据本发明一个实施例的从目标视频的一个动作序列中分解出一个或多个动作组的方法流程图。所述方法简要包括以下步骤:
步骤S131,采用滑动窗口Z从未计算的动作帧组中确定第一目标帧组M及第二目标帧组N。在本实施例中,为了方便示意,设置滑动窗口Z的帧数为4。在初始处理过程中,采用滑动窗口Z从动作序列数据的第一帧开始确定4帧作为第一目标帧组M,其中第一目标帧组M的第一帧Pm=P1。采用滑动窗口Z从动作序列数据的第一目标帧组M后的第一帧开始确定4帧作为第二目标帧组N,其中第二目标帧组N的第一帧Pn=P5。参见图5,图5是根据本发明一个实施例的从未计算的动作帧组中确定第一目标帧组M及第二目标帧组N的示意图,图5中的一个方框代表一个动作帧,用以象征性地表示一帧的动作数据。
步骤S132,计算第二目标帧组N中的第一帧Pn与第一目标帧组M中的第一帧Pm中的目标对象对应骨骼关键点的三维坐标的差异L。其中,在一个实施例中,按照如下公式(1-3)计算两帧中对应骨骼关键点的三维坐标的差异L:
(1-3)
其中,k为关节点坐标数量,两帧中对应同一个关节点的坐标分别为 (x1,y1,z1)和(x2,y2,z2)。当两帧中的动作相同时,两帧中同一关节点的距离理论上为0,当两帧中的动作相似时,说明目标对象的形体变化小,本实施例通过设置的合适的阈值来衡量动作的相似性,当同一关节点的距离小于阈值时,可以将两个相似的动作认为相同。
步骤S133,判断所述差异L是否小于或等于第一阈值Y1。当第二目标帧组N中的第一帧Pn与第一目标帧组M中的第一帧Pm中的三维坐标差异L小于或等于第一阈值Y1时,在步骤S137确定所述第二目标帧组N中的第一帧Pn与第一目标帧组中的所述第一帧Pm为重复帧,而后执行步骤S138。
当第二目标帧组N中的第一帧Pn与第一目标帧组M中的第一帧Pm中的三维坐标差异L大于第一阈值Y1时,在步骤S134判断未计算的动作帧数是否大于或等于滑动窗口Z,如果未计算的动作帧数大于或等于滑动窗口Z,说明本次遍历还未完成,则在步骤S135,在当前位置向后移动所述滑动窗口Z以确定新的第二目标帧组N,如图6所示,图6是根据本发明一个实施例的移动一次滑动窗口Z后确定新的第二目标帧组N的示意图,而后返回步骤S132。如果未计算的动作帧数小于滑动窗口Z,说明本次遍历已经完成,在步骤S136,将剩余帧数的动作帧作为单独一组,或者根据需要也可以忽略不记剩余帧数的动作帧。
步骤S138,计算所述第一目标帧组M和所述第二目标帧组N中的目标对象对应骨骼关键点的三维坐标的差异Lz。在一个实施例中,采用公式(1-4)计算第一目标帧组M和所述第二目标帧组N中的目标对象对应骨骼关键点的三维坐标的差异Lz:
(1-4)
其中,L为全部动作帧中同一骨骼关键点的距离,其计算公式如公式(1-3)所示,z为两个目标帧组中的帧数,在本实施例中也就是滑动窗口的帧数。
步骤S139,判断所述差异Lz是否小于或等于第二阈值Y2,在所述差异Lz小于或等于第二阈值Y2时,在步骤S1391确定所述第一目标帧组M和所述第二目标帧组N为重复片段。当所述差异Lz大于第二阈值Y2时,返回步骤S134,判断未计算的动作帧数是否大于或等于滑动窗口Z。
步骤S1392,确定作为重复片段的第一目标帧组M和所述第二目标帧组N为相同动作组,并记录相应的分组信息,所述分组信息包括动作组id、组名、时间起点、时间终点、起点帧id和终点帧id中的一者或多者。
返回步骤S134,判断未计算的动作帧数是否大于或等滑动窗口Z。
在执行完图4所示流程后,从整体动作序列中确定出第一个相同的多个动作组,其中在每确定了一个动作组后,将动作组中的动作帧进行标记,例如图7所示,图7是根据本发明一个实施例的对两个相同动作组中的动作帧进行标记后的示意图,其中,以在表示动作帧的方框填充的线条表示标记,用以形象地表示标记信息,然而,本领域的普通技术人员可以采用任何一种技术来标记动作帧的状态,以区分该动作帧是否已经分组。
而后再判断是否还有未标记的动作帧,如果有,则按照图4所示流程遍历未标记的动作帧以确定另一个动作组,直到将全部的动作帧都分完组为止。
在将动作序列数据全部分解组成不同的组后,为所述目标视频生成分解动作结构信息,并将所述分解动作结构信息填加在所述目标视频的文件信息中,如视频的片头中。其中,所述分解动作结构信息至少包括目标视频中包括的动作组及其对应的时间信息。例如前述的舞蹈名称为《花轿里的人》的视频,其分解动作结构信息例如为:前奏+AABB+前奏+AAC。
当目标视频对应有多个动作序列数据时,可以以多个动作序列数据中的任意一个作为目标动作序列数据执行图4所示的流程,从而将目标动作序列数据分解为多个动作组,而后再基于每个动作组的分组信息将剩余动作序列数据分解为相同的多个动作组,此时,每个动作组对应多个动作序列数据。例如,对于舞蹈视频,当采用图3所示方法得到正面、背面和侧面的三个动作序列数据时,可以先以正面的第一动作序列数据为目标动作序列数据执行图4所示的流程,从而将正面的第一动作序列数据分解为多个动作组,而后再基于每个动作组的分组信息将背面的第二动作序列数据和侧面的第三动作序列数据分解为相同的动作组,因而,舞蹈视频中的每个动作组包括正面、背面和侧面三个动作序列数据。
应用实施例一
图8是根据本发明应用实施例一的基于视频分解处理的交互方法流程图。在本应用实施例中,终端设备102中安装有视频应用客户端,服务器104中安装有视频应用服务端。
步骤S101a,用户通过点击终端设备102屏幕中的视频应用图标启动视频应用。
终端设备102在接收到用户的启动指令后,在步骤S201a,与服务端交互完成所述视频应用的启动,在视频应用启动后,服务端向客户端推送视频数据,用户可浏览相应的视频列表,并能够通过点击某个视频进行播放。
步骤S102a,用户选择一个视频作为目标视频并点击播放按键。
步骤S202a,客户端基于用户的播放操作向服务端发送目标视频数据请求。
服务端基于目标视频数据请求从数据库中读取目标视频数据,并在步骤S301a发送给所述客户端,在发送视频数据的同时,将对应的分解动作结构信息也发送给所述客户端。
步骤S203a,客户端接收目标视频数据并播放所述目标视频,同时显示分解动作结构信息。例如,当播放的舞蹈名称为《花轿里的人》的视频时,显示分解动作结构信息:前奏+AABB+前奏+AAC。在一个实施例中,为了方便用户选择动作组,客户端还设置有用以分解教学视频的相关按钮,例如以罗列的形式为每个动作组设置对应的按钮,或者按照菜单列表的方式,在列表中设置每个动作组的按钮,在用户点击分解教学单按钮后展开分组列表,以列表的形式显示每个动作组的按钮。
步骤S103a,用户从选择一个动作组。
步骤S204a,客户端基于用户对指定动作组的请求,向服务端发送对所述动作组的请求。
步骤S302a,服务端基于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的动作序列数据发送给客户端。
步骤S205a,客户端接收到所述被请求的动作组的动作序列数据后,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。
步骤S206a,播放所述虚拟数字人动作视频片段。
其中,当服务端接收到客户端对目标视频中指定动作组的请求时,从所述请求中解析出目标视频标识及指定动作组标识,基于目标视频标识查询数据库,数据库中查询到与所述目标视频对应的动作序列数据的分组数据,并基于指定动作组标识读取对应的动作序列数据。当指定动作组标识对应有一个动作序列数据(如舞蹈视频舞者的正面动作序列数据),将所述一个动作序列数据返回给客户端,当指定动作组标识对应有多个动作序列数据(如舞蹈视频舞者的正面、背面和侧面的动作序列数据),将所述多个动作序列数据返回给客户端。
在步骤S205a中,当客户端接收到所述被请求的动作组的一个动作序列数据时,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。当客户端接收到所述被请求的动作组的多个动作序列数据时,基于所述多个动作序列数据驱动虚拟数字人生成相应的多个虚拟数字人动作视频片段。
在基于动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段时,在有目标视频提供用户的授权的情况下,按照目标视频中的目标对象生成虚拟数字人形象。在一个实施例中,客户端可向服务端请求目标视频中的目标对象的虚拟数字人形象数据,例如骨骼数据、皮肤数据、服装数据等等。结合目标对象的虚拟数字人形象数据和动作序列数据得到每一帧的虚拟数字人动作图像,进而得到了该动作组的虚拟数字人动作视频片段。
或者,采用与目标视频中的目标对象同类的虚拟数字人形象。例如,本发明提供有多种虚拟数字人形象,例如,民族舞女性形象、民族舞男性形象、街舞少年男性形象、芭蕾舞女性形象、男性形象等等。当没有目标视频提供用户的授权的情况下,可以采用与目标视频中的目标对象同类的虚拟数字人形象。
对应地,在步骤S206a中播放虚拟数字人动作视频片段时,如果生成了多个不同视角的多个虚拟数字人动作视频片段,则将多个虚拟数字人动作视频片段合成一个包含多个视角的虚拟数字人动作的视频片段并播放。或者,采用多个播放窗口同步播放不同视角的多个虚拟数字人动作视频片段。
以用户观看《花轿里的人》的视频为例,用户通过显示的分解动作结构信息“前奏+AABB+前奏+AAC”能够从全局了解该舞蹈的结构,在点击了“分解教学”的单按钮后,显示屏幕中会展开分组列表,列表的形式显示每个动作组的按钮,如前奏按钮、A组按钮、B组按钮和C组按钮,当用户点击了A组按钮后,在当前屏幕中在一个窗口中同步播放对应A组的舞者正面、背面和侧面三个视角的三段视频。
应用实施例二
图9是根据本发明应用实施例二的基于视频分解处理的交互方法流程图。在本应用实施例中,终端设备102中安装有视频应用客户端,服务器104中安装有视频应用服务端。
在本实施例中,用户的操作,即步骤S101b、S102b、S103b,与应用实施例一相同,在此不再赘述。本实施例中终端设备102的步骤S201b至步骤S204b与应用实施例一相同,在此不再赘述。
在本实施例中,当服务端接收到对动作组的请求后,在步骤S302b查询数据库得到对应的一个或多个动作序列数据,并在步骤S303b生成一个或多个对应的虚拟数字人动作视频片段,并在步骤S304b发送给客户端。
客户端接收到以一个或多个虚拟数字人动作视频片段后,在步骤S205b播放虚拟数字人动作视频片段。
其中,服务端生成虚拟数字人动作视频片段的处理过程参见应用实施例一,客户端播放一个或多个虚拟数字人动作视频片段的方式参见应用实施例一,在此不再赘述。
本实施例利用服务端强大的数据处理能力为用户指定的动作生成对应的虚拟数字人动作视频片段,客户端专注于视频的播放、与用户的互动,因而对用户请求的响应速度快。
应用实施例三
图10是根据本发明应用实施例三的基于视频分解处理的交互方法流程图。在本应用实施例中,终端设备102中安装有视频应用客户端,服务器104中安装有视频应用服务端。本实施例为了满足用户观看最新视频的需求或者满足视频提供用户尽快发布其视频的要求,仍然公布还未进行动作组的分解处理的视频。为了能够满足用户观看分解动作组的需求,本实施例在播放未进行分解处理的视频时,通过客户端向用户提供分解按钮以提供实时分解功能。具体参见图10,为了简化说明、避免重复,以下仅说明与前述应用实施例不同的处理步骤。
在本实施例中,当用户通过步骤S101c、步骤S102c的操作确定了观看的目标视频后,由于服务端还未对所述目标视频进行动作组的分解处理,因而客户端在步骤S203c播放所述目标视频时,没有显示目标视频的分解动作结构信息而是显示分解按钮。当用户在步骤S103c点击了分解按钮时,客户端在步骤S204c向服务端发送分解请求。服务端在步骤S302c按照图4所示流程对当前正在播放的目标视频进行动作组分解,得到多个动作组,基于动作组的分组信息生成分解动作结构信息,并在步骤S303c将分解动作结构信息返回给客户端。客户端接收到服务端发送来的分解动作结构信息后,在步骤S205c 显示所述分解动作结构信息。其余的处理过程,如步骤S201c、步骤S202c、步骤S206c、步骤S207c,及服务端的步骤S301c、步骤S304c、步骤S305c、步骤S306c等与应用实施例一或应用实施二相同,不再赘述。
虽然在本实施例中的分解动作结构信息是由服务端提供,然而由于客户端也可以进行动作组分解处理,因而所述服务端在接收到分解请求时,向服务端发送的基于目标视频生成的目标对象的动作序列数据,客户端以所述目标对象的动作序列数据作为目标动作序列,将所述目标动作序列数据进行分解处理得到多个动作组,并基于动作组的分组信息生成分解动作结构信息,在播放所述目标视频的同时显示所述分解动作结构信息。
在另一方面,本发明还提供了一种基于视频分解处理的交互装置,应用于服务端,如图11所示,图11是根据本发明一个实施例的应用于服务端的基于视频分解处理的交互装置(简称第一交互装置100)原理框图,所述第一交互装置100包括动作序列数据获取模块110、滑动窗口确定模块120、分组模块130和分组请求处理模块140,其中,所述动作序列数据获取模块110经配置以获取基于目标视频生成的目标对象的动作序列数据,其中,所述动作序列数据包括多帧动作数据,每帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。所述滑动窗口确定模块120经配置以基于目标视频的类型确定对动作序列数据进行分组时使用的第一滑动窗口的帧数。所述分组模块130经配置以基于滑动窗口从动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组。所述分组请求处理模块140经配置以响应客户端对目标视频中一个动作组的请求,将对应被请求的动作组的动作序列数据发送给客户端,由客户端基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。可选地,所述第一交互装置100还包括动作视频生成模块150,经配置以基于每个动作组的动作序列数据驱动虚拟数字人生成虚拟数字人动作视频片段;对应地,所述分组请求处理模块140经配置以响应客户端对目标视频中的动作组的请求,将对应被请求的动作组的虚拟数字人动作视频片段发送给所述客户端。
其中,在对目标视频进行分解处理时,当数据库中已经包括了目标视频的动作序列数据时,动作序列数据获取模块110根据目标视频从数据库中读取目标视频的动作序列数据,当数据库中没有目标视频的动作序列数据时,动作序列数据获取模块110生成动作序列数据,如图3所示流程生成一个舞蹈视频中舞者动作序列数据。
当所述目标对象的动作序列数据为多个,每个动作序列数据包括对应目标视频中一个特定视角时的目标对象骨骼关键点的三维坐标,动作序列数据获取模块110将多个动作序列数据发送给分组模块130。分组模块130以多个动作序列数据中的任意一个作为目标动作序列数据,基于滑动窗口确定模块120确定的滑动窗口将目标动作序列数据分解为多个动作组后,基于每个动作组的分组信息将剩余动作序列数据分解为相同的多个动作组,其中,每个动作组对应多个动作序列数据。此时的动作视频生成模块150基于每个动作组多个动作序列数据分别驱动虚拟数字人生成多个虚拟数字人动作视频片段。可选地,此时还可以由所述分组请求处理模块140将对应一个动作组的多个视角的虚拟数字人动作视频片段合成在一起生成一个包含多个视角的虚拟数字人动作的视频片段,在响应于客户端对目标视频中一个动作组的请求,将对应被请求的动作组的包含多个视角的虚拟数字人动作的视频片段发送给所述客户端。
分组模块130在将目标视频分解得到多个动作组后,还为所述目标视频生成分解动作结构信息,并将所述分解动作结构信息填加在所述目标视频的文件信息中,其中,所述分解动作结构信息至少包括目标视频中包括的动作组及其对应的时间信息;对应地,在客户端播放所述目标视频时能够显示所述分解动作结构信息。
动作视频生成模块150在生成虚拟数字人动作视频片段时,基于目标视频提供用户的授权,按照目标视频中的目标对象生成虚拟数字人形象;或者采用与目标视频中的目标对象同类的虚拟数字人形象。
所述分组请求处理模块140基于给定的视频组,分别将所述视频组中的每一个视频作为目标视频;或者定时识别每一个增量视频,在所述增量视频的文件信息中没有分组打点信息时,将所述增量视频确定为目标视频;或者在接收到客户端对当前正在播放的视频的分解请求时,将所述正在播放的视频确定为目标视频。
在另一方面,本发明还提供了一种基于视频分解处理的交互装置,应用于客户端,如图12所示,为根据本发明一个实施例的应用于客户端的基于视频分解处理的交互装置(简称第二交互装置200),所述第二交互装置200包括目标视频模块210、动作组请求模块220和分解动作视频模块230,其中,所述目标视频模块210经配置与客户端的交互模块201连接,接收用户播放目标视频的指令,并播放所述目标视频,在所述目标视频的文件信息中包括所述目标视频的分解动作结构信息时,在播放所述目标视频的同时显示所述分解动作结构信息。
所述动作组请求模块220与客户端的交互模块201连接,经配置以响应用户对所述分解动作结构信息中的一个动作组的请求,向服务端发送对所述动作组的请求。
所述分解动作视频模块230,经配置以响应于从服务端接收到对应被请求的动作组的虚拟数字人动作视频片段时播放所述虚拟数字人动作视频片段;响应于从服务端接收到对应被请求的动作组的动作序列数据,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段,并播放所述虚拟数字人动作视频片段;其中,所述动作序列数据包括多帧动作数据,每帧的动作数据由目标视频中的目标对象骨骼关键点的三维坐标构成。
可选地,所述分解动作视频模块230响应于从服务端返回的虚拟数字人动作视频片段为不同视角的多个虚拟数字人动作视频片段时,将所述不同视角的多个虚拟数字人动作视频片段合成一个包含多个视角的虚拟数字人动作的视频片段并播放;或者,采用多个播放窗口同步播放不同视角的多个虚拟数字人动作视频片段。
可选地,所述分解动作视频模块230在从服务端接收到对应被请求的动作组的动作序列数据为多个不同视角的动作序列数据,分别按照多个动作序列数据驱动虚拟数字人生成相应视角的所述动作组的多个虚拟数字人动作视频片段。
可选地,所述分解动作视频模块230在基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段时,基于目标视频提供用户的授权,按照目标视频中的目标对象生成虚拟数字人形象;或者采用与目标视频中的目标对象同类的虚拟数字人形象。
可选地,所述目标视频模块210在播放所述目标视频时,当所述目标视频的文件信息中不包括所述目标视频的分解动作结构信息时,生成分解请求并发送给服务端,或者在通过交互模块201接收到用户点击的分解按钮时,生成分解请求并发送给服务端。在接收到服务端返回的分解动作结构信息时,通过交互模块201显示所述分解动作结构信息。当发出分解请求后,从服务端接收到的是基于目标视频生成的目标对象的动作序列数据时,所述目标视频模块210以所述目标对象的动作序列数据作为目标动作序列,将所述目标动作序列数据进行分解处理得到多个动作组,并基于动作组的分组信息生成分解动作结构信息,通过交互模块201播放所述目标视频的同时显示所述分解动作结构信息。
可选地,当所述目标视频模块210接收到的所述目标对象的动作序列数据为多个时,以多个动作序列数据中的任意一个作为目标动作序列数据,在将所述目标动作序列数据进行分解处理得到多个动作组后,基于每个动作组的分组信息将剩余动作序列数据分解为相同的多个动作组,其中,每个动作组对应多个动作序列数据,每个动作序列数据包括对应目标视频中一个特定视角时的目标对象骨骼关键点的三维坐标。进一步地,所述目标视频模块210可通过图4所示的流程将所述目标动作序列数据进行分解处理得到多个动作组,具体过程不再赘述。
前述的交互模块201例如为输入单元和输出单元,所述输入单元例如为各种硬件键盘、采用软件实现的键盘功能、触摸操作监测功能等,输出单元例如为显示屏幕及显示处理功能等。
本发明还提供一种电子设备,包括处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意一项实施例的基于视频分解处理的交互方法。本发明中的电子设备可以是图1中的终端设备102,也可以是图1中的服务器104。图13是根据本发明一个实施例的电子设备的硬件结构示意图。如图13所示,电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
存储器602可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器602包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种方法。
在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图13所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。通信接口603主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的基于视频分解处理的交互方法,本发明实施例可提供一种计算机存储介质。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于视频分解处理的交互方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质可以包括非暂态计算机可读存储介质,比如包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质,机器可读介质还可以包括射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统,但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (20)

1.一种基于视频分解处理的交互方法,其特征在于,应用于服务端,所述方法包括:
获取基于目标视频生成的动作序列数据,其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由所述目标视频中的目标对象骨骼关键点的三维坐标构成;
基于目标视频类型确定对所述动作序列数据进行分组时使用的滑动窗口的帧数;
基于滑动窗口从所述动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组;以及
基于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的动作序列数据发送给所述客户端,由所述客户端基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。
2.根据权利要求1所述的基于视频分解处理的交互方法,其特征在于,所述基于目标视频生成的动作序列数据为多个,每个动作序列数据包括对应目标视频中一个特定视角时的目标对象骨骼关键点的三维坐标;
以多个动作序列数据中的任意一个作为目标动作序列数据,在将所述目标动作序列数据分解为多个动作组后,基于每个动作组的分组信息将剩余动作序列数据分解为相同的多个动作组,其中,每个动作组的分组信息包括动作组id、时间起点、时间终点、起点帧id和终点帧id中的一者或多者,每个动作组对应不同特定视角的多个动作序列数据;
基于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的多个动作序列数据发送给所述客户端。
3.根据权利要求1或2所述的基于视频分解处理的交互方法,其特征在于,进一步包括基于每个动作组的一个动作序列数据或不同特定视角的多个动作序列数据驱动虚拟数字人生成一个虚拟数字人动作视频片段或不同特定视角的多个虚拟数字人动作视频片段,对应地,响应于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的一个虚拟数字人动作视频片段或不同特定视角的多个虚拟数字人动作视频片段发送给所述客户端。
4.根据权利要求3所述的基于视频分解处理的交互方法,其特征在于,在基于每个动作组的不同特定视角的多个动作序列数据驱动虚拟数字人驱动虚拟数字人生成不同特定视角多个的虚拟数字人动作视频片段之后进一步包括:
将对应一个动作组的不同特定视角的多个虚拟数字人动作视频片段合成在一起生成一个包含多个特定视角的虚拟数字人动作的视频片段;基于客户端对目标视频中指定动作组的请求,将对应被请求的动作组的包含多个特定视角的虚拟数字人动作的视频片段发送给所述客户端。
5.根据权利要求1所述的基于视频分解处理的交互方法,其特征在于,在基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算时,从所述动作序列数据中分解出两个相同动作组的步骤包括:
采用滑动窗口从所述动作序列数据中未计算的视频帧组中确定第一目标帧组及第二目标帧组;
计算第二目标帧组中的第一帧与第一目标帧组中的第一帧中的目标对象对应骨骼关键点的三维坐标的差异,响应于所述对应骨骼关键点的三维坐标的差异小于或等于阈值,确定所述第二目标帧组中的第一帧与所述第一目标帧组中的所述第一帧为重复帧;响应于所述对应骨骼关键点的三维坐标的差异大于阈值,在当前位置向后移动所述滑动窗口以确定新的第二目标帧组;
响应于所述第二目标帧组中的第一帧与第一目标帧组中的所述第一帧为重复帧,计算所述第一目标帧组和所述第二目标帧组中的目标对象对应骨骼关键点的三维坐标的差异,在对应骨骼关键点的三维坐标的差异小于或等于阈值时,确定所述第一目标帧组和所述第二目标帧组为重复片段;以及
确定作为重复片段的第一目标帧组和所述第二目标帧组为相同动作组,并记录相应的分组信息,所述分组信息包括动作组id、时间起点、时间终点、起点帧id和终点帧id中的一者或多者。
6.根据权利要求1所述的基于视频分解处理的交互方法,其特征在于,在按照动作相似性将所述动作序列数据分解为多个动作组之后进一步包括:
为所述目标视频生成分解动作结构信息,并将所述分解动作结构信息填加在所述目标视频的文件信息中,其中,所述分解动作结构信息至少包括动作组及其对应的时间信息;对应地,在客户端播放所述目标视频时显示所述分解动作结构信息。
7.根据权利要求3所述的基于视频分解处理的交互方法,其特征在于,在驱动虚拟数字人时,基于目标视频提供用户的授权,按照目标视频中的目标对象生成虚拟数字人形象;或者采用与目标视频中的目标对象同类的虚拟数字人形象。
8.根据权利要求1所述的基于视频分解处理的交互方法,其特征在于,进一步包括确定目标视频的步骤:
基于预置的视频组,分别将所述视频组中的每一个视频确定为目标视频;或者
定时识别增量视频,在所述增量视频的文件信息中没有分组打点信息时,将所述增量视频确定为目标视频;或者
在接收到客户端对当前正在播放的视频的分解请求时,将正在播放的所述视频确定为目标视频。
9.一种基于视频分解处理的交互方法,其特征在于,应用于客户端,所述方法包括:
在目标视频的播放过程中,在所述目标视频的文件信息中包括所述目标视频的分解动作结构信息时,在播放所述目标视频的同时显示所述分解动作结构信息;
响应于用户对所述分解动作结构信息中的指定动作组的请求,向服务端发送对所述动作组的请求;以及
响应于从服务端接收到对应被请求的动作组的虚拟数字人动作视频片段,播放所述虚拟数字人动作视频片段;响应于从服务端接收到对应被请求的动作组的动作序列数据,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段,并播放所述虚拟数字人动作视频片段;其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由所述目标视频中的目标对象骨骼关键点的三维坐标构成。
10.根据权利要求9所述的基于视频分解处理的交互方法,其特征在于,响应于从服务端返回的虚拟数字人动作视频片段为不同特定视角的多个虚拟数字人动作视频片段时,将所述多个虚拟数字人动作视频片段合成一个包含多个特定视角的虚拟数字人动作的视频片段并播放;或者,采用多个播放窗口同步播放不同特定视角的多个虚拟数字人动作视频片段。
11.根据权利要求9所述的基于视频分解处理的交互方法,其特征在于,在基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段时,基于目标视频提供用户的授权,按照目标视频中的目标对象生成虚拟数字人形象;或者采用与目标视频中的目标对象同类的虚拟数字人形象。
12.根据权利要求9所述的基于视频分解处理的交互方法,其特征在于,响应于从服务端接收到对应被请求的动作组的动作序列数据为不同特定视角的多个动作序列数据,基于每个动作序列数据分别驱动虚拟数字人生成相应特定视角的所述动作组的虚拟数字人动作视频片段,进而得到不同特定视角的多个虚拟数字人动作视频片段。
13.根据权利要求9所述的基于视频分解处理的交互方法,其特征在于,进一步地,在所述目标视频的文件信息中不包括所述目标视频的分解动作结构信息时,生成分解请求并发送给服务端;
所述服务端响应所述分解请求,对基于目标视频生成的目标对象的动作序列数据进行动作组的分解处理以得到多个动作组,基于动作组的分组信息生成分解动作结构信息并返回给所述客户端;或者,所述服务端响应所述分解请求,将基于目标视频生成的目标对象的动作序列数据发送给所述客户端;
响应于接收到所述服务端响应所述分解请求发送的分解动作结构信息,在播放所述目标视频的同时显示所述分解动作结构信息;
响应于接收到所述服务端响应所述分解请求发送的基于目标视频生成的目标对象的动作序列数据,以所述目标对象的动作序列数据作为目标动作序列数据,将所述目标动作序列数据进行分解处理得到多个动作组,并基于动作组的分组信息生成分解动作结构信息,在播放所述目标视频的同时显示所述分解动作结构信息。
14.根据权利要求13所述的基于视频分解处理的交互方法,其特征在于,响应于接收到的基于目标视频生成的动作序列数据为多个,以多个动作序列数据中的任意一个作为目标动作序列数据,在将所述目标动作序列数据进行分解处理得到多个动作组后,基于每个动作组的分组信息将剩余动作序列数据分解为相同的多个动作组,其中,每个动作组的分组信息包括动作组id、时间起点、时间终点、起点帧id和终点帧id中的一者或多者,每个动作组对应不同特定视角的多个动作序列数据。
15.根据权利要求13或14所述的基于视频分解处理的交互方法,其特征在于,在将所述目标动作序列数据进行分解处理得到两个相同动作组的步骤包括:
采用滑动窗口从所述目标动作序列数据中未计算的视频帧组中确定第一目标帧组及第二目标帧组;
计算第二目标帧组中的第一帧与第一目标帧组中的第一帧中的目标对象对应骨骼关键点的三维坐标的差异,响应于所述对应骨骼关键点的三维坐标的差异小于或等于阈值,确定所述第二目标帧组中的第一帧与所述第一目标帧组中的所述第一帧为重复帧;响应于所述对应骨骼关键点的三维坐标的差异大于阈值,在当前位置向后移动所述滑动窗口以确定新的第二目标帧组;
响应于所述第二目标帧组中的第一帧与第一目标帧组中的所述第一帧为重复帧,计算所述第一目标帧组和所述第二目标帧组中的目标对象对应骨骼关键点的三维坐标的差异,在对应骨骼关键点的三维坐标的差异小于或等于阈值时,确定所述第一目标帧组和所述第二目标帧组为重复片段;以及
确定作为重复片段的第一目标帧组和所述第二目标帧组为相同动作组,并记录相应的分组信息,所述分组信息包括动作组id、时间起点、时间终点、起点帧id和终点帧id中的一者或多者。
16.一种基于视频分解处理的交互装置, 其特征在于,应用于服务端,包括:
动作序列数据获取模块,经配置以获取基于目标视频生成的目标对象的动作序列数据,其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由所述目标视频中的目标对象骨骼关键点的三维坐标构成;
滑动窗口确定模块,经配置以基于目标视频类型确定对所述动作序列数据进行分组时使用的第一滑动窗口的帧数;
分组模块,经配置以基于第一滑动窗口从所述动作序列数据中确定目标帧,基于目标帧中的目标对象骨骼关键点的三维坐标进行动作相似性计算,按照动作相似性将所述动作序列数据分解为多个动作组;以及
分组请求处理模块,经配置以响应客户端对目标视频中指定动作组的请求,将对应被请求的动作组的动作序列数据发送给客户端,由客户端基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段。
17.根据权利要求16所述的基于视频分解处理的交互装置,其特征在于,进一步包括:
动作视频生成模块,经配置以基于每个动作组的动作序列数据驱动虚拟数字人生成虚拟数字人动作视频片段;
对应地,所述分组请求处理模块经配置以响应客户端对目标视频中指定动作组的请求,将对应被请求的动作组的虚拟数字人动作视频片段发送给所述客户端。
18.一种基于视频分解处理的交互装置, 其特征在于,应用于客户端,包括:
目标视频模块,经配置以播放目标视频,在所述目标视频的文件信息中包括所述目标视频的分解动作结构信息时,在播放所述目标视频的同时显示所述分解动作结构信息;
动作组请求模块,经配置以响应用户对所述分解动作结构信息中的指定动作组的请求,向服务端发送对所述动作组的请求;以及
分解动作视频模块,经配置以响应于从服务端接收到对应被请求的动作组的虚拟数字人动作视频片段时播放所述虚拟数字人动作视频片段;从服务端接收到对应被请求的动作组的动作序列数据时,基于所述动作序列数据驱动虚拟数字人生成相应的虚拟数字人动作视频片段,并播放所述虚拟数字人动作视频片段;其中,所述动作序列数据包括按视频帧顺序组成的动作数据,每个视频帧的动作数据由所述目标视频中的目标对象骨骼关键点的三维坐标构成。
19.一种电子设备,其特征在于,所述电子设备包括处理器以及存储有计算机程序指令的存储器;所述电子设备执行所述计算机程序指令时实现如权利要求1-8中任一项所述的应用于服务端的基于视频分解处理的交互方法,或实现如权利要求9-15中任一项所述的应用于客户端的基于视频分解处理的交互方法。
20.一种计算机可读存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8中任一项所述的应用于服务端的基于视频分解处理的交互方法,或实现如权利要求9-15中任一项所述的应用于客户端的基于视频分解处理的交互方法。
CN202311226937.6A 2023-09-22 2023-09-22 基于视频分解处理的交互方法、装置、设备及存储介质 Active CN116980717B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311226937.6A CN116980717B (zh) 2023-09-22 2023-09-22 基于视频分解处理的交互方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311226937.6A CN116980717B (zh) 2023-09-22 2023-09-22 基于视频分解处理的交互方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116980717A true CN116980717A (zh) 2023-10-31
CN116980717B CN116980717B (zh) 2024-01-23

Family

ID=88485314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311226937.6A Active CN116980717B (zh) 2023-09-22 2023-09-22 基于视频分解处理的交互方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116980717B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310901A1 (en) * 2016-04-20 2017-10-26 Samsung Electronics Co., Ltd Methodology and apparatus for generating high fidelity zoom for mobile video
CN111541938A (zh) * 2020-04-30 2020-08-14 维沃移动通信有限公司 视频生成方法、装置及电子设备
CN113257055A (zh) * 2021-05-11 2021-08-13 山东体育学院 一种智能舞蹈步伐学习装置及方法
CN114093021A (zh) * 2020-08-06 2022-02-25 上海哔哩哔哩科技有限公司 舞蹈视频的动作提取方法、装置、计算机设备及存储介质
KR20220057842A (ko) * 2020-10-30 2022-05-09 주식회사 포스코아이씨티 모션인식 안무학습 장치
WO2022141533A1 (zh) * 2020-12-31 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法、视频处理装置、终端设备以及存储介质
CN116129330A (zh) * 2023-03-14 2023-05-16 阿里巴巴(中国)有限公司 基于视频的图像处理、行为识别、分割、检测方法及设备
CN116546149A (zh) * 2023-07-04 2023-08-04 北京小糖科技有限责任公司 基于虚拟数字人的舞蹈教学交互方法、装置、设备及介质
US20230260326A1 (en) * 2020-09-29 2023-08-17 New Oriental Education & Technology Group Inc. Dance segment recognition method, dance segment recognition apparatus, and storage medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310901A1 (en) * 2016-04-20 2017-10-26 Samsung Electronics Co., Ltd Methodology and apparatus for generating high fidelity zoom for mobile video
CN111541938A (zh) * 2020-04-30 2020-08-14 维沃移动通信有限公司 视频生成方法、装置及电子设备
CN114093021A (zh) * 2020-08-06 2022-02-25 上海哔哩哔哩科技有限公司 舞蹈视频的动作提取方法、装置、计算机设备及存储介质
US20230260326A1 (en) * 2020-09-29 2023-08-17 New Oriental Education & Technology Group Inc. Dance segment recognition method, dance segment recognition apparatus, and storage medium
KR20220057842A (ko) * 2020-10-30 2022-05-09 주식회사 포스코아이씨티 모션인식 안무학습 장치
WO2022141533A1 (zh) * 2020-12-31 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法、视频处理装置、终端设备以及存储介质
CN113257055A (zh) * 2021-05-11 2021-08-13 山东体育学院 一种智能舞蹈步伐学习装置及方法
CN116129330A (zh) * 2023-03-14 2023-05-16 阿里巴巴(中国)有限公司 基于视频的图像处理、行为识别、分割、检测方法及设备
CN116546149A (zh) * 2023-07-04 2023-08-04 北京小糖科技有限责任公司 基于虚拟数字人的舞蹈教学交互方法、装置、设备及介质

Also Published As

Publication number Publication date
CN116980717B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
EP3889912B1 (en) Method and apparatus for generating video
CN110570698B (zh) 一种在线教学控制方法、装置、存储介质以及终端
CN106254848B (zh) 一种基于增强现实的学习方法及终端
US10789474B2 (en) System, method and apparatus for displaying information
CN116546149B (zh) 基于虚拟数字人的舞蹈教学交互方法、装置、设备及介质
CN112511853B (zh) 一种视频处理方法、装置、电子设备及存储介质
Muneesawang et al. A machine intelligence approach to virtual ballet training
CN110930220A (zh) 一种显示方法、装置、终端设备及介质
CN113870395A (zh) 动画视频生成方法、装置、设备及存储介质
CN110516749A (zh) 模型训练方法、视频处理方法、装置、介质和计算设备
CN110232654A (zh) 图像合成方法、装置、设备及其存储介质
CN116980717B (zh) 基于视频分解处理的交互方法、装置、设备及存储介质
CN110334620A (zh) 教学质量的评估方法、装置、存储介质及电子设备
CN110585730B (zh) 游戏的节奏感测试方法、装置以及相关设备
CN113076436B (zh) 一种vr设备主题背景推荐方法及系统
CN110366025A (zh) 显示内容的配置方法、智能终端及计算机可读存储介质
CN116320534A (zh) 视频制作方法及装置
CN116980654B (zh) 基于视频教学的交互方法、装置、设备及存储介质
CN111796846B (zh) 信息更新方法、装置、终端设备及可读存储介质
CN114168775A (zh) 特征信息获取方法及装置、存储介质及电子设备
CN113467807A (zh) 游戏更新方法及系统、服务器、电子设备、存储介质
Albakri et al. 3D Keyframe Motion Extraction from Zapin Traditional Dance Videos
Bhatla et al. Human Bone Classification System based on Augmented Reality and Deep Learning
CN116886656B (zh) 面向聊天室的舞蹈知识推送方法及其装置
CN117014687B (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