创建复合图像的技术的制作方法

文档序号:11288960阅读:190来源:国知局
创建复合图像的技术的制造方法与工艺

相关申请的交叉引用

本申请要求于2015年1月21日提交的美国发明申请no.14/601,601的优先权。上述申请的全部公开内容通过引用并入本文。

本公开涉及计算机实现的成像技术并且,更具体地,涉及用于从两个单独的视频流创建复合(composite)图像和/或视频的技术。



背景技术:

本文提供的背景描述是为了通常呈现本公开的场境的目的。目前署名的发明人的工作,在本背景部分中描述的范围以及在提交申请时可能不符合现有技术的说明的方面,既不被明确地也不被隐含地承认为相对于本公开的现有技术。

拍摄照片现在非常受欢迎。人们拍摄自己(“自拍”)、地标、他们的朋友、甚至他们的食物的照片。有时,一个人会使用照片编辑软件来编辑所捕获的图像。可以使用照片编辑软件,例如增强图像(编辑对比度、亮度等)、裁剪图像和/或编辑图像以包括不在原始图像中的项的表示。例如,用户可以利用照片编辑软件将著名人物的表示从单独的图像添加到自己的原始图像,以便创建复合图像,该复合图像看起来好像用户和该著名人物都是一起在原始图片中。然而,这样的照片编辑软件使用起来可能是麻烦和耗时的。



技术实现要素:

在一些实施方式中,公开了一种用于创建复合图像的计算机实现的技术。该技术包括在具有一个或多个处理器的服务器计算设备处经由网络从与第一用户相关联的第一用户计算设备接收第一视频流。第一视频流可以包括表示第一用户的至少一部分的第一图像部分。该技术还可以包括在服务器计算设备处提取第一视频流的第一图像部分以便生成第一覆盖流。此外,该技术可以包括在服务器计算设备处经由网络从与第二用户相关联的第二用户计算设备接收第二视频流。第二视频流可以包括表示第二用户的至少一部分的第二图像部分。此外,该技术还可以包括在服务器计算设备处提取第二视频流的第二图像部分,以便生成第二覆盖流。

该技术可以附加地包括在服务器计算设备处接收表示背景场景的背景视频流,并且在服务器计算设备处生成来自第一覆盖流、第二覆盖流和背景视频流的复合视频流。复合视频流可以包括叠加在背景视频流上的第一和第二覆盖流,使得复合视频流包括叠加在背景场景上的第一用户的部分和第二用户的部分。

该技术还可以包括在服务器计算设备处经由网络将复合视频流输出到第一和第二用户计算设备。可以在服务器计算设备处和从第一用户计算设备接收命令以从复合视频流捕获静态图像。作为响应,可以在服务器计算设备处生成静态图像。静态图像可以包括叠加在背景场景上第一用户的部分和第二用户的部分。静态图像可以在服务器计算设备处输出到第一用户计算设备。

在一些实施方式中,公开了一种用于创建复合图像的计算机实现的技术。该技术可以包括在具有一个或多个处理器的服务器计算设备处接收来自与第一用户相关联的第一用户计算设备的第一视频流。第一视频流可以包括第一图像部分。该技术还可以包括在服务器计算设备处提取第一视频流的第一图像部分以便生成第一覆盖流,并且在服务器计算设备处从与第二用户相关联的第二用户计算设备接收第二视频流。可以在服务器计算设备处从第一覆盖流和第二视频流生成复合视频流。复合视频流可以包括叠加在第二视频流上的第一覆盖流。复合视频流可以从服务器计算设备输出到第二用户计算设备。

在一些实施方式中,该技术还可以包括在服务器计算设备处接收来自第二用户计算设备的命令以从复合视频流捕获静态图像,并且在服务器计算设备处响应于接收命令生成静态图像。该技术进一步可以包括在服务器计算设备处将静态图像输出到第一和第二用户计算设备中的至少一个。

