CN113892096A - 动态媒体选择菜单 - Google Patents

动态媒体选择菜单 Download PDF

Info

Publication number
CN113892096A
CN113892096A CN202080039215.8A CN202080039215A CN113892096A CN 113892096 A CN113892096 A CN 113892096A CN 202080039215 A CN202080039215 A CN 202080039215A CN 113892096 A CN113892096 A CN 113892096A
Authority
CN
China
Prior art keywords
media
gui
category
input
client device
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
CN202080039215.8A
Other languages
English (en)
Inventor
K·安瓦里普尔
E·J·查尔顿
T·陈
G·卢平
C·N·默克基安尼斯
K·D·唐
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 CN113892096A publication Critical patent/CN113892096A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/787Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

动态媒体菜单,其包括用于呈现媒体内容集合的媒体轮播和用于接收输入以识别媒体类别的“增强现实(AR)栏”。

Description

动态媒体选择菜单
优先权要求
本申请要求于2020年3月16日提交的序列号为16/819,659的美国专利申请和2019年3月29日提交的序列号为62/826,640的美国临时申请的优先权,这些申请通过全文引用并入本文。
技术领域
本公开的实施例总体上涉及移动计算技术,并且更具体地但非限制地涉及用于生成动态菜单元素以呈现媒体内容的集合的系统。
背景技术
媒体共享平台不断地扩展并增加要提供给用户的媒体内容的集合。某些媒体平台为用户提供简单的界面来浏览此类媒体内容的集合,但是随着这些集合不断增长并达到数十万个,从集合中访问相关媒体内容的效率变得越来越困难。例如,由于移动设备的显示限制,可能仅在给定时间呈现可用媒体内容的一小部分,并且不直观。
附图说明
为了容易地识别对任何特定元素或动作的讨论,在参考数字中的一个或多个最高有效数字指的是在其中该元素首次被引入的附图号。
图1是示出根据一些实施例的用于在网络上交换数据(例如,消息和相关联的内容)的示例消息系统的框图,其中,消息系统包括动态菜单系统。
图2是示出根据示例实施例的关于消息传递系统的进一步细节的框图。
图3是示出根据某些示例实施例的动态菜单系统的各种模块的框图。
图4是描绘根据某些示例实施例的在图形用户界面(GUI)内生成和引起动态菜单元素的显示的方法的流程图。
图5是描绘根据某些示例实施例的由动态菜单系统生成以及显示的GUI的界面图。
图6是描绘根据某些示例实施例的由动态菜单系统生成的界面的界面流程图。
图7是描绘根据某些示例实施例的由动态菜单系统生成的界面的界面流程图。
图8是示出了代表性软件架构的框图,该软件架构可与本文描述的各种硬件架构结合使用并用于实现各种实施例。
图9是示出根据一些示例实施例的机器的组件的框图,该机器的组件能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法。
具体实施方式
如上所述,媒体共享平台不断扩大用户可用的媒体内容的集合。虽然不断增加的可用媒体内容的库存对用户是有利的,但现有的用于浏览媒体内容集合的界面是低效率且不直观的,使得相关媒体内容的识别变得乏味。因此,用于提供可用媒体内容的动态视图的改进的GUI在此类应用中将是有益的。
本文描述的示例实施例涉及动态菜单系统,其用于生成动态媒体菜单,动态媒体菜单至少包括用于呈现媒体内容集合的媒体轮播以及用于接收以识别媒体类别的输入的“增强现实(AR)栏”。根据某些实施例,动态菜单系统被配置为执行包括以下的操作:导致在客户端设备处显示GUI,其中GUI包括来自客户端设备的相机或与客户端设备相关联的相机的实时相机数据的显示;接收到客户端设备的GUI上的输入,其中该输入可以包括触觉输入;响应于到GUI上的输入,访问媒体存储库中的媒体内容,媒体内容包括基于媒体内容的特性的多个媒体类别;至少基于来自客户端设备的相机或与客户端设备相关联的相机的实时相机数据,从多个媒体类别中选择媒体类别;基于媒体类别过滤媒体存储库的媒体内容;并且导致在客户端设备的GUI内显示过滤的媒体内容的呈现,其中过滤的媒体内容的呈现包括在GUI内的第一位置处与过滤的媒体内容对应的媒体类别的标识,以及在GUI内的第二位置处包括过滤的媒体内容的媒体轮播。
根据某些示例实施例,媒体内容可以包括AR内容,其中AR是物理、真实世界环境的实时直接或间接图,其元素由计算机生成的感官输入和内容增强。因此,AR内容可以包括媒体叠加或“镜头”,其包括一组媒体项目,这些媒体项目可以在客户端设备上显示的图像上呈现为叠加或滤镜。因此,可能存在不同类别的AR内容,其中类别是基于AR内容的显示特性或内容的。例如,AR内容类别可能包括要作为AR内容呈现的AR文本,以及改变或修改图像中描绘的一个或多个对象的镜头。
在一些实施例中,镜头包括被配置为以某种方式修改或变换在客户端设备的GUI内呈现的图像数据的AR内容。例如,可以使用镜头数据对内容图像进行复杂的添加或转换,例如在视频剪辑中将兔耳朵添加到人的头部,向视频剪辑添加带有背景颜色的浮动心形,改变视频剪辑中的人的特征的比例,或许多其它此类转换。这包括在使用与客户端设备相关联的相机采集图像时修改图像并然后将在客户端设备的屏幕上显示镜头修改的实时修改以及对所存储的内容(例如在图库中可以使用镜头修改的视频剪辑)的修改两者。例如,在具有多个镜头的创建者简档中,授权的第三方帐户可以使用具有多个镜头的单个视频剪辑来查看不同的镜头将如何修改存储的剪辑。类似地,实时视频采集可以与镜头一起使用以示出当前由设备的传感器采集的视频图像将如何修改所采集的数据。该数据可以简单地显示在屏幕上而不存储在存储器中,或者可以将设备传感器采集的内容记录并存储在存储器中,无论是否进行镜头修改(或两者)。
镜头数据和使用镜头并使用镜头修改内容的各种系统因此可能涉及对象(例如脸、手、身体、猫、狗、表面、对象等)的检测,在这些对象离开视频帧中的视场、进入视频帧中的视场以及围绕视频帧中的视场移动时跟踪这些对象,以及在跟踪这些对象时对其进行修改或变换。在各种实施例中,可以使用用于实现这种变换的不同的方法。例如,一些实施例可涉及生成一个或多个对象的3D网格模型,并且使用视频内的模型的动画纹理和变换来实现变换。在其它实施例中,对象上的点的跟踪可用于将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在更进一步的实施例中,视频帧的神经网络分析可用于在内容(例如图像或视频帧)中放置图像、模型或纹理。因此,镜头数据既指用于创建内容转换的图像、模型和纹理,也指通过对象检测、跟踪和放置实现此类转换所需的附加建模和分析信息。
在一些实施例中,被配置为呈现多个AR媒体类别的“AR栏”包括多个媒体类别标识符的显示。媒体类别标识符可以包括图形图标。因此,每个媒体类别标识符对应于一组媒体内容属性。响应于从多个媒体内容标识符中接收对媒体类别标识符的选择,可以对媒体轮播内呈现的媒体内容的集合进行过滤。例如,多个媒体类别标识符可以包括AR文本类别。响应于接收对AR文本类别标识符的选择,动态菜单系统基于该选择来对媒体轮播中呈现的媒体内容的集合进行过滤,并在媒体轮播内呈现所有可用的AR文本内容。
在一些实施例中,响应于在客户端设备处通过GUI接收输入,动态菜单系统访问来自客户端设备的相机的实时相机数据以提取一个或多个图像特征。例如,动态菜单系统可以对实时相机数据执行一种或多种对象检测技术以识别实时相机数据内描绘的对象或特征。动态菜单系统然后可以基于实时相机数据中描绘的对象或特征从多个媒体类别中选择媒体类别并相应地过滤媒体内容的集合。
图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生成的数据。在一些实施例中,作为示例,该数据包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持续条件、社交网络信息、以及现场活动信息。在其它实施例中,使用其它数据。消息传递系统100内的数据交换通过经由消息传递客户端应用104的GUI可用的功能来调用和控制。
现在具体转到消息传递服务器系统108,应用程序接口(API)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由应用服务器112处理的消息相关联的数据。
具体处理应用程序接口(API)服务器110,该服务器在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器110提供可被消息传递客户端应用104调用或查询的接口集合(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(API)服务器110暴露由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如,图像或视频),以供另一消息传递客户端应用104进行可能的访问;媒体数据的集合(例如,故事)的设置;客户端设备102的用户的好友列表的取得;此类集合的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;打开应用事件(例如,与消息传递客户端应用104有关)。
应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122以及动态菜单系统124。动态菜单系统124被配置为生成动态媒体菜单,该动态媒体菜单至少包括用于呈现媒体内容集合的媒体轮播和用于接收识别媒体类别的输入的“增强现实(AR)栏”。动态菜单系统124的更多细节可以在下面的图3中找到。
消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容)的聚合和其他处理。如将在进一步的细节中描述的,来自多个源的文本和媒体内容可被聚合到内容的集合(例如,被称为故事或图库)中。然后,消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。考虑到此类处理的硬件要求,对数据的其他处理器和存储器密集型处理还可在服务器端由消息传递服务器应用114来执行。
应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递应用服务器114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理操作。
社交网络系统122支持各种社交联网功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图304。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关系或者该特定用户“正在关注”其的消息传递系统100的其他用户,以及还识别特定用户的其他实体和兴趣。
应用服务器112通信地耦接到数据库服务器118,该数据库服务器118促进对数据库120的访问,该数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
图2是示出根据示例实施例的关于消息传递系统100的进一步细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们又进而体现了多个特定子系统,即,短时计时器系统202、集合管理系统204、和注释系统206。
短时计时器系统202负责对由消息传递客户端应用104和消息传递服务器应用114所允许的内容执行临时访问。为此,短时计时器系统202并入了多个计时器,这些计时器基于与消息、消息集合(例如,SNAPCHAT故事)、或图形元素相关联的持续时间和显示参数,经由消息传递客户端应用104选择性地显示并使能对消息和相关联内容的访问。在下面提供关于短时计时器系统202的操作的进一步细节。
集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据)。在一些示例中,内容的集合(例如,包括图像、视频、文本和音频的消息)可被组织进“事件图库”或“事件故事”中。这种集合可在指定时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。
集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件有关的内容的集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,补偿(例如,与消息传递系统或第三方奖赏系统相关联的货币、非货币信用或得分,旅行里程,对艺术品或专用镜头的访问等)可被支付给用户以用于将用户生成的内容包括到集合中。在这种情况下,策展界面208操作以自动向此类用户就使用其内容而支付费用。
注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与针对由消息传递系统100处理的消息产生和发布媒体叠加有关的功能。注释系统206基于客户端设备102的地理位置向消息传递客户端应用104可操作地提供媒体叠加(例如,SNAPCHAT滤镜、镜头)。在另一个示例中,注释系统206基于其他信息(例如,客户端设备102的用户的社交网络信息)可操作地向消息传递客户端应用104提供媒体叠加。媒体叠加可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括:图片、文本、徽标、动画和音效,以及动画面部模型,诸如由动态菜单系统124生成的这些。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可在客户端设备110处被应用于媒体内容项(例如,照片)。例如,媒体叠加包括可被叠加在由客户端设备102拍摄的照片之上的文本。在另一个示例中,媒体叠加包括位置叠加(例如,威尼斯海滩)的标识、现场活动的名称、或商家叠加的名称(例如,海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备102的地理位置处的商家的名称。媒体叠加可包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可通过数据库服务器118来访问。
在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置,并上载与所选地理位置相关联的内容。用户还可指定在什么情况下应向其他用户提供特定媒体叠加。注释系统206生成包括所上载内容的媒体叠加,并将所上载内容与所选地理位置相关联。
在另一个示例实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够经由投标过程选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定的时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。
图3是示出根据某些示例实施例的动态菜单系统124的组件的框图,其配置动态菜单系统124以执行操作以生成动态媒体菜单,该动态媒体菜单至少包括用于呈现媒体内容集合的媒体轮播以及接收用于识别媒体类别的输入的AR栏。
在进一步的实施例中,动态菜单系统124的组件可以配置动态菜单系统124以执行操作以访问来自与客户端设备102相关联的相机的实时相机数据,接收到客户端设备102处呈现的GUI上的输入,响应于输入而访问媒体内容,至少基于实时相机数据来选择媒体类别,基于媒体类别过滤媒体内容,并导致在客户端设备的GUI内显示所过滤的媒体内容的呈现,其中根据一些示例实施例,所过滤的媒体内容的呈现包括显示包含过滤的媒体内容的媒体轮播以及包含多个媒体类别(其包括与过滤的媒体内容对应的媒体类别)的显示的AR栏。
动态菜单系统124被示为包括呈现模块302,媒体模块304,通信模块306和标识模块308,它们均被配置为彼此通信(例如,经由总线,共享存储器或开关)。这些模块中的任何一个或多个可使用一个或多个处理器310来实现(例如,通过配置这种一个或多个处理器以执行针对该模块描述的功能),因此可包括一个或多个处理器310。
可使用单独的硬件(例如,机器的一个或多个处理器310)或硬件和软件的组合来实现所描述的模块中的任何一个或多个。例如,内容建议系统124中被描述的任何模块可在物理上包括被配置为执行本文所述的用于该模块的操作的一个或多个处理器310(例如,机器的一个或多个处理器的子集或其之中的一个子集)的布置。作为另一示例,动态菜单系统124的任何模块可包括软件,硬件或两者,其将一个或多个处理器310(例如,机器的一个或多个处理器之中)的布置配置为执行本文所述的针对该模块的操作。因此,动态菜单系统124的不同模块可包括并配置这种处理器310的不同布置或这种处理器310在不同时间点处的单个布置。此外,动态菜单系统124的任何两个或更多个模块可被组合成单个模块,并且本文针对单个模块描述的功能可在多个模块之间被细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库、或设备内实现的模块可被分布在多个机器、数据库或设备上。
图4是描绘根据某些示例实施例的生成并导致动态媒体菜单的显示的方法400的流程图。方法400的操作可由以上参照图3描述的模块执行。如图4所示,方法400包括一个或多个操作402、404、406、408、410和412。
在操作402,呈现模块302导致在客户端设备102处显示GUI,其中GUI包括由客户端设备102的相机或与客户端设备102相关联的相机生成的实时相机数据的显示。例如,客户端设备102可以包括多个相机,例如一个或多个“前置”相机和一个或多个“后置”相机,其被配置为采集并生成图像数据。由与客户端设备102相关联的一个或多个相机生成的实时相机数据可以包括包含多个图像特征的图像数据。
在操作404,通信模块306接收来自客户端设备102的通过GUI的输入。在一些实施例中,客户端设备102包括被配置为接收触觉输入的触摸屏显示器。因此,输入可以包括到客户端设备102的显示器上的触觉输入,其中触觉输入提供GUI内的点或位置的指示。例如,客户端设备102的用户可以通过提供触觉输入(其选择实时相机数据的显示内的点)来提供以识别在GUI内描绘的位置或对象的输入,其中该点对应于由实时相机数据描绘并在GUI中呈现的对象。例如,如图6中描绘的界面610中所见,输入可以包括输入620,其中输入620选择界面610内的与由实时相机数据描绘的对象相对应的点(在这种情况下,马克杯或杯子)。
在一些实施例中,输入可以包括一个或多个输入特性,这些输入特性包括输入压力、输入持续时间和输入位置。在该实施例中,通信模块306将一个或多个输入特性与一组阈值进行比较。例如,响应于检测到输入特性超过阈值,通信模块306可以用信号通知动态菜单系统124的一个或多个模块以执行某些后续动作或操作。
在操作406处,媒体模块304响应于在客户端设备102处接收到的输入来访问媒体内容。例如,媒体模块304可以访问数据库120处的媒体存储库,其中媒体内容基于多个对应的媒体类别被存储并且索引。在一些实施例中,媒体类别可以包括预先配置的媒体项目、以及可定制的媒体项目、与基于文本的媒体项目对应的一个或多个类别、与AR媒体内容(例如媒体叠加或媒体滤镜)对应的一个或多个类别、以及与听觉媒体(例如音乐或音效)对应的一个或多个类别。
在一些实施例中,媒体模块304可以响应于检测到在客户端设备102处接收的输入的输入特性超过阈值而访问数据库120处的媒体内容。例如,媒体模块304可以被配置为响应于检测到输入压力超过压力阈值或者输入持续时间超过阈值输入持续时间值来访问数据库120的媒体内容。
在操作408,媒体模块304基于一个或多个上下文输入从多个媒体类别中选择媒体类别,该上下文输入至少包括来自与客户端设备102相关联的相机的实时相机数据的多个图像特征。上下文输入可以包括时间数据和位置数据,以及设备信息和用户简档信息。在进一步的实施例中,媒体类别的选择可以基于实时相机数据是从前置相机还是后置相机流式传输,以及基于客户端设备102的用户是在生成向一个或多个客户端设备呈现的实时流还是在生成要在以后分发的媒体内容。
在一些实施例中,响应于如上所述检测到输入特性超过阈值,媒体模块304可以使识别模块308扫描实时相机数据以基于实时相机数据的多个图像特征来识别实时相机数据中描绘的一个或多个对象。例如,为了识别实时相机数据中描绘的一个或多个对象,识别模块308可以利用计算机视觉来基于多个图像特征来执行一个或多个图像或模式识别技术。在进一步的实施例中,识别模块308可以识别图像内的一个或多个QR码并且基于QR码识别一个或多个对象。在一些实施例中,识别可以基于由客户端设备102的用户提供的显式输入。基于识别模块308在图像中识别的一个或多个对象,媒体模块304选择与一个或多个对象对应的媒体类别。
在操作410,响应于选择媒体类别,媒体模块304对在数据库120处访问的媒体内容进行过滤以识别对应于所选择的媒体类别的多个媒体项目,并基于所选择的媒体类别策展媒体内容集合。在一些实施例中,媒体模块304可以基于一个或多个上下文输入和来自客户端设备102的实时相机数据对所过滤的媒体内容进行排序或排名。
在操作412处,呈现模块302导致在媒体轮播中显示客户端设备102处的媒体内容集合的呈现并且显示包括多个媒体类别的显示的AR栏,如在图5的界面图500中描绘的AR栏510。因此,用户可以提供输入以从AR栏505中呈现的多个媒体类别的显示中选择媒体类别,并且作为响应,动态菜单系统124可以过滤并呈现媒体轮播530内的媒体内容。
图5是描绘根据某些示例实施例的如在上面的方法400中所讨论的由动态菜单系统124生成并显示的GUI 505的界面图500。如图5中所示,GUI 505包括媒体轮播530内的媒体内容集合的呈现,以及包括多个媒体类别的显示的AR栏510。如上所述,媒体类别可以包括预先配置的媒体项目,以及可定制的媒体项目(基于用户输入)、与基于文本的媒体项目对应的一个或多个类别、与AR媒体内容(例如媒体叠加或媒体滤镜)对应的一个或多个类别、以及与听觉媒体(例如音乐或音效)相对应的一个或多个类别。
在一些示例实施例中,可以基于上下文输入和实时相机数据以及基于用户输入(例如用户输入525)来选择媒体类别。响应于选择或接收对媒体类别的选择,动态菜单系统124应用与所选择的媒体类别相对应的图形图标(例如图形图标515),以识别所选择的媒体类别。
图6是描绘根据某些示例实施例的由动态菜单系统124呈现的界面的界面流程图600。流程图600的界面所描绘的操作可以由上文关于图3所描述的模块来执行。
界面605描绘了由与客户端设备102相关联的相机采集的实时相机数据。如图6中所见,实时相机数据可以包括描绘一个或多个对象(例如,咖啡杯)的多个图像特征.
界面610描绘了在客户端设备102处呈现的界面内的位置上的输入620。如上所述,输入可以包括一个或多个输入特性,例如输入压力、输入位置(即,GUI内的点)和输入持续时间。
在一些实施例中,可以响应于接收到输入620而在界面内呈现图形625。图形625可以基于输入620的输入特性实时地改变或变化。例如,响应于接收到输入620的启动,图形625可以以第一图形状态呈现。当输入620的输入特性超过一个或多个阈值(例如通过超过时间阈值或超过压力阈值)时,动态菜单系统124可以将图形625改变为与输入620超过阈值所对应的第二图形状态。
作为说明性示例,用户可以通过将手指或指示笔按压到界面605中描绘的GUI上来启动输入620。响应于检测到输入620的启动,呈现模块302使得以第一图形状态显示图形625,其中第一图形状态包括第一组图形特性(例如,颜色、动画)。随着用户继续在GUI上按压,通信模块306可以检测到输入620的输入持续时间超过第一阈值(例如,5秒)。响应于输入持续时间超过第一阈值,呈现模块302以与第一阈值对应的第二图形状态显示图形625,其中第二图形状态包括第二组图形特性。用户然后可以用更大的压力量按压,并且作为响应,通信模块306可以检测输入620的输入压力超过第二阈值(例如,压力值)。作为响应,呈现模块302以与第二阈值对应的第三图形状态显示图形625,其中第三图形状态包括第三组图形特性。
在一些实施例中,每个阈值可以与对应的媒体类别相关联,使得响应于检测到输入特性超过阈值,动态菜单系统124可以选择对应于阈值的媒体类别。
界面615描绘了在媒体轮播(例如图5的媒体轮播530)中媒体内容630的集合的呈现以及包括媒体类别标识符640的AR栏的显示(例如图5的AR栏510)。
在一些实施例中,响应于基于选择的媒体类别来过滤媒体内容集合,呈现模块302可以确定所过滤的媒体内容集合的属性(例如,集合中的媒体项目的数量),以及导致指示635的显示,其中指示符635包括过滤的媒体内容集合的属性的呈现。
图7是描绘根据某些示例实施例的由动态菜单系统124呈现的界面的界面流程图700。流程图700的界面所描绘的操作可以由上文关于图3所描述的模块来执行。
界面705描绘了由与客户端设备102相关联的相机采集并在客户端设备102处的GUI内呈现的实时相机数据。如图7所示,实时相机数据可以包括多个图像特征,这些图像特征可以与AR媒体类别对应。例如,如界面705中所示,实时相机数据可以描绘在诸如白板或黑板的表面上呈现的文本。
客户端设备102的用户可以通过界面705中描绘的GUI向动态菜单系统124提供输入720。在一些实施例中,响应于输入720,动态菜单系统124可以激活扫描特征以对界面705内呈现的实时相机数据执行一种或多种对象识别技术。
例如,如图6中描绘的界面流程图600的操作610中所讨论的,响应于检测到输入720的输入特性超过一个或多个阈值(该阈值可以包括时间阈值或压力阈值),动态菜单系统124的扫描特征可被激活。在某些实施例中,扫描特征可以包括对象检测技术以识别GUI内呈现的实时相机数据中的某个类别的语义对象。
界面710描绘了与媒体轮播730中呈现的实时相机数据的一个或多个图像特征对应的AR媒体(例如AR媒体725)的集合。响应于输入,AR栏735可以呈现与扫描特征对应的图形图标740的选择。例如,如图7所示,响应于激活动态菜单系统124的扫描特征,在GUI中对图形图标740加下划线或以其它方式对其强调。
界面715包括呈现在实时相机数据中的位置处的AR内容745的显示。
软件架构
图8是示出示例软件架构806的框图,该示例软件架构806可与本文所述的各种硬件架构结合使用。图8是软件架构的非限制性示例,并且应当理解,可实现许多其他架构以促进本文描述的功能。软件架构806可在诸如图9的机器900的硬件上执行,除其它外,该硬件还包括处理器904,存储器914和I/O组件918。代表性的硬件层852被示出,并且可表示例如图8的机器800。代表性的硬件层852包括具有相关联的可执行指令804的处理单元854。可执行指令804表示软件架构806的可执行指令,包括本文描述的方法、组件等的实现。硬件层852还包括存储器和/或存储模块存储器/存储设备856,其还具有可执行指令804。硬件层852还可包括其他硬件858。
在图8的示例架构中,软件架构806可被概念化为层的堆栈,其中每个层提供特定的功能。例如,软件架构806可包括诸如操作系统802、库820、应用816、和表示层814的层。在操作上,这些层内的应用816和/或其他组件可通过软件堆栈来调用应用程序接口(API)API调用808,并接收响应于API调用808的响应。所示的层本质上是代表性的,并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件818,而其他操作系统可提供这种层。其他软件架构可包括其他或不同的层。
操作系统802可管理硬件资源并提供通用服务。操作系统802可包括例如内核822、服务824、和驱动器826。内核822可用作硬件与其他软件层之间的抽象层。例如,内核822可负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务824可为其他软件层提供其他公共服务。驱动器826负责控制或与基础硬件接口连接。例如,取决于硬件配置,驱动器826包括显示驱动器、相机驱动器、
Figure BDA0003376441500000151
驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、
Figure BDA0003376441500000152
驱动器、音频驱动器、电源管理驱动器等。
库820提供由应用816和/或其他组件和/或层使用的公共基础结构。库820提供允许其他软件组件以比直接与底层操作系统802功能(例如,内核822,服务824和/或驱动器826)接口连接的方式更容易的方式执行任务的功能。库820可包括系统库844(例如,C标准库),其可提供诸如存储器分配功能,字符串操纵功能,数学功能等的功能。此外,库820可包括API库846,例如媒体库(例如,支持各种媒体格式(例如MPREG4,H.264,MP3,AAC,AMR,JPG,PNG)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2D和3D图形内容的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、网络库(例如,可提供网络浏览功能的WebKit))等。库820还可包括各种各样的其他库848,以向应用816和其他软件组件/模块提供许多其他API。
框架/中间件818(有时也称为中间件)提供可由应用816和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件818可提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件818可提供可由应用816和/或其他软件组件/模块使用的广泛的其他API,其中一些可以特定于特定操作系统802或平台。
应用816包括内置应用838和/或第三方应用840。代表性内置应用838的示例可包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用840可包括由除特定平台的卖方以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM
Figure BDA0003376441500000161
Phone或其它移动操作系统的移动操作系统上运行的移动软件。第三方应用840可调用由移动操作系统(例如,操作系统802)提供的API调用808,以促进本文描述的功能。
应用816可使用内置操作系统功能(例如,内核822、服务824和/或驱动器826)、库820、以及框架/中间件818来创建用户界面以与系统的用户进行交互。替代地,或者附加地,在一些系统中,可以通过呈现层(例如呈现层814)与用户进行交互。在这些系统中,应用/组件“逻辑”可以与跟用户进行互动的应用/组件的各个方面分开。
图12是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器1200的组件的框图。具体地,图12示出了具有计算机系统的示例形式的机器1200的图解表示,在其中可执行用于使机器1200执行本文讨论的任何一种或多种方法的指令1210(例如,软件、程序、应用、小应用、应用程序或其他可执行代码)。这样,指令1210可用于实现本文描述的模块或组件。指令1210将通用的、未编程的机器1200转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器1200。在替代实施例中,机器1200作为独立设备运行,或者可耦接(例如,联网)到其他机器。在联网部署中,机器1200可在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1200可包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其它智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其它方式执行指令1210的任何机器,这些指令指定了机器1200将要采取的动作。此外,尽管仅示出了单个机器1200,但术语“机器”还应被认为包括单独地或共同地执行指令1210以执行本文讨论的方法中的任何一个或多个方法的机器的集合。
机器1200可包括处理器1204,存储器/存储设备1206和I/O组件1218,它们可被配置为例如经由总线1202彼此通信。存储器/存储设备1206可包括存储器1214(诸如主存储器、或其他存储器),以及存储单元1216,二者可被处理器1204诸如经由总线1202访问。存储单元1216和存储器1214存储体现此处描述的方法或功能中的任何一个或多个的指令1210。指令1210还可在由机器1200执行期间全部或部分地驻留在存储器1214内,存储单元1216内,处理器1204中的至少一个处理器内(例如,处理器的高速缓存存储器内),或其任何合适的组合内。因此,存储器1214、存储单元1216和处理器1204的存储器是机器可读介质的示例。
I/O组件1218可包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器1200中的特定I/O组件1218将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应当理解,I/O组件1218可包括在图12中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对I/O组件1218进行分组,并且分组绝不是限制性的。在各种示例实施例中,I/O组件1218可包括输出组件1226和输入组件1228。输出组件1226可包括视觉组件(例如显示器,诸如,等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、或阴极射线管(CRT))、听觉组件(例如扬声器)、触觉组件(例如,振动马达,抗性机制)、其他信号发生器等。输入组件1228可包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘、或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或其他指向仪器)、触知输入组件(例如,物理按钮、提供触摸的位置和力或触摸手势的触摸屏,或其它触知输入组件)、音频输入组件(例如,麦克风)等。
在进一步的示例实施例中,I/O组件1218可包括除各种各样的其他组件外的生物特征组件1230、运动组件1234、环境组件1236或位置组件1238。例如,生物特征组件1230可包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势、或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水、或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别、或基于脑电图的识别)等的组件。运动组件1234可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1236可包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如,气压计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1238可包括位置传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如,检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如,磁力计)等。
可使用多种技术来实现通信。I/O组件1218可包括通信组件1240,该通信组件1240可操作以分别经由耦接(coupling)1222和耦接1224将机器1200耦接到网络1232或设备1220。例如,通信组件1240可包括网络接口组件或与网络1232接口连接的其它合适的设备。在进一步的示例中,通信组件1240可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0003376441500000191
组件(例如
Figure BDA0003376441500000192
低能耗)、
Figure BDA0003376441500000193
组件和经由其它形态提供通信的其它通信组件。设备1220可以是另一机器或各种各样的外围设备(例如,经由通用串行总线(USB)耦接的外围设备)中的任何一个。
此外,通信组件1240可检测标识符或包括可操作以检测标识符的组件。例如,通信组件1240可包括射频识别(RFID)标签读取器组件、NFC智能标记检测组件、光学读取器组件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、多维条形码(例如快速响应(QR)码、Aztec码、数据矩阵、数字图形、最大码、PDF417、超码、UCC RSS-2D条形码)和其他光学码的光学传感器)、或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可经由通信组件1240来获得各种信息,例如经由互联网协议(IP)地理位置来获得位置、经由
Figure BDA0003376441500000194
信号三角测量来获得位置、经由检测可指示特定位置的NFC信标信号来获得位置等。
术语表
在此上下文中,“载波信号”是指能够存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令的通信。指令可经由网络接口设备使用传输介质并且使用许多公知的传输协议中的任何一种来在网络上发送或接收。
在此上下文中,“客户端设备”是指与通信网络接口连接以从一个或多个服务器系统或其他客户端设备获取资源的任何机器。客户端设备可以是但不限于:移动电话、台式计算机、便携式计算机、便携式数字助理(PDA)、智能电话、平板电脑、超级本、上网本、便携式计算机、多处理器系统、基于微处理器的或可编程的消费类电子产品、游戏机、机顶盒、或用户可用于访问网络的任何其他通信设备。
在此上下文中,“通信网络”是指网络的一个或多个部分,其可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网络(PSTN)的一部分、老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0003376441500000201
网络、另一类型的网络,或两个或更多个此类网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一类型的蜂窝或无线耦接。在该示例中,耦接可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。
在此上下文中,“短时消息”是指在时间受限的持续时间内可访问的消息。短时消息可以是文本、图像、视频等。短时消息的访问时间可以由消息发送者设置。或者,访问时间可以是默认设置,也可以是接收者指定的设置。无论设置技术如何,消息都是短时的。
在此上下文中,“机器可读介质”是指能够临时或永久存储指令和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓冲存储器、其他类型的存储设备(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被理解为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储由机器执行的指令(例如,代码)的任何介质或多种介质的组合,以使得这些指令在被机器的一个或多个处理器执行时使机器执行本文所述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
在此上下文中,“组件”是指具有由功能或子例程调用、分支点、应用程序接口(API)、或其他用于特定处理或控制功能的分区或模块化的技术定义的边界的设备,物理实体或逻辑。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件一起使用的被封装的功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可构成软件组件(例如,体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统、或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可被软件(例如,应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。硬件组件也可机械地、电子地或以其任何合适的组合来实现。例如,硬件组件可包括永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。一旦通过此类软件进行配置,硬件组件将成为为执行配置的功能而专门定制的特定机器(或机器的特定组件),并且不再是通用处理器。应理解,可出于成本和时间方面的考虑来作出在专用且永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实施硬件组件的决定。因此,短语“硬件组件”(或“硬件实现的组件”)应被理解为包含有形实体,是被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)为以某种方式操作或执行此处所述的某些操作的实体。考虑其中硬件组件被临时配置(例如,编程)的实施例,每个硬件组件不需要在时间的任何实例处被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间分别被配置为不同的专用处理器(例如,包括不同的硬件组件)。因此,软件相应地配置一个或多个特定处理器,例如,以在一个时间实例上构成特定的硬件组件,并在不同的时间实例上构成不同的硬件组件。硬件组件可向其他硬件组件提供信息,或从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,通信可以通过在两个或多个硬件组件之间的信号传输(例如,在适当的电路和总线上)来实现。在其中多个硬件组件在不同时间被配置或实例化的实施例中,可以例如通过在多个硬件组件可访问的存储器结构中存储和取得信息来实现这种硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在以后的时间访问存储器设备以取得和处理所存储的输出。硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。本文描述的示例方法的各种操作可以至少部分地由临时(例如,通过软件)配置或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这种处理器都可构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的组件来执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中的相关操作的性能或者作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)和经由一个或多个适当的接口(例如,应用程序接口(API))来访问。某些操作的性能可能会分布在处理器之间,不仅驻留在单个计算机中,而且会部署在多个计算机上。在一些示例实施例中,处理器或处理器实现的组件可位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场中)。在其他示例实施例中,处理器或处理器实现的组件可被分布在多个地理位置上。
在此上下文中,“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值,并产生用于操作机器的相应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑仿真的物理电路)。处理器例如可以是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或其任意组合。处理器可进一步是具有两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器。
在此上下文中,“时间戳”是指字符或编码信息的序列,其标识何时发生特定事件,例如给出日期和时间,有时精确到几分之一秒。
在此上下文中,“提升力(LIFT)”是相对于随机选择目标模型所测量的,因为具有增强的响应(相对于总体而言)在预测或分类情况下的目标模型的性能的度量。
在此上下文中的“音素对齐”,音素是指将一个单词与另一个单词区分开的语音单元。一个音素可能由一系列的闭合、爆破和吸气事件组成;或者,连音可能会从后元音过渡到前元音。因此,不仅可以通过语音信号所包含的音素来描述语音信号,而且可以通过音素的位置来描述语音信号。因此,音素对齐可被描述为波形中音素的“时间对齐”,以便确定语音信号中每个音素的适当顺序和位置。
在此上下文中,“音频到视觉转换”是指可听语音信号到可见语音的转换,其中可见语音可包括代表可听语音信号的嘴形。
在此上下文中的“时延神经网络(TDNN)”,TDNN是一种人工神经网络架构,其主要目的是处理顺序数据。一个示例是将连续音频转换为用于语音识别的分类音素标签流。
在此上下文中的“双向长-短期存储器(BLSTM)”是指可在任意时间间隔上记忆值的递归神经网络(RNN)架构。随着学习的进行,存储的值不被修改。RNN允许神经元之间的向前和向后连接。给定具有未知大小和事件之间的持续时间的时滞,BLSTM非常适合时间序列的分类、处理和预测。

