CN108702484A - 通信事件 - Google Patents
通信事件 Download PDFInfo
- Publication number
- CN108702484A CN108702484A CN201780012013.2A CN201780012013A CN108702484A CN 108702484 A CN108702484 A CN 108702484A CN 201780012013 A CN201780012013 A CN 201780012013A CN 108702484 A CN108702484 A CN 108702484A
- Authority
- CN
- China
- Prior art keywords
- user
- video flowing
- video
- moving image
- time interval
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1063—Application servers providing network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
在经由通信网络在第一用户(D)与一个或多个第二用户(A、B、C)之间的通信事件中。在连接至网络的计算机(102)处经由网络接收多个视频流(si、s2、s3)。流中的每个运送至少一个相应的用户(A、B、C)的相应的运动图像。计算机使得视频流中第一个流的相应的运动图像在第一时间间隔内在第一用户的用户设备处被显示。计算机检测(308、318)在所述视频流中的在第一时间间隔中不在用户设备处被显示的第二个流的相应的运动图像中其视觉内容的改变。响应于检测到所述视觉内容的改变,计算机使得(312)至少第二视频流在第二时间间隔内在用户设备处被显示。
Description
背景技术
互联网协议语音(“VoIP”)通信系统允许设备的用户跨通信网络进行通话。为了使用VoIP,用户必须在其设备上安装并执行客户端软件。客户端软件提供VoIP连接以及诸如注册和认证之类的其他功能。有利地,除了语音和视频通信之外,客户端还可以提供视频通话和即时消息传送(“IM”)。利用视频通话,呼叫方还能够观看另一方的除了语音信息之外的视频图像(即,运动的图像)。这使能在多个参与方之间实现自然地多的通信(因为也传送了脸部表情),由此使得视频通话与面对面的对话更具有可比性。
包括多个用户的视频通话可以被称为“视频会议”。在传统的视频会议中,每个参与者(即,用户)能够观看视频会议中其他参与者(用户)中一个或多个的视频图像。例如,作为默认设置,可以向每个用户呈现视频会议中所有其他用户的视频图像。例如,可以使用网格来显示,其中每个视频图像占据网格上的不同位置。可替代地,可以向每个用户呈现与已经被检测为在发言的用户相对应的一个或多个视频图像。即,对来自发言者的音频的检测可以确定其他用户的视频图像中的哪一个被选择用于在特定用户的用户终端上显示。通常而言,在视频会议中,一次一个用户发言,并且因此这可能引起该用户的单个视频图像被显示给不发言的用户中的每个。
发明内容
提供了该发明内容以用简化形式引入在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
本主题的各个方面涉及经由通信网络在第一用户与一个或多个第二用户之间的通信事件。在连接至网络的计算机处经由网络接收多个视频流。流中的每个运送至少一个相应的用户的相应的运动图像。计算机使得视频流中的第一视频流的相应的运动图像在第一时间间隔内被显示在第一用户的用户设备上。计算机在所述视频流中的在第一时间间隔中不在用户设备上被显示的第二视频流的相应运动图像中检测其视觉内容的改变。响应于检测到该视觉内容的改变,计算机使得至少该第二视频流在第二时间间隔内在用户设备处被显示。
附图说明
为了更好地理解本主题,以及为了示出如何可以实施本主题的实施例,对以下附图进行参考,其中:
图1示出了通信系统的示意性框图;
图2示出了用户设备的示意性框图;
图3示出了服务器的功能框图;
图4A示出了可以用于基于在视频流的运动图像中识别的反应来确定与视频流相关联的优先级的计算机实现的数据库的示意性说明。
图4B示出了可以用于基于在视频流的活动视频中检测到的用户数量的改变来确定与视频流相关联的优先级的计算机实现的数据库的示意性说明。
图5A示出了用于基于对视频流的运动图像中的预期运动的识别而在通话期间在用户设备处显示的选择视频流的方法的流程图。
图5B示出了用于基于在视频流的运动图像中检测到的用户数量的改变而在通话期间在用户设备处进行显示的选择视频流的方法的流程图。
图6A到8C示出了在一组三个或更多用户之间在视频通话期间在不同阶段对客户端的图形用户界面的各种图示;
图9示意性地示出了可选择的预先确定的布局。
具体实施方式
在经由通信网络进行的视频会议中,向特定用户显示视频会议中其他用户的所有视频图像可能不总是令人满意的。例如,在仅一些用户是活动的——即做对视频会议中的一个或多个其他用户而言感兴趣的事情和/或如果在该通话中存在非常大量的用户可以是这样的情况。例如,用户中的仅一个或两个可能是在发言的用户。防止与其余用户(即,非活动用户)相关联的视频图像被显示在用户的终端处会是令人满意的。这确保了用户终端不向不增加视频会议的用户体验的视频数据分配显示资源。尽管不是排他地,但这特别适用于移动设备、平板计算机、或受限的可用显示区域内的某些膝上型设备。在一些情况下,这还可以确保网络带宽不会被分配用来不必要地向其他用户终端发送与非活动用户相关联的视频流,如在下文中进一步详述的。
在本文中这被称为“跟随动作讲故事”,并且随着通信事件继续进行,利用分组活动和分组响应来引导进行消费的参与者。目前,利用活动发言的视频会议,进行消费的参与者可能需要立刻监视多个视频馈送以确定哪里在发生非言语活动。可替代地,如果他们仅仅观看活动的发言者,则由于缺少向他们呈现的任何合适的视觉表示,因此他们可能没有意识到分组活动中的非言语改变。
仅仅显示被识别为在发言的用户的视频图像(即,排他地基于检测到言语事件而显示视频图像)可能并不总是令人满意的。例如,用户可以对与其他用户中的一个或多个相关联的非言语事件感兴趣。这可以包括诸如在从特定用户终端接收的视频图像中出现的用户数量方面检测到的改变之类的事件。除了或代替与言语事件相关联的视频图像,向用户显示这种事件可能是令人满意的。这样做时,用户能够以类似故事的方式观看视频会议中的其他用户的活动(不管是言语的或非言语的)。在有限的时间间隔内显示非言语事件可能是令人满意的;例如,以确保不将用户的注意力从发言用户上带走太长时间。
此外,已知可以视觉地传达非言语事件,即,无须播出任何相关联的音频数据,则用与其中检测到非言语事件的视频图像相关联的音频和视频数据来代替与发言用户相关联的音频和视频数据可能不令人满意。例如,确保发言用户的发言仍旧在用户的用户终端处播出可能是令人满意的,即使正在用户的用户终端处显示的视频图像与发言用户的视频图像不相对应(例如,如果该视频图像与其中检测到用户数量改变的视频图像相对应)。以该方式处理音频和视频数据确保了分组体验的故事连续性——即在视频会议中在合适的时间将用户的注意力带到相关的音频和视频数据。
本公开通过提供使得视频会议的一个或多个视频图像以虚拟的“故事化的体验视图”在用户终端处被显示的通信系统来解决这些问题。虚拟的“故事化的体验视图”利用视频和讲故事的力量经由更引人入胜和栩栩如生的会面体验来将会议体验(即,视频会议)转换成在活动的发言之上。
故事化的体验视图可以包括单流视频网格或者在其中一次播放多个视频和或音频频道的多流视频网格。通过在故事化的体验视图中显示视频图像,用户能够消费分组活动中最引人入胜和生动的故事,即,无须监视视频会议中所有其他用户的所有视频图像以便确定哪里在发生非言语用户活动。在故事化的体验视图中,由于即将发生的当前动作,可以取决于分组活动的大小以及捕获事件的传感器的数量而使用多视频网格和单视频网格的组合来显示或按顺序排列视频。
在本公开中,一个计算机经由网络从相应用户中的每个中接收所有视频流,以使得可以将其所有视觉内容都考虑在内地进行关于要显示哪个的智能决策。计算机可以看见所有的候选流并且能够在将非言语事件(即,由流运送的运动图像的视觉内容的改变)考虑在内的情况下,限制被选择用于在特定用户终端处显示的这些流的数量。因为计算机经由网络接收所有的视频流,所以其被最好地放置以便关于要选择哪些视频流而进行智能决策。以该方式限制视频流的数量是有用的,例如,在用户终端具有受限显示区域的情况下。在这样的情况下,在用户终端处显示视频会议中其他用户的所有图像可能没有意义(特别是如果视频会议具有大量参与者)。接收所述流的计算机能够在最大化向进行消费的用户递送的信息的同时在受限的显示区域的界限内工作。
从在不同的客户端设备上运行的不同客户端接收视频流中的至少两个尤其但非排他地是这样的情况,这是由于每个个体客户端不一定知道其他客户端的视频流的视觉内容。
在所描述的实施例中,计算机在中央服务器中被实施。这允许保存带宽,因为仅被选择用于向任何给定的客户端显示的流需要从服务器被发送至该客户端。以该方式,服务器能够高效地使用带宽,而同时最大化向进行消费的用户传达的有用的和/或吸引人的信息的量。
在本公开的实施例中,例如,对在具体的远程位置视频流处的人的数量改变的检测用于在消费视频故事体验时触发宽成帧故事序列优先级,由此当这些用户中的一个或多个用户离开和/或当一个或多个新用户加入他们时,通过显示先前未显示的例如具有多个用户位于其中的会议室的宽视野的视频图像来向进行消费的出席者提供对在远程位置处的人的进入/离开活动的现场的、视觉意识。即,除了响应于检测到其中的进入/离开事件而显示先前未显示的图像之外,在本主题的一些实施例中,还可以在根据这样的事件来显示图像之前选择性地对所述图像进行剪裁。所述检测是对未经剪裁的图像执行的,以确保仍然能检测到在可能已经被剪裁掉的视觉内容中的改变。例如,当在未显示的视频图像中检测到进入/离开事件时,这可以使得以宽视图显示该图像(即,没有剪裁或有最小的剪裁),以确保该事件可以看见。这也适用于在当前正被显示的视频中检测进入/离开事件。例如,如果将活动的被消费的视频剪裁成活动发言者在整个视频视图中(中等或者近距离的头和肩膀),则在该视频图像的未剪裁版本中可以检测到经由脸、音频、运动的用户数量的改变。作为响应,该视频未被剪裁成最宽的可观看视图,因此用户可以看见房间中人的数量的改变(增加或减少)。
即,当从一位置流式传输给定视频视图且在所捕获的空间中检测到的出现的人的数量已经增加或减少时,这允许进行消费的参与者故事视图将优先级切换到可获得的最宽的相机输入视图以持续指定的持续时间(在必要的情况下,除了改变显示哪些流之外)。例如,从中等或近距离的经剪裁的视频视图切换到重新成帧或未经剪裁的宽视图。因此,通知进行消费的会面参与者视觉意识到当前在远程位置中出现的人的数量方面发生的进入/离开改变。可以通过在虚拟的故事阶段环境中的单个或多个拆分视图来消费该优先级宽视频视图行为。
由此,在这样的实施例中,系统确保用户不仅意识到未被显示的视频图像的进入/离开事件(或视频内容中的其他改变),而且意识到当前正被显示的视频图像中的进入/离开事件(或视频内容中的其他改变)。
本公开允许虚拟的参与者在虚拟的会面(例如,视频会议)期间跟踪在故事视频观看体验期间的参与者进入/离开活动和意识。
要注意的是,在本上下文中提及的用户“进入”或“离开”不是指新的网络端点连接至通话或从通话断开连接。相反,它们指的是由给定端点(例如,通用计算机、或专用视频会议硬件)生成的视频流运送的运动图像的视觉内容中的改变。即,提及的离开指的是先前在运动图像中可检测到的用户变得在其中不可检测到(例如,因为他已经走到真实世界的会议室之外了,或者至少在会议室中的相机的视野之外),而提及的加入指的是用户在运动图像中新近变得可见(例如,因为他已经走到会议室中,或至少已经走到了相机的视野中)。由此,提及的响应于检测到用户进入或离开而显示先前未被显示的视频图像指的是响应于运动图像的视觉内容的改变而显示运动图像,以使得在该图像中可检测的用户的总数改变(与基于现有的端点从通话断开或新的端点加入通话而改变显示哪些视频图像相比)。
可以根据在一些实施例中使用的传感器由各种传感器类型、脸部检测、以视频帧或以物理空间运动检测、以及额外地以馈送音频或以物理空间音频检测来触发视频检测中的进入/离开。通常而言,在这样的实施例中,除了图像自身的视觉内容之外,可以根据什么数据可用而使用一个或多个额外的传感器。此外,除了视觉内容的改变之外,还可以将其他事件考虑在内,例如经由另一设备(移动设备、膝上型计算机…)检测到用户进入到会议室中,因此通知该分组他们现在出现在该物理空间中。可以将从该空间的“宽房间视频视图”增加到故事视图中以让分组意识到。
在本公开中,向非言语奇异事件分配持续时间定时器。在检测到非言语事件之后,该视频被提升并且在视频通话期间在现场故事视图序列的活动视频堆栈中分配持续时间和优先级,以向进行消费的参与者视频序列提供分组非言语通信的活动意识以供回放。
本公开允许虚拟参与者在基于视频现场回放的会面体验期间在阶段上在故事视频视图体验期间跟踪参与者非言语通信活动和意识。向非言语通信优先级项目分配持续时间,这引起该活动在正确的地点和正确的时间在故事视图中被显现。这增加了参与者的参与度、用户的活动和空间意识、以及人们的会面出席规模。
除了视频通话中的现场视频之外,本技术还可以在稍后的时间应用于这样的通话的经录制的视频。
在本文中,提及的用户在由视频流运送的运动图像(或类似的)中当前“可见”不一定指的是视频图像当前可观看。就用户基于应用于运动图像的计算机实现的图像处理(例如,通过计算机应用于图像的脸部或骨骼跟踪)在当前没有被显示的运动图像的视觉内容中是可检测的意义而言,用户在该图像中是可见的。运动图像的视觉内容意指通过运动图像的像素值传达的信息,并且因此要向观看者传达的是要向他显示(例如,播出)的运动图像。因此,根据本技术,最终是那些像素值的改变——并且特别地,通过改变像素值传达的信息的改变——这使得在适当选择的时间间隔选择显示某些视频图像以向一个或多个通话参与者传达信息改变。由运动图像的视觉内容传达的信息的每个这样的改变在本文中被单独称为“非言语奇异事件”,其包括例如在运动图像中的用户数量的改变以及运动图像中某些用户预期的(即,可识别的)运动的改变。
在本文中运动图像也被称为“视频图像”,并且意指要快速连续播出以给出运动印象的一系列帧(即,静态图像)。除非另外指示,否则在下文对“图像”的任何提及表示在该意义下的运动图像,而不是静态图像。对“显示视频流”的提及意指显示由该视频流运送的运动图像。
图1示出了一种通信系统100,其包括与第一用户终端6a相关联的第一用户4a(用户A)、与第二用户终端6b相关联的第二用户4b(用户B)、与第三用户终端6c相关联的第三用户4c(用户C)、以及与第四用户终端6d相关联的第四用户4d(用户D)。参与视频会议的相应用户中的每一个可以位于不同的远程位置。第五用户4e(用户E)被示出为不总是出现在与用户B相关联的位置处的用户(或者至少,可能不总是在相机设备7b的视野中)。尽管在图1中已经示出了仅5个用户,但是将理解的是,通信系统100可以包括任何数量的用户和相关联的用户设备。还将理解的是,尽管示出了具有相关联的相机设备7的每个用户终端6,但用户终端中的一个或多个可以与一个或多个额外的相机或传感器(例如,麦克风阵列、Kinect等)相关联,由此允许来自该位置的更多的输入流。例如,示出了用户终端6b具有额外的相机设备9。所述额外的相机设备9可以提供从其捕获用户4b(和/或用户4e)的视频图像的可替代的角度。多个相机设备和/或传感器可以被识别为位于同一位置,并且作为故事化体验中最佳放置的传感器的源。
更加一般地,诸如外部相机、音频麦克风、运动传感器等之类的一个或多个外围设备可以连接至网络。这些可以经由蓝牙、WiFi、网络登陆等被登记或被添加到具体的父设备位置。这些外围设备可以充当被添加的传感器或用户偏好输入。可以约束传感器覆盖(即,特定传感器被激活的时间)以便在正确的位置和时间覆盖故事化事件。例如,标准类型的故事化体验可以包括“章节”或“段落”;段落例如“开始”、“故事”、“结束”、“管理”和“重温”。这些章节或段落可以用于管理行为的优先级和覆盖范围,以便确保在合适的时间捕获这样的行为。
用户终端6a、6b、6c和6d可以在通信系统100中通过网络2来通信,由此允许用户4a、4b、4c和4d通过网络2彼此进行通信。网络2可以是具有在用户终端6a、6b、6c和6d之间提供通信信道的能力的任何网络。例如,网络2可以是互联网或诸如高数据速率移动网络之类的另一类型的网络,例如第3代(“3G”)移动网络。
用户终端6a、6b、6c或6d可以是任何类型的用户设备,例如移动电话、个人数字助理(“PDA”)、个人计算机(“PC”)(包括,例如,WindowsTM、Mac OSTM、以及LinuxTM PC)、游戏设备(Xbox)、分组房间会面设备(例如,Surface Hub)或能够连接至网络106的其他嵌入式设备。每个用户终端被布置成从一个或多个其他用户终端接收信息,并且向一个或多个其他用户终端输出信息。在一个实施例中,每个用户终端包括诸如屏幕之类的显示器以及诸如键盘、触摸屏、相机设备、和/或麦克风之类的输入设备。
用户终端6a、6b、6c和6d各自执行由与通信系统相关联的软件供应商提供的通信客户端应用。通信客户端应用是在相应的用户终端中的本地处理器上执行的软件程序。通信客户端应用执行在相应用户终端处所需的处理,以供每个用户终端通过网络2发送和接收(以视频流形式运送的)视频数据。每个用户终端连接至网络2。
通信客户端应用是使得用户4a、4b、4c和4d能够参与视频会议的视频会议应用。通信客户端应用提供了每个用户可以通过其与一个或多个其他用户共享在其用户设备上捕获(例如,由相关联的相机设备,例如在图1的7a、7b、7c、7d和9上所显示的这些)的任何视频数据的装置。通信客户端应用还提供了每个用户可以通过其在其相应的用户终端处接收由视频会议的其他参与者所捕获的视频数据的装置。
例如,诸如用户A之类的用户可以通过向诸如用户B、C和D之类的一个或多个其他用户发送请求来发起视频会议。在从用户A接受了请求之后,用户B、C和D可以各自从用户A接收视频数据,并且向已经同意参加视频会议的其他用户中的每一个发送其自己的视频数据。例如,用户B可以接收由用户A、C和D中的一个或多个所捕获的视频数据。
还可以在单个位置或者经由单个或多个设备来检测并识别人(即,用户)的分组。这对于将分组意识和覆盖范围从单个位置提高到虚拟故事化体验而言是重要的。这还确保了所有分布的人(用户)和人(用户)的分组完全参与并意识到每个人的存在。
连接至网络2的是控制服务器102,其被布置为从一个或多个用户终端(例如,用户终端6a、6b和6c)接收视频流以及确定要向其发送所接收的视频流中的一个或多个的其他用户终端(例如,用户终端6d)。控制服务器102可以在单个计算设备上实现。控制服务器102还可以操作以支持“云计算环境”下相关操作的性能,由此,多个操作中的至少一些操作可以由多个计算设备来执行。
用户终端6a、6b和6c可以与用户终端6d(在随后的示例中,其被描述为“接收终端”)相对应。用户终端6d在本地处理器上执行通信客户端,该通信客户端与在用户终端6a、6b或6c处执行的通信客户端相对应。在用户终端6d处的客户端以在用户终端6a、6b和6c处的客户端执行允许用户4a、4b和4c通过网络2进行通信所需的处理相同的方式来执行允许用户4d通过网络2进行通信所需的处理。用户终端6a、6b、6c和6d是通信系统中的端点。为了清楚起见,图1仅示出了5个用户(4a、4b、4c、4d和4e)以及4个用户终端(6a、6b、6c和6d),但是更多的用户和用户设备可以被包括在通信系统100中,并且可以使用在相应的用户设备上执行的相应的通信客户端通过通信系统100进行通信,如在本领域中已知的。
图2示出了用户终端6的详细视图,其中在用户终端6上执行通信客户端以通过通信系统100进行通信。用户终端6包括中央处理单元(“CPU”)202,其上连接有诸如屏幕或触摸屏之类的显示器204、诸如小键盘206和相机208之类的输入设备。输出音频设备210(例如,扬声器)和输入音频设备212(例如,麦克风)连接至CPU 202。诸如“Kinect”设备之类的一个或多个额外的传感器(未示出)或者诸如“Hololens”之类的混合现实设备也可以连接至CPU 202。显示器204、键盘206、相机208、输出音频设备210、以及输入音频设备212和额外的传感器可以被集成到用户终端6中,如在图2中所示出的。在可替代的用户终端中,显示器204、小键盘206、相机208、输出音频设备210、以及输入音频设备212和额外的传感器中的一个或多个可以被集成到用户终端6中且可以经由相应的接口连接至CPU 202。这样的接口的一个示例是USB接口。CPU 202连接至诸如调制解调器之类的网络接口224,以与网络106进行通信。网络接口224可以被集成到用户终端6中,如在图2中所示出的。在可替代的用户终端中,网络接口224没有被集成到用户终端102中。用户终端102还包括用于存储数据的存储器226,如在本领域中已知的。存储器226可以是诸如ROM之类的永久性存储器。存储器226可以可替代地是诸如RAM之类的瞬时性存储器。
图2还示出了在CPU 202上执行的操作系统(“OS”)214。在OS 214的顶部运行的是针对上文提及的通信客户端应用的软件栈216。软件栈示出了I/O层218、客户端引擎层220、和客户端用户界面层(“UI”)222。每一层负责具体的功能。因为每一层通常与其他两层进行通信,所以它们被认为是被布置在栈中的,如在图2中所示出的。操作系统214管理计算机的硬件资源并且处理经由网络接口224向网络2发送以及从网络2发送的数据。I/O层218包括音频和/或视频编解码器,其接收到来的经编码的流并且将它们解码以根据需要向扬声器210和/或显示器204输出,并且其从麦克风212和/或相机208接收未经编码的音频和/或视频数据并将其编码以作为流而发送至通信系统100的其他终端用户终端。客户端引擎层220处理如在上文中所讨论的VoIP系统的连接管理功能,例如通过基于服务器或P2P地址查找和认证来建立通话或其他连接。客户端引擎还可以负责没有在本文中讨论的其他辅助功能。客户端引擎层220还可以与客户端用户界面层222通信。客户端引擎层220可以被布置为控制客户端用户界面层222以经由在显示器204上显示的客户端的用户界面向用户终端200的用户呈现信息,以及经由用户界面从用户终端200接收信息。
示出了UI层222的显示模块228。显示模块228确定了通过网络(经由网络接口)接收的任何视频流在用户终端6的显示器上显示的方式。例如,显示模块可以从网络接口接收布局参数,并且使用这些参数生成或选择用于显示一个或多个或视频流的特定布局。
显示模块还可以接收与视频流自身相关的数据,例如相关联的优先级值。显示模块可以使用与视频流相关联的优先级值来确定应当在用户终端6上显示视频流的持续时间和/或视频流将在预先确定的布局中的哪里被显示。
图3示出了在图1中所示出的控制服务器102的更加详细的视图。
如在图3中可以看见的,控制服务器包括网络接口314,其用于通过通信网络2从其他用户终端接收以视频流及向其他用户终端发送视频流。
图3与图1的控制服务器相对应,其中用户A、B、C和D是视频会议的参与者。
为了准确起见,从确定用户,用户A、B、C和E中的哪一个向接收用户,用户D显示的角度描述了图3中所示出的控制服务器。尽管流s4(与用户D相关联的流)没有被示出为对控制服务器的输入,但是将理解的是,流s4还可以是对控制服务器的输入,并且控制服务器可以针对每个个体用户(即,用户A、B、C和D)确定向该用户显示其他用户中的哪个(及其相关联的视频流)。
在图3中所示出的示例中,在网络接口处分别从用户终端6a、6b和6c接收视频流s1、s2和s3(各自分别运送用户A、B和C的运动图像)。作为由选择器312(随后描述)执行的操作的结果,流s1和s2被选择并且经由网络接口被发送至用户D的用户终端6d,其在本文中更一般地被称为“接收终端”。
应当注意的是,在可替代的实施例中,可以从单个相机设备接收视频流中的两个或更多(即,在相机设备和视频流之间不一定存在一对一映射)。在这样的情况下,视频流可以由选择器以与如同其已经从分别的设备被接收相同的方式来对待。
在针对图3描述的实施例中,在控制服务器从在不同用户设备上运行的通信客户端应用的不同实例接收视频流中的至少两个。即,从具有不同网络地址(例如,不同的IP地址,或至少不同的传输地址)的不同网络端点接收视频流中的至少两个。例如,可以从不同的用户终端接收视频流中的每一个,其中不同用户终端中的每一个执行通信客户端应用的实例(如图3中所示出的流s1、s2、和s3的情况一样)。例如,不同的用户可以使用与已经登录到通信客户端应用的另一实例的另一用户不同的用户名登录到通信客户端应用中的每一个中。在任何情况下,在控制服务器处接收的视频流中的至少两个是从通信客户端应用的不同实例而不是例如从不同的但位于同一位置的相机设备(即,全部都在会议室中)接收的,其可以经由通信客户端应用的单个实例而连接至网络。
在其他情况下,可以在服务器处从相同的客户端接收流中的一些。即,客户端可以向服务器发送超过一个流,以允许服务器以相同的方式在来自相同客户端的不同流之间进行选择。
例如,单个相机可以流式传输从本地捕获的“主”视频图像导出的多个流。例如,每个流可以运送与主图像的相应部分(例如,具有不同的区域、不同的剪裁等)相对应的视频图像。
作为另一示例,多个相机输入可以经由网络从一个位置被流式传输至共享的虚拟阶段体验。如果被检测为在该单个空间中存在的人数已经增加或减少了,则可以切换故事视图优先级并且可以选择从活动的视频输入传感器的总数可获得的最宽相机视野和成帧。这提供了在该具体的远程位置中当前存在的人的总数的理想的可视意识。可以在虚拟的故事阶段环境中通过单个或多个拆分视图网格来消费该优先级宽视频视图行为。
网络接口314连接至特征检测模块308,其例如可以包括骨骼跟踪模块308和/或脸部检测模块(没有分别示出)。骨骼跟踪模块被配置为识别在网络接口处接收的视频流中的一个或多个中的一个或多个用户的骨骼。骨骼跟踪模块可以使用与微软的Kinect传感器相同的用于识别骨骼的过程。脸部检测模块被配置为检测每个视频流中的任何用户的脸。在图3中所示出的示例中,特征检测模块308接收视频流s1、s2和s3,并且确定在相应的视频流中是否存在任何用户(更确切地说,骨骼)。
在已经识别出视频流中的一个正在运送一个或多个用户的图像之后,特征检测模块308可以将关于相应的视频流中的用户的信息转发给用户数量跟踪模块318。
用户数量跟踪模块318被配置为接收该信息并且检测在一个或多个视频流的相应运动图像中检测到的用户数量方面的任何改变。为了清楚起见,在用户数量跟踪模块在单个视频流(例如,视频流s2)中检测到用户数量改变的上下文中描述以下的实施例。
用户数量跟踪模块318可以通过检测在视频流的运动图像中检测到的脸的数量的改变来检测用户数量的改变。例如,脸部跟踪模块可以被配置为检测在视频流的运动图像中存在的脸形状的对象数量,并且用户数量跟踪模块可以被配置为确定该数量何时改变,或者何时该数量将有可能改变。例如,用户数量跟踪模块318可以被配置为检测用户的脸的运动的改变,以及检测何时该运动指示用户正准备离开与其用户终端相关联的位置(或至少,由与该用户终端相关联的相机设备所检测的位置)。因此,接收用户能够在用户离开时观察到他们,而不是被呈现由于其不知道的原因而包含更少用户的视频流。
在实时事件期间,将现场活动保持为优先是有价值的。应当将对过去活动的重播限制为在事件真实开始时开始的持续时间定时器。因此确保了在同步事件期间,该故事不创建会打断分组体验的连续性的现实的延迟抽象。
就该方面而言,要注意的是术语“检测运动图像中用户总数的改变”包含预先的检测,即对指示用户总数的改变可能即将发生的一个或多个事件(例如,用户起立)的检测。
在一些实施例中,用户数量跟踪模块318可以被限制为检测已知的(即,经识别的)脸的数量的改变。例如,脸部跟踪模块可以被配置为确定在所接收的视频流中识别的脸是否与一个或多个已知用户相对应。例如,这可以通过以下方式来执行:识别一个或多个检测到的用户的一个或多个脸部特征,以及将这些与例如在控制服务器(未示出)上在存储器的数据库中存储的已知用户的脸部特征进行比较。接着,用户数量跟踪模块可以用于确定检测到的脸的任何改变是否与已知脸的数量的增加或减少相对应。该实施例对于确定重要人物何时不再出现在参与视频会议的视频终端上(这进而可能影响与对应的视频流相关联的优先级值)可以是有用的。
在可替代的实施例中,用户数量跟踪模块318可以通过检测在视频流的运动图像中检测到的骨骼的数量改变来检测用户数量改变。例如,由于特征检测模块的骨骼跟踪模块可以被配置为检测在视频流的运动图像中出现的骨骼数量,而用户数量跟踪模块可以被配置为确定该数量何时改变,或者该数量何时将有可能改变。例如,用户数量跟踪模块318可以被配置为确定用户骨骼的运动何时暗示了用户要离开与用户终端相关联的位置(或至少由相关联的相机设备所捕获的位置)。
在另外的可替代的实施例中,用户数量跟踪模块318可以基于整个身体3d运动捕获、脸部检测、和声音识别的组合来检测在特定位置(与用户终端相关联)处的三维的运动用户数量的改变。例如,用户数量跟踪模块可以被配置为从相机、一个或多个深度传感器、和多阵列麦克风212(它们与向控制服务器发送视频流的用户终端中的一个相关联)接收数据。接着,用户数量跟踪模块可以确定该数据的任何改变是否与在向控制服务器发送视频流的用户终端相关联的位置上存在的用户数量的改变或潜在改变相对应。
如果用户数量跟踪模块检测到在视频流的运动图像中检测到用户数量存在改变,则用户数量跟踪模块可以向选择器312提供已经检测到用户数量改变的指示(在本文中被称为用户计数指示符)。用户计数指示符可以提供已经检测到用户数量改变的指示——例如指示已经进入或离开特定视频流的视频图像的用户数量的数值。
选择器312被配置为接收在网络接口314处接收的多个视频流中的每个,以及确定使得这些中的哪一个在一个或多个用户终端处被显示。在图3的示例中,选择器312被配置为确定使得视频流s1、s2和s3中的哪一个被显示为用户D的用户终端(即,接收终端)。
选择器312还被配置为从用户数量跟踪模块接收用户计数指示符。用户计数指示符使得选择器312能够确定选择并使得多个接收的视频流中哪一个被显示在特定用户的用户终端上(在该示例中,用户D的用户终端6d)。
用户计数指示符还使得选择器312能够确定与所检测到的用户的所检测到的数量改变相关联的一个或多个视频流应当在特定接收终端(再一次,在该示例中,用户D的用户终端6d)处被显示的时间间隔。
例如,选择器312可以使用用户计数指示符来查询数据库的条目,其中,所检测到的用户数量的每个可能的改变被映射至预先确定的时间间隔。在图4中示出了这样的数据库的条目(稍后讨论)。
可替代地,选择器312可以根据需要及当需要时使用用户计数指示符来确定时间间隔。即,时间间隔可以是所检测到的用户数量的改变的函数,且选择器可以基于用户计数指示符来计算时间间隔。例如,选择器可以确定时间间隔,以使得所检测到的用户数量改变越大,要在接收终端处显示相关联的视频流的时间间隔越长。
在一些实施例中,加标记的位置或设备可以默认没有进入/离开检测(即,没有对所检测到的用户数量改变的检测),而“焦点位置”可以允许该检测发生。该特征对于“广播或演示”体验可以是有价值的,其中,例如,使得消费广播或演示的一个或多个远程观众的观众进入/离开活动降级(例如,分配较低优先级)可以是令人满意的。进行演示的用户的观点可以具有与观众不同的进入/离开活动优先级,以使得进行演示的用户对一个或多个远程观众的进入/离开活动具有更多意识,而每个远程观众对其他远程观众的进入/离开活动具有更少意识。通过在通信客户端应用的“设置”菜单中配置其用户设置,用户可以将设备或特定位置标记为没有进入/离开检测或者是“焦点位置”。
在另外的实施例中,控制服务器(例如,用户数量跟踪模块318)可以对用户的进入和离开添加标记,以用于该事件的后期制作或分享。例如,参与者可以想要在实时事件之后重新访问该活动或会议。进入/离开活动可以用于理解谁在具体时刻被牵涉进具体活动。在某些实施例中,用户的参加/离开活动的覆盖范围可能受到限制,其中例如,在少量时间内多次检测到所检测到的用户数量的改变(在本文中被称为“大规模”活动)。针对与这样的活动相对应的视频流,选择器可以选择默认的“大规模加入、大规模离开、或大规模加入/离开”时间间隔以显示视频流。这可以允许持久地显示视频流——即,比与用户数量的第一个检测到的改变相关联的时间间隔更长。可替代地,响应于检测到“大规模”活动,选择器可以使得相关联的视频流不在接收终端处被显示。视频流被显示还是被隐藏可以取决于视频会议的参与者参与的会面的类型(例如,演示/发言者或协作)。
在对帧中的大规模视觉活动的检测期间,可以使用定时器来扩展或保持检测持续时间直到活动平静下来。这避免视频切换变得太活跃并将用户的注意力保持在该动作上。这类似于参与者大规模活动检测,其中,在检测到大规模活动时,将活动分组到一个转换而不是一系列的转换中,以支持流畅且自然的视图和视频的故事化序列。
选择器312还可以使用用户计数指示符来确定与视频流相关联的优先级,在该视频流中检测到所检测到的用户数量的改变。例如,在其中检测到所检测到的用户数量的改变的视频流可以被认为比其他视频流更值得显示。例如,与非说话或相对静止的用户相关联的视频流可以与比针对其已经检测到相关联的用户数量改变的视频流更低的优先级相关联。一旦已经经过了确定的时间间隔(上文描述的),则可以将优先级值重置为新的值。
在多个视频流中检测到所检测到的用户数量的改变但是在特定的接收终端只能显示有限数量的视频流的情况下,选择器312可以使用与视频流中的每个相关联的优先级值来确定选择视频流中的哪一个在接收终端处显示。与在其中检测到所检测到的用户数量的较小改变的视频流相比,可以向在其中已经检测到所检测到的用户数量的较大改变的视频流分配更高的优先级值。这可以确保不优先于其中可能正在发生所检测到的用户数量的更大改变的其他视频流而显示与所检测到的用户数量的小但是常规的改变相关联的视频流。
用户定义的优先级视图还可以影响传感器优先级顺序。例如,当安装者在设置房间时,管理员可以将房间相机的前面分配为针对该空间的主视图,以允许所有其他设备传感器被检测或得到检测作为针对故事视图的替代的视图选项。当增加或减少的用户检测被定义为覆盖更广的视图时,可以将替代的视图升级成优先视图。
优先级值还可以确定所选择的视频流相对于也被选择用于在接收终端处显示的任何其他视频流被显示的方式(即,相对位置和大小)。
选择器312可以已经将网格布局的选集存储在存储器中,并且选择器312可以选择特定的网格布局以显示一个或多个所选择的视频流。由选择器312选择的网格可以取决于选择器312已经选择用于在特定用户终端处显示的视频流的数量。
故事连续性将在会面期间对针对特定位置分配一个故事网格区域设置优先级,如果其存在于该网格中,则这允许宽视图优先级替换来自该位置的当前视图,相比于默认地填充另一网格。这也影响连续性,因为当在针对进行消费的参与者在阶段网格中按顺序排列时,共同的位置馈送可以被集中到单个故事化帧视图中(即,即使网格自身被更新,与同一用户位置相关联的视频流也可以在网格中的相同的、或相似的位置上被显示)。在房间到房间共享体验或房间到观众广播期间,跨多帧网格分布的多相机视图对于消费更有意义,这是因为进行消费的参与者将来自单个位置的所有视图进行关联。
选择器312还可以使用与所选择的视频流相关联的优先级(例如,基于所检测到的用户的所检测到的数量的改变)来确定视频流要在所选择的网格布局中的哪里被显示。在图9中示出了可能的网格布局的一些示例。例如,网格布局902可以用于显示单个视频流,网格布局904可以用于同时显示两个视频流,网格布局906可以用于同时显示三个视频流,而网格布局908用于同时显示四个视频流。尽管在图9中仅示出了4个网格布局,但是将理解的是,可以选择网格布局以便显示任何数量的视频流。例如,可以选择包括5个或更多个单元的网格布局以显示四个所选择的视频流。尽管在图9中示出的网格布局全都被示出为具有矩形单元,但每个网格的单元可以具有任何形状且不被约束成全都具有相同的形状。
为了在接收终端处显示的不同视频流之间的更大的故事连续性和流畅的转换,选择器可以被配置为确保存在所选择的网格布局的单元可以被更新的受限的持续时间(即,在网格的该单元处,可以选择新的视频流以供显示)。
例如,在一个实施例中,选择器可以确保一次仅改变所选择的网格的一个单元——即,在第二个时间间隔期间,不在网格的其他单元中的任何一个上显示新的视频流。
可替代地,在第二实施例中,选择器可以确保存在可以更新所选择的网格布局的多个单元的受限的持续时间(即,以显示在其中检测到用户数量改变的视频流)。例如,在例如选择了第一视频流之后,如果这些在经过该受限的持续时间之前可以被更新,则选择器可以仅允许所选择的网格的其他单元被更新。
这些实施例确保了在所指定的持续时间内发生的视频网格视图更新的最小量,由此使得用户尽可能容易地跟上在“故事化的体验视图”中的用户活动。
可以利用对进入/离开事件的延迟回放的允许来传送最清楚的故事体验。在该情况下,如果在视频上捕获到一个人走出房间,则延迟回放可以示出实际的离开画面回放之后是实时的空房间,由此向远程参与者给予了对事件的最大的直观感知。
可以以布局参数的形式向接收用户终端(例如,终端6d)指示所选择的网格和网格中所选择视频流中的每一个的定位,如在图3中示出的。接收用户终端可以解译布局参数以便在所选择的网格中在其相应的位置处显示所选择视频流中的每一个。在下文描述了三种类型的时间间隔(即,持续时间)。
短持续时间:
附加到非言语事件的一组持续时间。短将被设置为具体持续时间(示例:1.5秒)。允许分配了优先级的视频到进行消费的参与者的视频故事中的优先级栈,但不打断活动的发言音频信号。活动的发言音频信号将保持不变。短将被分配至添加了意识但是在扩展的活动处不必要的参与者活动。包括反应特写镜头:笑、点头、摇头、挥手、用手指…)。
中等持续时间:
附加到非言语事件的一组持续时间。中等将被设置为具体持续时间(示例:2.5秒)。允许分配了优先级的视频到进行消费的参与者的视频故事中的优先级栈,但不打断活动的发言音频信号。活动的发言音频信号将保持不变。中等将被分配至诸如房间中身体位置的改变之类的被认为对分组活动意识是重要的具体活动。或者检测到房间中的新的身体或人(站、坐、走入、离开一位置)。
扩展的持续时间:
针对主要活动参与者的一组持续时间。该持续时间主要被分配至活动的发言者。给予活动的发言者主要故事优先级,除非被短持续时间故事视图中断或由于缺少发言而被贬值。其示例是如果故事视图是在单个网格视图中且是活动的发言者的边到边视频。当触发短或中等持续时间优先级视频以替换活动的发言者视频(但不是活动的视频)时,一旦受限的持续时间视频已经超时,则其被先前在该位置处填充的连续的活动发言者视频视图替代。可替代地,如果检测到“大规模”活动,则其中在较短的时间量中检测到多个触发(例如,在较短的时间量中检测到的用户数量的多次改变),则这将延长优先级视图以避免多个视图从堆栈顺序地切换。这确保了用户不会由于多次视图切换而不知所措,所述视图切换否则在每次例如检测到用户的新数量时会发生。
为了更大的故事连续性和人们流畅的参与体验,相机视图网格更新被填充为在一组持续时间中的单个或分组,而无论其来自单个位置的还是多个位置。这是为了确保视频回放尽可能流畅和无噪声。这也是为了确保在指定的持续时间内发生最少量的视频网格视图更新,由此允许故事体验变得吸引人并且容易跟上所述动作。
持久持续时间:
针对主要活动参与者的一组持续时间。该持续时间主要被分配给不允许中断视频视图的用户固定或视图类型。因此,持续时间是连续的直到用户重新分配视图或会议结束为止。
非言语通信持续时间优先级度量用于:针对故事视频优先级度量的身体、手臂、手、手势、头、脸和眼睛运动检测。持续时间优先级度量结合回放持续时间库进行工作:短、中等、优先级、和扩展的规范。也由对最近的活动、参与者联合、或用户偏好排名的栈来指定故事网格位置优先级。
返回在图3中示出的示例,选择器312可以接收在流s1和s2中检测到所检测到的用户数量的改变的指示,并且基于此,选择流s1和s2以用于发送至用户4d的用户终端。选择器312例如可以选择图9中示出的网格布局904,并且将对应的布局参数转发至接收终端。响应于接收到布局参数,接收终端可以接着渲染两个视频流,以使得在网格的第一位置(例如,该网格的左手单元)处显示第一个视频流,并且在网格的第二位置(例如,该网格的右手单元)处显示第二视频流s2。在一些实施例中,如果例如要在接收终端处显示的视频流的数量没有改变(如稍后关于图7A和7B所描述的),则可以不一定要将所有布局参数发送至接收终端。
可替代地,用户计数指示符可以指示仅在流s2中检测到的所检测到的用户数量的改变。例如,与用户B的终端6b相关联的相机7b可以已经检测到另一用户,用户E,已经进入或离开与用户B的用户终端相关联的位置。基于此,选择器312可以通过向用户D继续发送流s1(其在检测到来自用户4B的反应之前,在用户4d的用户终端6d处被显示)以及还发送流s2来确定增加在用户4d的用户终端处显示的视频流的数量。因此,除了可能例如是发言用户的用户A的视频之外,用户D还能够看见在用户B的位置处已经存在用户数量的改变。控制服务器可以发送针对网格布局904的布局参数,而不是针对902的布局参数,其先前用于显示用户A的视频流(如稍后关于图6A和6C所描述的)。
图4B示出了可以由控制服务器使用以基于在视频流的运动图像中检测到的用户数量的改变来确定与视频流相关联的优先级的数据库的高级表示。
如在图4B中可以看见的,数据库的第一列402B可以包含针对在视频流的运动图像中检测到的用户数量的每个可能改变的条目。例如,D1可以对应于以+1改变的所检测到的用户的数量,D2可以对应于以+2改变的所检测到的用户的数量,D3可以对应于以+3改变的所检测到的用户的数量,D4可以对应于以+4改变的所检测到的用户的数量,D5可以对应于以+5改变的所检测到的用户的数量,以此类推。针对所检测到的用户数量的改变的条目还可以包括负数值,例如,可以存在针对所检测到的用户的数量的负数改变(-1、-2、-3、-4、-5等)的分别的条目。可替代地,可以存在针对用户数量的每个可能改变的条目,而不管其是所检测到的用户数量的正数改变还是负数改变(例如,针对+/1、+/-2、+/-3、+/-4、+/-5等的条目)。
数据库的第二列404B可以包含针对与所检测到的用户数量的每个可能改变相关联的优先级的条目。例如,D1可以具有优先级值P1,其值比与D2相关联的优先级值P2更高或更低。优先级值可以用于确定视频流相对彼此被显示的方式。例如,相比于与较低优先级值(例如,所检测到的用户数量的较小改变)相关联的视频流,可以更突出地显示与较高优先级值(例如,被检测用数量的较大改变)相关联的视频流。可以使用优先级值例如来确定所选择的视频流占用网格布局的哪些单元(例如在图9中所示出的那些)。
优先级还可以用于限制选择用于在接收终端处显示的视频流的数量——例如,如果在多个视频流中检测到所检测到的用户数量的改变但在特定的接收终端处仅能够(有效地)显示受限数量的视频流,则可以使用优先级值来确定要选择这些视频流中哪些来进行显示。
将理解的是,尽管针对所检测到的用户数量的每个改变示出了个体的优先级值(即,D1、D2、D3等),但所检测到的改变中的一个或多个可以共享相同的优先级值并根据该优先级值被分组。例如,针对等于或大于5的所检测到的用户数量的改变,可以存在单个优先级值。可替代地,所检测到的用户数量的每个改变(即,D1、D2、D3等)可以与相同的优先级值相关联(其进而可以确保针对相同的时间间隔检测每个改变——下文描述的)。例如,如果在相对短的时间段上检测到所检测到的用户数量的大量改变,则可以选择优先级值以便确保向与这些改变相关联的视频流分配了单个优先级值(而不是新的值,每一次所检测到的用户的数量增加或减小时)。
数据库的第三列406B可以包含针对与所检测到的用户数量的每个改变相关联的时间间隔的条目,即,针对其与该改变相关联的视频流在接收终端上应当被显示的时间间隔。所检测到的用户数量的不同改变可以与不同的时间间隔相关联。例如,所检测到的用户数量的较大改变可以与比所检测到的用户数量的较小改变更大的时间间隔相关联。控制服务器可以使用该时间间隔来确定何时停止向特定的接收终端发送与所检测到的用户的数量改变相关联的视频流。
将理解的是,虽然针对所检测到的用户数量的每一相应改变的优先级和时间间隔示出了单独的列,但是这两个参数实际上可以是相关的(即,彼此可导出)。
例如,与所检测到的用户的数量改变关联的优先级值可以用于确定针对其应当显示相应视频流(更确切地说,运动图像)的时间间隔。较高的优先级值可能引起较长时间间隔的确定。可替代地,较低的优先级值可能引起较长时间间隔的确定。
最终,可以使用优先级值和时间间隔之间的任何关系。该关系可以允许针对所检测到的用户数量的每个所检测到的改变而“实时(on the fly)”确定时间间隔。即,数据库可以仅包含针对优先级值的条目,并且当检测到改变时,这些条目可以用于确定针对所检测到的用户数量的改变的时间间隔,而不是将针对所检测到的用户的数量的每个可能改变的时间间隔存储在数据库中。
数据库的一个或多个其他列408B可以包含涉及其他参数的条目。例如,这些参数可以与所检测到的用户的数量的不同改变的分组有关。
图5B示出了在控制服务器处执行的方法的流程图,该方法用于基于在视频流的运动图像中检测到存在用户数量的改变而确定何时选择视频流以用于在接收终端(例如,用户D的用户终端)处显示。
应当注意的是,尽管图5B仅示出了用于确定是否选择单个视频流以用于在接收终端处显示的方法,但是控制服务器可以例如并行地执行所描述方法的多个实例,以便确定是否应当选择多个视频流以用于在接收终端处显示。
在步骤S502处,在控制服务器处(即,在控制服务器的网络接口处)接收多个视频流。例如,可以从与用户A、B和C相关联的用户终端接收这些视频流。可替代地,可以从与用户A、B和C中的两个或更多个相关联的单个相机设备接收这些视频流中的两个或更多个。
在步骤S504处,控制服务器选择所接收的视频流的子集以用于在接收终端处显示。控制服务器使得这些视频流在接收终端处被显示,即,通过将它们与任何相关联的布局参数一起发送至接收终端。
在步骤S506处,控制服务器识别当前没有在接收终端处显示的视频流(在本文中被称为“所识别的视频流”)。例如,在控制服务器处所接收的视频流中的每个可以包括对其当前是否在接收终端处被显示的指示。控制服务器可以使用这些指示来识别当前没有在接收终端处被显示的视频流。
可替代地,控制服务器内的分别的模块(在图3中未示出)可以跟踪先前选择以用于在接收终端处显示的视频流。该信息可以由控制服务器使用以识别当前没有在接收终端处被显示的视频流。
在步骤S508处,控制服务器识别在所识别视频流中所识别的一个或多个用户的一个或多个特征。如较早前针对图3所记载的,特征检测模块308可以通过将合适的骨骼和/或脸部跟踪算法分别应用至运动图像来例如基于骨骼和/或脸部跟踪检测在所识别的视频流中存在的用户。
在步骤S510B处,控制服务器监视在所识别的视频流中所检测到的用户数量,例如,基于由特征跟踪模块所检测到的脸或骨骼的数量。
在步骤S512B处,控制服务器检测在所识别的视频流中所检测到的用户数量的改变,例如,基于由用户数量跟踪模块所检测到的骨骼或脸的数量的改变。如较早前记载的,检测用户数量的改变可以包括确定用户数量的改变可能要发生(例如,基于用户的骨骼或脸的运动)。
在步骤S514处,控制服务器确定是否使得在接收终端处显示所识别的视频流。如果控制服务器确定所识别的视频流不应当在接收终端处被显示(通过图5中的“否”指示),则控制服务器继续监视在所识别的视频流中所检测到的用户的数量。
控制服务器可以例如确定与所检测到的用户数量的所检测到的改变相关联的优先级值并且确定该值是否高于针对第二视频流所确定的优先级值,在该第二视频流中也检测到所检测到的用户数量的改变。如果针对第一视频流所确定的优先级值低于针对第二视频流所确定的优先级值,则控制服务器可以确定第一视频流(即,所识别的视频流)不应当在接收终端处被显示。如果在显示在其中检测到用户数量的改变的视频流的同时检测到新的发言用户的音频,则控制服务器可以确保一旦经过了第二时间间隔,则选择与新的发言用户相关联的视频流以用于在接收终端处显示(并使得其被显示)。
如果控制服务器确定所识别的视频流应当在接收终端处被显示(通过图5中的“是”指示),则控制服务器选择视频流以用于在接收终端处显示。
在步骤S516处,控制服务器确定所选择的视频流应当被显示的时间间隔以及为了定义所选择的视频流将在接收终端处被显示的方式所需要的任何布局参数(例如,相对于已经被选择用于在接收终端处显示的任何其他视频流)。
在一个实施例中,可以例如从与所检测到的用户的数量的所检测到的改变相关联的优先级导出与所选择的视频流相关联的时间间隔。如先前针对图3所记载的,所检测到的用户数量的每个可能的改变可以与一优先级相关联,并且该优先级可以确定所选择的视频流在接收终端处在哪里被显示以及被显示多长时间。
在步骤S518处,控制服务器将所选择的视频流与任何相关联的布局参数一起发送至接收终端。如先前记载的,由接收终端使用所述布局参数来确定要显示所选择的视频流的方式。
在步骤S520处,控制服务器检测到已经经过了与所选择的视频流相关联的时间间隔并且停止发送所选择的视频流。响应于经过所述时间间隔,控制服务器可以将新的布局数据发送至接收终端,由此确保不向不再从控制服务器发送至接收终端的视频流分配屏幕空间。图6A示出了可以在视频会议期间、在第一时间间隔期间、在用户D的用户终端的显示器上显示的用户(用户604A)的运动图像的示例。
图6A示出了可以用于向接收用户例如用户D显示用户604的运动图像的示例显示窗口602A。基于例如对用户发言的最近检测或者用户已经发起了视频会议,用户604可以已经被确定为是重要的。该用户在本文中被称为具有相关联的“主要视频流”的“主要用户”。在该特定示例中,用户604可以与例如图1中的用户A相对应。
在分别的用户终端处,第二用户(例如用户B)可以从用户A接收主要视频流。第二用户还可以正在捕获其自身的视频数据(即,其自己)并且将该视频数据发送至控制服务器。
在第一时间间隔期间,控制服务器可以确定在与第二用户的用户终端(例如,用户B)相关联的位置处所检测到的用户数量已经存在改变。例如,控制服务器可以检测到第三用户(用户E)已经在从用户B的用户终端接收的运动图像中出现(其先前仅包含用户B的运动图像)。响应于检测到用户数量的该改变,控制服务器可以选择运送用户B和E的图像的视频流以在接收用户的用户终端(接收终端)上显示。
在图6C中示出了示例性的实施例,其中,已经用用户610(例如,用户E)和608(例如,用户B)的运动图像替代了主要用户604(例如,用户A)的运动图像。如先前所记载的,将用户608和610的运动图像显示预先确定的时间间隔(第二时间间隔)。控制服务器可以确保在该时间间隔的持续时间内不向用户D发送主要视频流。在图6C中,在显示窗口602C中显示用户608和610的视频图像。
控制服务器还可以确保仍然向用户D发送与主要用户相关联的任何音频(即,所检测到的发言)。即,控制服务器可以分别地对待每个用户(例如,用户A、B、和C)的视频和音频流,并且仅确定要选择视频流(而不是音频流)中的哪个以用于显示用户D的用户终端。因此,用户D能够继续收听主要用户的发言,同时还当其改变时观看在给定用户终端处的用户数量的任何改变。
在可替代的实施例中,响应于确定第三用户(例如,用户E)已经进入或离开与第二用户(例如,用户B)相关联的位置,控制服务器可以继续将主要视频流发送至用户D的用户终端,并且还选择与第二用户和第三用户相关联的视频流以发送至用户D的用户终端。这还可以包括将新的布局参数发送至用户D的用户终端6d——即确保这两个视频流使用网格布局904(图9)同时显示的布局参数。
这在图6E中被示出,其中,在显示窗口602E中同时示出了彼此邻接的主要(用户604)以及第二和第三用户(用户608和610)的视频流两者。在该特定的实施例中,用户D能够查看主要用户(其可以是例如发言的用户)以及用户E到达(或离开)用户B的位置两者。
图7A示出了可替代的实施例,其中在视频会议期间、在第一时间间隔期间、在接收终端的显示器上显示了两个主要用户,用户704和用户706。例如,这可能发生在两个主要用户都被确定为同等重要的情况下(例如,针对这两个用户最近都检测到了音频数据)。可替代地,这可以是针对在具有两个其他用户的视频会议中(如在图1中所示出的)的接收用户的默认设置。用户704可以与例如用户A相对应,而用户706可以与例如用户C相对应。
再一次,在第一时间间隔期间,控制服务器可以检测到在所接收的视频流的运动图像中所检测到的用户数量的改变。例如,控制服务器可以检测到用户710(例如,用户E)已经出现在先前运送了仅用户B的运动图像的视频流中。响应于检测到该用户数量的该改变,控制服务器可以选择对应的视频流以用于在接收终端处显示。
在该特定的实施例中,控制服务器可以使得显示第二主要用户(用户706)的视频流中的一个被与在其中检测到用户数量的改变的视频图像相关联的视频流替代。控制服务器可以确定与主要用户相关联的视频流中的每个的相对优先级(例如,基于两个主要用户中哪一个最近发言了),并且基于此,选择具有最高优先级的视频流以用于在接收终端处显示。
接着,控制服务器可以继续向接收终端发送与最高优先级相关联的视频流,并且还向接收终端发送与所检测到用户数量的改变相关联的视频流。这可以涉及向接收终端发送新的布局数据,以使得响应于接收到新的布局数据,所述接收终端在接收终端处以特定布置显示第一主要用户(用户704)、以及用户710和712的视频流。
在图7C中示出了这样的布置,其中,主要用户706的运动图像已经被用户710和712(再一次,其可以对应于用户B或E)的运动图像所替代。再一次,在预先确定的时间间隔(第二时间间隔)内显示用户710和712的运动图像,其可以独立于主要用户(用户704)在接收终端处被显示的时间间隔。在图7C中,在显示窗口702C中显示用户704、710和712的视频图像。
图8A示出了可替代的实施例,其中,在接收终端的显示器上显示三个主要用户,用户804(例如,用户A)、用户806(例如,用户F)、和用户808(例如,用户C)。在该实施例中,第三主要用户808的运动图像被用户812和814(例如,用户B和E)所替代,如在图8C中所示出的。如关于图7A和7B所描述的,视频流中的每个可以与优先级值相关联,并且该优先级值可以取决于相应视频流的运动图像是否与在其中已经检测到用户数量的改变的运动图像相对应。
其中已经检测到所检测到的用户数量的改变的视频流可以与比在其中尚未检测到具体用户活动(例如,没有发言或运动)的视频流更高的优先级值相关联。具有更高优先级值的运动图像可以占用接收终端的显示器的较大部分,例如在图8A中由用户804所占用的部分。
在图8C的示例中,与用户812和814(例如,用户B和E)相关联的视频流具有足够高的优先级以替代诸如用户808(例如,用户C)之类的非活动用户的视频,但是不具有足够高的优先级以替代诸如用户804(例如,用户A)之类的发言用户的视频。
将理解的是,尽管在用其中已经检测到用户数量的改变的视频流来替代三个主要视频流中的一个的上下文中描述了图8A和8C,但是可以用其中已经检测到用户数量的改变的视频流来替代三个主要视频流中的任何数量个(取决于视频会议中参与者的数量,以及其中已经检测到用户数量的改变的流的数量等)。
还将理解的是,如果控制服务器使得在接收终端处显示的视频流的数量增加,则除了与一个或多个主要用户相关联的视频流之外,可以显示其中已经检测到用户数量的改变的运动图像中的任何数量个。
例如,如果在第一窗口602A中显示主要用户,并且在两个其他视频流的运动图像中检测到用户数量的改变,则可以更新第一窗口602A以便显示主要发言者的视频流,以及其中检测到用户数量的改变的两个其他视频流。这可以涉及将新的布局参数从控制服务器发送至接收终端,例如,使得视频流能够使用网格布局906而不是网格布局902(图9)被显示的布局参数。
例如,可以利用类似于在图8C中示出的窗口802C的窗口来替代窗口602A,其中,每个视频流的运动图像(其中检测到用户数量的改变)被显示在用于生成显示窗口802C的网格布局的两个较小的部分的一个中。取决于针对每个视频流用户数量的所检测到的改变有多相似或有多不同,这两个视频流可以在相同或不同的时间间隔内被显示。
在可替代的实施例中,控制服务器可以增加在接收终端处显示的视频流的数量,以使得示出两个主要用户的显示窗口(例如,在图7A中示出的显示窗口)被更新,以便除了两个主要用户的视频流之外,还显示与所检测到的用户数量的改变相关联的视频流(例如,在图8C中示出的显示窗口)。
除了上文所描述的技术之外,签名身体运动和/或手势可以触发视频阶段序列和帧的相机视野改变。当导演或摄影师在拍摄地进行拍摄时,示例手势可以是朝外的手部运动以及成框的手指框架手势的组合。或者取决于活动和活动体验的上下文,可以是单手“开花”手势。可替代地或除此之外,诸如“Skype,宽视野”之类的声音短语可以触发要向特定用户显示的与语音输入相关联的某个流。可以提供语音或手势输入,以使得用户自身、或在通话中的其他用户中的一个允许用户在一些情况下明确地控制故事视图如何为了其自身的利益、或者为了其他用户的利益而发展。
在上文描述的实施例中,已经关于检测到在视频流的运动图像中存在的用户数量的改变描述了视觉内容的改变。然而,可替代地或额外地,可以基于对用户已经执行了预期的运动的识别来检测视觉内容的改变。下文描述了本实施例及其改变。应当注意的是,在该实施例中,使用与先前关于图1和2所描述的相同的通信系统100和用户终端6。因此,接下来关于图3在下文中描述了该实施例。
返回图3,还示出了具有连接至特征检测模块308的输入和连接至选择器312的输出的特征跟踪模块。
在已经识别出视频流中的一个正在运送用户的图像之后,特征检测模块308的骨骼跟踪模块可以将关于在对应的视频流中所检测到的用户的信息转发至特征跟踪模块310。该信息可以包括对在运动图像内在哪里识别出用户的“骨骼”的指示,例如,与用户身体上的预先确定的点相对应,例如,与已知的骨骼点相对应。任一方式,这都允许特征跟踪模块310识别运动图像中的特定的人类特征。例如,所识别的用户的“骨骼”可以提供根据其特征跟踪模块可以识别并跟踪一个或多个人类特征的运动的参考。可替代地或额外地,脸部检测模块可以向特征跟踪模块310提供关于所检测到的脸的信息,这允许特征跟踪模块310跟踪对应的脸部特征。
人类特征可以包括,例如,用户的手臂、手、和/或脸。人类特征还可以包括诸如用户的眼睛、嘴巴、和鼻子之类的更加具体的人类特征。通过随着时间的推移跟踪这些特征的运动,特征跟踪模块310能够检测并在所识别的用户具有的不同类型的反应之间进行区分。例如,特征跟踪模块310能够识别用户反应,例如:微笑、大笑、皱眉、喘气、点头、摇头、握手、挥手、用手指、拍手、竖起大拇指、升高或降低其手臂、利用紧握的拳头庆祝等。
特征跟踪模块310可以通过将所识别出的一个或多个人类特征的运动与存储对应的人类特征的预先确定的(即,预期的)运动的数据库304的条目进行比较来识别用户的反应。预期的运动304的数据库可以被存储在控制服务器的存储器302中。
例如,可以通过描述一个或多个人类特征的运动的一组参数来定义每个预期的运动。特征跟踪模块310可以确定描述所识别的用户的一个或多个人类特征的运动的参数,并且将这些与描述已知的(即,预期的)运动的参数进行比较,以确定用户是否执行了预期的运动。
如果特征跟踪模块310确定所识别的用户的一个或多个人类特征的运动与数据库304中的预期的运动中的一个相对应,则特征跟踪模块310可以向选择器312提供已经检测到预期的运动的指示。
选择器312被配置为接收在网络接口314处接收多个视频流中的每一个,以及确定使得这些中的哪一个在一个或多个用户终端处被显示。在图3的示例中,选择器312被配置为确定使得视频流s1、s2和s3中的哪一个在用户D的用户终端(即,接收终端)处被显示。
选择器312还被配置为从特征跟踪模块310接收对在选择器312处接收的视频流中的任何一个中已经检测到的任何预期运动(即,反应)的指示。该指示在本文中被称为“反应指示符”。
反应指示符可以通知选择器312关于在选择器312处接收的视频流中的一个或多个中所识别的任何反应”(即,预期的运动)。这使得选择器312能够确定要选择多个所接收的视频流中的哪一个以用于在特定用户的用户终端(在该示例中,用户D的用户终端6d)处显示。
反应指示符还使得选择器312能够确定与该反应相关联的视频流应当在特定的接收终端(再一次,在该示例中,用户D的用户终端6d)处被显示的时间间隔。例如,选择器312可以使用反应指示符来查询存储预先确定的反应的列表的数据库的条目以及应当在接收终端处显示这些反应的时间间隔。在图4A中示出了这样的数据库的条目(稍后讨论)。
选择器312可以例如使用与所识别的反应相关联的时间间隔来确定应当向特定的接收终端(例如,用户D的用户终端6d)发送所选择的视频流的持续时间。
选择器312还可以使用反应指示符来确定与所识别的反应相关联的优先级。例如,某些反应可以被认为比其他反应更值得显示,并且这可以以相关联的优先级值来指示(即,优先级值越高,相关联的视频流就越有可能被选择用于显示)。
在多个视频流中检测到反应但是在特定的接收终端处仅可以显示受限数量的视频流的情形下,选择器312可以使用与所检测到的反应中的每个相关联的优先级值来确定选择相关联的视频流中的哪一个以在接收终端处显示。
优先级值还可以确定所选择的视频流相对于也被选择用于在接收终端处显示的任何其他视频流被显示的方式(即,相对位置和大小)。
在已经确定了要在接收终端(例如,用户D)处显示多个视频流中哪一个之后,选择器312还可以选择特定的布局以用于显示一个或多个所选择的视频流(图3中的流s1和s2)。
选择器312可以已经在存储器中存储了网格布局的选集,选择器312可以选择特定的网格布局以用于显示一个或多个所选择的视频流。由选择器312选择的网格可以取决于选择器312已经选择用于在特定的用户终端处显示的视频流的数量。选择器312可以已经在存储器中存储了网格布局的选集,并且选择器312可以选择特定的网格布局以用于显示一个或多个所选择的视频流。由选择器312选择的网格可以取决于选择器312已经选择用于在特定的用户终端处显示的视频流的数量。所选择的视频流的运动图像可能需要被剪裁以便在网格中的特定位置处显示。例如,一个或多个运动图像可以被剪裁以便显示最重要的信息。取决于所检测到的预期的运动和所选择的网格布局,可以根据紧凑、中等、或宽视野来剪裁运动图像。
选择器312还可以使用与在所选择的视频流中识别的反应相关联(例如,基于是否检测到进行反应或发言的用户)的优先级来确定要在所选择的网格布局内在哪里显示视频流。在图9中示出了可能的网格布局中的一些示例。例如,网格布局902可以用于显示单个视频流,网格布局904可以用于同时显示两个视频流,而网格布局906可以用于同时显示三个视频流。尽管仅在图9中示出了三个网格布局,但是将理解的是,可以选择网格布局以便显示任何数量的视频流。例如,包括四个单元的网格布局可以被选择用于显示四个所选择的视频流。尽管在图9中示出的网格布局全都用矩形单元示出,但是每个网格的单元可以具有任何形状且并且不被约束为全部都具有相同的形状。
为了更大的故事连续性以及在接收终端处显示的不同视频流之间的流畅转换,选择器可以被配置为确保存在其间可以更新所选择的网格布局的单元的受限的持续时间(即,可以选择新的视频流以用于在网格的该单元处显示)。
例如,在一个实施例中,选择器可以确保一次仅改变所选择网格的一个单元——即,在第二个时间间隔期间,在网格的任何一个其他单元上不显示新的视频流。
可替代地,在第二实施例中,选择器可以确保存在其中可以更新所选择的网格布局的多个单元的受限的持续时间(即,以显示在其中检测到用户数量的改变的视频流)。例如,在例如选择了第一视频流之后,选择器可以在这些在经过该受限的持续时间之前可以被更新的情况下仅允许更新所选择的网格的其他单元。
这些实施例确保在指定的持续时间内发生最少量的视频网格视图更新,由此使得对用户而言尽可能容易地跟上在故事化的体验视图中的用户活动。可以以布局参数的形式向接收用户终端(例如,终端6d)指示所选择的网格以及所述网格内的所选择的视频流中的每个的定位,如在图3中所示出的。接收用户终端可以解译布局参数,以便在所选择的网格中其相应的位置处显示所选择的视频流中的每个。
例如,参考图3,选择器312可以接收在流s1和s2中检测到反应的指示,并且基于此,选择流s1和s2以用于发送至用户4d的用户终端。选择器312可以例如选择在图9中所示出的网格布局904,并且将对应的布局参数转发至接收终端。响应于接收到布局参数,接收终端可以接着渲染这两个视频流以使得在网格的第一位置(例如,网格的左手单元)处显示第一视频流s1并且在网格的第二位置(例如,网格的右手单元)处显示第二视频流s2。在一些实施例中,如果例如要在接收终端处显示的视频流的数量没有改变,则可能没有必要向接收终端发送所有这些布局参数(如之后关于图7A和7B所描述的)。
可替代地,反应指示符可以指示仅在流s2中检测到反应。基于此,选择器312可以确定通过继续向用户D发送流s1(在从用户4B检测到反应之前,其在用户4d的用户终端6d处被显示)以及也发送流s2来增加在用户4d的用户终端6d处显示的视频流的数量。因此,除了用户A的视频之外,用户D也能够查看用户B的反应。在该特定的示例中,用户A可以例如是发言的用户,而用户B是对用户A的发言做出反应的进行反应的用户。控制服务器可以发送针对网格布局904的布局参数,而不是针对902的布局参数,其先前用于显示用户A的视频流(如之后关于图6A和6C所描述的)。
对于故事化体验来说,连续性是重要的;如果事件被标记为与某一位置相关,则其可以在有持续时间的新的事件(即,第二时间间隔)内替换网格中该位置的当前视频流位置,而新近提升的事件可以占用经添加的网格位置或网格增加。
针对独特的环境,程式化的网格、持续时间、和位置回放可以具有独特的规则。例如,会议“蒙太奇”的结尾可以显示网格中彼此相邻的一系列相关或不相关事件作为会议事件的程式化重复。例如,针对每个事件的持续时间定时器可以被对齐或者有意地节奏化至音频轨道。
图4A示出了可以由控制服务器使用以确定与在所接收的视频流的一个或多个中识别的反应相关联的优先级。如在图4A中可以看见的,数据库的第一列402可以包含针对每一预期“运动”的条目(即反应)。例如,M1可以对应于“微笑”,M2可以对应于“点头”,M3可以对应于“摇头”,并且以此类推。
数据库404的第二列可以包含与每个预期运动相关联的优先级。例如,运动M1(例如,微笑)可以具有优先级值P1,其值比与运动M2(例如,点头)相关联的优先级值P2更高或更低。每个相应的运动的优先级值可以用于确定视频流相对于彼此被显示的方式。例如,与以较低优先级的反应为特征的视频流相比,可以更突出地显示以较高优先级的反应为特征的视频流。可以例如使用优先级值来确定所选择的视频流占用网格布局中的哪些单元(例如图9中所示出的那些)。
优先级还可以用于限制被选择用于在接收终端处显示的视频流数量-例如,如果在多个视频流中检测到反应,则可以在特定的接收终端上仅显示有限数量的视频流,可以使用优先级值来确定选择这些视频流中的哪些用于显示。
在某些实施例中,关于在某一持续时间内能够发生的检测类型的数量可能存在限制,即,以控制在特定的持续时间内向用户显示的报道量。用户活动的过度报道可能对观看其的用户变得混乱;因此,在扩展对用户活动的故事化意识同时避免过度报道之间保持平衡是重要的。
将理解的是,尽管针对每个预期的运动示出了单个优先级值,但是几个运动可以共享相同的优先级值并且根据该优先级值而被分组。例如,可以根据例如运动的类型来将运动分组,而相同“类型”的运动可以共享相同的优先级值,而不是具有与每个运动相关联的优先级值。特定运动的“类型”可以确定其对应的优先级值。
数据库406A的第三列可以包含针对与每个运动相关联的时间间隔的条目,即在接收终端上应当显示与该运动相关联的视频流的时间间隔。不同的预期运动可以取决于运动的性质而与不同的时间间隔相关联。例如,涉及用户的整个身体的运动的运动可以具有比对应于例如“微笑”的运动更长的时间间隔。控制服务器可以使用该时间间隔来确定何时停止向特定的接收终端发送与特定运动相关联的视频流。下文描述了三种类型的时间间隔(即,持续时间)。
短持续时间
附加到非言语事件的一组持续时间。短将被设置成具体的持续时间(例如:1.5秒)。允许分配有优先级的视频到用于进行消费的参与者的视频故事的优先级栈,但是不中断活动的发言音频信号。活动的发言音频信号将保持不变。短将向被分配至添加了意识但是在扩展的活动处不是必要的参与者活动。包括反应特写镜头:笑、点头、摇头、挥手、用手指…)。
中等持续时间:
附加到非言语事件的一组持续时间。中等将被设置成具体的持续时间(示例:2.5秒)。允许分配有优先级的视频到用于进行消费的参与者的视频故事的优先级栈,但是不中断活动的发言音频信号。活动的发言音频信号将保持不变。中等被分配至被认为对分组活动意识是重要的具体活动,例如房间中的身体位置的改变。或者在房间中检测到新的身体或人(站、坐、进入、离开一位置)。
扩展的持续时间:
针对主要的活动参与者的一组持续时间。该持续时间主要向活动的发言者分配。给予活动的发言者主要故事优先级,除非被短持续时间故事视图中断或由于没有发言被降级。其示例是如果故事视图在单个网格视图中并且是活动发言者的边到边视频。当短或中等持续时间优先级视频被触发以替代活动发言者视频(但不是活动音频)时,一旦受限持续时间视频已经到期,则其被先前填充在该位置处的连续的活动发言者视频视图替代。
持久持续时间:
针对主要的活动参与者的一组持续时间。该持续时间主要被分配给不允许中断视频视图的用户固定或视图类型。因此,持续时间是连续的直到用户重新分配视图或会议结束为止。
非言语通信持续时间优先级度量用于:针对故事视频优先级度量的身体、手臂、手、手势、头、脸和眼睛运动检测。持续时间优先级度量结合回放持续时间库进行工作:短、中等、优先级、和扩展的规范。也由对最近的活动、参与者联合、或用户偏好排名的栈来指定故事网格位置优先级。
为了更大的故事连续性和人们流畅的参与体验,相机视图网格更新被填充为在一组持续时间中的单个或分组,而无论其来自单个位置的还是多个位置。这是为了确保视频回放尽可能流畅和无噪声。这也是为了确保在指定的持续时间内发生最少量的视频网格视图更新,由此允许故事体验变得吸引人并且容易跟上所述动作。
还应当注意的是,针对上文描述的持续时间,进行标记的用户或参与者也可以影响系统优先级栈。例如,用户可以标记传感器数据(视频视图),并且优先级可以被设置在这些视图上,以在该事件之后进行实时故事回放、录制、或编辑。
将理解的是,尽管在图4中针对每个相应的运动的优先级和时间间隔示出了分别的列,但是这两个参数实际上可以相互关联(即,能够从彼此中导出)。
例如,预期运动的优先级值还可以确定要显示其的时间间隔。例如,具有较高优先级值的预期运动可以比具有较低优先级值的预期运动显示得更久。可替代地,具有较低优先级值的预期运动可以显示更长的时间间隔。
最终,可以使用优先级值和时间间隔之间的任何关系。该关系可以允许针对所检测到的用户数量的每个所检测到的改变而“实时(on the fly)”确定时间间隔。即,数据库可以仅包含针对优先级值的条目,并且当检测到改变时,这些条目可以用于确定与特定运动相关联的时间间隔,而不是将针对可能的期望运动中的每个的时间间隔存储在数据库中。
数据库的一个或多个其他的列408A可以包含涉及其他参数的条目。例如,这些参数可以与不同类型的反应的分组相关,例如,涉及手部运动的反应可以属于特定分组,而涉及用户的脸部表情改变的反应可以属于不同的分组。每割预期运动可以与分组值相关联,并且共享相同分组值的预期运动可以被认为具有相同的“类型”(其可以是指示其共享相同的优先级值和/或时间间隔)。
额外地,数据库可以包括针对定义每个预期运动的参数的列。这些参数可以针对每个预期运动而定义用户的眼睛、鼻子、嘴巴、眉毛、手等的相对位置的对应改变。这些参数还可以与一误差幅度相关联——即,用户的眼睛、鼻子、嘴巴、眉毛、手等的相对位置可以改变且仍然被识别为与相应的预期运动对应的范围。
图5A示出了方法的流程图,该方法在控制服务器处被执行以用于基于在视频流的运动图像中对预期运动的识别来确定何时选择视频流以用于在接收终端(例如,用户D的用户终端)处显示。
应当注意的是,尽管图5A仅示出了用于确定是否选择单个视频流以用于在接收终端处显示的方法,但是控制服务器可以执行所描述的方法的多个实例,例如并行地,以便确定是否应当选择多个视频流以用于在接收终端处显示。
在步骤S502处,在控制服务器处(即,在控制服务器的网络接口处)接收多个视频流。例如,可以从与用户A、B和C相关联的用户终端接收这些视频流。可替代地,可以从与用户A、B和C中的两个或更多个相关联的单个相机设备接收这些视频流中的两个或更多个。
在步骤S504处,控制服务器选择所接收的视频流的子集以用于在接收终端处显示。控制服务器使得这些视频流在接收终端处被显示,即,通过将它们与任何相关联的布局参数一起发送至接收终端。
在步骤S506处,控制服务器识别当前没有在接收终端处被显示的视频流(在本文中被称为“所识别的视频流”)。例如,在控制服务器处接收的视频流中的每个可以包括对其当前是否在接收终端处被显示的指示。控制服务器可以使用这些指示来识别当前没有在接收终端处被显示的视频流。
可替代地,控制服务器内的分别的模块(在图3中未示出)可以跟踪先前被选择以用于在接收终端处显示的视频流。该信息可以由控制服务器使用以识别当前没有在接收终端处被显示的视频流。
在步骤S508处,控制服务器识别在所识别的视频流内所识别的用户的一个或多个人类特征。如先前关于图3所记载的,特征检测模块308可以识别用户存在于所识别的视频流中(例如,基于骨架和/或脸部跟踪),并且特征跟踪模块310可以使用该信息来识别所识别的用户的一个或多个人类特征。
在步骤S510A处,控制服务器跟踪一个或多个所识别的人类特征的运动。这可以涉及例如跟踪用户的眼睛和嘴巴的运动,以确定用户在微笑还是皱眉等。
在步骤S512A处,控制服务器识别一个或多个人类特征的运动与预期的运动(即,已知的“反应”)相对应。如先前关于图3所记载的,这可以涉及确定针对所识别的运动的参数以及将这些参数与定义预期运动的参数进行比较。
在步骤S514处,控制服务器确定是否使得所识别的视频流在接收终端处被显示。如果控制服务器确定所识别的视频流不应当被显示在接收终端上(由图5中的“否”指示),则控制服务器继续跟踪在所识别的流中所识别的用户的一个或多个所识别的人类特征。
控制服务器可以例如确定与所识别的运动相关联的优先级值,并且确定该值是否高于针对在其中也识别出预期运动的第二视频流确定的优先级值。例如,如果在所识别的流中的预期运动的优先级值低于在第二视频流中检测到的预期运动,则控制服务器可以确定所识别的视频流不应当在接收终端处被显示。如果在显示其中检测到预期运动的视频流的同时,检测到新发言用户的音频,则控制服务器可以确保一旦经过了第二时间间隔,则选择与新发言用户相关联的视频流以用于在接收终端处显示(以及使得其被显示)。
如果控制服务器确定所识别的视频流应当在接收终端处被显示(由图5中的“是”指示),则控制服务器选择该视频流以用于在接收终端处显示。
在步骤S516处,控制服务器确定应当显示所选择的视频流的时间间隔,以及为了定义在接收终端处将显示所选择的视频流的方式(例如,相对于已经选择用于在接收终端处显示的任何其他视频流)所需的任何布局参数。
在一个实施例中,可以例如从与所识别的“预期运动”相关联的优先级导出与所选择的视频流相关联的时间间隔。如先前关于图3所记载的,“预期运动”中的每一个可以与一优先级相关联,并且该优先级可以确定在接收终端处在哪里显示所选择的视频流以及显示多久。
在步骤S518处,控制服务器将所选择的视频流与任何相关联的布局参数一起发送至接收终端。如先前所记载的,布局参数由接收终端使用以确定显示所选择的视频流的方式。
在步骤S520处,控制服务器检测到已经经过了与所选择的视频流相关联的时间间隔并且停止发送所选择的视频流。响应于经过所述时间间隔,控制服务器可以向接收终端发送新的布局数据,由此确保不向不再从控制服务器向接收终端发送的视频流分配屏幕空间。
图6A示出了在视频会议期间、在第一时间间隔期间,可以在用户D的用户终端的显示器上显示的用户(用户604)的运动图像的示例。
用户604可以是基于例如最近检测到的用户的发言、或者用户已经发起了视频会议而被确定为是重要的用户。在本文中该用户被称为“主要用户”,其具有相关联的“主要视频流”。
在第一时间间隔期间,控制服务器可以确定第二用户已经对由主要用户604执行的动作进行了反应。例如,控制服务器可以识别到在本文中被称为“进行反应的用户”606的第二用户在第一时间间隔期间已经微笑了。响应于检测到进行反应的用户的微笑,控制服务器可以选择与进行反应的用户相关联的视频流以在接收用户的用户终端处显示。该视频流在本文中被称为“进行反应的用户的视频流”。
在图6B中示出了示例实施例,其中,已经用进行反应的用户606的运动图像替代了主要用户604的运动图像。如先前所记载的,在预先确定的时间间隔(第二时间间隔)内显示进行反应的用户的运动图像。控制服务器可以确保在该时间间隔的持续时间内不向用户D发送主要用户的视频。
控制服务器还可以确保仍然向用户D发送与主要用户相关联的任何音频(即,检测到的发言)。即,控制服务器可以分别对待每个用户(例如,用户A、B和C)的视频和音频流,并且仅确定选择视频流(而不是音频流)中的哪一个以显示用户D的用户终端。因此,用户D能够继续收听主要用户的发言,同时还当其发生时观看其他用户的反应。
当从一个位置流式传输单个网格视频视图并且检测到新的视频优先级类型时,持续时间类型取决于检测类型而被分配至该视频,并且其替代较低优先级的视频流。在大多数情况下,非言语通信仅是视频持续时间优先级。音频优先级栈分别地执行。
在可替代的实施例中,响应于确定第二用户已经对由主要用户604执行的动作进行了反应,控制服务器可以继续向用户D的用户终端发送主要的视频流,并且还选择进行反应的用户的视频流以用于发送至(并随后显示在)用户D的用户终端。这还可以包括向用户D的用户终端6d发送新的布局参数——即,确保使用网格布局904(图9)显示两个视频流的布局参数。
这在图6D中被示出,其中主要的视频流和进行反应的用户的视频流两者同时在用户D的用户终端的显示器上彼此相邻地被示出。在该特定的实施例中,用户D能够观看主要用户(其可以是例如发言的用户)和用户606(其可以对主要用户正在说的内容进行反应)的反应。
图7A示出了可替代的实施例,其中在视频会议期间、在第一时间间隔期间,在接收终端的显示器上可以显示两个主要用户。这可以例如在两个主要用户被确定为具有同等重要性(例如,其中最近已经针对这两个用户检测到音频数据)的情况下发送。可替代地,这可以是针对在与两个其他用户的视频会议(如在图1中所示出的)中的接收用户的默认设置。
再一次,在第一时间间隔期间,控制服务器可以识别到第三用户(进行反应的用户)已经在第一时间间隔期间微笑。响应于检测到该进行反应的用户的微笑,控制服务器可以选择该进行反应的用户的视频流以在接收终端处显示。
在该特定的实施例中,控制服务器可以使得用与进行反应的用户708相关联的视频流替代显示第二主要用户(用户706)的视频流中的一个。控制服务器可以确定与主要用户相关联的视频流中的每一个的相对优先级(例如,基于两个主要用户中哪一个最近发言了),并且基于此,选择具有最高优先级的视频流以在接收终端处显示。
接着,控制服务器可以继续向接收终端发送与最高优先级相关联的视频流,并且还向接收终端发送进行反应的用户的视频流。这可以涉及向接收终端发送新的布局数据,以使得响应于接收到新的布局数据,接收终端以特定的布置在接收终端处显示第一主要用户(用户704)和进行反应的用户708的视频流。
在图7B中示出了这样的布置,其中,已经用进行反应的用户708的运动图像替代了主要用户706的运动图像。再一次,将进行反应的用户的运动图像显示预先确定的时间间隔(第二时间间隔),其可以与在接收终端处显示主要用户(用户704)的时间间隔无关。
图8示出了可替代的实施例,其中,在接收用户的用户终端的显示器上显示了三个主要用户。在该实施例中,用进行反应的用户810的视频流替代第三主要用户808的视频流。在图7A和7B中,所述视频流中的每一个可以与一优先级相关联,并且可以用与进行反应的用户相关联的视频流来替代具有最低优先级的视频流。额外地,取决于与所识别的反应相关联的优先级,进行反应的用户的视频流可以占用接收终端的显示器的较大部分。
在图8的示例中,所检测到的进行反应的用户的微笑具有足够高以替代例如非活动用户的视频的优先级,但是不具有足够高以替代诸如用户804之类的发言用户的视频的优先级。
将理解的是,尽管在用进行反应的用户的视频流替代三个主要的视频流中的一个的上下文中描述了图8,但是可以用进行反应的用户的视频流来替代三个主要的视频流中的任何数量个(取决于视频会议中的参与者的数量,以及进行反应的用户数量等)。
还将理解的是,如果控制服务器使得在接收终端处显示的视频流的数量增加,则除了一个或多个主要用户之外,还可以显示任何数量的进行反应的用户。
例如,如果在第一窗口602A中显示主要用户,并且在两个其他用户的视频流中识别出反应,则可以更新第一窗口602A以便显示主要发言者的视频流,以及两个其他进行反应的用户的视频流。这可以涉及将新的布局参数从控制服务器发送至接收终端,例如,使得视频流能够使用网格布局906(图9)而不是网格布局902(图9)被显示的布局参数。
例如,可以用类似于在图8B中所示出的显示窗口802B的窗口来替代窗口602A,但在显示窗口的两个较小的部分的每一个中显示一个进行反应的用户。两个进行反应的用户的视频流可以在相同的或不同的时间间隔内被显示,这取决于在每个视频流中识别出的反应(例如,它们是否都属于共享相同或相似时间间隔的一组反应)。
在可替代的实施例中,控制服务器可以增加在接收终端处显示的视频流的数量,以使得示出了两个主要用户的显示窗口(例如,图7A中示出的显示窗口)被更新以便除了两个主要用户的视频流流之外,还显示进行反应的用户的视频流(例如,图8B中示出的显示窗口)。
当针对分组活动流式传输多网格视频故事视图并且检测到新的视频优先级类型时,取决于检测类型而向该新的视频分配持续时间类型。持续时间类型确定直到优先级被重置为当前检测到的参与者活动或者被更高优先级的视频否决时单个优先级将持续多久。在多网格场景中,由新的持续时间类型优先级视频替代最不活动的视频。除非其被标记为与具体位置或参与者相关。接着,其在指定时间内替代同一参与者或位置馈送的网格视图以保持故事连续性。
一般而言,除非另外指示,否则在本文中描述的功能中的任何一个可以使用软件、固件、硬件(例如,固定逻辑电路)、或这些实现的组合来实现。如在本文中所使用的,术语“模块”、“功能”、“组件”和“逻辑”一般表示软件、固件、硬件、或其组合。在软件实现的情况下,模块、功能、或逻辑表示当在处理器(例如,CPU或多个CPU)上执行时执行指定任务的程序代码。程序代码可以被存储在一个或多个计算机可读存储设备中。下文描述的技术的特征是与平台无关的,意思是所述技术可以在具有多种处理器的多种商用计算平台上被实现。
例如,用户终端还可以包括使得用户终端的硬件执行操作的实体(例如,软件),例如处理器功能块等。例如,用户终端可以包括可以被配置为保存使得用户终端且更具体地,使得用户终端的操作系统和相关联的硬件执行操作的指令的计算机可读介质。因此,指令用于将操作系统和相关联的硬件配置为执行操作并且以该方式引起操作系统的转换和相关联的硬件执行功能。可以由计算机可读介质通过多种不同的配置向用户终端提供指令。
计算机可读介质的一个这样的配置是信号承载介质并且因此被配置为向计算设备发送指令(例如,作为载波),例如经由网络。计算机可读介质还可以被配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器、以及可以使用磁、光、和其他技术来存储指令和其他数据的其他存储器设备。
根据第一方面,本应用的主题提供了一种经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机实现的方法,所述方法包括在连接至所述网络的计算机上实现以下操作:经由网络接收多个视频流,每个视频流运送一个或多个用户的相应的运动图像;使得所述视频流中第一个流的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;检测在所述视频流中的在所述第一时间间隔期间不在所述用户设备处被显示的第二个流的相应的运动图像的视觉内容的改变,所述视觉内容的所述改变包括所述相应的运动图像中用户总数的改变;以及响应于检测到所述视觉内容的所述改变,使得至少所述第二个流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
在实施例中,视觉内容的改变可以是运动图像中用户总数的改变。
计算机可以基于在第二视频流的运动图像中检测到的视觉内容的改变来确定第二时间间隔的持续时间。该改变可以是通过以下方式检测到的:所述计算机将脸部检测算法应用至所述第二视频流的相应的运动图像以检测在所述第一时间间隔期间在所述第二视频流的所述运动图像中脸的总数的改变。
额外地,或可替代地,用户总数的改变可以是通过以下方式检测到的:所述计算机将骨架检测算法应用至所述第二视频流的相应的运动图像以检测在所述第一时间间隔期间在所述第二视频流的所述运动图像中骨架的总数的改变。
所述计算机可以在第一时间间隔内向所述第二视频流分配第一优先级值,并且响应于检测到所述视觉内容的所述改变,向所述流分配指示更高优先级的第二优先级值;并且,所述计算机可以使用所述第二优先级值从所述多个视频流中选择所述第二个流,以用于在所述第二时间间隔内在所述用户设备处进行所述显示。
在一些实施例中,使得至少所述第二视频流的相应的运动图像在用户设备处被显示可以包括使得所述第一视频流的相应的运动图像被所述第二视频流的相应的运动图像所替代,以使得所述第一视频流的相应的运动图像在所述第二时间间隔内不在所述用户设备处被显示。
在可替代的实施例中,所述第一视频流的运动图像和所述第二视频流的运动图像两者可以在所述第二时间间隔内在所述用户设备处同时被显示。
所述计算机与所述用户设备是分离的,并且其中,所述计算机通过将所述第一视频流和所述第二视频流中的每个流经由所述网络发送至所述用户设备以用于在其处显示,来使得该流的运动图像在所述用户设备处被显示。
在另外的实施例中,除了所述第一视频流之外,所述视频流中的第三视频流的相应运动图像可以在第一时间间隔内在用户设备处被显示,并且计算机可以使得第三视频流的相应运动图像被所述第二视频流的相应运动图像所替代,以使得所述第三视频流的相应运动图像不在所述第二时间间隔内在用户设备处被显示。
根据第一方面的方法还可以包括:响应于检测到所述视觉内容的改变,选择多个预先确定的布局中的一个以在第二时间间隔内在所述用户设备处显示所述第二视频流的相应运动图像,其中,所述多个预先确定的布局中的每个用于在用户设备处显示不同数量的视频流,其中,所述预先确定的布局中不同的一个布局用于在第一时间间隔内显示所述第一个流的相应运动图像。
在一些实施例中,可以从不同的通信客户端实例接收多个流中的至少两个流,不同的通信客户端实例中的每个是在不同的用户设备处执行的。不同的通信客户端实例中的每个可以从在不同的用户设备处执行的不同的通信客户端实例接收。
计算机可以在服务器中被实施。
计算机可以在用户设备中被实施。
根据第二方面,本应用的主题提供了一种用于经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机,所述计算机包括:网络接口,其被配置为经由所述网络接收多个视频流,每个视频流运送一个或多个用户的相应运动图像;处理器,其被配置为执行以下操作:使得所述视频流中的第一个流的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;检测在所述视频流中的在所述第一时间间隔期间不在所述用户设备处被显示的第二个流的相应的运动图像的视觉内容的改变,所述视觉内容的所述改变包括所述相应的运动图像中的用户总数的改变;以及响应于检测到所述视觉内容的所述改变,使得至少所述第二个流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
处理器可以被配置为基于在所述第二视频流的运动图像中检测到的视觉内容的改变,确定所述第二时间间隔的持续时间。
所述改变可以通过以下方式来检测:将脸部检测算法应用到第二视频流的相应运动图像以检测在第一时间间隔期间在第二视频流的运动图像中脸的总数的改变。
额外地或可替代地,该改变可以通过以下方式来检测:将骨骼检测算法应用到第二视频流的相应运动图像以检测在第一时间间隔期间在第二视频流的运动图像中骨骼的总数的改变。
根据第三方面,本应用的主题提供了用于通过通信网络在第一用户和一个或多个第二用户之间实现通信事件的计算机程序产品,所述计算机程序产品包括代码,所述代码在计算机可读存储介质上被存储并且被配置为当在计算机上被执行时用于执行以下操作:经由网络接收多个视频流,每个视频流运送一个或多个用户的相应的运动图像;使得所述视频流中第一个的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;检测在所述视频流中的在所述第一时间间隔期间不在所述用户设备处被显示的第二个流的相应的运动图像的视觉内容的改变;以及响应于检测到所述视觉内容的所述改变,使得至少所述第二个流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
根据第四方面,本应用的主题提供了一种经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机实现的方法,所述方法包括在连接至所述网络的计算机上实现:经由所述网络接收多个视频流,每个视频流运送一个或多个用户的相应的运动图像;使得所述视频流中第一个的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;在所述视频流中的在所述第一时间间隔中不在所述用户设备处显示的的第二视频流的相应的运动图像中识别所述相应的用户的人类特征;检测与多个预期运动中的一个相匹配的在所述第一时间间隔期间所识别人类特征的运动;以及响应于检测到的运动,使得至少所述第二视频流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
所述计算机可以基于多个预期运动中的哪一个与所识别的人类特征的运动被检测为匹配来确定第二时间间隔的持续时间。
多个预期运动中的每个可以与优先级值相关联,并且所述计算机可以使用该优先级值从多个视频流中选择第二个流以在所述第二时间间隔内在所述用户设备处进行所述显示。
所述计算机可以在服务器中被实施。
所述计算机可以在用户设备上被实施。
在一些实施例中,使得至少所述第二视频流在所述用户设备处被显示可以包括用所述第二视频流替代所述第一视频流,以使得所述第一视频流在所述第二时间间隔内不在所述用户设备处被显示。
在其他实施例中,可以在所述第二时间间隔内在所述用户设备处显示所述第一视频流和所述第二视频流两者。
所述计算机与所述用户设备是分离的,并且所述计算机通过将所述第一视频流和所述第二视频流中的每个流经由所述网络发送至所述用户设备以用于在其处显示,来使得该流的运动图像在所述用户设备处被显示。
在另外的实施例中,除了所述第一视频流之外,可以在第一时间间隔内在所述用户设备上显示第三视频流,并且在第二时间间隔内可以用所述第二视频流来替代所述第三视频流,以使得所述第三视频流在所述第二时间间隔内不在所述用户设备上被显示。
第四方面的计算机实现的方法还可以包括:响应于检测到所述运动,选择多个预先确定的布局中的第一个以在所述第二时间间隔内在用户设备处显示至少所述第二视频流,其中,所述多个预先确定的布局中的每个用于在所述用户设备处显示不同数量的视频流,其中,预先确定的布局中的不同的布局用于在第一时间间隔中显示第一个流。
在一些实施例中,计算机实现的方法可以使得与所述第一视频流相关联的音频数据在所述第一时间间隔和所述第二时间间隔两者期间在所述用户设备处被播出。所述音频数据可以响应于所述计算机检测到在所述第一视频流的运动图像中用户正在发言而在所述第一时间间隔和所述第二时间间隔中被播出。
在另外的实施例中,可以从不同的通信客户端实例接收多个流中的至少两个,不同的通信客户端实例中的每个在不同的用户设备处被执行。视频流中的每个可以从在不同用户设备上执行的不同通信客户端实例接收。
根据第五方面,本应用的主题提供了用于通过通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机,所述计算机包括:网络接口,其被配置为经由所述网络接收多个视频流,每个视频流运送一个或多个用户的相应运动图像;处理器,其被配置为执行以下操作:使得所述视频流中第一个的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;在所述视频流中的在所述第一时间间隔中不在所述用户设备处显示的的第二视频流的相应的运动图像中识别所述相应的用户的人类特征;检测与多个预期运动中的一个相匹配的在所述第一时间间隔期间所识别人类特征的运动;以及响应于检测到的运动,使得至少所述第二视频流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
所述计算机可以基于多个预期运动中的哪一个与所识别的人类特征的运动被检测为匹配来确定第二时间间隔的持续时间。
多个预期运动中的每个可以与优先级值相关联,并且所述计算机可以使用该优先级值从多个视频流中选择第二个流以在所述第二时间间隔内在所述用户设备处进行所述显示。
多个预期运动中的至少一个可以包括与第二视频图像的运动图像中的用户相对应的运动:微笑、皱眉、大笑、喘气、点他们的头、摇他们的头、利用其一只或两只手在特定方向指、用其一只或两只手挥动、将他们的手臂升高或降低到高于或低于预先确定的高度、拍手、移动一个或多个紧握的拳头以便指示庆祝或沮丧,以及利用其一只或两只手向上或向下竖起大拇指。
第五方面的计算机还可以包括被配置为执行以下操作的处理器:响应于检测到所述运动,选择多个预先确定的布局中的第一布局以用于在第二时间间隔内在用户设备处显示至少第二视频流,其中,多个预先确定的布局中的每一个用于在用户设备处显示不同数量的视频流,其中,预先确定的布局中的不同布局用于在第一时间间隔中显示第一个流。
根据第六方面,本应用的主题提供了用于经由通信网络在第一用户与一个或多个第二用户之间实现通信时间的计算机程序产品,所述计算机程序产品包括在计算机可读存储介质上存储并且被配置为当在计算机上执行时执行以下操作的代码:经由网络接收多个视频流,每个视频流运送一个或多个用户的相应运动图像;使得所述视频流中第一个的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;在所述视频流中的在所述第一时间间隔中不在所述用户设备处显示的的第二视频流的相应的运动图像中识别所述相应的用户的人类特征;检测与多个预期运动中的一个相匹配的在所述第一时间间隔期间所识别人类特征的运动;以及响应于检测到的运动,使得至少所述第二视频流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是要理解的是,在所附权利要求中定义的本主题不一定限于在上文中所描述的具体的特征或动作。相反,在上文中所描述的具体的特定特征和动作是作为实现权利要求的示例性形式公开的。
Claims (15)
1.一种经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机实现的方法,所述方法包括在连接至所述网络的计算机上实现以下操作:
经由网络接收多个视频流,每个视频流运送一个或多个用户的相应的运动图像;
使得所述视频流中第一个流的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;
检测在所述视频流中在所述第一时间间隔期间不在所述用户设备处被显示的第二个流的相应的运动图像的视觉内容的改变,所述视觉内容的所述改变包括所述相应的运动图像中用户总数的改变;以及
响应于检测到所述视觉内容的所述改变,使得至少所述第二个流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
2.根据权利要求1所述的方法,其中,所述计算机基于在第二视频流的运动图像中检测到的所述视觉内容的改变,确定所述第二时间间隔的持续时间。
3.根据权利要求1所述的方法,其中,所述改变是通过以下方式检测到的:所述计算机将脸部检测算法应用至所述第二视频流的相应的运动图像以检测在所述第一时间间隔期间在所述第二视频流的所述运动图像中脸的总数的改变。
4.根据权利要求1所述的方法,其中,所述改变是通过以下方式检测到的:所述计算机将骨骼跟踪算法应用至所述第二视频流的相应的运动图像以检测在所述第一时间间隔期间在所述第二视频流的所述运动图像中骨骼的总数的改变。
5.根据权利要求1所述的方法,其中,所述计算机在第一时间间隔内向所述第二视频流分配第一优先级值,并且响应于检测到所述视觉内容的所述改变,向所述流分配指示更高优先级的第二优先级值;并且
其中,所述计算机使用所述第二优先级值从所述多个视频流中选择所述第二个流,以用于在所述第二时间间隔内在所述用户设备处进行所述显示。
6.根据权利要求1所述的方法,其中,使得至少所述第二视频流的相应的运动图像在用户设备处被显示包括使得所述第一视频流的相应的运动图像被所述第二视频流的相应的运动图像所替代,以使得所述第一视频流的相应的运动图像在所述第二时间间隔内不在所述用户设备处被显示。
7.根据权利要求1所述的方法,其中,所述第一视频流的运动图像和所述第二视频流的运动图像两者在所述第二时间间隔内在所述用户设备处同时被显示。
8.根据权利要求1所述的方法,其中,所述多个流中的至少两个是从不同的通信客户端实例接收的,所述不同的通信客户端实例中的每个在不同的用户设备处被执行。
9.根据权利要求8所述的方法,其中,所述视频流中的每个是从在不同的用户设备上执行的不同的通信客户端实例接收的。
10.根据权利要求1所述的方法,其中,所述计算机与所述用户设备是分离的,并且其中,所述计算机通过将所述第一视频流和所述第二视频流中的每个流经由所述网络发送至所述用户设备以用于在其处显示,来使得该流的运动图像在所述用户设备处被显示。
11.根据权利要求1所述的方法,其中,所述计算机是在服务器中实施的。
12.根据权利要求1所述的方法,其中,所述计算机是在所述用户设备中实施的。
13.一种用于经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机,所述计算机包括:
网络接口,其被配置为经由所述网络接收多个视频流,每个视频流运送一个或多个用户的相应的运动图像;
处理器,其被配置为执行以下操作:
使得所述视频流中的第一个流的相应的运动图像在第一时间间隔内在所述第一用户的用户设备处被显示;
检测在所述视频流中的在所述第一时间间隔期间不在所述用户设备处被显示的第二个流的相应的运动图像的视觉内容的改变,所述视觉内容的所述改变包括所述相应的运动图像中的用户总数的改变;以及
响应于检测到所述视觉内容的所述改变,使得至少所述第二个流的相应的运动图像在第二时间间隔内在所述用户设备处被显示。
14.一种用于经由通信网络在第一用户与一个或多个第二用户之间实现通信事件的计算机程序产品,所述计算机程序产品包括代码,所述代码被存储在计算机可读存储介质上并且被配置为当在计算机上被执行时用于执行权利要求1至13中任何一项的操作。
15.根据权利要求13所述的计算机,其中,所述处理器被配置为基于在所述第二视频流的运动图像中检测到的所述视觉内容的改变,确定所述第二时间间隔的持续时间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/048,800 US9743042B1 (en) | 2016-02-19 | 2016-02-19 | Communication event |
US15/048,800 | 2016-02-19 | ||
PCT/US2017/017281 WO2017142796A1 (en) | 2016-02-19 | 2017-02-10 | Communication event |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108702484A true CN108702484A (zh) | 2018-10-23 |
Family
ID=58266714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780012013.2A Pending CN108702484A (zh) | 2016-02-19 | 2017-02-10 | 通信事件 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9743042B1 (zh) |
EP (1) | EP3387827A1 (zh) |
CN (1) | CN108702484A (zh) |
WO (1) | WO2017142796A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887796A (zh) * | 2021-02-10 | 2021-06-01 | 北京字跳网络技术有限公司 | 视频生成方法、装置、设备及介质 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9743042B1 (en) | 2016-02-19 | 2017-08-22 | Microsoft Technology Licensing, Llc | Communication event |
JP6754953B2 (ja) * | 2016-03-07 | 2020-09-16 | パナソニックIpマネジメント株式会社 | 撮像装置、電子機器及び撮像システム |
KR101815176B1 (ko) | 2016-06-03 | 2018-01-05 | 주식회사 하이퍼커넥트 | 중개 방법, 장치 및 시스템 |
KR20180013523A (ko) * | 2016-07-29 | 2018-02-07 | 삼성전자주식회사 | 이미지의 유사도에 기초하여 이미지들을 연속적으로 표시하는 방법 및 장치 |
US10028016B2 (en) * | 2016-08-30 | 2018-07-17 | The Directv Group, Inc. | Methods and systems for providing multiple video content streams |
US10250849B2 (en) * | 2016-12-30 | 2019-04-02 | Akamai Technologies, Inc. | Dynamic speaker selection and live stream delivery for multi-party conferencing |
US10332515B2 (en) * | 2017-03-14 | 2019-06-25 | Google Llc | Query endpointing based on lip detection |
US10405060B2 (en) | 2017-06-28 | 2019-09-03 | At&T Intellectual Property I, L.P. | Method and apparatus for augmented reality presentation associated with a media program |
US10868955B2 (en) * | 2017-09-05 | 2020-12-15 | Facebook, Inc. | Modifying capture of video data by an image capture device based on video data previously captured by the image capture device |
KR102293416B1 (ko) * | 2017-11-02 | 2021-08-26 | 주식회사 하이퍼커넥트 | 통신 장치, 서버 및 그것의 통신 방법 |
US10455135B2 (en) * | 2017-11-17 | 2019-10-22 | Facebook, Inc. | Enabling crowd-sourced video production |
US11184415B2 (en) | 2018-05-07 | 2021-11-23 | Apple Inc. | Media feed prioritization for multi-party conferencing |
US10516852B2 (en) | 2018-05-16 | 2019-12-24 | Cisco Technology, Inc. | Multiple simultaneous framing alternatives using speaker tracking |
CN110536097A (zh) * | 2018-05-25 | 2019-12-03 | 中兴通讯股份有限公司 | 一种视频控制方法、视频会议终端和多点控制单元mcu |
US20200302812A1 (en) * | 2019-03-21 | 2020-09-24 | Foundry College, Inc. | Online classroom system and method for monitoring student activity |
US11356488B2 (en) * | 2019-04-24 | 2022-06-07 | Cisco Technology, Inc. | Frame synchronous rendering of remote participant identities |
CN112929726B (zh) * | 2019-08-09 | 2023-12-15 | 湖南科技学院 | 一种基于物联网的计算机设备连接系统的连接方法 |
US11012249B2 (en) | 2019-10-15 | 2021-05-18 | Microsoft Technology Licensing, Llc | Content feature based video stream subscriptions |
US11483248B2 (en) * | 2020-09-02 | 2022-10-25 | Cisco Technology, Inc. | Prioritization of wireless traffic of presenter devices |
US11294474B1 (en) * | 2021-02-05 | 2022-04-05 | Lenovo (Singapore) Pte. Ltd. | Controlling video data content using computer vision |
US11647064B1 (en) * | 2021-10-20 | 2023-05-09 | Remo Holdings Limited | Computer systems for managing interactive enhanced communications |
US20230206621A1 (en) * | 2021-12-29 | 2023-06-29 | Microsoft Technology Licensing, Llc | Automatic composition of a presentation video of shared content and a rendering of a selected presenter |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030090564A1 (en) * | 2001-11-13 | 2003-05-15 | Koninklijke Philips Electronics N.V. | System and method for providing an awareness of remote people in the room during a videoconference |
US20060251382A1 (en) * | 2005-05-09 | 2006-11-09 | Microsoft Corporation | System and method for automatic video editing using object recognition |
US20090256901A1 (en) * | 2008-04-15 | 2009-10-15 | Mauchly J William | Pop-Up PIP for People Not in Picture |
CN103634560A (zh) * | 2012-08-21 | 2014-03-12 | 鸿富锦精密工业(深圳)有限公司 | 视频会议系统及其视频图像控制方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6894714B2 (en) | 2000-12-05 | 2005-05-17 | Koninklijke Philips Electronics N.V. | Method and apparatus for predicting events in video conferencing and other applications |
US7554571B1 (en) * | 2005-03-18 | 2009-06-30 | Avaya Inc. | Dynamic layout of participants in a multi-party video conference |
US8446454B2 (en) | 2007-05-21 | 2013-05-21 | Polycom, Inc. | Dynamic adaption of a continuous presence videoconferencing layout based on video content |
NO327899B1 (no) | 2007-07-13 | 2009-10-19 | Tandberg Telecom As | Fremgangsmate og system for automatisk kamerakontroll |
US8477174B2 (en) * | 2009-02-27 | 2013-07-02 | Avaya Inc. | Automatic video switching for multimedia conferencing |
US8842161B2 (en) | 2010-05-18 | 2014-09-23 | Polycom, Inc. | Videoconferencing system having adjunct camera for auto-framing and tracking |
US8379077B2 (en) * | 2010-11-24 | 2013-02-19 | Cisco Technology, Inc. | Automatic layout and speaker selection in a continuous presence video conference |
CN102611872B (zh) | 2011-01-19 | 2014-07-02 | 株式会社理光 | 基于感兴趣区域动态检测的场景影像转换系统和方法 |
US20130307919A1 (en) * | 2012-04-26 | 2013-11-21 | Brown University | Multiple camera video conferencing methods and apparatus |
US20150189233A1 (en) * | 2012-04-30 | 2015-07-02 | Goggle Inc. | Facilitating user interaction in a video conference |
US9148625B2 (en) * | 2012-09-21 | 2015-09-29 | Cisco Technology, Inc. | Transition control in a videoconference |
US20150049162A1 (en) | 2013-08-15 | 2015-02-19 | Futurewei Technologies, Inc. | Panoramic Meeting Room Video Conferencing With Automatic Directionless Heuristic Point Of Interest Activity Detection And Management |
US9307191B2 (en) * | 2013-11-19 | 2016-04-05 | Microsoft Technology Licensing, Llc | Video transmission |
US20150288926A1 (en) * | 2014-04-03 | 2015-10-08 | CafeX Communications Inc. | Framework to support a hybrid of meshed endpoints with non-meshed endpoints |
US9307200B2 (en) | 2014-04-10 | 2016-04-05 | Cisco Technology, Inc. | Use of face and motion detection for best view framing in video conference endpoint |
US20160308920A1 (en) | 2015-04-16 | 2016-10-20 | Microsoft Technology Licensing, Llc | Visual Configuration for Communication Session Participants |
US9743042B1 (en) | 2016-02-19 | 2017-08-22 | Microsoft Technology Licensing, Llc | Communication event |
-
2016
- 2016-02-19 US US15/048,800 patent/US9743042B1/en active Active
-
2017
- 2017-02-10 CN CN201780012013.2A patent/CN108702484A/zh active Pending
- 2017-02-10 EP EP17710422.1A patent/EP3387827A1/en not_active Ceased
- 2017-02-10 WO PCT/US2017/017281 patent/WO2017142796A1/en active Application Filing
- 2017-06-15 US US15/624,297 patent/US10154232B2/en active Active
-
2018
- 2018-11-08 US US16/184,332 patent/US10491859B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030090564A1 (en) * | 2001-11-13 | 2003-05-15 | Koninklijke Philips Electronics N.V. | System and method for providing an awareness of remote people in the room during a videoconference |
US20060251382A1 (en) * | 2005-05-09 | 2006-11-09 | Microsoft Corporation | System and method for automatic video editing using object recognition |
US20090256901A1 (en) * | 2008-04-15 | 2009-10-15 | Mauchly J William | Pop-Up PIP for People Not in Picture |
CN103634560A (zh) * | 2012-08-21 | 2014-03-12 | 鸿富锦精密工业(深圳)有限公司 | 视频会议系统及其视频图像控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887796A (zh) * | 2021-02-10 | 2021-06-01 | 北京字跳网络技术有限公司 | 视频生成方法、装置、设备及介质 |
CN112887796B (zh) * | 2021-02-10 | 2022-07-22 | 北京字跳网络技术有限公司 | 视频生成方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3387827A1 (en) | 2018-10-17 |
US20170289499A1 (en) | 2017-10-05 |
WO2017142796A1 (en) | 2017-08-24 |
US10154232B2 (en) | 2018-12-11 |
US9743042B1 (en) | 2017-08-22 |
US20170244931A1 (en) | 2017-08-24 |
US20190141290A1 (en) | 2019-05-09 |
US10491859B2 (en) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108702484A (zh) | 通信事件 | |
CN108702483A (zh) | 通信事件 | |
US11178462B2 (en) | Display control device and display control method | |
US10181178B2 (en) | Privacy image generation system | |
US9094571B2 (en) | Video chatting method and system | |
CN106604046B (zh) | 视频直播方法及装置 | |
US20220174357A1 (en) | Simulating audience feedback in remote broadcast events | |
CN107534656A (zh) | 用于通信会话参与者的可视配置 | |
US20150049162A1 (en) | Panoramic Meeting Room Video Conferencing With Automatic Directionless Heuristic Point Of Interest Activity Detection And Management | |
US20180374145A1 (en) | Immersive virtual entertainment system | |
Kim et al. | The nomad and the couch potato: Enriching mobile shared experiences with contextual information | |
Jansen et al. | Enabling composition-based video-conferencing for the home | |
CN111107384A (zh) | 虚拟礼物的展示方法、系统、装置、设备和存储介质 | |
CN108322474B (zh) | 基于共享桌面的虚拟现实系统、相关装置及方法 | |
CN114430494B (zh) | 界面显示方法、装置、设备及存储介质 | |
CN112528052A (zh) | 多媒体内容输出方法、装置、电子设备和存储介质 | |
US9740378B2 (en) | Collaboration content sharing | |
CN109819341B (zh) | 视频播放方法、装置、计算设备及存储介质 | |
CN109688347A (zh) | 多屏互动方法、装置及电子设备 | |
CN109842542B (zh) | 即时会话方法及装置、电子设备、存储介质 | |
US11503090B2 (en) | Remote audience feedback mechanism | |
US20240119731A1 (en) | Video framing based on tracked characteristics of meeting participants | |
WO2024068243A1 (en) | Video framing based on tracked characteristics of meeting participants | |
Kaiser et al. | The Case for Virtual Director Technology-Enabling Individual Immersive Media Experiences via Live Content Selection and Editing. | |
CN115113958A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181023 |
|
WD01 | Invention patent application deemed withdrawn after publication |