CN114115518A - 实现虚拟环境中的交互的系统和方法 - Google Patents

实现虚拟环境中的交互的系统和方法 Download PDF

Info

Publication number
CN114115518A
CN114115518A CN202110987324.9A CN202110987324A CN114115518A CN 114115518 A CN114115518 A CN 114115518A CN 202110987324 A CN202110987324 A CN 202110987324A CN 114115518 A CN114115518 A CN 114115518A
Authority
CN
China
Prior art keywords
user
virtual
virtual environment
graphical representation
data
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
CN202110987324.9A
Other languages
English (en)
Inventor
杰瓦特·耶尔利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tomorrow Fund Intellectual Property Ltd
Original Assignee
Tomorrow Fund Intellectual Property Ltd
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 Tomorrow Fund Intellectual Property Ltd filed Critical Tomorrow Fund Intellectual Property Ltd
Publication of CN114115518A publication Critical patent/CN114115518A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4053Arrangements for multi-party communication, e.g. for conferences without floor control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/155Conference systems involving storage of or access to video conference sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/157Conference systems defining a virtual conference space and using avatars or agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
    • G09B5/12Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations different stations being capable of presenting different information simultaneously

Abstract

一种实现虚拟环境中的交互的系统,包含:一个或多个云服务器计算机,其包含至少一个处理器和存储实现包含至少一个虚拟环境的虚拟环境平台的数据和指令的存储器;从客户端设备的用户获得实况数据馈送的至少一个相机;以及通信连接到该一个或多个云服务器计算机和至少一个相机的客户端设备。该系统从实况数据馈送产生用户图形表示,该用户图形表示被插入到选定的虚拟环境中并在其中被更新,从而实现虚拟环境中的实时多用户协作和交互。本文还公开合适的系统架构及其方法。

Description

