CN111298433B - 一种动画视频处理方法、装置、电子设备及存储介质 - Google Patents

一种动画视频处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111298433B
CN111298433B CN202010085370.5A CN202010085370A CN111298433B CN 111298433 B CN111298433 B CN 111298433B CN 202010085370 A CN202010085370 A CN 202010085370A CN 111298433 B CN111298433 B CN 111298433B
Authority
CN
China
Prior art keywords
target object
determining
animation
motion
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010085370.5A
Other languages
English (en)
Other versions
CN111298433A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010085370.5A priority Critical patent/CN111298433B/zh
Publication of CN111298433A publication Critical patent/CN111298433A/zh
Priority to PCT/CN2021/076159 priority patent/WO2021160108A1/zh
Priority to US17/687,008 priority patent/US11836841B2/en
Application granted granted Critical
Publication of CN111298433B publication Critical patent/CN111298433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • 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/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • 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/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • 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
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8005Athletics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/08Animation software package

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种动画视频处理方法、装置、电子设备及存储介质,方法包括:确定与目标对象相匹配的原始动画视频,对原始动画视频进行预处理,获取原始动画视频中的关键视频帧和关键视频帧所对应的运动数据;确定与所述目标对象相匹配的运动数据集合;确定所述目标对象的位移参数;基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。本发明能够准确高效地在原始动画视频中获取与目标对象的实时运动状态相匹配的动画视频,相比于传统技术,在保证用户的电子设备的信息处理能力不变的情况下,所支持的AI角色数量和相应的动画质量均有大幅度提升,有效提升用户的使用体验。

Description

