CN116710945A - 利用用户的终身价值选择用于在消息收发系统中呈现的内容 - Google Patents

利用用户的终身价值选择用于在消息收发系统中呈现的内容 Download PDF

Info

Publication number
CN116710945A
CN116710945A CN202180066868.XA CN202180066868A CN116710945A CN 116710945 A CN116710945 A CN 116710945A CN 202180066868 A CN202180066868 A CN 202180066868A CN 116710945 A CN116710945 A CN 116710945A
Authority
CN
China
Prior art keywords
user
users
content generator
content
message
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
CN202180066868.XA
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.)
Snap Inc
Original Assignee
Snap Inc
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 Snap Inc filed Critical Snap Inc
Publication of CN116710945A publication Critical patent/CN116710945A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Operations Research (AREA)

Abstract

主题技术确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率。主题技术预测特定国家的用户的货币化价值。主题技术至少部分地基于货币化价值确定特定国家的用户的终身价值。主题技术至少部分地基于所确定的特定国家的用户的终身价值来选择至少一个增强现实(AR)内容生成器。主题技术使得在客户端设备处显示至少一个AR内容生成器。

Description

利用用户的终身价值选择用于在消息收发系统中呈现的内容
优先权要求
本申请要求2020年9月30日提交的美国临时专利申请第63/085,946号的优先权权益,该美国临时专利申请的全部内容在此出于所有目的通过引用并入本文。
背景技术
随着数字图像使用的增加、便携式计算设备的可负担性、数字存储介质的增加的容量的可用性以及网络连接的增加的带宽和可访问性,数字图像已成为越来越多人日常生活的一部分。
附图的若干个视图的简要描述
为了容易识别对任何特定元件或动作的讨论,附图标记中的一个或更多个最高位数字指代该元件被首次引入时所在的图号。
图1是根据一些示例实施方式的可以部署本公开内容的联网环境的图形表示。
图2是根据一些示例实施方式的消息收发客户端应用的图形表示。
图3是根据一些示例实施方式的如在数据库中维护的数据结构的图形表示。
图4是根据一些示例实施方式的消息的图形表示。
图5是根据一些示例实施方式的访问限制过程的流程图。
图6是示出根据一些实施方式的包括对应于给定消息的附加信息的如图4中所述的消息注释的结构的示意图。
图7是示出根据某些示例实施方式的注释系统的各种模块的框图。
图8示出了根据一些实施方式的全球相机用户的月活跃用户(MAU)和渗透率的示例图表。
图9示出了根据一些实施方式的AR内容生成器的用户的MAU和渗透率的示例图表。
图10示出了根据一些实施方式的样本全时间段模型验证的示例图表。
图11示出了根据一些实施方式的样本保持期(holdout period)模型验证的示例图表。
图12示出了根据一些实施方式的用户界面以及在消息收发客户端应用(或消息收发系统)中呈现由AR内容生成器生成的内容项的示例。
图13示出了根据一些实施方式的用户界面以及在消息收发客户端应用(或消息收发系统)中呈现由AR内容生成器生成的内容项的示例。
图14示出了根据一些实施方式的用户界面以及在消息收发客户端应用(或消息收发系统)中呈现由AR内容生成器生成的内容项的示例。
图15是示出根据某些示例实施方式的方法的流程图。
图16是示出根据某些示例实施方式的方法的流程图。
图17是示出根据一些示例实施方式的其中可以实现本公开内容的软件架构的框图。
图18是根据一些示例实施方式的呈计算机系统形式的机器的图形表示,在该计算机系统中可以执行指令的集合以使机器执行讨论的方法中的任何一种或更多种。
具体实施方式
来自各种位置的兴趣广泛的用户可以捕获各种对象的数字图像,并且使其他人可经由网络(例如因特网)获得所捕获的图像。为了增强用户对数字图像的体验并提供各种特征,从而使得计算设备能够对在各种变化条件(例如,图像尺度、噪声、照明、运动或几何失真的变化)下捕获的各种对象和/或特征执行图像处理操作可能是有挑战性的并且是计算密集的。
如本文所提及的,短语“增强现实体验”、“增强现实内容项”、“增强现实内容生成器”包括或指代与如本文进一步描述的图像修改、过滤、LENSES、媒体叠加、变换等相对应的各种图像处理操作。
图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例消息收发系统100的框图。消息收发系统100包括客户端设备102的多个实例,每个实例托管包括消息收发客户端应用104的多个应用。每个消息收发客户端应用104经由网络106(例如,因特网)通信地耦接至消息收发客户端应用104的其他实例和消息收发服务器系统108。
消息收发客户端应用104能够经由网络106与另一消息收发客户端应用104和消息收发服务器系统108进行通信和交换数据。在消息收发客户端应用104之间以及在消息收发客户端应用104与消息收发服务器系统108之间交换的数据包括函数(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息收发服务器系统108经由网络106向特定消息收发客户端应用104提供服务器侧功能。虽然消息收发系统100的某些功能在本文中被描述为由消息收发客户端应用104或由消息收发服务器系统108执行,但是在消息收发客户端应用104或消息收发服务器系统108内的某些功能的位置是设计选择。例如,在技术上可能优选的是最初在消息收发服务器系统108内部署某些技术和功能,但是后面将该技术和功能迁移至其中客户端设备102具有足够处理能力的消息收发客户端应用104。
消息收发服务器系统108支持被提供给消息收发客户端应用104的各种服务和操作。这样的操作包括向消息收发客户端应用104发送数据、从消息收发客户端应用104接收数据以及对由消息收发客户端应用104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息收发客户端应用104的用户界面(UI)可用的功能来调用和控制消息收发系统100内的数据交换。
现在具体地转至消息收发服务器系统108,应用程序接口(API)服务器110耦接至应用服务器112并且向应用服务器112提供编程接口。应用服务器112通信地耦接至数据库服务器118,这有助于访问其中存储有与由应用服务器112处理的消息相关联的数据的数据库120。
应用程序接口(API)服务器110在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器110提供接口(例如,例程和协议)的集合,所述接口的集合可以由消息收发客户端应用104调用或查询,以调用应用服务器112的功能。应用程序接口(API)服务器110公开由应用服务器112支持的各种功能,包括帐户注册、登录功能、经由应用服务器112从特定消息收发客户端应用104向另一消息收发客户端应用104发送消息、从消息收发客户端应用104向消息收发服务器应用114发送媒体文件(例如,图像或视频)以及用于另一消息收发客户端应用104的可能访问、媒体数据的集合(例如,故事)的设置、客户端设备102的用户的好友列表的检索、这样的集合的检索、消息和内容的检索、向社交图添加和删除好友、社交图内好友的位置以及打开应用事件(例如,涉及消息收发客户端应用104)。
应用服务器112托管多个应用和子系统,包括消息收发服务器应用114、图像处理系统116和社交网络系统122。消息收发服务器应用114实现了若干消息处理技术和功能,特别是与从消息收发客户端应用104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)的聚合和其他处理有关的消息处理技术和功能。如将进一步详细描述的,来自多个来源的文本和媒体内容可以聚合成内容的集合(例如,称为故事或库)。然后,消息收发服务器应用114使得这些集合对消息收发客户端应用104可用。考虑到对数据的其他处理器和存储器密集处理的硬件要求,也可以由消息收发服务器应用114在服务器侧执行这样的处理。
应用服务器112还包括图像处理系统116,图像处理系统116专用于通常关于在消息收发服务器应用114处的消息的有效载荷内接收的图像或视频执行各种图像处理操作。
社交网络系统122支持各种社交联网功能服务,并且使这些功能和服务对消息收发服务器应用114可用。为此,社交网络系统122维护并访问数据库120内的实体图304(如图3所示)。社交网络系统122所支持的功能和服务的示例包括识别特定用户与之有关系或特定用户所“关注”的消息收发系统100的其他用户,以及还识别特定用户的兴趣以及其他实体。
应用服务器112通信地耦接至数据库服务器118,这便于访问数据库120,在数据库120中存储有与由消息收发服务器应用114处理的消息相关联的数据。
图2是示出根据示例实施方式的关于消息收发系统100的其他细节的框图。具体地,消息收发系统100被示出为包括消息收发客户端应用104和应用服务器112,它们又包含多个一些子系统,即短暂定时器系统202、集合管理系统204和注释系统206。
短暂定时器系统202负责实施对由消息收发客户端应用104和消息收发服务器应用114允许的内容的临时访问。为此,短暂定时器系统202结合了多个定时器,这些定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,选择性地显示消息和相关联的内容以及使得能够经由消息收发客户端应用104访问消息和相关联的内容。下面提供关于短暂定时器系统202的操作的其他细节。
集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据的集合)。在一些示例中,内容(例如,包括图像、视频、文本和音频的消息)的集合可以被组织成“事件画廊”或“事件故事”。可以使这样的集合在指定时间段例如内容所涉及的事件的持续时间内可用。例如,可以在音乐会的持续时间内使与音乐会有关的内容作为“故事”可用。集合管理系统204还可以负责向消息收发客户端应用104的用户界面发布提供存在特定集合的通知的图标。
此外,集合管理系统204还包括策展接口208,策展接口208使得集合管理器能够管理和策展特定内容集合。例如,策展接口208使得事件组织者能够策展与特定事件相关的内容集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。在某些实施方式中,可以向用户支付补偿以将用户生成的内容包括到集合中。在这样的情况下,策展接口208进行操作以自动向这样的用户支付费用以使用其内容。
注释系统206提供使得用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与生成和发布用于由消息收发系统100处理的消息的媒体叠加有关的功能。注释系统206基于客户端设备102的地理位置可操作地向消息收发客户端应用104供应媒体叠加或补充(例如,图像过滤)。在另一示例中,注释系统206基于其他信息(例如客户端设备102的用户的社交网络信息)可操作地向消息收发客户端应用104供应媒体叠加。媒体叠加可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体叠加可以包括可以叠加在由客户端设备102拍摄的照片之上的文本。在另一示例中,媒体叠加包括位置标识(例如,威尼斯海滩)叠加、实况事件的名称或商家名称(例如,海滩咖啡馆)叠加。在另一示例中,注释系统206使用客户端设备102的地理位置来标识包括在客户端设备102的地理位置处的商家名称的媒体叠加。媒体叠加可以包括与商家相关联的其他标志。媒体叠加可以存储在数据库120中并通过数据库服务器118访问。
在一个示例实施方式中,注释系统206提供基于用户的发布平台,该发布平台使得用户能够选择地图上的地理位置,并且上载与选择的地理位置相关联的内容。用户还可以指定应当向其他用户提供特定媒体叠加的环境。注释系统206生成包括所上传的内容的媒体叠加并且将所上传的内容与所选择的地理位置相关联。
在另一示例实施方式中,注释系统206提供基于商家的发布平台,该基于商家的发布平台使得商家能够通过出价过程选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定义时间量内将最高出价商家的媒体叠加与对应的地理位置相关联。
图3是示出根据某些示例实施方式的可以存储在消息收发服务器系统108的数据库120中的数据结构300的示意图。虽然数据库120的内容被示出为包括多个表,但是应当理解,数据可以存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
数据库120包括存储在消息表314内的消息数据。实体表302存储实体数据,包括实体图304。在实体表302内维护记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,关于消息收发服务器系统108存储数据的任何实体都可以是被识别的实体。每个实体设置有唯一标识符以及实体类型标识符(未示出)。
实体图304还存储关于实体之间的关系和关联的信息。仅作为示例,这样的关系可以是基于感兴趣的或基于活动的社交关系、专业关系(例如,在共同的公司或组织工作)。
数据库120还以过滤器的示例形式将注释数据存储在注释表312中。在注释表312内存储数据的过滤器与视频(其数据存储在视频表310中)和/或图像(其数据存储在图像表308中)相关联并且应用于视频和/或图像。在一个示例中,过滤器是在呈现给接收用户期间显示为叠加在图像或视频上的叠加。过滤器可以是各种类型,包括当发送用户正在编写消息时由消息收发客户端应用104向发送用户呈现的来自过滤器的库中的用户选择的过滤器。其他类型的过滤器包括地理位置过滤器(也称为地理过滤器),其可以基于地理位置被呈现给发送用户。例如,基于由客户端设备102的GPS单元确定的地理位置信息,消息收发客户端应用104可以在用户界面内呈现特定于邻域或特定位置的地理位置过滤器。另一类型的过滤器是数据过滤器,其可以由消息收发客户端应用104基于在消息创建过程期间由客户端设备102收集的其他输入或信息来选择性地呈现给发送用户。数据过滤器的示例包括特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以存储在图像表308内的其他注释数据是增强现实内容生成器(例如,对应于应用LENSES、增强现实体验或增强现实内容项)。增强现实内容生成器可以是可以添加至图像或视频的实时特殊效果和声音。
如上所述,增强现实内容生成器、增强现实内容项、叠加、图像变换、AR图像和类似术语是指可以对视频或图像进行的修改。这包括实时修改,实时修改在使用设备传感器捕获图像时修改该图像,并且然后将具有修改的图像显示在设备的屏幕上。这还包括对所存储的内容的修改,例如可以被修改的库中的视频剪辑。例如,在访问多个增强现实内容生成器的设备中,用户可以将单个视频剪辑与多个增强现实内容生成器一起使用来查看不同的增强现实内容生成器将如何修改所存储的剪辑。例如,通过针对内容选择不同的增强现实内容生成器,可以将应用不同伪随机运动模型的多个增强现实内容生成器应用于同一内容。类似地,实时视频捕获可以与示出的修改一起使用,以显示当前由设备的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改(或两者)的情况下被记录并存储在存储器中。在一些系统中,预览特征可以示出不同的增强现实内容生成器同时在显示器中的不同窗口内看起来如何。例如,这可以使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
因此,数据以及使用增强现实内容生成器或其他这样的变换系统来使用该数据修改内容的各种系统可以涉及:对象(例如,面部、手、身体、猫、狗、表面、对象等)的检测;当这样的对象离开、进入视频帧中的视场以及在视场周围移动时对其进行跟踪;以及当跟踪这样的对象时对其进行修改或变换。在各种实施方式中,可以使用用于实现这样的变换的不同方法。例如,一些实施方式可能涉及生成一个或更多个对象的三维网格模型,并使用视频中模型的变换和动画纹理来实现变换。在其他实施方式中,对象上的点的跟踪可以用于将图像或纹理(其可以是二维或三维的)放置在所跟踪的定位处。在又一实施方式中,视频帧的神经网络分析可以用于将图像、模型或纹理放置在内容(例如,视频的图像或帧)中。因此,增强现实内容生成器既涉及用于创建内容中的变换的图像、模型和纹理,又涉及实现利用对象检测、跟踪和放置的这样的变换所需的附加建模和分析信息。
可以利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。另外,可以使用计算机动画模型来处理任何对象,例如人的面部和人体的部分、动物、或非生命物体(例如椅子、汽车或其他对象)。
在一些实施方式中,当与要变换的内容一起选择特定的修改时,由计算设备识别要变换的元素,并且然后在要变换的元素存在于视频的帧中的情况下对要变换的元素进行检测和跟踪。根据修改请求修改对象的元素,因此变换视频流的帧。可以通过用于不同种类的变换的不同方法来执行视频流的帧的变换。例如,对于主要涉及改变对象元素的形式的帧的变换,计算针对对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每一个生成基于特征点的网格。该网格用于跟踪视频流中的对象元素的后续阶段。在跟踪过程中,所提及的每个元素的网格与每个元素的定位对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改的请求针对每个元素生成第二点的集合。然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元素,对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来使经修改的对象的背景改变或变形。
在一个或更多个实施方式中,可以通过计算对象的每个元素的特征点并基于所计算的特征点生成网格,来执行使用对象的元素的改变对象的一些区域的变换。在网格上生成点,并且然后生成基于点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每一个的定位对准来跟踪对象的元素,并且可以基于修改的请求来修改区域的属性,从而变换视频流的帧。根据具体的修改请求,所提及的区域的属性可以以不同的方式进行变换。这样的修改可以涉及改变区域的颜色;从视频流的帧中去除区域的至少一些部分;将一个或更多个新对象包括到基于针对修改的请求的区域中;以及修改区域或对象的元素或者使区域或对象的元素变形。在各种实施方式中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为控制点,以用于确定用于模型动画的选项的整个状态空间。
在使用面部检测来变换图像数据的计算机动画模型的一些实施方式中,使用特定的面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
在其他实施方式中,可以使用其他适合面部检测的方法和算法。例如,在一些实施方式中,使用界标来定位特征,该界标表示存在于所考虑的大多数图像中的可区分点。例如,对于面部界标,可以使用左眼瞳孔的定位。在初始界标不可识别的情况下(例如,如果人具有眼罩),可以使用次级界标。这样的界标识别过程可以用于任何这样的对象。在一些实施方式中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为矢量。一个形状利用相似性变换(允许平移、缩放和旋转)与另一个形状对准,该相似性变换使形状点之间的平均欧几里德距离最小化。平均形状是对准的训练形状的均值。
在一些实施方式中,开始从与由全局面部检测器确定的面部的位置和尺寸对准的平均形状中搜索界标。然后,这样的搜索重复以下操作的步骤:通过每个点周围的图像纹理的模板匹配来调整形状点的定位来建议暂定形状,并且然后使暂定形状符合全局形状模型,直至发生收敛。在一些系统中,单个模板匹配是不可靠的,并且形状模型将弱模板匹配器的结果集中在一起,形成更强的整体分类器。整个搜索在从粗分辨率到细分辨率的图像金字塔的每个级别上重复。
变换系统的实施方式可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情绪转移(例如,将面部从皱眉改变为微笑)、状态转移(例如,使被摄体变老、减小表观年龄、改变性别)、风格转移、图形元素应用,以及由已经被配置成在客户端设备102上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例实施方式中,用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍),该神经网络操作为在客户端设备102上操作的消息收发客户端应用104的一部分。在消息收发客户端应用104内操作的变换系统确定图像或视频流内的面部的存在,并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以与本文中描述的接口相关联地存在。修改图标包括可以作为用于作为修改操作的一部分的修改图像或视频流中的用户面部的基础的改变。一旦选择了修改图标,变换系统就启动用于转换用户的图像的处理以反映所选择的修改图标(例如,对用户生成笑脸)。在一些实施方式中,一旦捕获了图像或视频流并且选择了指定的修改,就可以在移动客户端设备上显示的图形用户界面中呈现修改后的图像或视频流。变换系统可以对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改。也就是说,一旦选择了修改图标,用户可以捕获图像或视频流,并且实时或接近实时地被呈现修改的结果。此外,当视频流被捕获并且所选修改图标保持打开时,修改可以是持续的。机器教导的神经网络可以用于实现这样的修改。
在一些实施方式中,呈现由变换系统执行的修改的图形用户界面可以为用户供应附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的内容捕获和选择的接口(例如,从内容创建者用户接口发起)。在各种实施方式中,修改可以在修改图标的初始选择之后持续。用户可以通过敲击或以其他方式选择由变换系统修改的面部来打开或关闭修改,并将其存储以供以后查看或浏览到成像应用的其他区域。在由变换系统修改多个面部的情况下,用户可以通过敲击或选择在图形用户界面内修改和显示的单个面部来全局打开或关闭修改。在一些实施方式中,可以通过敲击或选择图形用户界面内显示的单独面部或一系列单独面部来单独修改一组多个面部当中的各个面部,或者单独打开这样的修改。
在一些示例实施方式中,提供了图形处理流水线架构,其使得能够在对应的不同层中应用不同的增强现实体验(例如,AR内容生成器)。这样的图形处理流水线提供了可扩展渲染引擎,所述可扩展渲染引擎用于提供复合媒体(例如,图像或视频)中包括的多个增强现实体验以由消息收发客户端应用104(或消息收发系统100)呈现。
如以上所提及的,视频表310存储视频数据,在一个实施方式中,视频数据与其记录被维护在消息表314中的消息相关联。类似地,图像表308存储与存储在实体表302中的消息数据所关于的消息相关联的图像数据。实体表302可以将来自注释表312的各种注释与存储在图像表308和视频表310中的各种图像和视频相关联。
故事表306存储关于消息和相关联的图像、视频或音频数据的集合的数据,这些数据被编译成集合(例如,故事或库)。特定集合的创建可以由特定用户(例如,在实体表302中维持其记录的每个用户)发起。用户可以创建以已经由该用户创建和发送/广播的内容集合的形式的“个人故事”。为此,消息收发客户端应用104的用户界面可以包括用户可选择以使得发送用户能够将特定内容添加至他或她的个人故事的图标。
集合还可以构成“实况故事”,“实况故事”是被手动地、自动地或使用手动和自动技术的组合来创建的来自多个用户的内容的集合。例如,“实况故事”可以构成来自不同位置和事件的用户提交的内容的策展流。其客户端设备具有启用的位置服务并且在特定时间处于共同位置事件的用户可以例如经由消息收发客户端应用104的用户界面被呈现有选项以向特定实况故事贡献内容。可以由消息收发客户端应用104基于用户的位置向用户标识实况故事。最终结果是从社群角度讲述的“实况故事”。
另一类型的内容集合被称为“位置故事”,“位置故事”使得其客户端设备102位于特定地理位置(例如,在大学或大学校园)内的用户能够对特定集合做出贡献。在一些实施方式中,对位置故事的贡献可能需要第二程度的认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
图4是示出根据一些实施方式的消息400的结构的示意图,消息400由消息收发客户端应用104生成以传送至另一消息收发客户端应用104或消息收发服务器应用114。特定消息400的内容用于填入存储在数据库120中的消息表314,其可由消息收发服务器应用114访问。类似地,消息400的内容作为客户端设备102或应用服务器112的“在途”或“飞行中”数据存储在存储器中。消息400被示出为包括以下部件:
消息标识符402:标识消息400的唯一标识符。
消息文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在消息400中的文本。
消息图像有效载荷406:由客户端设备102的摄像装置部件捕获到或从客户端设备102的存储器部件检索到并且包括在消息400中的图像数据。
消息视频有效载荷408:由摄像装置部件捕获到或从客户端设备102的存储器部件检索到并且包括在消息400中的视频数据。
消息音频有效载荷410:由麦克风捕获到或从客户端设备102的存储器部件检索到并且包括在消息400中的音频数据。
消息注释412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的注释的注释数据(例如,过滤器、贴纸或其他增强)。
消息持续时间参数414:以秒为单位指示消息的内容(例如,消息图像有效载荷406、消息视频有效载荷408、消息音频有效载荷410)将经由消息收发客户端应用104被呈现给用户或使得用户可访问的时间量的参数值。
消息地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度和经度坐标)。多个消息地理位置参数值416可以被包括在有效载荷中,这些参数值中的每一个与关于内容中包括的内容项(例如,消息图像有效载荷406内的特定图像或消息视频有效载荷408中的特定视频)相关联。
消息故事标识符418:标识与消息400的消息图像有效载荷406中的特定内容项相关联的一个或更多个内容集合(例如“故事”)的标识符值。例如,消息图像有效载荷406内的多个图像可以各自与使用标识符值的多个内容集合相关联。
消息标签420:每个消息400可以用多个标签来标记,多个标签中的每个标签指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷406中包括的特定图像描绘动物(例如,狮子)的情况下,标签值可以被包括在指示相关动物的消息标签420内。标签值可以基于用户输入手动生成,或者可以使用例如图像识别自动生成。
消息发送方标识符422:指示在其上生成消息400并且从其发送消息400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
消息接收方标识符424:指示消息400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)
消息400的各个组成部分的内容(例如,值)可以是指向在其内存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表308内的位置(或地址)的指针。类似地,消息视频有效载荷408内的值可以指向存储在视频表310内的数据,存储在消息注释412中的值可以指向存储在注释表312中的数据,存储在消息故事标识符418中的值可以指向存储在故事表306中的数据,并且存储在消息发送方标识符422和消息接收方标识符424中的值可以指向存储在实体表302内的用户记录。
图5是示出访问限制过程500的示意图,根据该访问限制过程,对内容(例如,短暂消息502和相关联的数据的多媒体有效载荷)或内容集合(例如,短暂消息组504)的访问可以是时间受限的(例如,短暂的)。
短暂消息502被示为与消息持续时间参数506相关联,消息持续时间参数506的值确定消息收发客户端应用104将向短暂消息502的接收用户显示短暂消息502的时间量。在一个实施方式中,取决于发送用户使用消息持续时间参数506指定的时间量,接收用户可查看短暂消息502上至最多10秒。
消息持续时间参数506和消息接收方标识符424被示出为消息定时器512的输入,消息定时器512负责确定向由消息接收方标识符424标识的特定接收用户示出短暂消息502的时间量。特别地,仅在由消息持续时间参数506的值确定的时间段内向相关接收用户示出短暂消息502。消息定时器512被示出为向更一般化的短暂定时器系统202提供输出,该短暂定时器系统202负责向接收用户显示内容(例如,短暂消息502)的总体定时。
短暂消息502在图5中被示出为被包括在短暂消息组504(例如,个人故事或事件故事中的消息的集合)内。短暂消息组504具有相关联的组持续时间参数508,组持续时间参数508的值确定短暂消息组504被呈现并可由消息收发系统100的用户访问的持续时间。例如,组持续时间参数508可以是音乐会的持续时间,其中,短暂消息组504是属于该音乐会的内容的集合。替选地,当执行短暂消息组504的设置和创建时,用户(拥有用户或策展者用户)可以指定组持续时间参数508的值。
另外,短暂消息组504内的每个短暂消息502具有相关联的组参与参数510,组参与参数510的值确定在短暂消息组504的上下文内可访问短暂消息502的持续时间。因此,在短暂消息组504本身根据组持续时间参数508到期之前,特定的短暂消息组504可以“到期”并且在短暂消息组504的上下文中变得不可访问。组持续时间参数508、组参与参数510和消息接收方标识符424各自向组定时器514提供输入,组定时器514可操作地首先确定短暂消息组504的特定短暂消息502是否将被显示给特定接收用户,并且如果是,则确定显示多长时间。注意,作为消息接收方标识符424的结果,短暂消息组504也知道特定接收用户的身份。
因此,组定时器514可操作地控制相关联的短暂消息组504以及包括在短暂消息组504中的单独的短暂消息502的总使用期限。在一个实施方式中,短暂消息组504内的每个短暂消息502在由组持续时间参数508指定的时间段内保持可查看和可访问。在另一实施方式中,在短暂消息组504的上下文内,某个短暂消息502可以基于组参与参数510而到期。注意,即使在短暂消息组504的上下文内,消息持续时间参数506也仍然可以确定向接收用户显示特定短暂消息502的持续时间。因此,消息持续时间参数506确定向接收用户显示特定短暂消息502的持续时间,而不管接收用户是在短暂消息组504的上下文之内还是之外查看该短暂消息502。
短暂定时器系统202还可以基于确定已经超过相关联的组参与参数510而从短暂消息组504中可操作地移除特定的短暂消息502。例如,当发送用户已经建立了从发布起24小时的组参与参数510时,短暂定时器系统202将在指定的24小时之后从短暂消息组504中移除相关的短暂消息502。当针对短暂消息组504内的每个短暂消息502的组参与参数510已经到期时,或者当短暂消息组504本身根据组持续时间参数508已经到期时,短暂定时器系统202还进行操作以移除短暂消息组504。
在某些使用情况下,特定短暂消息组504的创建者可以指定无期限的组持续时间参数508。在这种情况下,针对短暂消息组504内最后剩余的短暂消息502的组参与参数510的到期将确定短暂消息组504本身何时到期。在这种情况下,添加至短暂消息组504的具有新的组参与参数510的新的短暂消息502有效地将短暂消息组504的寿命延长到等于组参与参数510的值。
响应于短暂定时器系统202确定短暂消息组504已经到期(例如,不再是可访问的),短暂定时器系统202与消息收发系统100(并且例如特别是消息收发客户端应用104)通信,以使得与相关短暂消息组504相关联的标志(indicium)(例如,图标)不再显示在消息收发客户端应用104的用户界面内。类似地,当短暂定时器系统202确定针对特定短暂消息502的消息持续时间参数506已经到期时,短暂定时器系统202使消息收发客户端应用104不再显示与短暂消息502相关联的标志(例如,图标或文本标识)。
如上所述,媒体叠加诸如LENSES、叠加、图像变换、AR图像和类似术语是指可以对视频或图像进行的修改。这包括实时修改,实时修改在使用设备传感器捕获图像时修改该图像,并且然后将具有修改的图像显示在设备的屏幕上。这还包括对所存储的内容、例如库中可以被修改的视频剪辑的修改。例如,在访问多个媒体叠加(例如,LENSES)的设备中,用户可以使用具有多个LENSES的单个视频剪辑来查看不同的LENSES将如何修改所存储的剪辑。例如,通过为同一内容选择不同的LENSES,可以将应用不同伪随机运动模型的多个LENSES应用于同一内容。类似地,实时视频捕获可以与示出的修改一起使用,以显示当前由设备的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改(或两者)的情况下被记录并存储在存储器中。在一些系统中,预览功能可以同时在显示器的不同窗口中示出不同LENSES看起来如何。例如,这可以使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
数据和使用LENSES或其他这样的变换系统来使用该数据来修改内容的的各种系统因此可以涉及:对象(例如,面部、手、身体、猫、狗、表面、对象等)的检测;在这样的对象离开视频帧中的视场、进入视频帧中的视场以及在视频帧中的视场四处移动时对这样的对象的跟踪;以及在这样的对象被跟踪时对这样的对象的修改或变换。在各种实施方式中,可以使用用于实现这样的变换的不同方法。例如,一些实施方式可能涉及生成一个或更多个对象的三维网格模型,并使用视频中模型的变换和动画纹理来实现变换。在其他实施方式中,对象上的点的跟踪可以用于将图像或纹理(其可以是二维或三维的)放置在所跟踪的定位处。在更进一步的实施方式中,可以使用视频帧的神经网络分析来将图像、模型或纹理放置在内容(例如,图像或视频帧)中。因此,镜头(lens)数据既涉及用于创建内容变换的图像、模型和纹理,也涉及通过对象检测、跟踪和放置实现这样的变换所需的附加建模和分析信息。
可以利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。此外,可以使用计算机动画模型来处理任何对象,例如人的面部和人身体的各部分、动物或非生物,例如椅子、汽车或其他对象。
在一些实施方式中,当与要变换的内容一起选择特定的修改时,由计算设备识别要变换的元素,并且然后在要变换的元素存在于视频的帧中的情况下对要变换的元素进行检测和跟踪。根据修改请求修改对象的元素,因此变换视频流的帧。可以通过用于不同种类的变换的不同方法来执行视频流的帧的变换。例如,对于主要涉及改变对象元素形式的帧变换,计算对象的元素中的每一个的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每一个生成基于特征点的网格。该网格用于跟踪视频流中的对象元素的后续阶段。在跟踪过程中,所提及的每个元素的网格与每个元素的定位对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改的请求针对每个元素生成第二点的集合。然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元素,对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来使经修改的对象的背景改变或变形。
在一个或更多个实施方式中,可以通过计算对象的每个元素的特征点并基于所计算的特征点生成网格,来执行使用对象的元素的改变对象的一些区域的变换。在网格上生成点,并且然后生成基于点的各种区域。然后,通过将每个元素的区域与至少一个元素中的每一个的定位对准来跟踪对象的元素,并且可以基于修改的请求来修改区域的属性,从而变换视频流的帧。根据具体的修改请求,所提及的区域的属性可以以不同的方式进行变换。这样的修改可能涉及:改变区域的颜色;从视频流的帧中去除区域的至少一些部分;将一个或更多个新对象包括在基于修改请求的区域中;以及修改区域或对象的元素或使区域或对象的元素变形。在各种实施方式中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为控制点,以用于确定用于模型动画的选项的整个状态空间。
在使用面部检测来变换图像数据的计算机动画模型的一些实施方式中,使用特定的面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
在其他实施方式中,可以使用其他适合面部检测的方法和算法。例如,在一些实施方式中,使用界标来定位特征,该界标表示存在于所考虑的大多数图像中的可区分点。例如,对于面部界标,可以使用左眼瞳孔的位置。在初始界标不可识别的情况下(例如,如果人有眼罩),可以使用次级界标。这样的界标识别过程可以用于任何这样的对象。在一些实施方式中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为矢量。一个形状利用相似性变换(允许平移、缩放和旋转)与另一个形状对准,该相似性变换使形状点之间的平均欧几里德距离最小化。平均形状是对准的训练形状的均值。
在一些实施方式中,开始从与由全局面部检测器确定的面部的位置和尺寸对准的平均形状中搜索界标。然后,这样的搜索重复以下操作的步骤:通过每个点周围的图像纹理的模板匹配来调整形状点的定位来建议暂定形状,并且然后使暂定形状符合全局形状模型,直至发生收敛。在一些系统中,单个模板匹配是不可靠的,并且形状模型将弱模板匹配器的结果集中在一起,形成更强的整体分类器。整个搜索在从粗分辨率到细分辨率的图像金字塔的每个级别上重复。
变换系统的实施方式可以在客户端设备上捕获图像或视频流,并在客户端设备例如客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情绪迁移(例如,将面部从皱眉改变为微笑)、状态迁移(例如,使被摄体变老、减小表观年龄、改变性别)、风格迁移、图形元素应用、以及由已经被配置成在客户端设备上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例实施方式中,用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍),该神经网络操作为在客户端设备102上操作的消息收发客户端应用104的一部分。在消息收发客户端应用104内操作的变换系统确定图像或视频流内的面部的存在,并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以与本文中描述的接口相关联地存在。修改图标包括可以作为用于作为修改操作的一部分的修改图像或视频流中的用户面部的基础的改变。一旦选择了修改图标,变换系统就启动用于转换用户的图像的处理以反映所选择的修改图标(例如,对用户生成笑脸)。在一些实施方式中,一旦捕获了图像或视频流并且选择了指定的修改,就可以在移动客户端设备上显示的图形用户界面中呈现修改后的图像或视频流。变换系统可以对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改。也就是说,一旦选择了修改图标,用户可以捕获图像或视频流,并且实时或接近实时地被呈现修改的结果。此外,当视频流被捕获并且所选修改图标保持打开时,修改可以是持续的。机器教导的神经网络可以用于实现这样的修改。
在一些实施方式中,呈现由变换系统执行的修改的图形用户界面可以为用户供应附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的内容捕获和选择的接口(例如,来自内容创建者用户接口的发起)。在各种实施方式中,修改可以在修改图标的初始选择之后持续。用户可以通过轻击或以其他方式选择由变换系统修改的面部来打开或关闭修改,并将其存储以供以后查看或浏览到成像应用的其他区域。在由变换系统修改多个面部的情况下,用户可以通过敲击或选择在图形用户界面内修改和显示的单个面部来全局打开或关闭修改。在一些实施方式中,可以通过敲击或选择图形用户界面内显示的单独面部或一系列单独面部来单独修改一组多个面部当中的各个面部,或者单独打开这样的修改。
在一些示例实施方式中,提供了图形处理流水线架构,其使得能够在对应的不同层中应用不同的媒体叠加。这样的图形处理流水线提供了可扩展渲染引擎,所述可扩展渲染引擎用于提供复合媒体(例如,图像或视频)中包括的多个增强现实内容生成器以由消息收发客户端应用104(或消息收发系统100)呈现。
如本文所讨论的,本主题基础结构支持在消息收发系统100的各个部件中创建和共享具有交互效果的交互消息。在示例中,为了提供这样的交互效果,给定的交互消息可以包括图像数据以及2D数据或3D数据。如本文所述的基础设施使得能够跨主题系统提供其他形式的3D且交互式的媒体(例如,2D媒体内容),这允许跨消息收发系统100以及与照片和视频消息一起共享这样的交互式媒体。在本文描述的示例实施方式中,消息可以从实时摄像装置或经由存储装置(例如,具有2D或3D内容或增强现实(AR)效果(例如,3D效果或者其他交互效果)的消息被存储在内存器或数据库中)进入系统。在具有3D数据的交互消息的示例中,主题系统会支持运动传感器输入,并且管理3D数据的发送和存储、以及外部效果和资产数据的加载。
如上所述,交互消息包括结合2D效果或3D效果和深度数据的图像。在示例实施方式中,除了常规的图像纹理之外,还使用本主题系统来渲染消息以使摄像装置所看到的空间细节/几何形状可视化。当观看者通过使客户端设备移动与该消息交互时,该运动触发被渲染的图像和几何形状的观看者视角的相应改变。
在实施方式中,主题系统提供以下AR效果(其可以包括使用3D数据的3D效果或者不使用3D数据的交互式2D效果):其与系统的其他部件一起工作以提供可以占据消息中的不同3D平面的3D几何形状、粒子、着色器和2D资产。在示例中,本文描述的AR效果以实时方式渲染给用户。
如本文所提及的,基于陀螺仪的交互指的是其中给定客户端设备的旋转被用作输入以改变效果的方面(例如,沿x轴旋转电话以便改变场景中的光的颜色)的交互类型。
如本文所提及的,增强现实内容生成器指的是可以添加至消息的实时特殊效果和/或声音,并且利用AR效果和/或其他3D内容(例如3D动画图形元素)、3D对象(例如,非动画)等来修改图像和/或3D数据。
以下讨论涉及根据一些实施方式的结合这样的消息存储的示例数据。
图6是示出根据一些实施方式的由消息收发客户端应用104生成的包括对应于给定消息的附加信息的如上面在图4中所描述的消息注释412的结构的示意图。
在实施方式中,如图3所示的包括图6所示的附加数据的特定消息400的内容被用于填入存储在数据库120内的用于给定消息的消息表314,该数据库120然后可由消息收发客户端应用104访问。如图6所示,消息注释412包括对应于各种数据的以下部件:
○增强现实(AR)内容标识符652:消息中使用的AR内容生成器的标识符
○消息标识符654:消息的标识符
○资产标识符656:消息中资产的标识符的集合。例如,可以针对由特定AR内容生成器确定的资产包括相应的资产标识符。在实施方式中,这样的资产由发送方侧客户端设备的AR内容生成器创建,上传到消息收发服务器应用114,并且在接收方侧客户端设备上使用,以便重新创建消息。典型资产的示例包括:
■由摄像装置捕获的原始静态RGB图像
■具有应用于原始图像的AR内容生成器效果的后处理图像
○增强现实(AR)内容元数据658:与对应于AR标识符652的AR内容生成器相关联的附加元数据,例如:
○AR内容生成器类别:对应于特定AR内容生成器的类型或分类
○AR内容生成器传送带索引
○传送带组:当符合条件的捕获后AR内容生成器被插入传送带界面时,可以填入并使用该传送带组。在实现方式中,可以将新值“AR_DEFAULT_GROUP”(例如,分配给特定AR内容生成器的默认组)添加至有效组名称列表中,并且可以在该组包括其他选择的AR内容生成器。
○对应于附加元数据的捕获元数据660,例如:
○摄像装置图像元数据
■摄像装置内部数据
·焦距
·主点
■其他摄像装置信息(例如,摄像装置定位)
○传感器信息
■陀螺仪传感器数据
■定位传感器数据
■加速计传感器数据
■其他传感器数据
■位置传感器数据
图7是示出根据某些示例实施方式的注释系统206的各种模块的框图700。注释系统206被示出为包括图像数据数据接收模块702、传感器数据接收模块704、图像数据处理模块706、增强现实(AR)效果模块708、渲染模块710和共享模块712。注释系统206的各个模块被配置成(例如,经由总线、共享存储器或交换机)彼此通信。这些模块中的任何一个或更多个模块可以使用一个或更多个计算机处理器720来实现(例如,通过将这样的一个或更多个计算机处理器配置成执行针对该模块描述的功能),并且因此可以包括计算机处理器720中的一个或更多个(例如,由客户端设备102提供的处理器的集合)。
所描述的模块中的任何一个或更多个模块可以单独使用硬件来实现(例如,机器(例如,机器1800)的计算机处理器720中的一个或更多个)或者硬件和软件的组合来实现。例如,注释系统206的任何所描述的模块可以物理地包括被配置成执行本文针对该模块所描述的操作的一个或更多个计算机处理器720(例如,机器(例如,机器1800)的一个或更多个计算机处理器的子集或其中的一个或更多个计算机处理器)的布置。作为另一示例,注释系统206的任何模块可以包括软件、硬件或软件和硬件两者,其将(例如,在机器(例如,机器1800)的一个或更多个计算机处理器中的)一个或更多个计算机处理器720的布置配置成执行本文针对该模块描述的操作。因此,注释系统206的不同模块可以包括并配置这样的计算机处理器720的不同布置或这样的计算机处理器720在不同时间点处的单个布置。此外,注释系统206的任何两个或更多个模块可以被组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或设备中实现的模块可以跨多个机器、数据库或设备分布。
图像数据接收模块702接收由客户端设备102捕获的图像数据和深度数据。例如,图像是由客户端设备102的光学传感器(例如摄像装置)捕获的照片。图像包括一个或更多个真实世界特征,例如在图像中检测到的用户的面部或真实世界对象。在一些实施方式中,图像包括描述该图像的元数据。
传感器数据接收模块704从客户端设备102接收传感器数据。传感器数据是由客户端设备102的传感器捕获的任何类型的数据。在示例中,传感器数据可以包括由陀螺仪收集的客户端设备102的运动、来自触摸传感器(例如,触摸屏幕)的触摸输入或姿势输入、GPS或描述客户端设备102的当前地理位置和/或运动的客户端设备102的另一传感器。作为另一示例,传感器数据可以包括指示如由客户端设备102的传感器检测到的当前温度的温度数据。作为另一示例,传感器数据可以包括指示客户端设备102处于暗环境还是亮环境的光传感器数据。
图像数据处理模块706对接收到的图像数据执行操作。例如,由图像数据处理模块706执行各种图像处理操作,这将在本文中进一步讨论。
AR效果模块708基于与动画和/或向所接收的图像数据提供视觉和/或听觉效果相对应的算法或技术来执行各种操作,这将在本文中进一步描述。在一个实施方式中,给定的增强现实内容生成器可以利用AR效果模块708来执行用于渲染AR效果(例如,包括2D效果或3D效果)等的操作。
渲染模块710基于由之前提及的模块中的至少之一提供的数据来执行消息的渲染以由消息收发客户端应用104显示。在示例中,渲染模块710利用图形处理流水线来执行图形操作以渲染消息以供显示。在示例中,渲染模块710实现可扩展的渲染引擎,该渲染引擎支持与各个增强现实内容生成器对应的多个图像处理操作。
在一些实现方式中,渲染模块710提供将二维(2D)对象或来自三维(3D)世界(真实或虚构)的对象渲染到2D显示屏上的图形系统。在一些实现方式中,这样的图形系统(例如,包括在客户端设备102上的图形系统)包括图形处理单元(GPU),用于执行图像处理操作和渲染图形元素以进行显示。
在实现方式中,GPU包括逻辑图形处理流水线,逻辑图形处理流水线可以接收2D或3D场景的表示且提供表示2D图像的位图的输出以进行显示。现有的应用程序接口(API)已经实现了图形流水线模型。这样的API的示例包括开放图形库(OPENGL)API和METAL API。图形处理流水线包括将一组顶点、纹理、缓冲器和状态信息转换成画面上的图像帧的若干阶段。在实现方式中,图形处理流水线的阶段之一是着色器,着色器可以用作应用于输入帧(例如,图像或视频)的特定增强现实内容生成器的一部分。着色器可以实施为在通常执行若干计算线程的专用处理单元(也称为着色器单元或着色器处理器)上运行的代码,代码被编程以对正在被渲染的片段生成适当等级的颜色和/或特殊效果。例如,顶点着色器处理顶点的特质(定位、纹理坐标、颜色等),并且像素着色器处理像素的特质(纹理值、颜色、z深度和阿尔法(α)值)。在一些实例中,像素着色器称为片段着色器。
应当理解,可以提供其他类型的着色器处理。在示例中,在图形处理流水线内利用特定采样速率来渲染整个帧,并且/或者以特定每像素速率执行像素着色。以这种方式,给定电子设备(例如,客户端设备102)操作图形处理流水线以将与对象对应的信息变换成可以由电子设备显示的位图。
共享模块712生成用于存储和/或发送至消息收发服务器系统108的消息。共享模块712使得能够向消息收发服务器系统108的其他用户和/或客户端设备共享消息。
在实施方式中,增强现实内容生成器模块714使得可选图形项的显示以传送带式布置呈现。作为示例,用户可以利用各种输入来以与提供图形项的循环视图的传送带对应的方式将可选图形项旋转到显示屏幕上以及旋转离开显示屏幕。传送带布置允许多个图形项占据显示屏上的特定图形区域。在示例中,增强现实内容生成器可以被组织成相应的组以包括在传送带布置上,从而使得能够按组旋转通过增强现实内容生成器。
在本文描述的实施方式中,通过使用深度数据和图像数据,可以执行将Z轴维度(例如,深度维度)添加到常规2D照片(例如,X轴和Y轴维度)的3D面部和场景重构。该格式使得观看者能够与消息交互,改变由本主题系统渲染消息的角度/视角,并且影响在渲染消息中使用的粒子和着色器。
在示例中,观看者交互输入来自在观看消息时的运动(例如,来自向观看者显示消息的设备的运动传感器),该运动又被转化成内容、粒子和着色器如何被渲染的视角的改变。交互还可以来自屏幕上触摸姿势和其他设备运动。
在这样的用户界面的实施方式中,可以以传送带布置来呈现可选图形项,在传送带布置中,可选图形项的一部分或子集在给定计算设备(例如,客户端设备102)的显示屏幕上可见。作为示例,用户可以利用各种输入来以与提供图形项的循环视图的传送带对应的方式将可选图形项旋转到显示屏幕上以及旋转离开显示屏幕。因此,在用户界面中提供的传送带布置允许多个图形项占据显示屏幕上的特定图形区域。
在示例中,对应于不同AR内容生成器的相应AR体验可以被组织成相应的组以包括在传送带布置上,从而使得能够按组旋转通过媒体叠加。尽管提供了传送带界面作为示例,但是可以理解,也可以使用其他图形界面。例如,一组增强现实内容生成器可以包括图形列表、滚动列表、滚动图形或者使得能够通过各种图形项导航以进行选择的另一图形界面等。如本文所使用的,传送带界面是指以类似于环形列表的布置显示图形项,从而使得能够基于用户输入(例如,触摸或姿势)通过环形列表进行导航以选择或滚动通过图形项。在示例中,可以在水平(或竖直)线或轴上呈现图形项的集合,其中,每个图形项被表示为特定缩略图像(或图标、化身等)。在任何一个时刻,传送带界面中的一些图形项可以被隐藏。如果用户想要查看隐藏的图形项,则在示例中,用户可以提供用户输入(例如,触摸、姿势等)以在特定方向(例如,左、右、上或下等)上滚动通过图形项。之后,显示传送带界面的后续视图,其中,动画被提供或渲染以呈现用于包括在界面上的一个或更多个附加图形项,并且其中,先前呈现的图形项中的一些可以隐藏在该后续视图中。在实施方式中,以这种方式,用户可以以环形方式来回导航通过图形项的集合。因此,可以理解,传送带界面可以通过在循环视图中只显示来自图形项的集合的图像的子集来优化屏幕空间。
如本文所描述的,增强现实内容生成器可以被包括在传送带布置(或如上所讨论的另一界面)上,从而使得能够旋转通过增强现实内容生成器。此外,可以基于包括例如时间、日期、地理位置、与媒体内容相关联的元数据等的各种信号来选择增强现实内容生成器以包括在内。
在一些实现方式中,消息收发系统100基于硬编码启发法来确定增强现实内容生成器的用户的终身价值(LTV)分析,但是该方法可能不会随着消息收发系统100内用户数量的增加而扩展。本主题技术提供了新技术以确定增强现实内容生成器的用户的当前和未来货币化状态并确定增强现实内容生成器的用户的货币化潜力,其由病毒式(例如,在使用中流行的)增强现实内容生成器驱动到消息收发系统100。本文提到的LTV可以包括来自在线广告(例如,广告)、故事广告和所赞助的创意工具的收入。
消息收发系统100(或其部件)提供解决以下技术挑战的技术:
1.弥补增强现实内容生成器的货币化用户的营收数的差距
○在示例中,与美国60%的总体水平相比,在美国,增强现实内容生成器月活跃用户(MAU)的12%的用户每日被货币化;
○在示例中,在全球范围内,增强现实内容生成器MAU的2%的用户每日被货币化,而总体水平为33%;
2.增加增强现实内容生成器的用户的LTV或增强现实内容生成器的用户的LTV在所有用户中的百分比
○在示例中,增强现实内容生成器的用户的LTV是美国所有用户的LTV的13%
○在示例中,增强现实内容生成器的用户的LTV是全球所有用户的LTV的8%
3.将增强现实内容生成器的用户分成其他高度货币化且更相似的群组
○由于增强现实内容生成器的用户与其他高度参与的群组相比更被动并且具有更少的朋友,因此确定将他们转变为更相似的群组的方式,其在示例中可以全球地在平台上被货币化多于10倍。
具体地,消息收发系统100(或其部件)实现以下方法来解决上述问题:
1.季节性(例如,其中数据可能经历每个日历年或其他时间段重复的定期和可预测的变化)可能影响客户平均交易价值的预测。消息收发系统100(或其部件)将时间序列交易数据分解为趋势和季节性。在示例中,如果消息收发系统100(或其部件)利用更长的周期,并且具有来自企业的良好的用户级收入预测模型,则可以更自然地解决季节性问题。
2.消息收发系统100(或其部件)使用相同的方法来检查被设计成增加增强现实内容生成器的用户的货币化价值的任何实验的LTV,并从货币化角度量化影响。
3.消息收发系统100(或其部件)将当前分析结合到聚类分析的进一步发展中,以更好地理解群组LTV。
4.消息收发系统100(或其部件)使用相同的方法为其他用户角色建模LTV。
在一些实现方式中,消息收发系统100(或其部件)提供并利用模型来确定用户的LTV。在示例中,模型背后的关键假设是将用户级交易或广告视为非合同情形,并且目标是根据交易新近性/频率分布(transaction recency/frequency distribution)和交易货币价值分布二者中的过去交易行为对用户进行建模。
为了对交易新近性/频率分布进行建模,消息收发系统100(或其部件)在根据帕累托/NBD模型修改之后实现基于BG/NBD(贝塔几何负二项分布)模型的模型。目标是确保客户——无论是作为个人还是作为整体——遵循特定行为以具有期望的结果。在实现方式中,以下是模型的关键假设:
1.由客户进行的多次交易遵循交易率为λ的泊松过程
2.λ的异质性(例如,群体、样本或结果是不同的)遵循伽马分布
3.在任何交易之后,客户以概率p变得不活跃。因此,客户“退出”的点根据(移位的)几何分布而跨交易分布
4.p的异质性遵循贝塔分布
5.交易率λ和退出概率p跨客户独立地变化。
为了对未来货币价值进行建模,消息收发系统100(或其部件)遵循伽马-伽马模型(例如,其中用户的给定交易的货币价值围绕其平均交易价值随机变化,平均交易价值跨用户变化但对于任何给定个体(用户)不随时间变化,或者平均交易价值跨用户的分布独立于交易过程)以预测货币价值,并且用户简档遵循以下一般准则:
1.客户的给定交易的货币价值围绕其平均交易价值随机变化。
2.平均交易价值跨客户变化但对于任何给定个体不随时间变化。
3.平均交易价值跨客户的分布独立于交易过程。
图8示出了根据一些实施方式的全球相机用户的月活跃用户(MAU)和渗透率的示例图表。
如图表800中所示,AR内容生成器的用户在MAU中的渗透率要高得多,在AR内容生成器用于面部效果之后从25%增加至超过30%。对于美国市场,图表800示出了非常类似的趋势,其示出了AR内容生成器的用户渗透率从8%至超过10%。
图9示出了根据一些实施方式的AR内容生成器的用户的MAU和渗透率的示例图表。
如图表900中所示,尽管AR内容生成器的用户占MAU的几乎三分之一,但每日货币化的MAU的百分比很低。在美国(US)AR内容生成器的用户中仅约12%每日被货币化,而在美国在总体水平上接近MAU的60%。鉴于该用户组的规模可能随时间增加,仍有很大的空间来随时间增长该数字。
对于客户LTV分析,本文进一步的讨论主要集中在美国市场,因为它是最货币化的市场,并且将在未来货币化期望和方向方面给出更好的理解。由于用户的规模进行分析,利用采样来加快训练数据准备过程。对于货币化价值预测,假设贴现率为5%。
如下表1所示,AR内容生成器的用户在这些用户使用AR内容生成器进行面部效果之后,其平均LTV降低了约30%[后$2.42与前$3.43]。同样如表1所示,这是由AR内容生成器的新用户的LTV比在AR内容生成器进行面部效果前低得多所驱使的[新用户在面部效果后$2.09与前$3.43],这拉低了AR内容生成器的所有用户在AR内容生成器进行面部效果后的平均LTV(例如,在这些用户使用AR内容生成器进行面部效果之后)。
表1.假设贴现率为0.05,不同用户群组在第2年末的汇总平均LTV
同时,如下表2所示,在AR内容生成器进行面部效果后,所有用户的累计收入略高[后$16.88M与前$16.73M]。用于面部效果的AR内容生成器可能没有实质性地改善AR内容生成器的用户的整体货币化机会,仅增加1%的收入,但是对于轻度或新参与的AR内容生成器的用户存在改善货币化可能性的空间,并且可以对AR内容生成器的用户在AR内容生成器进行面部效果前后执行聚类分析。
表2.假设贴现率为0.05,AR内容生成器的不同用户群组在第2年末的汇总累计LTV
如上表1所示,全球范围内的平均LTV约为美国LTV的36%[全球$0.86与美国$2.42],但鉴于其在国际市场中的更大数量,其使约46%的更多收入增加至累计收入[$24.60M与$16.88M]。即使AR内容生成器的美国用户已经被相对较好地货币化,但其LTV在美国仅是总用户的13%[AR内容生成器的用户$2.42与所有用户$18.05]。
在与模型验证相关的以下讨论中,消息收发系统100(或其部件)使用09/01/19和12/31/19的时间帧来构建模型并进行验证。这样做是为了让用户免受夏季中AR内容生成器对面部效果的影响,并且等待新用户有资格看到广告。在实施方式中,有两种方式来检查模型如何执行:
1.使用整个时间段来检查对于重复交易该实际与模型相比如何,并比较差异
2.从这段时间开始有短暂的保持期,以针对用户交易频率测试模型准确度。
在一些实施方式中,如图10所示,消息收发系统100(或其部件)可以确定不同交易频率下的实际和模型比较。
图10示出了根据一些实施方式的样本全时间段模型验证的示例图表1000。
在实施方式中,消息收发系统100(或其部件)使用09/01/19至11/30/19进行校准,并使用12/01/19和12/31/19进行保持测试。
图11示出了根据一些实施方式的样本保持期模型验证的示例图表。
在该示例中,图表1100示出了校准期内直至购买频率为9的累计误差率,为9的购买频率示出了最多的数据流量。除了大的用户群组如美国的所有用户在AR内容生成器进行面部效果后之外,该模型是合理准确的。可以通过单独地对用户的子集或群组建模并使用更长的周期进行训练和测试来提高准确度。在示例中,图表1100中直至值9的购买频率对应于校准期(例如,09/01/19至11/31/19)内的累计交易数,其被设置为这个上限以提供更准确的基本误差的情况。在示例中,累计误差率低于预定百分比(例如,5%)表明模型是准确的。
表3.校准期内直至频率为9的累计保持误差
图12示出了根据一些实施方式的用户界面1200以及在消息收发客户端应用104(或消息收发系统100)中呈现由AR内容生成器生成的内容项的示例。
如所示的,用户界面1200包括可以至少部分地基于上述LTV技术来选择和呈现的AR内容项。
图13示出了根据一些实施方式的用户界面1300以及在消息收发客户端应用104(或消息收发系统100)中呈现由AR内容生成器生成的内容项的示例。
如所示的,用户界面1300包括可以至少部分地基于上述LTV技术来选择和呈现的AR内容项。
图14示出了根据一些实施方式的用户界面1400和1450以及在消息收发客户端应用104(或消息收发系统100)中呈现由AR内容生成器生成的内容项的示例。
如所示的,用户界面1400和1450包括可以至少部分地基于上述LTV技术来选择和呈现的AR内容项。
图15是示出根据某些示例实施方式的方法1500的流程图。方法1500可以包含在计算机可读指令中,所述计算机可读指令用于由一个或更多个计算机处理器执行,使得方法1500的操作可以部分或全部由消息收发系统100执行;因此,以下通过参考其示例的方式来描述方法1500。然而,应当理解,方法1500的至少一些操作可以部署在各种其他硬件配置上,并且方法1500不旨在限于消息收发系统100,并且可以由消息收发客户端应用104或注释系统206的部件来执行。
在操作1502处,消息收发系统100确定交易新近性和频率分布。
在操作1504处,消息收发系统100确定未来货币价值。
在操作1506处,消息收发系统100确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率。
在操作1508处,消息收发系统100预测关于特定国家的用户的货币化价值。
在操作1510处,消息收发系统100至少部分地基于货币化价值确定特定国家的用户的终身价值。在实施方式中,确定终身价值包括:验证基于时间段的终身价值的模型;从该时间段确定保持期以针对用户交易频率测试模型准确度;以及将对应于保持期期间的实际购买的第一组值与对应于校准期内的购买的第二组值进行比较以确定累计误差率。
图16是示出根据某些示例实施方式的方法1600的流程图。方法1600可以包含在计算机可读指令中,所述计算机可读指令用于由一个或更多个计算机处理器执行,使得方法1600的操作可以部分或全部由消息收发系统100执行;因此,以下通过参考其示例的方式来描述方法1600。然而,应当理解,方法1600的至少一些操作可以被部署在各种其他硬件配置上,并且方法1600不旨在限于消息收发系统100,并且可以由消息收发客户端应用104或注释系统206的部件来执行。
在操作1602处,消息收发系统100确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率。在实施方式中,消息收发系统100确定至少一个AR内容生成器的用户在MAU中具有较高的渗透率。消息收发系统确定每日货币化用户的百分比低于至少一个AR内容生成器的用户的百分比。
在操作1604处,消息收发系统100预测特定国家的用户的货币化价值。
在操作1606处,消息收发系统100至少部分地基于货币化价值确定特定国家的用户的终身价值。在示例中,消息收发系统100确定至少一个AR内容生成器的用户的终身价值低于用户在使用至少一个AR内容生成器之前的先前终身价值,确定在使用至少一个AR内容生成器之后,用户的累计收入较高,并且确定尚未访问至少一个AR内容生成器的新用户集,该新用户集已经访问与至少一个AR内容生成器不同的其他AR内容生成器。
在操作1608处,消息收发系统100至少部分地基于所确定的特定国家的用户的终身价值来选择至少一个增强现实(AR)内容生成器。在实施方式中,至少部分地基于确定每日货币化用户的百分比低于至少一个AR内容生成器的用户的百分比来选择至少一个AR内容生成器。
在操作1610处,消息收发系统100使得在客户端设备处显示至少一个AR内容生成器。在实施方式中,消息收发系统在与该新用户集中的至少一个新用户相关联的特定客户端设备处提供至少一个AR内容生成器以供显示,其中,该新用户集被选择成基于来自在线广告和所赞助的创意工具的收入来提高货币化。
图17是示出示例软件架构1706的框图,该示例软件架构以与本文中描述的各种硬件架构结合使用。图17是软件架构的非限制性示例,并且应当理解的是,可以实现许多其他架构以促进本文中描述的功能。软件架构1706可以在诸如图18的机器1800的硬件上执行,机器包括处理器1804、存储器1814和(输入/输出)(I/O)部件1818等。示出了代表性硬件层1752并且该代表性硬件层可以表示例如图18的机器1800。代表性硬件层1752包括具有相关联的可执行指令1704的处理单元1754。可执行指令1704表示软件架构1706的可执行指令,包括本文中描述的方法、部件等的实现方式。硬件层1752还包括也具有可执行指令1704的存储器和/或存储模块存储器/存储装置1756。硬件层1752还可以包括其他硬件1758。
在图17的示例架构中,软件架构1706可以被概念化为层的堆叠,在该层的堆叠中,每个层提供特定功能。例如,软件架构1706可以包括诸如操作系统1702、库1720、框架/中间件1718、应用1716和表示层1714的层。在操作上,层内的应用1716和/或其他部件可以通过软件堆栈调用API调用1708并且接收如消息1712中对API调用1708的响应。所示出的层在本质上是代表性的,并且不是所有软件架构都具有所有的层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件1718,而其他操作系统可能提供这样的层。其他软件架构可以包括另外的或不同的层。
操作系统1702可以管理硬件资源并且提供公共服务。操作系统1702可以包括例如核1722、服务1724和驱动器1726。核1722可以用作硬件与其他软件层之间的抽象层。例如,核1722可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1724可以为其他软件层提供其他公共服务。驱动器1726负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器1726包括显示器驱动器、摄像装置驱动器、驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、/>驱动器、音频驱动器、电源管理驱动器等。
库1720提供由应用1716和/或其他部件和/或层使用的公共基础设施。库1720提供如下功能,该功能允许其他软件部件以比与底层操作系统1702的功能(例如,核1722、服务1724和/或驱动器1726)直接接口的方式更容易的方式来执行任务。库1720可以包括系统库1744(例如,C标准库),系统库1744可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库1720可以包括API库1746,例如媒体库(例如,支持诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG的各种媒体格式的呈现和操纵的库)、图形库(例如,可以用于在显示器上以图形内容渲染2D和3D的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit)等。库1720还可以包括各种其他库1748,以向应用1716和其他软件部件/模块提供许多其他API。
框架/中间件1718(有时也称为中间件)提供可以由应用1716和/或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件1718可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件1718可以提供可以由应用1716和/或其他软件部件/模块使用的广泛的其他API,其中一些可以专用于特定操作系统1702或平台。
应用1716包括内置应用1738和/或第三方应用1740。代表性内置应用1738的示例可以包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用1740可以包括由除特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM电话的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1740可以调用由移动操作系统(例如,操作系统1702)提供的API调用1708,以有利于本文中描述的功能。
应用1716可以使用内置操作系统功能(例如,核1722、服务1724和/或驱动器1726)、库1720和框架/中间件1718来创建用户接口以与系统的用户交互。替选地或另外地,在一些系统中,可以通过表示层例如表示层1714发生与用户的交互。在这些系统中,应用/部件“逻辑”可以与应用/部件的与用户交互的各方面分开。
图18是示出根据一些示例实施方式的机器1800的部件的框图,机器1800能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文中讨论的方法中的任何一种或更多种。具体地,图18示出了呈计算机系统的示例形式的机器1800的示意表示,在该机器1800中可以执行用于使机器1800执行本文讨论的方法中的任何一种或更多种的指令1810(例如,软件、程序、应用、小程序、app或其他可执行代码)。同样地,指令1810可以被用于实现本文中描述的模块或部件。指令1810将通用的未编程的机器1800变换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1800。在可替选实施方式中,机器1800作为独立设备操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1800可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1800可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web家用电器、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1800采取的动作的指令1810的任何机器。此外,虽然仅示出了单个机器1800,但是术语“机器”还应被视为包括单独或联合执行指令1810以执行本文中讨论的方法中的任一个或更多个方法的机器的集合。
机器1800可以包括处理器1804——其包括处理器1808至处理器1812、存储器/存储装置1806和I/O部件1818,它们可以被配置成例如经由总线1802彼此通信。存储器/存储装置1806可以包括存储器1814例如主存储器或其他存储装置以及存储单元1816,处理器1804能够例如经由总线1802访问存储器1814和存储单元1816两者。存储单元1816和存储器1814存储体现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令1810。指令1810还可以在其被机器1800执行期间完全地或部分地驻留在存储器1814内、存储单元1816内、处理器1804中的至少一个内(例如,处理器的高速缓冲存储器内)或者其任何合适的组合内。因此,存储器1814、存储单元1816以及处理器1804的存储器是机器可读介质的示例。
I/O部件1818可以包括接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量等的各种各样的部件。包括在特定机器1800中的具体I/O部件1818将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入设备或其他这样的输入机构,而无头服务器(headless server)机器将很可能不包括这样的触摸输入设备。将理解,I/O部件1818可以包括图18中未示出的许多其他部件。I/O部件1818根据功能被分组,仅是为了简化下面的讨论,并且分组决不是限制性的。在各种示例实施方式中,I/O部件1818可以包括输出部件1826和输入部件1828。输出部件1826可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、听觉部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件1828可以包括字母数字输入部件(例如,被配置成接收字母数字输入的键盘、触摸屏幕;光电键盘(photo-optical keyboard)或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、跟踪球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和/或力的触摸屏幕或者其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在另外的示例实施方式中,I/O部件1818可以包括生物计量部件1830、运动部件1834、环境部件1836或定位部件1838等各种其他部件。例如,生物计量部件1830可以包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1834可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1836可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件1838可以包括位置传感器部件(例如,GPS接收器部件)、海拔高度传感器部件(例如,从其中检测可以得到海拔高度的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1818可以包括通信部件1840,该通信部件能够操作成分别经由耦接1824和耦接1822将机器1800耦接至网络1832或设备1820。例如,通信部件1840可以包括网络接口部件或其他合适的设备以与网络1832对接。在其他示例中,通信部件1840可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,低功耗/>)、/>部件以及经由其他模态提供通信的其他通信部件。设备1820可以是另一机器或各种外围设备中的任何一个外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1840可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1840可以包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测下述项的光学传感器:一维条形码诸如通用产品代码(UPC)条形码;多维条形码,诸如快速响应(QR)代码、Aztec代码、数据矩阵、数据图示符(Dataglyph)、麦克斯码(MaxiCode)、PDF417、超代码、UCC RSS-2D条形码和其他光学代码)、或者听觉检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1840得到各种信息,例如,经由因特网协议(IP)地理位置得到位置、经由信号三角测量得到位置、经由检测可以指示特定位置的NFC信标信号得到位置等。
以下讨论涉及贯穿本主题公开内容提及的各种术语或短语。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指使其特性中的一个或更多个以对信号中的信息进行编码的方式来设置或改变的信号。术语“传输介质”和“信号介质”指相同的事物并且可以在本公开内容中互换使用。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全局移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通讯系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或它们的任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)的多核处理器。
“机器存储介质”是指存储可执行指令、例程和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库、和/或相关联的缓存和服务器)。因此,该术语应被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物,并且在本公开内容中可以互换使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“部件”是指具有以下边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由它们的接口与其他部件对接以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且通常执行相关功能的特定功能的程序的一部分。部件可以构成软件部件(例如,在机器可读介质上实施的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成用于执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件而配置,硬件部件就成为被唯一地定制成执行所配置功能并且不再是通用处理器的特定机器(或机器的特定部件)。将理解的是,可以出于成本和时间考虑来推动在专用且永久配置的电路中或在短暂配置(例如,通过软件配置)的电路中机械地实现硬件部件的决策。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成涵盖有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中所描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每一个进行配置或实例化。例如,在硬件部件包括通过软件配置成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器以例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接到的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器装置以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。在本文中描述的示例方法的各种操作可以至少部分地由(例如,通过软件)临时地配置或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或者处理器实现的部件来执行。此外,所述一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置分布。
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。
“计算机可读介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。
“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。在本公开内容中,客户端设备也被称为“电子设备”。
“短暂消息”是指在时间有限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,该消息都是暂时的。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指使其特性中的一个或更多个以对信号中的信息进行编码的方式来设置或改变的信号。术语“传输介质”和“信号介质”指相同的事物并且可以在本公开内容中互换使用。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全局移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通讯系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或它们的任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)的多核处理器。
“机器存储介质”是指存储可执行指令、例程和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库、和/或相关联的缓存和服务器)。因此,该术语应被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物,并且在本公开内容中可以互换使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“部件”是指具有以下边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且通常执行相关功能的特定功能的程序的一部分。部件可以构成软件部件(例如,在机器可读介质上实施的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置成用于执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件进行配置,则硬件部件变成被唯一地定制成执行所配置的功能并且不再是通用处理器的特定机器(或机器的特定部件)。将理解的是,可以出于成本和时间考虑来推动在专用且永久配置的电路中或在短暂配置(例如,通过软件配置)的电路中机械地实现硬件部件的决策。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成涵盖有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中所描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每一个进行配置或实例化。例如,在硬件部件包括通过软件配置成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器以例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件部件访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接到的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。在本文中描述的示例方法的各种操作可以至少部分地由被临时地配置(例如,由软件)或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或者处理器实现的部件来执行。此外,所述一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置分布。
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。
“计算机可读介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。
“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
“短暂消息”是指在时间有限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,该消息都是暂时的。

Claims (20)

1.一种方法,包括:
由一个或更多个硬件处理器确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率;
由所述一个或更多个硬件处理器预测所述特定国家的用户的货币化价值;
由所述一个或更多个硬件处理器至少部分地基于所述货币化价值确定所述特定国家的用户的终身价值;
由所述一个或更多个硬件处理器至少部分地基于所确定的所述特定国家的用户的终身价值来选择至少一个增强现实(AR)内容生成器;以及
使得在客户端设备处显示所述至少一个AR内容生成器。
2.根据权利要求1所述的方法,还包括:
确定所述至少一个AR内容生成器的用户在MAU中具有较高的渗透率。
3.根据权利要求2所述的方法,还包括:
确定每日货币化用户的百分比低于所述至少一个AR内容生成器的用户的百分比。
4.根据权利要求3所述的方法,还包括:
至少部分地基于确定每日货币化用户的百分比低于所述至少一个AR内容生成器的用户的百分比来选择所述至少一个AR内容生成器。
5.根据权利要求1所述的方法,还包括:
确定所述至少一个AR内容生成器的用户的终身价值低于所述用户在使用所述至少一个AR内容生成器之前的先前终身价值。
6.根据权利要求5所述的方法,还包括:
确定在使用所述至少一个AR内容生成器之后,用户的累计收入较高。
7.根据权利要求6所述的方法,还包括:
确定尚未访问所述至少一个AR内容生成器的新用户集。
8.根据权利要求7所述的方法,其中,所述新用户集已经访问与所述至少一个AR内容生成器不同的其他AR内容生成器。
9.根据权利要求7所述的方法,还包括:
在与来自所述新用户集的至少一个新用户相关联的特定客户端设备处提供所述至少一个AR内容生成器以供显示。
10.根据权利要求7所述的方法,其中,所述新用户集被选择成基于来自来自在线广告和所赞助的创意工具的收入的收入来提高货币化。
11.一种系统,包括:
处理器;以及
存储器,所述存储器包括指令,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作包括:
确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率;
预测所述特定国家的用户的货币化价值;
至少部分地基于所述货币化价值确定所述特定国家的用户的终身价值;
至少部分地基于所确定的所述特定国家的用户的终身价值来选择至少一个增强现实(AR)内容生成器;以及
使得在客户端设备处显示所述至少一个AR内容生成器。
12.根据权利要求11所述的系统,其中,所述操作还包括:
确定所述至少一个AR内容生成器的用户在MAU中具有较高的渗透率。
13.根据权利要求12所述的系统,其中,所述操作还包括:
确定每日货币化用户的百分比低于所述至少一个AR内容生成器的用户的百分比。
14.根据权利要求13所述的系统,其中,所述操作还包括:
至少部分地基于确定每日货币化用户的百分比低于所述至少一个AR内容生成器的用户的百分比来选择所述至少一个AR内容生成器。
15.根据权利要求11所述的系统,其中,所述操作还包括:
确定所述至少一个AR内容生成器的用户的终身价值低于所述用户在使用所述至少一个AR内容生成器之前的先前终身价值。
16.根据权利要求15所述的系统,其中,所述操作还包括:
确定在使用所述至少一个AR内容生成器之后,用户的累计收入较高。
17.根据权利要求16所述的系统,其中,所述操作还包括:
确定尚未访问所述至少一个AR内容生成器的新用户集。
18.根据权利要求17所述的系统,其中,所述新用户集已经访问与所述至少一个AR内容生成器不同的其他AR内容生成器。
19.根据权利要求17所述的系统,其中,所述操作还包括:
在与来自所述新用户集的至少一个新用户相关联的特定客户端设备处提供所述至少一个AR内容生成器以供显示。
20.一种包括指令的非暂态计算机可读介质,所述指令在由计算设备执行时使所述计算设备执行操作,所述操作包括:
确定全球用户和特定国家的用户的月活跃用户(MAU)和渗透率;
预测所述特定国家的用户的货币化价值;
至少部分地基于所述货币化价值确定所述特定国家的用户的终身价值;
至少部分地基于所确定的所述特定国家的用户的终身价值来选择至少一个增强现实(AR)内容生成器;以及
使得在客户端设备处显示所述至少一个AR内容生成器。
CN202180066868.XA 2020-09-30 2021-09-29 利用用户的终身价值选择用于在消息收发系统中呈现的内容 Pending CN116710945A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063085946P 2020-09-30 2020-09-30
US63/085,946 2020-09-30
PCT/US2021/052655 WO2022072497A1 (en) 2020-09-30 2021-09-29 Utilizing lifetime values of users to select content for presentation in a messaging system

Publications (1)

Publication Number Publication Date
CN116710945A true CN116710945A (zh) 2023-09-05

Family

ID=80822828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180066868.XA Pending CN116710945A (zh) 2020-09-30 2021-09-29 利用用户的终身价值选择用于在消息收发系统中呈现的内容

Country Status (5)

Country Link
US (1) US20220101349A1 (zh)
EP (1) EP4222685A4 (zh)
KR (1) KR20230074588A (zh)
CN (1) CN116710945A (zh)
WO (1) WO2022072497A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12069399B2 (en) 2022-07-07 2024-08-20 Snap Inc. Dynamically switching between RGB and IR capture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050256A1 (en) * 2000-06-30 2007-03-01 Jay Walker Method and apparatus for compensating participation in marketing research
JP2013519162A (ja) * 2010-02-01 2013-05-23 ジャンプタップ,インコーポレイテッド 統合化された広告システム
US10075508B2 (en) * 2013-03-15 2018-09-11 Microsoft Technology Licensing, Llc Application-centric socialization
US20150046296A1 (en) * 2013-08-12 2015-02-12 Airvirtise Augmented Reality Device with Global Positioning
US20150243258A1 (en) * 2014-02-24 2015-08-27 Disney Enterprises, Inc. Transparent gift card for overlaying a digital display
US11023921B2 (en) * 2014-09-23 2021-06-01 Adelphic Llc Providing data and analysis for advertising on networked devices
US10417650B1 (en) * 2015-12-04 2019-09-17 Google Llc Distributed and automated system for predicting customer lifetime value
US10176640B2 (en) * 2016-08-02 2019-01-08 Qualtrics, Llc Conducting digital surveys utilizing virtual reality and augmented reality devices
US11443246B2 (en) * 2016-09-30 2022-09-13 Mamadou Mande Gueye Method and system for facilitating provisioning of social networking data to a mobile device
US10353799B2 (en) * 2016-11-23 2019-07-16 Accenture Global Solutions Limited Testing and improving performance of mobile application portfolios
US10740804B2 (en) * 2017-07-28 2020-08-11 Magical Technologies, Llc Systems, methods and apparatuses of seamless integration of augmented, alternate, virtual, and/or mixed realities with physical realities for enhancement of web, mobile and/or other digital experiences
US20190180319A1 (en) * 2017-12-13 2019-06-13 Unity IPR ApS Methods and systems for using a gaming engine to optimize lifetime value of game players with advertising and in-app purchasing
KR102345333B1 (ko) * 2017-12-28 2021-12-29 엘에스일렉트릭(주) 증강 현실 제공 시스템 및 방법
WO2019183276A1 (en) * 2018-03-20 2019-09-26 Wright Rocky Jerome Augmented reality and messaging
GB201806686D0 (en) * 2018-04-24 2018-06-06 Metail Ltd System and method for producing and managing responsive online digital merchandising
US20200066046A1 (en) * 2018-08-24 2020-02-27 Facebook, Inc. Sharing and Presentation of Content Within Augmented-Reality Environments
US11030813B2 (en) * 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking

Also Published As

Publication number Publication date
EP4222685A1 (en) 2023-08-09
EP4222685A4 (en) 2024-04-17
US20220101349A1 (en) 2022-03-31
WO2022072497A1 (en) 2022-04-07
KR20230074588A (ko) 2023-05-30

Similar Documents

Publication Publication Date Title
CN116210019B (zh) 用于组织和共享目的地位置的界面
US11836826B2 (en) Augmented reality content generators for spatially browsing travel destinations
US12039499B2 (en) Augmented reality content generators for identifying destination geolocations and planning travel
US11816805B2 (en) Augmented reality content generator for suggesting activities at a destination geolocation
CN116420171A (zh) 程序地生成增强现实内容生成器
US12045921B2 (en) Automated content curation for generating composite augmented reality content
CN117157674A (zh) 用于第三方应用的增强现实内容中的面部合成
CN115605897A (zh) 用于消息收发系统中的物理产品的增强现实体验
CN117321640A (zh) 包括面部合成的交互式增强现实内容
US20220101355A1 (en) Determining lifetime values of users in a messaging system
CN115668888A (zh) 特色内容集合界面
CN116235217A (zh) 用于增强现实内容生成器的摄取管道
CN117099134A (zh) 用于广告的增强现实内容中的面部合成
CN117083640A (zh) 使用对面部表情的选择在线上社区的内容中的面部合成
CN117099133A (zh) 叠加的增强现实内容中的面部合成
US20240331243A1 (en) Automated content curation for generating composite augmented reality content
US20220101349A1 (en) Utilizing lifetime values of users to select content for presentation in a messaging system
CN116802694A (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