视频呼叫的制作方法

文档序号:7552641阅读:152来源:国知局
专利名称:视频呼叫的制作方法
技术领域
本发明涉及视频呼叫。特别地,本发明涉及在第一终端与第二终端之间执行视频呼叫。
背景技术
通信系统允许诸如个人计算机或移动电话之类的终端或设备的用户通过诸如因特网之类的计算机网络与其他用户通信。诸如基于分组的通信系统(包括互联网协议(IP)视频通信系统)之类的通信系统允许用户通过因特网交换实况视频流,从而促进通过通信系统进行的视频呼叫。基于分组的通信系统对于用户可能是有益的,因为它们的成本通常明显低于使用固定线路或移动网络的通信系统。对于长距离通信,情况尤其如此。为了使用IP视频系统用于视频呼叫,用户在他们的终端上安装和执行客户端软件。该客户端软件提供视频IP连接以及其他功能,比如注册和认证。除了视频通信之外,客户端也可以提供另外的特征,比如音频、即时消息传递(“頂”)、SMS消息传递和语音邮件。为了进行视频呼叫,用户具有诸如网络摄像头之类的用于捕获用户的视频数据的照相机。所捕获的视频数据通过通信系统被传输到视频呼叫的远端终端,其中它可以被实时输出,从而在视频呼叫中向远端终端的用户显示视频数据。类似地,远端终端的用户的视频数据可以被捕获并通过通信系统被传输到近端设备以用于在视频呼叫中实时输出给近端终端的用户。与在视频呼叫中的用户之间传输音频数据一样,可以在视频呼叫的用户之间(使用麦克风)接收和传输音频数据,从而允许用户在视频呼叫中在视觉和听觉二者上相互通信。视频呼叫中视频数据的输出可以增强呼叫的用户体验,因为它允许用户感知与从呼叫中的另一个用户接收的音频数据结合的视觉数据。

