CN110852143B - 在增强现实环境中的交互式文本效果 - Google Patents

在增强现实环境中的交互式文本效果 Download PDF

Info

Publication number
CN110852143B
CN110852143B CN201910775649.3A CN201910775649A CN110852143B CN 110852143 B CN110852143 B CN 110852143B CN 201910775649 A CN201910775649 A CN 201910775649A CN 110852143 B CN110852143 B CN 110852143B
Authority
CN
China
Prior art keywords
content
user
object model
real world
real
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910775649.3A
Other languages
English (en)
Other versions
CN110852143A (zh
Inventor
约翰·塞谬尔·巴尼特
约书亚·查尔斯·哈里斯
马修·西马里
玛雅·帕特森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Meta Platforms 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 Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN110852143A publication Critical patent/CN110852143A/zh
Application granted granted Critical
Publication of CN110852143B publication Critical patent/CN110852143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Abstract

本申请涉及在增强现实环境中的交互式文本效果。在一个实施例中,一种方法包括:在场景的一个或更多个第一视频帧中识别现实世界对象;基于场景的上下文信息确定与一个或更多个图形属性相关联的替换内容;基于现实世界对象生成对象模型;将内容与对象模型的将由内容替换的部分相关联,其中,该关联指明内容将符合待被替换的部分所位于的对象模型表面;生成一个或更多个第二视频帧,其中,现实世界对象的至少一个表面在每个第二视频帧中由对象模型的渲染替换,该对象模型的渲染包括与对象模型的该部分相关联的内容并且具有内容的一个或更多个图形属性;以及显示一个或更多个第二视频帧。

Description

在增强现实环境中的交互式文本效果
相关申请
本申请要求于2018年8月21日提交的第16/108,024号美国专利申请的优先权,该美国专利申请以其整体并入本文。
技术领域
本公开总体上涉及增强现实环境,并且特别是涉及用于在增强现实环境中呈现内容的系统和方法。
背景
增强现实(AR)效果是叠加或合并到现实世界场景的用户视野中的计算机生成的视觉效果(例如,图像和动画)。某些AR效果可以被配置为跟踪在现实世界中的对象。例如,计算机生成的独角兽可以如在视频中捕获的被放置在现实世界桌子上。当桌子在所捕获的视频中移动(例如,由于摄像机移动或桌子被搬走)时,所生成的独角兽可以跟随桌子,使得它继续出现在桌子的顶部上。为了实现这个效果,AR应用可以使用跟踪算法来跟踪出现在现实世界场景中的对象的位置和/或定向,并且使用得到的跟踪数据来生成适当的AR效果。因为当场景被观察时AR效果可以实时或接近实时地增强现实世界场景,所以可能需要实时或接近实时地生成跟踪数据,使得AR效果如所期望的出现。
可以包括社交网络网站的社交网络系统可以使它的用户(例如个人或组织)能够与它互动以及通过它彼此互动。社交网络系统可以用来自用户的输入来创建并在社交网络系统中存储与用户相关联的用户简档(user profile)。用户简档可以包括人口统计信息、通信渠道信息以及关于用户的个人兴趣的信息。社交网络系统还可以用来自用户的输入来创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,发帖墙(wall post)、照片分享、事件组织、消息传送、游戏或广告)以便于在用户之间或当中的社交互动。
社交网络系统可以通过一个或更多个网络向用户的移动设备或其他计算设备发送与它的服务相关的内容或消息。用户还可以在用户的移动设备或其他计算设备上安装软件应用,用于访问用户的用户简档和在社交网络系统内的其他数据。社交网络系统可以生成一组个性化的内容对象以显示给用户,例如聚集了关连(connect)到该用户的其他用户的动态(story)的动态消息(newsfeed)。
移动计算设备(例如智能手机、平板计算机或膝上型计算机)可以包括用于确定它的位置、方向或定向的功能,例如GPS接收器、罗盘、陀螺仪或加速度计。这种设备还可以包括用于无线通信(例如蓝牙通信、近场通信(NFC)、或红外(IR)通信、或与无线局域网(WLAN)或蜂窝电话网络的通信)的功能。这种设备还可以包括一个或更多个摄像机、扫描仪、触摸屏、麦克风或扬声器。移动计算设备还可以执行软件应用,例如游戏、web浏览器或社交网络应用。使用社交网络应用,用户可以与他们的社交网络中的其他用户关连、交流和分享信息。
特定实施例的概述
本文描述的实施例涉及用于实现增强现实(AR)应用以与场景中的现实世界对象相关联地显示内容(例如文本或图像)的系统和方法。可以通过替换或添加内容(例如文本)来修改现实世界对象,以形成修改后的现实世界对象。可以使用现实世界对象的3D模型来生成修改后的现实世界对象。可以基于场景中的现实世界对象来生成3D模型。替换内容可以与模型的表面相关联。模型和相关联的替换内容可以被包括在场景中以替换初始现实世界对象。
在特定实施例中,AR应用可以确定要替换现实世界对象的至少一部分的替换内容。待被替换的该部分可以是例如在现实世界对象的表面上的现有内容或者没有内容的现实世界对象的表面。可以基于从用户接收的输入来确定替换内容。例如,用户可以调用用户界面命令以指定特定文本将被显示在特定现实世界对象上。用户可以指定附加条件,例如文本将被显示到的目标用户、文本仅被显示给用户的朋友、文本仅在特定时间段期间或在特定日期被显示、或者其他合适的条件。可以基于与场景相关联的上下文信息来确定替换内容。上下文信息可以包括显示场景的计算设备的位置、当前时间或当前日期。替换内容可以具有与现实世界对象相同的图形属性或者与在现实世界对象上的现有内容相同的属性。图形属性可以包括字体、字体大小、样式、前景颜色、背景颜色、定向、语言等。
在特定实施例中,AR应用可以使用对象识别、SLAM或其他合适的技术,基于现实世界对象来生成对象模型。AR应用可以将替换内容与对象模型的待被替换的部分相关联,以指明该内容符合待被替换的部分所位于的至少一个对象模型表面。例如,对象模型的待被替换的部分可以对应于在现实世界对象的表面上的现有内容的边界框。AR应用可以基于输入视频帧来生成一个或更多个输出视频帧。现实世界对象的至少一个表面可以在每个输出视频帧中由对象模型的渲染(rendering of the object model)替换。对象模型的渲染可以包括与对象模型的该部分相关联的内容。对象模型的渲染可以具有内容的一个或更多个图形属性。内容可以符合待被替换的部分所位于的对象模型表面。
在特定实施例中,可以对AR应用进行训练以使用摄像机来识别目标(例如在现实世界中的标记、词、标识或其他排列)并触发效果(例如替换或添加到目标,或使对象显示在AR环境中)。在特定实施例中,用户可以例如以文本内容的形式向场景添加上下文。然后,文本可以在增强现实环境中实时地出现在相关联的地理位置处。文本可以替换现有文本,或者可以显示在以前没有文本的地方上(例如,墙壁上)。文本可以在AR环境中放置在垂直的平坦表面(例如墙壁)上,或者固定在水平表面(例如桌子)上。文本的外观(例如颜色、纹理和明暗分布(lighting))可以基于AR环境中围绕文本的区域的图形属性,使得文本看起来是场景的一部分。用户可以通过选择在设备上的按钮或图标来讲话或输入文本,该按钮或图标使设备听或提供文本输入界面。添加并放置捕获前的(pre-capture)内容然后在内容和相关联的效果被显示的同时记录视频对于用户来说,可能比拍摄内容或效果的照片并返回到捕获后的(post-capture)视频且将内容和效果添加到视频更方便。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括上面公开的实施例的部件、元件、特征、功能、操作或步骤中的全部、一些或没有一个被包括。根据本发明的实施例在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中被具体公开,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求(特别是多项权利要求)的有意往回引用而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合的形式或以与所附权利要求的任何特征的任何组合的形式被要求保护。
附图说明
图1A示出了包括在图像或视频帧内捕获的现实世界对象和相关联的文本的示例场景。
图1B示出了在基于在图像或视频帧内捕获的示例场景中的现实世界对象而生成的场景模型中包括的示例模型。
图1C示出了包括现实世界对象和相关联的替换文本的示例场景。
图2示出了基于现有文本的样式和位置用不同的文本替换在现实世界能量饮料罐上的现有文本的示例。
图3示出了基于现有文本的样式、位置和定向用不同的文本替换在现实世界茶杯上的现有文本的示例。
图4示出了基于现有文本的样式和位置用不同的文本替换在现实世界街道标志上的现有文本的示例。
图5示出了基于现有文本的样式和位置用不同的文本替换在现实世界长椅上的现有文本的示例。
图6示出了用于在增强现实环境中替换在现实世界对象上的文本的示例方法。
图7示出了示例网络环境。
图8示出了示例社交图。
图9示出了示例计算机系统。
示例实施例的描述
本文描述的实施例涉及用于实现增强现实(AR)应用以与场景中的现实世界对象相关联地显示内容(例如文本或图像)的系统和方法。可以通过替换或添加内容(例如文本)来修改现实世界对象,以形成修改后的现实世界对象。可以使用现实世界对象的3D模型来生成修改后的现实世界对象。可以基于场景中的现实世界对象来生成3D模型。替换内容可以与模型的表面相关联。模型和相关联的替换内容可以被包括在场景中以替换初始现实世界对象。
在特定实施例中,AR应用可以确定要替换现实世界对象的至少一部分的替换内容。待被替换的该部分可以是例如在现实世界对象的表面上的现有内容或者没有内容的现实世界对象的表面。可以基于从用户接收的输入来确定替换内容。例如,用户可以调用用户界面命令以指定特定文本将被显示在特定现实世界对象上。用户可以指定附加条件,例如文本将被显示到的目标用户、文本仅被显示给用户的朋友、文本仅在特定时间段期间或在特定日期被显示、或者其他合适的条件。可以基于与场景相关联的上下文信息来确定替换内容。上下文信息可以包括显示场景的计算设备的位置、当前时间或当前日期。替换内容可以具有与现实世界对象相同的图形属性或者与在现实世界对象上的现有内容相同的属性。图形属性可以包括字体、字体大小、样式、前景颜色、背景颜色、定向、语言等。
在特定实施例中,AR应用可以使用对象识别、SLAM或其他合适的技术,基于现实世界对象来生成对象模型。AR应用可以将替换内容与对象模型的待被替换的部分相关联,以指明该内容符合待被替换的部分所位于的至少一个对象模型表面。例如,对象模型的待被替换的部分可以对应于在现实世界对象的表面上的现有内容的边界框。AR应用可以基于输入视频帧来生成一个或更多个输出视频帧。现实世界对象的至少一个表面可以在每个输出视频帧中由对象模型的渲染替换。对象模型的渲染可以包括与对象模型的该部分相关联的内容。对象模型的渲染可以具有内容的一个或更多个图形属性。内容可以符合待被替换的部分所位于的对象模型表面。
在特定实施例中,可以对AR应用进行训练以使用摄像机来识别目标(例如在现实世界中的标记、词、标识或其他排列)并触发效果(例如替换或添加到目标,或使对象显示在AR环境中)。在特定实施例中,用户可以例如以文本内容的形式向场景添加上下文。然后,文本可以在增强现实环境中实时地出现在相关联的地理位置处。文本可以替换现有文本,或者可以显示在以前没有文本的地方上(例如,墙壁上)。文本可以在AR环境中放置在垂直的平坦表面(例如墙壁)上,或者固定在水平表面(例如桌子)上。文本的外观(例如颜色、纹理和明暗分布)可以基于AR环境中围绕文本的区域的图形属性,使得文本看起来是场景的一部分。用户可以通过选择在设备上的按钮或图标来讲话或输入文本,该按钮或图标使设备听或提供文本输入界面。添加并放置捕获前的内容然后在内容和相关联的效果被显示的同时记录视频对于用户来说,可能比拍摄内容或效果的照片并返回到捕获后的视频且将内容和效果添加到视频更方便。
在特定实施例中,AR应用可以被配置为在任何计算设备(包括移动设备(例如,智能手机、平板计算机、膝上型计算机、AR眼镜等)和其他类型的计算设备(例如,台式计算机))上进行操作。计算设备可以具有不同的硬件资源和能力,包括例如CPU和/或GPU、存储器、高速缓存、存储装置、光学传感器、显示器以及可能影响由AR应用产生的AR效果的质量的任何其他系统资源。在特定实施例中,AR应用可以被配置成获取由通信地耦合到正在运行AR应用的设备的摄像机捕获的现实世界场景的视频帧。通过处理视频帧,AR应用可以跟踪在视频帧内捕获的现实世界对象。在特定实施例中,AR应用可以支持多种类型的跟踪算法。
图1A示出了包括在图像或视频帧105内捕获的现实世界对象和相关联的文本的示例场景100。场景100可以在增强现实(AR)应用中显示在用户的客户端系统上。在特定实施例中,视频帧105连同连续帧可以由AR应用使用一个或更多个跟踪算法来进行处理以跟踪在视频帧中的一个或更多个现实世界对象。场景100包括由正运行AR应用的设备的摄像机捕获的示例现实世界对象。示例现实世界对象包括桌子130、人132a-132c、上面印刷了文本“FIFA世界杯6月14日—7月15日(FIFA WORLD CUP14JUNE–15JULY)”的海报102和上面印刷了文本“出去探险吧!(Go out and Explore!)”的另一海报104。所示场景100还包括上面印刷了文本“茶杯(Tea Cup)”的茶杯106和上面印刷了文本“超级能量饮料浓缩咖啡(MEGAENERGY DRINK ESPRESSO)”的能量饮料罐108。现实世界对象102、104、106、108和130、132a-132c在本文可以被称为初始对象,因为它们自从被摄像机捕获以来没有被修改过。
在特定实施例中,可以使用本文公开的技术(例如通过替换或添加内容(例如文本))来修改来自场景100的现实世界对象102、104、106、108,以形成修改后的现实世界对象(例如图1C中所示的那些修改后的现实世界对象)。可以使用现实世界对象102、104、106、108的3D模型来生成修改后的现实世界对象。可以基于场景100中的现实世界对象102、104、106、108来生成3D模型。替换内容可以与模型的表面相关联。例如,一个或更多个模型可以例如通过用替换内容替换现实世界对象的内容(例如在茶杯106的表面上的文本“茶杯”)或者将附加文本或图像添加到海报104来与替换内容相关联。与替换内容相关联的模型可以被包括在场景中,作为对相应的初始现实世界对象的替换。例如,当场景的后续图像或视频帧被渲染时,基于模型并包括替换内容的修改后的现实世界对象可以在相应的初始现实世界对象的位置处被包括在所渲染的帧或图像中,使得具有新内容的修改后的现实世界对象出现在所渲染的帧或图像中。新内容可以显示在与初始现实世界对象的表面相对应的修改后的现实世界对象的表面上。
在特定实施例中,如果新内容替换初始现实世界对象的现有内容,则新内容可以显示在与现有内容所位于的表面相对应的表面上。可以基于在初始现实世界对象的相应表面上的现有内容的边界框来确定新内容将被显示于的模型的表面的区域。如果新内容被添加而没有替换现实世界对象的现有内容,则新内容被显示于的模型的表面的区域可以基于诸如在初始现实世界对象的相应表面上的直线或空白空间的特征。
图1B示出了在基于在图像或视频帧105内捕获的示例场景100中的现实世界对象而生成的场景模型110中包括的示例模型。场景模型110包括来自场景100的现实世界对象的模型。模型包括海报模型112、114、茶杯模型116和能量饮料罐模型118。海报模型112包括海报对象102的文本“FIFA世界杯6月14日—7月15日”的边界框113。类似地,海报模型114包括海报对象104的文本“出去探险吧!”的边界框115。场景模型可以包括其他现实世界对象(例如桌子130和人132a-132c)的模型。场景模型110可以包括模型112、114、116、118的位置的坐标。模型的坐标可以对应于在场景模型110中的模型的位置,其也可以对应于在场景100中的现实世界对象的位置。
在特定实施例中,场景模型110可以包括来自场景100的现实世界对象的子集的模型。在图1B的示例中,场景模型110包括海报102、104、茶杯106和能量饮料罐108的模型。示例场景模型110不包括桌子130、人132a-132c和附到能量饮料罐108的吸管的模型。场景模型110可以包括来自场景100的现实世界对象的子集的模型以减少被执行来生成场景模型110的计算量,和/或防止内容与某些类型的对象相关联或在某些类型的对象中被替换,这些类型的对象例如是小对象(例如,吸管)或所识别的类型(recognized type)的对象(例如桌子、窗户、警告消息、交通标志或人)。可以使用对象识别技术(例如图像分割等)来识别所识别的类型的对象。
在特定实施例中,可以基于3D现实世界对象来生成场景模型110。可以使用跟踪算法来从图像或视频帧105中识别场景100中的3D现实世界对象。以高准确度跟踪对象的跟踪算法的一个示例是即时定位与地图构建(SLAM)。在高级别下,SLAM是一种用于实时地生成未知环境的3D地图的技术。SLAM是在计算上密集的,因为它试图生成环境的3D模型,且因此它可能需要较高端设备来如所需的执行。SLAM技术可以使用来自各种传感器(包括例如摄像机、LiDAR、雷达、陀螺仪和任何其他合适类型的传感器)的传感器数据。在特定实施例中,在传统移动电话上实现的SLAM可以使用电话的摄像机、陀螺仪和/或加速度计。在概念上,给定视频帧,SLAM可以估计摄像机与在场景中的感兴趣的特征(例如,通常是边缘、角等)的相对位置和定向,并基于运动迭代地更新估计值和和因而得到的特征观测值(observation)。基于这些特征由于移动而引起的位置偏差,SLAM可以使用三角测量技术来生成在所捕获的场景中的可识别对象的3D模型。例如,当摄像机移动时,与感兴趣特征相关联的陆标点可以移动。该陆标(和其他陆标)的移动可以用于估计对象的3D位置和定向。
图1C示出了包括现实世界对象和相关联的替换文本的示例场景120。可以通过基于输入场景100的一个或更多个输入视频帧生成一个或更多个输出视频帧来生成在本文可以被称为输出场景120的场景120。场景120可以在增强现实(AR)应用中显示在用户的客户端系统上。对于来自输入场景100的一个或更多个输入对象(例如现实世界对象102、104、106、108),可以通过向输入对象的表面添加新内容或者通过用新内容替换在输入对象的表面上的内容来修改每个输入对象。例如,用新的文本内容“谁将赢得世界杯?(WHO WILL WINTHE WORLD CUP?)”替换海报102的文本内容以在输出场景120中形成修改后的海报122。海报104的文本内容(“出去探险吧!”)被保留在输出场景120中的修改后的海报124中,并且附加的文本内容“艺术漫步(Art Walk)”被添加到海报104的空白区域以形成修改后的海报124。用新的文本内容“喝茶时间到了(Time For Some Tea)”替换茶杯106的文本内容以形成修改后的茶杯126,以及用新的文本内容“这是超级能量浓缩咖啡!(THIS IS THE MEGAENERGY ESPRESSO!)”替换能量饮料罐108的文本内容,以在输出场景120中形成修改后的能量饮料罐128。
在特定实施例中,在输出场景120中的每个输出现实世界对象122可以具有与在输入场景100中的相应输入现实世界对象102相同或相似的外观。来自输入场景100的一个或更多个现实世界对象(例如桌子130和人132a-132c)可以被包括在输出场景120中而没有被修改,例如,没有新内容添加到现实世界对象上或替换现实世界对象上的现有内容。例如,输出现实世界对象122的一个或更多个图形属性可以匹配相应输入现实世界对象102的一个或更多个相应图形属性。图形属性可以包括例如对象尺寸(例如,以像素为单位的尺寸)、对象形状、在场景中的对象位置(例如,坐标)、对象定向、对象颜色、在对象上的纹理图案等。
在特定实施例中,输出现实世界对象122的内容可以被认为是现实世界对象122的一部分,因此输出现实世界对象122的内容的一个或更多个图形属性可以匹配相应输入现实世界对象102的一个或更多个相应图形属性,和/或如果输入现实世界对象102具有内容,则输出现实世界对象122的内容的一个或更多个图形属性匹配相应输入现实世界对象102的内容的一个或更多个图形属性。可以包括文本、图像或视频的内容可以具有图形属性,例如字体、字体大小、字体样式、其他文本字符和段落格式属性、图像尺寸(例如,以像素为单位)、图像分辨率(例如,以每英寸像素数为单位)、视频尺寸、视频分辨率、视频长度(以秒为单位)。
图2示出了基于现有文本的样式和位置用替换内容替换在现实世界能量饮料罐上的现有内容的示例。能量饮料罐是现实世界对象202的示例,并且与现有内容相关联,该现有内容是文本“超级能量饮料浓缩咖啡”。可以在可以由与用户的计算设备(例如,移动电话、AR眼镜等)相关联的一个或更多个摄像机捕获的一个或更多个输入视频帧中识别现实世界对象202。
在特定实施例中,AR应用可以确定要替换现实世界对象202的至少一部分的替换内容。待被替换的部分可以是例如在现实世界对象202的表面上的现有内容或者没有内容的现实世界对象202的表面(例如在对象202上的空白空间)。可以基于从用户接收的输入来确定替换内容。用户可以将输入与现实世界对象202或与现实世界对象202的类型相关联。例如,用户可以调用用户界面命令以指定特定文本将被显示在特定现实世界对象202上或在具有特定类型(例如,罐、瓶、杯等)的任何现实世界对象202上。用户可以指定附加条件,例如文本将被显示到的目标用户、文本仅被显示给用户的朋友、文本仅在特定时间段期间或在特定日期被显示、或者其他合适的条件。在图2的示例中,替换内容是可以由用户指定并与现实世界对象202相关联的文本“这是超级能量浓缩咖啡!”。
在特定实施例中,可以基于与场景100相关联的上下文信息来确定替换内容。上下文信息可以包括显示场景100的计算设备的位置、当前时间或当前日期。例如,可以通过将内容与现实世界对象202和基于位置的条件相关联来使用与该位置相关的替换内容,例如该位置在中央公园内。内容“在喷水池处见我”可以与现实世界对象(例如能量饮料罐202)相关联,以当现实世界对象202位于中央公园中时被显示,使得内容“在喷水池处见我”可以在现实世界对象202上显示给看到中央公园中的现实世界对象202的用户。日期和/或时间范围可以与内容相关联,使得当用户在指定范围内的时间和日期看到中央公园中的现实世界对象202时,内容可以被显示。
在特定实施例中,可以基于现实世界对象的类型来识别替换内容。例如,特定对象类型可以与特定替换内容相关联。类型“罐”或“瓶”的对象可以与替换文本“水合作用(Hydration)”相关联,以及类型“杯”或“马克杯”的对象可以与替换文本“咖啡因”相关联。当通过对象识别来识别这种对象时,与特定对象类型相关联的替换文本可以用于该类型的现实世界对象。在另一示例中,可以至少部分地基于现有内容来确定替换内容。例如,现有内容的至少一部分可以被包括在替换内容中。因此,现有内容“浓缩咖啡(ESPRESSO)”可能被包括在替换内容“这是超级能量浓缩咖啡!”中。作为另一个示例,可以基于在现有内容上的一个或更多个词来从一组替代物中选择替换内容。因此,如果在现有内容中检测到词“浓缩咖啡(espresso)”或“拿铁(latte)”,则替换内容可以是“咖啡(coffee)”,并且如果在现有内容中检测到词“甘菊(chamomile)”或“伯爵茶(Earl Grey)”,则替换内容可以是“茶(tea)”。在上面的中央公园示例中,如果内容与对象类型(例如“罐”)相关联,则内容可以由AR应用显示在中央公园中的属于“罐”类型的任何现实世界对象202上,受限于其他条件,例如数据和时间范围。
在特定实施例中,可以至少部分地基于观看场景120的用户的身份来确定替换内容。观看场景120的用户可以是例如用于显示场景120的设备的用户。例如,如果用户喜欢咖啡,则替换文本可以显示在咖啡杯上,如果用户喜欢茶,则替换文本可以显示在茶杯上,或者如果用户喜欢能量饮料,则替换文本可以显示在能量饮料罐上。作为另一示例,如果用户先前搜索了体育相关的关键词,则与世界杯相关的替换文本可以显示在海报上。此外,用于生成替换文本的信息可能受限于隐私控制。内容可以只显示给有访问内容的许可的用户。
在特定实施例中,替换内容所基于的上下文信息可以包括一个或更多个社交网络动作。社交网络动作可以包括由另一用户与计算设备的用户分享内容项目(可选地,当另一用户位于显示场景100的计算设备的用户的指定阈值距离内时)、由计算设备的用户与另一用户分享内容项目、发布内容项目,或者向另一用户发送消息。在这些示例中,替换文本可以基于内容项目、另一用户的身份或两者。例如,如果另一用户分享提到去夏威夷旅行的动态(news story),则替换文本可以是“去夏威夷旅行(Travelling to Hawaii)”,并且还可以包括另一用户的名字,例如,“乔分享关于去夏威夷旅行的动态”。在特定实施例中,上下文信息可以包括经由语音识别接收的文本。例如,显示场景100的计算设备可以听人类语音,并且当语音被检测到时,将语音的一部分转换成替换文本。因此,如果语音“午餐时间到了”被检测到,则替换文本可以是“午餐”。
在特定实施例中,替换内容可以与一个或更多个图形属性(例如字体、字体大小、样式、前景颜色、背景颜色、定向、语言等)相关联。替换内容可以具有与现实世界对象相同的图形属性或者与在现实世界对象上的现有内容相同的属性。例如,在现实世界对象上的现有内容“超级能量饮料浓缩咖啡”是具有黑色前景和黄色背景的、水平的、用大写书写的48点模板字体(stencil font)。因此,替换文本可以具有相同的属性。如在修改后的现实世界对象212上所示的(在该修改后的现实世界对象212上替换文本被渲染),替换文本也具有那些图形属性。
在特定实施例中,AR应用可以基于现实世界对象来生成对象模型206。在图2中,对象模型被示出为圆柱体模型206。如上所述,可以基于场景100中的现实世界能量饮料罐108使用对象识别或SLAM来生成圆柱体模型206。对象模型206可以具有至少部分地匹配现实世界对象的形状的形状。例如,对象模型206具有圆柱体形状,以及现实世界对象202是圆柱体的形状,在圆柱体的顶部上有吸管。因此,模型206的圆柱体形状匹配现实世界对象202的圆柱体和吸管的至少一部分。
在特定实施例中,AR应用可以将替换内容与对象模型206的待被替换的部分209相关联,以指明该内容符合待被替换的部分209所位于的至少一个对象模型表面。例如,对象模型的待被替换的部分209可以对应于在现实世界对象的表面上的现有内容的边界框209。可以使用适当的算法来识别边界框。表面不一定是平坦的,因此边界框算法可以识别符合表面并包围内容的边界框,或者可以生成表面和内容的二维表示并在二维表示上识别内容的边界框。例如,示出围绕现实世界对象204上的现有内容的边界框209。如在模型208上所示的,边界框可以覆盖在对象模型206上以识别对象模型208的将被内容替换的部分209。当内容的一个或更多个顶点与对象模型的表面之一的一个或更多个对应顶点在同一位置处时,内容可以符合对象模型的表面之一。
在特定实施例中,内容要符合的对象模型表面可以在与现实世界对象的形状的至少一部分匹配的对象模型的形状的一部分上。例如,内容要符合的表面可以是圆柱体208的边界框209所位于的侧面。圆柱体208的侧面与现实世界对象202的圆柱体的侧面的形状相匹配。在特定实施例中,对象模型的待被替换的部分可以对应于在现实世界对象的相应表面上的直线或空白空间。例如,形成在图1A中的海报104中示出的道路的左边缘和右边缘的直线可以用于识别海报对象模型114的待被替换的部分。如图1C所示的,由海报104中的道路的左边缘和右边缘包围的对象模型的部分由在修改后的海报124中的文本“艺术漫步”替换。词“艺术(Art)”与道路的左边缘对齐,而文本“漫步(Walk)”与道路的右边缘对齐。
在特定实施例中,AR应用可以基于输入视频帧来生成一个或更多个输出视频帧。现实世界对象202的至少一个表面可以在每个输出视频帧中由对象模型206的渲染212替换。对象模型206的渲染212可以包括与对象模型的该部分相关联的内容。对象模型206的渲染212可以具有内容的一个或更多个图形属性。内容可以符合待被替换的部分209所位于的对象模型表面。
在特定实施例中,在输出视频帧中的对象模型206的渲染212可以具有基于在相应输入视频帧中的现实世界对象202的定向的定向。例如,对象模型206的渲染212具有与现实世界对象202相同的定向(例如,具有水平的顶表面)。可以在对象模型上的由渲染位置信息指定的位置和定向处对内容进行渲染。可以确定渲染位置信息,使得内容在输出视频帧中是可见的。如在对象模型210上所示的,可以在对象模型210上的对应于在现实世界对象202上的现有内容的位置和定向的位置和定向处对内容进行渲染。可以通过在现实世界对象202上的现有内容的边界框209来识别在对象模型210上的位置和定向。对象模型206的渲染212可以相邻于不被包括在对象模型206中的现实世界对象,例如看起来从渲染212延伸的吸管。可以基于在输入视频帧中的吸管在输出视频帧中生成吸管。
在特定实施例中,可以使用对象识别算法来识别现实世界对象202。AR应用可以基于输入视频帧来生成深度图(depth map)。可以基于深度图使用对象识别算法来识别现实世界对象202。可以基于使用计算设备的至少两个摄像机捕获的输入视频帧来生成深度图。现实世界对象202可以包括指定类型的对象,内容对象被渲染到该对象上。
图3示出了基于现有文本的样式、位置和定向用不同的文本替换在现实世界茶杯上的现有文本的示例。在该示例中,现实世界对象302是茶杯。现有内容“茶杯”出现在现实世界对象302上。如在现实世界对象304上所示的,可以生成现有内容的边界框309。可以基于现实世界对象302来生成可以是茶杯的3D模型的对象模型306。边界框309可以与现实世界对象304上的边界框309在同一位置处和以同一定向被覆盖在对象模型308上。为了生成输出视频帧(其中替换内容看起来在由边界框309指定的位置和定向处叠加在对象模型310上),替换内容“喝茶时间到了”可以与对象模型310的由边界框包围的一部分相关联,使得内容符合边界框所位于的对象模型的表面。在所生成的输出视频帧中,与对象模型的表面相对应的现实世界对象的表面可以由包括内容并具有内容的一个或更多个图形属性的对象模型的渲染替换。对象模型的渲染312包括替换内容。
图4示出了基于现有文本的样式和位置用替换文本替换在现实世界街道标志402上的现有文本的示例。在街道标志402上的现有文本“主街(Main St.)”可以用在经渲染的街道标志404上的替换文本“山姆街(Sam’s St.)”替换。替换文本可以与具有现实世界街道标志402的形状的对象模型相关联,并且在输出视频帧中被渲染以生成经渲染的街道标志404。街道标志402的边缘与边界框类似地包围现有文本,因此在该示例中不需要生成边界框。此外,在该示例中不需要生成对象模型。替换文本可以使用与在现实世界街道标志402的表面上的现有文本相同的、在经渲染的街道标志404的表面上的位置和3D定向。由标志的边缘包围的街道标志402的前表面可以用作替换内容符合于的表面,而不生成对象模型。可以通过在街道标志402的前表面上渲染替换文本来生成输出视频帧。
图5示出了基于现有文本的样式和位置用替换文本替换在现实世界长椅502上的现有文本的示例。在现实世界长椅502上的现有文本“欢迎(WELCOME)”可以用在经渲染的长椅504上的替换文本“希望你在这里!(Wish You Were Here!)”替换。替换文本可以与具有长椅502的形状的对象模型相关联,并在输出视频帧中被渲染以生成经渲染的长椅504。长椅502的水平线可以用于对齐在长椅的靠背的表面上的替换文本,因此在本示例中不需要为长椅的靠背的表面生成边界框。在长椅的座位上没有现有文本,因此不为长椅的座位生成边界框。然而,在长椅的座位上有空白区域,且替换文本的一部分(词“这里!(Here!)”)可以被渲染在座位上。如所示,座位上的替换文字可以与座位的边缘对齐。座位上的替换文本的大小可以被确定为例如座位的区域的一部分,例如使得替换文本“这里!”占据座位的区域的一半或三分之一。替换文本“这里!”可以位于座位上的空白区域的中心处。
图6示出了用于在增强现实环境中替换在现实世界对象上的文本的示例方法600。方法600可以由例如在客户端系统(例如移动设备)上运行的AR应用、或者由在服务器计算机系统上运行的服务器程序代码、或者由客户端和服务器系统的组合来执行。该方法可以通过获取与场景相关联的一个或更多个第一视频帧在步骤610开始。在步骤620,该方法可以在一个或更多个第一视频帧中识别现实世界对象。在步骤630,该方法可以识别与场景相关联的上下文信息。在步骤640,该方法可以基于上下文信息来确定用于替换现实世界对象的一部分的内容,其中该内容与一个或更多个图形属性相关联。在步骤650,该方法可以基于现实世界对象来生成对象模型,其中对象模型的形状匹配现实世界对象的形状的至少一部分。
在步骤660,该方法可以将内容与对象模型的将由内容替换的部分相关联,其中该关联指明内容将符合待被替换的部分所位于的至少一个对象模型表面。在步骤670,该方法可以基于第一视频帧来生成一个或更多个第二视频帧,其中现实世界对象的至少一个表面在每个第二视频帧中由对象模型的渲染替换,其中对象模型的渲染包括内容并且具有内容的一个或更多个图形属性,并且内容符合待被替换的部分所位于的对象模型表面。在步骤680,该方法可以显示一个或更多个第二视频帧。
在适当的情况下,特定实施例可以重复图6的方法的一个或更多个步骤。尽管本公开将图6的方法的特定步骤描述并示出为以特定的顺序出现,但本公开设想了图6的方法的任何合适的步骤以任何合适的顺序出现。此外,尽管本公开描述并示出了用于在增强现实环境中替换在现实世界对象上的文本的示例方法,其包括图6的方法的特定步骤,但本公开设想了用于在增强现实环境中替换在现实世界对象上的文本的任何合适的方法,其在适当的情况下包括任何合适的步骤,这些步骤可以包括图6的方法的步骤中的全部、一些或不包括图6的方法的步骤。此外,尽管本公开描述并示出了执行图6的方法的特定步骤的特定部件、设备或系统,但本公开设想了执行图6的方法的任何合适步骤的任何合适部件、设备或系统的任何合适组合。
在特定实施例中,可以对AR应用进行训练以使用摄像机来识别目标(例如在现实世界中的标记、词、标识或其他排列),并触发效果(例如替换或添加到目标,或使对象显示在AR环境中)。例如,识别棕色浓缩咖啡罐可以触发在罐上显示文本“这是超级能量浓缩咖啡”,就好像文本被印刷在罐的表面上(例如,被裹到罐上)一样,罐的未被文本覆盖的部分保持棕色。文本可以类似地显示在其他对象(例如衬衫、帽子、广告牌等)上。当摄像机在AR模式中时(例如,在将图像捕获为照片之前),可以在AR环境中识别标识,并且通过与该标识相关联的合作关系,可以触发效果。例如,在识别出在杯子上的能量饮料的标识(例如,超级能量饮料)时并结合用户的位置,可以向用户提供免费能量饮料。
在特定实施例中,用户可以例如以文本内容的形式向场景100添加上下文。例如,用户可以将诸如“今天是星期一”或“去科切拉(Coachella)”的文本添加到他们腕带的图像或来自科切拉音乐节的场景。捕获前的文本制作和绘制可以在AR模式中完成,使得用户可以例如在特定地理位置处在AR模式中轻击文本图标,并输入文本“嘿,今天是星期一”。然后,文本可以在AR环境中实时地出现在相关联的地理位置处。文本可以替换现有文本,或者可以显示在以前没有文本的地方上(例如,墙壁上)。可以确定文本的颜色、对比度和明暗分布,使得文本看起来与它的周围环境相匹配。文本可以在AR环境中放置在垂直的平坦表面(例如墙壁)上,或者固定在水平表面(例如桌子)上。文本的外观(例如颜色、纹理、明暗分布和对比度)可以基于AR环境中围绕文本的区域的图形属性,使得文本看起来是场景的一部分。可以使用颜色采样、纹理和明暗分布来识别并再现场景的图形属性。用户可以通过选择在设备上的按钮或图标来说话或输入文本,该按钮或图标使设备听或提供文本输入界面。添加并放置捕获前的内容然后在内容和相关联的效果被显示的同时记录视频对于用户来说,可能比拍摄内容或效果的照片并返回到捕获后的视频且将内容和效果添加到视频更方便。
在特定实施例中,在AR应用中,可以自动执行对象识别和相应的动作而无需用户输入并且没有拍摄照片(或者在拍摄照片之前)。例如,当在拍摄照片之前特定对象或人在由摄像机生成的图像中被检测到时,摄像机可以执行已知的动作。摄像机可以具有特定的“发现”模式,其中某些检测到的对象可以引起动作,或者可以在默认摄像机模式中执行该检测。可能有用户在执行该动作时的价值,例如优惠券或签到(check-in)或者视觉效果(例如动画)、个性化、时间或位置特定的或者用户和朋友特定的特征,其使图像变得可能被分享。例如,来自场景、元数据、在目前的时间正在发生的事情、以及用户的身份的输入可以用于基于罐的图像或者用户可以个性化的图像来例如从超级能量饮料产生效果。效果可以包括修改检测到的对象或者在检测到的对象旁边显示效果或对象。例如在超级能量饮料罐上,摄像机可以识别超级能量(Mega Energy)标识,并且对象是罐,以及带有文本(例如“现在喝这个”)的帧可以被生成,或者3D角色(例如与超级能量饮料相关联的吉祥物)可以出现。该罐可以例如由在相同位置上的门户(portal)完全替换,该门户可以是到其他信息或动作的网关或链接。在现实世界中可能存在用户知道的可以用摄像机观看以产生效果或动作的对象,并且用户可以打开摄像机来发现效果或动作。效果或动作可以是基于位置的,因此在巴黎、墨西哥或洛杉矶打开超级能量饮料摄像机可能产生不同的效果或动作。作为另一示例,如果用户在诸如曼哈顿海滩的地点处,则该地点的名称(例如,词曼哈顿海滩)可以被添加到场景。
在特定实施例中,AR应用可以使用基于摄像机图像的语义理解(例如,用户在诸如厨房的房间中)以更准确地识别位置。可以基于用户的实际位置来调整AR体验。例如,可以基于用户的位置来向用户提供不同的标签或新的滤镜效果或空气效果。动作或效果可以基于音乐。例如,如果在地点处有吉祥物,那么可能有与吉祥物相关的效果。该效果可以基于歌曲,例如,如果正在播放德雷克(Drake),该效果被修改,或者对于特定的歌曲或艺术家有该效果的版本。如果已知用户在科切拉,则效果可以被修改为与科切拉相关。
在特定实施例中,可以通过检测场景100中的词(类似于检测标记)或作为输入被键入的词并且基于该词来将该词转变成对象或使该词变得生动来执行短语检测。例如,如果用户已经行进到在特定城市处的机场并且在机场处在用户四周有标志,则用户可以分享他们的位置的背景。当在环境中的包括位置的名称(例如,洛杉矶)的文本被检测到时,则该文本可以被增强并变成动画的(animated)或是可分享的。文本可以显示在现实世界对象(例如标志、门垫等)上。短语检测可能涉及识别口语词。如果摄像机和麦克风是活动的并且人正在说话,那么基于话音中的语调变化和正在说的东西,某些词可能被强调。例如,如果人说“我正坐在这个令人惊奇的会议中”,那么这个短语可能被转换成文本并显示在AR环境中,词“令人惊奇的”可能自动放大,或者基于这个词可能有另一个合适的效果。作为另一示例,如果用户以单音调说话,则词的含义可以用来生成效果,因此词“令人惊奇的”可以被强调,因为它具有强烈的积极含义。效果也可以基于用户的情绪。作为另一示例,可以用效果来修改用户的当前位置的名称(例如“洛杉矶”)。
在特定实施例中,语音识别可以用于将语音转换成文本,但是只有所识别的文本中的选定词可以被显示。例如,只有相关的词或强调的词(例如,“棒极了”或“洛杉矶”或“恭喜”或“看看这个”)可以显示在AR环境中。例如,在实况广播期间,所识别的词可以被显示一段时间,然后消失。说话者可以说“这真令人惊奇”或“我们在科切拉”。词可以用效果被显示为AR对象。作为另一示例,如果说话的人说“这是第一个步骤”,那么“步骤1”可以被显示。响应于特定短语而显示的词可以被预先编程。可以显示所建议的选择的列表,并且用户可以轻击词之一以使该词被显示。例如,当摄像机横越场景摇摄(panning)时,可以通过例如替换AR视图的区域来显示文本。例如,如果用户的朋友在场景中并且用户说或输入“有我的兄弟”,则该文本可以显示在朋友的衬衫上并且可以在衬衫在AR环境中移动时跟踪衬衫(例如,显示在衬衫上或衬衫附近)。
作为另一示例,文本的外观可以基于用户的情绪、话音、音乐、环境、位置或用户与谁在一起而改变。文本可以具有基于地方(例如,得克萨斯州奥斯汀)的感觉。文本的视觉外观可以基于用户如何说话、现在是凌晨2:00、用户在科切拉、以及碧昂斯在演奏而改变。可以向用户显示颜色和样本(swatch)的菜单,或者可以基于这些因素来自动确定样式。可以基于其他用户在同一位置和时间(例如,海滩、科切拉或时代广场)所说的内容来生成文本内容。其他用户在一个位置或时间所说的、公开分享或添加的东西(例如说他们在时代广场或“科切拉第二天”的标签)可以用作在这些位置或时间对用户的建议。
当用户激活摄像机(例如,以拍摄自拍照或周围环境)时,可以实时地显示二维和三维化身角色。例如,当用户在科切拉拍摄视频时,化身可以被显示为站在用户旁边的地面上或者在用户前面的人的头部上方。化身的外观和行为(例如,化身正在说的东西的弹出文本)可以基于用户所说的东西以及环境、时间和其他因素(例如上面列出的因素)。例如,化身的文本可以是“我在音乐会”。化身可以非常激动(或累),因为用户很激动(或累)。化身的外观可以是用户感觉到的东西或用户如何表达他或她自己的强调版本。以这种方式,化身可以被自动生成,而不是由用户选择。
在特定实施例中,设备的加速度计和其他传感器可以用于触发文本的转变或呈现(reveal)文本。例如,当用户摇动电话时,消息可能被呈现。如果用户正在观看视频并旋转电话,则关于视频的消息可能被显示。在示例情景中,用户可以例如通过打开在设备上的AR应用或摄像机应用来在他们的设备上激活AR模式。用户可以使用AR应用来创建内容对象,例如通过制作内容(例如文本“祝你有美好的一天!(Have a nice day!)”)并在AR应用中选择命令以基于文本来创建内容对象,并可以使内容对象与现实世界对象相关联。用户可以在现实世界对象上指定特定位置,内容对象将在AR环境中被显示在该特定位置。
图7示出了与社交网络系统相关联的示例网络环境700。网络环境700包括通过网络710连接到彼此的客户端系统730(其可以对应于客户端系统103)、社交网络系统760和第三方系统770。尽管图7示出了客户端系统730、社交网络系统760、第三方系统770和网络710的特定布置,但是本公开设想了客户端系统730、社交网络系统760、第三方系统770和网络710的任何合适的布置。作为示例而不是作为限制,客户端系统730、社交网络系统760和第三方系统770中的两个或更多个可以直接连接到彼此,绕过网络710。作为另一示例,客户端系统730、社交网络系统760和第三方系统770中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图7示出了特定数量的客户端系统730、社交网络系统760、第三方系统770和网络710,但是本公开设想了任何合适数量的客户端系统730、社交网络系统760、第三方系统770和网络710。作为示例而不是作为限制,网络环境700可以包括多个客户端系统730、社交网络系统760、第三方系统770和网络710。
本公开设想了任何合适的网络710。作为示例而不是作为限制,网络710的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络710可以包括一个或更多个网络710。
链路750可以将客户端系统730、社交网络系统760和第三方系统770连接到通信网络710或连接到彼此。本公开设想了任何合适的链路750。在特定实施例中,一个或更多个链路750包括一个或更多个有线(例如数字用户线路(DSL)或基于电缆的数据服务接口规范(DOCSIS))链路、无线(例如Wi-Fi或全球互通微波接入(WiMAX))链路、或光(例如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或更多个链路750各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路750、或两个或更多个这种链路750的组合。链路750不需要在整个网络环境700中是相同的。一个或更多个第一链路750可以在一个或更多个方面上不同于一个或更多个第二链路750。
在特定实施例中,客户端系统730可以是包括硬件、软件或嵌入式逻辑部件、或两个或更多个这样的部件的组合,并且能够执行由客户端系统730实现或支持的适当功能的电子设备。作为示例而不是作为限制,客户端系统730可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或其任何合适的组合。本公开设想了任何合适的客户端系统730。客户端系统730可以使在客户端系统730处的网络用户能够访问网络710。客户端系统730可以使它的用户能够与在其他客户端系统730处的其他用户进行通信。
在特定实施例中,客户端系统730可以包括web浏览器732,例如MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或更多个附加件、插件或其他扩展件,例如TOOLBAR或YAHOO TOOLBAR。在客户端系统730处的用户可以输入统一资源定位符(URL)或将web浏览器732引导到特定的服务器(例如服务器762或与第三方系统770相关联的服务器)的其他地址,并且web浏览器732可以生成超文本传输协议(HTTP)请求并将HTTP请求传递到服务器。服务器可以接受HTTP请求,并响应于HTTP请求而向客户端系统730传递一个或更多个超文本标记语言(HTML)文件。客户端系统730可以基于来自服务器的HTML文件来显现网页用于呈现给用户。本公开设想了任何合适的网页文件。作为示例而不是作为限制,可以根据特定的需要从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来显现网页。这样的页面还可以执行脚本,例如且没有限制,用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本、标记语言和脚本(例如AJAX(异步JAVASCRIPT和XML))的组合等。在本文,在适当的情况下,对网页的引用包括一个或更多个相应的网页文件(浏览器可以使用这些网页文件来显现网页),反之亦然。
在特定实施例中,社交网络系统760可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统760可以例如生成、存储、接收并发送社交网络数据(例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统760可以由网络环境700的其他部件直接地或经由网络710来访问。作为示例而不是作为限制,客户端系统730可以使用web浏览器732或与社交网络系统760相关联的本机(native)应用(例如,移动社交网络应用、消息传送应用、另一合适的应用或其任何组合)直接地或经由网络710来访问社交网络系统760。在特定实施例中,社交网络系统760可以包括一个或更多个服务器762。每个服务器762可以是单一服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器762可以具有各种类型,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器762可以包括硬件、软件或嵌入式逻辑部件、或用于执行由服务器762实现或支持的适当功能的两个或更多个这样的部件的组合。在特定实施例中,社交网络系统760可以包括一个或更多个数据储存器764。数据储存器764可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器764中的信息。在特定实施例中,每个数据储存器764可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统730、社交网络系统760或第三方系统770能够管理、检索、修改、添加或删除存储在数据储存器764中的信息的接口。
在特定实施例中,社交网络系统760可以在一个或更多个数据储存器764中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及连接节点的多个边。社交网络系统760可以向在线社交网络的用户提供与其他用户通信和互动的能力。在特定实施例中,用户可以经由社交网络系统760加入在线社交网络,且然后将关连(例如,关系)添加到社交网络系统760中的他们想要关连到的多个其他用户。在本文,术语“朋友”可以指社交网络系统760的任何其他用户,用户经由社交网络系统760与任何其他用户形成关连(connection)、关联(association)或关系。
在特定实施例中,社交网络系统760可以向用户提供对由社交网络系统760支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统760的用户可以属于的组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的互动、或其他合适的项目或对象。用户可以与能够在社交网络系统760中或者由第三方系统770的外部系统表示的任何事物进行互动,第三方系统770与社交网络系统760分离并且经由网络710耦合到社交网络系统760。
在特定实施例中,社交网络系统760能够链接各种实体。作为示例而不是作为限制,社交网络系统760可以使用户能够彼此互动以及从第三方系统770或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体互动。
在特定实施例中,第三方系统770可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件(例如,服务器可以与这些部件通信)。第三方系统770可以由与操作社交网络系统760的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统760和第三方系统770可以结合彼此来操作以向社交网络系统760或第三方系统770的用户提供社交网络服务。在这个意义上,社交网络系统760可以提供平台或骨干网,其他系统(例如第三方系统770)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统770可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传递到客户端系统730的内容对象的一个或更多个源。作为示例而不是作为限制,诸如,内容对象可以包括关于用户感兴趣的事情或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。
在特定实施例中,社交网络系统760还包括用户生成的内容对象,其可以增强用户与社交网络系统760的互动。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统760的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统730传送到社交网络系统760。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似的数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息或流)来添加到社交网络系统760。
在特定实施例中,社交网络系统760可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统760可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器(connection store)、第三方内容储存器或位置储存器。社交网络系统760还可以包括合适的部件,例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在特定实施例中,社交网络系统760可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经验、教育历史、爱好或偏好、兴趣、喜好或位置)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络710将社交网络系统760链接到一个或更多个客户端系统730或一个或更多个第三方系统770。web服务器可以包括邮件服务器或用于在社交网络系统760和一个或更多个客户端系统730之间接收并按规定路线发送消息的其他消息传送功能。API请求服务器可以允许第三方系统770通过调用一个或更多个API来访问来自社交网络系统760的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统760上或之外的动作的通信。结合动作日志,可以维护关于对第三方内容对象的用户暴露的第三方内容对象日志。通知控制器可以向客户端系统730提供关于内容对象的信息。信息可以作为通知被推送到客户端系统730,或者信息可以响应于从客户端系统730接收的请求而从客户端系统730中被拉取。授权服务器可以用于实施社交网络系统760的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。授权服务器可以例如通过设置适当的隐私设置来允许用户决定加入或决定退出使他们的动作由社交网络系统760记录或者与其他系统(例如,第三方系统770)分享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统770)接收的内容对象。位置储存器可以用于存储从与用户相关联的客户端系统730接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。
图8示出了示例社交图800。在特定实施例中,社交网络系统760可以在一个或更多个数据储存器中存储一个或更多个社交图800。在特定实施例中,社交图800可以包括多个节点(其可以包括多个用户节点802或多个概念节点804(例如附图8所示的歌曲“想象(Imagine)”、学校“斯坦福”、应用“声田(Spotify)”、应用“关于烹饪法的一切(All AboutRecipes)”、位置“旧Pro”、公司“Acme”、烹饪法“帕马森烤鸡(Chicken Parmesan)”、应用“在线扑克(Online Poker)”以及电影“肖申克的救赎(Shawshank Redemption)”))和连接节点的多个边806。为了教导目的,在二维视觉地图表示中示出了在图8中示出的示例社交图800。在特定实施例中,社交网络系统760、客户端系统730或第三方系统770可以访问社交图800和相关社交图信息以用于合适的应用。社交图800的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图800的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点802可以对应于社交网络系统760的用户。作为示例而不是作为限制,用户可以是与社交网络系统760或通过社交网络系统760互动或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统760注册账户时,社交网络系统760可以创建对应于用户的用户节点802,并将用户节点802存储在一个或更多个数据储存器中。本文描述的用户和用户节点802在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点802。此外或作为备选方案,在适当的情况下,本文描述的用户和用户节点802可以指尚未向社交网络系统760注册的用户。在特定实施例中,用户节点802可以与由用户提供的信息或由各种系统(包括社交网络系统760)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点802可以与对应于与用户相关联的信息的一个或更多个数据对象相关联。在特定实施例中,用户节点802可以对应于一个或更多个网页。
在特定实施例中,概念节点804可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(例如,电影院、餐馆、陆标或城市);网站(例如,与社交网络系统760相关联的网站或与web应用服务器相关联的第三方网站);实体(例如,个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统760内或外部服务器(例如web应用服务器)上;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;在增强/虚拟现实环境中的对象;另一个合适的概念;或者两个或更多个这样的概念。概念节点804可以与由用户提供的概念的信息或由各种系统(包括社交网络系统760)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点804可以与对应于与概念节点804相关联的信息的一个或更多个数据对象相关联。在特定实施例中,概念节点804可以对应于一个或更多个网页。
在特定实施例中,社交图800中的节点可以表示网页(其可以被称为“简档页面”)或者由网页表示。简档页面可以由社交网络系统760托管或是社交网络系统760可访问的。简档页面也可以在与第三方系统770相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点804。简档页面可以由其他用户的全部或选定子集可查看。作为示例而不是作为限制,用户节点802可以具有相应的用户简档页面,其中相应的用户可以添加内容、做出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点804可以具有相应的概念简档页面,其中一个或更多个用户可以添加内容、做出声明或表达他们自己,特别是关于对应于概念节点804的概念。
在特定实施例中,概念节点804可以表示由第三方系统770托管的第三方网页或资源。第三方网页或资源除了其它元素以外还可以包括表示动作或活动的内容、可选择的图标或其他图标或其他可交互对象(其可以例如用JavaScript、AJAX或PHP代码实现)。作为示例而不是作为限制,第三方网页可以包括可选择的图标(例如“赞”、“签到”、“吃”、“推荐”)或其他合适的动作或活动。查看第三方网页的用户可以通过选择图标之一(例如,“签到”)来执行动作,使客户端系统730向社交网络系统760发送指示用户的动作的消息。响应于该消息,社交网络系统760可以在对应于用户的用户节点802和对应于第三方网页或资源的概念节点804之间创建边(edge),(例如,签到类型边),并将边806存储在一个或更多个数据储存器中。
在特定实施例中,社交图800中的一对节点可以通过一条或更多条边806连接到彼此。连接一对节点的边806可以表示在该对节点之间的关系。在特定实施例中,边806可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统760可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统760可以在社交图800中创建将第一用户的用户节点802连接到第二用户的用户节点802的边806,并将边806作为社交图信息存储在一个或更多个数据储存器764中。在图8的示例中,社交图800包括指示在用户“A”和用户“B”的用户节点802之间的朋友关系的边806,以及指示在用户“C”和用户“B”的用户节点802之间的朋友关系的边。尽管本公开描述或示出了连接特定用户节点802的具有特定属性的特定边806,但是本公开设想了连接用户节点802的具有任何适当属性的任何适当边806。作为示例而不是作为限制,边806可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系(包括例如,赞等)、追随者关系、访问者关系(包括例如,访问、查看、签到、分享等)、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被连接,但是本公开也将用户或概念描述为被连接。在本文,对被连接的用户或概念的引用在适当的情况下可以指对应于在社交图800中由一条或更多条边806连接的那些用户或概念的节点。
在特定实施例中,在用户节点802和概念节点804之间的边806可以表示由与用户节点802相关联的用户朝着与概念节点804相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图8所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中每个可以对应于边类型或子类型。对应于概念节点804的概念简档页面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统760可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(声田(SPOTIFY),其为在线音乐应用)来收听特定的歌曲(“想象(Imagine)”)。在这种情况下,社交网络系统760可以在对应于用户的用户节点802和对应于歌曲和应用的概念节点804之间创建“收听”边806和“使用”边(如图8所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统760可以在对应于歌曲和应用的概念节点804之间创建“播放”边806(如图8所示),以指示特定的歌曲由特定的应用播放。在这种情况下,“播放”边806对应于由外部应用(声田)对外部音频文件(歌曲“想象”)执行的动作。尽管本公开描述了连接用户节点802和概念节点804的具有特定属性的特定边806,但是本公开设想了连接用户节点802和概念节点804的具有任何适当属性的任何适当边806。此外,尽管本公开描述了表示单个关系的在用户节点802和概念节点804之间的边,但是本公开设想了表示一个或更多个关系的在用户节点802和概念节点804之间的边。作为示例而不是作为限制,边806可以表示用户喜欢并使用了特定概念。可选地,另一条边806可以表示在用户节点802和概念节点804之间(如图8所示,在用户“E”的用户节点802和“声田”的概念节点804之间)的每种类型的关系(或多个单一关系)。
在特定实施例中,社交网络系统760可以在社交图800中的用户节点802和概念节点804之间创建边806。作为示例而不是作为限制,查看概念简档页面的用户(例如,通过使用web浏览器或由用户的客户端系统730托管的专用应用)可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点804表示的概念,这可以使用户的客户端系统730向社交网络系统760发送指示用户喜欢与概念简档页面相关联的概念的消息。响应于该消息,社交网络系统760可以在与用户相关联的用户节点802和概念节点804之间创建边806,如由在用户和概念节点804之间的“赞”边806所示的。在特定实施例中,社交网络系统760可以将边806存储在一个或更多个数据储存器中。在特定实施例中,边806可以由社交网络系统760响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或听歌曲,则可以在对应于第一用户的用户节点802和对应于那些概念的概念节点804之间形成边806。尽管本公开描述了以特定方式形成特定边806,但是本公开设想了以任何合适的方式形成任何合适的边806。
在特定实施例中,广告可以是文本(其可以是HTML链接的)、一个或更多个图像(其可以是HTML链接的)、一个或更多个视频、音频、其他合适的数字对象文件、这些的合适组合、或者在一个或更多个网页上、在一个或更多个电子邮件中或者结合由用户请求的搜索结果呈现的以任何合适的数字格式的任何其他合适的广告。另外或作为备选方案,广告可以是一个或更多个赞助动态(sponsored story)(例如,在社交网络系统760上的动态消息或即时动态栏(ticker item))。赞助动态可以是用户的社交动作(例如“点赞”页面、“点赞”或评论页面上的帖子、对与页面相关联的事件进行回复(RSVP)、对在页面上发布的问题进行投票、在某个地方签到、使用应用或玩游戏、或者“赞”或分享网站),广告商例如,通过使社交动作呈现在用户的简档页面或其他页面的预定区域内、与和广告商相关联的附加信息一起呈现、在其他用户的动态消息或即时动态中被提升顺序(bump up)或以其他方式突出显示来推广社交动作、或者以其他方式推广社交动作。广告商可以付费来推广社交动作。作为示例而不是作为限制,广告可以被包括在搜索结果页面的搜索结果当中,其中赞助内容优于非赞助内容被推广。
在特定实施例中,广告可以被请求用于在社交网络系统网页、第三方网页或其他页面中显示。广告可以显示在页面的专用部分中,例如在页面的顶部处的标语(banner)区域中、在页面的侧面处的栏中、在页面的GUI中、在弹出窗口中、在下拉菜单中、在页面的输入字段中、在页面的内容的顶部之上或相对于页面的其他地方。另外或作为备选方案,广告可以显示在应用中。广告可以显示在专用页面内,在用户可以访问页面或利用应用之前要求用户与广告互动或观看广告。用户可以例如通过web浏览器来观看广告。
用户可以以任何合适的方式与广告互动。用户可以点击或以其他方式选择广告。通过选择广告,用户可以被引导到(或由用户正在使用的浏览器或其他应用)与广告相关联的页面。在与广告相关联的页面处,用户可以采取额外的动作,例如购买与广告相关联的产品或服务、接收与广告相关联的信息、或者订阅与广告相关联的简讯。可以通过选择广告的部件(如“播放按钮”)来播放具有音频或视频的广告。可选地,通过选择广告,社交网络系统760可以执行或修改用户的特定动作。
广告还可以包括社交网络系统功能,用户可以与社交网络系统功能互动。作为示例而不是作为限制,广告可以使用户能够通过选择与赞同(endorsement)相关联的图标或链接来“点赞”或以其他方式来赞同该广告。作为另一示例而不是作为限制,广告可以使用户能够(例如,通过执行查询)搜索与广告商相关的内容。类似地,用户可以与另一用户(例如,通过社交网络系统760)分享广告或(例如,通过社交网络系统760)回复(RSVP)与广告相关联的事件。另外或作为备选方案,广告可以包括被引导到用户的社交网络系统内容。作为示例而不是作为限制,广告可以显示关于在社交网络系统760内的已经采取与广告的主题相关联的动作的用户的朋友的信息。
在特定实施例中,在线社交网络的一个或更多个内容对象可以与隐私设置相关联。例如,对象的隐私设置(或“访问设置”)可以以任何合适的方式,诸如与对象相关联地、在授权服务器上用索引、以另一种合适的方式、或其任何组合被存储。对象的隐私设置可以指定可以如何使用在线社交网络来访问(例如,查看或分享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的场合,该对象可以被描述为相对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以为用户简档页面指定识别可以访问在用户简档页面上的工作经历信息的一组用户的隐私设置,因而排除其他用户访问该信息。在特定实施例中,隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户的“黑名单”。换句话说,黑名单可以指定一个或更多个用户或实体,对象对这些用户或实体是不可见的。作为示例而不是作为限制,用户可以指定不可以访问与用户相关联的相册的一组用户,因而排除那些用户访问相册(同时也可能允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(例如节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息、或与社交图元素相关联的内容对象。作为示例而不是作为限制,对应于特定照片的特定概念节点804可以具有指定照片只能由在照片中标记的用户及他们的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户决定加入或决定退出使他们的动作由社交网络系统760记录或者与其他系统(例如,第三方系统770)分享。在特定实施例中,与对象相关联的隐私设置可以指定被允许的访问或访问的拒绝的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友和我的老板)、在特定分离度(degrees-of-separation)内的用户(例如,朋友或朋友的朋友)、用户团体(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、学生或特定大学的校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统770的用户、特定应用(例如,第三方应用、外部网站)、其他适当的用户或实体、或其任何组合来指定访问或访问的拒绝。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或更多个服务器762可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器764中的特定对象的请求,社交网络系统760可以向数据储存器764发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送给该用户(或者该用户的客户端系统730)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器764中被检索,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,只有在查询用户被授权访问对象时才可以将对象生成为搜索结果。换句话说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
图9示出了示例计算机系统900。在特定实施例中,一个或更多个计算机系统900执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统900提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统900上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统900的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统900。本公开设想了计算机系统900采取任何合适的物理形式。作为示例而不是作为限制,计算机系统900可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统900可以包括一个或更多个计算机系统900;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云部件。在适当的情况下,一个或更多个计算机系统900可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统900可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统900可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统900包括处理器902、存储器904、存储装置906、输入/输出(I/O)接口908、通信接口910和总线912。尽管本公开描述并示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器902包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器902可以从内部寄存器、内部高速缓存、存储器904或存储装置906中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器904或存储装置906。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器902包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器902可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(TLB)。在指令高速缓存中的指令可以是在存储器904或存储装置906中的指令的副本,并且指令高速缓存可以加速处理器902对那些指令的检索。在数据高速缓存中的数据可以是在存储器904或存储装置906中的数据的副本,用于使在处理器902处执行的指令进行操作;在处理器902处执行的先前指令的结果,用于由在处理器902处执行的后续指令访问或者用于写到存储器904或存储装置906;或其他合适的数据。数据高速缓存可以加速由处理器902进行的读或写操作。TLB可以加速关于处理器902的虚拟地址转换。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器902包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器902可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器902。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器904包括用于存储用于使处理器902执行的指令或用于使处理器902操作的数据的主存储器。作为示例而不是作为限制,计算机系统900可以将指令从存储装置906或另一个源(例如,另一个计算机系统900)加载到存储器904。处理器902然后可以将指令从存储器904加载到内部寄存器或内部高速缓存。为了执行指令,处理器902可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器902可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器902然后可以将这些结果中的一个或更多个写到存储器904。在特定实施例中,处理器902仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器904(与存储装置906相对或其它地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器904(与存储装置906相对或其它地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器902耦合到存储器904。如下所述,总线912可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器902和存储器904之间,并且便于由处理器902请求的对存储器904的访问。在特定实施例中,存储器904包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器904可以包括一个或更多个存储器904。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置906包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置906可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置906可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置906可以在计算机系统900的内部或外部。在特定实施例中,存储装置906是非易失性固态存储器。在特定实施例中,存储装置906包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置906。在适当的情况下,存储装置906可以包括便于在处理器902和存储装置906之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置906可以包括一个或更多个存储装置906。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口908包括为在计算机系统900和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统900可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统900之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口908。在适当的情况下,I/O接口908可以包括使处理器902能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口908可以包括一个或更多个I/O接口908。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口910包括提供用于在计算机系统900和一个或更多个其他计算机系统900或一个或更多个网络之间的通信(例如,基于分组的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口910可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如WI-FI网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口910。作为示例而不是作为限制,计算机系统900可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统900可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统900可以包括用于这些网络中的任一个的任何合适的通信接口910。在适当的情况下,通信接口910可以包括一个或更多个通信接口910。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线912包括将计算机系统900的部件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线912可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(扩展)(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或任何其他合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线912可以包括一个或更多个总线912。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的部件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何部件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的部件的引用包括该装置、系统、部件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或部件是如此被调整、被布置、有能力的、被配置、实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。

Claims (20)

1.一种方法,包括:
由计算设备获取与场景相关联的一个或更多个第一视频帧;
由所述计算设备在所述一个或更多个第一视频帧中识别现实世界对象;
由所述计算设备识别与所述场景相关联的上下文信息;
由所述计算设备基于所述上下文信息确定用于替换所述现实世界对象的一部分的内容,其中,所述内容与一个或更多个图形属性相关联;
由所述计算设备基于所述现实世界对象生成对象模型,其中,所述对象模型的形状匹配所述现实世界对象的形状的至少一部分;
由所述计算设备将所述内容与所述对象模型的将被所述内容替换的部分相关联,其中,所述关联指明所述内容将符合所述对象模型的待被替换的所述部分所位于的至少一个对象模型表面;
由所述计算设备基于所述第一视频帧生成一个或更多个第二视频帧,其中,所述现实世界对象的至少一个表面在每个第二视频帧中由所述对象模型的渲染替换,所述对象模型的所述渲染包括所述内容并且具有所述内容的所述一个或更多个图形属性,并且所述内容符合待被替换的所述部分所位于的对象模型表面;以及
由所述计算设备显示所述一个或更多个第二视频帧。
2.根据权利要求1所述的方法,其中,所述内容包括文本,并且所述内容的所述图形属性包括颜色、字体、字体大小或其组合。
3.根据权利要求1所述的方法,其中,所述内容进一步基于所述现实世界对象的一个或更多个图形属性来被渲染。
4.根据权利要求1所述的方法,其中,所述内容具有与所述内容所定位于的表面的区域相同的形状。
5.根据权利要求1所述的方法,还包括:
由所述计算设备确定所述现实世界对象的类型,其中,进一步基于所述现实世界对象的所述类型来识别所述内容,其中,所述内容与目标对象类型相关联,并且所述目标对象类型匹配所述现实世界对象的所述类型。
6.根据权利要求1所述的方法,其中,在所述第二视频帧中的所述对象模型的所述渲染具有基于所述现实世界对象在相应的第一视频帧中的定向的定向。
7.根据权利要求1所述的方法,其中,所述内容在所述对象模型上的由渲染位置信息指定的位置和定向被渲染,其中,所述渲染位置信息被确定,使得所述内容在所述第二视频帧中是可见的。
8.根据权利要求1所述的方法,其中,当所述内容的一个或更多个顶点与所述对象模型表面的一个或更多个对应顶点在同一位置处时,所述内容符合所述对象模型表面之一。
9.根据权利要求1所述的方法,其中,所述上下文信息包括所述计算设备的位置、当前时间、当前日期或其组合。
10.根据权利要求1所述的方法,其中,所述上下文信息包括一个或更多个社交网络动作,并且所述社交网络动作包括:
由另一用户与所述计算设备的用户分享内容项目,
由所述计算设备的用户与所述另一用户分享内容项目,
发布内容项目,
向所述另一用户发送消息,或其组合。
11.根据权利要求10所述的方法,其中,所述另一用户位于所述计算设备的用户的阈值距离内。
12.根据权利要求1所述的方法,其中,所述上下文信息包括经由语音识别接收的文本。
13.根据权利要求1所述的方法,其中,使用对象识别算法来识别所述现实世界对象。
14.根据权利要求13所述的方法,还包括:
由所述计算设备基于所述第一视频帧生成深度图,其中,使用所述对象识别算法基于所述深度图来识别所述现实世界对象。
15.根据权利要求14所述的方法,其中,使用所述计算设备的至少两个摄像机来捕获所述第一视频帧。
16.根据权利要求1所述的方法,其中,所述现实世界对象包括指定类型的对象,内容对象被渲染到所述指定类型的对象上。
17.根据权利要求1所述的方法,其中,所述对象模型的待被替换的所述部分对应于在所述现实世界对象的表面上的现有内容的边界框。
18.体现软件的一个或更多个计算机可读非暂时性存储介质,所述软件当被执行时可操作来:
获取与场景相关联的一个或更多个第一视频帧;
在所述一个或更多个第一视频帧中识别现实世界对象;
识别与所述场景相关联的上下文信息;
基于所述上下文信息确定用于替换所述现实世界对象的一部分的内容,其中,所述内容与一个或更多个图形属性相关联;
基于所述现实世界对象生成对象模型,其中,所述对象模型的形状匹配所述现实世界对象的形状的至少一部分;
将所述内容与所述对象模型的将被所述内容替换的部分相关联,其中,所述关联指明所述内容将符合所述对象模型的待被替换的所述部分所位于的至少一个对象模型表面;
基于所述第一视频帧生成一个或更多个第二视频帧,其中,所述现实世界对象的至少一个表面在每个第二视频帧中由所述对象模型的渲染替换,所述对象模型的所述渲染包括所述内容并且具有所述内容的所述一个或更多个图形属性,并且所述内容符合待被替换的所述部分所位于的对象模型表面;以及
显示所述一个或更多个第二视频帧。
19.根据权利要求18所述的介质,其中,所述内容包括文本,并且所述内容的所述图形属性包括颜色、字体、字体大小或其组合。
20.一种系统,包括:
一个或更多个处理器;以及
一个或更多个计算机可读非暂时性存储介质,其耦合到一个或更多个所述处理器并包括指令,所述指令当由一个或更多个所述处理器执行时可操作来使所述系统:
获取与场景相关联的一个或更多个第一视频帧;
在所述一个或更多个第一视频帧中识别现实世界对象;
识别与所述场景相关联的上下文信息;
基于所述上下文信息确定用于替换所述现实世界对象的一部分的内容,其中,所述内容与一个或更多个图形属性相关联;
基于所述现实世界对象生成对象模型,其中,所述对象模型的形状匹配所述现实世界对象的形状的至少一部分;
将所述内容与所述对象模型的将被所述内容替换的部分相关联,其中,所述关联指明所述内容将符合所述对象模型的待被替换的所述部分所位于的至少一个对象模型表面;
基于所述第一视频帧生成一个或更多个第二视频帧,其中,所述现实世界对象的至少一个表面在每个第二视频帧中由所述对象模型的渲染替换,所述对象模型的所述渲染包括所述内容并且具有所述内容的所述一个或更多个图形属性,并且所述内容符合待被替换的所述部分所位于的对象模型表面;以及
显示所述一个或更多个第二视频帧。
CN201910775649.3A 2018-08-21 2019-08-21 在增强现实环境中的交互式文本效果 Active CN110852143B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201816108024A 2018-08-21 2018-08-21
US16/108,024 2018-08-21

Publications (2)

Publication Number Publication Date
CN110852143A CN110852143A (zh) 2020-02-28
CN110852143B true CN110852143B (zh) 2024-04-09

Family

ID=69594768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910775649.3A Active CN110852143B (zh) 2018-08-21 2019-08-21 在增强现实环境中的交互式文本效果

Country Status (1)

Country Link
CN (1) CN110852143B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429585A (zh) * 2020-03-30 2020-07-17 北京字节跳动网络技术有限公司 图像生成方法、装置、电子设备及计算机可读存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2644032A1 (en) * 2006-03-10 2007-09-20 Nero Ag Apparatuses, methods and computer programs for providing a sequence of video frames and for creating a menu structure of video medium
CN103530495A (zh) * 2012-06-29 2014-01-22 迪士尼企业公司 增强现实仿真连续体
CN103996184A (zh) * 2013-10-07 2014-08-20 香港应用科技研究院有限公司 增强现实应用中的可变形表面跟踪
CN104508597A (zh) * 2012-07-26 2015-04-08 高通股份有限公司 用于控制扩增实境的方法及设备
CN104604239A (zh) * 2012-09-04 2015-05-06 Nds有限公司 用于视频系统的增强现实
WO2015138622A1 (en) * 2014-03-11 2015-09-17 Amazon Technologies, Inc. Real-time rendering, discovery, exploration, and customization of video content and associated objects
CN105022776A (zh) * 2014-04-30 2015-11-04 雅虎公司 与模块化搜索对象框架相关联的增强搜索结果
CN105122304A (zh) * 2012-11-14 2015-12-02 微软技术许可有限责任公司 使用增强现实的对居住空间的实时设计
CN105393283A (zh) * 2013-06-28 2016-03-09 微软技术许可有限责任公司 增强现实体验的重投影oled显示
CN105654471A (zh) * 2015-12-24 2016-06-08 武汉鸿瑞达信息技术有限公司 应用于互联网视频直播的增强现实ar系统及方法
CN106575450A (zh) * 2014-05-13 2017-04-19 河谷控股Ip有限责任公司 通过反照率模型、系统和方法的增强现实内容渲染
CN106664465A (zh) * 2014-07-09 2017-05-10 郑芝娟 用于创建和再现增强现实内容的系统以及使用其的方法
CN107251101A (zh) * 2015-02-25 2017-10-13 英特尔公司 针对使用具有参数的标记的增强现实的场景修改
CN107851319A (zh) * 2016-01-29 2018-03-27 斯纳普公司 区域增强现实持久性标签对象
CN107871339A (zh) * 2017-11-08 2018-04-03 太平洋未来科技(深圳)有限公司 视频中虚拟对象色彩效果的渲染方法和装置
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010029553A1 (en) * 2008-09-11 2010-03-18 Netanel Hagbi Method and system for compositing an augmented reality scene

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2644032A1 (en) * 2006-03-10 2007-09-20 Nero Ag Apparatuses, methods and computer programs for providing a sequence of video frames and for creating a menu structure of video medium
CN103530495A (zh) * 2012-06-29 2014-01-22 迪士尼企业公司 增强现实仿真连续体
CN104508597A (zh) * 2012-07-26 2015-04-08 高通股份有限公司 用于控制扩增实境的方法及设备
CN104604239A (zh) * 2012-09-04 2015-05-06 Nds有限公司 用于视频系统的增强现实
CN105122304A (zh) * 2012-11-14 2015-12-02 微软技术许可有限责任公司 使用增强现实的对居住空间的实时设计
CN105393283A (zh) * 2013-06-28 2016-03-09 微软技术许可有限责任公司 增强现实体验的重投影oled显示
CN103996184A (zh) * 2013-10-07 2014-08-20 香港应用科技研究院有限公司 增强现实应用中的可变形表面跟踪
WO2015138622A1 (en) * 2014-03-11 2015-09-17 Amazon Technologies, Inc. Real-time rendering, discovery, exploration, and customization of video content and associated objects
CN105022776A (zh) * 2014-04-30 2015-11-04 雅虎公司 与模块化搜索对象框架相关联的增强搜索结果
CN106575450A (zh) * 2014-05-13 2017-04-19 河谷控股Ip有限责任公司 通过反照率模型、系统和方法的增强现实内容渲染
CN106664465A (zh) * 2014-07-09 2017-05-10 郑芝娟 用于创建和再现增强现实内容的系统以及使用其的方法
CN107251101A (zh) * 2015-02-25 2017-10-13 英特尔公司 针对使用具有参数的标记的增强现实的场景修改
CN105654471A (zh) * 2015-12-24 2016-06-08 武汉鸿瑞达信息技术有限公司 应用于互联网视频直播的增强现实ar系统及方法
CN107851319A (zh) * 2016-01-29 2018-03-27 斯纳普公司 区域增强现实持久性标签对象
CN108073277A (zh) * 2016-11-08 2018-05-25 罗克韦尔自动化技术公司 用于工业自动化的虚拟现实和增强现实
CN107871339A (zh) * 2017-11-08 2018-04-03 太平洋未来科技(深圳)有限公司 视频中虚拟对象色彩效果的渲染方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AR开发技术点探索;51CT0;;电脑知识与技术(经验技巧);20180705(第07期);全文 *
基于FAST-SURF算法的移动增强现实跟踪技术;陈智翔;吴黎明;高世平;;计算机与现代化;20130918(第09期);全文 *

Also Published As

Publication number Publication date
CN110852143A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
US11443460B2 (en) Dynamic mask application
US10665028B2 (en) Mobile persistent augmented-reality experiences
US20180129723A1 (en) Generating offline content
JP2021534473A (ja) 拡張現実環境におけるマルチデバイスマッピングおよび共同
AU2013308978B2 (en) Real-world view of location-associated social data
JP2021534474A (ja) 拡張現実環境内でのコンテンツの提案
KR101815142B1 (ko) 소셜 컨텍스트에 기반한 이미지 필터링 방법 및 시스템
CN113366489A (zh) 检测增强现实目标
US20140168205A1 (en) Scrolling 3D Presentation of Images
KR20170104653A (ko) 관심 지점에 따라 이미지 잘라내기
CN111164653A (zh) 在社交网络系统上生成动画
CN113348429A (zh) 虚拟共同体验系统中的视角变换
US10275856B2 (en) Composited animation
CN110852143B (zh) 在增强现实环境中的交互式文本效果
Wattanacharoensil et al. Tourist gaze upon Bangkok: where exotism & modernism collide
AU2014321520A1 (en) Generating offline content

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.

CB02 Change of applicant information
GR01 Patent grant