在一些实施方式中,该技术进一步可以包括在服务器计算设备处接收表示背景场景的背景视频流。在这些实施例中,复合视频流可以包括叠加在背景场景上的第一覆盖流和第二视频流的至少一部分。该技术进一步可以包括在服务器计算设备处从第二视频流中提取第二视频流的部分。第二视频流的部分可以表示第二用户的至少一部分。在各种实施例中,第一图像部分可以表示第一用户的至少一部分。

附加地或替选地,服务器计算设备可以同时接收第一视频流和第二视频流。在这些示例中,可以生成复合视频流,使得复合视频流的每个帧中的第一覆盖流和第二视频流源自相同时间。此外,服务器计算设备可以在接收到第一和第二视频流时自动生成复合视频流。

此外,服务器计算设备可以经由互联网接收第一和第二视频流。附加或替选地,服务器计算设备可以经由互联网输出复合视频流。

在一些实施例中,第一视频流可以包括多个帧。多个帧的每个帧可以包括与前景相关联的一个或多个部分以及与背景相关联的一个或多个部分。在这些示例中,第一图像部分可以包括与前景相关联的一个或多个部分。

在进一步的实施例中,公开了服务器计算设备。计算设备可以包括一个或多个处理器和非暂时性计算机可读介质,该计算机可读介质存储当由一个或多个处理器执行时使计算设备执行操作的指令。操作可以包括上述技术中的任何一种或多种。

从下文提供的详细描述中,本公开的进一步适用领域将变得显而易见。应当理解,详细描述和具体示例仅旨在用于说明的目的,并不旨在限制本公开的范围。

附图说明

从详细描述和附图将更全面地理解本公开,其中:

图1是根据本公开的一些实施方式的包括示例服务器计算设备和用户计算设备的计算系统的图;

图2是图1的示例用户计算设备的功能框图;

图3是图1的示例服务器计算设备的功能框图;

图4是根据本公开的一些实施方式的显示第一视频流的图1的示例用户计算设备的显示视图;

图5是根据本公开的一些实施方式的显示第二视频流的图1的示例用户计算设备的显示视图;

图6是根据本公开的一些实施方式的显示复合视频流的图1的示例用户计算设备的显示视图;

图7是根据本公开的一些实施方式的用于创建复合图像的示例技术的流程图;以及

图8是根据本公开的一些实施方式的用于创建复合图像的另一示例技术的流程图。

具体实施方式

如上所述,用于创建复合图像的当前技术涉及使用照片编辑软件来组合两个先前捕获的图像的部分。以这种方式,用户可以例如将第一图像中的人的表示添加到第二图像。例如,人的第一图像可以与地标的第二图像组合以创建使它看起来好像该人在该地标处的复合图像。在另一示例中,第一人的第一图像可以与第二人的第二图像组合以创建复合图像,该复合图像看起来好像第一和第二人在一起的图片。

尽管当前技术可以用于创建这样的复合图像,但是使用这些技术可能是困难和/或耗时的。例如,如果两个物理上相距遥远的朋友想要创建他们自己在一起的图片、每个朋友都必须拍摄他或她自己的图片、将图片提供给他们其中一个或全部两个、然后经由照片编辑软件后处理图像以创建复合图像。附加地,由于这种技术利用先前捕获的图像,图像的主题不能以直观的方式进行交互。例如,两个人可能希望彼此摆姿势,或者在复合图像中使用另一个项或背景。当前的技术使得这个困难,因为个人看不到在另一个图像中的其他人/项/背景。

本公开提供了用于创建复合图像的改进技术。在一些实施例中,本公开描述了分别从第一和第二用户计算设备接收第一和第二视频流的服务器计算设备。服务器计算设备从第一和第二视频流生成复合视频流。服务器计算设备还可以提取第一视频流的第一图像部分以便生成第一覆盖流。第一图像部分可以包括与第一计算设备相关联的第一用户的表示。仅作为示例,第一图像部分可以是第一视频流的的部分,第一视频流的该部分显示与第一视频流的所有其他部分分开的第一用户。以这种方式,第一覆盖流可以包括与第一视频流的所有其他部分(例如,背景)不同的第一用户的图像。

基于第一覆盖流和第二视频流,服务器计算设备可以生成包括叠加在第二视频流上的第一覆盖流的复合视频流。可以将复合视频流输出到第一和第二用户计算设备中的一个或全部两个,其中可以显示复合视频流。服务器计算设备可以从第一或第二用户计算设备接收命令以从复合视频流捕获静态图像。响应于接收到该命令,服务器计算设备可以生成静态图像,然后可以将该静态图像输出到第一和/或第二用户计算设备。下面描述各种实施方式的进一步细节。

现在参考图1,图示出了示例计算系统100的图。计算系统100可以包括分别由用户108a和108b(本文单独地和统称为“用户108”)操作的用户计算设备104a和104b(本文单独地和统称为“用户计算设备104”)。用户计算设备104可以被配置为经由网络112彼此通信。用户计算设备104的示例包括台式计算机、膝上型计算机、平板计算机和移动电话。虽然示出了两个计算设备104,但是应当理解,计算系统100可以包括可以在群组聊天会话中彼此通信的任意数目的计算设备104。网络112可以包括局域网(lan)、例如互联网的广域网(wan)或其组合。

在一些实施方式中,用户计算设备104包括外围组件。计算设备104包括分别具有显示区域120a和120b(本文单独地和统称为“显示区域120”)的显示器116a和116b(本文分别地和统称为“显示器116”)。在一些实施方式中,显示器116是触摸显示器。计算设备104还包括摄像机124a和124b(统称为“摄像机124”)。摄像机124可以每个被配置为相对于其相应的计算设备104来捕获图像和视频数据。例如,摄像机124可以被配置为捕获用户108的图像和视频数据。计算设备104还可以包括其他输入设备,诸如鼠标132a和132b(本文单独地和统称为“鼠标132”)和键盘128a和128b(本文单独地和统称为“键盘128”)。

计算系统100可以进一步包括被配置为经由网络112与用户计算设备104通信的服务器计算设备150。如本文所使用的,术语“服务器计算设备”可以指任何合适的硬件计算机服务器,以及在并行或分布式架构中操作的单个服务器和多个服务器。

现在参考图2,图示出了一个示例计算设备104的功能框图。尽管在下文中描述和参考了单个计算设备104及其相关联的用户108和示例组件,但是应当理解,全部两个计算设备104可以具有相同或相似的配置,并且因此可以以相同或相似的方式操作。计算设备104可以包括通信设备200、处理器204和存储器208。计算设备104还可以包括显示器116、鼠标132、键盘128和摄像机124(本文单独地和统称为“用户接口设备212”)。用户接口设备212被配置为与用户108进行交互。在一些实施方式中,用户接口设备212可以进一步包括麦克风220和扬声器224。

通信设备200被配置为经由网络112在处理器204和其他设备(例如,其他计算设备104和服务器计算设备150)之间进行通信。通信设备200可以包括任何合适的通信组件,诸如收发器。具体地,通信设备200可以传送启动聊天通信会话的请求,并且可以向处理器204提供对该请求的响应。然后,通信设备200可以处理在该聊天会话期间在计算设备200之间的各种通信的传输和接收。存储器208可以被配置为在计算设备104处存储信息,诸如用户108的聊天设置。存储器208可以是任何合适的存储介质(闪存、硬盘等)。

处理器204可以被配置为控制计算设备104的操作。应当理解,这里使用的术语“处理器”可以指单个处理器和以并行或分布式架构操作的两个或更多个处理器。处理器204可以被配置为执行一般功能,该功能包括但不限于加载/执行计算设备104的操作系统、控制经由通信设备200的通信以及控制在存储器208处的读/写操作。处理器204还可以被配置为执行与本公开的至少一部分相关的特定功能,其将在下面更详细地描述。