发明内容
发明人已经认识到,尽管可以通过从视频呼叫中的另一个用户接收视频数据来增强用户的视频呼叫体验,但是该用户可能对将他自己的视频数据传输到视频呼叫中的另一个用户不太舒服。例如,用户可能发现将它自己的视频数据传输给视频呼叫中的另一个用户是侵扰性的和/或约束性的,并且这可能阻止用户执行在他进行视频呼叫的同时他期望执行的动作。而且,用户可能不希望另一个用户知道他们在视频呼叫期间正在执行特定的动作,例如用户可能需要打喷嚏,但是不想在视频呼叫中的照相机下这么做。然而,用户可能不希望使视频呼叫中的另一个用户不能在视频呼叫期间接收视频数据。根据本发明的第一方面,提供一种在第一终端与第二终端之间执行视频呼叫的方法,该方法包括:利用第一终端的照相机捕获用于视频呼叫的视频数据;将所捕获的视频数据实时传输到第二终端以用在视频呼叫中;在视频呼叫中在第二终端的显示器处实时输出所捕获的视频数据;在第一终端处接收来自用户的视频保持输入以发起视频保持状态;确定在视频保持状态中用于在第二终端的显示器处输出的保持视频数据;以及在该视频保持状态中, 在第二终端的显示器处输出所述确定的保持视频数据,而不是实时输出由第一终端的所述照相机捕获的视频数据。根据优选实施例,用户可以通过启动(actuate )视频保持输入(例如通过按压第一终端上的按钮,通过点击第一终端的显示器上显示的图标或通过按压第一终端的触敏屏幕上的特定的视频保持区域)来发起视频保持状态,并且在该视频保持状态中,用户的视频数据没有被捕获并且没有在视频呼叫中的在第二终端处实时地输出。反而,在视频呼叫中的第二终端处输出保持视频数据。有利地,保持视频数据可以在视频呼叫中的第二终端处提供视频数据输出的连续性,使得第二终端的用户不认为视频呼叫已经掉线,即使当视频保持状态已被激活时在视频呼叫中的第二终端处没有实时输出第一终端的用户的视频数据。这可以(通过允许视频数据包括在视频呼叫中)提供呼叫的良好的用户体验,同时仍然允许用户发起视频保持状态,在该视频保持状态中用户的视频数据未在视频呼叫中第二终端处被实时输出。这可以向用户提供更大的自由来在进行视频呼叫的同时执行其他动作。对保持视频数据的确定可以响应于在第一终端处接收所述视频保持输入来执行。该方法可以进一步包括响应于在第一终端处接收所述视频保持输入而将视频保持消息传输到第二终端,所述视频保持消息指示视频保持状态已被发起,其中所述确定保持视频数据可以响应于在第二终端处接收所述视频保持消息而在第二终端处被执行。对保持视频数据的确定可以在第一终端处执行,并且该方法可以进一步包括将所确定的保持视频数据传输到第二终端。该方法可以进一步包括,在视频保持状态中停止所捕获的视频数据到第二终端的实时传输。该方法可以进一步包括,在视频保持状态中停止利用第一终端的照相机捕获视频数据。保持视频数据可以基于在视频保持状态发起之前利用第一终端的照相机捕获的视频数据。保持视频数据可以是单个图像。保持视频数据可以包括单个图像,其覆盖有在视频保持状态中在第二终端的显示器处输出的移动图像。该单个图像的一部分可以包括用户的图像,并且该方法可以进一步包括基于应用到用户的所述图像的特征识别来确定所述移动图像。该移动图像可以表示在用户的所述图像中针对用户的头或眼睛的移动。该单个图像可以是由第一终端的照相机捕获的视频数据的帧。该单个图像可以表示在视频保持状态被发起时由照相机捕获的图像的至少一部分。保持视频数据可以包括由第一终端的照相机捕获的视频数据的多个帧,并且所述多个帧可以在视频保持状态中在第二终端的显示器处被输出。所述多个帧可以是在视频保持状态被发起之前由照相机捕获的视频数据的最后若干帧。该方法可以进一步包括,在视频保持状态中输出以下指示:在第二终端的显示器处视频已被置于保持。该方法可以进一步包括在第一终端处接收来自用户的视频释放输入,以便结束视频保持状态并且由此恢复在视频呼叫中的第二终端的显示器处实时输出所捕获的视频数据。根据本发明 的第二方面,提供一种包括第一终端和第二终端的系统,其中该系统被配置成在第一与第二终端之间执行视频呼叫,其中第一终端包括:照相机,其被配置成捕获用于视频呼叫的视频数据;传输模块,其被配置成将所捕获的视频数据实时地传输到第二终端以用在视频呼叫中;以及用户接口,其被配置成接收来自用户的视频保持输入以发起视频保持状态,并且其中第二终端包括:显示器,其被配置成在视频呼叫中实时输出所捕获的视频数据,其中第二终端被配置成在视频保持状态中在显示器处输出保持视频数据,而不是实时输出由第一终端的所述照相机捕获的视频数据。根据本发明的第三方面,提供一种在第一终端与第二终端之间进行视频呼叫的方法,该方法包括:利用第一终端的照相机捕获用于视频呼叫的视频数据;将所捕获的视频数据传输到第二终端以便在视频呼叫中的第二终端的显示器处实时输出;在第一终端处接收来自用户的视频保持输入,以发起视频保持状态;以及响应于在第一终端处接收所述视频保持输入而将数据传输到第二终端,所述传输的数据使得在视频保持状态中在第二终端的显示器处输出保持视频数据,而不是由第一终端的所述照相机实时捕获的视频数据。根据本发明的第四方面,提供一种终端,其被配置成与另外的终端进行视频呼叫,该终端包括:照相机,其被配置成捕获用于视频呼叫的视频数据;传输模块,其被配置成将所捕获的视频数据传输到所述另外的终端以用于在视频呼叫中在所述另外的终端的显示器处实时地输出;以及用户接口,其被配置成接收来自用户的视频保持输入以发起视频保持状态,其中传输模块被进一步配置成响应于在用户接口处接收所述视频保持输入而将数据传输到所述另外的终端,所述传输的数据使得在视频保持状态中在所述另外的终端的显示器处输出保持视频数据,而不是由终端的所述照相机实时捕获的视频数据。根据本发明的第五方面,提供一种用于在第一终端与第二终端之间进行视频呼叫的计算机程序产品,该计算机程序产品体现在非临时性计算机可读介质上并且被配置成使得当在第一终端的处理器上被执行时执行以下步骤:捕获用于视频呼叫的视频数据;将所捕获的视频数据传输到第二终端以便在视频呼叫中在第二终端的显示器处实时输出;在第一终端处接收来自用户的视频保持输入,以发起视频保持状态;以及响应于接收所述视频保持输入而将数据传输到第二终端,所述传输的数据使得在视频保持状态中在第二终端的显示器处输出保持视频数据,而不是由第一终端的所述照相机实时捕获的视频数据。根据本发明的第六方面,提供一种在第一终端与第二终端之间进行视频呼叫的方法,该方法包括:在第二终端处接收在第一终端处实时捕获的视频数据以用在视频呼叫中;在视频呼叫中在第二终端的显示器处实时输出所捕获的视频数据;在第二终端处接收指示视频保持状态已被发起的视频保持消息;确定用于在视频保持状态中在第二终端的显示器处输出的保持视频数据;以及在视频保持状态中,在第二终端的显示器处输出所述确定的保持视频数据,而不是实时输出在第一终端处捕获的视频数据。根据本发明的第七方面,提供一种终端,其被配置成与另一个终端进行视频呼叫,该终端包括:接收模块,其被配置成接收在所述另一个终端处实时捕获的视频数据以用在视频呼叫中,并且进一步被配置成接收指示视频保持状态已被发起的视频保持消息;显示器,其被配置成在视频呼叫中实时地输出所捕获的视频数据;以及确定模块,其被配置成确定保持视频数据以用于在视频保持状态中在显示器处输出,其中第二终端被配置成在视频保持状态中在第二终端的显示器处输出所述确定的保持视频数据,而不是实时输出在第一终端处捕获的视频数据。 根据本发明的第八方面,提供一种用于在第一终端与第二终端之间进行视频呼叫的计算机程序产品,该计算机程序产品体现在非临时性计算机可读介质上并且被配置成使得当在第二终端的处理器上被执行时执行以下步骤:接收在第一终端处实时捕获的视频数据以用在视频呼叫中;在视频呼叫中在第二终端的显示器处实时输出所捕获的视频数据;接收指示视频保持状态已被发起的视频保持消息;确定用于在视频保持状态中在第二终端的显示器处输出的保持视频数据;以及在视频保持状态中,在第二终端的显示器处输出所述确定的保持视频数据,而不是实时输出在第一终端处捕获的视频数据。


为了更好地理解本发明并示出本发明可以如何付诸实施,现在将通过举例参照附图,在附图中:
图1示出根据优选实施例的通信系统;
图2示出根据优选实施例的终端的示意图;以及
图3是根据本发明的优选实施例在第一终端与第二终端之间执行视频呼叫的过程的流程图。
具体实施例方式现在将仅通过举例来描述本发明的优选实施例。图1示出通信系统,其包括具有相关联的第一用户终端104的第一用户(“用户A”)102和具有相关联的第二用户终端110的第二用户(“用户B”)108。在其他实施例中,通信系统可以包括任意数量的用户及相关联的用户终端。用户终端104和110可以在通信系统中例如通过网络(其可以例如是因特网或诸如PSTN或移动电话网之类的电话网)相互通信,从而允许用户102和108相互通信。在优选实施例中,通信系统是基于分组的通信系统(例如对等(P2P)通信系统),但是也可以使用其他类型的通信系统,比如非P2P或VoIP系统。用户终端104可以是 例如移动电话、电视、个人数字助理(“PDA”)、个人计算机(“PC”)(包括例如WindoWSTM、MaS OS 以及Linux PC)、游戏设备、平板电脑或能够通过通信系统连接到用于通信的网络的其他嵌入式设备。用户终端104被布置成从用户终端104的用户102接收信息并且向该用户输出信息。在本发明的优选实施例中,用户终端104包括诸如屏幕之类的显示器、用于捕获(即接收)视觉数据的照相机以及诸如键盘、鼠标、触摸屏、键区和/或操纵杆之类的输入设备。用户终端104执行由与通信系统相关联的软件提供商提供的通信客户端106。通信客户端106是在用户终端104中的本地处理器上执行的软件程序。客户端106执行在用户终端104处所需的处理,以便用户终端104通过通信系统传输和接收数据。如本领域已知的,客户端106可以通过数字证书(例如证明用户A 102是通信系统的真正用户-在W02005/009019中更详细的描述的)的呈现而被认证以通过通信系统进行通信。用户终端110对应于用户终端104。用户终端110在本地处理器上执行对应于通信客户端106的通信客户端112。客户端112以与客户端106执行允许用户102通过网络通信所需的处理相同的方式来执行允许用户108通过网络通信所需的处理。用户终端104和110是通信系统中的终点。为了清楚起见,图1仅示出两个用户(102和108),但是更多的用户可以连接到通信系统,并且如本领域已知的,可以使用在通信系统的相应终点上执行的相应通信客户端而通过通信系统通信。
图2图示了在其上执行客户端106的用户终端104的详细视图。用户终端104包括中央处理单元(“CPU ”)202,诸如屏幕之类的显示器204、诸如键盘(或键区)206之类的输入设备以及诸如鼠标208之类的指点设备连接到该中央处理单元。显示器204可以包括用于将数据输入到CPU 202的触摸屏。输出音频设备210 (例如扬声器)和输入音频设备212 (例如麦克风)连接到CPU 202。用户终端104也包括用于从用户终端104的周围环境接收视觉数据的照相机228。例如照相机228可以接收用户102的视觉数据。照相机228连接到CPU 202。显示器204、键盘206、鼠标208、输出音频设备210、输入音频设备212和照相机228被集成到用户终端104中。在可替代的用户终端中,显示器204、键盘206、鼠标208、输出音频设备210、输入音频设备212和照相机228中的一个或多个可以不集成到用户终端104中并且可以经由相应接口连接到CPU 202。这种接口的一个示例是USB接口。CPU202连接到诸如调制解调器之类的网络接口 224以用于与通信系统的网络(例如因特网)通信。网络接口 224可以被集成到用户终端104中,如图2所示。在可替代的用户终端中,网络接口 224不集成到用户终端104中。用户终端104也包括如本领域已知的用于存储数据的存储器226。图2也图示了在CPU 202上执行的操作系统(“OS”)214。在OS 214之上运行的是用于客户端106的软件栈216。该软 件栈示出了客户端协议层218、客户端引擎层220和客户端用户接口层(“Π”)222。每个层负责特定的功能。因为每个层通常与其他两个层通信,所以它们被认为布置在一个栈中,如图2所示。操作系统214管理计算机的硬件资源并且处理正被经由网络接口 224向和从网络传输的数据。客户端软件的客户端协议层218与操作系统214通信并且管理通信系统上的连接。需要更高水平处理的过程被传递到客户端引擎层220。客户端引擎220也与客户端用户接口层222通信。客户端引擎220可以被布置成控制客户端用户接口层222以经由客户端的用户接口向用户102呈现信息并且经由用户接口从用户102接收信息。用户终端110以与如上所述的用户终端104相同的方式实现,其中用户终端110可以具有与本文关于用户终端104描述的元件对应的元件。参照图3,现在描述在用户102与108之间执行视频呼叫的方法。如本领域已知的,在终端104与110之间发起视频呼叫。用户102可以通过使用终端104通过通信系统呼叫终端110来发起视频呼叫,并且用户108然后可以接受呼叫,从而如本领域已知的那样在终端104与110之间建立视频呼叫。可替代地,用户108可以通过使用终端110通过通信系统呼叫终端104来发起视频呼叫,并且用户102然后可以接受呼叫,从而如本领域已知的那样在终端104与110之间建立视频呼叫。发起视频呼叫,并且在步骤S302中使用终端104的照相机228捕获用于视频呼叫的视频数据。如本领域已知的,视频数据包括帧的序列。用户102可以定位和/或引导照相机228,或者用户可以调节照相机的操作控制,比如分辨率、对比度、亮度和/或帧速率,以便控制由照相机228捕获的图像。例如,用户102可以控制照相机228,使得该照相机捕获用户102的图像以用作要在与用户108的视频呼叫中被传输到终端110的视频数据。在步骤S304中,将在步骤S302中捕获的视频数据通过通信系统从终端104传输到终端110。在步骤S304中视频数据的传输根据本领域已知的技术执行。例如,可以使用IP协议视频传输视频数据并且该视频数据可以通过因特网从终端104传输到终端110。例如,视频数据可以被分组并且作为数据的离散分组而从终端104发送到终端110。而且,例如,可以在视频数据从终端104传输到终端110之前使用任何视频编码技术来编码该视频数据,其中编码的视频数据在终端HO处被解码,以便在终端110的显示器处输出。在步骤S306中,从终端104接收的视频数据在终端110的显示器上被输出,从而允许用户108观看视频数据。在视频呼叫期间,在终端110处实时地输出视频数据。例如,在步骤302中在终端104处捕获视频数据与在步骤S306中在终端110处输出视频数据之间的总时间延迟应当足够短以使得在用户102与108之间的视频呼叫中通信流畅(即视频数据必须被实时传输和输出)。例如,该时间延迟不应当超过一秒。步骤S302至S306允许在视频呼叫中视频数据在终端104处被捕获,被传输到终端110以及在终端110处被输出。以类似方式,在视频呼叫中视频数据可以在终端110处被捕获,被传输到终端104并且在终端104处输出,从而允许用户108的视频数据被显示给视频呼叫中的用户102。当视频呼叫在正常状态中操作时,步骤S302至S306连续执行(与当视频呼叫在下面更详细地描述的视频保持状态中操作时截然相反)。在步骤S308中,运行在终端104上的客户端106可以确定是否已从用户102接收到视频保持输入。视频保持输入允许用户102指示他想要发起视频保持状态。如果用户102没有在终端104处提供视频保持输入,则该方法继续执行步骤S302至S306,使得视频呼叫在正常状态中继续,其中视频数据在终端104处被捕获并且被传输到终端110以便输出给用户108。

用户102然后可以决定他想要发起视频保持状态。在视频保持状态中,实况视频数据未被照相机228捕获、未被传输到终端110以及没有在视频呼叫中在终端110处被实时输出给用户108。用户102可以(例如使用用户接口 222)向客户端106提供视频保持输入,以指示用户102想要发起视频保持状态。这可以例如由用户通过按压终端104上的按钮、点击显示器204上显示的图标或通过触摸终端104的触摸屏的特定区域、或者通过经由麦克风212发布在语音识别模块处接收的语音命令来实现。用户102可以以任何其他适当方式与终端104交互以提供视频保持输入。当用户102提供了视频保持输入时,在终端104处的客户端106将在步骤S308中确定视频保持输入已被接收,并且然后该方法将转到步骤S310。在步骤S310中,响应于在客户端104处接收视频保持输入,确定保持视频数据。步骤S310可以在终端104处(例如由客户端106)执行,然后所确定的保持视频数据可以被传输到终端110以便在终端110的显示器上输出。可替代地,确定保持视频数据的步骤S310可以在终端110处执行。在这种情况下,响应于用户104提供视频保持输入,将视频保持消息从终端104传输到终端110,其中该视频保持消息指不视频保持状态已被发起。响应于在终端110处接收视频保持消息,终端110处的客户端112确定要在视频保持状态中在终端110的显示器上输出的保持视频数据。在步骤S312中,所确定的保持视频数据在终端110的显示器处被输出,而不是实时输出由终端104的照相机228捕获的视频数据。以此方式,在视频保持状态中,保持视频数据在视频呼叫中在终端110的显示器上被输出。这意味着,在视频保持状态中的时候,用户102可以执行一些动作,而这些动作在视频呼叫中没有被照相机捕获、传输到终端110以及输出给用户108。
保持视频数据继续在视频保持状态中在终端110的显示器处被输出。在步骤S314中,(例如由终端104的客户端106)确定是否已经从用户102接收到视频释放输入。视频释放输入允许用户102指示他想要结束视频保持状态,从而返回到视频呼叫的正常状态。如果用户102没有在终端104处提供视频释放输入,则该方法继续执行步骤S312,使得保持视频数据继续在视频呼叫中在终端110处被输出给用户108。用户102然后可以决定他想要终止视频保持状态。用户102可以(例如使用用户接口 222)向客户端106提供视频释放输入以指示用户102想要结束视频保持状态。这可以例如由用户通过按压终端104上的按钮、点击显示器204上显示的图标或通过触摸终端104的触摸屏的特定区域、或者通过经由麦克风212发布在语音识别模块处接收的语音命令来实现。用户102可以以任何其他适当方式与终端104交互以提供视频释放输入。当用户102提供了视频释放输入时,在终端104处的客户端106将在步骤S314中确定视频释放输入已被接收,并且然后该方法将转回到步骤S310,使得视频呼叫可以在上面描述的正常状态中继续。当视频保持状态结束时,视频释放消息可以从终端104发送到终端110以向终端110指示视频保持状态已经结束,使得终端110知道视频呼叫将会在正常状态中而不是在视频保持状态中继续。当视频呼叫在视频保持状态中操作时,照相机228可以继续或可以不继续在终端104处捕获视频数据。然而对照相机228而言,可能有利的是在视频保持状态中停止捕获视频数据,因为视频数据将不会在视频呼叫中被使用,并且因此停止视频数据的捕获将减少在终端104处使用的处理资源,而没有不利地影响视频呼叫。类似地,当视频呼叫在视频保持状态中操作时,视频数据可以继续或可以不继续从终端104传输到终端110。然而,可能有利的是,停止在视频保持状态中从终端104向终端110传输视频数据,从而减少在终端104处使用的处理资源且从而减少在通信系统中通过网络传输的数据的量。然而,在一些实施例中,可能有利的是在视频保持状态中继续在终端104处捕获视频数据并且将所捕获的视频数据传输到终端110,例 如以便避免调节照相机228的操作和在终端104处捕获的视频数据的处理的需要。在所有实施例中,在(由用户102发起的)视频保持状态中,视频数据未在照相机228处被捕获并且没有在视频呼叫中在终端110处被实时输出。可能有利的是,视频数据在视频保持状态中从终端104传输到终端110,但是其中该传输的视频数据不是被照相机228捕获的,而是由在终端104处执行的算法生成的,该算法尝试模拟坐在照相机228前面的用户102的图像。例如,在发起视频保持状态之前,可以执行对由在用户终端104处的照相机228捕获的图像中的用户102的头的识别。当用户102按压保持(从而发起视频保持状态)时,在用户终端104上执彳了的客户端生成保持视频数据,其基于用户的头的图像但是可以包括一些覆盖的移动图像。例如,所生成的保持视频数据可以让用户轻微地点头(因为完全静止的图像被用户108感知为显然是人造的)。类似地,在用户终端104上执行的客户端可以检测图像中的用户102的眼睛并且将眨眼插入到保持视频数据中。诸如可以覆盖在用户102的图像上的这些图像之类的移动图像使视频保持状态对在用户终端110处观看保持视频数据的用户108而言是不太好检测的。可能期望的是,对终端110处的用户108而言,不能够分辨视频呼叫的正常视频与在视频保持状态期间在终端110处输出的保持视频数据之间的差异。在该示例中,在终端110处执行的客户端将接收保持视频数据并且以与在视频呼叫期间处理正常的视频数据相同的方式处理它。事实上,在终端110处执行的客户端可能不能够分辨视频呼叫已被保持,因为在终端110处的解码器继续正常地操作以解码在视频呼叫中从用户终端104接收的视频数据。当用户102例如通过在客户端106的用户接口 222中点击“视频保持”来发起视频保持状态时,用户108仍然看到终端110的显示器上显示的(多个)图像。所述(多个)图像是在终端110处显示的保持视频数据,好像它是在视频呼叫中由终端104处的照相机228实时捕获的视频数据。在优选实施例中,保持视频数据基于在视频保持状态发起之前由照相机228捕获的视频数据。保持视频数据被用来使它看起来好像用户102仍然在那里,将在视频呼叫中将实时捕获的视频数据发送到终端110,即使他不在那里。保持视频数据可以是静止图像。该静止图像的一部分可以包括用户102的图像,使得用户108可以在视频保持状态中在视频呼叫中看到用户102的图像。静止图像可以是在视频保持状态发起之前由照相机228捕获的视频数据的帧。例如,静止图像可以是在由用户102发起视频保持状态之前由照相机228捕获的视频数据的最后一帧(或最近捕获的帧)。以此方式,静止图像可以表示当视频保持状态被发起时由照相机捕获的图像的至少一部分(例如用户的当前背景)。在这个意义下,保持视频数据可以被认为是在由用户102发起视频保持状态之前立即被传输到终端110的视频数据的冻结图像。以此方式,当用户102在终端104处启动“视频保持”动作时,终端110的显示器上显示的视频冻结。可替代地,用户102可能能够(例如从由照相机228捕获的最近捕获的视频帧)选择图像来用作保持视频数据。当用户102启动“视频释放”动作时,终端110的显示器上显示的视频恢复。保持视频数据可以包括如上描述的静止图像,但该静止图像覆盖有在视频保持状态中终端110的显示器处(例如循环地或随机地或以某种伪随机定时)输出的移动图像。当该静止图像包括用户102的图像时,然后覆盖到静止图像上的移动图像可以基于应用到在视频保持状态发起之前由照相机228捕获的用户102的视频数据的特征识别。例如,可以使用特征识别在静止图像中的正确位置处标识和覆盖用户102的眼睛。例如,保持视频数据可以包括在视频保持状态发起之前由照相机228捕获的最后一帧(或另一个最近捕获的帧)、或用户选择的但是现在插入了移动的帧,所述移动比如图像中用户102的点头或眨眼。移动图像可以表示用 户102的任何移动,比如上面描述的点头或眨眼,其使得看起来好像用户102仍然在那里,发送视频数据,即使他不在那里。覆盖的移动图像(例如点头和眨眼)优选地以稍微随机地隔开的间隔出现以显得自然,而不是简单地循环,因为循环的视频容易被人类检测为是人造的。对保持视频数据的进一步改变可以被实现以使得保持视频数据看起来在(对用户108而言)感知上更相似于当视频呼叫不在视频保持状态中时从终端104实时捕获和传输的视频呼叫的真实视频数据。例如,在保持视频数据的照明方面的改变(其可以改变保持视频数据的图像的背景)可以被实现,并且/或者差错可能被插入到保持视频数据中以模拟视频呼叫可能经历的网络问题。例如,当视频保持数据在接收器处生成时,接收客户端可以使用对分组丢失的端到端(e2e)测量来将人造分组丢失注入视频保持数据流,好像它已通过网络被传输并且被看到分组丢失的量。然而,当视频保持数据从呼叫者发送到被呼叫者时,它将在分组丢失方面自动地看起来是自然的,因为分组丢失被应用到了视频保持数据,正像实际用户的视频捕获那样。以此方式,视频呼叫的非视频保持状态与视频保持状态之间的转变对用户110而言可能是不那么明显的。保持视频数据可以包括在视频保持状态发起之前由照相机228捕获的多个视频帧,其中所述多个视频帧在视频保持状态中在终端110的显示器处被(例如循环地)输出。例如,保持视频数据可以是在视频保持状态被发起之前由照相机228捕获的视频数据的最后若干帧(或其他最近捕获的帧)的副本。可替代地,所述多个帧可以由用户102 (例如从由照相机228捕获的最近捕获的视频帧)选择。保持视频数据的持续时间可以例如是2秒或10秒,或者可以是在其间视频数据可以在视频保持状态中在视频呼叫中被输出的任何其他适当的时间长度。在优选实施例中,一个目的是用户108不知道用户102已经在视频呼叫中发起了视频保持状态。然而,在一些情形下,可能有益的是告知用户108视频呼叫已被置于保持,例如以便确保用户108不会感知到关于在终端110处输出的视频的问题。例如,当视频呼叫在视频保持状态中操作时,视频已被置于保持的指示可以被连同保持视频数据一起显示在终端110处的显示器上。该指示可以是具有针对用户108的消息的文本指示,例如“视频处于保持”等等。该指示可以是在终端110处的显示器上显示的符号或从在终端110处的扬声器输出的声音,用户108认为其指示视频呼叫正在视频保持状态中操作。该指示可以在终端110处以任何其他适当方式被输出给用户108。如果用户102在与用户108进行视频呼叫期间关断或断开照相机228,则在视频呼叫中没有视频数据将会在终端110的显示器处被输出给用户108。在此情况下,用户108可以将这感知为视频呼叫的问题,比如掉线。然而,利用本文描述的其中用户102可以发起其中在终端110处输出保持视频数据的视频保持状态的方法,于是在视频保持状态中用户108不会认为视频呼叫已经掉线并且不会感知到视频呼叫中的连续性的缺乏。有利地,如上所述,视频保持状态的使用允许用户102进行视频呼叫,同时执行某种动作,而该动作不被照相机228捕获并且不在视频呼叫中被输出给用户108。上面所述和图3所示的方法步骤可以由终端104和110处的模块以软件(例如由客户端106和112)或以硬件执行。例如,传输模块可以在终端104处(例如使用客户端106)实现以用于将数据传输到视频呼叫中的终端110,所述数据比如由照相机228捕获的视频数据和上面所述的视频保持消息。作为另一个示例,接收模块可以在终端110处(例如使用客户端112)实现,以用于在视频呼叫中从终端104接收数据,比如由照相机228捕获的视频数据和上面所述的视频保持消息。作为另一个示例,确定模块可以在终端104处(例如使用客户端106)实现和/或在终端110处(例如使用客户端112)实现以用于确定如上所述的保持视频数据。如上所述的客户端106和112可以被提供为在非临时性计算机可读介质上体现的计算机程序产品,并且可以被配置成在终端104和110的CPU上被执行以用于执行本文所述的方法。在上面所述的实施例中,发起视频保持状态的是用户102。然而,在其他实施例中,使用终端108发起等价的视频保持状态的可以是用户108,使得在终端104的显示器204处输出保持视频数据,而不是输出在终端110处实时捕获的视频数据。这可以以与用户102可以如上所述地发起视频保护状态相同的方式实现。而且,尽管已经 参照优选实施例具体示出和描述了本发明,但是本领域技术人员将会理解,在不脱离由所附权利要求限定的本发明的范围的情况下可以在形式和细节方面进行各种改变。
权利要求
1.一种在第一终端(104)与第二终端(110)之间进行视频呼叫的方法,该方法包括: 利用第一终端的照相机(228)捕获(S302)用于视频呼叫的视频数据; 将所捕获的视频数据传输(S304)到第二终端以用于在视频呼叫中在第二终端的显示器处实时输出; 在第一终端处接收(S308)来自用户(102)的视频保持输入以发起视频保持状态;以及 响应于在第一终端处接收所述视频保持输入,将数据传输到第二终端,所述传输的数据使得在该视频保持状态中在第二终端的显示器处输出保持视频数据,而不是由第一终端的所述照相机实时捕获的视频数据。
2.权利要求1的方法,其中所述传输的数据是向第二终端指示视频保持状态已被发起的视频保持消息。
3.权利要求1的方法,进一步包括在第一终端处确定所述保持视频数据,其中所述传输的数据包括所确定的保持视频数据。
4.权利要求1的方法,进一步包括,在视频保持状态中停止下述至少之一:(i)实时捕获的视频数据到第二终端的传输,以及(ii)利用第一终端的照相机捕获视频数据。
5.权利要求1的方法,其中所述保持视频数据: 基于在视频保持状态发起之前利用 第一终端的照相机捕获的视频数据;或 是单个图像;或 包括覆盖有用于在视频保持状态中第二终端的显示器处输出的移动图像的单个图像。
6.权利要求5的方法,其中所述单个图像的一部分包括用户的图像,并且其中该方法进一步包括基于应用到用户的所述图像的特征识别来确定所述移动图像。
7.权利要求6的方法,其中所述移动图像表示在用户的所述图像中针对用户的头或眼睛的移动。
8.权利要求5的方法,其中所述单个图像是:(i)由第一终端的照相机捕获的视频数据的帧,或(ii)表示在视频保持状态被发起时由照相机捕获的图像的至少一部分。
9.一种终端(164),其被配置成与另外的终端(110)进行视频呼叫,该终端包括: 照相机(228),其被配置成捕获用于视频呼叫的视频数据; 传输模块(224),其被配置成将所捕获的视频数据传输到所述另外的终端以用于在视频呼叫中在所述另外的终端的显示器处实时输出;以及 用户接口,其被配置成接收来自用户的视频保持输入以发起视频保持状态, 其中传输模块被进一步配置成响应于在用户接口处接收所述视频保持输入而将数据传输到所述另外的终端,所述传输的数据使得在视频保持状态中在所述另外的终端的显示器处输出保持视频数据,而不是由终端的所述照相机实时捕获的视频数据。
10.一种用于在第一终端与第二终端之间进行视频呼叫的计算机程序产品,该计算机程序产品体现在非临时性计算机可读介质上并且被配置成使得当在第一终端的处理器上被执行时执行权利要求1-8中任一项的步骤。
全文摘要
用于在第一终端与第二终端之间执行视频呼叫的方法和系统。利用第一终端的照相机捕获用于视频呼叫的视频数据。所捕获的视频数据被实时传输到第二终端以用在视频呼叫中。所捕获的视频数据在视频呼叫中在第二终端的显示器处被实时输出。在第一终端处从用户接收视频保持输入,以便发起视频保持状态。保持视频数据被确定以用于在视频保持状态中在第二终端的显示器处输出。在视频保持状态中,在第二终端的显示器处输出所确定的保持视频数据,而不是在第二终端的显示器处实时输出由第一终端的所述照相机捕获的视频数据。
文档编号H04N7/14GK103220489SQ20131005841
公开日2013年7月24日 申请日期2013年2月25日 优先权日2012年2月24日
发明者J.罗森伯格 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1