一种动画视频处理方法、装置、电子设备及存储介质
技术领域
本发明涉及信息处理技术,尤其涉及动画视频处理方法、装置、电子设备及存储介质。
背景技术
人工智能(AI Artificial Intelligence)角色是指游戏场景中由计算机控制(而非用户控制)的游戏角色。例如在一些大型多人在线角色扮演游戏(MMO RPGMassiveMultiplayer Online Role Playing Game)中,AI角色较为常见。
AI角色可以同用户控制的游戏角色一样,在游戏场景中自由移动,且支持动画、音效等功能,其位置也可以准确地由服务器同步到各个客户端。此外,AI角色的行为逻辑由行为树控制,AI策划可以对其行为进行配置。
传统方案中,在对AI角色进行处理的过程中,动画状态机面对复杂运动行为时其扩展性较差,同样,Motion Matching算法为了覆盖角色的各种运动行为,该算法要求录制大量的动作捕捉数据作为数据基础,以确保无论何种运动状态都能找到相对接近的动画片段,这一过程占用了大量的系统开销,验证影响了用户的使用体验。
发明内容
有鉴于此,本发明实施例提供一种动画视频处理方法、装置、电子设备及存储介质,本发明实施例的技术方案是这样实现的:
本发明提供了一种动画视频处理方法,所述方法包括:
确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;
对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;
根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;
基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;
基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
本发明实施例还提供了一种动画视频处理装置,其特征在于,所述装置包括:
信息传输模块,用于确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;
信息处理模块,用于对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;
所述信息处理模块,用于根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;
所述信息处理模块,用于基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;
所述信息处理模块,用于基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
上述方案中,
所述信息处理模块,用于确定所述目标对象相对应的动画视频输出环境;
所述信息处理模块,用于根据所述动画视频输出环境,确定所述目标对象在不同使用场景中的运动状态;
所述信息处理模块,用于根据所述目标对象在不同使用场景中的运动状态,对捕捉对象的运动动作进行动态捕捉,形成与所述目标对象相匹配的原始动画视频。
上述方案中,
所述信息处理模块,用于侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置;
所述信息处理模块,用于当所述目标对象的肢体落点位置位于相应的水平面中,或者,
与相应的参照物接触时,确定包括所述目标对象的肢体落点位置的视频帧为关键视频帧;
所述信息处理模块,用于基于所述关键视频帧,确定所述目标对象在不同使用场景中的位移参数作为所述关键视频帧所对应的运动数据。
上述方案中,
所述信息处理模块,用于当所述目标对象的肢体为所述目标对象的左下肢和右下肢时,确定所述目标对象的左下肢速度和所述目标对象的右下肢速度;
所述信息处理模块,用于当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到负向极值时,确定所述述目标对象的左下肢位置位于相应的水平面中;
所述信息处理模块,用于当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到正向极值时,确定所述述目标对象的右下肢位置位于相应的水平面中。
上述方案中,
所述信息处理模块,用于当所述目标对象的肢体为所述目标对象的左上肢和右上肢时,确定所述目标对象的左上肢速度和所述目标对象的右上肢速度;
所述信息处理模块,用于当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到负向极值时,确定所述述目标对象的左上肢位置与相应的参照物接触;
所述信息处理模块,用于当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到正向极值时,确定所述述目标对象的右上肢位置与相应的参照物接触。
上述方案中,
所述信息处理模块,用于基于寻路算法进程,确定所述目标对象的移动路径;
所述信息处理模块,用于根据所述目标对象相匹配的运动数据集合,确定所述目标对象相匹配的最大位移参数和相应的最大加位移参数;
所述信息处理模块,用于根据所述目标对象的移动路径、所述目标对象相匹配的最大位移参数和相应的最大加位移参数,确定所述目标对象在不同时刻的位移参数。
上述方案中,
所述信息处理模块,用于基于所述目标对象的位移参数,确定与所述目标对象当前运动状态相对应的第一运动向量;
所述信息处理模块,用于基于与所述目标对象相匹配的运动数据集合,确定与每个关键视频帧分别对应的第二运动向量;
所述信息处理模块,用于根据所述第一运动向量,在所述第二运动向量相对应的搜索二叉树结构中确定与所述第一运动向量相匹配的第二运动向量;
所述信息处理模块,用于根据与所述第一运动向量相匹配的第二运动向量,确定对应的关键视频帧,并通过所确定的关键视频帧,获取与所述目标对象的实时运动状态相匹配的动画视频。
上述方案中,
所述信息处理模块,用于当所述第一运动向量表征所述目标对象的左下肢位置位于相应的水平面中时,通过所述第二运动向量相对应的右下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量,或者,
所述信息处理模块,用于当所述第一运动向量表征所述目标对象的右下肢位置位于相应的水平面中时,通过所述第二运动向量相对应的左下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量。
上述方案中,
所述信息处理模块,用于根据所述关键视频帧,确定不同的待输出动画视频;
所述信息处理模块,用于确定所述不同的待输出动画视频中所述目标对象肢体落点位置与所述目标对象当前肢体落点位置距离最小的待输出动画视频为与所述目标对象的实时运动状态相匹配的动画视频。
上述方案中,
所述信息处理模块,用于获取与所述动画视频输出环境相对应的目标分辨率;
所述信息处理模块,用于基于所述目标分辨率,对所述与所述目标对象的实时运动状态相匹配的动画视频进行分辨率增强处理,以实现与所述目标对象的实时运动状态相匹配的动画视频与动画视频输出环境相匹配。
本发明实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前序的动画视频处理方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的动画视频处理方法。
本发明实施例具有以下有益效果:
本发明实施例所示的技术方案通过确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频,由此,能够准确高效地在原始动画视频中获取与目标对象的实时运动状态相匹配的动画视频,相比于传统技术,在保证用户的电子设备的信息处理能力不变的情况下,所支持的AI角色数量和相应的动画质量均有大幅度提升,有效提升用户的使用体验。
附图说明
图1为本发明实施例提供的动画视频处理方法的使用场景示意图;
图2为本发明实施例提供的电子设备结构示意图;
图3为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图4为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图5为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图6为本发明实施例提供的动画视频处理方法的一个前端显示示意图;
图7为本发明实施例提供的动画视频处理方法的一个前端显示示意图;
图8为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图9为本发明实施例提供的动画视频处理方法的显示效果示意图;
图10A为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图10B为本发明实施例提供的动画视频处理方法一个可选的流程示意图;
图11为本发明实施例提供的动画视频处理方法的显示效果示意图;
图12为本发明实施例提供的动画视频处理方法一个可选的处理过程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。
3)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如执行支付消费功能或者是购买理财产品的功能。
4)虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,下述实施例以虚拟环境是三维虚拟环境来举例说明,但对此不加以限定。可选地,该虚拟环境还用于至少两个虚拟虚拟对象之间的虚拟环境对战。可选地,该虚拟环境还用于至少两个虚拟虚拟对象之间使用虚拟枪械进行对战。可选地,该虚拟环境还用于在目标区域范围内,至少两个虚拟对象之间使用虚拟枪械进行对战,该目标区域范围会随虚拟环境中的时间推移而不断变小。
5)虚拟道具:是指在虚拟环境通过发射子弹进行攻击的虚拟武器,或者发射箭簇的虚拟弓箭、虚拟弹弓,虚拟对象在虚拟环境中可以对虚拟枪械进行捡拾,并通过捡拾得到的虚拟枪械进行攻击。
其中,可选地,该虚拟对象可以是通过客户端上的操作进行控制的用户虚拟对象,也可以是通过训练设置在虚拟场景对战中的人工智能(Artificial Intelligence,AI),还可以是设置在虚拟场景互动中的非用户虚拟对象(Non-Player Character,NPC)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
其中,以射击类游戏为例,用户可以控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等,当然,用户也可以控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,例如,该虚拟载具可以是虚拟汽车、虚拟飞行器、虚拟游艇等,在此仅以上述场景进行举例说明,本发明实施例对此不作具体限定。用户也可以控制虚拟对象通过虚拟武器与其他虚拟对象进行战斗等方式的互动,该虚拟武器可以是冷兵器,也可以是热兵器,本发明对虚拟武器的类型不作具体限定。
6)AI角色:游戏中非玩家的角色,比如敌人(可以是机器操控)或者队友所操控的游戏中的人物。
7)动画状态机:以不同状态及其之间的转换来驱动角色动画表现的技术手段。
8)运动状态(Locomotion):包括游戏目标对象(游戏角色)的走、跑、转向等基本运动行为。
9)动作捕捉技术:将真游戏角色的运动状态通过传感器记录并转化成动画数据。
10)运动匹配(Motion Matching):一种以大量动作捕捉数据来驱动角色动画的技术。
11)同步点技术(Sync Point):在动画上标记出同步点(一般为左/右脚落地的时刻)以保证两个动画在切换时双脚的位置大致吻合。
12)KD Tree(k-dimensional树):一种二叉树的树状的数据结构,可以用于在大量数据中快速查找指定坐标的最近邻的目标。
13)欧氏距离:两个坐标之间的一种距离衡量方式,计算方法为对每个空间维度的坐标差平方后求和再开根号,在三维空间中对应两个点之间的物理距离。
其中,本发明中提供的方法可以应用于虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏(First-person shooting game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)等,下述实施例是以在游戏中的应用来举例说明。
基于虚拟环境的游戏往往由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以操控游戏中的虚拟对象在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、切换使用虚拟武器、使用虚拟武器攻击其他虚拟对象等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。用户控制虚拟对象使用虚拟武器对目标虚拟对象发起攻击时,用户根据目标虚拟对象所在的位置,需要进行移动(例如奔跑或攀登),同样的游戏中的AI角色也需要在游戏界面中进行移动。
其中,第一人称射击游戏(First-person Shooting,FPS)是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟对象在虚拟环境中进行单局对战模式,虚拟对象通过躲避其他虚拟对象发起的攻击和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟对象是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本发明实施例对对战模式不加以限定。
图1为本发明实施例提供的动画视频处理方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够显示相应动画视频处理的软件的客户端,例如不同的游戏的客户端或插件,用户通过相应的客户端可以获得动画视频处理并进行展示,并在游戏进程的运行过程中触发相应的动画视频处理进程(例如在不同的运动路线中奔跑或者攀登);终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
作为一个示例,服务器200用于布设所述动画视频处理装置以实现本发明所提供的动画视频处理方法,以通过确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
当然,本发明所提供的动画视频处理装置可以应用于不同的游戏环境包括但不限虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏(First-personshooting game,FPS)、多人在线战术竞技游戏(Multiplayer OnlineBattle Arena Games,MOBA)等,最终在用户界面(User Interface,UI)上呈现出与相应的对应的虚拟道具并进行控制。用户在当前显示界面中的运动数据(例如在虚拟环境中奔跑或者攻击)还可以供其他应用程序调用。
当然在通过动画视频处理装置对不同的动画视频处理,实现获取与目标对象的实时运动状态相匹配的动画视频,具体包括:确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
下面对本发明实施例的动画视频处理装置的结构做详细说明,动画视频处理装置可以各种形式来实施,如带有动画视频处理装置处理功能的专用终端,也可以为设置有动画视频处理装置处理功能的电子设备(手机、或平板电脑),例如前序图1中的终端10-1或者终端10-2。图2为本发明实施例提供的电子设备组成结构示意图,可以理解,图2仅仅示出了动画视频处理装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本发明实施例提供的动画视频处理装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。动画视频处理装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本发明实施例提供的动画视频处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的动画视频处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的动画视频处理方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为本发明实施例提供的动画视频处理装置采用软硬件结合实施的示例,本发明实施例所提供的动画视频处理装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的动画视频处理方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本发明实施例提供的动画视频处理装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的动画视频处理方法。
本发明实施例中的存储器202用于存储各种类型的数据以支持动画视频处理装置的操作。这些数据的示例包括:用于在动画视频处理装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从动画视频处理方法的程序可以包含在可执行指令中。
在另一些实施例中,本发明实施例提供的动画视频处理装置可以采用软件方式实现,图2示出了存储在存储器202中的动画视频处理装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括动画视频处理装置,动画视频处理装置中包括以下的软件模块信息传输模块2081和信息处理模块2082。当动画视频处理装置中的软件模块被处理器201读取到RAM中并执行时,将实现本发明实施例提供的动画视频处理方法,其中,动画视频处理装置中各个软件模块的功能,包括:
信息传输模块2081,确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;
信息处理模块2082,用于对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;
所述信息处理模块2082,用于根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;
所述信息处理模块2082,用于基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;
所述信息处理模块2082,用于基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
结合图2示出的动画视频处理装置说明本发明实施例提供的动画视频处理方法,参见图3,图3为本发明实施例提供的动画视频处理方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行动画视频处理装置的各种电子设备执行,例如可以是如带有动画视频处理装置的各种游戏设备,其中,带有动画视频处理装置的专用终端可以封装于图1所示的终端101-1中,以执行前序图2所示的动画视频处理装置中的相应软件模块。下面针对图3示出的步骤进行说明。
步骤301:动画视频处理装置确定与目标对象相匹配的原始动画视频。
其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态,本发明实施例所涉及的不同使用场景包括但不限于:2D视频游戏场景3D体感游戏场景和虚拟现实交互使用场景。
在本发明的一些实施例中,目标对象可以是不同使用场景内的可移动的对象。该场景可以是2D的使用场景,也可以是3D的使用场景。以游戏场景为例,游戏场景是指在游戏对局过程中营造出的供游戏角色进行游戏竞技的虚拟场景,如虚拟房屋、虚拟岛屿、虚拟地图等。目标对象可以是游戏场景中的游戏角色,如玩家控制的游戏角色,或者计算机控制的AI角色。在一些其它示例中,目标对象还可以是游戏场景中除游戏角色之外的可移动物,如怪物、车辆、舰船、飞行物等任意可移动的物体。
在本发明的一些实施例中,确定与目标对象相匹配的原始动画视频,可以通过以下方式实现:
确定所述目标对象相对应的动画视频输出环境;根据所述动画视频输出环境,确定所述目标对象在不同使用场景中的运动状态;根据所述目标对象在不同使用场景中的运动状态,对捕捉对象的运动动作进行动态捕捉,形成与所述目标对象相匹配的原始动画视频。其中,结合前序图1所示,终端(包括终端10-1和终端10-2)上设置有能够显示相应AI角色的软件的客户端,例如不同的游戏的客户端或插件,用户通过相应的客户端可以获取AI角色并与用户控制的角色进行互动并进行展示,并在虚拟资源变化过程中触发相应的动画视频处理进程(例如虚拟对象在虚拟环境中可以对进行奔跑或攻击);通过动作捕捉数据来完成对角色不同运动行为的覆盖,形成与目标对象相匹配的原始动画视频,可以保证对角色不同运动行为的覆盖的完整性。
步骤302:动画视频处理装置对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据。
在本发明的一些实施例中,对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据,可以通过以下方式实现:
侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置;当所述目标对象的肢体落点位置位于相应的水平面中或者,当所述目标对象的肢体落点位置与相应的参照物接触时,确定包括所述目标对象的肢体落点位置的视频帧为关键视频帧;基于所述关键视频帧,确定所述目标对象在不同使用场景中的位移参数作为所述关键视频帧所对应的运动数据。其中,以游戏场景为例,AI角色是按照寻路算法预先计算好的路径进行移动,而寻路算法所生成的运动轨迹一般为折线段而非弧线,AI角色的运动模式较为简单并且可以拆分成不同方向的运动动画视频,例如,八方向(前后方向、左右方向、左前方向、右前方向、左后方向、右后方向)的起步走动画视频、起跑动画视频,跑动中八方向的转向动画视频、急动画视频,即可覆盖AI角色所有运动状态。
继续结合图2示出的动画视频处理装置说明本发明实施例提供的动画视频处理方法,参见图4,图4为本发明实施例提供的动画视频处理方法一个可选的流程示意图,可以理解地,图4所示的步骤可以由运行动画视频处理装置的各种电子设备执行,例如可以是如带有动画视频处理装置的各种游戏设备,其中,带有动画视频处理装置的专用终端可以封装于图1所示的终端101-1中,以执行前序图2所示的动画视频处理装置中的相应软件模块。下面针对图4示出的步骤进行说明。
步骤401:当所述目标对象的肢体为所述目标对象的左下肢和右下肢时,确定所述目标对象的左下肢速度和所述目标对象的右下肢速度。
步骤402:当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到负向极值时,确定所述述目标对象的左下肢位置位于相应的水平面中。
步骤403:当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到正向极值时,确定所述述目标对象的右下肢位置位于相应的水平面中。
其中,以游戏环境中的AI角色的奔跑为例,AI角色在奔跑的过程中,左下肢(左脚)和右下肢(右脚)不断地交替着地,运动过程中,支撑脚落地后速度降为0而另一只脚则有正向的速度,因此当两只脚交替成为支撑脚时,两者的速度差会在负向极值与正向极值之间波段变化,当目标对象的左脚速度和目标对象的右脚速度的差值达到负向极值时,目标对象的左脚已经着地,因此,视频帧中目标对象的左脚已经着地的视频帧即为关键视频帧。
在本发明的一些实施例中,侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置,可以通过以下方式实现:
当所述目标对象的肢体为所述目标对象的左上肢和右上肢时,确定所述目标对象的左上肢速度和所述目标对象的右上肢速度;当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到负向极值时,确定所述述目标对象的左上肢位置与相应的参照物接触;当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到正向极值时,确定所述述目标对象的右上肢位置与相应的参照物接触。
其中,以游戏环境中的AI角色的攀岩为例,AI角色在攀岩的过程中,左上肢(左手)和右上肢(右手)不断地交替与作为参照物的山岩接触,运动过程中,支撑手保持不动,而另一只手则有正向的速度,因此当两只手交替成为支撑点时,两者的速度差会在负向极值与正向极值之间波段变化,当目标对象的左手速度和目标对象的右手速度的差值达到负向极值时,目标对象的左手已经作为支撑点与山岩保持接触,因此,视频帧中目标对象的左手已经与参照物接触的视频帧即为关键视频帧。
步骤303:动画视频处理装置根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合。
步骤304:动画视频处理装置基于所述目标对象的实时运动状态,确定所述目标对象的位移参数。
在本发明的一些实施例中,基于所述目标对象的实时运动状态,确定所述目标对象的位移参数,可以通过以下方式实现:
基于寻路算法进程,确定所述目标对象的移动路径;根据所述目标对象相匹配的运动数据集合,确定所述目标对象相匹配的最大位移参数和相应的最大加位移参数;根据所述目标对象的移动路径、所述目标对象相匹配的最大位移参数和相应的最大加位移参数,确定所述目标对象在不同时刻的位移参数。
在本发明的一些实施例中,目标对象在场景内的规划移动路径,是指根据目标对象的起止位置(包括起点位置和终点位置),采用自动寻路算法规划出的移动路径。需要说明的是,该规划移动路径并不一定是实际移动路径,因为当目标对象在场景内实际移动的过程中,可能会遇到一些障碍物(如墙壁、台阶、石头等静态障碍物,又如场景内的其它对象、可移动物等动态障碍物),这些障碍物会阻挡目标对象按照规划移动路径移动,目标对象会绕过障碍物之后继续向终点位置移动。另外,在生成规划移动路径时会避开静态障碍物,所以规划移动路径上是不存在静态障碍物的,但是目标对象在实际移动时,由于与其它对象彼此之间的碰撞挤压,目标对象有时会少许偏离规划移动路径,导致与场景中的静态障碍物也有可能发生碰撞。目标对象的起止位置可以由用户决定,也可以由服务器决定。例如,当目标对象为游戏场景中的AI角色时,该目标对象的起止位置和规划移动路径均可由服务器决定。以目标对象为游戏中的AI角色为例,AI角色的移动速度通常与玩家控制的游戏角色的移动速度在同一量级,并且不会频繁瞬移,这意味着AI角色在两帧之间的位置是足够接近的。以60帧每秒的刷新速率、AI角色的移动速度为10米每秒为例,AI角色在两帧之间的位置差仅为0.16m左右,这远小于整个场景的尺度。
步骤305:动画视频处理装置基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
在本发明的一些实施例中,所述运动数据集合可以包括同一AI角色的不同姿态下的运动状态数据,也可以包括同一AI角色在不同虚拟环境中的同一运动姿态下的运动数据,结合前序图2所示的实施例,以第一人称射击类3D游戏(FPSFirst-person shootinggame)为例,终端可以控制AI角色在该虚拟交互场景的陆地中进行运动或执行某些动作等,当然也可以控制AI角色在浅滩、沼泽、山涧等虚拟环境中进行运动或执行某些动作等。其中AI角色在陆地中运动具体可以是在陆地上跑动、跳动、爬行、弯腰前行等。由于不同虚拟环境中的AI角色的同一运动姿态下的运动数据均不相同(例如同一AI角色在陆地、浅滩、沼泽、山涧中的奔跑速度均不相同),因此,还可以确定所述目标对象在虚拟环境中的速度参数作为所述关键视频帧所对应的运动数据,以提升用户控制作为目标对象的AI角色在不同虚拟环境中运动的使用体验。
继续结合图2示出的动画视频处理装置说明本发明实施例提供的动画视频处理方法,参见图5,图5为本发明实施例提供的动画视频处理方法一个可选的流程示意图,可以理解地,图5所示的步骤可以由运行动画视频处理装置的各种电子设备执行,例如可以是如带有动画视频处理装置的各种游戏设备,其中,带有动画视频处理装置的专用终端可以封装于图1所示的终端101-1中,以执行前序图2所示的动画视频处理装置中的相应软件模块。下面针对图5示出的步骤进行说明。
步骤501:基于所述目标对象的位移参数,确定与所述目标对象当前运动状态相对应的第一运动向量。
步骤502:基于与所述目标对象相匹配的运动数据集合,确定与每个关键视频帧分别对应的第二运动向量。
步骤503:根据所述第一运动向量,在所述第二运动向量相对应的搜索二叉树结构中确定与所述第一运动向量相匹配的第二运动向量。
步骤504:根据与所述第一运动向量相匹配的第二运动向量,确定对应的关键视频帧,并通过所确定的关键视频帧,获取与所述目标对象的实时运动状态相匹配的动画视频。
在本发明的一些实施例中,根据所述第一运动向量,在所述第二运动向量相对应的搜索二叉树结构中确定与所述第一运动向量相匹配的第二运动向量,可以通过以下方式实现:
当所述第一运动向量表征所述目标对象的左下肢位置位于相应的水平面中时,通过所述第二运动向量相对应的右下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量,或者,
当所述第一运动向量表征所述目标对象的右下肢位置位于相应的水平面中时,通过所述第二运动向量相对应的左下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量。
在本发明的一些实施例中,通过所确定的关键视频帧,获取与所述目标对象的实时运动状态相匹配的动画视频,可以通过以下方式实现:
根据所述关键视频帧,确定不同的待输出动画视频;确定所述不同的待输出动画视频中所述目标对象肢体落点位置与所述目标对象当前肢体落点位置距离最小的待输出动画视频为与所述目标对象的实时运动状态相匹配的动画视频。
在本发明的一些实施例中,动画视频处理方法还包括:
获取与所述动画视频输出环境相对应的目标分辨率;基于所述目标分辨率,对所述与所述目标对象的实时运动状态相匹配的动画视频进行分辨率增强处理,以实现与所述目标对象的实时运动状态相匹配的动画视频与动画视频输出环境相匹配。由于,目标对象相对应的动画视频输出环境并不相同,通过对目标对象的实时运动状态相匹配的动画视频进行分辨率增强处理,可以使得用户观看到更适合AI角色运动状态,提升用户的使用体验。
下面以带有AI角色的游戏场景为例对本发明实施例所提供的动画视频处理方法进行说明,其中,设置有能够显示相应AI角色的软件的客户端,例如不同的游戏的客户端或插件,用户通过相应的客户端可以获取AI角色并与用户控制的角色进行互动并进行展示,并在虚拟资源变化过程中触发相应的动画视频处理进程(例如虚拟对象在虚拟环境中可以对进行奔跑或攻击);终端通过网络连接服务器,网络可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
继续参考图6和图7,其中,图6为本发明实施例提供的动画视频处理方法的一个前端显示示意图,图7为本发明实施例提供的动画视频处理方法的一个前端显示示意图。图6和7分别展示了单个AI角色在追逐时表现出的生动行为,如果用动画状态机实现这一效果需要大量的状态节点,传统方案中,在对AI角色进行处理的过程中,动画状态机面对复杂运动行为时其扩展性较差,同样,Motion Matching算法为了覆盖角色的各种运动行为,该算法要求录制大量的动作捕捉数据作为数据基础,以确保无论何种运动状态都能找到相对接近的动画片段,这一过程占用了大量的系统开销。
具体的,动画状态机为了表现复杂而高真实度的角色动画,需要在状态机中定义大量的状态结点,而在这些节点之间的状态转移条件也随之变得极为复杂,整个状态机成为由大量状态及其之间的转移条件构成的复杂网状结构。这不仅使得运行时的系统开销随之增加,而且导致在面临改动、状态的增删时极为困难,维护成本非常高。同样的,Matching算法为了覆盖角色的各种运动行为,该算法要求录制大量的动作捕捉数据作为数据基础,以确保无论何种运动状态都能找到相对接近的动画片段。因此在运行时从庞大的动画数据中挑选出最优者这一计算过程的性能开销很大,不利于大规模的使用AI角色,影响了用户的使用体验。
参考图8和图9,其中,图8为本发明实施例提供的动画视频处理方法一个可选的流程示意图,图9为本发明实施例提供的动画视频处理方法的显示效果示意图,具体的,为了解决上述问题,本发明实施例提了一种的动画视频处理方法,包括以下步骤:
步骤801:对动画信息进行预处理,提取关键帧和相应的运动数据。
参考图10A,图10A为本发明实施例提供的动画视频处理方法一个可选的流程示意图,包括:
步骤1001:确定游戏进程的动画需求。
步骤1002:进行动作捕捉。
步骤1003:将动作捕捉结果导入引擎。
步骤1004:计算目标对象的速度和支撑脚。
步骤1005:分割关键帧。
步骤1006:保存相应的文件。
步骤1007:确定目标对象的移动状态。
步骤1008:预测目标对象的未来速度。
步骤1009:确定实际动画视频匹配。
步骤1010:输出相应的动画。
其中,动作捕捉得到的数据被分成小段导入游戏引擎后,经过预计算被分割成更小的视频帧所组成的动画视频,并以每个视频帧所组成的动画视频的第一帧作为关键帧抽取出所属运动状态,并以此建立左右脚对应的KD Tree。在运行时,算法根据当前角色的运动状态,即由当前速度、预测未来速度和过去速度构成的六维向量去KD Tree中找出N个最接近的动画视频帧所组成的动画视频,并从中找出双脚与当前角色双脚位置最为接近的动画作为最终输出。可以仅使用极低的计算开销为与系统相匹配的高质量的locomotion动画,其中,500个AI角色的计算开销仅1ms。
其中,参考图10B和图11,图10B为本发明实施例提供的动画视频处理方法一个可选的流程示意图,图11为本发明实施例提供的动画视频处理方法的显示效果示意图,具体的,原始的Motion Matching算法通过庞大的动作捕捉数据来完成对角色不同运动行为的覆盖。而对于AI角色而言,其运动行为相比于用户控制的角色较为简单且可控性较强。因为用户所控制角色会接受用户控制输入而可能走出复杂的运动轨迹,而AI角色是按照寻路算法预先计算好的路径进行移动,而寻路算法所生成的运动轨迹一般为折线段而非弧线,所以AI角色的运动模式较为简单并且可以拆分成由若干视频帧所组成的动画视频构成。因此针对AI角色,特别是超过一定数量(针对不同的使用场景,数量可以适时调整)的AI角色无需像用户角色一样录制庞大而全面的动作捕捉数据,而仅需要录制关键的动作片段即可,例如直线走、跑的循环动画,八方向(前后左右及左前右前左后右后)的起步走、起跑动画,跑动中八方向的转向动画、急停动画等。这些基本的动画片段足以覆盖AI在沿寻路算法生成的路径移动时的运动状态。
可以按照需求录制好上述的动作捕捉片段并导入进游戏引擎后,算法可以对这些片段进行预处理,提取出关键帧及其运动数据。原始的Motion Matching算法以较高的采样频率(优选值为每秒十次)对所有的动画数据进行采样并切分出关键帧,计算对应的运动状态数据,因此生成的用于算法做动态匹配的关键帧数量非常庞大。
进一步地,结合动画状态机中的Sync Point机制,本发明的所提供的动画视频处理方法可以仅在左或者右脚着地时才生成关键帧。可以实现用于动态匹配的关键帧数量被大幅削减,降低了运行时的计算开销。同时由于当前支撑脚的信息得到明确,下一次匹配的范围也相应可以缩减,可以避免出现同一只脚连续落地两次这样的不自然现象。
关键帧的计算是通过支撑脚在地面踩实为基准进行的。具体而言,是根据两只脚的速度差决定的。定义左右脚的速度分别为V_l和V_r,则其速度差V_rel=V_l-V_r。在游戏角色的运动过程中,支撑脚落地后速度降为0而另一只脚则有正向的速度,因此当两只脚交替成为支撑脚时,其速度差会在一个负极值和一个正极值之间来回震荡,如图10B所示。易见当速度差达到负极值时,此时左脚在地面速度为零而右脚速度达到周期内最大,可定义该点为左脚踩实点,同理当速度差为正极值时为右脚踩实点。因此通过对两脚速度差的计算可以快速判定出双脚分别踩实的时间点,也即关键帧所在的时间点。这些时间点将动画片段分割成了若干个更小的视频帧所组成的动画视频,每个视频帧所组成的动画视频以其起始的关键帧为索引,算法会抽取其当前角色速度、a秒后的角色速度,b秒前的角色速度以及当前左右脚的位置及速度作为关键运动信息,其中a和b作为可配置的时间参数。这些运动信息会保存成文件,用于运行时的动态匹配。
在本发明的一些实施例中,还可以将自定义参数保存在文件中用于适时适配,例如对于每一个动作捕捉后导入的动画片段指定其可用于生成关键帧的起始和结束时间以排除干扰性的动画帧进入匹配池。此外还能指定该片段是否是循环片段,为该片段打上标签以实现其他系统对动画系统的控制。
步骤802:根据动画信息的预处理结果和AI角色的运动状态,确定实时动画输出。
继续参考图12,图12为本发明实施例提供的动画视频处理方法一个可选的处理过程示意图,可以选取三个关键速度作为主要的匹配依据,即当前速度、a秒后的未来速度和b秒之前的过去速度,并忽略角色在垂直方向上的速度。因此每个速度实际可以表示为一个二维向量,即当前速度(V_cur_x,V_cur_y),未来速度(V_fur_x,V_fur_y),过去速度(V_pre_x,V_pre_y)。将这三个速度向量合并成一个整体,即用一个六维的向量V_char=(V_cur_x,V_cur_y,V_fur_x,V_fur_y,V_pre_x,V_pre_y)来描述角色的运动状态。同样的,每个动画关键帧也通过预计算得到其所属的六维运动向量V_anim。算法需要在所有动画关键帧中找出与V_char最接近的若干个V_anim作为最终输出动画的候选。为了便于计算,可以直接使用欧氏距离来衡量两个六维向量之间的接近程度。
进一步地,对于预计算的动画数据而言,其未来速度可以通过后续的动画计算得出,但是对于AI角色而言未来速度是未知的,因此需要通过预测算法来预测未来速度。由于AI通常情况下是沿着寻路算法计算得出的路径进行移动,因此可以通过所沿着的路径进行未来速度预测。预测算法使用角色移动的最大速度V_max和最大加速度A_max,如图12所示,假设在当前位置加速到V_max并持续一段时间,直到接近路径拐点时进行减速,而经过拐点后重新加速至V_max,其每一段(加速段、减速段、全速段)所对应的时间都可以计算出。根据这一运动方式可以计算出在a秒后,AI角色处于上述的加速-减速-再加速过程中的哪一环节,也就可以计算出a秒后的预测的未来速度。
同时,直接遍历所有的动画关键帧会带来比较沉重的计算开销,这也是传统Motion Matching的主要开销瓶颈。本方案使用KD Tree对这一步计算进行加速,即在初始化阶段将所有的动画关键帧根据其V_anim构建出一棵KD Tree,而在运行时根据V_char去该KD Tree中查找出N个最近的邻居。这将大幅降低匹配查询所需要的时间。需要注意的是,根据之前的预计算结果可以知道每一个动画关键帧的支撑脚是左脚还是右脚,建立KDTree时也会为左右脚分别建立两颗树,匹配查询时会选择与当前支撑脚不同的KD Tree进行查询,即如果当前支撑脚是左脚,那么就仅在右脚对应的KD Tree中进行查询。这样可以保证最终的动画是两脚交替落地的,符合游戏角色的实际运动规律。在获得N个与当前运动状态最接近的候选动画视频帧所组成的动画视频后,算法会从中挑选出双脚位置与当前角色双脚位置最接近的一个视频帧所组成的动画视频作为相应的实时动画输出。
步骤803:根据实时动画输出,确定完整的动画输出。
有益技术效果:
通过本发明实施例所示的技术方案通过确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;对所述原始动画视频进行预处理,获取所述原始动画视频中的关键视频帧和所述关键视频帧所对应的运动数据;根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频,由此,能够准确高效地在原始动画视频中获取与目标对象的实时运动状态相匹配的动画视频,相比于传统技术,在保证用户的电子设备的信息处理能力不变的情况下,所支持的AI角色数量和相应的动画质量均有大幅度提升,有效提升用户的使用体验。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种动画视频处理方法,其特征在于,所述方法包括:
确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;
侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置;
当所述目标对象的肢体落点位置位于相应的水平面中,或者,
当所述目标对象的肢体落点位置与相应的参照物接触时,确定包括所述目标对象的肢体落点位置的视频帧为关键视频帧;
基于所述关键视频帧,确定所述目标对象在不同使用场景中的位移参数作为所述关键视频帧所对应的运动数据;
根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;
基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;
基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
2.根据权利要求1所述的方法,其特征在于,所述确定与目标对象相匹配的原始动画视频,包括:
确定所述目标对象相对应的动画视频输出环境;
根据所述动画视频输出环境,确定所述目标对象在不同使用场景中的运动状态;
根据所述目标对象在不同使用场景中的运动状态,对捕捉对象的运动动作进行动态捕捉,形成与所述目标对象相匹配的原始动画视频。
3.根据权利要求1所述的方法,其特征在于,所述侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置,包括:
当所述目标对象的肢体为所述目标对象的左下肢和右下肢时,确定所述目标对象的左下肢速度和所述目标对象的右下肢速度;
当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到负向极值时,确定所述目标对象的左下肢位置位于相应的水平面中;
当所述目标对象的左下肢速度和所述目标对象的右下肢速度的差值达到正向极值时,确定所述目标对象的右下肢位置位于相应的水平面中。
4.根据权利要求1所述的方法,其特征在于,所述侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置,包括:
当所述目标对象的肢体为所述目标对象的左上肢和右上肢时,确定所述目标对象的左上肢速度和所述目标对象的右上肢速度;
当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到负向极值时,确定所述目标对象的左上肢位置与相应的参照物接触;
当所述目标对象的左上肢速度和所述目标对象的右上肢速度的差值达到正向极值时,确定所述目标对象的右上肢位置与相应的参照物接触。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标对象的实时运动状态,确定所述目标对象的位移参数,包括:
基于寻路算法进程,确定所述目标对象的移动路径;
根据所述目标对象相匹配的运动数据集合,确定所述目标对象相匹配的最大位移参数和相应的最大加位移参数,其中,当所述最大位移参数用于表征所述目标对象的最大速度时,所述最大加位移参数用于表征所述目标对象的最大加速度;
根据所述目标对象的移动路径、所述目标对象相匹配的最大位移参数和相应的最大加位移参数,确定所述目标对象在不同时刻的位移参数。
6.根据权利要求1所述的方法,其特征在于,所述基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频,包括:
基于所述目标对象的位移参数,确定与所述目标对象当前运动状态相对应的第一运动向量;
基于与所述目标对象相匹配的运动数据集合,确定与每个关键视频帧分别对应的第二运动向量;
根据所述第一运动向量,在所述第二运动向量相对应的搜索二叉树结构中确定与所述第一运动向量相匹配的第二运动向量;
根据与所述第一运动向量相匹配的第二运动向量,确定对应的关键视频帧,并通过所确定的关键视频帧,获取与所述目标对象的实时运动状态相匹配的动画视频。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一运动向量,在所述第二运动向量相对应的搜索二叉树结构中确定与所述第一运动向量相匹配的第二运动向量,包括:
当所述第一运动向量表征所述目标对象的左下肢位置位于相应的水平面中时,
通过所述第二运动向量相对应的右下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量,或者,
当所述第一运动向量表征所述目标对象的右下肢位置位于相应的水平面中时,
通过所述第二运动向量相对应的左下肢搜索二叉树结构,确定与所述第一运动向量相匹配的第二运动向量。
8.根据权利要求7所述的方法,其特征在于,所述通过所确定的关键视频帧,获取与所述目标对象的实时运动状态相匹配的动画视频,包括:
根据所述关键视频帧,确定不同的待输出动画视频;
确定所述不同的待输出动画视频中所述目标对象肢体落点位置与所述目标对象当前肢体落点位置距离最小的待输出动画视频为与所述目标对象的实时运动状态相匹配的动画视频。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述动画视频输出环境相对应的目标分辨率;
基于所述目标分辨率,对所述与所述目标对象的实时运动状态相匹配的动画视频进行分辨率增强处理,以实现与所述目标对象的实时运动状态相匹配的动画视频与动画视频输出环境相匹配。
10.一种动画视频处理装置,其特征在于,所述装置包括:
信息传输模块,用于确定与目标对象相匹配的原始动画视频,其中,所述原始动画视频用于表征所述目标对象在不同使用场景中的运动状态;
信息处理模块,用于侦测所述原始动画视频中的所有视频帧中所述目标对象的肢体落点位置;
所述信息处理模块,用于当所述目标对象的肢体落点位置位于相应的水平面中,或者,当所述目标对象的肢体落点位置与相应的参照物接触时,确定包括所述目标对象的肢体落点位置的视频帧为关键视频帧;
所述信息处理模块,用于基于所述关键视频帧,确定所述目标对象在不同使用场景中的位移参数作为所述关键视频帧所对应的运动数据
所述信息处理模块,用于根据所述关键视频帧对应的运动数据,确定与所述目标对象相匹配的运动数据集合;
所述信息处理模块,用于基于所述目标对象的实时运动状态,确定所述目标对象的位移参数;
所述信息处理模块,用于基于与所述目标对象相匹配的运动数据集合,通过所述目标对象的位移参数,获取与所述目标对象的实时运动状态相匹配的动画视频。
11.根据权利要求10所述的装置,其特征在于,
所述信息处理模块,用于确定所述目标对象相对应的动画视频输出环境;
所述信息处理模块,用于根据所述动画视频输出环境,确定所述目标对象在不同使用场景中的运动状态;
所述信息处理模块,用于根据所述目标对象在不同使用场景中的运动状态,对捕捉对象的运动动作进行动态捕捉,形成与所述目标对象相匹配的原始动画视频。
12.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至9任一项所述的动画视频处理方法。
13.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至9任一项所述的动画视频处理方法。
CN202010085370.5A 2020-02-10 2020-02-10 一种动画视频处理方法、装置、电子设备及存储介质 Active CN111298433B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010085370.5A CN111298433B (zh) 2020-02-10 2020-02-10 一种动画视频处理方法、装置、电子设备及存储介质
PCT/CN2021/076159 WO2021160108A1 (zh) 2020-02-10 2021-02-09 一种动画视频处理方法、装置、电子设备及存储介质
US17/687,008 US11836841B2 (en) 2020-02-10 2022-03-04 Animation video processing method and apparatus, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010085370.5A CN111298433B (zh) 2020-02-10 2020-02-10 一种动画视频处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111298433A CN111298433A (zh) 2020-06-19
CN111298433B true CN111298433B (zh) 2022-07-29