现在参考图3,图示出了服务器计算设备150的功能框图。应当理解,服务器计算设备150可以具有与上述用户计算设备104相同或相似的结构。服务器计算设备150可以包括通信设备152、处理器154和存储器158。如上所述,本文所使用的术语“处理器”可以指单个处理器和以并行或分布式架构操作的多个处理器。通信设备152可以包括用于经由网络112进行通信的任何合适的通信组件(例如,收发器)。存储器158可以是用于在服务器计算设备150处存储信息的任何合适的存储介质(闪存、硬盘等)。处理器154可以控制服务器计算设备150的操作并且可以实现本公开的技术的至少一部分,其将在下面更详细地描述。

如上面简要提及的,本公开涉及用于从两个不同的视频流创建复合视频流和/或复合图像的技术。虽然将关于用户计算设备104和服务器计算设备150描述这些技术,但是应当理解,可以使用更多或更少的计算设备来执行这些技术。此外,还应当理解,虽然这些技术的每个特征或元件可以被描述为由特定计算设备执行,但是这些特征或元件可以由另一个计算设备或多个计算设备单独地或与描述的具体的计算设备组合地执行。

现在参考图4,图示出了示例用户计算设备104的显示器116的图。用户计算设备104可以加载和执行视频聊天应用400,视频聊天应用400被图示为相对于显示器116的显示区域120的窗口。虽然具体讨论了视频聊天应用400,但应当理解,本文描述的视频聊天应用的功能可由操作系统或其他应用(诸如web浏览器)发起或执行。视频聊天应用400可能不占用整个显示区域120,例如由于工具栏或其他边界(未示出)。视频聊天应用400可以被配置为显示第一视频流410,例如从与用户计算设备104相关联的摄像机124捕获。如图所示,视频聊天应用400占据显示区域120的一部分。但是应当理解,视频聊天应用400可以占据整个显示区域120。

第一视频流410可以包括多个图像部分,诸如所示的第一图像部分420和第二图像部分430。图像部分可以包括视频流的任何部分或局部。仅作为示例,视频流(诸如第一视频流410)可以包括以序列显示的多个帧或图像。每个帧可以被认为是静止图像,并且每个帧的不同部分可以与视频流的图像部分相关联。在一些视频流中,可以存在与前景相关联的每个帧的一个或多个部分,以及与背景相关联的一个或多个部分。

在图4所图示的示例中,例如,第一图像部分420与前景相关联,即人425(例如,第一用户108)的表示。此外,第二图像部分430与背景相关联,即人425的表示背后的背景场景,该背景场景恰好是第一视频流410的剩余部分。在一些实施例中,第一图像部分420表示第一用户108的至少一部分。

现在参考图5,图示出了示例用户计算设备104的显示器116的另一示图。用户计算设备104可以加载和执行视频聊天应用500,视频聊天应用500被图示为相对于显示器116的显示区域120的窗口。虽然具体讨论了视频聊天应用500,但是应当理解,本文描述的视频聊天应用的功能可由操作系统或其他应用(诸如web浏览器)发起或执行。视频聊天应用500可能不占用整个显示区域120,例如由于工具栏或其他边界(未示出)。视频聊天应用500可以被配置为显示第二视频流510,例如从与用户计算设备104相关联的摄像机124捕获的。如图所示,视频聊天应用500占据显示区域120的一部分。但是应当理解,视频聊天应用500可以占据整个显示区域120。

第一视频流510可以包括多个图像部分,诸如所示的第一图像部分520和第二图像部分530。如上所述,图像部分可以包括视频流的任何部分或局部。在图5所示的示例中,例如,第一图像部分520与前景相关联(即人525的表示,例如,第二用户108),并且第二图像部分530与背景相关联(即人525的表示背后的背景场景,该背景场景恰好是第一视频流510的剩余部分)。第二图像部分530还可以包括项的表示,诸如图5所示的建筑物535。在一些实施例中,第一图像部分520表示第二用户108的至少一部分。

应当理解,图4和图5仅仅是描述性的,仅表示一个说明性示例,并不旨在描述所有可能的视频流的组成。第一和第二视频流410、510中的每一个可以例如包括多于第一图像部分和第二图像部分。仅作为示例,第一和第二视频流410、510可包括与其它部分相邻或分开的若干部分。附加地,标签“第一”图像部分和“第二”图像部分不旨在被限制为视频流410、510的独立像素或其他可测量单元。本文所使用的图像部分仅仅意在区分图像的一部分与图像的另一部分和/或整个图像。

在一些实施例中,例如,服务器计算设备150可以分别从第一和第二用户计算设备104a、104b接收第一视频流410和第二视频流510。服务器计算设备150可以从第一和/或第二视频流410、510提取一个或多个图像部分(诸如第一图像部分420、520和/或第二图像部分430、530)。服务器计算设备150可以利用所提取的图像部分来生成一个或多个覆盖流,其可以用于生成复合视频流,如下面更充分描述的。

服务器计算设备150可以以任何方式从第一或第二视频流410、510中提取图像部分。仅作为示例,服务器计算设备150可以利用对象检测/识别算法来检测视频信号中的对象(人、项、面部等)。一旦在视频信号中识别出对象,则服务器计算装置150可以隔离与检测到的对象相关联的视频信号的每一帧中的图像的部分,并且提取这些部分以创建覆盖流。在一些实施例中,用户108可以选择第一或第二视频流410、510中的对象,以隔离作为该流的部分以包括在覆盖流中。在附加或替选实施方式中,服务器计算设备150可以利用前景/背景检测算法来检测视频信号中的前景部分和背景部分。前景/背景部分可以例如被包括在覆盖流中,或者可以从视频流中排除,以便生成覆盖流。

现在参考图6,图示出了示例用户计算设备104的显示器116的另一示图。用户计算设备104可以加载和执行视频聊天应用600,视频聊天应用600被图示为相对于显示器116的显示区域120的窗口。虽然具体讨论了视频聊天应用600,应当理解,本文描述的视频聊天应用的功能可由操作系统或其他应用(诸如web浏览器)发起或执行。视频聊天应用600可能不占用整个显示区域120,例如由于工具栏或其他边界(未示出)。视频聊天应用600可以被配置为显示例如基于第一和第二视频流410、510生成并且从服务器计算设备150输出的复合视频流610。

在一些实施方式中,复合视频流610包括在第一和第二视频流的其中一个之上的覆盖流。仅作为示例,在图6所示的示例中,复合视频流610包括叠加在第二视频流510上的第一覆盖流620。第一覆盖流620包括与第一视频信号410的剩余部分(例如,第二图像部分430)隔离的第一图像部分420。在所得到的复合视频流610中,第一图像部分420看起来好像存在于第二视频流520中。具体地,在复合视频流610中,人425的表示出现在第二图像部分530的部分上并且与项表示相邻,诸如人525和建筑物535的表示。

除了所示示例之外的实施方式也可以被利用。在一些实施例中,除了从第一视频信号410提取第一图像部分420之外,可以从第二视频信号510中提取第二图像部分(诸如图像部分520),以便生成第二覆盖流。服务器计算设备150还可以接收背景视频流630,如图6所示。服务器计算设备150可以从第一覆盖流620、第二覆盖流(在图6中表示为图像部分520)和背景视频流630生成复合视频流610。在这些实施例中,复合视频流610包括叠加在背景视频流630上的第一和第二覆盖流。在一些实施方式中,复合视频流610包括叠加在背景场景(例如,建筑物535的表示)上的第一用户104的一部分(例如,人425的表示)和第二用户104的一部分(例如,人525的表示)。

服务器计算设备150可以以任何方式接收背景视频流630。仅作为示例,服务器计算设备150可以经由网络112从用户计算设备104之一或另一计算设备接收背景视频流630。在其他示例中,服务器计算设备150可以从其存储器158或服务器计算设备150能与之通信的其他非暂时性电子存储介质(未示出)(数据库,存储系统等)接收背景视频流630。在一些实施例中,服务器计算设备150可以存储(例如,在存储器158中)用户104可以选择包括在复合视频流630中的多个背景视频流630。以这种方式,用户104可以选择有趣的背景场景(月球表面、中国长城等),覆盖视频流可被叠加在其上。应当理解,背景视频流630可以是在背景场景中包括移动、改变等的动态视频信号,重复创建包括非移动背景的视频信号的静态图像,或两者组合。

服务器计算设备150可以将复合视频流610输出到一个或多个用户计算设备104。用户计算设备104可以显示复合视频流610,例如在相关联的显示器116上,并且相关联的用户108可以与用户计算设备104及视频聊天应用400、500、600进行交互。在一些实施例中,用户104可以向用户计算设备104提供输入以从复合视频流610捕获静态图像。仅作为示例,用户计算设备104可以向服务器计算设备150传送命令以从复合视频流610捕获静态图像。作为响应,服务器计算设备150可以生成静态图像,并将静态图像输出到一个或多个用户计算设备104。静态图像可以包括表示特定时间的复合视频流610的静态、不变的图像。

在一些实施例中,服务器计算设备150可以同时接收第一视频流410和第二视频流510。以这种方式,可以生成复合视频流610,使得在复合视频流610的每个帧中,包括在复合视频流610中的第一和第二视频流410、510的部分源自相同时间。仅作为示例,服务器计算设备150可以在接收到第一和第二视频流410、510(并且在某些情况下,背景视频流630)自动生成复合视频流。应当理解,参考“相同”时间旨在包括不在相同精确时间的时间,以及相似但稍微不同的时间,例如由于处理、网络和传输延迟。

例如,服务器计算设备150可以从第一用户计算设备(例如,用户计算设备104a)接收第一视频流410和从第二用户计算设备(例如,用户计算设备104b)接收第二视频流510。服务器计算设备150可以例如从互联网(互联网被表示为图1中的网络112)接收第一和第二视频流410、510。作为响应,服务器计算设备150可以以上述任何方式生成复合视频流610,并且将复合视频流输出到第一和第二用户计算设备104a、104b中的一个或两个,例如,经由互联网(网络112)。以这种方式,用户108能够通过与其相关联的用户计算设备104交互并且没有任何活动的图像处理/编辑活动来容易且自动地创建复合视频流610(和/或表示复合视频流610的静态图像)。

现在参考图7,图示出了用于创建复合图像(诸如复合视频流610)的示例技术700的流程图。为了便于描述,将参考由服务器计算设备150执行的来描述技术700,但是应当理解,技术700还可以或者替选地由用户计算设备104、在并行或分布式架构中操作的两个或多个用户计算设备104和/或服务器计算设备150的一个或多个特定组件和/或一个或多个用户计算设备104执行。

在704处,服务器计算设备150可以从与第一用户(诸如用户108a)相关联的第一用户计算设备(诸如用户计算设备104a)接收第一视频流(诸如第一视频流410)。如上所述,第一视频流可以包括第一图像部分,诸如第一图像部分420。在708处,服务器计算设备150可以提取第一视频流的第一图像部分,以便生成第一覆盖流。在712处,服务器计算设备150可以从与第二用户(诸如用户108b)相关联的第二用户计算设备(诸如用户计算设备104b)接收第二视频流(诸如第二视频流510)。

服务器计算设备150可以在716处从第一覆盖流和第二视频流生成复合视频流(诸如复合视频流610)。如上所述,复合视频流可以包括叠加在第二视频流上的第一覆盖流。在720处,服务器计算设备150可以将复合视频流输出到例如第一和/或第二用户计算设备104。然后,技术700可以结束或返回到704以进行一个或多个附加周期。

现在参考图8,图示出了用于创建复合图像(诸如复合视频流610)的另一示例技术800的流程图。为了便于描述,将参考由服务器计算设备150执行的来描述技术800,但是应当理解,技术800也可以或者替选地由用户计算设备104执行,在并行或分布式架构中操作的两个或更多个用户计算设备104,和/或服务器计算设备150和/或一个或多个用户计算设备104的任何一个或多个特定组件。

在804处,服务器计算设备150可以从与第一用户(诸如用户108a)相关联的第一用户计算设备(诸如用户计算设备104a)接收第一视频流(诸如第一视频流410)。如上所述,第一视频流可以包括第一图像部分,诸如第一图像部分420。另外,第一图像部分可以表示第一用户的至少一部分(诸如人425的表示)。在808处,服务器计算设备150可以提取第一视频流的第一图像部分,以便生成第一覆盖流。

在812处,服务器计算设备150可以从与第二用户(诸如用户108b)相关联的第二用户计算设备(诸如用户计算设备104b)接收第二视频流(诸如第二视频流510)。如上所述,第二视频流可以包括诸如第一图像部分520的第二图像部分。附加地,第二图像部分可以表示第二用户的至少一部分(诸如人525的表示)。在816处,服务器计算设备150可以提取第二视频流的第二图像部分,以便生成第二覆盖流。

在820,服务器计算设备150可以接收背景视频流(诸如背景视频流630)。如上所述,服务器计算设备150可以以任何方式和从诸如来自用户计算设备104或存储器154的任何位置接收背景视频流。背景视频流可以表示背景场景,诸如上述建筑物535的表示。

服务器计算设备150可以在824处从第一覆盖流、第二覆盖流和背景视频流生成复合视频流(诸如复合视频流610)。如上所述,复合视频流可以包括叠加在背景视频流上的第一和第二覆盖流。以这种方式,复合视频流可以包括叠加在背景场景上的第一用户的部分和第二用户的部分。在828处,服务器计算设备150可以输出复合视频流,例如,输出到第一和/或第二用户计算设备104。如上所述,服务器计算设备150可经由互联网(表示为网络112)输出复合视频流。

在832处,服务器计算设备150可以接收用于从复合视频流捕获静态图像的命令。该命令可以从用户计算设备104之一或任何其他计算设备接收。在836处,服务器计算设备150可以响应于接收到该命令而生成静态图像。在一些实施例中,静态图像可以包括叠加在背景场景上的第一用户的部分和第二用户的部分。服务器计算设备150可以在840处例如经由网络112(例如,互联网)将静态图像输出到第一和/或第二用户计算设备104。然后,技术800可以结束或返回到804以进行一个或多个附加周期。

提供了示例实施例,使得本公开将是透彻的,并将充分地将范围传达给本领域技术人员。阐述许多具体细节,诸如特定组件、设备和方法的示例,以提供对本公开的实施例的透彻理解。对于本领域技术人员显而易见的是,不需要采用具体细节、示例实施例可以以许多不同的形式体现并且两者都不应被解释为限制本公开的范围。在一些示例实施例中,不详细描述公知的过程、公知的设备结构和公知的技术。

本文使用的术语仅用于描述特定示例实施例的目的,而不旨在是限制性的。如本文所使用的,单数形式“一(a)”、“一个(an)”和“所述(the)”也可以旨在包括复数形式,除非上下文另有明确指示。术语“和/或”包括一个或多个相关列出的项的任何和所有组合。术语“包括(comprises)”、“包括(comprising)”、“包括(including)”和“具有(having)”是包容性的,因此指定所述特征、整体、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或其群组。本文描述的方法步骤、过程和操作不应被解释为必须要求它们以所讨论或示出的特定顺序执行,除非被特别地标识为性能顺序。还应当理解,可以采用附加的或替选的步骤。

尽管本文术语第一、第二、第三等可以用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受到这些术语的限制。这些术语可以仅用于将一个元件、组件、区域、层或部分与另一个区域、层或部分区分开来。诸如“第一”、“第二”和其他数字术语的术语本文使用时不意味着序列或顺序,除非上下文清楚地指示。因此,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分,而不脱离示例实施例的教导。

如本文所使用的,术语模块可以指代以下、作为以下的部分或包括以下:专用集成电路(asic);电子电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器(共享、专用或群组)或由分布式网络处理器以及网络集群或数据中心中的存储执行的过程;提供所述功能的其它合适的组件;或上述的一些或全部的组合,诸如在片上系统中。术语模块可以包括存储由一个或多个处理器执行的代码的存储器(共享、专用或群组)。

如上所使用的,术语代码可以包括软件、固件、字节代码和/或微代码,并且可以指程序、例程、功能、类别和/或对象。如上所使用的,术语共享意味着可以使用单个(共享)处理器来执行来自多个模块的一些或全部代码。此外,来自多个模块的一些或全部代码可以由单个(共享的)存储器存储。如上所使用的,术语组意味着可以使用一组处理器来执行来自单个模块的一些或全部代码。此外,来自单个模块的一些或全部代码可以使用一组存储器来存储。

本文所描述的技术可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光学存储器。

上述描述的一些部分根据关于信息的操作的算法和符号表示来呈现本文所描述的技术。这些算法描述和表示是数据处理领域的技术人员用来最有效地将其工作的实质传达给本领域其他技术人员的手段。这些操作虽然在功能上或逻辑上被描述,但被理解为由计算机程序实现。此外,有时也被证明是方便的,将这些操作安排指代为模块或以功能名称指代,而不会失去一般性。

除非另有具体说明,否则从上述讨论中显而易见,应当理解,在整个描述中,利用诸如“处理”或“计算(computing)”或“计算(calculating)”或“确定”或“显示”等术语的讨论,指代计算机系统或类似的电子计算设备的动作和过程,其操纵和变换表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理(电子)量的数据。

所描述的技术的某些方面包括以算法的形式描述本文描述的处理步骤和指令。应当注意,所描述的处理步骤和指令可以体现在软件、固件或硬件中,并且当以软件体现时,可以被下载以驻留在实时网络操作系统使用的不同平台上并且由其操作。

本公开还涉及用于执行本文操作的装置。该装置可以是为了所需目的而特别构造的,或者它可以包括由存储在(可被计算机访问的)计算机可读介质上的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在有形计算机可读存储介质中,诸如但不限于包括以下的任何类型的盘:软盘、光盘、cd-rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡、专用集成电路(asic)或适用于存储电子指令的任何类型的介质,并且每个都耦合到计算机系统总线。此外,本说明书中提及的计算机可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。

本文呈现的算法和操作并不固有地与任何特定的计算机或其他装置相关。各种通用系统也可以根据本文的教导与程序一起使用,或者可以证明构造更专用的装置来执行所需的方法步骤是方便的。各种这些系统的所需结构以及等同的变化对于本领域技术人员将是显而易见的。此外,本公开不参考任何特定的编程语言来描述。应当理解,可以使用各种编程语言来实现本文所述的本公开的教导,并且提供对特定语言的任何参考是用于使能公开以及本发明的最佳模式。

本公开非常适合于许多拓扑结构上的各种计算机网络系统。在该领域内,大型网络的配置和管理包括通过诸如互联网的网络通信地耦合到不相似的计算机和存储设备的存储设备和计算机。

实施例的前述描述是为了说明和描述的目的而提供的。这并不旨在是穷举或限制公开。特定实施例的单个元件或特征通常不限于该特定实施例,而是在可应用的情况下是可互换的,并且可以在所选择的实施例中使用,即使没有具体示出或描述。在许多方面这也可能有所不同。这些变化不被视为偏离本公开,并且所有这些修改旨在被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1