Claims (20)

1.一种方法,包括:
导致在客户端设备处显示图形用户界面(GUI),所述GUI包括来自所述客户端设备的相机的实时相机数据的显示;
接收到所述客户端设备的所述GUI上的输入;
响应于到所述客户端设备的所述GUI上的所述输入来访问媒体内容,所述媒体内容包括多个媒体类别,所述多个媒体类别至少包括第一媒体类别;
至少基于来自所述客户端设备的所述相机的所述实时相机数据来选择所述第一媒体类别;
基于所述第一媒体类别来过滤所述媒体内容;以及
导致在所述客户端设备的所述GUI内显示所过滤的媒体内容的呈现,所述过滤的媒体内容的所述呈现包括在所述GUI中的第一位置处的所述第一媒体类别的标识和在所述GUI中的第二位置处的包括所述过滤的媒体内容的媒体轮播。
2.根据权利要求1所述的方法,其中,所述多个媒体类别各自对应媒体类别标识符,所述第一媒体类别对应第一媒体类别标识符,并且所述第一媒体类别的所述标识包括:
导致在所述GUI中的所述第一位置处显示包括所述第一媒体类别标识符的一组媒体类别标识符;以及
基于根据所述实时相机数据选择所述第一媒体类别,向所述GUI中与所述第一媒体类别相对应的所述第一媒体类别标识符应用图形图标。
3.根据权利要求1所述的方法,其中,接收到所述客户端设备的所述GUI上的输入包括:
接收对所述输入的启动,对所述输入的启动包括到所述客户端设备的所述GUI上的触觉输入;
检测所述触觉输入的属性超过阈值;以及
响应于所述输入的所述属性超出阈值而访问所述媒体内容。
4.根据权利要求3所述的方法,其中,所述触觉输入的所述属性包括以下一项或多项:
输入压力;以及
输入持续时间。
5.根据权利要求1所述的方法,其中,所述多个媒体类别包括所述第一媒体类别和第二媒体类别,并且所述方法还包括:
接收对所述第二媒体类别的选择;
基于对所述第二媒体类别的所述选择来过滤所述媒体内容;以及
基于所述第二媒体类别更新所过滤的媒体内容的所述呈现。
6.根据权利要求5所述的方法,其中,所述方法还包括:
至少基于所述实时相机数据对所述过滤的媒体内容进行排序。
7.根据权利要求1所述的方法,其中,所述输入包括对所述GUI内的位置的选择,并且至少基于所述实时相机数据选择所述第一媒体类别包括:
识别与所述GUI内的所述位置处的所述第一媒体类别对应的对象。
8.根据权利要求1所述的方法,其中,至少基于所述实时相机数据选择所述第一媒体类别包括:
检测与所述实时相机数据内的所述第一媒体类别对应的多个图像特征。
9.一种系统,包括:
存储器;以及
至少一个硬件处理器,其耦合到所述存储器并包括使所述系统执行操作的指令,所述操作包括:
导致在客户端设备处显示图形用户界面(GUI),所述GUI包括来自所述客户端设备的相机的实时相机数据的显示;
接收到所述客户端设备的所述GUI上的输入;
响应于到所述客户端设备的所述GUI上的所述输入来访问媒体内容,所述媒体内容包括多个媒体类别,所述多个媒体类别至少包括第一媒体类别;
至少基于来自所述客户端设备的所述相机的所述实时相机数据来选择所述第一媒体类别;
基于所述第一媒体类别来过滤所述媒体内容;以及
导致在所述客户端设备的所述GUI内显示所过滤的媒体内容的呈现,所述过滤的媒体内容的所述呈现包括在所述GUI中的第一位置处的所述第一媒体类别的标识和在所述GUI中的第二位置处的包括所述过滤的媒体内容的媒体轮播。
10.根据权利要求9所述的系统,其中,所述多个媒体类别各自对应媒体类别标识符,所述第一媒体类别对应第一媒体类别标识符,并且所述第一媒体类别的所述标识包括:
导致在所述GUI中的所述第一位置处显示包括所述第一媒体类别标识符的一组媒体类别标识符;以及
基于根据所述实时相机数据选择所述第一媒体类别,向所述GUI中与所述第一媒体类别相对应的所述第一媒体类别标识符应用图形图标。
11.根据权利要求9所述的系统,其中,接收到所述客户端设备的所述GUI上的输入包括:
接收对所述输入的启动,对所述输入的启动包括到所述客户端设备的所述GUI上的触觉输入;
检测所述触觉输入的属性超过阈值;以及
响应于所述输入的所述属性超出阈值而访问所述媒体内容。
12.根据权利要求11所述的系统,其中,所述触觉输入的所述属性包括以下一项或多项:
输入压力;以及
输入持续时间。
13.根据权利要求9所述的系统,其中,所述多个媒体类别包括所述第一媒体类别和第二媒体类别,并且所述指令还包括:
接收对所述第二媒体类别的选择;
基于对所述第二媒体类别的所述选择来过滤所述媒体内容;以及
基于所述第二媒体类别更新所过滤的媒体内容的所述呈现。
14.根据权利要求13所述的系统,其中所述指令还包括:
至少基于所述实时相机数据对所述过滤的媒体内容进行排序。
15.根据权利要求9所述的系统,其中,所述输入包括对所述GUI内的位置的选择,并且至少基于所述实时相机数据选择所述第一媒体类别包括:
识别与所述GUI内的所述位置处的所述第一媒体类别对应的对象。
16.根据权利要求9所述的系统,其中,至少基于所述实时相机数据选择所述第一媒体类别包括:
检测与所述实时相机数据内的所述第一媒体类别对应的多个图像特征。
17.一种非暂时性机器可读存储介质,包括指令,所述指令在由机器的一个或多个处理器执行时使机器执行操作,所述操作包括:
导致在客户端设备处显示图形用户界面(GUI),所述GUI包括来自所述客户端设备的相机的实时相机数据的显示;
接收到所述客户端设备的所述GUI上的输入;
响应于到所述客户端设备的所述GUI上的所述输入来访问媒体内容,所述媒体内容包括多个媒体类别,所述多个媒体类别至少包括第一媒体类别;
至少基于来自所述客户端设备的所述相机的所述实时相机数据来选择所述第一媒体类别;
基于所述第一媒体类别来过滤所述媒体内容;以及
导致在所述客户端设备的所述GUI内显示所过滤的媒体内容的呈现,所述过滤的媒体内容的所述呈现包括在所述GUI中的第一位置处的所述第一媒体类别的标识和在所述GUI中的第二位置处的包括所述过滤的媒体内容的媒体轮播。
18.根据权利要求17所述的非暂时性机器可读存储介质,其中,所述多个媒体类别各自对应媒体类别标识符,所述第一媒体类别对应第一媒体类别标识符,并且所述第一媒体类别的所述标识包括:
导致在所述GUI中的所述第一位置处显示包括所述第一媒体类别标识符的一组媒体类别标识符;以及
基于根据所述实时相机数据选择所述第一媒体类别,向所述GUI中与所述第一媒体类别相对应的所述第一媒体类别标识符应用图形图标。
19.根据权利要求17所述的非暂时性机器可读存储介质,其中,接收到所述客户端设备的所述GUI上的输入包括:
接收对所述输入的启动,对所述输入的启动包括到所述客户端设备的所述GUI上的触觉输入;
检测所述触觉输入的属性超过阈值;以及
响应于所述输入的所述属性超出阈值而访问所述媒体内容。
20.根据权利要求19所述的非暂时性机器可读存储介质,其中,所述触觉输入的所述属性包括以下一项或多项:
输入压力;以及
输入持续时间。
CN202080039215.8A 2019-03-29 2020-03-18 动态媒体选择菜单 Pending CN113892096A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962826640P 2019-03-29 2019-03-29
US62/826,640 2019-03-29
US16/819,659 US20200310601A1 (en) 2019-03-29 2020-03-16 Dynamic media selection menu
US16/819,659 2020-03-16
PCT/US2020/023348 WO2020205246A1 (en) 2019-03-29 2020-03-18 Dynamic media selection menu