Family

ID=71152741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010085370.5A Active CN111298433B (zh) 2020-02-10 2020-02-10 一种动画视频处理方法、装置、电子设备及存储介质

Country Status (3)

Country Link
US (1) US11836841B2 (zh)
CN (1) CN111298433B (zh)
WO (1) WO2021160108A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111298433B (zh) 2020-02-10 2022-07-29 腾讯科技(深圳)有限公司 一种动画视频处理方法、装置、电子设备及存储介质
CN113129415A (zh) * 2020-06-22 2021-07-16 完美世界(北京)软件科技发展有限公司 动画混合空间剖分方法、装置、设备和可读介质
CN111659120B (zh) * 2020-07-16 2023-04-14 网易(杭州)网络有限公司 虚拟角色位置同步方法、装置、介质及电子设备
CN113542855B (zh) * 2021-07-21 2023-08-22 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备和可读存储介质
CN113633970B (zh) * 2021-08-18 2024-03-08 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质
CN113794799A (zh) * 2021-09-17 2021-12-14 维沃移动通信有限公司 视频处理方法和装置
CN113781615B (zh) * 2021-09-28 2023-06-13 腾讯科技(深圳)有限公司 一种动画生成方法、装置、设备、存储介质
CN117078805B (zh) * 2023-10-18 2023-12-15 北京华航唯实机器人科技股份有限公司 视向动画的生成方法及装置
CN117475041B (zh) * 2023-12-28 2024-03-29 湖南视觉伟业智能科技有限公司 一种基于rcms的数字孪生岸桥模拟方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329768A (zh) * 2008-07-29 2008-12-24 浙江大学 基于背景视图合成卡通动画的方法
CN101379513A (zh) * 2005-08-04 2009-03-04 微软公司 视频对准和图像序列缝合
CN102289836A (zh) * 2011-07-25 2011-12-21 北京农业信息技术研究中心 植物动画合成方法
CN102609970A (zh) * 2011-12-19 2012-07-25 中山大学 一种基于运动元素复用的二维动画合成方法
CN107481303A (zh) * 2017-08-07 2017-12-15 东方联合动画有限公司 一种实时动画生成方法及系统
CN109325456A (zh) * 2018-09-29 2019-02-12 佳都新太科技股份有限公司 目标识别方法、装置、目标识别设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587574B1 (en) * 1999-01-28 2003-07-01 Koninklijke Philips Electronics N.V. System and method for representing trajectories of moving objects for content-based indexing and retrieval of visual animated data
KR100727034B1 (ko) * 2005-12-09 2007-06-12 한국전자통신연구원 3차원 공간상에서 2차원 인간형 캐릭터의 표현 및애니메이션 방법
JP5750864B2 (ja) * 2010-10-27 2015-07-22 ソニー株式会社 画像処理装置、画像処理方法、プログラム
US9305386B2 (en) * 2012-02-17 2016-04-05 Autodesk, Inc. Editable motion trajectories
KR20150075909A (ko) * 2013-12-26 2015-07-06 한국전자통신연구원 3차원 캐릭터 동작 편집방법 및 그 장치
US9827496B1 (en) * 2015-03-27 2017-11-28 Electronics Arts, Inc. System for example-based motion synthesis
KR102399049B1 (ko) * 2015-07-15 2022-05-18 삼성전자주식회사 전자 장치 및 전자 장치의 이미지 처리 방법
JP6775776B2 (ja) * 2017-03-09 2020-10-28 株式会社岩根研究所 自由視点移動表示装置
CN108416013B (zh) * 2018-03-02 2020-12-18 北京奇艺世纪科技有限公司 视频匹配、检索、分类和推荐方法、装置及电子设备
EP3807846A1 (en) * 2018-06-18 2021-04-21 Unity IPR APS Method and system for real-time animation generation using machine learning
CN109523613B (zh) * 2018-11-08 2023-01-03 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
US10864446B2 (en) * 2019-03-27 2020-12-15 Electronic Arts Inc. Automated player control takeover in a video game
CN111298433B (zh) * 2020-02-10 2022-07-29 腾讯科技(深圳)有限公司 一种动画视频处理方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101379513A (zh) * 2005-08-04 2009-03-04 微软公司 视频对准和图像序列缝合
CN101329768A (zh) * 2008-07-29 2008-12-24 浙江大学 基于背景视图合成卡通动画的方法
CN102289836A (zh) * 2011-07-25 2011-12-21 北京农业信息技术研究中心 植物动画合成方法
CN102609970A (zh) * 2011-12-19 2012-07-25 中山大学 一种基于运动元素复用的二维动画合成方法
CN107481303A (zh) * 2017-08-07 2017-12-15 东方联合动画有限公司 一种实时动画生成方法及系统
CN109325456A (zh) * 2018-09-29 2019-02-12 佳都新太科技股份有限公司 目标识别方法、装置、目标识别设备及存储介质

Also Published As

Publication number Publication date
CN111298433A (zh) 2020-06-19
US11836841B2 (en) 2023-12-05
WO2021160108A1 (zh) 2021-08-19
US20220189094A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
CN111298433B (zh) 一种动画视频处理方法、装置、电子设备及存储介质
CN110732135B (zh) 虚拟场景显示方法、装置、电子设备及存储介质
KR20230130080A (ko) 가상 시나리오 중 소환 객체의 제어 방법, 장치, 기기,저장 매체 및 프로그램 제품
CN111803944B (zh) 一种图像处理方法、装置、电子设备及存储介质
CN111437601B (zh) 游戏回放控制方法、装置、电子设备及存储介质
WO2022000971A1 (zh) 运镜模式的切换方法及装置、计算机程序、可读介质
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
US20230082060A1 (en) Method and apparatus for displaying virtual scene, method and apparatus for processing virtual scene, and device
TW202220731A (zh) 虛擬場景中狀態切換方法、裝置、設備、媒體及程式產品
CN113144597B (zh) 虚拟载具的显示方法、装置、设备以及存储介质
CN112807681A (zh) 游戏控制方法、装置、电子设备及存储介质
CN112057860B (zh) 虚拟场景中激活操作控件的方法、装置、设备及存储介质
WO2023142617A1 (zh) 基于虚拟场景的射线显示方法、装置、设备以及存储介质
CN113577774A (zh) 虚拟对象生成方法、装置、电子设备及存储介质
CN112316429A (zh) 虚拟对象的控制方法、装置、终端及存储介质
CN114155605A (zh) 一种控制方法、装置以及计算机存储介质
CN115888119A (zh) 一种游戏ai训练方法、装置、电子设备及存储介质
WO2022095672A1 (zh) 画面显示方法、装置、设备以及存储介质
JP2000167237A (ja) ゲーム装置及び情報記憶媒体
US20230030619A1 (en) Method and apparatus for displaying aiming mark
CN112138392B (zh) 虚拟对象的控制方法、装置、终端及存储介质
CN115430153A (zh) 虚拟环境中的碰撞检测方法、装置、设备、介质及程序
JP2024508682A (ja) 仮想オブジェクトの制御方法、仮想オブジェクトの制御装置、コンピュータ機器、及びコンピュータプログラム
JP2011255114A (ja) プログラム、情報記憶媒体及び画像生成システム
CN112755524A (zh) 虚拟目标展示方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024162

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant