CN114126728A - 用于管理故事中的对象的情绪相关性的方法和系统 - Google Patents

用于管理故事中的对象的情绪相关性的方法和系统 Download PDF

Info

Publication number
CN114126728A
CN114126728A CN202080050847.4A CN202080050847A CN114126728A CN 114126728 A CN114126728 A CN 114126728A CN 202080050847 A CN202080050847 A CN 202080050847A CN 114126728 A CN114126728 A CN 114126728A
Authority
CN
China
Prior art keywords
interest
shot
values
quality
objects
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.)
Pending
Application number
CN202080050847.4A
Other languages
English (en)
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.)
Unity IPR ApS
Original Assignee
Unity IPR ApS
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 Unity IPR ApS filed Critical Unity IPR ApS
Publication of CN114126728A publication Critical patent/CN114126728A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • 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
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • 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
    • 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
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • 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/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
    • 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/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

公开了一种用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头质量的方法。从来自视频游戏内的对象集合中确定多个感兴趣对象。从游戏接收游戏状态数据。游戏状态数据描述在游戏内发生的至少事件集合。确定多个感兴趣水平值。针对多个感兴趣对象确定多个饥饿值。针对多个感兴趣对象确定多个紧急性值。生成用于管理与该帧相关联的电影摄影的数据结构。该数据结构便利于查找多个感兴趣水平值和紧急性值。

Description

用于管理故事中的对象的情绪相关性的方法和系统
对相关申请的交叉引用
本申请要求于2019年6月12日提交的美国临时申请第62/860,741号的权益,该美国临时申请的全部内容在此通过引用并入本文中。
技术领域
在本文中公开的主题总体上涉及计算机系统的技术领域,并且更具体地涉及用于管理自动电影摄影的虚拟对象的重要性和情绪相关性的计算机系统和方法。
背景技术
多人视频游戏环境难以以令人愉悦的方式拍摄。这是由于游戏元素随着玩家移动和游戏动作的不可预测性而快速地变化。在非视频游戏环境中,摄像机通常利用感兴趣的主题和事件的先验知识(或者至少是主题和事件的高概率可预测性)来定位。对于体育赛事来说尤其如此,在体育赛事中,多个摄像机通常被放置在具有预定义视图的预定义位置(或预定义轨迹)中,以捕捉游戏中其位置在某种程度上可预测的重大事件。摄像机通常放置在球门或球网附近,从而捕捉围绕比分变化的重要事件。即使事先不知道动作,场地(或球场)的物理尺寸限制会限制用于捕捉游戏的所有动作所需的摄像机数量。然而,视频游戏通常涉及用户完全控制的广阔环境,并且具有几乎无限的可能路径和动作集。在未知的情况下用于以高质量拍摄不可预测的演员的能力是困难的。此外,许多感兴趣的事件经常同时发生,这使得难以确定哪些事件应当被拍摄,并且应当以什么方式进行拍摄,以及拍摄达多长时间。此外,在自动电影摄影的领域内缺少的重要方面是用于管理游戏对象的重要性和情绪相关性的机制。
附图说明
根据以下结合附图所进行的详细描述,本发明的示例性实施方式的其它特征和优点将变得明显,在附图中:
图1A是示出根据一个实施方式的故事管理器设备的示意图;
图1B是示出根据一个实施方式的使用故事管理器设备的故事管理器方法的示意图;
图2是示出根据一个实施方式的用于使用故事管理器设备的故事管理方法的示意图;
图3是示出根据一个实施方式的使用故事管理器设备的电影摄影方法的示意图;
图4是示出根据一个实施方式的使用故事管理器设备的导演方法的示意图;
图5是示出可以与本文描述的各种硬件架构结合使用的示例软件架构的框图;以及
图6是示出根据一些示例实施方式的机器的部件的框图,该机器被配置成从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任意一种或更多种方法。
应当注意的是,遍及附图,相同的特征由相同的附图标记来标识。
具体实施方式
下面的描述单独地或相组合地描述了包括本公开内容的说明性实施方式的示例系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本发明主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些具体细节的情况下实践本发明主题的各种实施方式。
在本文的整个说明书中使用的术语“环境”应当被理解为包括2D数字环境(例如,2D视频游戏环境、2D模拟环境、2D内容创建环境等)、3D数字环境(例如,3D游戏环境、3D模拟环境、3D内容创建环境、虚拟现实环境等)以及包括数字(例如,虚拟)部件和真实世界部件两者的增强现实环境。
在本文的整个说明书中使用的术语“游戏对象”被理解为包括环境中的任何数字对象或数字元素。游戏对象可以表示(例如,以相应的数据结构)在环境内的几乎任何事物;包括具有3D模型纹理、背景(例如,地形、天空等)、灯光、摄像机、效果(例如,声音和视觉)、动画等的3D模型(例如,角色、武器、场景元素(例如,建筑物、树木、汽车、珍宝等))。术语“游戏对象”也可以被理解为包括单个游戏对象的链接组。游戏对象与限定该对象的属性和行为的数据相关联。
本文所使用的术语“资产”、“游戏资产”和“数字资产”应理解为包括可以用于描述游戏对象或者可以用于描述项目(例如,包括游戏、电影、软件应用)方面的任何数据。例如,资产可以包括图像、3D模型(纹理、装配等)、一组3D模型(例如,整个场景)、音频、视频、动画、3D网格等的数据。描述资产的数据可以存储在文件内,或者可以包含在文件的集合内,或者可以被压缩并存储在一个文件(例如,压缩文件)中,或者可以存储在存储器内。描述资产的数据可以用来在运行时间处使在游戏内的一个或更多个游戏对象实例化。
在本文的整个说明书中所使用的术语“运行时间”应当被理解为包括其间程序(例如,应用、视频游戏、模拟等)正在运行或执行(例如,执行编程代码)的时间。该术语应当被理解为包括其间由人类用户正在玩视频游戏或者由人工智能代理正在玩视频游戏的时间。
在本文中使用的术语“客户端”和“应用客户端”应理解为包括访问(包括通过网络进行访问)服务器上的数据和服务的软件客户端或者软件应用。
公开了用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头(shot)质量的操作。从来自视频游戏内的对象集合中确定多个感兴趣对象。从游戏接收游戏状态数据,游戏状态数据描述在游戏内发生的至少事件集合。确定多个感兴趣水平值。多个感兴趣水平值对应于与多个感兴趣对象相关联的多个类别,并且多个感兴趣水平值基于游戏状态数据。针对多个感兴趣对象确定多个饥饿值。多个饥饿值中的每一个与多个感兴趣对象中的感兴趣对象在先前帧中可见的时间量的运行总计成反比。针对多个感兴趣对象确定多个紧急性值。多个紧急性值中的每一个基于与感兴趣对象相关联的多个感兴趣水平值和饥饿值,并且紧急性值表示在帧中看见感兴趣对象的紧急性的度量。生成用于管理与该帧相关联的电影摄影的数据结构。该数据结构便利于查找多个感兴趣水平值和紧急性值。
本发明包括执行本文中描述的一个或更多个操作或者所述操作的一个或更多个组合的装置,该装置包括执行这些方法的数据处理系统和计算机可读介质,指令在数据处理系统上执行时,使系统执行这些方法、操作或者操作的组合,所述操作包括非例行的操作和非常规的操作。
现在转向附图,示出了根据本发明的实施方式的用于管理故事中的对象的情绪相关性的系统和方法,所述系统和方法包括非例行或非常规的部件或操作或者这样的部件或操作的组合。在许多实施方式中,提供了用于管理故事中的对象的情绪相关性的故事管理器系统。
根据实施方式,并且在图1A中示出了故事管理器系统100。故事管理器系统100包括故事管理器设备102,故事管理器设备102包括一个或更多个中央处理单元103(CPU)和图形处理单元105(GPU)。CPU 103是任意类型的处理器、包括多个处理元件(未示出)的处理器组件,CPU103能够访问存储器101以检索存储在其上的指令并执行这样的指令。在执行这样的指令时,指令使故事管理器设备102实现执行如本文所描述的一系列任务(例如,参照图1B、图2、图3和图4)。存储器101可以是任意类型的存储器设备,例如,随机存取存储器、只读存储器或可重写存储器、内部处理器缓存等。
故事管理器设备102还包括用于以由处理设备可读的数据信号的形式输入信息的一个或更多个输入/输出设备108,诸如例如键盘或小键盘、鼠标、定点设备、摄像机、麦克风、手持设备(例如,手部运动跟踪设备)、触摸屏等。故事管理器设备102还包括一个或更多个显示设备109,例如计算机监视器、触摸屏(例如,平板电脑或智能手机的触摸屏)以及头戴式显示器(例如,虚拟现实(VR)或增强现实(AR)HMD)的透镜或遮阳板,显示设备109可以被配置成显示包括视频、视频游戏环境、集成开发环境和虚拟仿真环境的数字内容,并且还可以被配置成结合真实世界视图显示虚拟对象。显示设备109由一个或更多个GPU 105驱动或控制以及可选地由CPU 103驱动或控制。GPU 105对有助于加速通过显示设备109的输出的渲染的图形输出的各方面进行处理。故事管理器设备102还包括用于跨网络进行通信的一个或更多个联网设备107(例如,有线网络适配器或无线网络适配器)。
故事管理器设备102中的存储器101可以被配置成存储应用114(例如,视频游戏、模拟或其他软件应用),应用114可以包括游戏引擎104(例如,由CPU 103或GPU 105执行),游戏引擎104与显示设备109以及还与诸如(一个或多个)输入设备108的其他硬件进行通信以向用户130呈现应用(例如,呈现视频游戏)。游戏引擎104通常可以包括一个或更多个模块,所述一个或更多个模块提供下述内容以向用户提供应用环境(例如,视频游戏或模拟环境):游戏对象的动画物理、游戏对象的碰撞检测、渲染、联网、声音、动画等。应用114包括提供如本文描述的各种故事管理器系统功能的故事管理器110。应用114可以包括提供如本文描述的各种电影摄影导演系统功能的导演模块112。应用114可以包括提供如本文描述的各种电影摄影系统功能的电影摄影模块116。游戏引擎104、故事管理器110、导演模块112、电影摄影模块116和应用114中的每一个包括驻留在存储器101中的计算机可执行指令,所述计算机可执行指令在操作期间(例如,在执行关于图1B、图2、图3和图4描述的操作时)由CPU103执行以及可选地利用GPU 105执行。游戏引擎104包括驻留在存储器101中的计算机可执行指令,所述计算机可执行指令在操作期间由CPU 103执行以及可选地利用GPU 105执行,以创建运行时程序例如游戏引擎。应用114包括驻留在存储器101中的计算机可执行指令,所述计算机可执行指令在操作期间由CPU 103执行以及可选地利用GPU105执行,以创建运行时应用程序例如视频游戏。游戏引擎104、故事管理器110、导演模块112和电影摄影模块116可以直接集成在应用114中,或者可以实现为外部的软件块(例如,插件)。
根据实施方式并且图1B示出了故事管理器模块110、电影摄影模块116与导演模块112之间的示例数据流。尽管为了便于解释,示出了三个单独的模块,但是本领域技术人员将理解,这三个单独的模块(例如,110、112和116)可以在一个单独的模块中实现。根据实施方式,故事管理器模块110、电影摄影模块116和导演模块112是在应用的执行期间例如在应用114的运行时间版本中(例如,在视频游戏的玩游戏期间)存在的模块。根据实施方式,并且如下面参照图2描述的方法200中进一步描述的,故事管理器模块110确定与应用114相关的环境(例如,游戏水平)内的多个感兴趣对象(OI),并且对于每个OI确定包括以下的OI数据120:情绪质量值、多个经分类的感兴趣水平和紧急性值。根据实施方式,并且如下面参照图3描述的方法300中进一步描述的,电影摄影模块116在环境中分配虚拟摄像机以跟随所确定的OI,并且合成所确定的感兴趣对象的摄像机镜头(例如,对于每帧)。虚拟摄像机的分布至少部分地基于由故事管理器模块110确定的情绪质量值、经分类的感兴趣水平和紧急性值。分布式虚拟摄像机随着时间记录合成的摄像机镜头。电影摄影模块116还可以至少部分地基于由故事管理器模块110确定的情绪质量值、经分类的感兴趣水平和紧急性值来确定每个虚拟摄像机的每个镜头的镜头质量。电影摄影模块116输出包括多个潜在虚拟摄像机镜头列表的虚拟摄像机镜头数据122,其中每个镜头具有相关联的数据,该相关联的数据包括镜头质量值、总情绪质量值和该镜头内可见的感兴趣对象的列表。根据实施方式,并且如参照图4描述的方法400进一步描述的,导演模块112确定最佳镜头长度以及镜头之间的过渡质量的度量。导演模块112然后可以基于镜头质量、过渡质量和情绪质量从多个潜在镜头中选择最终镜头。
根据实施方式并且图2示出了用于确定正在执行的应用114(例如,应用114的运行时间版本)内的感兴趣对象(OI)以及确定感兴趣对象的兴趣质量和情绪质量的方法200。根据实施方式,应用114可以在故事管理器设备102上执行,并且可以向用户提供视频游戏体验。正在执行的应用114可以在连续的基础上(例如,每秒60帧、每秒90帧或任何其他帧速率)生成要在显示设备109上渲染和显示的帧的数据。正在执行的应用114可以生成和销毁环境中的游戏对象,其中游戏对象可以逐帧改变(例如,移动、改变外观、消失等)。正在执行的应用114还可以生成环境内的事件(例如,发生的动作),并且其可以涉及游戏对象。
根据实施方式,在方法200的操作202处,正在执行的应用114从环境内存在的游戏对象集合中确定多个感兴趣对象(OI)。所确定的OI是游戏对象,该游戏对象包括环境内的位置值(例如,3D坐标),具有大于零的尺寸,并且可以被放置在环境内的虚拟摄像机潜在地看见。随着应用114改变环境中的游戏对象(例如,在玩游戏期间),多个所确定的OI可以逐帧改变。根据实施方式,存在于与帧相关联的时间处的OI在本文中被称为活动OI。根据实施方式,活动OI被认为是故事管理器系统100的潜在摄像机目标。根据实施方式,操作202以低频率(例如,不对于每个帧)发生,这可以通过减少确定的OI所牵涉的计算处理来提高故事管理器系统100的性能。根据实施方式,操作204至214在运行时间期间对于由应用114生成的每个帧执行至少一次。根据实施方式,由正在执行的应用114提供OI的感兴趣类别列表,其中每个类别可以包括以下中的一个或更多个:描述该类别的感兴趣水平的值;描述该类别的感兴趣水平值的衰减速率的速率函数;以及描述事件的类别的最大值的感兴趣水平的最大值。对于OI可以存在多个感兴趣的类别,其中每个类别具有不同的衰减速率,并且对于每个类别并且对于每个OI具有不同的最大值。类别的感兴趣水平是描述相关联的OI对于该类别的兴趣的值。根据实施方式,感兴趣水平值和感兴趣水平的衰减速率函数可以被预先确定并且被包括在应用114中(例如,由应用开发者)。该类别可以与应用114内的故事(例如,针对视频游戏的故事)方面以及电影摄影方面相关。感兴趣的类别和其中与OI相关联的值在逐帧的基础上(例如,随着时间,比如在玩游戏会话期间)描述了OI对于正在执行的应用114内的故事的兴趣。与OI相关联的类别可以与游戏内的事件相关联,其中,该事件可以包括以下中的任何一个:正在执行的应用114内直接影响OI的动作;应用内发生在OI附近的动作;以及OI的活动,由此该活动与该类别相关联。根据实施方式,感兴趣水平值的高衰减速率值可以用于描述这样的事件:该事件的感兴趣水平值快速降低(例如,从一帧到下一帧)。类似地,感兴趣水平值的低衰减速率值可以用于描述这样的事件:该事件的感兴趣水平值缓慢减小。例如,正在执行的应用114内的枪击事件可以具有大的感兴趣水平值与大的衰减速率值,使得枪击事件可以具有快速衰减的高初始感兴趣值。作为另一示例,OI的传送事件可以具有大的感兴趣水平值,但具有低的衰减速率值,使得与传送事件相关联的感兴趣水平可以持续得比与枪击事件相关联的感兴趣水平长。作为类别中的最大感兴趣值的示例,涉及三次快速枪击的事件可以具有比涉及单次枪击的事件高的感兴趣值,然而,具有三次快速枪击的事件的感兴趣值不能超过与该事件相关联的最大值。根据实施方式,故事管理器模块110关于游戏事件的精确性质不可知。
根据实施方式,作为方法200的操作204的一部分,正在执行的应用114可以基于游戏事件和OI活动来更新每个OI的经分类的感兴趣水平的每个类别水平值。该更新可以每帧发生一次(例如,在逐帧的基础上)或较不频繁地发生。作为操作204的一部分,对于每个帧,故事管理器模块110计算OI的总感兴趣值,其中,总感兴趣值是与OI相关联的所有类别中的感兴趣值的总和。
根据实施方式,基于应用114是游戏并且具有多个玩游戏状态(例如,“潜行”状态、“发现”状态、“全面战斗”状态等),其中,游戏的行为对于每个状态是不同的,针对每个状态提供有OI优先级图。针对状态的OI优先级图包括特定于该状态的多个感兴趣值(例如,包括每个OI和相关联事件的每个类别的感兴趣值)。玩游戏状态和相关联的OI优先级图的数量没有限制。例如,游戏的“潜行”状态的OI优先级图可以具有与针对“发现”状态的OI优先级图不同的感兴趣值。在“潜行”状态下的单个落下的炮弹具有高感兴趣,因为该事件是高声的,并且可能导致玩游戏状态切换至“发现”;然而,在“全面战斗”状态下,单个子弹落下事件的优先级非常低,在这种状态下,事情会更加激烈。根据实施方式,对于每个OI优先级图和对于每个类别,每个OI具有感兴趣值、衰减速率和最大值。
根据实施方式,在方法200的操作206处,故事管理器模块110提供用来描述OI的情绪质量的n维情绪向量,其中“n”是任何正整数(例如,3维情绪向量、4维情绪向量等)。情绪向量内的每个维度可以描述OI的情绪方面。根据实施方式,情绪向量可以用于改变镜头构图(例如,在操作312中)和镜头长度(例如,在操作402中),以向显示设备109的外部观看者(例如,游戏玩家)传达情绪。情绪方面可以包括快乐、恐惧、惊讶、悲伤、愤怒、厌恶等。根据实施方式,可以使用情绪向量内的单个值(例如,n个单个值的总和,或者n个单个值的平方的总和,或者n个单个值的总和的任何其他类型)来计算情绪的单个值。根据实施方式,情绪向量值可以为零,以表示缺乏关于情绪的信息。故事管理器模块110可以在每一帧处改变情绪向量的个体值,以指示与OI相关联的情绪状态,并且基于多个活动OI的游戏事件和动作。例如,与一个OI相关联的情绪向量可以被同一帧内的其他OI修改。我们可能需要对这个定义进行扩展例如,OI(例如,游戏中的特定角色)对于每帧可以具有为3的情绪值,然而在稍后帧处出现具有为6的总情绪值的第二OI(例如,怪物),使得该帧的总情绪值从3增加至9。
根据实施方式,在方法200的操作208处,故事管理器模块110将基于时间的衰减函数(例如,如关于方法200的操作204所描述的)应用于每个OI的经分类的感兴趣水平中的每一个。根据实施方式,操作208可以每帧执行一次,或者可以不太频繁地执行(例如,每两或三帧执行一次)。衰减函数可以用来随着时间(例如,在多个帧上)降低OI的感兴趣水平值,以使OI对于故事管理器系统100来说似乎不那么感兴趣或重要。
根据实施方式,在方法200的操作210处,故事管理器模块110确定每个OI的饥饿值。饥饿值是与OI相关联的标量,饥饿值基于OI在屏幕上(例如,在显示设备109上显示的摄像机视图中)不可见而随时间(例如,在多个帧上)增加,并且基于OI在屏幕上可见而随时间减少。饥饿值是期望将OI带到可视屏幕上的度量,其中,期望随着OI远离可视屏幕的时间量而增加,以及当OI在屏幕上时减少。饥饿值可能有助于使一些OI在屏幕上可视。根据实施方式,操作210可以每帧执行一次,或者可以不太频繁地执行(例如,每两帧或每三帧执行一次)。
根据实施方式,在方法200的操作212处,对于每个OI,故事管理器模块110组合经分类的感兴趣水平和饥饿值,以创建在本文中称为紧急性值的值。可以使用任何数学方法(例如,线性组合、平均等)进行组合。OI的紧急性值表示在某一时刻(例如,在显示设备上显示的摄像机视图中)使OI显示在屏幕上的紧急性(例如,从故事的角度)的度量。根据实施方式,操作212可以每帧执行一次,或者可以不太频繁地执行(例如,每两帧或每三帧执行一次)。根据实施方式,OI的紧急性值可以是OI的饥饿值的加权版本,其中权重由经分类的感兴趣水平确定。具有饥饿值和大的感兴趣水平值的OI可能比具有相同饥饿值但具有较小感兴趣水平值的第二OI具有大的紧急性。紧急性值增加了对要在显示屏上可见的更感兴趣的OI的期望。
根据实施方式,在方法200的操作214处,故事管理器模块110检查所有活动的OI的所有经分类的感兴趣水平值的总感兴趣值。基于OI的总感兴趣值等于零,故事管理器模块110确定在总感兴趣值保持为零期间的时间量。基于OI的总感兴趣值在阈值时间内等于零,故事管理器模块110从OI集合中移除OI(例如,使得OI不再被认为是潜在的摄像机目标)。阈值时间可以被预确定(例如,由游戏的开发者预确定)。根据实施方式,操作214是可选的,并且可以不被执行。
根据实施方式,对于每帧,故事管理器模块110提供包括每个OI的数据的输出。该数据包括OI的紧急性值、经分类的感兴趣水平值和情绪质量值。根据实施方式,故事事件、经分类的感兴趣水平和衰减函数是可以被调整(例如,由游戏开发者)以针对应用或游戏修改系统100的行为的参数。
根据实施方式,并且在图3中示出了可以由电影摄影模块116执行的方法300。在方法300中,在操作302处,电影摄影模块116从故事管理器模块110接收输出数据(例如,从操作202至操作214的数据输出)。输出数据包括活动OI上的数据。作为操作302的一部分,电影摄影模块116可以使用现有的虚拟摄像机或者在环境中创建新的虚拟摄像机,以确保所有活动的OI被至少一个虚拟摄像机覆盖(例如,由此OI在一个虚拟摄像机的视野中)。基于没有虚拟摄像机覆盖其的OI,电影摄影模块116可以创建新的虚拟摄像机,由此新的虚拟摄像机被定位成覆盖OI(例如,在虚拟摄像机的视野中具有OI)。根据实施方式,操作302可以在每帧发生,或者可以在较长的时间段(例如,在许多帧之后)内发生。根据实施方式,在操作302期间,可以基于新OI的生成(例如,由于事件和玩游戏而由应用114生成)来创建新的虚拟摄像机。根据实施方式,在操作302中使用的虚拟摄像机的设置可以基于模板和规则,并且可以在应用114中预确定(例如,经由编程指令编程到应用114中)。虚拟摄像机的设置可以包括描述摄像机的透镜属性、以及被摄体成帧算法和被摄体跟随算法等的值。被摄体成帧算法和被摄体跟随算法可以是使摄像机跟随OI并且将与OI相关联的以下数据中的至少一个或更多个作为输入的动态算法:位置、尺寸、方向和情绪向量。
根据实施方式,在方法300的操作304中,与OI相关联的每个虚拟摄像机使用摄像机设置来跟随和合成该帧的镜头内的OI(例如,在OI在整个游戏环境中逐帧移动时)。该合成包括基于规则或模板在虚拟摄像机的摄像机镜头内排列元素(例如,包括OI和其他游戏对象)。根据实施方式,作为操作304的一部分,基于虚拟摄像机是移动的,虚拟摄像机将通过执行以下中的一项或更多项来跟随OI:移动帧的位置(例如,在环境内的3D坐标中)、在帧的3个正交轴上旋转以及修改帧的摄像机属性。以下包括在帧内维持OI的合成。根据实施方式,作为操作304的一部分,基于虚拟摄像机是静止的,静止摄像机使用摄像机属性的旋转和修改来维持帧中OI的合成,直到OI离开视野(例如,移动到对象后面)并且不再可能合成。
根据实施方式,在方法300的操作306处,基于一个或更多个另外的OI在帧内进入虚拟摄像机的镜头(例如,基于另外的OI接近虚拟摄像机的目标OI),电影摄影模块116可以重新合成来自虚拟摄像机的镜头,以将一个或更多个另外的OI包括在该帧中(例如,使用组合成算法合成OI组)。
根据实施方式,在方法300的操作308处,电影摄影模块116确定该帧的每个虚拟摄像机的镜头质量。镜头质量可以是标量,并且可以基于规则来确定。镜头质量可以是以下中的一个或更多个的函数:镜头内可见的一个或更多个OI的紧急性值;镜头内可见的一个或更多个OI的尺寸和位置;以及摄像机截头锥体内遮挡的度量。根据实施方式,镜头质量与镜头内OI的紧急性值的值正相关,使得高紧急性值与高镜头质量值相关联。例如,具有高紧急性值并且在帧中大的OI可以比具有较低紧急性值或者构图不佳(例如,偏向一侧)的第二OI具有较高的镜头质量。根据实施方式,基于镜头内的OI存在遮挡,降低该镜头的镜头质量值。根据实施方式,操作308可以每帧执行一次,或者可以不太频繁地执行(例如,每两帧或每三帧执行一次)。
根据实施方式,在方法300的操作310处,电影摄影模块116组合镜头内所有OI的n维情绪状态向量,以确定该镜头的总情绪质量值。根据实施方式,n维情绪状态向量的组合可以包括向量求和、平方和、加权和、平均等。根据实施方式,操作310可以每帧执行一次,或者可以不太频繁地执行(例如,每两帧或每三帧执行一次)。
在方法300的操作312处,基于来自虚拟摄像机的镜头的总情绪质量的值处于预定范围集合中的范围内,电影摄影模块116可以改变虚拟摄像机的设置以反映该范围的镜头的情绪质量。设置的改变可以根据该范围的电影摄影规则进行;例如,在高度情绪充满的时刻(例如,具有落入范围内或大于阈值的大的总情绪质量值的帧)期间,可以引入荷兰式(dutch)摄像机旋转(例如,围绕摄像机的z轴的摄像机旋转)或低摄像机角度。根据实施方式,操作312可以每帧执行一次,或者可以不太频繁地执行(例如,每两帧或每三帧执行一次)。
根据实施方式,方法300提供可以用于显示在显示设备109上的帧的多个虚拟摄像机镜头(例如,其中每个活动OI包括在多个虚拟摄像机镜头中的至少一个中)。根据实施方式,多个虚拟摄像机镜头中的每个镜头包括以下相关数据中的一个或更多个:描述镜头内可见的特定OI的镜头质量值、总情绪质量值以及OI目标列表。
根据实施方式,并且图4示出了方法400,用于从方法300中生成的多个潜在镜头中选择镜头,以显示为下一帧(例如,作为下一显示的游戏帧)。方法400可以由导演模块112执行。根据实施方式,在方法400的操作402处,导演模块112从电影摄影模块116接收输出数据(例如,从操作302至操作312的数据输出)并且可选地从故事管理器模块110接收输出数据(例如,从操作202至操作214的数据输出)。输出数据包括虚拟摄像机镜头列表和相关数据。根据实施方式,作为方法400的操作402的一部分,计算最佳镜头长度。镜头长度可以包括在虚拟摄像机之间没有编辑或剪切的情况下存在连续的显示帧的集合内的时间。最佳镜头长度可以基于应用114的预定规则集合来确定。规则可以包括基于应用114的情绪质量(例如,故事/游戏情绪弧)的镜头长度规则,应用114可以使用每个镜头的总情绪质量值来确定随时间(例如,在每个帧处)的最佳镜头长度。
根据实施方式,在方法400的操作404处,将由电影摄影模块116(例如,在方法300期间)生成的多个虚拟摄像机镜头中的每一个与当前显示的帧相比较,并给出过渡质量评级。针对多个虚拟摄像机镜头之一的过渡质量评级是当前显示的帧与一个虚拟摄像机镜头之间的过渡(例如,切换)的成本的度量。根据实施方式,利用成本函数来确定成本,该成本函数可以包括用于确定成本的规则。根据实施方式,作为方法400的操作404的一部分,由导演模块112为过渡质量评级计算多个过渡成本函数。这些规则可以包括基于当前显示的帧镜头长度与最佳镜头长度(例如,如操作402中所确定的)之差来确定成本,其中,小的差异导致高的过渡质量评级。根据实施方式,规则可以包括连续性规则,包括:确定过渡到镜头是否会跨过电影摄影线(例如,导演线),以及确定跳转剪辑评估,其中过于相似的镜头序列被给予较低的过渡质量。
根据实施方式,在方法400的操作406处,多个过渡成本函数被组合(例如,根据可调规则权重)以确定每个虚拟摄像机镜头的单个镜头过渡质量评级。根据实施方式,在方法400的操作408处,导演模块112选择用于显示(例如,在显示设备上显示)的镜头。该选择包括从方法300中生成的多个潜在镜头中确定每个镜头的总质量值,总质量值包括以下:过渡质量值(例如,来自操作406)、情绪质量值(例如,来自操作310)和镜头质量值(例如,来自操作308)。该选择可以包括显示具有最大总质量值的镜头。根据实施方式,所选择的镜头成为活动镜头(例如,显示在显示设备109上作为下一当前显示帧的镜头)。基于新的活动镜头不同于先前的活动镜头,活动镜头的镜头长度可以被重置为零。
以下示例是各种实施方式的非限制性示例。
示例1。执行用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头质量的操作,该操作包括:从来自视频游戏内的对象集合中确定多个感兴趣对象;从游戏接收游戏状态数据,游戏状态数据描述在游戏内发生的至少事件集合;确定多个感兴趣水平值,多个感兴趣水平值对应于与多个感兴趣对象相关联的多个类别,其中,多个感兴趣水平值基于游戏状态数据;生成用于管理与该帧相关联的电影摄影的数据结构,该数据结构便利于查找多个感兴趣水平值。
示例2。示例1的操作,该操作还包括以下中的一个或更多个:确定多个感兴趣对象的多个饥饿值,其中,多个饥饿值中的每一个与多个感兴趣对象中的感兴趣对象在先前帧中可见的时间量的运行总计成反比;并且其中该数据结构还便利于查找多个饥饿值。
示例3。示例1至示例2中的任一示例的操作,该操作还包括以下中的一个或更多个:确定多个感兴趣对象的多个紧急性值,其中,多个紧急性值中的每一个基于与感兴趣对象相关联的多个感兴趣水平值和饥饿值,并且多个紧急性值表示在帧中看见感兴趣对象的紧急性的度量;并且其中,该数据结构还便利于查找多个紧急性值。
示例4。示例1至示例3中的任一示例的操作,该操作还包括以下中的一个或更多个:确定多个多维状态向量,多个多维状态向量中的每一个描述多个感兴趣对象中的感兴趣对象的情绪状态;以及提供多个多维情绪状态向量,用于确定来自虚拟摄像机的镜头的总情绪质量值。
示例5。示例1至示例4中的任一示例的操作,其中基于镜头的总情绪质量的值处于范围内,基于预定的电影摄影规则来改变虚拟摄像机的参数和设置以改变镜头以反映情绪质量。
示例6。示例1至示例5中的任一示例的操作,操作还包括以下中的一个或更多个:创建多个虚拟摄像机,多个虚拟摄像机中的每一个被配置成跟随来自多个感兴趣对象的感兴趣对象;对于多个虚拟摄像机中的每一个,使由虚拟摄像机跟随的感兴趣对象的镜头成帧,使镜头成帧包括:查找对应于感兴趣对象的数据结构中的紧急性值;以及基于以下中的一个或更多个来确定感兴趣对象的镜头的质量:紧急性值;感兴趣对象在镜头内的位置;以及感兴趣对象在镜头内的尺寸。
示例7。示例1至示例6中的任一示例的操作,其中操作包括:将来自多个虚拟摄像机的镜头与来自前一帧的活动镜头相比较;以及确定镜头与活动镜头之间的过渡的质量度量,质量度量包括以下中的一个或更多个的过渡度量:活动镜头的情绪质量、镜头质量值和镜头长度。
示例8。示例1至示例7中的任一示例的操作,其中操作包括从多个虚拟摄像机中选择镜头以成为活动镜头,该选择基于以下中的至少一个:该镜头的情绪质量值;该镜头的镜头质量值;以及该镜头的过渡质量的度量。
示例9。示例1至示例8的操作,其中操作包括:基于进入镜头的第二感兴趣对象,重新合成摄像机镜头以在镜头中包括第二感兴趣对象。
示例10。一种系统,该系统包括一个或更多个计算机处理器、一个或更多个计算机存储器以及结合到一个或更多个计算机存储器中的故事管理器模块,故事管理器模块配置一个或更多个计算机处理器来执行示例1至示例9中的任一个的操作。
示例11。一种包括指令集的计算机可读介质,该指令集配置一个或更多个计算机处理器来执行示例1至示例9中的任一个的操作。
虽然在框图中示出为经由不同的数据信号连接彼此通信的离散部件的组,但是本领域技术人员将理解,各种实施方式可以是由硬件部件和软件部件的组合提供的,其中一些部件通过硬件系统或软件系统的给定功能或操作来实现,并且示出的许多数据路径通过计算机应用或操作系统内的数据通信来实现。因此,所示出的结构是出于教导本各种实施方式的效率而提供的。
应当注意的是,本公开内容可以作为方法来执行,可以在系统、计算机可读介质或者电子或电磁信号中实施。上面所描述并在附图中示出的实施方式仅旨在是示例性的。对于本领域技术人员而言将明显的是,可以在不脱离本公开内容的情况下进行修改。这样的修改被认为是可能的变型,并且处于本公开内容的范围内。
在本文中某些实施方式被描述为包括逻辑或多个部件、模块或机构。模块可以构成软件模块(例如,包含在机器可读介质上或传输信号中的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作以执行如本文中描述的某些操作的硬件模块。
在一些实施方式中,硬件模块可以机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。例如,硬件模块可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路系统。例如,硬件模块可以包括包含在通用处理器或者其他可编程处理器内的软件。这样的软件可以至少将通用处理器临时转换成专用处理器。将意识到的是,可以通过成本和时间考虑来推动在专用的永久配置的电路系统中或在临时配置的电路系统(例如,由软件进行配置)中机械地实现硬件模块的决策。
因此,短语“硬件模块”应被理解为包括有形实体,即,物理构造的、永久配置的(例如,硬连线的)或临时配置的(例如,编程的)以特定方式进行操作或者执行本文中描述的某些操作的实体。如本文所使用的,“硬件实现的模块”指的是硬件模块。考虑其中硬件模块被临时配置(例如,被编程)的实施方式,硬件模块中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件模块包括由软件配置成变为专用处理器的通用处理器的情况下,通用处理器可以在不同时间处被配置为各自不同的专用处理器(例如,包括不同的硬件模块)。软件可以将特定的一个或多个处理器相应地配置成例如以在一个时刻构成特定的硬件模块并且在不同的时刻构成不同的硬件模块。
硬件模块可以向其它硬件模块提供信息并且接收来自其它硬件模块的信息。因此,所描述的硬件模块可以被认为是通信上耦接的。在同时存在多个硬件模块的情况下,可以通过两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件模块在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件模块可以访问的存储器结构中并且在该存储器结构中检索信息来实现在这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作,并且将该操作的输出存储在通信上耦接的存储器设备中。另外的硬件模块然后可以在随后的时间处访问存储器设备,以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。
本文所述的示例方法的各种操作可以至少部分地由临时地配置(例如,由软件)或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是临时地被配置还是永久地被配置,这样的处理器都可以构成处理器实现的模块,所述处理器实现的模块操作成执行本文中描述的一个或更多个操作或功能。如本文中使用的,“处理器实现的模块”是指使用一个或更多个处理器实现的硬件模块。
类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或处理器实现的模块来执行。此外,一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来执行,其中这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,应用程序接口(API))来访问。
某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是部署在多个机器中。在一些示例实施方式中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的模块可以分布在许多地理位置中。
图5是示出了示例软件架构702的框图700,该示例软件架构702可以与本文中描述的各种硬件架构结合使用,以提供游戏引擎701和/或故事管理器系统的部件。图5是软件架构的非限制性示例,并且应当理解的是,可以实现许多其他架构以促进本文中描述的功能。软件架构702可以在诸如图6的机器800的硬件上执行,机器500包括处理器810、存储器830和输入/输出(I/O)部件850等。代表性硬件层704被示出并且可以表示例如图6的机器800。代表性硬件层704包括具有相关联的可执行指令708的处理单元706。可执行指令708表示软件架构702的可执行指令,包括本文中描述的方法、模块等的实现。硬件层704还包括存储器/存储装置710,存储器/存储装置710还包括可执行指令708。硬件层704还可以包括其他硬件712。
在图5的示例架构中,软件架构702可以被概念化为层的堆栈,在层的堆栈中,每个层提供特定的功能。例如,软件架构702可以包括诸如操作系统714、库716、框架或中间件718、应用720和呈现层744的层。操作上,应用720和/或层内的其他部件可以通过软件堆栈调用应用编程接口(API)调用724并接收作为消息726的响应。示出的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件718,而其他操作系统可能提供这样的层。其他软件架构可以包括另外的层或不同的层。
操作系统714可以管理硬件资源并且提供公共服务。操作系统714可以包括例如核心728、服务730和驱动732。核心728可以用作硬件与其他软件层之间的抽象层。例如,核心728可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务730可以为其他软件层提供其他公共服务。驱动732可以负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动732可以包括显示驱动、摄像机驱动、
Figure BDA0003466814400000161
驱动、闪速存储驱动、串行通信驱动(例如,通用串行总线(USB)驱动)、
Figure BDA0003466814400000162
驱动、音频驱动、电源管理驱动等。
库716可以提供可以由应用720和/或其他部件和/或层使用的公共基础设施。与和底层操作系统714功能(例如,核心728、服务730和/或驱动732)直接对接相比,库716通常提供允许其他软件模块以更容易的方式执行任务的功能。库716可以包括系统库734(例如,C标准库),该系统库734可以提供诸如存储器分配功能、字符串操作功能、数学函数等的功能。另外,库716可以包括API库736,如媒体库(例如,支持各种媒体格式如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG的呈现和操纵的库)、图形库(例如,可以用于在显示器上呈现2D和3D图形内容的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、网络库(例如,可以提供网络浏览功能的WebKit)等。库716还可以包括各种各样的其他库738,以向应用720和其他软件部件/模块提供许多其他API。
框架718(有时也称为中间件)提供可以由应用720和/或其他软件部件/模块使用的更高水平的公共基础设施。例如,框架/中间件718可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件718可以提供可以由应用720和/或其他软件部件/模块利用的广范围的其他API,其中一些可以特定于特定操作系统或平台。
应用720包括内置应用740和/或第三方应用742。代表性内置应用740的示例可以包括但不限于:联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用742可以包括由除了特定平台的供应商以外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的任何应用,并且可以是在诸如iOSTM、AndroidTM
Figure BDA0003466814400000171
的移动操作系统或其他移动操作系上运行的移动软件。第三方应用742可以调用由移动操作系统(例如,操作系统714)提供的API调用724,以促进本文描述的功能。
应用720可以使用内置操作系统功能(例如,核心728、服务730和/或驱动732)、库716或框架/中间件718来创建用户接口以与系统的用户进行交互。替选地或另外地,在一些系统中,与用户的交互可以通过诸如表示层744的表示层来发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。
一些软件架构使用虚拟机。在图5的示例中,这由虚拟机748示出。虚拟机748创建软件环境,其中应用/模块可以执行为似乎它们在硬件机器(诸如例如图6的机器800)上执行一样。虚拟机748由主机操作系统(例如,操作系统714)托管,并且通常但并非总是具有虚拟机监视器746,该虚拟机监视器管理虚拟机748的操作以及与主机操作系统(即操作系统714)的对接。软件架构在诸如操作系统(OS)750、库752、框架754、应用756和/或呈现层758的虚拟机748内执行。在虚拟机748内执行的软件架构的这些层可以与先前描述的相应层相同或可以不同。
图6是示出根据一些示例实施方式的机器800的部件的框图,该机器800的部件被配置成从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任意一种或更多种方法。在一些实施方式中,机器800类似于故事管理器设备102。具体地,图6以计算机系统的示例形式示出了机器800的示意图,在该机器800中可以执行指令816(例如,软件、程序、应用、小程序、app或其他可执行代码),以使机器800执行本文讨论的方法中的任何一种或更多种方法。因此,指令816可以被用来实现本文中描述的模块或部件。指令将通用的未编程的机器转变成被编程以按描述的方式执行所描述和示出的功能的特定机器。在替选实施方式中,机器800作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器800可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家庭设备(例如,智能电器)、其他智能设备、web电器、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器800采取的动作的指令816的任何机器。此外,虽然仅示出了单个机器800,但是术语“机器”还应被视为包括单独或联合执行指令816以执行本文中讨论的方法中的任一种或更多种的机器的集合。
机器800可以包括可以被配置成例如经由总线802彼此通信的处理器810、存储器830和输入/输出(I/O)部件850。在示例实施方式中,处理器810(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何合适的组合)可以包括例如可以执行指令816的处理器812和处理器814。术语“处理器”旨在包括可以包含可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。虽然图6示出了多个处理器,但是机器800可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或者其任何组合。
存储器/存储装置830可以包括诸如主存储器832、静态存储器834或其他存储器的存储器以及存储单元836,两者都能够由处理器810例如经由总线802访问。存储单元836和存储器832、834存储体现本文中描述的方法或功能中的任一个或更多个的指令816。指令816还可以在其由机器800执行期间完全地或部分地驻留在存储器832、834内,存储单元836内,处理器810中的至少一个内(例如,处理器的高速缓冲存储器内)或其任意合适的组合内。因此,存储器832、834、存储单元836和处理器810的存储器是机器可读介质838的示例。
如本文中使用的,“机器可读介质”是指能够临时地或永久地存储指令和数据的设备,并且可以包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁性介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任意合适组合。术语“机器可读介质”应被视为包括能够存储指令816的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓冲和服务器)。术语“机器可读介质”还应当被认为包括能够存储用于由机器(例如,机器800)执行的指令(例如,指令816)使得该指令在由机器800的一个或更多个处理器(例如,处理器810)执行时使机器800来执行本文中描述的方法或操作中的任一种或更多种的任何介质或多个介质的组合,所述方法或操作包括非例行或非常规方法或操作,或者非例行或非常规方法或操作的组合。因此,“机器可读介质”是指单个存储装置或设备以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
输入/输出(I/O)部件850可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量等的各种部件。包括在特定机器中的特定输入/输出(I/O)部件850将取决于机器的类型。例如,诸如移动电话的便携式机器很可能包括触摸输入设备或其他这样的输入机构,而无终端(headless)服务器机器很可能不包括这样的触摸输入设备。将理解的是,输入/输出(I/O)部件850可以包括图6中未示出的许多其他部件。仅出于简化以下讨论的目的来根据功能对输入/输出(I/O)部件850进行分组,并且该分组决不是限制性的。在各种示例实施方式中,输入/输出(I/O)部件850可以包括输出部件852和输入部件854。输出部件852可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件854可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于指点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在另外的示例实施方式中,输入/输出(I/O)部件850可以包括生物统计部件856、运动部件858、环境部件860或位置部件862以及各种其他部件。例如,生物统计部件856可以包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件858可以包括:加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件860可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。位置部件862可以包括定位传感器部件(例如,全球定位系统(GPS)接收器部件)、高度传感器部件(例如,检测可以从其导出高度的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。输入/输出(I/O)部件850可以包括通信部件864,通信部件864能够操作以分别经由耦接器882和耦接器872将机器800耦接至网络880或设备870。例如,通信部件864可以包括网络接口部件或其他合适的设备以与网络880对接。在另外示例中,通信部件864可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、
Figure BDA0003466814400000201
部件(例如,
Figure BDA0003466814400000202
低功耗)、
Figure BDA0003466814400000203
部件和经由其他模态提供通信的其他通信部件。设备870可以是另外的机器或各种各样的外围设备中的任何外围设备(例如,经由通用串行总线(USB)耦接的外围设备)。
此外,通信部件864可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件864可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)代码的多维条形码、Aztec代码、数据矩阵、数据符号(Dataglyph)、最大编码(MaxiCode)、PDF417、超代码(Ultra Code)、UCC RSS-2D条形码和其他光代码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件862得到各种信息,如经由因特网协议(IP)地理位置的位置、经由
Figure BDA0003466814400000211
信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等。
遍及本说明书,多个实例可以实现被描述为单个实例的部件、操作或结构。虽然一种或更多种方法的个体操作被示出和描述为分立的操作,但是一个或更多个的个体操作可以同时执行,并且不要求以所示的顺序执行操作。在示例配置中被呈现为分离部件的结构和功能可以被实现为组合的结构或部件。类似地,作为单个部件呈现的结构和功能可以被实现为单独的部件。这些和其他变型、修改、添加和改进落入本文中的主题的范围内。
本文中示出的实施方式被足够详细地描述,以使得本领域技术人员能够实践所公开的教导。其他实施方式可以被使用并且从中得到,使得可以在不偏离本公开内容的范围的情况下进行结构和逻辑替代和改变。因此,具体实施方式不应被认为具有限制意义,并且各种实施方式的范围仅由所附权利要求以及这样的权利要求被赋予的等同物的全部范围来限定。
如本文中使用的,术语“或”可以被解释为包含性或排他性意义。此外,可以针对在本文中被描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在特定说明性配置的上下文中示出。功能的其他分配被预见并且可以落入本公开内容的各种实施方式的范围内。通常,在示例配置中作为单独的资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为单独的资源。这些和其他变型、修改、添加和改进落入如由所附权利要求书表示的本公开内容的实施方式的范围内。因此,说明书和附图被认为是说明性的而不是限制性意义的。

Claims (20)

1.一种系统,包括:
一个或更多个计算机处理器;
一个或更多个计算机存储器;
并入到所述一个或更多个计算机存储器中的故事管理器模块,所述故事管理器模块被配置成执行用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头质量的操作,所述操作包括:
从来自所述视频游戏内的对象集合中确定多个感兴趣对象;
从所述游戏接收游戏状态数据,所述游戏状态数据描述在所述游戏内发生的至少事件集合;
确定多个感兴趣水平值,所述多个感兴趣水平值对应于与所述多个感兴趣对象相关联的多个类别,其中,所述多个感兴趣水平值基于所述游戏状态数据;
生成用于管理与所述帧相关联的电影摄影的数据结构,所述数据结构便利于查找所述多个感兴趣水平值。
2.根据权利要求1所述的系统,所述操作还包括:
确定所述多个感兴趣对象的多个饥饿值,其中,所述多个饥饿值中的每一个与所述多个感兴趣对象中的感兴趣对象在先前帧中可见的时间量的运行总计成反比;并且
其中,所述数据结构还便利于查找所述多个饥饿值。
3.根据权利要求2所述的系统,所述操作还包括:
确定所述多个感兴趣对象的多个紧急性值,其中,所述多个紧急性值中的每一个基于与感兴趣对象相关联的所述多个感兴趣水平值和所述饥饿值,并且所述多个紧急性值表示在所述帧中看见所述感兴趣对象的紧急性的度量;并且
其中,所述数据结构还便利于查找所述多个紧急性值。
4.根据权利要求1所述的系统,所述操作还包括:
确定多个多维状态向量,所述多个多维状态向量中的每一个描述所述多个感兴趣对象中的感兴趣对象的情绪状态;以及
提供所述多个多维情绪状态向量,用于确定来自虚拟摄像机的镜头的总情绪质量值。
5.根据权利要求4所述的系统,其中,基于所述镜头的总情绪质量的值处于范围内,基于预定的电影摄影规则来改变虚拟摄像机的参数和设置以改变所述镜头以反映所述情绪质量。
6.根据权利要求3所述的系统,所述操作还包括:
创建多个虚拟摄像机,所述多个虚拟摄像机中的每一个被配置成跟随来自所述多个感兴趣对象的感兴趣对象;
对于所述多个虚拟摄像机中的每一个,使由所述虚拟摄像机跟随的所述感兴趣对象的镜头成帧,使所述镜头成帧包括:查找对应于所述感兴趣对象的所述数据结构中的紧急性值;以及基于以下中的一个或更多个来确定所述感兴趣对象的所述镜头的质量:所述紧急性值;所述感兴趣对象在所述镜头内的位置;以及所述感兴趣对象在所述镜头内的尺寸。
7.根据权利要求6所述的系统,其中,所述操作包括:将来自所述多个虚拟摄像机的镜头与来自前一帧的活动镜头相比较;以及确定所述镜头与所述活动镜头之间的过渡的质量度量,所述质量度量包括以下中的一个或更多个的过渡度量:所述活动镜头的情绪质量、镜头质量值和镜头长度。
8.根据权利要求7所述的系统,其中,所述操作包括从所述多个虚拟摄像机中选择镜头以成为所述活动镜头,所述选择基于以下中的至少一个:所述镜头的情绪质量值;所述镜头的镜头质量值;以及所述镜头的过渡质量的度量。
9.根据权利要求6所述的系统,其中,所述操作包括:基于进入所述镜头的第二感兴趣对象,重新合成摄像机镜头以在所述镜头中包括所述第二感兴趣对象。
10.一种非暂态计算机可读介质,所述非暂态计算机可读介质包括指令集,所述指令集当由一个或更多个计算机处理器执行时使得所述一个或更多个计算机处理器执行用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头质量的操作,所述操作包括:
从来自所述视频游戏内的对象集合中确定多个感兴趣对象;
从所述游戏接收游戏状态数据,所述游戏状态数据描述在所述游戏内发生的至少事件集合;
确定多个感兴趣水平值,所述多个感兴趣水平值对应于与所述多个感兴趣对象相关联的多个类别,其中,所述多个感兴趣水平值基于所述游戏状态数据;
生成用于管理与所述帧相关联的电影摄影的数据结构,所述数据结构便利于查找所述多个感兴趣水平值。
11.根据权利要求10所述的非暂态计算机可读介质,所述操作还包括:
确定所述多个感兴趣对象的多个饥饿值,其中,所述多个饥饿值中的每一个与所述多个感兴趣对象中的感兴趣对象在先前帧中可见的时间量的运行总计成反比;并且
其中,所述数据结构还便利于查找所述多个饥饿值。
12.根据权利要求11所述的非暂态计算机可读介质,所述操作还包括:
确定所述多个感兴趣对象的多个紧急性值,其中,所述多个紧急性值中的每一个基于与感兴趣对象相关联的所述多个感兴趣水平值和所述饥饿值,并且所述多个紧急性值表示在所述帧中看见所述感兴趣对象的紧急性的度量;并且
其中,所述数据结构还便利于查找所述多个紧急性值。
13.根据权利要求10所述的非暂态计算机可读介质,所述操作还包括:
确定多个多维状态向量,所述多个多维状态向量中的每一个描述所述多个感兴趣对象中的感兴趣对象的情绪状态;以及
提供所述多个多维情绪状态向量,用于确定来自虚拟摄像机的镜头的总情绪质量值。
14.根据权利要求13所述的非暂态计算机可读介质,其中,基于所述镜头的总情绪质量的值处于范围内,基于预定的电影摄影规则来改变虚拟摄像机的参数和设置以改变所述镜头以反映所述情绪质量。
15.根据权利要求12所述的非暂态计算机可读介质,所述操作还包括:
创建多个虚拟摄像机,所述多个虚拟摄像机中的每一个被配置成跟随来自所述多个感兴趣对象的感兴趣对象;
对于所述多个虚拟摄像机中的每一个,使由所述虚拟摄像机跟随的所述感兴趣对象的镜头成帧,使所述镜头成帧包括:查找对应于所述感兴趣对象的所述数据结构中的紧急性值;以及基于以下中的一个或更多个来确定所述感兴趣对象的所述镜头的质量:所述紧急性值;所述感兴趣对象在所述镜头内的位置;以及所述感兴趣对象在所述镜头内的尺寸。
16.根据权利要求15所述的非暂态计算机可读介质,其中,所述操作包括:将来自所述多个虚拟摄像机的镜头与来自前一帧的活动镜头相比较;以及确定所述镜头与所述活动镜头之间的过渡的质量度量,所述质量度量包括以下中的一个或更多个的过渡度量:所述活动镜头的情绪质量、镜头质量值和镜头长度。
17.根据权利要求16所述的非暂态计算机可读介质,其中,所述操作包括从所述多个虚拟摄像机中选择镜头以成为所述活动镜头,所述选择基于以下中的至少一个:所述镜头的情绪质量值;所述镜头的镜头质量值;以及所述镜头的过渡质量的度量。
18.一种方法,包括:
使用一个或更多个计算机处理器执行用于确定与视频游戏相关联的视频的一帧内的感兴趣对象的电影镜头质量的操作,所述操作包括:
从来自所述视频游戏内的对象集合中确定多个感兴趣对象;
从所述游戏接收游戏状态数据,所述游戏状态数据描述在所述游戏内发生的至少事件集合;
确定多个感兴趣水平值,所述多个感兴趣水平值对应于与所述多个感兴趣对象相关联的多个类别,其中,所述多个感兴趣水平值基于所述游戏状态数据;
确定所述多个感兴趣对象的多个饥饿值,其中,所述多个饥饿值中的每一个与所述多个感兴趣对象中的感兴趣对象在先前帧中可见的时间量的运行总计成反比;
确定所述多个感兴趣对象的多个紧急性值,其中,所述多个紧急性值中的每一个基于与感兴趣对象相关联的所述多个感兴趣水平值和所述饥饿值,并且所述多个紧急性值表示在所述帧中看见所述感兴趣对象的紧急性的度量;
生成用于管理与所述帧相关联的电影摄影的数据结构,所述数据结构便利于查找所述多个感兴趣水平值和紧急性值。
19.根据权利要求18所述的方法,所述操作还包括:
确定多个多维状态向量,所述多个多维状态向量中的每一个描述所述多个感兴趣对象中的感兴趣对象的情绪状态;
提供所述多个多维情绪状态向量,用于确定来自虚拟摄像机的镜头的总情绪质量值;以及
基于所述镜头的总情绪质量的值处于范围内,基于预定的电影摄影规则来改变虚拟摄像机的参数和设置以改变所述镜头以反映所述情绪质量。
20.根据权利要求18所述的方法,所述操作还包括:
创建多个虚拟摄像机,所述多个虚拟摄像机中的每一个被配置成跟随来自所述多个感兴趣对象的感兴趣对象;
对于所述多个虚拟摄像机中的每一个,使由所述虚拟摄像机跟随的所述感兴趣对象的镜头成帧,使所述镜头成帧包括:查找对应于所述感兴趣对象的所述数据结构中的紧急性值;以及基于以下中的一个或更多个来确定所述感兴趣对象的所述镜头的质量:所述紧急性值;所述感兴趣对象在所述镜头内的位置;以及所述感兴趣对象在所述镜头内的尺寸;
将来自所述多个虚拟摄像机的镜头与来自前一帧的活动镜头相比较,并且确定所述镜头与所述活动镜头之间的过渡的质量度量,所述质量度量包括以下中的一个或更多个的过渡度量:所述活动镜头的情绪质量、镜头质量值和镜头长度;以及
从所述多个虚拟摄像机中选择镜头以成为所述活动镜头,所述选择基于以下中的至少一个:所述镜头的情绪质量值;所述镜头的镜头质量值;以及所述镜头的过渡质量的度量。
CN202080050847.4A 2019-06-12 2020-06-12 用于管理故事中的对象的情绪相关性的方法和系统 Pending CN114126728A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962860741P 2019-06-12 2019-06-12
US62/860,741 2019-06-12
PCT/EP2020/066296 WO2020249726A1 (en) 2019-06-12 2020-06-12 Method and system for managing emotional relevance of objects within a story

Publications (1)

Publication Number Publication Date
CN114126728A true CN114126728A (zh) 2022-03-01

Family

ID=71092545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080050847.4A Pending CN114126728A (zh) 2019-06-12 2020-06-12 用于管理故事中的对象的情绪相关性的方法和系统

Country Status (4)

Country Link
US (1) US20200391109A1 (zh)
JP (1) JP7222121B2 (zh)
CN (1) CN114126728A (zh)
WO (1) WO2020249726A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11252398B2 (en) * 2020-01-16 2022-02-15 Fyusion, Inc. Creating cinematic video from multi-view capture data
US11869135B2 (en) 2020-01-16 2024-01-09 Fyusion, Inc. Creating action shot video from multi-view capture data
US11943565B2 (en) * 2021-07-12 2024-03-26 Milestone Systems A/S Computer implemented method and apparatus for operating a video management system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6040841A (en) * 1996-08-02 2000-03-21 Microsoft Corporation Method and system for virtual cinematography
US7951000B2 (en) * 2005-05-06 2011-05-31 Microsoft Corporation Dynamic frame system
US20070087798A1 (en) * 2005-10-13 2007-04-19 Elliot Mcgucken Morality system and method for video game: system and method for creating story, deeper meaning and emotions, enhanced characters and AI, and dramatic art in video games
JP5039627B2 (ja) * 2008-03-31 2012-10-03 株式会社コナミデジタルエンタテインメント ゲーム画像送信装置、ゲーム画像送信装置の制御方法、及びプログラム
GB2458910A (en) * 2008-04-01 2009-10-07 Areograph Ltd Sequential image generation including overlaying object image onto scenic image
WO2010008373A1 (en) * 2008-07-14 2010-01-21 Silicon Knights Inc. Apparatus and methods of computer-simulated three-dimensional interactive environments
US8425325B2 (en) * 2009-02-06 2013-04-23 Apple Inc. Automatically generating a book describing a user's videogame performance
US20120190456A1 (en) * 2011-01-21 2012-07-26 Rogers Henk B Systems and methods for providing an interactive multiplayer story
JP2013208226A (ja) * 2012-03-30 2013-10-10 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム装置の制御方法、及びプログラム
US9403090B2 (en) * 2012-04-26 2016-08-02 Riot Games, Inc. Video game system with spectator mode hud
JP2015026172A (ja) * 2013-07-25 2015-02-05 株式会社スクウェア・エニックス 画像処理プログラムおよび画像処理装置
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
JP6292921B2 (ja) * 2014-02-24 2018-03-14 Kddi株式会社 カメラワーク情報生成装置、カメラワーク情報生成方法およびコンピュータプログラム
US9997199B2 (en) * 2014-12-05 2018-06-12 Warner Bros. Entertainment Inc. Immersive virtual reality production and playback for storytelling content
US20170024095A1 (en) * 2015-01-19 2017-01-26 Dane Glasgow Multi-media platform
US10042506B2 (en) * 2015-03-19 2018-08-07 Disney Enterprises, Inc. Interactive story development system and method for creating a narrative of a storyline
US9552520B1 (en) * 2015-07-07 2017-01-24 Disney Enterprises, Inc. Systems and methods for automatic key frame extraction and storyboard interface generation for video
JP6679523B2 (ja) * 2017-03-01 2020-04-15 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
WO2019067783A1 (en) * 2017-09-29 2019-04-04 Chappell Arvel A PRODUCTION AND CONTROL OF KINEMATIC CONTENT IN RESPONSE TO AN EMOTIONAL USER STATUS
US11090568B1 (en) * 2018-03-27 2021-08-17 Electronic Arts Inc. Dynamic gameplay session content generation system

Also Published As

Publication number Publication date
JP7222121B2 (ja) 2023-02-14
JP2022536510A (ja) 2022-08-17
WO2020249726A1 (en) 2020-12-17
US20200391109A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
US11266915B2 (en) Systems and methods for creating, broadcasting, and viewing 3D content
US10717004B2 (en) Method and system for real-time animation generation using machine learning
US20200306637A1 (en) 3d avatar plugin for third-party games
US10478720B2 (en) Dynamic assets for creating game experiences
JP7222121B2 (ja) ストーリー内のオブジェクトの感情適合性を管理する方法およびシステム
US11017605B2 (en) Method and system for addressing and segmenting portions of the real world for visual digital authoring in a mixed reality environment
US11951390B2 (en) Method and system for incremental topological update within a data flow graph in gaming
US11986729B2 (en) Method and system for retargeting a human component of a camera motion
EP4173257A1 (en) Skeletal tracking for real-time virtual effects
US11351460B2 (en) System and method for creating personalized game experiences
JP7189288B2 (ja) リモートデバイス上に大型3dモデルを表示するための方法およびシステム
US11232623B2 (en) Method and system for creating a neural net based lossy renderer
US20220414984A1 (en) Volumetric data processing using a flat file format
US11344812B1 (en) System and method for progressive enhancement of in-app augmented reality advertising
US11863863B2 (en) System and method for frustum context aware digital asset suggestions
US11875088B2 (en) Systems and methods for smart volumetric layouts
US20240176920A1 (en) Systems and methods for smart volumetric layouts
US20240131424A1 (en) Method and system for incremental topological update within a data flow graph in gaming
US20210224691A1 (en) Method and system for generating variable training data for artificial intelligence systems

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