实现虚拟环境中的交互的系统和方法
相关申请的交叉引用
本申请要求2020年8月28日提交的美国专利申请号17/006,327,该申请通过引用的方式结合到本文中。
背景技术
由于诸如2020年新型冠状病毒大流行这样的情况迫使全球范围内的人员流动受到限制,改变了会议、学习、购物和工作的方式,远程协作和交互,尤其包括社交交互,变得越来越重要。市场上已经有各种各样的解决方案来实现实时通信和协作,从聊天应用程序到视频电话,诸如SkypeTM和ZoomTM,或者由2D化身代表的远程团队的虚拟办公室,诸如PragliTM提供的虚拟办公室。
考虑到诸如扩展现实(例如,增强和/或虚拟现实)等可穿戴沉浸式技术的当前发展状态以及相对较低的技术占用率,可以理解的是,大多数解决方案提供了一个平坦的二维用户界面,在该界面上发生了大多数交互。然而,当将现实生活体验与这些解决方案进行比较时,真实水平低、缺乏用户存在感、缺乏共享空间以及交互质量会导致许多用户感到孤独或无聊,这反过来有时会导致比亲自执行相同活动时更低的生产率。
所需要的是一种技术解决方案,当远程交互时不需要购买昂贵的装备(例如,在头戴式显示器中)以及实现新的或昂贵的基础设施,该技术解决方案为用户提供真实感、他们自己和参与者的存在感以及如同在真实生活中一样的交互感觉,所有这些都同时使用现有的计算设备和相机。
发明内容
提供此发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念的选择。此发明内容并不意图识别所要求保护的主题的关键特征,也不意图用于帮助确定所要求保护的主题的范围。
本公开大体上涉及计算机系统,且更特定地涉及一种实现虚拟环境中的交互、特别是社交交互的系统和方法;一种基于图像处理的虚拟存在系统和方法;一种基于用户图形表示的用户认证系统和方法;一种用于从虚拟环境内虚拟广播的系统和方法;一种用于在虚拟环境内递送应用的系统和方法;一种用以在虚拟环境云服务器计算机内提供基于云计算的虚拟计算资源的系统和方法;以及一种能够在接近的用户图形表示之间实现自组织虚拟通信的系统和方法。
本公开的在虚拟环境中实现特别包括社交交互的交互的系统包含一个或多个云服务器计算机,该云服务器计算机包含至少一个处理器和存储实现包含至少一个虚拟环境的虚拟环境平台的数据和指令的存储器。一个或多个云服务器计算机被配置成在至少一个虚拟环境的三维坐标位置处插入从由相机获得的实况数据馈送产生的用户图形表示,更新至少一个虚拟环境中的用户图形表示,并且实现虚拟环境中的实时多用户协作和交互。
在实施例中,系统还包含至少一个从客户端设备的一个或多个用户获得实况数据馈送的相机。此外,系统包含通信地连接到一个或多个云服务器计算机和至少一个相机的客户端设备。该系统从实况数据馈送产生用户图形表示,该用户图形表示被插入到虚拟环境的三维坐标中,并在其中使用实况数据馈送进行更新。在所描述的实施例中,将用户图形表示插入虚拟环境中涉及在虚拟环境中图形组合用户图形表示,使得用户图形表示出现在虚拟环境中(例如,在指定的3D坐标位置)。虚拟环境平台向一个或多个客户端设备服务虚拟环境。该系统通过经由客户端设备访问图形用户界面来实现虚拟环境中的实时多用户协作和(社交)交互。本公开的客户端或对等设备可以包含,例如,计算机、耳机、移动电话、眼镜、透明屏幕、平板型计算机以及通常内置有相机的输入设备,或者可以连接到相机并从所述相机接收数据馈送的输入设备。
在一些实施例中,虚拟环境可由客户端设备经由可下载的客户端应用或网络浏览器应用来访问。
在一些实施例中,用户图形表示包含移除了背景的用户3D虚拟剪切(cutout)、或移除了背景的用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频。在一些实施例中,用户图形表示是移除了背景的从用户上传的或第三方源照片构建的用户3D虚拟剪切、或基于从相机获得的实时2D、立体、深度数据或3D实况视频流数据馈送产生的移除了背景的用户实时3D虚拟剪切,因此包含用户的实时视频流、或没有移除背景的视频、或移除了背景并利用多边形结构显示的视频。此类多边形结构可以是四边形结构或更复杂的3D结构,用作支持视频的虚拟帧。在其他实施例中,一个或多个此类用户图形表示被插入到虚拟环境内的三维坐标中,并且在其中被图形组合。
用户3D虚拟剪切可以包括从用户上传的或第三方源的2D照片构建的用户的虚拟副本。在实施例中,使用用户上传的或第三方源的2D照片作为输入数据,通过机器视觉技术经由3D虚拟重建过程来创建用户3D虚拟剪切,从而产生移除了背景的用户的3D网格或3D点云。用户实时3D虚拟剪切可以包括基于从相机获得的实时2D或3D实况视频流数据馈送并且在移除用户背景之后的用户的虚拟副本。在实施例中,用户实时3D虚拟剪切是通过产生移除了背景的用户的3D网格或3D点云、使用用户实况数据馈送作为输入数据、通过机器视觉技术经由3D虚拟重建过程来创建的。移除了背景的视频可以包括流式传输到客户端设备的视频,其中已经对视频执行了背景移除过程,使得只有用户可以是可见的,并且然后利用接收客户端设备上的多边形结构来显示。没有移除背景的视频可以包括流式传输到客户端设备的视频,其中视频忠实地表示相机捕获,使得用户和他或她的背景可见,并且然后利用接收客户端设备上的多边形结构来显示。
在一些实施例中,用作包含在实况数据馈送和/或用户上传或第三方源2D照片中的输入数据的数据包含2D或3D图像数据、3D几何形状、视频数据、媒体数据、音频数据、文本数据、触觉数据、时间数据、3D实体、3D动态对象、文本数据、时间数据、元数据、优先级数据、安全数据、位置数据、照明数据、深度数据和红外数据等。
在一些实施例中,用户图形表示与俯视视角、或第三人称视角、或第一人称视角、或自我视角相关联。在实施例中,用户在通过用户图形表示访问虚拟环境时的视角是俯视视角、或第三人称视角、或第一人称视角、或自我视角、或广播相机视角。自我视角可以包括由另一用户图形表示看到的用户图形表示,以及任选地,用户图形表示的虚拟背景。
在其他实施例中,当用户经由图形用户界面手动导航虚拟环境时,视角被更新。
在其他实施例中,通过使用虚拟相机来自动建立和更新视角,其中实况数据馈送的视角与用户图形表示的视角和虚拟相机相关联,并且其中通过跟踪和分析用户眼睛和头部倾斜数据或头部旋转数据或其组合来自动更新虚拟相机。在实施例中,通过使用一个或多个虚拟相机来自动建立和更新视角,该等一个或多个虚拟相机被虚拟地放置并对齐在用户图形表示的前方,例如,在没有移除背景的视频、或移除了背景的视频、或用户3D虚拟剪切、或用户实时3D虚拟剪切的前方。在一个实施例中,一个或多个虚拟相机可以从眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,从两只眼睛水平向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置的中心向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的中心向外指向。在另一实施例中,一个或多个虚拟相机可以放置在用户图形表示的前方,例如在用户图形表示的头部水平,当处于自我视角时指向用户图形表示。相机捕获的用户的视角与用户图形表示的视角和使用计算机视觉的所关联的虚拟相机相关联,从而操纵虚拟相机。此外,虚拟相机通过跟踪和分析用户眼睛和头部倾斜数据、或头部旋转数据、或其组合来自动建立和更新。
在其他实施例中,自我视角包含移除背景的另一用户图形表示(例如,在电话相机的“自拍模式”中)看到的用户图形表示剪切。可替代地,自我视角包含用户图形表示后方的虚拟环境的虚拟背景,用于理解其他参与者可见看到的他或她自己的感知。当包括用户图形表示的虚拟背景时,自我视角可以被设置为用户图形表示周围的区域,该区域可以被虚拟相机捕获,可以产生圆形、方形、矩形或用于构造自我视角的任何其他合适的形状。
在一些实施例中,虚拟环境内用户图形表示的更新包含更新用户状态。在实施例中,可用用户状态包括不在、忙、有空、离线、电话会议中或会议中。用户状态可以通过图形用户界面手动地更新。在其他实施例中,用户状态经由连接到包含和同步用户状态数据的用户日历信息来自动更新。在其他实施例中,用户状态通过检测特定程序的使用而自动更新,如编程开发环境、3D编辑器或指定忙碌状态的其他生产力软件,该忙碌状态可以根据用户状态同步。在其他实施例中,用户状态可以基于从相机馈送获得的数据通过机器视觉算法来自动更新。
在一些实施例中,用户之间通过对应的用户图形表示的交互,特别包括社交交互,包含:聊天;屏幕共享;主机选项;遥感;记录;投票;文档共享;表情符号发送;议程共享和编辑;虚拟拥抱;举手;握手;行走;内容添加,包含交互式应用或静态或交互式3D资产、动画或2D纹理;会议总结准备;物体移动;内容投影;激光指向;玩游戏;购买;参与自组织虚拟通信;以及参与私人或群组对话。
在一些实施例中,虚拟环境是存储在一个或多个云服务器计算机的持久存储器存储中的持久虚拟环境、或者是存储在一个或多个云服务器计算机的临时存储器存储中的临时虚拟环境。在实施例中,虚拟环境是记录在其上执行的改变的持久虚拟环境,包含存储在指定给持久虚拟环境的至少一个云服务器计算机的持久存储器存储中的定制。在其他实施例中,虚拟环境是存储在云服务器的临时存储器存储中的临时虚拟环境。
在一些实施例中,虚拟环境的布置与虚拟环境的情境主题相关联,该情境主题与选自虚拟环境平台的一个或多个虚拟环境垂直领域相关。在实施例中,可能的布置包括用于教育、会议、工作、购物、服务、社交或娱乐或其组合的布置。一个或多个垂直领域内的虚拟环境的复合体可以表示虚拟环境集群。
在其他实施例中,虚拟环境集群是以下各项中的一者或多者:包含至少多个教室的虚拟学校;或包含至少多个工作区和会议室的虚拟公司,其中一些工作区被共享为不同组织成员的共同工作或网络空间;或包含至少一个室内或室外活动区的活动设施,该活动区主办包括现场娱乐表演者的捕获的现场活动;或包含至少多个商店的虚拟购物中心;或包含至少多个游戏区的虚拟娱乐场;或包含至少多个服务区的虚拟银行;或包含至少多个VIP区和/或聚会区的虚拟夜总会,包括现场电台节目主持人(DJ)表演者的捕获;或包含多个私人或公共卡拉OK房间的虚拟卡拉OK娱乐设施;或虚拟游船,其包含游船内的多个虚拟区以及游船外部的区,外部的区包含景观、岛屿、城镇和城市,使得用户能够从虚拟游船上下来访问那些虚拟区;或电子竞技体育场或体育馆。
在其他实施例中,虚拟环境还包含包括虚拟资源的虚拟计算机。在实施例中,虚拟资源是来自一个或多个云计算机资源,该虚拟资源通过客户端设备被访问并且通过管理工具被指派给所述虚拟计算机资源。
在一些实施例中,虚拟环境平台被配置成能够向虚拟环境的多个实例多播或广播远程事件。例如,可以这样做,以容纳来自世界各地的大量用户来体验相同的多点传送的直播事件。
在一些实施例中,将重新定向到虚拟环境的可点击链接嵌入到包含第三方网站、应用或视频游戏的一个或多个第三方源中。
在本公开的另一方面,一种在虚拟环境中实现包括社交交互的交互的方法包含:在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供包含至少一个虚拟环境的虚拟环境平台;从至少一个对应的客户端设备接收实况数据馈送(例如,由至少一个相机捕获的用户的实况数据馈送);从实况数据馈送产生用户图形表示;将用户图形表示插入到虚拟环境的三维坐标位置中;根据实况数据馈送更新虚拟环境内的用户图形表示;处理虚拟环境中交互产生的数据。此类交互可以特别包括虚拟环境中的社交交互。对于此类交互,该方法可以包括通过直接P2P通信或间接地通过使用一个或多个云服务器将更新的虚拟环境服务到客户端设备,实现虚拟环境中的实时多用户协作、交互。
在一些实施例中,该系统(例如,经由虚拟环境平台)还可以实现创建自组织虚拟通信,这可以包含在用户图形表示之间创建自组织语音通信信道,而不需要改变虚拟环境中的当前视角或位置。例如,用户图形表示可以接近另一用户图形表示,并且在虚拟环境内两个用户图形表示区域所在的地方参与自组织语音对话。此类通信将通过例如考虑用户图形表示之间的距离、位置和取向,和或他们的当前可用性状态(例如,可用或不可用)或此类自组织通信的状态配置、或其组合来实现。接近的用户图形表示将在另一用户图形表示上看到视觉反馈,用信号通知自组织通信是可能的,并因此设置两个用户图形表示之间的对话的开始,其中接近的用户可以说话,且另一用户可以听到并回应。在另一实施例中,虚拟环境平台使得能够通过处理响应于客户端设备执行的步骤而产生的数据来参与虚拟环境中的自组织虚拟通信,可以包括以下步骤:接近用户图形表示;选择并点击用户图形表示;向另一用户图形表示发送或从另一用户图形表示接收自组织虚拟通信参与邀请;以及接受接收到的邀请。在此类情形中,平台可以打开用户客户端设备之间的通信信道,其中用户图形表示在虚拟环境的虚拟空间中保持对话。
在一些实施例中,该方法还包括使一个或多个用户参与对话,将用户图形表示从用户3D虚拟剪切转变成用户实时3D虚拟剪切,或者移除了背景的视频,或者没有移除背景的视频;以及在用户客户端设备之间打开对等(P2P)通信信道。在实施例中,导致两个或更多个用户参与对话的步骤包括:接近用户图形表示;选择并点击用户图形表示;向另一用户图形表示发送或从另一用户图形表示接收对话参与邀请;以及接受接收到的邀请。打开用户客户端设备之间的通信信道的步骤可以在处理和渲染由客户端设备执行的情况下执行,或者打开通过一个或多个云服务器计算机的间接通信信道的步骤可以在处理和渲染在至少一个云服务器计算机上或在至少一个云服务器与客户端设备之间执行时执行。在其他实施例中,该对话包含向参与者的用户3D虚拟剪切发送实时音频以及从参与者的用户3D虚拟剪切发接收实时音频。在其他实施例,对话包含发送和接收从移除了背景的用户实时3D虚拟剪切或视频、或参与者的没有移除背景的视频显示的实时音频和视频。
在一些实施例中,在虚拟环境中实现交互的方法还包含将重新定向到虚拟环境的可点击链接嵌入到包含第三方网站、应用或视频游戏的一个或多个第三方源中。
在本公开的另一方面,数据处理系统包含包括至少一个云服务器计算机的一个或多个计算设备,该一个或多个计算设备包含至少一个处理器和存储实现图像处理功能的数据和指令的存储器,其中该数据处理系统的一个或多个计算设备被配置成通过混合系统架构中的至少一个云服务器计算机和两个或更多个客户端设备的一个或多个图像处理组合从实况数据馈送产生用户图形表示。在实施例中,该系统包含:两个或更多个客户端设备,它们经由网络彼此通信连接并连接到一个或多个云服务器计算机,包含至少一个处理器和存储实现图像和媒体处理功能的数据和指令的存储器;以及至少一个相机,从至少一个客户端设备的至少一个用户获得实况数据馈送,并连接到至少一个客户端设备和一个或多个云服务器计算机。通过一个或多个云服务器计算机和一个或多个客户端设备的一个或多个图像和媒体处理组合从实况数据馈送产生用户图形表示。一个或多个云服务器计算机和一个或多个客户端设备通过混合系统架构进行交互。
在一些实施例中,用作数据处理系统的输入数据的数据包含2D或3D图像数据、3D几何形状、视频数据、媒体数据、音频数据、文本数据、触觉数据、时间数据、3D实体、3D动态对象、文本数据、时间数据、元数据、优先级数据、安全数据、位置数据、照明数据、深度数据和红外数据等。
在一些实施例中,混合系统架构包含客户端-服务器端和对等(P2P)端。在实施例中,客户端-服务器端包含网络或应用服务器。客户端-服务器端可以还被配置成包括:安全通信协议;微服务;数据库管理系统;数据库;和/或分布式消息和资源分发平台。服务器端组件可以与通过网络与服务器通信的客户端设备一起提供。客户端-服务器端限定一个或多个客户端与服务器之间通过网络的交互,包括由客户端、服务器端或接收客户端执行的任何处理。在实施例中,对应的客户端和服务器中的一者或多者根据各种基于规则的任务分配组合来执行必要的图像和媒体处理。在实施例中,网络或应用服务器被配置成接收采用安全通信协议的客户端请求,并通过使用数据库管理系统从数据库请求对应于请求的微服务或数据来处理客户端请求。微服务是利用分布式消息和资源分发平台使用发布-订阅模型来分发的。
P2P端包含:实现虚拟环境中客户端设备之间的实时通信的P2P通信协议;以及被配置成使得客户端设备能够执行虚拟环境中包括的实况会话元件(例如,用户图形表示)的实时3D渲染的渲染引擎。在实施例中,P2P端还包括被配置成使得客户端设备能够执行虚拟环境中的实时计算机视觉任务的计算机视觉库。使用此类混合通信模型可以实现用户之间的快速P2P通信,减少等待时间问题,同时向每一会话提供网络服务和资源,实现用户之间以及与虚拟环境中的内容的多种交互。
P2P端定义了客户端设备之间的交互以及来自P2P端的一个或另一客户端设备可以执行的任何处理。在一些实施例中,P2P端用于视频和数据处理任务以及客户端设备之间的同步、流式传输和渲染。在其他实施例中,P2P端用于客户端设备之间的视频流、渲染和同步,而客户端-服务器端用于数据处理任务。在其他实施例中,客户端-服务器端用于视频流以及数据处理任务,而P2P端用于客户端设备之间的视频渲染和同步。在其他实施例中,客户端-服务器端用于视频流、渲染和数据处理任务以及同步。
在实施例中,数据处理任务包含产生用户图形表示,并将该用户图形表示插入到虚拟环境中。产生用户图形表示可以包括执行背景移除或其他处理或改进。
在一些实施例中,P2P端的数据从一个客户端设备直接发送到对等客户端设备,反之亦然,或者通过客户端-服务器端通过服务器进行中继。
在一些实施例中,至少一个云服务器可以是中间服务器,这意味着该服务器用于促进和/或优化客户端设备之间的数据交换。在此类实施例中,至少一个云服务器可以管理、分析、处理和优化传入的图像和多媒体流,并且管理、评估、优化出站流的转发作为路由器拓扑(例如但不限于SFU(选择性转发单元)、SAMS(空间分析媒体服务器)、多媒体路由器等),或者图像和媒体处理(例如,但不限于解码、组合、改进、混合、增强、扩充、计算、操纵、编码)和转发服务器拓扑(例如但不限于,多点控制单元-MCU、云媒体混合器、云3D渲染器等)或其他服务器拓扑。
在此类实施例中,其中中间服务器是SAMS,此类媒体服务器管理、分析和处理发送给每一客户端设备的传入数据(例如,包括但不限于,元数据、优先级数据、数据类别、空间结构数据、三维位置、取向或运动信息、图像、媒体、基于可伸缩视频编解码器的视频),并且在此类分析中基于特定接收客户端设备用户的空间、三维取向、距离以及与此类传入数据的优先级关系来通过针对时间(变化的帧速率)、空间(例如,不同的图像大小)、质量(例如,基于不同压缩或编码的质量)和颜色(例如,颜色分辨率和范围)来修改、放大或缩小媒体,从而优化了向每一接收客户端设备的出站数据流的转发,实现用于接收一个或多个用户客户端设备的最佳带宽和计算资源利用率。
在一些实施例中,多个图像处理任务基于它们是否由客户端设备、云服务器和/或接收客户端设备执行而被分类,并且因此被分类为客户端设备图像处理、服务器图像处理和接收客户端设备图像处理。多个图像处理任务可以在混合架构的客户端-服务器端、P2P端或其组合上执行。图像处理任务包含背景移除、进一步处理或改进以及插入并组合到虚拟环境中。三个图像处理任务的组合可以用于产生、改进和将用户图形表示插入/组合到虚拟环境中。客户端设备处理、服务器图像处理和接收客户端设备处理的图像处理组合和对应的使用水平取决于要处理的数据量、允许维持平滑用户体验的等待时间、期望的服务质量(QOS)、所需的服务等。以下是在客户端-服务器端执行的八个此类图像处理组合。
在一些实施例中,客户端设备中的至少一者被配置成,在客户端-服务器端的图像处理组合中,产生用户图形表示,执行背景移除,并将移除了背景的用户图形表示发送到至少一个云服务器用于进一步处理。在第一说明性图像处理组合中,客户端设备产生包含背景移除的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器用于进一步处理或改进,产生移除了背景的增强用户图形表示。至少一个云服务器向接收客户端设备发送移除了背景的增强用户图形表示,该接收客户端设备将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在第二说明性图像处理组合中,客户端设备产生包含背景移除的用户图形表示,并对其执行进一步处理,产生移除了背景的增强用户图形表示,然后发送到至少一个云服务器。至少一个云服务器向接收客户端设备发送移除了背景的增强用户图形表示,该接收客户端设备将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在第三说明性图像处理组合中,客户端设备产生包含背景移除的用户图形表示,对其执行进一步处理,产生移除了背景的增强用户图形表示,并将移除了背景的增强用户图形表示插入并组合到虚拟环境中。客户端设备然后将插入并组合到虚拟环境中的移除了背景的增强用户图形表示发送到云服务器,用于向接收客户端设备中继。
在第四说明性图像处理组合中,客户端设备产生包含背景移除的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器用于执行进一步处理,产生移除了背景的增强用户图形表示。至少一个云服务器然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中,然后向接收客户端设备发送。
在第五说明性图像处理组合中,客户端设备产生包含背景移除的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器用于中继到接收客户端设备。接收客户端设备对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,接收客户端设备将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在第六说明性图像处理组合中,客户端设备向至少一个云服务器发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据,该至少一个云服务器执行包含背景移除的用户图形表示的产生,并对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,并将其发送到接收客户端设备。接收客户端设备将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在第七说明性图像处理组合中,客户端设备向至少一个云服务器发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据。至少一个云服务器产生包含背景移除的用户图形表示,对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到被发送到接收客户端设备的虚拟环境中。
在第八说明性图像处理组合中,客户端设备向至少一个云服务器发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据,用于中继到接收客户端设备。接收客户端设备使用该数据来产生包含背景移除的用户图形表示,并对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在一些实施例中,当客户端-服务器端的数据通过至少一个云服务器中继时,至少一个云服务器被配置为使用中继NAT穿透(TURN)服务器。TURN可以在对称NAT(网络地址转换)的情况下使用,并且可以在连接建立之后保留在媒体路径中,同时处理的和/或未处理的数据在客户端设备之间被中继。
以下是由第一和第二对等设备中的一个或两个执行的在P2P端执行的三个说明性图像处理组合的描述。
在第一图像处理组合中,第一对等设备产生包含背景移除的用户图形表示,对其执行进一步处理,产生移除了背景的增强用户图形表示,并将移除了背景的增强用户图形表示插入并组合到虚拟环境中。第一对等设备然后将插入并组合到虚拟环境中的移除了背景的增强用户图形表示发送到第二对等设备。
在第二图像处理组合中,第一对等设备产生包含背景移除的用户图形表示,并将移除了背景的用户图形表示发送到第二对等设备。第二对等设备对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,第二对等设备将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在第三图像处理组合中,第一对等设备向第二对等设备发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据。第二对等设备使用该数据来产生包含背景移除的用户图形表示,并对移除了背景的用户图形表示执行进一步处理,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在一些实施例中,P2P端的三个图像处理组合可以还包含通过至少一个云服务器中继数据。在这些实施例中,至少一个云服务器可以被配置为STUN服务器,其允许对等设备发现它们的公共IP地址和它们背后的NAT类型,这些信息可以用于在对等设备之间建立数据连接和数据交换。在另一实施例中,至少一个云服务器计算机可以被配置用于信令,其可以被用于对等设备定位和彼此连接,以及通过由至少一个云服务器执行的通信协调来交换数据。
在一些实施例中,媒体、视频和/或数据处理任务包含编码、代码转换、解码空间或3D分析和处理中的一者或多者,包含图像滤波、计算机视觉处理、图像锐化、背景改进、背景移除、前景模糊、眼睛遮盖、面部像素化、语音失真、图像放大、图像净化、骨骼结构分析、面部或头部计数、物体辨识、标记或QR码跟踪、眼睛跟踪、特征分析、3D网格或体积产生、特征跟踪、面部辨识、SLAM跟踪和面部表情辨识中的一者或多者,或者运行在此类媒体路由器或服务器上的微服务形式的其他模块化插件。
在一些实施例中,背景移除包含通过实例分割或语义分割中的一者或多者来采用图像分割以及使用深度神经网络。
在一些实施例中,数据处理系统的一个或多个计算设备还被配置成通过产生虚拟相机将用户图形表示插入到虚拟环境中,其中产生虚拟相机包含使所捕获的视角数据与虚拟环境内用户图形表示的视角相关联。在实施例中,将用户图形表示插入并组合到虚拟环境中包含产生一个或多个虚拟相机,这些虚拟相机被虚拟地放置并对齐在用户图形表示的前方,例如,在移除了背景的视频、或没有移除背景的视频、或用户3D虚拟剪切、或用户实时3D虚拟剪切的前方。在一个实施例中,一个或多个虚拟相机可以从眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,可以从两只眼睛水平向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置的中心向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的中心向外指向。在另一实施例中,一个或多个虚拟相机可以放置在用户图形表示的前方,例如在用户图形表示的头部水平,当处于自我视角时指向用户图形表示。
在实施例中,至少通过使用计算机视觉将所捕获的用户视角数据与虚拟环境内的用户图形表示的视角相关联来创建一个或多个虚拟相机。
在本公开的另一方面,一种图像处理方法包含:在至少一个云服务器计算机的存储器中提供实现图像处理功能的数据和指令;以及通过至少一个云服务器计算机和至少一个客户端设备的一个或多个图像处理组合,基于来自至少一个客户端设备的实况数据馈送而产生虚拟环境中的用户图形表示,其中至少一个云服务器计算机通过混合系统架构与至少一个客户端设备交互。在实施例中,该方法包括:从至少一个相机获得来自至少一个对应客户端设备的至少一个用户的实况数据馈送;以及通过一个或多个云服务器计算机和至少一个客户端设备的一个或多个图像处理组合来产生用户图形表示。一个或多个云服务器计算机和至少一个客户端设备可以通过包含P2P端和客户端-服务器端的本公开的混合系统架构进行交互。
在一些实施例中,该方法包含由P2P端执行视频和数据处理以及客户端设备之间的同步、流式传输和渲染。在其他实施例中,该方法包含由P2P端执行客户端设备之间的视频流、渲染和同步,而客户端-服务器端用于数据处理。在其他实施例中,该方法包含由客户端-服务器端执行视频流以及数据处理,而P2P端用于客户端设备之间的视频渲染和同步。在其他实施例中,该方法包含由客户端-服务器端执行视频流、渲染和数据处理以及同步。
在一些实施例中,数据处理任务包含产生用户图形表示,并将该用户图形表示插入到虚拟环境中。在实施例中,数据处理任务包含首先产生包含执行背景移除的用户图形表示,然后执行进一步处理,并且随后插入并组合到虚拟环境中。在其他实施例中,图像处理任务通过客户端-服务器端或P2P端中的客户端设备和云服务器计算机的多个图像处理组合来执行。
在一些实施例中,将用户图形表示插入到虚拟环境中包含产生虚拟相机,其中产生虚拟相机包含使所捕获的视角数据与虚拟环境内的用户图形表示的视角相关联。在实施例中,将用户图形表示插入并组合到虚拟环境中包含产生一个或多个虚拟相机,这些虚拟相机被虚拟地放置并对齐在用户图形表示的前方,例如,在移除了背景的视频、或没有移除背景的视频、或用户3D虚拟剪切、或用户实时3D虚拟剪切的前方。在一个实施例中,一个或多个虚拟相机可以从眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,可以从两只眼睛水平向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置的中心向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的中心向外指向。在另一实施例中,一个或多个虚拟相机可以放置在用户图形表示的前方,例如在用户的头部水平,当处于自我视角时指向用户图形表示。至少通过使用计算机视觉将所捕获的用户视角数据与虚拟环境内的用户图形表示的视角相关联来创建虚拟相机。
在一些实施例中,该方法还包含在用户图形表示上嵌入被嵌入在其上的可点击链接,该链接响应于点击,指向包含关于对应用户的配置文件信息的第三方源。
在本公开的另一方面,基于用户图形表示的用户认证系统包含:包含至少一个处理器和存储数据和指令的存储器的一个或多个云服务器计算机,包含存储与用户账户和一个或多个对应用户图形表示相关联的用户数据的用户数据库,以及连接到该数据库的面部扫描和认证模块;其中该一个或多个云服务器计算机被配置成执行包含以下各项的步骤:通过面部扫描和认证模块通过执行用户的面部扫描来认证用户,其中该面部扫描包含从接收自客户端设备的相机数据提取面部特征数据,以及检查该提取的面部特征数据与用户数据库中用户账户所关联的用户图形表示的匹配;如果在检查步骤中发现匹配的用户图形表示,则向用户提供对对应的用户账户的访问;以及如果在检查步骤中未发现匹配的用户图形表示,则从相机数据产生新的用户图形表示以及存储在用户数据库中的新用户账户,并对该用户账户的访问。
在实施例中,该系统包括被配置成从请求访问用户账户的至少一个客户端设备的用户获得数据的至少一个相机,其中该至少一个相机连接到至少一个客户端设备和一个或多个云服务器计算机。一个或多个云服务器计算机通过以下各项来认证用户:通过该面部扫描和认证模块来执行用户的面部扫描,检查用户数据库与用户图形表示的匹配,以及如果用户账户被确认并可用,则向用户提供对应的用户图形表示以及对用户账户的访问;以及如果用户账户不可用,则从数据产生新的用户图形表示以及存储在用户数据库中的新用户账户以及对用户账户的访问。
用户账户可以例如用于访问虚拟环境平台或任何其他应用(例如,可以链接到环境平台的应用),诸如任何交互式应用、游戏、电子邮件账户、大学配置文件账户、工作账户等。给定产生用户图形表示或从用户数据库检索现有用户图形表示的附加认证步骤,本公开的基于图形表示的用户认证系统提供了比标准的基于相机的面部检测认证系统更高的安全性水平。
在一些实施例中,用户图形表示是用户3D虚拟剪切、或移除了背景的用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频。在实施例中,用户图形表示是从用户上传的或第三方源照片构建的用户3D虚拟剪切、或基于从相机获得的实时2D或3D实况视频流数据馈送产生的移除了背景的用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频。在一些实施例中,一个或多个云服务器计算机还被配置成动画化匹配的用户图形表示或新的用户图形表示。动画化匹配的用户图形表示包含由客户端设备或至少一个云服务器计算机在相应的用户图形表示上应用机器视觉算法,用于辨识用户的面部表情并在用户图形表示上图形模拟面部表情。在其他实施例中,从用户上传的或第三方源的照片构建的用户3D虚拟剪切的更新包含由客户端设备或至少一个云服务器计算机在产生的用户3D虚拟剪切上应用机器视觉算法,用于辨识用户的面部表情并在用户3D虚拟剪切上图形模拟面部表情。
在一些实施例中,一个或多个云服务器计算机还被配置成检查匹配的用户图形表示的日期,并确定是否需要更新匹配的用户图形表示。在实施例中,如果用户账户可用,并且响应于一个或多个云服务器计算机检查可用用户图形表示的日期,一个或多个云服务器计算机通过与对应的阈值或安全要求进行比较来确定是否需要更新现有用户图形表示。例如,如果要进行系统安全更新,可能需要更新所有用户图形表示,或者至少需要更新在指定日期之前创建的图形表示。如果需要用户图形表示,则一个或多个云服务器计算机向对应的客户端设备产生用户图形表示更新请求。如果用户批准该请求,则一个或多个云服务器计算机或客户端设备基于来自实况相机馈送来继续产生用户图形表示。如果不需要更新,则一个或多个云服务器计算机继续从用户数据库中检索现有的用户图形表示。
在一些实施例中,用户图形表示被插入到二维或三维虚拟环境中,或者在链接到虚拟环境的第三方源上(例如,通过覆盖在与本公开系统集成或耦合的第三方应用或网站的屏幕上),并且与二维或三维虚拟环境图形组合。
在一些实施例中,用户图形表示的产生过程与用户访问用户账户异步地发生。例如,如果系统在执行基于用户图形表示的面部扫描和检测之后确定用户已被认证,则系统可以使用户能够在产生新的用户图形表示的同时访问用户账户,以便一旦准备好就提供给用户,并且然后插入并组合到虚拟环境中。
在一些实施例中,一个或多个云服务器计算机还被配置成通过登录认证凭证来认证用户,认证凭证包含个人识别号(PIN)、或用户名和密码或其组合。
在一些实施例中,响应于从一个客户端设备发送到另一客户端设备的邀请链接或深层链接的激活来触发认证。在实施例中,点击邀请链接或深层链接触发至少一个云服务器计算机,以请求用户进行认证。例如,邀请链接或深层链接可以用于电话呼叫、会议或视频游戏会话邀请,其中被邀请的用户可以通过本公开的基于用户图形表示的认证系统被认证。
在另一实施例中,面部扫描使用3D认证,包含引导用户执行头部移动模式并基于头部移动模式提取3D面部数据。这可以使用存储在至少一个服务器计算机中的应用指令来完成,该应用指令通过引导用户执行头部移动模式来实现3D认证,例如,执行一个或多个头部姿势、以圆周运动的方式水平或垂直地倾斜或旋转头部、执行用户产生的姿势模式、或特定的头部移动模式、或其组合。3D认证根据从相机实况视频数据馈送获得的数据来辨识其他特征,而不仅仅是比较和分析一个视图或图像。在该3D认证实施例中,面部扫描过程可以从数据中辨识其他特征,该数据可以包含面部数据,包括头部移动模式、面部体积、高度、面部特征的深度、面部疤痕、纹身、眼睛颜色、面部皮肤参数(例如,肤色、皱纹、毛孔结构等)、反射参数,除此之外,例如仅仅是面部拓扑上的此类特征的位置,这可能是其他类型的面部检测系统的情况。捕获此类面部数据因此可以增加对真实面部的捕获,这可以用于产生真实的用户图形表示。使用3D认证的面部扫描可以使用高分辨率3D相机、深度相机(例如,LIDAR)、光场相机等来执行。面部扫描过程和3D认证可以使用深度神经网络、卷积神经网络和其他深度学习技术来通过使用面部数据来检索、处理、评估该用户的认证。
在本公开的另一方面,基于用户图形表示的用户认证方法包含:在一个或多个云服务器计算机的存储器中提供存储与用户账户和一个或多个对应的用户图形表示相关联的用户数据的用户数据库,以及连接到该用户数据库的面部扫描和认证模块;从客户端设备接收访问用户账户的请求;通过从与客户端设备通信的至少一个相机所捕获的相机数据提取面部特征数据通过面部扫描和认证模块来执行客户端设备的用户的面部扫描;检查该提取的面部特征数据与用户数据库中用户账户所关联的用户图形表示的匹配;如果在检查步骤中发现匹配的用户图形表示,则向用户提供对用户账户的访问;以及如果在检查步骤中未发现匹配的用户图形表示,则从相机数据产生新的用户图形表示以及存储在用户数据库中的新用户账户,并提供对该用户账户的访问。
在实施例中,该方法包括:通过使用从连接到至少一个客户端设备和一个或多个云服务器计算机的至少一个相机接收的图像和/或媒体数据,通过面部扫描和认证模块来执行用户的面部扫描;检查用户数据库与用户账户所关联的用户面部数据的匹配;如果用户账户可用,则向用户提供对应的用户图形表示以及对用户账户的访问;以及如果用户账户不可用,则从面部数据产生新的用户图形表示以及存储在用户数据库中的新用户账户以及对用户账户的访问。
在一些实施例中,用户图形表示是从用户上传的或第三方源照片构建的用户3D虚拟剪切、或包含基于从相机获得的实时2D或3D实况视频流数据馈送产生的移除了背景的用户实时视频流的用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频。在其他实施例中,该方法包括动画化匹配的用户图形表示或新的用户图形表示,可以包括由客户端设备或至少一个云服务器计算机在相应的用户图形表示上应用机器视觉算法,用于辨识用户的面部表情并在用户图形表示上图形模拟面部表情。在实施例中,用户3D虚拟剪切的更新包含由客户端设备或至少一个云服务器计算机在产生的用户3D虚拟剪切上应用机器视觉算法,用于辨识用户的面部表情并在用户3D虚拟剪切上图形模拟面部表情。
在一些实施例中,该方法还包含:如果在检查步骤中发现匹配的用户图形表示,则检查匹配用户图形表示的日期;至少部分基于该日期,确定是否需要更新该匹配的用户图形表示;以及在需要更新该匹配的用户图形表示的肯定情况下,产生用户图形表示更新请求。在实施例中,该方法包括:如果用户账户可用,则检查可用用户图形表示的日期;通过与对应的阈值或安全要求进行比较来确定是否需要更新现有的用户图形表示;以及,在需要用户图形表示的肯定情况下,向对应的客户端设备产生和传输用户图形表示更新请求。如果用户批准该请求,则一个或多个云服务器计算机或客户端设备基于实况相机馈送来继续产生用户图形表示。如果不需要更新,则一个或多个云服务器计算机继续从用户数据库中检索现有的用户图形表示。
在一些实施例中,该方法还包含将用户图形表示插入到二维或三维虚拟环境中,或者在链接到虚拟环境的第三方源上(例如,通过覆盖在与本公开系统集成或耦合的第三方应用或网站的屏幕上),并且将用户图形表示与二维或三维虚拟环境图形组合。
在一些实施例中,新的用户图形表示的产生过程与用户访问用户账户异步地发生。
在一些实施例中,该方法还包含通过登录包含至少用户名和密码的认证凭证来认证该用户。
在一些实施例中,该认证响应于邀请链接的激活而触发。在实施例中,该方法还包含由一个客户端设备向另一客户端设备提供邀请链接或深层链接,其中点击邀请链接触发至少一个云服务器计算机,以请求用户进行认证。
在本公开的另一方面,提供一种用于从虚拟环境内虚拟广播的系统。该系统包含:包含一个或多个服务器计算机的服务器计算机系统,每一服务器计算机包含至少一个处理器和存储器,该服务器计算机系统包括实现被配置成管理客户端设备之间的数据交换的数据交换管理模块的数据和指令;以及包含虚拟广播相机的至少一个虚拟环境,该虚拟广播相机定位在至少一个虚拟环境内且被配置成捕获来自至少一个虚拟环境内的多媒体流。服务器计算机系统被配置成从至少一个客户端设备接收由至少一个相机捕获的实况馈送数据,并且基于数据交换管理将多媒体流广播到至少一个客户端设备,其中广播的多媒体流被配置成显示给从来自至少一个客户端设备的用户实况数据馈送产生的对应用户图形表示。由数据交换管理模块进行的客户端设备之间的数据交换管理包含分析传入的多媒体流,以及基于该传入媒体流的分析来评估和转发出站的多媒体流。
在实施例中,多媒体流被发送到至少一个媒体服务器计算机,用于广播到至少一个客户端设备。在实施例中,该系统包括至少一个相机,该相机从至少一个客户端设备的用户获得实况馈送数据,并经由至少一个客户端设备将实况馈送数据从用户发送到至少一个媒体计算机;其中基于来自至少一个媒体服务器计算机的数据交换管理,多媒体流被广播到至少一个客户端设备,并且被显示给通过至少一个客户端设备从用户实况数据馈送产生的对应用户图形表示,并且其中,由数据交换管理模块进行的客户端设备之间的数据交换管理包含分析和优化传入多媒体流,以及评估和优化出站多媒体流的转发。
在一些实施例中,当转发出站多媒体流时,服务器计算机系统利用路由拓扑,包含选择性转发单元(SFU)、使用中继NAT穿透(TURN)、SAMS、或其他合适的多媒体服务器路由拓扑、或媒体处理和转发服务器拓扑、或其他合适的服务器拓扑。
在一些实施例中,服务器计算机系统使用媒体处理拓扑来处理出站多媒体流,以供至少一个虚拟环境内的用户图形表示通过客户端设备查看。在实施例中,在利用媒体处理拓扑时,至少一个媒体服务器计算机被配置用于解码、组合、改进、混合、增强、扩充、计算、操纵和编码到相关客户端设备的多媒体流,以供至少一个虚拟环境内的用户图形表示通过客户端设备查看。
在一些实施例中,在利用转发服务器拓扑时,服务器计算机系统利用MCU、云媒体混合器和云3D渲染器中的一者或多者。
在一些实施例中,传入多媒体流包含用户优先级数据和距离关系数据,并且用户优先级数据包含对较靠近传入多媒体流源的用户图形表示的较高优先级分数以及对较远离传入多媒体流源的用户图形表示的较低优先级分数。在实施例中,多媒体流包含与用户优先级和对应用户图形表示与多媒体流之间的距离关系相关的数据,包含元数据、或优先级数据、或数据类别、或空间结构数据、或三维位置、或取向或运动信息、或图像数据、或媒体数据、以及基于可缩放视频编解码器的视频数据、或其组合。在其他实施例中,优先级数据包含对于较靠近多媒体流源的用户的较高优先级分数,以及对于较远离虚拟多媒体流源的用户的较低优先级分数。在其他实施例中,出站多媒体流的转发是基于用户优先级数据和距离关系数据。在实施例中,由媒体服务器基于用户优先级和距离关系数据实现的出站多媒体流的转发包含优化一个或多个接收客户端设备的带宽和计算资源利用率。在其他实施例中,出站多媒体流的转发还包含修改、放大或缩小多媒体流的时间、空间、质量和/或颜色特征。
在一些实施例中,虚拟广播相机通过访问虚拟环境的客户端设备来管理。在实施例中,虚拟广播相机被配置成操纵在虚拟环境中更新的相机的视点,将更新的视点广播到至少一个客户端设备。
在一些实施例中,至少一个虚拟环境包含多个虚拟广播相机,每一虚拟广播相机从至少一个虚拟环境内的对应视点提供多媒体流。在实施例中,每一虚拟广播相机从虚拟环境内的对应视点提供多媒体流,该多媒体流可以由至少一个客户端设备的用户选择并在彼此之间交替,向对应的至少一个用户图形表示提供对应的视点。
在一些实施例中,至少一个虚拟环境由经由网络连接到至少一个媒体服务器计算机的至少一个专用服务器计算机托管,或者托管在对等基础设施中,并且通过至少一个媒体服务器计算机中继。
在本公开的另一方面,一种用于从虚拟环境内虚拟广播的方法包含:在至少一个媒体服务器的存储器中提供实现管理客户端设备之间的数据交换的客户端设备数据交换管理模块的数据和指令;由定位在连接到至少一个媒体服务器的至少一个虚拟环境内的虚拟广播相机捕获多媒体流,向至少一个媒体服务器发送该多媒体流用于广播到至少一个客户端设备;从至少一个客户端设备获得(例如,经由至少一个客户端设备从至少一个相机获得)实况馈送数据;执行数据交换管理,包含分析来自至少一个虚拟环境内和实况馈送数据的传入多媒体流,以及评估该出站多媒体流的转发;以及基于该数据交换管理向客户端设备广播对应的多媒体流,其中该多媒体流被显示给至少一个客户端设备的用户的用户图形表示。在此情境中,这指的是用户图形表示基于他们在虚拟环境中的位置可以“看到”什么,这对应于当从他或她的用户图形表示的角度查看虚拟环境时将向用户(经由客户端设备)显示什么。
在一些实施例中,当转发出站多媒体流时,该方法利用路由拓扑,包含SFU、TURN、SAMS、或其他合适的多媒体服务器路由拓扑、或媒体处理和转发服务器拓扑、或其他合适的服务器拓扑。
在一些实施例中,该方法还包含在利用媒体处理拓扑时解码、组合、改进、混合、增强、扩充、计算、操纵和编码多媒体流。
在一些实施例中,在利用转发服务器拓扑时,该方法还包含利用多点控制单元(MCU)、云媒体混合器和云3D渲染器中的一者或多者。
在一些实施例中,传入多媒体流包含用户优先级数据和距离关系数据,并且用户优先级数据包含对较靠近传入多媒体流源的用户图形表示的较高优先级分数以及对较远离传入多媒体流源的用户图形表示的较低优先级分数。在实施例中,该方法还包含基于用户优先级和距离关系数据优化由媒体服务器实现的出站多媒体流的转发,这可以包括优化一个或多个接收客户端设备的带宽和计算资源利用率。在其他实施例中,优化由媒体服务器实现的出站多媒体流的转发还包含修改、放大或缩小多媒体流的时间、空间、质量和/或颜色特征。
在一些实施例中,至少一个虚拟环境包含多个虚拟广播相机,每一虚拟广播相机从至少一个虚拟环境内的对应视点提供多媒体流。在实施例中,该方法还包含提供多个虚拟广播相机,每一虚拟广播相机从虚拟环境内的对应视点提供多媒体流,该多媒体流可以由至少一个客户端设备的用户选择并在彼此之间交替,向对应的至少一个用户图形表示提供对应的视点。
在本公开的另一方面,提供一种用于在虚拟环境内递送应用的系统,包含:至少一个云服务器计算机,该云服务器计算机包含至少一个处理器和存储器,该存储器包括实现链接到应用模块的至少一个虚拟环境的数据和指令,该应用模块包括一个或多个已安装应用和用于多用户交互的对应应用规则;其中,响应于由虚拟环境主机通过客户端设备进行选择,在虚拟环境会话期间显示和激活一个或多个已安装应用,使得虚拟环境主机的用户图形表示和虚拟环境内的任何参与者用户图形表示能够通过对应的客户端设备与一个或多个已安装应用交互,并且其中至少一个云服务器计算机根据应用模块中用于多用户交互的应用规则来管理和处理与一个或多个已安装应用的所接收的用户交互,并相应地转发经处理的交互(例如,向每一客户端设备),以根据多用户交互应用规则建立实现共享体验的多用户会话。
在一些实施例中,用于多用户交互的应用规则被存储和管理在一个或多个独立的应用服务器中。
在一些实施例中,一个或多个应用从应用库可用的应用安装包中安装,通过对应的应用编程接口提供应用服务。
在一些实施例中,应用库被情境过滤。在实施例中,情境过滤被设计成提供特定情境的相关应用。
在一些实施例中,一个或多个已安装应用与安装在对应客户端设备中的虚拟显示应用共享并通过虚拟显示应用查看。在实施例中,在安装和激活后,一个或多个已安装应用与安装在对应客户端设备中的虚拟显示应用共享并通过该虚拟显示应用查看,其中该虚拟显示应用被配置成从应用库接收一个或多个已安装应用,并且发布一个或多个选定的应用,以通过它们对应的客户端设备向会议主机用户图形表示和虚拟环境中的其他参与者用户图形表示显示。在其他实施例中,应用模块被表示为2D屏幕或3D体应用模块图形表示,其在虚拟环境中将内容从已安装应用显示给用户图形表示,并且其中虚拟显示应用被表示为2D屏幕或3D体,其在虚拟环境中将内容从已安装应用显示给用户图形表示。
在一些实施例中,一个或多个应用在多用户会话发生之前或同时被直接安装在虚拟环境内部。
在一些实施例中,在开始多用户会话之前,通过使用虚拟环境设置工具来安装一个或多个应用。
在一些实施例中,用于多用户交互的应用规则中的一者或多者定义同步交互、或异步交互、或其组合。在实施例中,此类规则相应地用于更新用户交互和一个或多个应用的相应更新视图。
在一些实施例中,异步交互是通过至少一个服务器计算机或者通过专用于处理与至少一个已安装应用的单个用户交互的独立服务器计算机来实现的。
在一些实施例中,虚拟环境是教室、或办公空间、或会议房间、或会议室、或礼堂、或剧院。
在本公开的另一方面,提供一种用于在虚拟环境内递送应用的方法,包含:在至少一个云服务器计算机的存储器中提供至少一个虚拟环境,以及包括一个或多个已安装应用和用于多用户交互的对应应用规则的应用模块,其中该应用模块链接到虚拟环境并在其内可见;从虚拟环境主机接收选择指令;在虚拟环境的会话期间显示和激活一个或多个已安装应用,使得虚拟环境主机的用户图形表示和虚拟环境内的一个或多个参与者用户图形表示能够通过对应的客户端设备与一个或多个已安装应用交互;根据应用模块中用于多用户交互的应用规则来管理和处理与一个或多个已安装应用的用户交互;以及向客户端设备转发经处理的交互,以根据应用规则建立实现共享体验的多用户会话。
在一些实施例中,该方法还包含将用于多用户交互的应用规则存储和管理在一个或多个独立应用服务器中。
在一些实施例中,该方法还包含从应用库中可用的应用安装包安装一个或多个应用;以及通过对应的应用编程接口提供应用服务。在其他实施例中,应用库被情境过滤以提供相关应用。在其他实施例中,一个或多个已安装应用与安装在对应客户端设备中的虚拟显示应用共享并通过虚拟显示应用查看。在实施例中,该方法包括,在激活后,通过安装在对应客户端设备中的虚拟显示应用来与一个或多个已安装应用共享并通过其查看,该虚拟显示应用被配置成从应用库接收一个或多个已安装应用,并且发布一个或多个选定的应用,以通过它们对应的客户端设备向会议主机用户图形表示和虚拟环境中的其他参与者用户图形表示显示。
在一些实施例中,该方法还包含在多用户会话发生之前或同时将一个或多个应用直接安装在虚拟环境内部。在其他实施例中,该方法还包含在开始多用户会话之前,通过使用虚拟环境设置工具来安装一个或多个应用。
在一些实施例中,该方法还包含定义用于多用户交互的应用规则中的一者或多者以包含同步交互、或异步交互、或其组合。在实施例中,该方法还包括相应地更新用户交互和一个或多个应用的相应更新视图。
在本公开的另一方面,一种在虚拟环境内提供虚拟计算资源的系统包含服务器计算机系统,该服务器计算机系统包含包括至少一个云服务器计算机的一个或多个服务器计算机,该至少一个云服务器计算机包含至少一个处理器和包括实现至少一个虚拟环境的数据和指令的存储器,以及与至少一个虚拟环境相关联的至少一个虚拟计算机,其中至少一个虚拟计算机从服务器计算机系统接收虚拟计算资源。该关联可以包括将虚拟计算机连接到虚拟环境。在实施例中,该至少一个虚拟计算机在虚拟环境中具有对应的图形表示。图形表示可以提供其他益处,诸如促进用户与虚拟计算机的交互以及增加用户体验的真实性(例如,对于家庭办公体验)。因此,在实施例中,至少一个虚拟计算机包含定位在虚拟环境内的至少一个对应的相关联图形表示,其中虚拟计算机从至少一个云服务器计算机接收虚拟计算资源;以及通过网络连接到至少一个服务器计算机的至少一个客户端设备;其中,响应于至少一个客户端设备访问一个或多个虚拟计算机(例如,通过与对应的图形表示交互),至少一个云服务器计算机向至少一个客户端设备提供可用虚拟计算资源的至少一部分。
在一些实施例中,服务器计算机系统被配置成,响应于用户图形表示在至少一个虚拟环境内与至少一个虚拟计算机的至少一个对应图形表示交互,向至少一个客户端设备提供虚拟计算资源的至少一部分。在其他实施例中,一个或多个虚拟计算机图形表示在空间上定位于虚拟环境内,以供用户图形表示访问。在实施例中,虚拟环境的布置与虚拟环境的情境主题相关联,诸如虚拟物品、家具、平面布置图等的布置,分别用于教育、会议、工作、购物、服务、社交或娱乐。在其他实施例中,一个或多个虚拟计算机图形表示被定位在虚拟环境的布置内,以供一个或多个用户图形表示访问。例如,虚拟计算机可以定位在用户图形表示在参与可能需要或受益于使用与虚拟计算机相关联的资源的能力的活动(诸如在虚拟教室、实验室或办公室中进行项目)时将访问的虚拟房间中。
在一些实施例中,服务器计算机系统被配置成响应于用户通过登录到至少一个客户端设备而不访问虚拟环境来访问至少一个云服务器计算机,向至少一个客户端设备提供虚拟计算资源的至少一部分。在说明性情形中,访问至少一个云服务器计算机的用户通过物理登录到通过网络连接到至少一个云服务器计算机的客户端设备来访问虚拟计算资源,触发向客户端设备提供虚拟计算资源而不访问虚拟环境。
在一些实施例中,虚拟计算资源的至少一部分通过管理工具被指派给客户端设备。在其他实施例中,虚拟计算资源的至少一部分的提供是基于所存储的用户配置文件来执行的。在实施例中,资源的指派是基于存储的用户配置文件来执行的,该用户配置文件包含与用户配置文件相关联并被指派给用户配置文件的一个或多个参数,该参数包含优先级数据、安全数据、QOS、带宽、存储空间或计算能力或其组合。
在一些实施例中,至少一个虚拟计算机包含应用库可用的可下载应用。在涉及多个虚拟计算机的说明性情形中,每一虚拟计算机都是应用库可用的可下载应用。
在本公开的另一方面,一种在虚拟环境内提供虚拟计算资源的方法包含:在至少一个云服务器计算机的存储器中提供至少一个虚拟计算机,以及与至少一个虚拟计算机相关联的虚拟环境;使虚拟计算资源与至少一个虚拟计算机相关联;从至少一个客户端设备接收访问一个或多个虚拟计算机的访问请求;以及响应于从至少一个客户端设备接收的访问请求,向至少一个客户端设备提供与至少一个虚拟计算机相关联的可用虚拟计算资源的一部分。在实施例中,该虚拟计算资源与至少一个虚拟计算机的关联可以包括由虚拟计算机从至少一个云服务器计算机接收该虚拟计算资源。
在一些实施例中,访问请求包含允许用户图形表示与表示至少一个虚拟计算机的一个或多个图形表示交互的请求。在实施例中,该方法还包含:从用户图形表示接收访问该至少一个虚拟环境内虚拟计算机的一个或多个图形表示的访问请求;以及向对应的客户端设备提供可用虚拟计算资源的至少一部分。在其他实施例中,虚拟环境的布置与虚拟环境的情境主题相关联,包含分别用于教育、会议、工作、购物、服务、社交或娱乐中的布置,并且其中一个或多个虚拟计算机定位在虚拟环境的布置内,用于供一个或多个用户图形表示访问。
在一些实施例中,访问请求通过登录到至少一个客户端设备中的用户来触发。在实施例中,该方法还包含:从物理登录到通过网络连接到至少一个云服务器计算机的客户端设备的用户接收访问请求;以及向客户端设备提供虚拟计算资源而不访问虚拟环境。
在一些实施例中,该方法还包含通过管理工具将虚拟计算资源的至少一部分指派给客户端设备。在其他实施例中,所述指派是基于存储的用户配置文件来执行的,该用户配置文件包含与用户配置文件相关联并被指派给用户配置文件的一个或多个参数,该参数包含优先级数据、安全数据、QOS、带宽、存储空间、计算能力或其组合。
在本公开的另一方面,实现用户图形表示之间的自组织虚拟通信的系统包含一个或多个云服务器计算机,该一个或多个云服务器计算机包含至少一个处理器和存储实现虚拟环境的数据和指令的存储器。该虚拟环境被配置成使得虚拟环境中的至少一个接近的用户图形表示和至少一个目标用户图形表示能够打开自组织通信信道,并且使得能够经由虚拟环境内的用户图形表示之间的自组织通信信道进行自组织对话。在实施例中,该系统还包含通过对应的用户图形表示访问至少一个虚拟环境并且经由网络连接到一个或多个云服务器计算机的两个或更多个客户端设备;其中该虚拟环境使得至少一个接近的用户图形表示和至少一个目标用户图形表示能够打开自组织通信信道,从而实现虚拟环境内用户图形表示之间的自组织对话。
在一些实施例中,基于用户图形表示之间的距离、位置和取向、或当前可用性状态、隐私设置、或自组织通信的状态配置、或其组合来执行自组织通信信道的打开。
在一些实施例中,自组织对话在虚拟环境内两个用户图形表示区所在的地方执行。在其他实施例中,自组织对话使用虚拟环境中的当前视角来执行。
在一些实施例中,自组织对话实现在发生自组织对话的同一或另一连接的虚拟环境内可选地改变视角、位置或其组合。
在一些实施例中,一个或多个云服务器计算机还被配置成在虚拟环境中产生视觉反馈,用信号通知自组织通信是可能的。在实施例中,用户图形表示接收视觉反馈,该视觉反馈用信号通知自组织通信是可能的,从而触发自组织通信信道的打开,用信号通知用户图形表示之间的自组织对话的开始。
在一些实施例中,自组织对话包含发送和接收实时音频和视频。在说明性情形中,此类视频可以从用户图形表示来显示。
在一些实施例中,对应于接近的用户图形表示的用户在打开自组织通信信道之前选择并点击目标用户图形表示。在其他实施例中,一个或多个云服务器计算机还被配置成响应于接受的邀请来打开自组织通信信道。例如,对应于接近的用户图形表示的用户向目标用户图形表示发送自组织通信参与邀请,并且在从目标用户图形表示接收到邀请批准后打开自组织通信信道。
在一些实施例中,自组织通信信道通过至少一个云服务器计算机或作为P2P通信信道来实现。
在本公开的另一方面,一种实现用户图形表示之间的自组织虚拟通信的方法包含:在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供虚拟环境;检测通过对应的图形表示访问至少一个虚拟环境的两个或更多个客户端设备,其中客户端设备经由网络连接到一个或多个云服务器计算机;以及响应于至少一个用户图形表示接近另一用户图形表示,打开自组织通信信道,从而实现虚拟环境中用户图形表示之间的自组织对话。
在一些实施例中,该方法还包含在打开自组织通信信道之前,检测和评估用户图形表示之间的距离、位置和取向、或当前可用性状态、隐私设置、或自组织通信的状态配置、或其组合中的一者或多者。
在一些实施例中,该方法使得自组织对话能够在虚拟环境内两个用户图形表示区所在的地方执行。在其他实施例中,自组织对话使用虚拟环境中的当前视角来执行。
在一些实施例中,该方法包含在发生自组织对话的同一或另一连接的虚拟环境内可选地改变视角、位置或其组合。
在一些实施例中,该方法还包含在虚拟环境中产生视觉反馈,用信号通知自组织通信是可能的。该方法可以还包括向目标用户图形表示发送视觉反馈,用信号通知自组织通信是可能的,从而触发自组织通信信道的打开,用信号通知用户图形表示之间的对话的开始。
在一些实施例中,对话包含发送和接收从用户图形表示显示的实时音频和视频。
在一些实施例中,该方法还包含由来自用户图形表示的接近的用户图形表示选择和点击目标用户图形表示。在其他实施例中,自组织通信信道响应于接受的邀请而打开。在实施例中,该方法还包含在打开自组织通信信道之前,向另一用户图形表示发送或从另一用户图形表示接收自组织虚拟通信参与邀请。
还描述了其上存储有指令的计算机可读介质,这些指令被配置成使一个或多个计算机执行本文描述的任何方法。
上述发明内容并不包括本公开所有方面的详尽列表。可以设想,本公开包括可以从上文概述的各方面的所有合适的组合来实践的所有系统和方法,以及在以下具体实施方式中公开的,并且在与本申请一起提交的权利要求中特别指出的那些系统和方法。此类组合具有在以上发明内容中没有具体叙述的优点。其他特征和优点将从附图以及从下文的详细描述中显而易见。
附图说明
参考以下描述和附图,将更好地理解本公开的具体特征、方面和优点,其中:
图1描绘了根据实施例的实现虚拟环境中的包括社交交互的交互的系统的示意图。
图2A-2B描绘了实现交互的系统的部署的示意图,包括在包含虚拟环境平台的多个垂直领域的虚拟环境中的社交交互。
图3描绘了根据实施例的在实现虚拟环境中的交互的系统中采用的混合系统架构的示意图。
图4描绘了根据实施例的图形用户界面的示意图,用户可以借此在虚拟环境中进行交互。
图5描绘了根据实施例的从用户3D虚拟剪切转变到用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频的方法的框图。
图6A-6C描绘了由对应的客户端设备和云服务器在客户端-服务器端执行的多个图像处理组合的示意图。
图7A-7C描绘了由对应的对等客户端在P2P端执行的多个图像处理组合的示意图。
图8描绘了根据实施例的基于用户图形表示的用户认证系统的示意图。
图9描绘了根据实施例的办公室虚拟环境的第三人称视角的示意图。
图10A-10B描绘了根据实施例的教室虚拟环境的示意图。
图11描绘了根据实施例的多个虚拟相机位置的示意图。
图12描绘了用于从虚拟环境内虚拟广播的系统的示意图。
图13描绘了用于在虚拟环境内递送应用的系统的示意图。
图14描绘了根据实施例的基于用于在图13中描绘的虚拟环境内递送应用的系统的虚拟环境的示意图。
图15描绘了根据实施例的在虚拟环境内提供虚拟计算资源的系统的示意图。
图16描绘了根据实施例的实现用户图形表示之间的自组织虚拟通信的系统的示意图。
图17描绘了根据实施例的实现虚拟环境中的交互的方法的实施例。
图18描绘了根据实施例的图像处理方法的实施例。
图19描绘了根据实施例的基于用户图形表示的用户认证方法1900。
图20展示了根据实施例的用于从虚拟环境内虚拟广播的方法的框图。
图21展示了根据实施例的用于从虚拟环境内递送应用的方法的框图。
图22展示了根据实施例的在虚拟环境内提供虚拟计算资源的方法的框图。
图23展示了实现用户图形表示之间的自组织虚拟通信的方法的框图。
具体实施方式
在以下描述中,参考了通过图示方式展示各种实施例的附图。而且,下文将通过参考几个示例来描述各种实施例。应理解,在不偏离所要求保护的主题的范围的情况下,实施例可以包括设计和结构上的改变。
本公开的系统和方法通过提供包含一个或多个虚拟环境的虚拟环境平台来解决至少一些前述缺点,该虚拟环境能够实现类似于真实生活中可用的实时多用户协作和交互,可以用于会议、工作、教育、购物和服务等。虚拟环境可以选自虚拟环境平台上可用的不同垂直领域的多个虚拟环境。来自相同和/或不同垂直领域的虚拟环境的组合可以形成虚拟环境集群,其可以包含数百甚至数千个虚拟环境。虚拟环境可以是2D或3D虚拟环境,包含与虚拟环境的垂直领域相关联的布置和视觉外观,其可以由用户根据他们的偏好或需求来定制。用户可以通过图形表示来访问虚拟环境,该图形表示可以插入到虚拟环境中,并与二维或三维虚拟环境进行图形组合。
用户图形表示可以是从用户上传的或第三方源的移除了背景的照片构建的用户3D虚拟剪切,或用户实时3D虚拟剪切,或移除了背景的视频,或没有移除背景的视频,根据用户的需要,它们中的任一者可以在任何时间相互切换。用户图形表示可以包含提供关于当前可用性或与其他用户相关的其他数据的进一步细节的用户状态。诸如虚拟环境中的用户之间的对话和协作的交互以及与虚拟环境内的对象的交互被实现。本公开还提供了一种数据处理系统和方法,包含可以用于产生用户图形表示的多个图像处理组合。本公开还提供:一种基于用户图形表示的用户认证系统和方法,其可以用于访问虚拟环境平台或从虚拟环境平台链接到虚拟环境的其他应用;一种用于从虚拟环境内虚拟广播的系统和方法;一种用于在虚拟环境内递送应用的系统和方法;一种在虚拟环境云服务器计算机内提供基于云计算的虚拟计算资源的系统和方法;以及一种能够在接近的用户图形表示之间实现自组织虚拟通信的系统和方法。
实现所述虚拟环境中的虚拟存在以及用户之间的真实交互和协作可以增加远程活动的真实性,诸如在流行病或其他限制流动的情况下所需要的。本公开的系统和方法还使得能够访问诸如移动设备或计算机的客户端设备上的各种虚拟环境,而不需要较昂贵的沉浸式设备,诸如扩展的现实头戴式显示器或昂贵的新型系统基础设施。本公开的客户端或对等设备可以包含,例如,计算机、耳机、移动电话、眼镜、透明屏幕、平板型计算机以及通常内置有相机的输入设备,或者可以连接到相机并从所述相机接收数据馈送的输入设备。
图1描绘了根据实施例的实现虚拟环境中的社交交互的系统100的示意图。
本公开的实现虚拟环境中的交互的系统100包含一个或多个云服务器计算机102,云服务器计算机包含至少一个处理器104和存储实现虚拟环境平台108的数据和指令的存储器106,虚拟环境平台包含至少一个虚拟环境110,诸如虚拟环境A-C。一个或多个云服务器计算机被配置成在至少一个虚拟环境的三维坐标位置处插入从由相机获得的实况数据馈送产生的用户图形表示,更新至少一个虚拟环境中的用户图形表示,并且实现虚拟环境中的实时多用户协作和交互。在所描述的实施例中,将用户图形表示插入虚拟环境中涉及在虚拟环境中图形组合用户图形表示,使得用户图形表示出现在虚拟环境中(例如,在指定的3D坐标位置)。在图1所示的示例中,系统100还包含至少一个从客户端设备118的用户116获得实况数据馈送114的相机112。一个或多个客户端设备118经由网络通信地连接到一个或多个云服务器计算机102和至少一个相机112。从实况数据馈送114产生的用户图形表示120被插入到虚拟环境110(例如,虚拟环境A)的三维坐标位置,并且与虚拟环境图形组合,以及使用实况数据馈送114进行更新。通过直接P2P通信或通过使用一个或多个云服务器102间接地向客户端设备提供更新的虚拟环境。系统100通过经由客户端设备118访问图形用户界面来实现虚拟环境110中的实时多用户协作和交互。
在图1中,两个用户116(例如,分别是用户A和B)正在访问虚拟环境A,并且正在通过经由对应的客户端设备118(例如,分别是客户端设备A和B)访问的他们对应的用户图形表示120(例如,分别是用户图形表示A和B)与其中的元件以及彼此进行交互。尽管在图1中仅描绘了两个用户116、客户端设备118和用户图形表示120,但是本领域技术人员可以理解,该系统可以使得多个用户116能够经由对应的客户端设备118通过他们对应的图形表示120彼此交互。
在一些实施例中,虚拟环境平台108和对应的虚拟环境110可以实现向多个(例如,数千或甚至数百万)用户图形表示120实时共享多个体验,诸如现场表演、音乐会、网络研讨会、主题演讲等。这些虚拟表演可以由虚拟环境110的多个实例呈现和/或多点传送给虚拟环境110的多个实例,以容纳来自世界各地的大量用户116。
在一些实施例中,客户端设备118可以是移动设备、个人计算机、游戏控制台、媒体中心和头戴式显示器等中的一者或多者。相机110可以是2D或3D相机、360度相机、网络相机、RGBD相机、CCTV相机、专业相机、移动电话相机、深度相机(例如,LIDAR)或光场相机等中的一者或多者。
在一些实施例中,虚拟环境110是指通过计算机辅助绘图(CAD)方法通过任何合适的3D建模技术设计的虚拟建筑(例如,虚拟模型)。在其他实施例中,虚拟环境110是指通过任何合适的扫描工具从真实建筑(例如,物理房间)扫描的虚拟建筑,包含通过各种照片、视频、深度测量和/或同时定位和映射(SLAM)扫描输入的图像扫描管道,以便产生虚拟环境110。例如,诸如合成孔径雷达、实孔径雷达、光探测和测距(LIDAR)、逆孔径雷达、单脉冲雷达等雷达成像以及其他类型的成像技术可以用于对真实世界结构进行映射和建模,并将它们转变成虚拟环境110。在其他实施例中,虚拟环境110是对真实建筑(例如,真实世界中的房间、建筑物或设施)建模之后的虚拟建筑。
在一些实施例中,客户端设备118与至少一个云服务器计算机102通过有线或无线网络连接。在一些实施例中,网络可以包括毫米波(mmW)或mmW与亚6GHz通信系统的组合,诸如第五代无线系统通信(5G)。在其他实施例中,系统可以通过无线局域网(Wi-Fi)连接。在其他实施例中,系统可以通过第四代无线系统通信(4G)进行通信连接,可以由4G通信系统支持,或者可以包括其他有线或无线通信系统。
在一些实施例中,当接收到用户116的实况数据馈送114时,由客户端设备118的至少一个处理器执行包含在用户图形表示120的产生、更新和插入到所选择的虚拟环境110中及其组合中的处理和渲染。一个或多个云服务器计算机102可以接收客户端渲染的用户图形表示120,将客户端渲染的用户图形表示120插入到虚拟环境110的三维坐标中,将插入的用户图形表示120与虚拟环境110组合,然后继续向接收客户端设备传输该客户端渲染的用户图形表示120。例如,如图1所示,客户端设备A可以从相应的相机112接收实况数据馈送114,可以处理和渲染来自实况数据馈送114的数据,产生用户图形表示A,并且然后可以向至少一个云服务器计算机102传输客户端渲染的用户图形表示A,该至少一个云服务器计算机可以将用户图形表示A定位在虚拟环境118的三维坐标中,然后向客户端设备B传输该用户图形表示A。类似的过程适用于客户端设备B和来自用户B的用户图形表示B。用户图形表示A和B因此可以在虚拟环境A中相互查看并交互。然而,各种其他图像处理组合可以通过本公开的系统和方法来实现,如参考图6A-7C所示和描述的。
在一些实施例中,在客户端设备118发送用户116的未处理的实况数据馈送114时,由一个或多个云服务器计算机102的至少一个处理器104执行包含在用户图形表示120的产生、更新和插入以及与虚拟环境的组合中的处理和渲染。一个或多个云服务器计算机102因此从客户端设备118接收用户116的未处理的实况数据馈送114,并且然后从未处理的实况数据馈送中产生、处理和渲染位于虚拟环境110的三维坐标内的用户图形表示120,然后向其他客户端设备118传输该虚拟环境内的云渲染的用户图形表示。例如,如图1所示,客户端设备A可以从相应的相机112接收实况数据馈送114,并且然后可以向至少一个云服务器计算机102传输未处理的用户实况数据馈送114,该至少一个云服务器计算机可以产生、处理和渲染用户图形表示A并将用户图形表示A定位在虚拟环境118的三维坐标中,然后向客户端设备B传输该用户图形表示A。类似的过程适用于客户端设备B和来自用户B的用户图形表示B。用户图形表示A和B因此可以在虚拟环境A中相互查看并交互。
在一些实施例中,虚拟环境平台108被配置成能够将重新定向到虚拟环境的可点击链接嵌入到包含第三方网站、应用或视频游戏的一个或多个第三方源中。该链接可以是例如HTML链接。链接的虚拟环境110可以与嵌入链接的网站的内容相关联。例如,该链接可以嵌入在汽车经销商或制造商网站上,其中该可点击链接重新定向到表示用户可以通过用户图形表示120访问的汽车经销商展厅的虚拟环境110。
在一些实施例中,用户图形表示120包含嵌入其上的可点击链接,诸如指向包含关于对应用户的配置文件信息的第三方源的链接。例如,可点击链接可以是嵌入在用户图形表示120的源代码上的HTML链接,该链接可以授权对社交媒体(例如,专业社交媒体网站,诸如LinkedInTM)的访问,提供关于对应用户的其他信息。在一些实施例中,如果用户允许,当其他用户在对应的用户图形表示上点击或悬停光标时,可以显示用户的至少一些基本信息,这可以通过从数据库或第三方源访问和检索用户数据来完成。
在一些实施例中,用户图形表示是从用户上传的或第三方源(例如,从社交媒体网站)的照片构建的用户3D虚拟剪切,或者包含移除了背景的用户116的实时视频流的用户实时3D虚拟剪切,或者移除了背景的视频,或者没有移除背景的视频。在其他实施例中,客户端设备118通过处理和分析用户116的实况相机馈送114来产生用户图形表示120,产生经由对等(P2P)系统架构或混合系统架构发送到其他对等客户端设备118的动画数据,如将参考图3进一步描述的。接收对等客户端设备118使用动画数据来本地构建和更新用户图形表示。
用户3D虚拟剪切可以包括从用户上传的或第三方源的2D照片构建的用户的虚拟副本。在实施例中,使用用户上传的或第三方源的2D照片作为输入数据,通过机器视觉技术经由3D虚拟重建过程来创建用户3D虚拟剪切,从而产生移除了背景的用户的3D网格或3D点云。在一个实施例中,用户3D虚拟剪切可以具有静态面部表情。在另一实施例中,用户3D虚拟剪切可以包含通过相机馈送更新的面部表情。在另一实施例中,用户3D虚拟剪切可以包含可以通过用户图形界面上的按钮改变的表情,诸如允许用户3D虚拟剪切微笑、皱眉、严肃等的按钮。在又一实施例中,用户3D虚拟剪切使用上述技术的组合来显示面部表情。在产生用户3D虚拟剪切之后,用户3D虚拟剪切的状态和/或面部表情可以通过例如处理来自用户的相机馈送来持续更新。然而,如果相机没有打开,用户3D虚拟剪切可能仍然对具有不可用状态和静态面部表情的其他用户可见。例如,用户当前可能专注于任务,并且可能不想被打扰(例如,具有“请勿打扰”或“忙碌”状态),因此关闭他或她的相机。此时,用户3D虚拟剪切可能只是坐在他或她的桌子前,并且可能是静止的或者可能执行预配置的移动,诸如打字。然而,当再次打开用户相机时,可以再次关于用户面部表情和/或移动实时更新用户3D虚拟剪切。可以使用用于创建用户3D虚拟剪切的标准3D面部模型重建(例如,3D面部拟合和纹理融合)技术,使得所得的用户图形表示可被清楚地辨识为用户。
用户实时3D虚拟剪切可以包括基于从相机获得的实时2D或3D实况视频流数据馈送并且在移除用户背景之后的用户的虚拟副本。在实施例中,用户实时3D虚拟剪切是通过产生移除了背景的用户的3D网格或3D点云、使用用户实况数据馈送作为输入数据、通过机器视觉技术经由3D虚拟重建过程来创建的。例如,用户实时3D虚拟剪切可以从来自相机(例如,网络摄像头)的2D视频产生,该2D视频可以被处理以创建全息3D网格或3D点云。在另一示例中,用户实时3D虚拟剪切可以从来自深度相机(例如,LIDAR或任何深度相机)的3D视频产生,该3D视频可以被处理以创建全息3D网格或3D点云。因此,用户实时3D虚拟剪切以三维方式并实时地用图形表示用户。
移除了背景的视频可以包括流式传输到客户端设备的视频,其中已经执行了背景移除过程,使得只有用户是可见的,并且然后利用接收客户端设备上的多边形结构来显示。没有移除背景的视频可以包括流式传输到客户端设备的视频,其中视频忠实地表示相机捕获,使得用户和他或她的背景可见,并且然后利用接收客户端设备上的多边形结构来显示。多边形结构可以是四边形结构或更复杂的3D结构,用作支持视频的虚拟帧。
没有移除背景的视频可以包括流式传输到客户端设备的视频,其中视频忠实地表示相机捕获,使得用户和他或她的背景可见,并且然后利用接收客户端设备上的多边形结构来显示。多边形结构可以是四边形结构或更复杂的3D结构,用作支持视频的虚拟帧。
在一些实施例中,用作包含在实况数据馈送和/或用户上传或第三方源2D照片中的输入数据的数据包含2D或3D图像数据、3D几何形状、视频数据、媒体数据、音频数据、文本数据、触觉数据、时间数据、3D实体、3D动态对象、文本数据、时间数据、元数据、优先级数据、安全数据、位置数据、照明数据、深度数据和红外数据等。
在一些实施例中,实现用户实时3D虚拟剪切所需的背景移除过程通过图像分割和深度神经网络的使用来执行,这可以通过客户端设备118或至少一个云服务器计算机102的一个或多个处理器实现指令来实现。图像分割是将数字图像划分成多个对象的过程,这可以帮助定位可以将从用户116的实况数据馈送114获得的前景(例如,用户实时3D虚拟剪切)与背景分离的对象和边界。可以在本公开的实施例中使用的样本图像分割可以包含例如可从OpenCV获得的分水岭变换算法。
可以用于本公开中的背景移除的合适的图像分割过程使用人工智能(AI)技术,诸如计算机视觉来实现此类背景移除,并且可以包含实例分割和/或语义分割。实例分割为一个或多个多对象类的每一单独实例给予了不同的标签。在一些示例中,实例分割是通过掩码(Mask R-CNN)来执行的,该掩码R-CNN诸如从用户实况数据馈送114检测图像中的对象,同时为每一实例产生高质量的分割掩码,此外还添加了用于预测对象掩码的分支,该分支与用于边界框辨识的现有分支并行。然后提取为用户和背景创建的分割掩码,并且可以移除背景。语义分割使用深度学习或深度神经网络(DNN)技术,实现自动背景移除过程。语义分割根据预定义的规则,通过给每一像素一个来自一个或多个类别的类别标签,诸如颜色、纹理和平滑性,将图像划分成语义上有意义的部分。在一些示例中,语义分割可以利用完全卷积网络(FCN)训练的端到端、像素到像素的语义分割,如埃文·谢尔汉默(EvanShelhamer)、乔纳森·朗(Jonathan Long)和特雷弗·达雷尔(Trevor Darrell)在《IEEE模式分析和机器智能汇刊(IEEE Transactions on Pattern Analysis and MachineIntelligence)》第39卷第4期(2017年4月)中的文献“用于语义分割的完全卷积网络”中所公开的,该文献通过引用的方式并入本文中。在上述背景移除过程之后,可以保留用户的面部和身体边界内的点云,客户端设备118或至少一个云服务器计算机102的一个或多个处理器可以处理该点云以产生用户的3D网格或3D点云,该3D网格或3D点云可以在用户实时3D虚拟剪切的构建中使用。然后,从来自相机112的实况数据馈送114更新用户实时3D虚拟剪切。
在一些实施例中,用户图形表示120的更新包含由客户端设备118或至少一个云服务器计算机102在产生的用户图形表示120上应用机器视觉算法,用于辨识用户116的面部表情,并在虚拟环境110内的用户图形表示120上图形模拟面部表情。一般来说,此类面部表情辨识可以通过情感计算的原理来执行,情感计算处理人类情感的辨识、解释、处理和模拟。丹尼尔·卡内多(Daniel Canedo)和安东尼奥·J·R·内维斯(António J.R.Neves)在《应用科学(Applied Sciences)》第9卷第21期(2019年)的“使用计算机视觉的面部表情辨识:系统综述”中提供了对常规面部表情辨识(FER)技术的综述,该文献通过引用的方式并入本文中。
常规FER技术包括图像获取、预处理、特征提取和分类或回归的步骤。在本公开的一些实施例中,通过向一个或多个处理器馈送来自相机馈送114的图像数据来执行图像获取。预处理步骤对于向特征分类器提供最相关的数据可能是必要的,并且通常包含面部检测技术,该等技术能够创建界定目标用户面部的边界框,该边界框是期望的感兴趣区域(ROI)。通过光照变化的强度归一化、图像平滑的噪声滤波器、增加训练数据的数据增强、旋转面部的旋转校正、不同ROI大小的图像大小调整、以及更好的背景滤波的图像裁剪等对ROI进行预处理。在预处理之后,算法从预处理的ROI检索相关特征,包含动作单元(AU)、某些面部标志的运动、面部标志之间的距离、面部纹理、梯度特征等。这些特征然后可以被馈送到分类器中,该分类器可以是例如支持向量机(SVM)或卷积神经网络(CNN)。在训练分类器之后,可以在用户中实时检测情绪,并通过例如连接所有面部特征关系在用户图形表示120中构建情绪。
在一些实施例中,用户图形表示与俯视视角、或第三人称视角、或第一人称视角、或自我视角相关联。在实施例中,用户116在通过用户图形表示访问虚拟环境时的视角是俯视视角、或第三人称视角、或第一人称视角、或自我视角、或广播相机视角。自我视角可以包括由另一用户图形表示看到的用户图形表示,以及任选地,用户图形表示的虚拟背景。
在一些实施例中,当用户116经由图形用户界面手动导航虚拟环境110时,视角被更新。
在其他实施例中,通过使用虚拟相机来自动建立和更新视角,其中实况数据馈送的视角与用户图形表示的视角和虚拟相机相关联,并且其中通过跟踪和分析用户眼睛和头部倾斜数据或头部旋转数据或其组合来自动更新虚拟相机。在实施例中,通过使用一个或多个虚拟相机来自动建立和更新视角,该等一个或多个虚拟相机被虚拟地放置并对齐在用户图形表示120的前方,例如,在移除了背景的视频、或没有移除背景的视频、或用户3D虚拟剪切、或用户实时3D虚拟剪切的前方。在一个实施例中,一个或多个虚拟相机可以从眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,可以从两只眼睛水平向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置的中心向外指向。相机112捕获的用户116的视角与用户图形表示120的视角和使用计算机视觉的相关联的虚拟相机相关联,从而操纵虚拟相机。
虚拟相机提供了与用户116的视角相关联的用户图形表示120的视角的虚拟表示,使得用户116能够在许多视角之一中查看用户图形表示120可能正在看的虚拟环境110的区域。虚拟相机通过跟踪和分析用户眼睛和头部倾斜数据、或头部旋转数据、或其组合来自动更新。虚拟相机位置也可以由用户116根据用户116选择的视角来手动改变。
自我视角是被移除背景的另一用户图形表示120(例如,在电话相机的“自拍模式”中)看到的用户图形表示120的视角。可替代地,自我视角可以包含用户图形表示120的虚拟背景,用于理解其他参与者看到的用户116的感知。当包括用户图形表示的虚拟背景时,自我视角可以被设置为用户图形表示周围的区域,该区域可以被虚拟相机捕获,可以产生圆形、方形、矩形或用于构造自我视角的任何其他合适的形状。例如,在用户图形表示120虚拟地位于房屋中的情形中,在该房屋中,在用户的后方,可能存在可以从其看到树木的窗口,自我视角显示用户图形表示,并且可替代地,显示包含窗口和树木的背景。
在其他实施例中,用户眼睛和头部倾斜数据、或头部旋转数据、或其组合的跟踪和分析包含使用计算机视觉来捕获和分析由至少一个相机112捕获的观看位置和取向,从而在虚拟环境110中操纵虚拟相机。例如,此类操纵可以包含通过计算机视觉方法接收和处理由至少一个相机捕获的眼睛和头部倾斜数据;从眼睛和头部倾斜数据中提取观看位置和取向;从眼睛倾斜数据中识别包含在位置和取向内的虚拟环境的一个或多个坐标;以及基于所识别的坐标操纵虚拟相机。
在一些实施例中,至少一个云服务器计算机102的存储器106中的指令还能够在至少一个虚拟环境110内执行用户活动的数据分析。数据分析可以用于交互,包括参与与其他用户的对话、与虚拟环境110内的对象的交互、购买、下载、参与内容等。数据分析可以利用多种已知的机器学习技术来收集和分析来自交互的数据,以便执行推荐、优化、预测和自动化。例如,数据分析可以用于营销目的。
在一些实施例中,一个或多个云服务器计算机102的至少一个处理器104还被配置成实现在至少一个虚拟环境110中添加的内容的交易和货币化。至少一个云服务器计算机102可以通信地连接到应用和对象库,在那里用户可以通过合适的应用程序编程接口(API)在至少一个虚拟环境中找到、选择和插入内容。一个或多个云服务器计算机102可以进一步连接到一个或多个能够执行对应交易的支付网关。内容可以包含例如交互式应用或静态或交互式3D资产、动画或2D纹理等。
图2A-2B描绘了实现虚拟环境中的交互的系统的部署200a和200b的示意图,该虚拟环境包含虚拟环境平台的多个垂直领域。
图2A描绘了根据实施例的实现虚拟环境中的交互的系统的部署200a的示意图,虚拟环境包含虚拟环境平台108的多个垂直领域202。图2A的一些元件可以指代图1的相同或类似的元件,且因此可以利用相同的附图标记。
垂直领域202与虚拟环境的情境主题相关联,包含例如与会议204中的使用相关的情境主题,例如虚拟会议室,工作206作为例如虚拟办公空间,学习208作为例如虚拟教室,以及购物210作为例如虚拟商店。图2A中未示出的其他垂直领域可以包含,例如,诸如银行、预订(例如,酒店、旅行社或餐馆)和政府代理服务(例如,开设收费的新公司的咨询)等服务;以及娱乐(例如,卡拉OK、活动大厅或竞技场、剧院、夜总会、运动场、博物馆、游轮等)等等。
每一虚拟环境垂直领域202可以包含多个可用的虚拟环境110(例如,虚拟环境A-L),每一虚拟环境具有一个或多个与对应垂直领域202的情境相关联的可用布置和视觉外观。例如,会议204垂直领域202的虚拟环境A可以包含带有座位的会议桌、白板和投影仪。至少一个云服务器计算机可以向每一虚拟环境110提供对应的资源(例如,存储器、网络和计算能力)。垂直领域202可以从虚拟环境平台108获得,该虚拟环境平台可以由一个或多个用户116经由客户端设备118通过图形用户界面212来访问。图形用户界面212可以包含在可下载的客户端应用或网络浏览器应用中,提供执行所选虚拟环境110所需的应用数据和指令,并在其中实现多个交互。此外,每一虚拟环境110可以包括一个或多个人类或人工智能(AI)主机或助手,这些主机或助手可以通过他们对应的用户图形表示来提供所需的数据和/或服务来辅助虚拟环境内的用户。例如,人类或AI银行服务职员可以通过按照用户的要求以演示、表格、列表等形式提供所需信息来辅助虚拟银行的用户。
在一些实施例中,每一虚拟环境110是记录在其上执行的包含定制的改变的持久虚拟环境,其中改变存储在至少一个云服务器计算机102的持久存储器中。例如,返回到虚拟环境A的示例,可以修改桌子周围的座位布置、墙壁的颜色、或甚至房间的大小和容量,以适应用户的需求或偏好。所执行的改变可以保存在持久存储器中,并且此后在同一虚拟环境A中的后续会话期间可用。在一些示例中,在虚拟环境110中实现修改的持久存储可能需要向房间主人或所有者支付订阅费(例如,通过连接到支付网关的虚拟环境平台108)。
在其他实施例中,虚拟环境110是存储在至少一个云服务器计算机102的临时存储器中的临时虚拟环境。在这些实施例中,在虚拟环境110上执行的改变可能不被存储,且因此在未来的会话中可能不可用。例如,临时虚拟环境可以从来自不同垂直领域202的预定义可用虚拟环境中从虚拟环境平台108中选择。布置中的改变(诸如装饰或修改)可能或可能不会被实现,但在实现改变的情况下,这些改变可能会在结束会话后丢失。
在一些实施例中,一个或多个垂直领域202内的虚拟环境110的复合体可以表示虚拟环境集群214。例如,一些虚拟环境集群214可以包含数百个或甚至数千个虚拟环境110。对于用户来说,虚拟环境集群214可以看起来是同一系统的一部分,其中用户可以彼此交互或者可以无缝地访问同一虚拟环境集群214内的其他虚拟环境。例如,来自工作虚拟环境垂直领域206的虚拟环境D和E加上来自会议虚拟环境垂直领域204的虚拟环境B可以形成表示公司的虚拟环境集群214。此示例中的用户可以有两个不同的工作区,例如,游戏开发室和业务开发室,以及用于视频会议的会议室。来自游戏开发室和业务开发室中的任一者的用户可以在会议室会面并进行私人虚拟会议,而其余的工作人员可以继续在他们原来的工作区执行他们当前的活动。
在其他示例中,虚拟环境集群214可以表示剧院或活动设施,其中每一虚拟环境110表示室内或室外活动区(例如,礼堂或活动场所),其中一个或多个表演者通过他们对应的用户图形表示正在举行现场表演。例如,管弦乐队和/或歌手可以通过经由相机对他们的表演进行现场记录,并且通过他们的用户图形表示(例如,通过他们的用户实况3D虚拟剪切),来举行音乐会。每一表演者的用户图形表示可以被插入到他们可以表演的舞台的对应三维坐标中。观众可以通过他们对应的用户图形表示从礼堂观看表演,并且可以实现多个交互,诸如虚拟鼓掌、跟着歌曲唱歌、虚拟跳舞、虚拟跳跃或欢呼等。
在其他示例中,虚拟环境集群214可以表示包含多个游戏区(例如,21点区、扑克区、轮盘区和老虎机区)、代币购买区和活动室的娱乐场。每一游戏区中的机器可以被配置为娱乐场应用,其被配置成提供与每一游戏相关的用户体验。娱乐场运营商可以包含对应的用户图形表示120(诸如s)或用户实时3D虚拟剪切。由s代表的娱乐场运营商可以是真实的人类运营商或在虚拟娱乐场中辅助用户的人工智能程序。每一娱乐场游戏可以耦合到来自操作虚拟娱乐场的娱乐场公司的支付网关,使得能够向用户支付和从用户支付。
在其他示例中,虚拟环境集群214可以表示包含多个楼层的购物中心,每一楼层包含多个虚拟环境,诸如商店、陈列室、公共区、美食广场等。每一虚拟房间可以由对应的虚拟房间管理员管理。例如,每一商店可以由对应的商店管理员管理。销售人员可以在每一区中作为3D实况虚拟化身或用户实时3D虚拟剪切可用,并且可以是真实的人或AI助手。在当前示例中,样本美食广场中的每一虚拟商店和餐馆可以被配置成能够通过对应的支付网关和递送系统在线购买商品并将商品递送到用户的地址。
在另一示例中,虚拟环境集群214包含虚拟夜总会的多个虚拟聚会区,其中用户可以通过他们对应的用户图形表示在那里会面和社交。例如,每一虚拟聚会区可以包含不同的主题和相关联的音乐和/或装饰。除了说话和发短信之外,虚拟夜总会中的一些其他交互可以包含(例如)虚拟跳舞或喝酒、在不同的休息区(例如,休息室或酒吧)坐下等。此外,在该示例中,室内音乐会可以在虚拟夜总会中举行。例如,电子音乐会可以由在舞台上的虚拟桌子后方表演的电台节目主持人(DJ)来播放,其中DJ可以由3D实况虚拟化身或用户实时3D虚拟剪切来表示。如果DJ由用户实时3D虚拟剪切表示,则播放音频混合控制台的DJ的实时移动可以从由在DJ位置(例如,从DJ的房子或录音棚)从DJ捕获图像的相机获得的实况数据馈送被投影到实时3D虚拟剪切上。此外,观众的每一成员也可以由他们自己的用户图形表示来表示,其中一些用户可以由3D实况虚拟化身来表示,而其他用户可以根据用户偏好由用户实时3D虚拟剪切来表示。
在其他示例中,虚拟环境集群214可以表示包含多个私人或公共卡拉OK房间的虚拟卡拉OK娱乐设施。每一私人卡拉OK房间可以包含虚拟卡拉OK机、虚拟屏幕、舞台、麦克风、扬声器、装饰、沙发、桌子以及饮料和/或食物。用户可以通过虚拟卡拉OK机选择歌曲,虚拟卡拉OK机可以连接到歌曲数据库,触发系统为用户播放歌曲,并将歌词投影到虚拟屏幕上,供用户通过他们的用户图形表示一起唱。公共卡拉OK房间可以还包含人类或AI DJ,其为用户选择歌曲,将用户召入舞台,并在必要时使用户静音或取消静音以收听表演。用户可以通过麦克风从他们的客户端设备远程唱歌。
在其他示例中,虚拟环境集群214可以表示包含多个区的虚拟游轮,诸如卧室、机舱、活动室、船头、船尾、左舷、右舷、船桥和多个甲板。一些区可能有人类或AI助手通过对应的用户图形表示来照顾用户,诸如提供其他信息或服务。如果可用,游船外部的虚拟环境或简单图形表示可以是可用的,诸如需要描绘在到达特定目的地时可能参观的岛屿、城镇或城市的景观。用户因此可以通过他们的用户图形表示体验在公海上旅行和发现新的地方,同时能够虚拟地彼此交互。
在其他示例中,虚拟环境集群214可以表示包含多个虚拟环境的电子竞技体育场或体育馆,这些虚拟环境表示用户可以经由他们的用户图形表示通过合适的输入/输出设备(例如,计算机键盘、游戏控制器等)进行游戏的运动场、球场或房间。每一电子竞技的机制可能取决于所要玩的运动。电子竞技体育场或体育馆可以包含公共区,用户可以在其中选择要访问的运动区。可用的运动时间表也可以是可用的,通知用户哪些运动活动可以在哪些时间可用。
图2B表示虚拟学校216的部署200b,该虚拟学校组合了来自各种垂直领域202的多个虚拟环境。虚拟学校216包含四个教室(例如,教室A-D218-224)、礼堂226、运动区228、自助餐厅230、教师休息室232、图书馆234和书店236。每一虚拟环境可以包含由对应的图形表示来表示的与对应环境相关联的虚拟对象。
例如,虚拟教室(例如,虚拟教室A-D 218-224中的任一者)可以使学生能够听课,并且可以被配置成使学生能够通过各种交互(例如,举手、内容投影、演示、口头或通过文本表达疑问或贡献等)来参与课堂,并且可以向教师提供特殊的管理权限(例如,让某人发言、在讲课期间使一个或多个学生静音、通过数字白板共享内容等)。礼堂可以使演讲者能够发表演讲,或者可以举办多个活动。运动区228可以被配置成使学生能够通过他们对应的用户图形表示来玩多个电子竞技运动。自助餐厅230可以使学生能够在线订购食物并通过用户图形表示进行社交。教师休息室232可以被配置用于教师通过对应的教师用户图形表示来会面和讨论议程、学生的进步等。图书馆234可以使学生能够借阅电子书用于他们的课程或休闲阅读。最后,书店236可以被配置成使学生能够购买书籍(例如,电子书或实体书)和/或其他学校资料。
图3描绘了根据实施例的可以在实现虚拟环境中的交互的系统中采用的样本混合系统架构300的示意图。在一些实施例中,混合系统架构300是用于与其他对等客户端(例如,虚拟会议、教室等的其他出席者)交互的混合通信模型,包含客户端-服务器端304和P2P端306,每一者在图3中由虚线区界定。使用此类混合通信模型可以实现用户之间的快速P2P通信,减少等待时间问题,同时向每一会话提供网络服务、数据和资源,实现用户之间以及与虚拟环境中的内容的多种交互。图3的一些元件可以指代图1-2A的相同或类似的元件,且因此可以利用相同的附图标记。
在各种实施例中,客户端-服务器端304相对于P2P端306的使用水平和比率取决于要处理的数据量、允许维持平滑用户体验的等待时间、期望的服务质量(QOS)、所需的服务等。在一个实施例中,P2P端306用于视频和数据处理、流式传输和渲染。例如,当需要处理低等待时间和低数据量时,以及当存在“重”客户端时,采用混合系统架构300的这种模式可以是合适的,这意味着客户端设备包含足够的计算能力来执行此类操作。在另一实施例中,采用客户端-服务器端304和P2P端306的组合,诸如P2P端306用于视频流和渲染,而客户端-服务器端304用于数据处理。例如,当有大量数据要处理时,或者当可能需要其他微服务时,采用混合系统架构300的这种模式可能是合适的。在其他实施例中,客户端-服务器端304可以用于视频流以及数据处理,而P2P端306用于视频渲染。例如,当有更多量的数据要处理时和/或当仅瘦客户端可用时,采用混合系统架构300的这种模式可能是合适的。在其他实施例中,客户端-服务器端304可以用于视频流、渲染和数据处理。当非常瘦的客户端可用时,采用混合系统架构300的这种模式可能是合适的。混合系统架构300可以被配置用于根据需要在同一会话内实现客户端-服务器端304和P2P端306的不同使用形式之间的交替。
在一些实施例中,来自客户端-服务器端304的至少一个云服务器可以是中间服务器,这意味着该服务器用于促进和/或优化客户端设备之间的数据交换。在此类实施例中,至少一个云服务器可以管理、分析、处理和优化传入的图像和多媒体流,并且管理、评估和/或优化出站流的转发作为路由器拓扑(例如但不限于SFU(选择性转发单元)、SAMS(空间分析媒体服务器)、多媒体路由器等),或者可以使用图像和媒体处理服务器拓扑(例如,用于包括但不限于解码、组合、改进、混合、增强、扩充、计算、操纵、编码的任务)或转发服务器拓扑(包括但不限于MCU、云媒体混合器、云3D渲染器、媒体服务器)或其他服务器拓扑。
在此类实施例中,在中间服务器是SAMS的情况下,此类媒体服务器管理、分析和处理发送每一客户端设备的传入数据(例如,元数据、优先级数据、数据类别、空间结构数据、三维位置、取向或运动信息、图像、媒体、基于可伸缩视频编解码器的视频或其组合),并且在此类分析中管理和/或优化向每一接收客户端设备的出站数据流的转发。这可以包括针对时间(例如,变化的帧速率)、空间(例如,不同的图像大小)、质量(例如,基于不同压缩或编码的质量)和颜色(例如,颜色分辨率和范围)来修改、放大或缩小媒体,并且可以基于诸如特定接收客户端设备用户的空间、三维取向、距离以及与此类传入数据的优先级关系等因素来实现用于接收一个或多个用户客户端设备的最佳带宽和计算资源利用率。
在一些实施例中,媒体、视频和/或数据处理任务包含编码、代码转换、解码空间或3D分析和处理中的一者或多者,包含图像滤波、计算机视觉处理、图像锐化、背景改进、背景移除、前景模糊、眼睛遮盖、面部像素化、语音失真、图像放大、图像净化、骨骼结构分析、面部或头部计数、物体辨识、标记或QR码跟踪、眼睛跟踪、特征分析、3D网格或体积产生、特征跟踪、面部辨识、SLAM跟踪和面部表情辨识中的一者或多者,或者运行在此类媒体路由器或服务器上的微服务形式的其他模块化插件。
客户端-服务器端304采用安全通信协议308来实现客户端设备118与网络/应用服务器310之间通过网络的安全端到端通信。样本合适的安全通信协议306可以包含例如数据报传输层安全性(DTLS),其本身是安全用户数据报协议(UDP)、安全实时传输协议(SRTP)、超文本传送协议安全(https://)和网络套接字安全(wss://),它们彼此兼容,并且可以提供全双工认证应用访问、隐私保护和传输中交换数据的完整性。合适的网络/应用服务器310可以包含,例如,Jetty网络应用服务器,其是Java HTTP网络服务器和Java Servlet容器,实现机器对机器通信和网络应用服务的正确部署。
尽管网络/应用服务器310在图3中被描绘为单个元件,但是本领域技术人员可以了解,网络服务器和应用服务器可以是单独的元件。例如,网络服务器可以被配置成通过安全通信协议306接收客户端请求,并且将请求路由到应用服务器。网络/应用服务器310因此可以使用安全通信协议306接收客户端请求并处理请求,这可以包含请求一个或多个微服务312(例如,基于Java的微服务)和/或使用对应的数据库管理系统316从数据库314中查找数据。应用/网络服务器310可以提供会话管理和许多其他服务,诸如3D内容和应用逻辑以及会话的状态持久性(例如,用于持久存储共享文档、同步虚拟环境中的交互和变化、或者持续虚拟环境的视觉状态和修改)。合适的数据库管理系统316可以是,例如,对象关系映射(ORM)数据库管理系统,考虑到ORM使用面向对象编程语言在不兼容类型系统之间转换数据的能力,它可能适合于使用开源和商业(例如,专有)服务的数据库管理。在其他实施例中,通过使用发布-订阅模型,分布式空间数据总线318可以进一步用作微服务与客户端设备之间的分布式消息和资源分发平台。
P2P端306可以使用合适的P2P通信协议320,该协议使得能够通过合适的应用编程接口(API)在虚拟环境中的对等客户端设备118之间进行实时通信,使得能够进行实时交互和同步,从而允许多用户协作环境。例如,通过P2P端306,一个或多个用户的贡献可以直接传输给其他用户,其他用户可以实时观测所执行的改变。合适的P2P通信协议320的示例可以是网络实时通信(WebRTC)通信协议,它是标准、协议和JavaScript API的集合,它们组合起来使得在对等客户端设备118之间能够共享P2P音频、视频和数据。P2P端306中的客户端设备118可以采用一个或多个渲染引擎322来执行实况会话的实时3D渲染。合适的渲染引擎322的示例可以是基于WebGL的3d引擎,WebGL是用于在任何兼容的网络浏览器内渲染2D和3D图形而不使用插件的JavaScript API,允许客户端设备118的一个或多个处理器(例如,一个或多个图形处理单元(GPU))加速物理和图像处理以及效应的使用。此外,P2P端306中的客户端设备118可以通过一个或多个合适的计算机视觉库324执行图像和视频处理以及机器学习计算机视觉技术。在一个实施例中,由P2P端306中的客户端设备执行的图像和视频处理包含在将用户图形表示插入虚拟环境之前的用户图形表示的创建中使用的背景移除过程,该过程可以在接收的媒体流上实时或几乎实时地执行,或者在例如照片上非实时地执行。合适的计算机视觉库324的示例可以是OpenCV,它是被配置主要用于实时计算机视觉任务的编程函数库。
图4描绘了根据实施例的虚拟环境实况会话模块402的图形用户界面400的示意图,用户可以借此在虚拟环境中进行交互。
在用户可以访问虚拟环境实况会话模块402的图形用户界面400之前,用户可以首先从对等客户端设备接收参与与对等用户进行对话的邀请,当由客户端设备执行处理和渲染时,这可以在用户客户端设备之间打开P2P通信信道,或者可替代地当由至少一个云服务器计算机执行处理和渲染时,可以通过云服务器计算机打开间接通信信道。此外,如稍后参考图5的描述中所示,可以发生从用户3D虚拟剪切到用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频的转变。
虚拟环境实况会话模块402可以包含虚拟环境屏幕404,其包括展示所选虚拟环境的图形用户界面,该图形用户界面可以包括与虚拟环境的所选垂直领域的情境相关联的虚拟环境的布置,以及对应的虚拟对象、应用、其他用户图形表示等。虚拟环境实况会话模块402的图形用户界面400可以实现和显示多个交互406,这些交互被配置成供用户例如通过他们的用户实时3D虚拟剪切来相互参与。虚拟环境实况会话模块402可以包含与实现每一交互406的对应任务相关联的一个或多个数据模型,加上实现所述任务所需的计算机指令。每一交互406可以以不同的方式表示;在图4所示的示例中,各个交互406各自被表示为来自虚拟环境实况会话模块402的图形用户界面400上的按钮,其中点击每一交互按钮可以请求对应的服务来执行与交互406相关联的任务。虚拟环境实况会话模块402例如可以通过参考图3公开的混合系统架构300来实现。
交互406可以包含例如聊天408、屏幕共享410、主机选项412、遥感414、记录416、投票418、文档共享420、表情符号发送422、议程共享和编辑424或其他交互426。其他交互426可以包含例如虚拟拥抱、举手、握手、行走、内容添加、会议摘要准备、对象移动、投影、激光指向、玩游戏、购买以及其他促进用户之间的交流、竞争、合作、冲突解决的社交交互。在下文更详细地描述各种交互406。
聊天408可以打开聊天窗口,使得能够发送和接收文本评论和即时资源。
屏幕共享410可以使得能够向任何其他参与者实时共享用户的屏幕。
主机选项412被配置成向对话主机提供其他选项,诸如使一个或多个用户静音、邀请或移除一个或多个用户、结束对话等。
遥感414能够查看用户的当前状态,诸如不在、忙、有空、离线、电话会议中或会议中。用户状态可以通过图形用户界面手动更新,或者基于从相机馈送获得的数据通过机器视觉算法自动更新。
记录416能够记录来自对话的音频和/或视频。
投票418能够为任何其他参与者公布的一个或多个建议提供投票。通过投票418,主机或具有此类许可的其他参与者可以在任何时候发起投票会话。可以为每一参与者显示主题和选项。根据投票418交互的配置,在超时时段结束时或在每个人的响应结束时,可以向所有出席者展示结果。
文档共享420使得能够与其他参与者共享任何合适格式的文档。这些文档也可以通过将它们存储在一个或多个云服务器计算机的持久存储器中而永久存留,并且可以与虚拟通信发生的虚拟环境相关联。
表情符号发送422使得能够向其他参与者发送表情符号。
议程共享和编辑424使得能够共享和编辑可能已经由任何参与者准备的议程。在一些实施例中,主机可以在会议之前配置议程项目的检查列表。具有此类许可的主机或其他参与者可以随时将议程置于前台。通过议程编辑选项,项目可以在达成共识时被注销或者可以延期。
其他交互426提供了可能的交互的非详尽列表,这些交互可以根据虚拟环境垂直方向在虚拟环境中提供。举手使得能够在虚拟通信或会议期间举手,使得具有此类权利的主机或其他参与者可以能够让用户发言。行走使得能够通过用户实时3D虚拟剪切在虚拟环境中移动。内容添加使得用户能够向虚拟环境添加交互式应用或静态或交互式3D资产、动画或2D纹理。会议摘要准备使得能够自动准备虚拟会议的结果,并在会话结束时将此类结果分发给参与者。对象移动使得能够在虚拟环境内移动对象。投影使得能够从出席者的屏幕将内容投影到虚拟环境中可用的屏幕或墙上。激光指向使得能够用激光指向,以便在演示中突出显示所需内容。玩游戏使得能够玩一个或多个可以在实况会话期间共享的游戏或其他类型的应用。购买使得能够在会话期间购买内容。本文未提及的其他交互还可以根据虚拟环境平台的特定用途来配置。
在一些实施例中,该系统还可以实现创建自组织虚拟通信,这可以包含在用户图形表示之间创建自组织语音通信信道,而不需要改变虚拟环境中的当前视角或位置。例如,用户图形表示可以接近另一用户图形表示,并且在虚拟环境内两个用户图形表示区域所在的地方参与自组织语音对话。此类通信将通过例如考虑用户图形表示之间的距离、位置和取向,和/或他们的当前可用性状态(例如,可用或不可用)或此类自组织通信的状态配置、或其组合来实现。在此示例中,接近的用户图形表示将在另一用户图形表示上看到视觉反馈,用信号通知自组织通信是可能的,并因此设置两个用户图形表示之间的对话的开始,其中接近的用户可以说话,且另一用户可以听到并回应。在另一示例中,用户图形表示可以接近另一用户图形表示,点击用户图形表示,发送对话邀请,并且在被邀请者批准之后,在两个用户图形表示区域所在的虚拟环境内的地方参与自组织语音对话。根据两个用户图形表示之间的隐私设置,其他用户可以查看用户图形表示之间的交互、表情、手部动作等,无论是否能够收听对话。406的任何前述交互或其他交互426也可以直接在虚拟环境屏幕404内执行。
图5描绘了根据实施例的方法500,该方法500使得能够从一种类型的用户图形表示转变到另一类型的用户图形表示,例如,从用户3D虚拟剪切到用户实时3D虚拟剪切,或者转变到移除了背景的视频、或没有移除背景的视频。
当用户参与与其他用户图形表示的对话时,可以实现该转变。例如,用户当前可能坐在办公椅上,并且在虚拟办公室中使用计算机工作。用户的当前图形表示可以是用户3D虚拟剪切的图形表示。此时,相机可能未打开,因为可能不需要来自用户的实况数据馈送。然而,如果用户决定打开相机,则用户3D虚拟剪切可以包含通过从用户的实况数据馈送捕获的用户面部分析提供的面部表情,如本文更详细解释的。
当用户参与与另一用户图形表示的对话并发起实况会话时,如果用户相机未被激活,则相机可以被激活并且可以发起实况数据馈送捕获,该捕获可以提供用户的实况流,从而将用户3D虚拟剪切转变成用户实时3D虚拟剪切或移除了背景的视频、或没有移除背景的视频。进一步如图1中所描述,用户实时3D虚拟剪切504的实况流可以是客户端或服务器处理和渲染的,或者可以在P2P系统架构或混合系统架构中被发送到其他对等客户端设备,用于他们自己的实时处理和渲染(例如,通过参考图3描述的混合系统架构300)。
图5的方法500可以从步骤502开始,接近用户图形表示。然后,在步骤504中,方法500可以通过选择并点击用户图形表示来继续。在步骤506中,方法500可以通过客户端设备向另一用户图形表示发送对话参与邀请或者从另一用户图形表示接收对话参与邀请来继续。在步骤508中,方法500通过由对应的客户端设备接受接收到的邀请来继续。然后,方法500在步骤510中继续,从用户3D虚拟剪切转变到用户实时3D虚拟剪切或移除了背景的视频、或没有移除背景的视频。最后,在步骤512中,方法500通过当由客户端设备执行处理和渲染时打开用户客户端设备之间的P2P通信信道,或者当由至少一个云服务器计算机执行处理和渲染时打开通过云服务器计算机的间接通信信道来结束。在一些实施例中,对话包含发送和接收从参与者的用户实时3D虚拟剪切显示的实时音频和视频。
图6A-6C描绘了由对应的客户端设备118和云服务器102在客户端-服务器端304执行的多个图像处理组合的示意图。客户端-服务器端可以是例如混合系统架构的一部分,诸如图3中描绘的混合系统架构300。
在图6A-6C的一个实施例中,至少一个云服务器102可以被配置为使用中继网络地址转换(NAT)穿透(有时称为TURN)服务器,这可能适用于服务器不能在客户端设备118之间建立连接的情况。TURN是NAT会话穿透工具(STUN)的扩展。
NAT是一种将因特网协议(IP)地址空间重新映射到另一地址空间的方法,该方法通过在数据包通过业务路由设备运输时修改数据包的IP报头中的网络地址信息。因此,NAT可以为专用IP地址提供对网络(诸如因特网)的访问,并允许单个设备(诸如路由设备)充当因特网与专用网络之间的代理。NAT可以是对称的或不对称的。称为交互式连接建立(ICE)的框架被配置成寻找连接客户端设备的最佳路径,该框架可以确定是否需要对称或不对称的NAT。对称的NAT不仅负责将IP地址从专用地址转换为公共地址,且反之亦然,还负责转换端口。另一方面,不对称的NAT使用STUN服务器,允许客户端发现他们的公共IP地址和他们背后的NAT类型,这可以用于建立连接。在许多情况下,STUN可能仅在连接设置期间使用,并且一旦该会话建立,数据可以开始在客户端设备之间流动。
TURN可以在对称NAT的情况下使用,并且在连接建立之后保留在媒体路径中,同时处理的和/或未处理的数据在客户端设备之间被中继。
图6A描绘包含客户端设备A、云服务器102和客户端设备B的客户端-服务器端304。在图6A中,客户端设备A是要处理数据的发送器,并且客户端设备B是该数据的接收器。描绘了多个图像处理任务并基于它们是由客户端设备A、云服务器102还是客户端设备B执行而分类,并且因此被分类为客户端设备A处理602、服务器图像处理604和客户端设备B处理606。
图像处理任务包含背景移除608、进一步处理或改进610以及插入并组合到虚拟环境中612。如从图6B和6C以及从图7B将变得显而易见的,本文示出的三个图像处理任务的组合可以用于产生、改进和将用户图形表示插入/组合到虚拟环境中。此外,为了简单起见,在图6B-6C和图7B-7C中,背景移除08被描绘为“BG”608,进一步处理或改进610被描绘为“++”610,并且插入并组合到虚拟环境中612被描绘为“3D”612。
在一些实施例中,将用户图形表示插入并组合到虚拟环境中包含产生一个或多个虚拟相机,这些虚拟相机被虚拟地放置并对齐在用户图形表示的前方,例如,在移除了背景的视频、或没有移除背景的视频、或用户3D虚拟剪切、或用户实时3D虚拟剪切的前方。在一个实施例中,一个或多个虚拟相机可以从眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,可以从两只眼睛水平向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置的中心向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的中心向外指向。在另一实施例中,一个或多个虚拟相机可以放置在用户图形表示的前方,例如在用户图形表示的头部水平,当处于自我视角时指向用户图形表示。至少通过使用计算机视觉将所捕获的用户视角数据与虚拟环境内的用户图形表示的视角相关联来创建一个或多个虚拟相机。一个或多个虚拟相机通过跟踪和分析用户眼睛和头部倾斜数据、或头部旋转数据、或其组合而自动更新,并且还可以由用户根据用户选择的视角手动改变。
客户端设备A处理602、服务器图像处理604和客户端设备B处理606的图像处理组合和对应的使用水平取决于要处理的数据量、允许维持平滑用户体验的等待时间、期望的服务质量(QOS)、所需的服务等。
图6B描绘图像处理组合1-4。
在图像处理组合1中,客户端设备A产生包含背景移除608的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器102用于进一步处理或改进610,产生具有移除了背景的增强用户图形表示。至少一个云服务器向客户端设备B发送移除了背景的增强用户图形表示,客户端设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合2中,客户端设备A产生包含背景移除608的用户图形表示,并对其执行进一步处理或改进610,产生移除了背景的增强用户图形表示,然后发送到至少一个云服务器102。至少一个云服务器102向客户端设备B发送移除了背景的增强用户图形表示,客户端设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合3中,客户端设备A产生包含背景移除608的用户图形表示,对其执行进一步处理或改进610,产生移除了背景的增强用户图形表示,并将移除了背景的增强用户图形表示插入并组合到虚拟环境中。客户端设备A然后将插入并组合到虚拟环境中的移除了背景的增强用户图形表示发送到云服务器,用于向客户端设备B中继。
在图像处理组合4中,客户端设备A产生包含背景移除608的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器102用于执行进一步处理或改进610,产生具有移除背景的增强用户图形表示。至少一个云服务器然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中,然后向客户端设备B发送。
图6C描绘图像处理组合5-8。
在图像处理组合5中,客户端设备A产生包含背景移除608的用户图形表示,并将移除了背景的用户图形表示发送到至少一个云服务器102用于中继到客户端设备B。客户端设备B对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,客户端设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合6中,客户端设备A向至少一个云服务器102发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据,该至少一个云服务器执行包含背景移除608的用户图形表示的产生,并对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,并将其发送到客户端设备B。客户端设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合7中,客户端设备向至少一个云服务器102发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据。至少一个云服务器102产生包含背景移除608的用户图形表示,对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到被发送到客户端设备B的虚拟环境中。
在图像处理组合8中,客户端设备A向至少一个云服务器102发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据,用于中继到客户端设备B。客户端设备B使用该数据来产生包含背景移除608的用户图形表示,并对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中。在一些实施例中,可以了解到,至少一个云服务器102可以是中间服务器,这意味着该服务器使用中间服务器拓扑来促进和/或优化客户端设备之间的数据交换。
在此类实施例中,至少一个云服务器可以是中间服务器,这意味着该服务器用于促进和/或优化客户端设备之间的数据交换。在此类实施例中,至少一个云服务器可以管理、分析和优化传入的多媒体流,并且管理、评估、优化出站流的转发作为路由器拓扑(例如,SFU、SAMS、多媒体路由器等),或者媒体处理(例如,执行包括解码、组合、改进、混合、增强、扩充、计算、操纵或编码的任务)或转发服务器拓扑(例如但不限于多点控制单元、云媒体混合器、云3D渲染器)或其他服务器拓扑。
在此类实施例中,在中间服务器是SAMS的情况下,此类媒体服务器管理、分析和处理发送客户端设备的传入数据(例如,元数据、优先级数据、数据类别、空间结构数据、三维位置、取向或运动信息、图像、媒体、或基于可伸缩视频编解码器的视频),并且在此类分析中管理或优化向接收客户端设备的出站数据流的转发。这可以包括基于诸如特定接收客户端设备用户的空间、三维取向、距离以及与此类传入数据的优先级关系来针对时间(例如,变化的帧速率)、空间(例如,不同的图像大小)、质量(例如,基于不同压缩或编码的质量)和颜色(例如,颜色分辨率和范围)来修改、放大或缩小媒体,从而实现用于接收一个或多个用户客户端设备的最佳带宽和计算资源利用率。
中间服务器拓扑可能适用于例如图像处理组合1-8,其中至少一个云服务器102在客户端设备A和B之间进行处理,如图6A-6C所示。
图7A-7C描绘了由对应的客户端设备在P2P端306中执行的多个图像处理组合的示意图,在图7A-7B中被描绘为对等设备A-B,以区别于通过客户端-服务器端进行通信和处理的情况。P2P端306可以是例如混合系统架构的一部分,诸如图3中描绘的混合系统架构300。
图7A描绘包含对等设备A和对等设备B的P2P端306,其中对等设备A是要处理数据的发送器,并且对等设备B是该数据的接收器。描绘了多个图像和媒体处理任务并基于它们是由对等设备A还是对等设备B执行而分类,并且因此被分类为对等设备A处理702和对等设备B处理704。图像和媒体处理任务可以包括(但不限于)背景移除608、进一步处理或改进610以及插入并组合到虚拟环境中612。
图7B描绘图像处理组合1-3。
在图像处理组合1中,对等设备A产生包含背景移除608的用户图形表示,对其执行进一步处理或改进610,产生移除了背景的增强用户图形表示,并将移除了背景的增强用户图形表示插入并组合到具有三维坐标的虚拟环境中。对等设备A然后将插入并组合到虚拟环境中的移除了背景的增强用户图形表示发送到对等设备B。
在图像处理组合2中,对等设备A产生包含背景移除608的用户图形表示,并将移除了背景的用户图形表示发送到对等设备B。对等设备B对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,对等设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合3中,对等设备A向对等设备B发送从至少一个相机接收的相机实况数据馈送并发送编码的数据。对等设备B解码并使用该数据来产生包含背景移除608的用户图形表示,并对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
图7C描绘图像处理组合4-6。
在图7C的一个实施例中,至少一个云服务器102可以被配置为STUN服务器,其允许对等设备发现它们的公共IP地址和它们背后的NAT类型,这些信息可以用于在对等设备之间建立数据连接和数据交换。在图7C的另一实施例中,至少一个云服务器102可以被配置用于信令,其可以被用于对等设备定位和彼此连接,以及通过由至少一个云服务器执行的通信协调来交换数据。
在所有图像和处理组合4-6中,至少一个云服务器102可以使用SAMS、SFU、MCU或其他功能服务器拓扑,因为至少一个云服务器102在对等设备A和B之间服务。
在图像处理组合4中,对等设备A产生包含背景移除608的用户图形表示,对其执行进一步处理或改进610,产生移除了背景的增强用户图形表示,并将移除了背景的增强用户图形表示插入并组合到虚拟环境中。对等设备A然后通过充当STUN或信令服务器的至少一个云服务器将插入并组合到虚拟环境中的移除了背景的增强用户图形表示发送到对等设备B。
在图像处理组合5中,对等设备A产生包含背景移除608的用户图形表示,并通过充当媒体路由器服务器的至少一个云服务器将移除了背景的用户图形表示发送到对等设备B。对等设备B对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,客户端设备B将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
在图像处理组合6中,对等设备A通过充当STUN或信令服务器的至少一个云服务器向对等设备B发送从至少一个相机接收的相机实况数据馈送并发送未处理的数据。对等设备B使用该数据来产生包含背景移除608的用户图形表示,并对移除了背景的用户图形表示执行进一步处理或改进610,产生移除了背景的增强用户图形表示,然后将移除了背景的增强用户图形表示插入并组合到虚拟环境中。
图8展示可以在本公开的实施例中使用的基于用户图形表示的用户认证系统800。例如,基于用户图形表示的用户认证系统800可以用于访问可以授权访问虚拟环境平台的用户账户,诸如图1和图2A的虚拟环境平台108。
基于用户图形表示的用户认证系统800包含一个或多个云服务器计算机802,该云服务器计算机包含至少一个处理器804和存储数据和指令的存储器806,该存储器包含存储与用户账户810和一个或多个对应的用户图形表示812相关联的用户数据的用户数据库808。基于用户图形表示的用户认证系统800还包含面部扫描和认证模块814,其连接到存储与用户账户810相关联的数据的数据库808。一个或多个云服务器计算机802被配置成通过面部扫描和认证模块814执行用户的面部扫描来认证用户。面部扫描包含从客户端设备822接收的相机数据中提取面部特征数据,并检查提取的面部特征数据与用户数据库808中的用户图形表示的匹配。
在图8所示的示例中,系统800还包括至少一个相机816,其被配置成从请求访问用户账户810的至少一个客户端设备822的用户820获得图像数据818。至少一个相机816连接到至少一个客户端设备822,该至少一个客户端设备被配置成向一个或多个云服务器计算机802传输相机816所捕获的数据用于进一步处理。可替代地,相机816可以与一个或多个云服务器计算机802直接连接。一个或多个云服务器计算机802被配置成通过面部扫描和认证模块814执行用户的面部扫描,检查用户数据库808与现有用户图形表示的匹配,并且如果用户账户810被确认并且可用,则通过向用户提供对应的用户图形表示812以及对用户账户810的访问来认证用户。或者,如果用户账户810不可用,则一个或多个云服务器计算机802被配置成通过从实况数据馈送获得的数据818产生新的用户图形表示812以及存储在用户数据库808中的新用户账户810来认证用户。
用户账户810可以例如用于访问虚拟环境平台或任何其他应用(例如,可以链接到环境平台的应用),诸如任何交互式应用、游戏、电子邮件账户、大学配置文件账户、工作账户等。给定例如产生用户图形表示812或从用户数据库808检索现有用户图形表示812的步骤,本公开的基于图形表示的用户认证系统800提供了比标准的基于相机的面部检测认证系统更高的便利性和安全性水平。
在一些实施例中,一个或多个云服务器计算机还被配置成检查匹配的用户图形表示的日期,并确定是否需要更新匹配的用户图形表示。在实施例中,如果用户账户810可用,并且响应于一个或多个云服务器计算机802检查可用用户图形表示812的日期,一个或多个云服务器计算机802通过与对应的阈值或安全要求进行比较来确定是否需要更新现有用户图形表示814。例如,如果要进行系统安全更新,可能需要更新所有用户图形表示,或者至少需要更新在指定日期之前创建的图形表示。如果需要用户图形表示814,则一个或多个云服务器计算机802向对应的客户端设备822产生用户图形表示更新请求。如果用户820批准该请求,则一个或多个云服务器计算机802或客户端设备822基于来自实况相机馈送的数据818来继续产生用户图形表示814。如果不需要更新,则在认证之后,一个或多个云服务器计算机802继续从用户数据库808中检索现有的用户图形表示812。
在一些实施例中,用户图形表示812被插入到二维或三维虚拟环境中,或者在链接到虚拟环境的第三方源上,并且与二维或三维虚拟环境组合。例如,用户图形表示812可以通过覆盖在与本公开的系统集成或耦合的第三方应用或网站的屏幕上而被插入到链接到虚拟环境的第三方源上)。
在一个示例中,将用户图形表示812覆盖在第三方源的屏幕上是在链接到虚拟环境的2D网站或应用的顶部完成的。例如,一起去购物网站的两个或更多个朋友可以将他们的用户图形表示覆盖在购物网站上,以探索网站的内容和/或与网站的内容交互。在另一示例中,将用户图形表示812覆盖在第三方源的屏幕上是在链接到虚拟环境的3D游戏会话的顶部完成的。例如,用户可以通过他或她的用户图形表示812来访问链接到虚拟环境的电子竞技游戏会话,用户图形表示812可以与其他团队成员的用户图形表示812一起覆盖在电子竞技游戏会话的顶部。在这些示例中,用户图形表示812的此类覆盖可以实现在访问2D网站或体验3D游戏会话期间所有用户的表情和通信的连贯和多点传送视图。
在一些实施例中,用户图形表示812的产生过程与用户820访问用户账户810异步地发生。例如,如果基于用户图形表示的认证系统800确定用户820已经在执行面部扫描之后进行了认证,则基于用户图形表示的认证系统800可以使用户820能够在产生新的用户图形表示812的同时访问用户账户810,以便一旦准备好就提供给用户812,并且然后插入并组合到虚拟环境中。
在一些实施例中,一个或多个云服务器计算机802进一步通过登录认证凭证来认证用户802,该登录认证凭证包含个人识别号(PIN)、或用户名和密码、或相机认证与PIN、或用户名和密码的组合。
在一些实施例中,基于用户图形表示的认证系统800响应于从一个客户端设备822发送到另一客户端设备的邀请链接或深层链接的激活来触发认证。点击邀请链接或深层链接触发至少一个云服务器计算机802,以请求用户进行认证。例如,邀请链接或深层链接可以用于电话呼叫、会议或视频游戏会话邀请,其中被邀请的用户可以通过基于用户图形表示的认证系统800被认证。
在另一实施例中,面部扫描使用3D认证,包含引导用户执行头部移动模式并基于头部移动模式提取3D面部数据。这可以使用存储在至少一个服务器计算机中的应用指令来完成,该应用指令通过引导用户执行头部移动模式来实现3D认证,例如,执行一个或多个头部姿势、以圆周运动的方式水平或垂直地倾斜或旋转头部、执行用户产生的姿势模式、或特定的头部移动模式、或其组合。3D认证根据从相机实况视频数据馈送获得的数据来辨识其他特征,而不仅仅是比较和分析一个视图或图像。在该3D认证实施例中,面部扫描过程可以从数据中辨识其他特征,该数据可以包含面部数据,包括头部移动模式、面部体积、高度、面部特征的深度、面部疤痕、纹身、眼睛颜色、面部皮肤参数(例如,肤色、皱纹、毛孔结构等)、反射参数,除此之外,例如仅仅是面部拓扑上的此类特征的位置,这可能是其他类型的面部检测系统的情况。捕获此类面部数据因此可以增加对真实面部的捕获,这可以用于产生真实的用户图形表示。使用3D认证的面部扫描可以使用高分辨率3D相机、深度相机(例如,LIDAR)、光场相机等来执行。面部扫描过程和3D认证可以使用深度神经网络、卷积神经网络和其他深度学习技术来通过使用面部数据来检索、处理、评估该用户的认证。
图9通过用户图形表示120描绘了虚拟环境110的第三人称视角900的示意图,其中虚拟环境110是虚拟办公室。
虚拟办公室包含一个或多个办公桌902、办公椅904、办公计算机906、用于投影内容910的投影表面908、以及表示通过其客户端设备访问虚拟环境110的对应用户的多个用户图形表示120。
用户图形表示120最初可以是用户3D虚拟剪切,并且可以在邀请批准过程之后转变成用户实时3D虚拟剪切,包含基于从相机获得的实时2D或3D实况视频流数据馈送而产生的移除了背景的用户实时视频流,或者移除了背景的视频,或者没有移除背景的视频。如参考图5所述,该过程可以包括打开通信信道,使得能够在实况会话内进行多个交互,如参考图4所述。例如,用户最初可以坐在办公椅904上,在对应的办公计算机906上工作,这可以表示用户在真实生活中正在执行的实际动作。其他用户可以能够查看(例如,通过图4的遥感414)当前用户状态,诸如用户是不在、忙、有空、离线、电话会议中还是在会议中。如果用户可用,另一用户图形表示可以接近所讨论的用户,并发送参与对话的邀请。例如,两个用户都可以决定移动到虚拟办公室的私人会议室,并开始实现多个交互的实况会话。用户还可以能够在投影表面908上投影期望的内容(例如,通过屏幕共享)。
在一些实施例中,虚拟办公室还包含虚拟计算机,该虚拟计算机包括来自一个或多个云计算机资源的虚拟资源,该虚拟资源通过客户端设备被访问并且通过管理工具被指派给所述虚拟计算机资源。虚拟计算机可以与办公计算机906相关联。然而,虚拟计算机还可以与个人家用计算机或来自任何其他位置的可以访问基于云计算机的虚拟计算资源的计算机相关联。资源可以包含执行各种任务所需的存储器、网络和处理能力。此外,在办公空间的示例中,与虚拟办公计算机906相关联的虚拟计算机可以继而耦合到用户的真实办公计算机,使得例如当用户登录到此类虚拟计算机上时,存储在虚拟办公计算机906中的数据可以从实体办公室的真实办公计算机或具有实体计算机的任何其他空间中获得。包括与虚拟办公计算机906相关联的所有虚拟计算机的虚拟基础设施可以通过虚拟环境平台使用基于排他性管理员权限的管理员选项来管理(例如,使用虚拟环境110提供给组织的IT团队)。因此,本公开的虚拟环境平台实现了虚拟办公室管理,并提供了多个选项,这些选项扩展了典型虚拟会议和会议应用的可能性,增加了协作和交互的真实性,并简化了协作发生的方式。
图10A-10B描绘了根据实施例的通过对应的用户图形表示查看的虚拟环境的示意图,其中虚拟环境是虚拟教室1000。图10A-10B中的学生和教师的用户图形表示可以是从用户上传的或第三方源照片构建的用户3D虚拟剪切、或基于从相机获得的实时2D或3D实况视频流数据馈送产生的移除了背景的用户实时3D虚拟剪切、或移除了背景的视频、或没有移除背景的视频中的任一者。
在图10A中,学生1002的多个用户图形表示正在远程参与由教师1004的用户图形表示提供的课堂讲座。教师1004可以将课堂内容1006投影在一个或多个投影表面1008上,诸如在虚拟教室白板上。虚拟教室1000可以还包含多个可以支持用户学习的虚拟教室课桌1010。如参考图4所公开的,可以向学生1002提供多个交互选项,诸如举手、屏幕共享(例如,在投影表面1008上)、激光指向特定内容等,视情况而定。在图10A中,教师1004的用户图形表示被图形投影在投影表面上。
图10B描绘了与图10A类似的实施例,不同之处在于教师1004的用户图形表示坐在虚拟课桌1012后面,而只有内容1006被共享或投影在虚拟教室白板投影表面1008上。因为教师1004与学生1002共享同一虚拟空间,并且可以在教室1000中来回移动,为学生1002和教师1004创建了更真实和交互式的体验。
图11描绘了根据实施例的多个虚拟相机位置1100的示意图。
在图11中,两个用户图形表示1102、用户3D虚拟剪切1104和用户实时3D虚拟剪切1106具有用于一个或多个虚拟相机的一个或多个虚拟相机位置1100,每一位置包含为用户图形表示产生视角的观看方向、角度和视野。
在一个实施例中,一个或多个虚拟相机可以位于眼睛水平1108,从用户图形表示1102的眼睛水平向外指向。在另一实施例中,两个虚拟相机,每只眼睛一个,可以从用户图形表示1102的两只眼睛水平1110向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示的头部位置1112的中心向外指向。在另一实施例中,一个或多个虚拟相机可以从用户图形表示1102的中心1114向外指向。在另一实施例中,一个或多个虚拟相机可以放置在用户图形表示1102的前方,例如在用户图形表示1102的头部水平,当处于自我视角1116时指向用户图形表示1102。如参考图6A-7C所解释的,可以在将用户图形表示插入并组合到虚拟环境中的期间创建一个或多个虚拟相机。
在实施例中,相机所捕获的用户的视角与用户图形表示的视角和使用计算机视觉的相关联的虚拟相机相关联,因此操纵虚拟相机。此外,虚拟相机可以通过例如跟踪和分析用户眼睛和头部倾斜数据、或头部旋转数据、或其组合来自动更新。
图12描绘了用于从虚拟环境内虚拟广播的系统1200的示意图。
系统1200可以包括一个或多个服务器计算机。图12所示的说明性系统1200包含至少一个媒体服务器计算机1202,其包含至少一个处理器1204和存储器1206,存储器1206包括实现管理客户端设备1210之间的数据交换的数据交换管理模块1208的数据和指令。系统1200还包含连接到至少一个媒体服务器计算机1202的至少一个虚拟环境1212,该至少一个虚拟环境1212包含位于至少一个虚拟环境1212内并被配置成从至少一个虚拟环境1212内捕获多媒体流的虚拟广播相机1214。至少一个虚拟环境1212可以由经由网络连接到至少一个媒体服务器计算机1202的至少一个专用服务器计算机托管,或者可以在对等基础设施中托管并通过至少一个媒体服务器计算机1202中继。多媒体流被发送到至少一个媒体服务器计算机1202,用于广播到至少一个客户端设备1210。系统1200还包含至少一个相机1216,其从至少一个客户端设备1210的用户1218获得实况馈送数据,并经由至少一个客户端设备1210将实况馈送数据从用户发送到至少一个媒体计算机1202。如参考图6A-7C所公开的,由至少一个媒体计算机1202接收的实况馈送数据可以通过多个图像处理组合来产生。
至少一个虚拟广播相机1214向至少一个媒体服务器计算机1202发送多媒体流,用于基于来自至少一个媒体服务器计算机1202的数据交换管理向接收客户端设备1210广播对应的多媒体流。多媒体流通过对应的显示器被显示给至少一个客户端设备1210的用户1218的对应用户图形表示1220。由数据交换管理模块1208进行的客户端设备1210之间的数据交换管理包含分析传入的多媒体流以及评估和转发出站的多媒体流。
在一些实施例中,当转发出站多媒体流时,至少一个媒体服务器计算机1202利用路由拓扑,包含选择性转发单元(SFU)、使用中继NAT穿透(TURN)、空间分析媒体服务器(SAMS)、或其他合适的多媒体服务器路由拓扑、或媒体处理和转发服务器拓扑、或其他合适的服务器拓扑。在其他实施例中,在利用媒体处理拓扑时,至少一个媒体服务器计算机1202被配置用于解码、组合、改进、混合、增强、扩充、计算、操纵和编码多媒体流。在其他实施例中,在利用转发服务器拓扑时,至少一个媒体服务器计算机1202利用多点控制单元(MCU)、云媒体混合器和云3D渲染器中的一者或多者。
在一些实施例中,传入多媒体流包含用户优先级数据和距离关系数据,并且用户优先级数据包含对较靠近传入多媒体流源的用户图形表示的较高优先级分数以及对较远离传入多媒体流源的用户图形表示的较低优先级分数。在实施例中,由至少一个客户端设备1210和/或广播相机1214发送到至少一个媒体服务器的多媒体流包含与用户优先级和对应用户图形表示1202与多媒体流之间的距离关系相关的数据,包含元数据、或优先级数据、或数据类别、或空间结构数据、或三维位置、或取向或运动信息、或图像数据、或媒体数据、以及基于可缩放视频编解码器的视频数据、或其组合。在其他实施例中,优先级数据包含对于较靠近虚拟多媒体流源1224的用户的较高优先级分数,以及对于较远离虚拟多媒体流源1224的用户的较低优先级分数。在其他实施例中,出站多媒体流的转发是基于用户优先级数据和距离关系数据。在实施例中,由媒体服务器基于用户优先级和距离关系数据实现的出站多媒体流的转发包含优化一个或多个接收客户端设备的带宽和计算资源利用率。
在一些实施例中,至少一个虚拟广播相机1214在至少一个虚拟环境1212中被虚拟地视为被配置成在至少一个虚拟环境1212内广播多媒体流的虚拟广播相机1214。虚拟广播相机1214可以位于虚拟多媒体流源1224附近,并且还可以在虚拟环境1212内来回移动。在其他实施例中,虚拟广播相机1214可以通过访问虚拟环境的客户端设备1210来管理,可以被配置成操纵在虚拟环境中更新的相机的视点,将更新的视点广播到与虚拟广播相机1214相关联的至少一个客户端设备。
在一些实施例中,虚拟多媒体流源1224包含实况虚拟活动,该实况虚拟活动包括小组讨论、演讲、会议、演示、网络研讨会、娱乐节目、体育赛事和表演中的一者或多者,其中真实演讲者远程讲话(例如,在从他们的家里讲话的同时被记录到他们对应的相机1216)的多个用户图形表示被放置在虚拟环境1212内。
在一些实施例中,多媒体流或者在客户端或云计算机渲染的网络浏览器中被视为实时3D视图,或者可以被流式传输以在合适的视频平台中被现场观看(例如,YouTubeTM直播、TwitterTM、FacebookTM直播、ZoomTM等)。
在图12所示的示例中,用户A-C通过他们对应的客户端设备访问虚拟环境1212,其中每一用户A-C具有发送对应于每一用户A-C的多媒体流的相机1216,其可以用于产生用户图形表示A-C以及插入并组合到虚拟环境1212中,如关于本公开的实施例所描述。因此,在虚拟环境1212中,每一用户A-C具有对应的用户图形表示A-C。由至少一个相机1216通过至少一个客户端设备1210发送的多媒体流、以及由至少一个广播相机1214向至少一个媒体服务器1202发送的多媒体流包含与用户优先级以及对应的用户图形表示与多媒体流之间的距离关系相关的数据。该数据包含例如元数据、优先级数据、数据类别、空间结构数据、三维位置、取向或运动信息、图像数据、媒体数据、基于可缩放视频编解码器的视频数据等。该数据可以由数据交换管理模块1208用于管理客户端设备1210之间的数据交换,包含分析和优化传入的多媒体流以及评估和优化出站的多媒体流的转发。
因此,例如,当用户图形表示A在虚拟环境1212中较靠近虚拟多媒体流源1224时,出站媒体流的转发可以被优化以包含例如用于用户图形表示A的具有比提供给用户图形表示B和C的图像更高分辨率的图像。多媒体流可以由用户经由他们的客户端设备1210通过他们的用户图形表示1222例如在虚拟环境1212内以第一人称查看。在一些示例中,多媒体流在客户端或云计算机渲染的网络浏览器中被视为实时3D视图。用户可以观看活动的多媒体流(例如,网络研讨会、会议、小组讨论、演讲等)作为客户端或云计算机渲染的网络浏览器中的实时3D视图,或者可以被流式传输以在合适的视频平台和/或社交媒体中直播观看。
图13描绘了用于在虚拟环境内递送应用的系统1300的示意图。
系统1300包含至少一个云服务器计算机1302,其包括至少一个处理器1304和存储器1306,存储器1306包含实现链接到应用模块1310的至少一个虚拟环境1308的数据和指令。应用模块1310包含一个或多个已安装应用1312和用于多用户交互的对应应用规则1314。响应于虚拟环境主机1316通过客户端设备1318的选择,在虚拟环境1302的会话期间显示和激活一个或多个已安装应用1312,使得虚拟环境1308内的虚拟环境主机用户图形表示1320和任何参与者用户图形表示1322能够通过对应的客户端设备1318与一个或多个已安装应用1312交互。至少一个云服务器计算机1302根据应用模块1310中的多用户交互1314的应用规则来管理和处理接收到的用户与一个或多个已安装应用1312的交互。至少一个云服务器计算机1302进一步相应地将处理后的交互转发给每一客户端设备1318,以在虚拟环境1308中建立多用户会话,从而根据多用户交互应用规则1314实现共享体验。
在一些实施例中,多用户交互应用规则1314被存储和管理在一个或多个单独的应用服务器中,这些应用服务器可以通过网络连接到至少一个云服务器计算机1302。
在一些实施例中,一个或多个应用从应用库可用的应用安装包中安装,通过对应的应用编程接口提供应用服务。在其他实施例中,应用库被情境过滤。在实施例中,情境过滤被设计成仅提供特定情境的相关应用。例如,主机1316可以对应用库(例如,应用商店)进行情境过滤,以查找与特定情境(例如,学习、娱乐、运动、阅读、购买、天气、工作等)相关的应用,并且可以选择一个感兴趣的应用来安装在应用模块1310内。在其他实施例中,应用库托管在一个或多个第三方服务器计算机上,或者托管在至少一个云服务器计算机1302上。
在一些实施例中,一个或多个已安装应用与安装在对应客户端设备中的虚拟显示应用共享并通过虚拟显示应用查看。在实施例中,在安装并激活后,一个或多个已安装应用1312与安装在对应客户端设备1318中的虚拟显示应用1324共享并通过虚拟显示应用1324查看。虚拟显示应用1324可以被配置成从应用库接收一个或多个已安装应用1312,并且发布一个或多个选定的安装应用1312,以通过它们对应的客户端设备1318向会议主机用户图形表示1320和虚拟环境1308中的其他参与者用户图形表示1322显示。虚拟显示应用1324可以是一种在线或已安装的文件查看器应用,其可以被配置成接收和显示已安装应用1312。
在一些实施例中,应用模块1310被表示为虚拟环境内的2D屏幕或3D体应用模块图形表示1326,在虚拟环境中向用户图形表示1322显示来自已安装应用1312的内容。在其他实施例中,虚拟显示应用1324被表示为2D屏幕或3D体,在虚拟环境1308中向用户图形表示显示来自已安装应用的内容。
在一些实施例中,一个或多个应用1312在多用户会话发生之前或同时被直接安装在虚拟环境1308内部。在其他实施例中,在开始多用户会话之前,通过使用虚拟环境设置工具来安装一个或多个应用1312。
在一些实施例中,用于多用户交互的一些应用规则可以定义同步交互或异步交互或其组合,从而更新用户交互和一个或多个应用的相应更新视图。同步和异步交互都可以通过多用户交互应用规则1314来配置,并且可以经由通过至少一个服务器计算机1302的并行处理来实现,或者通过专用于处理与至少一个已安装应用1312的单个用户交互的独立服务器计算机来实现。
例如,如果主机1316是教师,则教师可以选择向用户显示书籍内容的工作簿应用。教师可以编辑工作簿,而学生可以通过他们的虚拟显示应用1324,在选择使用同步交互和相应的更新视图时查看具有来自教师的编辑的同一工作簿,或者在选择同步交互时没有来自教师的编辑。在另一示例中,在包含具有多个幻灯片的演示文件的演示应用中,异步交互可以使每一用户能够异步地观看单个幻灯片。在另一示例中,在教育应用的情况下,在测试学生时呈现心脏解剖,其中学生的交互是同步的,以便其他学生见证和观察学生执行的交互。在另一示例中,教师可以在白板上书写,允许学生通过他们的虚拟显示应用同步地查看写在白板上的文本。在另一示例中,视频播放器应用可以向所有学生同步地显示视频。
在一些示例性实施例中,虚拟环境1308是教室、或办公空间、或会议房间、或会议室、或礼堂、或剧院。
图14描绘了根据实施例的基于用于在图13中描绘的虚拟环境内递送应用的系统1300的虚拟环境1308的示意图。
虚拟环境1308包含应用模块图形表示1326,该应用模块图形表示1326包含由虚拟环境1308的主机1316选择的至少一个已安装应用1312,以及通过其对应的虚拟显示应用1324查看已安装应用1312并与之交互的两个用户A-B。可以理解,用户A可以通过虚拟显示应用1324查看书籍应用的某个页面(例如,页面1),该页面可以与主机1316通过应用模块图形表示1326选择的页面相同,表示已安装应用1312的同步交互和管理。另一方面,通过虚拟显示应用1324对已安装应用1312的异步交互和管理,用户B可以查看与主机1316和用户A不同的页面。
图15描绘了根据实施例的在虚拟环境内提供虚拟计算资源的系统1500的示意图。
系统1500包含服务器计算机系统,其包含一个或多个服务器计算机,包括至少一个云服务器计算机1502,该至少一个云服务器计算机1502包含至少一个处理器1504和存储器1506,存储器1506包括实现至少一个虚拟环境1508的数据和指令,以及与至少一个虚拟环境1508相关联的至少一个虚拟计算机1510。至少一个虚拟计算机1510从服务器计算机系统接收虚拟计算资源。在实施例中,该至少一个虚拟计算机在虚拟环境1508中具有对应的图形表示1512。图形表示1512可以提供其他益处,诸如促进用户与虚拟计算机的交互以及增加用户体验的真实性(例如,对于家庭办公体验)。因此,在实施例中,至少一个虚拟计算机包含定位在虚拟环境1508内的至少一个对应的相关联图形表示1512,其中至少一个虚拟计算机1510从至少一个云服务器计算机1502接收虚拟计算资源。系统1500还包含通过网络连接到至少一个服务器计算机1510的至少一个客户端设备1514。响应于至少一个客户端设备1514访问一个或多个虚拟计算机1510(例如,通过与对应的图形表示交互),至少一个云服务器计算机1502向至少一个客户端设备1514提供至少一部分可用虚拟计算资源。
在一些实施例中,虚拟计算资源由用户1518的用户图形表示1516访问,用户1518通过对应的客户端设备1514访问(例如,交互)至少一个虚拟环境1508内的虚拟计算机1512的一个或多个图形表示,并由此提供给对应的客户端设备1514。
在一些实施例中,虚拟计算机图形表示1512在空间上定位于虚拟环境内,以供用户图形表示访问。在实施例中,虚拟环境1508的布置与虚拟环境1508的情境主题相关联,可以包括虚拟物品、家具、平面布置图等的布置,分别用于教育、会议、工作、购物、服务、社交和娱乐。在其他实施例中,一个或多个虚拟计算机图形表示被定位在虚拟环境1508的布置内,以供一个或多个用户图形表示1516访问。例如,虚拟计算机可以定位在用户图形表示1516在参与可能需要或受益于使用与虚拟计算机相关联的资源的能力的活动(诸如在虚拟教室、实验室或办公室中进行项目)时将访问的虚拟房间中。
在一些实施例中,服务器计算机系统被配置成响应于用户通过登录到至少一个客户端设备而不访问虚拟环境来访问至少一个云服务器计算机,向至少一个客户端设备提供虚拟计算资源的至少一部分。在说明性情形中,访问至少一个云服务器计算机1502的用户1518通过物理登录到通过网络连接到至少一个云服务器计算机1502的客户端设备1514来访问虚拟计算资源,触发向客户端设备1514提供虚拟计算资源而不访问虚拟环境。例如,用户1518可以从他或她的家用计算机登录到云服务器计算机1502,并访问虚拟计算机1510以相应地接收虚拟计算资源。在另一示例中,用户1518可以从他或她的工作计算机登录到云服务器计算机1502以访问虚拟计算机1510,并相应地接收虚拟计算资源。
在一些实施例中,虚拟计算资源的至少一部分通过管理工具被指派给客户端设备。因此,包括所有关联的虚拟计算机的虚拟基础设施可以通过使用基于排他性管理员权限的管理员选项来管理(例如,使用虚拟环境提供给组织的IT团队)。
在一些实施例中,基于存储的用户配置文件来执行虚拟计算资源的提供。在实施例中,虚拟计算资源的指派是基于存储的用户配置文件来执行的,该用户配置文件包含与用户配置文件相关联并被指派给用户配置文件的一个或多个参数,该参数包含优先级数据、安全数据、QOS、带宽、存储空间或计算能力或其组合。例如,从家里访问工作虚拟计算机的用户可以具有被配置成向用户提供与配置文件相关联的特定虚拟计算资源的个人配置文件。
在一些实施例中,每一虚拟计算机都是应用库可用的可下载应用。
图16描绘了根据实施例的实现用户图形表示之间的自组织虚拟通信的系统1600的示意图。
系统1600包含一个或多个云服务器计算机1602,该一个或多个云服务器计算机1602包含至少一个处理器1604和存储器1606,存储器1606存储实现虚拟环境1608的数据和指令。虚拟环境1608被配置成使得虚拟环境1608中的至少一个接近的用户图形表示和至少一个目标用户图形表示能够打开自组织通信信道,并且使得能够经由虚拟环境1608内的用户图形表示之间的自组织通信信道进行自组织对话。在图16所示的示例中,该系统还包含两个或更多个客户端设备1610,其通过对应的用户图形表示来访问至少一个虚拟环境,并且经由网络1612连接到一个或多个云服务器计算机1602。虚拟环境1608使得至少一个接近的用户图形表示1614和至少一个目标用户图形表示1616能够从对应的用户1620打开自组织通信信道1618,使得能够在虚拟环境1608内的用户图形表示之间进行自组织对话。
在一些实施例中,基于用户图形表示之间的距离、位置和取向、或当前可用性状态、隐私设置、或自组织通信的状态配置、或其组合来执行自组织通信信道1618的打开。
在一些实施例中,自组织对话在虚拟环境1608内两个用户图形表示区所在的地方执行。例如,如果接近的用户图形表示1614在休息室或办公空间的特定区遇到目标用户图形表示1614,则自组织通信可以打开,以使两个用户能够在休息室或办公空间的特定区内保持对话,而不需要改变位置。在其他实施例中,使用虚拟环境中的当前视角来执行自组织对话。在上述示例中,自组织通信可以打开,以使两个用户能够保持对话而不改变视角。在其他实施例中,自组织对话实现在发生自组织对话的同一或另一连接的虚拟环境内可选地改变视角、位置或其组合。
在一些实施例中,一个或多个云服务器计算机还被配置成在虚拟环境中产生视觉反馈,用信号通知自组织通信是可能的。在实施例中,用户图形表示接收视觉反馈,该视觉反馈用信号通知自组织通信是可能的,从而触发自组织通信信道的打开,用信号通知用户图形表示之间的自组织对话的开始。
在一些实施例中,自组织对话包含发送和接收从用户图形表示显示的实时音频和视频。
在一些实施例中,对应于接近的用户图形表示1614的用户在打开自组织通信信道1618之前选择并点击目标用户图形表示1616。
在一些实施例中,一个或多个云服务器计算机还被配置成响应于接受的邀请来打开自组织通信信道。例如,对应于接近的用户图形表示1614的用户进一步向目标用户图形表示1616发送自组织通信参与邀请,并且在从目标用户图形表示1614接收到邀请批准后打开自组织通信信道1618。
在一些实施例中,自组织通信信道1618通过至少一个云服务器计算机或作为P2P通信信道来实现。
图17描绘了根据实施例的实现虚拟环境中的交互的方法1700的实施例。
根据本公开的实现虚拟环境中的交互的方法1700在步骤1702和1704中开始,在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供包含至少一个虚拟环境的虚拟环境平台。
如步骤1706和1708所示,该方法从至少一个相机接收来自客户端设备的用户的实况数据馈送,并且然后根据该实况数据馈送产生用户图形表示。方法1700然后将用户图形表示插入到虚拟环境的三维坐标中,如步骤1710所示。
随后,在步骤1712,方法根据实况数据馈送来更新虚拟环境内的用户图形表示。最后,在步骤1714,该方法通过位于虚拟环境内的对应图形表示来处理从至少一个虚拟环境中的交互产生的数据,在步骤1716结束。
图18描绘了根据实施例的图像处理方法1800的实施例。
方法1800开始于步骤1802和1804,在至少一个云服务器计算机的存储器中提供实现图像处理功能的数据和指令。在步骤1806中,方法1800继续,从至少一个相机获得来自至少一个对应客户端设备的至少一个用户的实况数据馈送。然后在步骤1808中,方法1800继续进行,由一个或多个云服务器计算机和至少一个客户端设备的一个或多个图像处理组合(例如,图6A-7C的图像处理组合)产生用户图形表示,然后该过程可以在步骤1810中结束。一个或多个云服务器计算机和至少一个客户端设备可以通过来自本公开的包含P2P端和客户端-服务器端的混合系统架构(例如,图3的混合系统架构300)进行交互。
图19描绘了根据实施例的基于用户图形表示的用户认证方法1900。
方法1900开始于步骤1902和1904,在一个或多个云服务器计算机的存储器中提供存储与用户账户和对应的用户图形表示相关联的用户数据的用户数据库,以及连接到用户数据库的面部扫描和认证模块。方法1900在步骤1906中继续,从客户端设备接收访问用户账户的请求,并且然后在步骤1908中,通过使用从至少一个相机接收的图像通过面部扫描和认证模块对至少一个客户端设备的用户执行面部扫描,该相机可以连接到至少一个客户端设备和/或一个或多个云服务器计算机。在检查1910中,方法1900通过检查用户数据库中与用户账户相关联的用户数据的匹配来继续进行。如果用户账户可用,方法1900在步骤1912继续进行,向用户提供对应的用户图形表示以及对用户账户的访问。在否定的情况下,如果用户账户不可用,则方法1900可以在步骤1914中继续进行,根据数据产生新的用户图形表示和存储在用户数据库中的新用户账户、以及对用户账户的访问。该过程可以在步骤1916中结束。
图20展示了根据实施例的用于从虚拟环境内虚拟广播的方法2000的框图。
方法2000在步骤2002中开始,在至少一个媒体服务器的存储器中提供实现管理客户端设备之间的数据交换的客户端设备数据交换管理模块的数据和指令。方法2000在步骤2004中继续,由定位在连接到至少一个媒体服务器的至少一个虚拟环境内的虚拟广播相机捕获多媒体流。
在步骤2006中,方法2000继续进行,向至少一个媒体服务器发送多媒体流用于广播到至少一个客户端设备。在在步骤2008中,方法2000继续,通过至少一个客户端设备从至少一个相机获得来自至少一个客户端设备的用户的实况馈送数据。
在步骤2010中,该方法继续执行数据交换管理,包含分析和优化来自至少一个虚拟环境内的传入多媒体流和来自用户的实况馈送数据,以及评估和优化出站多媒体流的转发。最后,在步骤2012中,方法2000结束,基于数据交换管理将对应的多媒体流广播到客户端设备,其中向至少一个客户端设备的用户的用户图形表示显示多媒体流。
图21展示了根据实施例的用于在虚拟环境内递送应用的方法2100的框图。
方法2100开始于步骤2102,在至少一个云服务器计算机的存储器中提供至少一个虚拟环境,以及包括一个或多个已安装应用和用于多用户交互的对应应用规则的应用模块,其中应用模块链接到虚拟环境并在虚拟环境内可见。在步骤2104中,方法2100继续进行,从虚拟环境主机接收选择指令。然后,在步骤2106中,方法2100继续,在虚拟环境的会话期间显示和激活一个或多个已安装应用,使得虚拟环境主机的用户图形表示和虚拟环境内的任何参与者用户图形表示能够通过对应的客户端设备进行交互。
在步骤2108中,方法2100继续进行,接收与一个或多个已安装应用的用户交互。随后,方法2100继续,如步骤2110所示,根据应用模块中多用户交互的应用规则来管理和处理用户与一个或多个已安装应用的用户交互。最后,方法2100在步骤2112中结束,相应地将经处理的交互转发给每一客户端设备,以根据应用规则建立实现共享体验的多用户会话。
图22展示了根据实施例的在虚拟环境内提供虚拟计算资源的方法2200的框图。
方法2200开始于步骤2202,在至少一个云服务器计算机的存储器中提供至少一个虚拟计算机,以及包含表示虚拟计算机的一个或多个图形表示的虚拟环境。该方法在步骤2204中继续,由虚拟计算机从至少一个云服务器计算机接收虚拟计算资源。然后,在步骤2206中,方法继续进行,从至少一个客户端设备接收对一个或多个虚拟计算机的访问请求。最后,在步骤2208中,该方法结束,基于客户端设备的需求向至少一个客户端设备提供可用虚拟计算资源的一部分。
图23展示了实现用户图形表示之间的自组织虚拟通信的方法2300的框图。
方法2300在步骤2302中开始,在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供虚拟环境。然后,在步骤2304中,该方法继续,检测通过对应的图形表示来访问至少一个虚拟环境的两个或更多个客户端设备,其中客户端设备经由网络连接到一个或多个云服务器计算机。最后,在步骤2306中,方法2300结束,响应于至少一个用户图形表示接近另一用户图形表示而打开自组织通信信道,在虚拟环境中实现用户图形表示之间的自组织对话。
还描述了其上存储有指令的计算机可读介质,这些指令被配置成使一个或多个计算机执行本文描述的任何方法。如本文所使用,术语“计算机可读介质”包括以能够存储信息的任何方法或技术实现的易失性和非易失性以及可移除和不可移除的介质,该信息诸如计算机可读指令、数据结构、程序模块或其他数据。一般来说,本文描述的计算设备的功能性可以在以硬件或软件指令体现的计算逻辑中实现,这些指令可以用编程语言编写,诸如C、C++、COBOL、JAVATM、PHP、Perl、Python、Ruby、HTML、CSS、JavaScript、VBScript、ASPX、Microsoft.NETTM语言,诸如C#等。计算逻辑可以被编译成可执行程序或者用解译的编程语言编写。通常,本文描述的功能性可以被实现为逻辑模块,其可以被复制以提供更大的处理能力,与其他模块合并,或者被分成子模块。计算逻辑可以存储在任何类型的计算机可读介质(例如,非暂时性介质,诸如存储器或存储介质)或计算机存储设备中,并且可以存储在一个或多个通用或专用处理器上并由其执行,从而创建被配置成提供本文描述的功能性的专用计算设备。
虽然已在附图中描述和示出了特定实施例,但是应理解,此类实施例仅仅是说明性的,而不是对广泛的发明的限制,并且本发明不限于所示出和描述的具体构造和布置,因为本领域普通技术人员可以想到各种其他修改。因此,该描述被视为是说明性的而不是限制性的。

Claims (20)

1.一种实现虚拟环境中的交互的系统,其特征在于,包含:
一个或多个云服务器计算机,所述一个或多个云服务器计算机包含至少一个处理器以及存储数据和指令的存储器,所述数据和指令实现包含至少一个虚拟环境的虚拟环境平台的;
其中所述一个或多个云服务器计算机被配置成在所述至少一个虚拟环境的三维坐标位置处插入从由相机获得的实况数据馈送产生的用户图形表示,更新所述至少一个虚拟环境中的所述用户图形表示,并且实现所述虚拟环境中的实时多用户协作和交互。
2.根据权利要求1所述的系统,其特征在于,其中所述虚拟环境可由客户端设备经由可下载的客户端应用或网络浏览器应用来访问。
3.根据权利要求1所述的系统,其特征在于,其中所述用户图形表示包含移除背景的用户3D虚拟剪切、或移除背景的用户实时3D虚拟剪切、或移除背景的视频、或没有移除背景的视频。
4.根据权利要求1所述的系统,其特征在于,其中所述用户图形表示与俯视视角、或第三人称视角、或第一人称视角、或自我视角相关联。
5.根据权利要求4所述的系统,其特征在于,其中通过使用虚拟相机来自动建立和更新所述视角,其中所述实况数据馈送的所述视角与所述用户图形表示的所述视角和所述虚拟相机相关联,并且其中通过跟踪和分析用户眼睛和头部倾斜数据、或头部旋转数据、或其组合来自动更新所述虚拟相机。
6.根据权利要求1所述的系统,其特征在于,其中所述虚拟环境内的所述用户图形表示的更新包含更新用户状态。
7.根据权利要求1所述的系统,其特征在于,其中所述虚拟环境是存储在所述一个或多个云服务器计算机的持久存储器中的持久虚拟环境、或者是存储在所述一个或多个云服务器计算机的临时存储器中的临时虚拟环境。
8.根据权利要求1所述的系统,其特征在于,其中所述虚拟环境的布置与所述虚拟环境的情境主题相关联,所述情境主题与选自所述虚拟环境平台的一个或多个虚拟环境垂直领域相关。
9.根据权利要求8所述的系统,其特征在于,其中所述虚拟环境包含虚拟计算机,所述虚拟计算机包括虚拟计算资源。
10.根据权利要求1所述的系统,其特征在于,其中所述虚拟环境平台被配置成能够向虚拟环境的多个实例多播或广播远程事件。
11.一种实现虚拟环境中的交互的方法,其特征在于,包含:
在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供包含虚拟环境的虚拟环境平台;
从至少一个对应的客户端设备接收由至少一个相机捕获的实况数据馈送;
从所述实况数据馈送产生用户图形表示;
将所述用户图形表示插入到所述虚拟环境的三维坐标位置;
根据所述实况数据馈送来更新所述虚拟环境内的所述用户图形表示;以及
处理从所述虚拟环境中的交互产生的数据,实现所述虚拟环境中的实时多用户协作和交互。
12.根据权利要求11所述的方法,其特征在于,其中所述用户图形表示包含移除背景的用户3D虚拟剪切、或移除背景的用户实时3D虚拟剪切、或移除背景的视频、或没有移除背景的视频。
13.根据权利要求11所述的方法,其特征在于,其中所述用户图形表示的更新包含更新用户状态。
14.根据权利要求11所述的方法,其特征在于,其中所述用户图形表示与俯视视角、或第三人称视角、或第一人称视角、或自我视角、或广播相机视角相关联,并且其中通过使用虚拟相机来自动地建立和更新所述视角。
15.根据权利要求11所述的方法,其特征在于,其中所述虚拟环境平台能够通过打开客户端设备之间的自组织通信信道来参与自组织虚拟通信,其中多个用户图形表示被呈现为在所述虚拟环境中保持对话。
16.根据权利要求11所述的方法,其特征在于,还包含通过以下操作使一个或多个用户参与对话:
将所述用户图形表示从用户3D虚拟剪切转变到用户实时3D虚拟剪切、或移除背景的视频、或没有移除背景的视频;以及
在所述用户客户端设备之间打开对等(P2P)通信通道,或者通过所述云服务器计算机打开间接通信通道,其中所述对话包含发送和接收从参与者的所述用户实时3D虚拟剪切显示的实时音频和视频,或者发送和接收从参与者的所述用户3D虚拟剪切播放的实时音频。
17.根据权利要求11所述的方法,其特征在于,还包含将重新定向到所述虚拟环境的可点击链接嵌入到包含第三方网站、应用或视频游戏的一个或多个第三方源中。
18.一种其上存储有指令的计算机可读介质,其特征在于,所述指令被配置成使得包含处理器和存储器的至少一个服务器计算机执行以下步骤:
在包含至少一个处理器的一个或多个云服务器计算机的存储器中提供包含虚拟环境的虚拟环境平台;
从至少一个对应的客户端设备接收由至少一个相机捕获的实况数据馈送;
从所述实况数据馈送产生用户图形表示;
将所述用户图形表示插入到所述虚拟环境的三维坐标位置;
根据所述实况数据馈送来更新所述虚拟环境内的所述用户图形表示;以及
处理从所述虚拟环境中的交互产生的数据,实现所述虚拟环境中的实时多用户协作和交互。
19.根据权利要求18所述的计算机可读介质,其特征在于,其中所述用户图形表示包含移除背景的用户3D虚拟剪切、或移除背景的用户实时3D虚拟剪切、或移除背景的视频、或没有移除背景的视频。
20.根据权利要求18所述的计算机可读介质,其特征在于,其中所述虚拟环境平台能够通过打开客户端设备之间的自组织通信信道来参与自组织虚拟通信,其中多个用户图形表示被呈现为在所述虚拟环境中保持对话。
CN202110987324.9A 2020-08-28 2021-08-26 实现虚拟环境中的交互的系统和方法 Pending CN114115518A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/006,327 US20220070235A1 (en) 2020-08-28 2020-08-28 System and method enabling interactions in virtual environments with virtual presence
US17/006,327 2020-08-28

Publications (1)

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

Family

ID=77520559

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110987324.9A Pending CN114115518A (zh) 2020-08-28 2021-08-26 实现虚拟环境中的交互的系统和方法
CN202110988164.XA Pending CN114125523A (zh) 2020-08-28 2021-08-26 数据处理系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110988164.XA Pending CN114125523A (zh) 2020-08-28 2021-08-26 数据处理系统和方法

Country Status (5)

Country Link
US (2) US20220070235A1 (zh)
EP (2) EP3962074A1 (zh)
JP (2) JP7464989B2 (zh)
KR (2) KR20220030176A (zh)
CN (2) CN114115518A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI824749B (zh) * 2022-09-28 2023-12-01 鄭博元 Vr中控教學系統

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10238965B2 (en) * 2016-04-28 2019-03-26 Sony Interactive Entertainment America Llc Cloud gaming device handover
US11412016B2 (en) * 2019-06-28 2022-08-09 Fortinet, Inc. Gamified virtual conference with network security training of network security products
US11140361B1 (en) * 2021-03-24 2021-10-05 Katmai Tech Holdings LLC Emotes for non-verbal communication in a videoconferencing system
US20220394067A1 (en) * 2021-06-08 2022-12-08 Hermis, Inc. System and method for facilitating interaction among users at real-time
US20230316663A1 (en) * 2022-03-30 2023-10-05 Tmrw Foundation Ip S. À R.L. Head-tracking based media selection for video communications in virtual environments
US20230362214A1 (en) * 2022-05-04 2023-11-09 Qualcomm Incorporated 5g support for webrtc
WO2023235532A1 (en) * 2022-06-03 2023-12-07 Clearobject Corporation Edge device video analysis system
KR20240002829A (ko) * 2022-06-30 2024-01-08 주식회사 와이엠엑스 가상 공간에 있는 3d 오브젝트 상의 특정 위치 표시를 공유할 수 있는 실시간 vr 회의시스템 및 방법
US11700354B1 (en) * 2022-07-21 2023-07-11 Katmai Tech Inc. Resituating avatars in a virtual environment
WO2024020562A1 (en) * 2022-07-21 2024-01-25 Katmai Tech Inc. Resituating virtual cameras and avatars in a virtual environment
US11956571B2 (en) * 2022-07-28 2024-04-09 Katmai Tech Inc. Scene freezing and unfreezing
EP4329284A1 (en) * 2022-08-23 2024-02-28 Holo-Light GmbH Extended reality streaming method and system
EP4329288A1 (en) * 2022-08-23 2024-02-28 Holo-Light GmbH Multi-user extended reality streaming method and system
KR102637984B1 (ko) * 2022-08-31 2024-02-16 에스케이증권 주식회사 메타버스와 메신저 채팅룸을 연동하여 사용자를 인증하고 동기화 하는 방법 및 장치
EP4351157A1 (en) * 2022-10-06 2024-04-10 Holo-Light GmbH Xr streaming method and xr streaming system
CN115866189B (zh) * 2023-03-01 2023-05-16 吉视传媒股份有限公司 一种云会议的视频数据安全传输方法
CN116091487B (zh) * 2023-03-07 2023-06-23 深圳市宝安区石岩人民医院 一种基于图像识别的皮肤皱纹分析比对方法及系统

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6409599B1 (en) 1999-07-19 2002-06-25 Ham On Rye Technologies, Inc. Interactive virtual reality performance theater entertainment system
US7287053B2 (en) 2002-01-15 2007-10-23 International Business Machines Corporation Ad hoc data sharing in virtual team rooms
US8850345B1 (en) 2004-05-13 2014-09-30 Oracle America, Inc. Method for interacting with a system that includes physical devices interfaced with computer software
US9112709B1 (en) 2005-02-28 2015-08-18 At&T Intellectual Property Ii, L.P. Ad hoc social work space
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7739339B2 (en) 2006-06-28 2010-06-15 The Boeing Company System and method of communications within a virtual environment
JP4468418B2 (ja) * 2007-07-24 2010-05-26 株式会社エヌ・ティ・ティ・ドコモ 制御装置および移動通信システム
US8868656B2 (en) * 2008-12-05 2014-10-21 Social Communications Company Pervasive realtime framework
US9357025B2 (en) 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US20090288007A1 (en) 2008-04-05 2009-11-19 Social Communications Company Spatial interfaces for realtime networked communications
US10872322B2 (en) 2008-03-21 2020-12-22 Dressbot, Inc. System and method for collaborative shopping, business and entertainment
JP5368547B2 (ja) * 2008-04-05 2013-12-18 ソーシャル・コミュニケーションズ・カンパニー 共有仮想エリアコミュニケーション環境ベースの装置および方法
US8032799B2 (en) 2008-09-17 2011-10-04 International Business Machines Corporation System and method for managing server performance degradation in a virtual universe
KR20110100640A (ko) 2008-12-01 2011-09-14 노오텔 네트웍스 리미티드 3차원 컴퓨터 생성 가상 환경의 비디오 표시를 제공하는 방법 및 장치
US9065874B2 (en) 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
EP2237200A1 (en) 2009-04-01 2010-10-06 Alcatel Lucent Method for filtering the streaming of virtual environment content assets, a related system, network element and a related virtual environment content asset
US8659639B2 (en) 2009-05-29 2014-02-25 Cisco Technology, Inc. System and method for extending communications between participants in a conferencing environment
US20110225039A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Virtual social venue feeding multiple video streams
US9417691B2 (en) 2010-03-26 2016-08-16 Nokia Technologies Oy Method and apparatus for ad-hoc peer-to-peer augmented reality environment
US8675067B2 (en) * 2011-05-04 2014-03-18 Microsoft Corporation Immersive remote conferencing
US9084001B2 (en) 2011-07-18 2015-07-14 At&T Intellectual Property I, Lp Method and apparatus for multi-experience metadata translation of media content with metadata
JP6101267B2 (ja) 2011-08-18 2017-03-22 アザーヴァース デジタル インコーポレーテッドUtherverse Digital, Inc. 仮想世界の相互作用のシステムおよび方法
EP3666352B1 (en) * 2011-10-28 2021-12-01 Magic Leap, Inc. Method and device for augmented and virtual reality
WO2013119802A1 (en) 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
US20130335509A1 (en) * 2012-06-18 2013-12-19 Mobile Video Date, Inc. Methods, systems, and articles of manufacture for online video dating
EP2920683A1 (en) * 2012-11-15 2015-09-23 Iversen, Steen Svendstorp Method of providing a digitally represented visual instruction from a specialist to a user in need of said visual instruction, and a system therefor
US10905943B2 (en) * 2013-06-07 2021-02-02 Sony Interactive Entertainment LLC Systems and methods for reducing hops associated with a head mounted system
US11488363B2 (en) 2019-03-15 2022-11-01 Touchcast, Inc. Augmented reality conferencing system and method
US9264668B2 (en) 2013-09-27 2016-02-16 Clearone Communications Hong Kong Ltd. Methodology for negotiating video camera and display capabilities in a multi-camera/multi-display video conferencing environment
CN107211061B (zh) 2015-02-03 2020-03-31 杜比实验室特许公司 用于空间会议回放的优化虚拟场景布局
US10747418B2 (en) * 2015-07-24 2020-08-18 Coscreen, Inc. Frictionless interface for virtual collaboration, communication and cloud computing
US10255293B2 (en) 2015-10-16 2019-04-09 Oracle Internatinoal Corporation Generating virtual map tiles according to an ad hoc specification
GB2543913B (en) 2015-10-30 2019-05-08 Walmart Apollo Llc Virtual conference room
JP6200033B2 (ja) 2016-05-12 2017-09-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 中継装置、中継方法及び中継プログラム
US10580140B2 (en) 2016-05-23 2020-03-03 Intel Corporation Method and system of real-time image segmentation for image processing
US11089280B2 (en) * 2016-06-30 2021-08-10 Sony Interactive Entertainment Inc. Apparatus and method for capturing and displaying segmented content
CN106027679B (zh) 2016-07-15 2019-05-24 中兴通讯股份有限公司 视频会议的实现方法、装置及系统、云桌面终端
US10657690B2 (en) 2016-08-11 2020-05-19 Integem Inc. Intelligent augmented reality (IAR) platform-based communication system
US10192363B2 (en) 2016-08-28 2019-01-29 Microsoft Technology Licensing, Llc Math operations in mixed or virtual reality
US20180069937A1 (en) 2016-09-02 2018-03-08 VeriHelp, Inc. Event correlation and association using a graph database
US10089521B2 (en) 2016-09-02 2018-10-02 VeriHelp, Inc. Identity verification via validated facial recognition and graph database
EP3943335A1 (en) 2016-11-30 2022-01-26 Bombardier Recreational Products Inc. Method for energizing an electric system
US10354411B2 (en) * 2016-12-20 2019-07-16 Symbol Technologies, Llc Methods, systems and apparatus for segmenting objects
US10841660B2 (en) * 2016-12-29 2020-11-17 Dressbot Inc. System and method for multi-user digital interactive experience
US10564800B2 (en) 2017-02-23 2020-02-18 Spatialand Inc. Method and apparatus for tool selection and operation in a computer-generated environment
CN108874854A (zh) 2017-05-11 2018-11-23 频整.Com有限责任公司 视频比赛平台
US10841537B2 (en) * 2017-06-09 2020-11-17 Pcms Holdings, Inc. Spatially faithful telepresence supporting varying geometries and moving users
KR102333101B1 (ko) 2017-06-21 2021-12-01 삼성전자주식회사 관심 객체에 대한 외부 광원의 속성 정보를 제공하는 방법을 지원하는 전자 장치
US11036285B2 (en) 2017-09-04 2021-06-15 Abhinav Aggarwal Systems and methods for mixed reality interactions with avatar
US10870056B2 (en) 2017-11-01 2020-12-22 Sony Interactive Entertainment Inc. Emoji-based communications derived from facial features during game play
US10250921B1 (en) 2017-12-22 2019-04-02 Dialogic Corporation Systems and methods of video forwarding with adaptive video transcoding capabilities
AU2018388581A1 (en) 2017-12-22 2020-07-23 Magic Leap, Inc. Methods and system for managing and displaying virtual content in a mixed reality system
US20190199671A1 (en) 2017-12-27 2019-06-27 Knowmail S.A.L LTD. Ad-hoc virtual organization communication platform
JP2020035392A (ja) * 2018-08-31 2020-03-05 真一 福重 遠隔コミュニケーションシステム等
CN113056772A (zh) 2018-10-21 2021-06-29 甲骨文国际公司 虚拟仪表盘中可视化对象之间的动画
JP6724110B2 (ja) * 2018-10-31 2020-07-15 株式会社ドワンゴ 仮想空間中のアバター表示システム、仮想空間中のアバター表示方法、コンピュータプログラム
US10455194B1 (en) 2018-11-27 2019-10-22 Dialogic Corporation Robust handling of sudden changes of bandwidth in selective forwarding unit conferences
US10346378B1 (en) 2018-11-30 2019-07-09 Slack Technologies, Inc. Data storage architecture for an enterprise communication system
JP6994005B2 (ja) * 2019-06-05 2022-01-14 株式会社コロプラ 情報処理方法、情報処理プログラム、情報処理システムおよび情報処理装置
US20210229673A1 (en) 2019-06-17 2021-07-29 Google Llc Seamless driver authentication using an in-vehicle camera in conjunction with a trusted mobile computing device
US11544963B2 (en) 2019-10-18 2023-01-03 Whirlpool Corporation Appliance having a customizable user profile
US11489686B2 (en) 2020-01-14 2022-11-01 Citrix Systems, Inc. Virtual meetings in ad-hoc networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI824749B (zh) * 2022-09-28 2023-12-01 鄭博元 Vr中控教學系統