Publications (1)

Publication Number Publication Date
CN113892096A true CN113892096A (zh) 2022-01-04

Family

ID=72607654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080039215.8A Pending CN113892096A (zh) 2019-03-29 2020-03-18 动态媒体选择菜单

Country Status (5)

Country Link
US (1) US20200310601A1 (zh)
EP (1) EP3948583A1 (zh)
KR (1) KR20210138770A (zh)
CN (1) CN113892096A (zh)
WO (1) WO2020205246A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD846565S1 (en) * 2017-05-31 2019-04-23 Intuit Inc. Display device with a graphical user interface for categorization options
USD870121S1 (en) * 2017-05-31 2019-12-17 Intuit Inc. Display device with a graphical user interface for categorization options
USD914744S1 (en) * 2019-03-29 2021-03-30 Snap Inc. Display screen or portion thereof with a transitional graphical user interface
USD915452S1 (en) 2019-03-29 2021-04-06 Snap Inc. Display screen or portion thereof with a graphical user interface
USD940744S1 (en) * 2019-09-18 2022-01-11 Beijing Xiaomi Mobile Software Co., Ltd. Telephone display screen or portion thereof with animated graphical user interface
US11340762B2 (en) * 2020-03-26 2022-05-24 Snap Inc. Ranking augmented reality content based on messaging contacts
US11604562B2 (en) 2020-06-10 2023-03-14 Snap Inc. Interface carousel for use with image processing software development kit
US11698822B2 (en) 2020-06-10 2023-07-11 Snap Inc. Software development kit for image processing
USD938982S1 (en) * 2020-06-12 2021-12-21 China-Germany(Zhuhai)Artificial Intelligence Institute Co., Ltd Mobile device with graphical user interface for shooting, modeling, and editing of scenes
US20210405831A1 (en) * 2020-06-25 2021-12-30 Snap Inc. Updating avatar clothing for a user of a messaging system
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
USD1009073S1 (en) * 2021-03-17 2023-12-26 Beijing Xiaomi Mobile Software Co., Ltd. Pair of display screens with animated graphical user interface
US11880542B2 (en) 2021-05-19 2024-01-23 Snap Inc. Touchpad input for augmented reality display device
US11928306B2 (en) 2021-05-19 2024-03-12 Snap Inc. Touchpad navigation for augmented reality display device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650575B2 (en) * 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US8464176B2 (en) * 2005-01-19 2013-06-11 Microsoft Corporation Dynamic stacking and expansion of visual items
US9547938B2 (en) * 2011-05-27 2017-01-17 A9.Com, Inc. Augmenting a live view
US9860451B2 (en) * 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10552473B2 (en) * 2016-08-31 2020-02-04 Facebook, Inc. Systems and methods for processing media content that depict objects
US10460171B2 (en) * 2016-08-31 2019-10-29 Facebook, Inc. Systems and methods for processing media content that depict objects
US11635872B2 (en) * 2016-11-22 2023-04-25 Snap Inc. Smart carousel of image modifiers

Also Published As

Publication number Publication date
US20200310601A1 (en) 2020-10-01
WO2020205246A1 (en) 2020-10-08
KR20210138770A (ko) 2021-11-19
EP3948583A1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
US11706267B2 (en) Animated chat presence
CN113892096A (zh) 动态媒体选择菜单
US11170035B2 (en) Context based media curation
US11563702B2 (en) Personalized avatar notification
CN112041891A (zh) 增强表情系统
US11688119B2 (en) Animated expressive icon
CN112567360A (zh) 内容建议系统
CN113228693B (zh) 动态上下文媒体过滤器
CN115698907A (zh) 共享增强现实系统
KR20210116652A (ko) 인터랙티브 증강 현실 시스템
CN111954892A (zh) 内容建议系统
CN115335820A (zh) 用于大规模增强现实的位置映射
US20240160655A1 (en) Media request system
CN113966525A (zh) 基于位置的增强现实系统
CN115698924A (zh) 交互式消息传送标贴
CN115280357A (zh) 社交媒体接口
KR20240093971A (ko) 동적 컨텍스트 미디어 필터

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