Also Published As

Publication number Publication date
KR20220030176A (ko) 2022-03-10
KR20220029451A (ko) 2022-03-08
EP3962075A1 (en) 2022-03-02
US11218522B1 (en) 2022-01-04
EP3962074A1 (en) 2022-03-02
JP7384440B2 (ja) 2023-11-21
JP2022050322A (ja) 2022-03-30
JP7464989B2 (ja) 2024-04-10
CN114125523A (zh) 2022-03-01
JP2022042980A (ja) 2022-03-15
US20220070235A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
JP7464989B2 (ja) 仮想環境での相互作用を可能にするシステム及び方法
JP7340281B2 (ja) 仮想環境内でのアプリケーションの配信システム及び方法
US20220070241A1 (en) System and method enabling interactions in virtual environments with virtual presence
EP3961496A1 (en) Graphical representation-based user authentication system and method
JP7391394B2 (ja) 仮想環境内から仮想ブロードキャストするためのシステム及び方法
EP3961396A1 (en) System and method to provision cloud computing-based virtual computing resources within a virtual environment
EP3962078A1 (en) Ad hoc virtual communication between approaching user graphical representations
KR20240040040A (ko) 가상 이벤트들의 디지털 자동화
KR20240019044A (ko) 특정 보안 딥 링크들을 통한 화상회의 미팅 슬롯들
CN117528007A (zh) 通过特定的安全深度链接的视频会议时段
CN117528008A (zh) 通过特定的安全深度链接的视频会议时段
CN117528009A (zh) 通过特定的安全深度链接的视频会议时段

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination