CN102215372B - 视频会议中的远程控制操作 - Google Patents

视频会议中的远程控制操作 Download PDF

Info

Publication number
CN102215372B
CN102215372B CN201010600555.1A CN201010600555A CN102215372B CN 102215372 B CN102215372 B CN 102215372B CN 201010600555 A CN201010600555 A CN 201010600555A CN 102215372 B CN102215372 B CN 102215372B
Authority
CN
China
Prior art keywords
equipment
camera
video conference
image
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010600555.1A
Other languages
English (en)
Other versions
CN102215372A (zh
Inventor
J·S·阿布安
J·O·诺麦尔
吴锡荣
过海涛
D·S·普赖斯
周小松
张大中
B·S·图格
小R·加西亚
郑铉国
杨炎
D·A·埃尔德雷德
E·C·克兰菲尔
A·亚诺威兹
陈挺
D·D·阔
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.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/794,772 external-priority patent/US8874090B2/en
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102215372A publication Critical patent/CN102215372A/zh
Application granted granted Critical
Publication of CN102215372B publication Critical patent/CN102215372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及视频会议中的远程控制操作。一些实施例提供一种允许与第二移动设备进行视频会议的第一设备远程控制第二移动设备的方法。所述方法把由第一设备的照相机拍摄的图像发送给第二设备。所述方法接收由第二设备的照相机拍摄的图像。所述方法通过实时通信会话的通信通道,向第二设备发送命令。所述命令用于指令第二设备执行修改由第二设备的照相机拍摄的图像的操作。

Description

视频会议中的远程控制操作
当Apple的iPhone 4的样机在2010年3月25日从Apple的一个工程师处被窃取时,本申请中要揭示和主张的发明被提前且未经Apple授权地向公众公开了。在该明显盗窃之前,尚未提交本申请所基于的美国优先权申请。
背景技术
许多目前的便携式设备,比如智能电话机具备视频拍摄功能。通过电话机上的照相机,便携式设备的用户能够拍摄静止图像和视频。不过,在完成视频拍摄之后,为了把拍摄的视频传送给另一方,用户通常必须直接把视频发送给所述另一方,或者把视频上传到另一位置(例如,因特网视频托管网站(hosting site))。不幸的是,这不允许所述另一方在便携式设备拍摄视频的时候,查看实时视频流。
另外,标准的便携式设备只配备一部照相机,并且处理来自该照相机的信息相当困难。理想的设备理应具有多部照相机,并且能够发送实时视频,所述实时视频是来自至少两部照相机的视频的合成。就处理多个拍摄的视频流的设备,和与所述设备连接、负责处理实时视频流的传输的网络来说,鉴于可供便携式设备利用的资源有限,这是一个尤其困难的问题。
发明内容
本发明的一些实施例提供具有两部能够拍摄照片和视频的照相机的移动设备。一些实施例的移动设备具有显示拍摄的照片图像和视频图像的显示屏幕。它还包括保存拍摄的图像以便稍后传送给另一个设备的存储器。所述设备还具有网络接口,所述网络接口允许该设备在多个设备的用户之间的实时通信会话期间,把拍摄的图像传送给一个或多个设备。所述设备还包括编码器,它可使用所述编码器对拍摄的图像编码,以便本地存储或者传送给另一个设备。所述移动设备还包括解码器,所述解码器允许该设备对在实时通信会话期间由另一个设备拍摄的图解解码,或者对本地保存的图像解码。
涉及拍摄的视频图像的传输的实时通信会话的一个例子是视频会议。在一些实施例中,移动设备在视频会议期间的任意特定时间,只能够传送一部照相机拍摄的视频图像。不过,在其它实施例中,移动设备能够在视频会议或者其它实时通信会话期间,同时传送来自其两部照相机拍摄的视频图像。
在与另一个设备的视频会议期间,一些实施例的移动设备通过连同由其一部或两部照相机拍摄的视频一起,传送其它类型的内容。这种其它内容的一个例子包括在该设备的一部照相机拍摄用于视频会议的视频时,由设备的另一部照相机拍摄的低分辨率或高分辨率照片图像。这种其它内容的其它例子包括(1)保存在设备上的文件和其它内容,(2)设备的屏幕显示(即,显示在设备的屏幕上的内容),(3)在视频会议或者其它实时通信会话期间,从另一个设备接收的内容,等等。
一些实施例的移动设备采用新颖的会议中(in-conference)调整技术,在视频会议期间进行调整。例如,在视频会议期间只传送一部照相机拍摄的视频时,一些实施例的移动设备能够动态切换成传送由其另一部照相机拍摄的视频。在这种情况下,一些实施例的移动设备把这种切换通知参与视频会议的任何其它设备,使得所述其它设备能够在它那一端提供由这两部照相机拍摄的视频之间的平滑转换。
在一些实施例中,切换照相机的请求不仅能够起源于在视频会议期间,在其照相机之间进行切换的“本地”设备,而且还能够起源于正接收本地设备拍摄的视频的另一个“远程”设备。此外,允许一个设备指令另一个设备切换照相机只是一些实施例的设备的远程控制能力的一个例子。在一些实施例中,能够远程向设备指令的其它操作的例子包括曝光调整操作(例如,自动曝光),焦距调整操作(例如,自动聚焦)等等。能够本地或远程指定的新颖的会议中调整的另一个例子是识别拍摄视频中的感兴趣区域(ROI),和使用所述ROI识别修改拍摄照相机的行为,修改带有拍摄照相机的设备的图像处理操作,或者修改带有拍摄照相机的设备的编码操作。
一些实施例的新颖的会议中调整的又一个例子涉及设备产生的合成视频显示的实时修改。具体地说,在一些实施例中,移动设备产生同时显示由一个或多个设备的多部照相机拍摄的多个视频的合成显示。在一些情况下,合成显示把视频放在相邻的显示区中(例如,放在相邻的窗口中)。在其它情况下,合成显示是画中画(PIP)显示,所述PIP显示包括显示两个不同视频的至少两个显示区,其中一个显示区是背景主显示区,另一个显示区是重叠在背景主显示区上的前景插入显示区。
一些实施例中的合成视频显示的实时修改涉及响应于用户对显示区的选择和移动,在合成显示内移动一个或多个显示区。当提供合成显示的设备的屏幕旋转时,一些实施例还在视频会议期间旋转该合成显示。另外,一些实施例的移动设备允许设备的用户交换(swap)PIP显示中的视频(即,使前景插入显示中的视频出现在背景主显示中,而使背景主显示中的视频出现在前景插入显示中)。
前面的发明内容意图简单介绍本发明的一些实施例。并不意味是在本文献中公开的所有发明主题的介绍或综述。下面的具体实施方式和在具体实施方式中涉及的附图将进一步说明在所述发明内容中描述的实施例,以及其它实施例。因此,要理解本文献描述的所有实施例,需要完整地考察发明内容、具体实施方式和附图。
附图说明
附加权利要求中陈述了本发明的新颖特征。不过,为了说明,在下述附图中表示了本发明的几个实施例。
图1图解说明一些实施例的合成显示。
图2图解说明一些实施例的另一种合成显示。
图3概念地图解说明一些实施例的双照相机移动设备的视频处理和编码模块的软件体系结构。
图4概念地图解说明一些实施例的拍摄图像处理单元。
图5概念地图解说明基于不同的垂直消隐间隔(VBI)的不同帧速率的例子。
图6概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块的软件体系结构。
图7概念地图解说明一些实施例的示例视频会议请求消息接发序列。
图8图解说明一些实施例的视频会议设置操作的用户界面。
图9图解说明一些实施例的接受视频会议邀请的用户界面。
图10图解说明一些实施例的接受视频会议邀请的另一用户界面。
图11图解说明一些实施例的视频会议设置操作的另一用户界面。
图12概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块的另一软件体系结构。
图13概念地图解说明一些实施例的双照相机移动设备的另一软件体系结构。
图14概念地图解说明由如图12中图解说明的一些实施例的视频会议管理器执行的处理。
图15概念地图解说明由如图6中图解说明的一些实施例的图像处理管理器执行的处理。
图16图解说明一些实施例的曝光调整操作的用户界面。
图17图解说明一些实施例的焦距调整操作的用户界面。
图18概念地图解说明如图12中图解说明的一些实施例的连网管理器的软件体系结构。
图19图解说明一些实施例的PIP显示旋转操作的用户界面。
图20图解说明一些实施例的PIP显示旋转操作的另一用户界面。
图21图解说明一些实施例的PIP显示旋转操作的另一用户界面。
图22图解说明一些实施例的PIP显示旋转操作的另一用户界面。
图23图解说明一些实施例的识别显示画面中的感兴趣区域的用户界面。
图24图解说明一些实施例的识别显示画面中的感兴趣区域的另一用户界面。
图25图解说明一些实施例的识别显示画面中的感兴趣区域的另一用户界面。
图26图解说明一些实施例的在双照相机移动设备上进行本地切换照相机操作的处理。
图27图解说明一些实施例的切换照相机操作的用户界面。
图28图解说明一些实施例的切换照相机操作的另一用户界面。
图29图解说明一些实施例的切换照相机操作的另一用户界面。
图30图解说明一些实施例的切换照相机操作的另一用户界面。
图31图解说明一些实施例的在双照相机移动设备上进行远程切换照相机操作的处理。
图32图解说明一些实施例的远程控制切换照相机操作的用户界面。
图33图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
图34图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
图35图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
图36概念地图解说明一些实施例的进行曝光调整操作的处理。
图37图解说明一些实施例的进行曝光调整操作的用户界面。
图38图解说明一些实施例的进行曝光调整操作的另一用户界面。
图39图解说明一些实施例的进行曝光调整操作的另一用户界面。
图40概念地图解说明由如图12中图解说明的一些实施例的图像处理管理器执行的曝光调整处理。
图41概念地图解说明一些实施例的曝光调整操作。
图42概念地图解说明一些实施例的执行焦距调整操作的处理。
图43图解说明一些实施例的焦距调整操作的用户界面。
图44图解说明一些实施例的焦距调整操作的另一用户界面。
图45图解说明一些实施例的焦距调整操作的另一用户界面。
图46概念地图解说明一些实施例的应用编程接口(API)体系结构。
图47图解说明一些实施例的双照相机移动计算设备的体系结构。
图48概念地图解说明一些实施例的触摸输入/输出(I/O)设备。
图49概念地图解说明一些实施例的示例通信系统。
图50概念地图解说明一些实施例的另一示例通信系统。
具体实施方式
在下面的描述中,出于解释说明的目的,陈述了众多的细节。不过,本领域的普通技术人员会认识到可在不利用这些具体细节的情况下实践本发明。在其它情况下,为了因不必要的细节而使本发明的描述模糊不清,以方框图的形式表示了公知的结构和设备。
本发明的一些实施例提供一种具有两部能够拍摄照片和视频的照相机的移动设备。移动设备的例子包括移动电话机、智能电话机、个人数字助理(PDA)、膝上型计算机、平板个人计算机或者任何其它类型的移动计算设备。本文中使用的照片指的是按单张拍摄模式每次一张地,或者按快速拍摄模式每次几张地由照相机拍摄的静止照片图像。另一方面,视频指的是照相机以特定速率(通常称为帧速率)拍摄的一系列视频图像。拍摄视频的典型帧速率是25帧/秒(fps)、30fps和60fps。一些实施例的移动设备的照相机能够以这些和其它帧速率拍摄视频图像(即,视频帧)。
一些实施例的移动设备(1)能够显示拍摄的照片图像和视频图像,(2)能够保存拍摄的图像,以便稍后传送给另一个设备,(3)能够在多个设备的多位用户之间的实时通信会话期间,把拍摄的图像传送给一个或多个设备,和(4)能够对拍摄的图像编码,以便本地存储或者传送给另一个设备。
涉及拍摄的视频图像的传输的实时通信会话的一个例子是视频会议。在一些实施例中,在视频会议期间的任意特定时间,移动设备只能够传送一部照相机拍摄的视频图像。不过,在其它实施例中,在视频会议或者其它实时通信会话期间,移动设备能够同时传送其两部照相机拍摄的视频图像。
一些实施例的移动设备产生合成显示,所述合成显示包含由一个或多个设备的多部照相机拍摄的多个视频的同时显示。在一些情况下,合成显示把视频放在相邻的显示区中(例如,放在相邻的窗口中)。图1图解说明合成显示100的一个这种例子,合成显示100包括两个相邻的显示区105和110,这两个显示区105和110同时显示由一个设备的两部照相机拍摄的,或者由参加视频会议的两个不同设备的两部照相机拍摄的两个视频。
在其它情况下,合成显示是包括显示两个不同视频的至少两个显示区的PIP显示,其中一个显示区是背景主显示区,另一个显示区是重叠在背景主显示区之上的前景插入显示区。图2图解说明合成PIP显示200的一个这种例子。合成PIP显示200包括背景主显示区205和重叠在背景主显示区之上的前景插入显示区210。这两个显示区205和210同时显示由一个设备的两部照相机拍摄的,或者由参加视频会议的两个不同设备的两部照相机拍摄的两个视频。尽管在本文中举例说明和讨论的示例合成PIP显示类似于在背景主显示区205内显示整个前景插入显示区210的合成PIP显示200,不过具有重叠在背景主显示区205之上,但是并不完全在背景主显示区205内的前景插入显示区210的其它合成PIP显示也是可能的。
除了在与另一个设备的视频会议期间传送视频内容之外,一些实施例的移动设备能够随同会议的视频内容一起传送其它类型的内容。这种其它内容的一个例子包括在设备的照相机之一正在拍摄用于视频会议的视频时,由该设备的另一部照相机拍摄的低分辨率或高分辨率照片图像。这种其它内容的其它例子包括(1)保存在设备上的文件和其它内容,(2)设备的屏幕显示(即,显示在设备的屏幕上的内容),(3)在视频会议或者其它实时通信会话期间,从另一个设备接收的内容,等等。
一些实施例的移动设备采用新颖的会议中调整技术,在视频会议期间进行调整。例如,当在视频会议期间只传送一部照相机拍摄的视频时,一些实施例的移动设备能够动态切换成传送由其另一部照相机拍摄的视频。在这种情况下,一些实施例的移动设备把这种切换通知参加视频会议的任何另一个设备,使得所述另一个设备能够在它那一端提供这两部照相机拍摄的视频之间的平滑转换。
在一些实施例中,切换照相机的请求不仅能够起源于在视频会议期间,在其照相机之间进行切换的“本地”设备,而且还能够起源于正接收本地设备拍摄的视频的另一个“远程”设备。此外,允许一个设备指令另一个设备切换照相机只是一些实施例的设备的远程控制能力的一个例子。在一些实施例中,能够远程向设备指令的其它操作的例子包括曝光调整操作(例如,自动曝光),焦距调整操作(例如,自动聚焦)等等。能够本地或远程指定的新颖的会议中调整的另一个例子是识别拍摄视频中的感兴趣区域(ROI),和使用所述ROI识别修改拍摄照相机的行为,修改带有拍摄照相机的设备的图像处理操作,或者修改带有拍摄照相机的设备的编码操作。
一些实施例的新颖的会议中调整的又一个例子涉及设备产生的合成视频显示的实时修改。具体地说,在一些实施例中,合成视频显示的实时修改涉及响应于用户对显示区的选择和移动,在合成显示内移动一个或多个显示区。当提供合成显示的设备的屏幕旋转时,一些实施例还在视频会议期间旋转该合成显示。另外,一些实施例的移动设备允许设备的用户翻转(flip)PIP显示中的视频的顺序(即,使前景插入显示中的视频出现在背景主显示中,而使背景主显示中的视频出现在前景插入显示中)。
下面说明几个更详细的实施例。第I节提供一些实施例的视频处理体系结构的说明。随后,第II节描述一些实施例的拍摄图像处理单元。在一些实施例中,拍摄图像处理单元是设备的负责处理由设备的照相机拍摄的原始图像的组件。
接下来,第III节描述一些实施例的视频会议体系结构。第III节还描述一些实施例的视频会议模块,以及设置单照相机视频会议的几种方式。之后,第IV节描述一些实施例的会议中调整和控制操作。第V节接下来描述一些实施例的双照相机设备的硬件体系结构。最后,与本申请同时提交的美国专利申请**,名称为“Establishing a Video ConferenceDuring a Phone Call”(代理人卷号No.APLE.P0212)描述与上述一些特征相关的几个另外的实施例,比如一些会议中的调整,等等。名称为“Establishing a Video Conference During a Phone Call”的美国专利申请在此引为参考。
I.视频拍摄和处理
图3概念地图解说明一些实施例的双照相机移动设备的视频处理和编码模块300。在一些实施例中,模块300对由双照相机移动设备的照相机拍摄的图像进行处理,和对视频进行编码。如图3中所示,模块300包括拍摄图像处理单元(CIPU)驱动器305、媒体交换模块310、编码器驱动器320和视频处理模块325。
在一些实施例中,媒体交换模块310允许设备上的程序(媒体内容的使用者和制造者)交换媒体内容和关于媒体内容的处理的指令。在视频处理和编码模块300中,一些实施例的媒体交换模块310在视频处理模块325和CIPU驱动器305之间,以及在视频处理模块325和编码器驱动器320之间路由这些指令和媒体内容。为了使所述指令和媒体内容的路由更容易,一些实施例的媒体交换模块310提供供媒体内容的使用者和制造者使用的一组应用编程接口(API)。在一些这样的实施例中,媒体交换模块310是作为运行于双照相机移动设备上的操作系统的一部分的一组一个或多个架构。这种媒体交换模块310的一个例子是苹果公司提供的Core Media架构。
视频处理模块325对由设备的照相机拍摄的图像和/或视频进行图像处理。这种操作的例子包括曝光调整操作、焦距调整操作、透视校正、动态范围调整、图像缩放、图像合成等等。在一些实施例中,一些图像处理操作也可由媒体交换模块310执行。例如,如图3中所示,一些实施例的媒体交换模块310执行降低由设备的照相机拍摄的视频图像中的噪声的时间噪声降低(TNR)操作(例如,用TNR 315)。下面提供视频处理模块325和媒体交换模块310的这种图像处理操作的另外的例子。
通过媒体交换模块310,视频处理模块325与CIPU驱动器305和编码器驱动器320接口,如上所述。CIPU驱动器305充当拍摄图像处理单元(CIPU)330和媒体交换模块310之间的通信接口。如以下进一步所述,CIPU 330是双照相机设备的组件,负责处理在设备的照相机的图像拍摄或者视频拍摄操作期间拍摄的图像。CIPU驱动器305通过媒体交换模块310,从视频处理模块325接收对来自设备的一部或两部照相机的图像和/或视频的请求。CIPU驱动器305把所述请求传递给CIPU 330,作为响应,从CIPU 330接收请求的图像和/或视频,CIPU驱动器305随后通过媒体交换模块310,把接收的图像和/或视频发送给视频处理模块325。通过CIPU驱动器305和媒体交换模块310,一些实施例的视频处理模块325还向CIPU 330发送指令,以便修改其一些操作(例如,修改照相机的帧速率、曝光调整操作、焦距调整操作等等)。
编码器驱动器320充当媒体交换模块310和编码器硬件335(例如,编码器芯片、芯片系统上的编码组件等等)之间的通信接口。在一些实施例中,编码器驱动器320通过媒体交换模块310,从视频处理模块325接收图像和对图像编码的请求。编码器驱动器320把要编码的图像发送给编码器335,编码器335随后对图像进行照片编码或视频编码。当编码器驱动器320从编码器335接收到编码图像时,编码器驱动器320通过媒体交换模块310,把编码图像回送给视频处理模块325。
在一些实施例中,视频处理模块325能够对它从编码器接收的编码图像进行不同的操作。所述操作的例子包括把编码图像保存在设备的存储器中,通过设备的网络接口在视频会议中传送编码图像,等等。
在一些实施例中,视频处理和编码模块300的一些或全部模块被实现成操作系统的一部分。例如,一些实施例把视频处理和编码模块300的所有四个组件305、310、320和325实现成设备的操作系统的一部分。其它实施例把媒体交换模块310、CIPU驱动器305和编码器驱动器320实现成设备的操作系统的一部分,而把视频处理模块325作为在操作系统上运行的应用。另外,模块300的其它实现也是可能的。
现在说明在视频拍摄会话期间,视频处理和编码模块300的操作。为了开始视频拍摄会话,视频处理模块325初始化为视频拍摄会话所需的几个组件。在一些实施例中,这些组件包括(1)CIPU 330,(2)视频处理模块325的比例缩放和合成模块(未示出),(3)视频处理模块325的图像处理模块(未示出),和(4)编码器335。另外,当参与视频会议时,一些实施例的视频处理模块325初始化网络管理器(未示出)。
通过媒体交换模块310和CIPU驱动器305,视频处理模块把其初始化请求发送给CIPU 330,以使设备的一部或两部照相机开始视频拍摄。在一些实施例中,所述请求指定需要拍摄视频的每部照相机的特定帧速率、曝光度和缩放比例大小。响应所述请求,CIPU 330开始以指定的帧速率、曝光度和缩放比例大小,返回来自所请求的照相机的视频图像。这些视频图像通过CIPU驱动器305和媒体交换模块310被返回给视频处理模块325,如上所述,在把视频图像提供给视频处理模块325之前,媒体交换模块310对视频图像进行TNR操作。在视频处理模块325,视频图像被保存在缓冲器(未示出)中,以便进行另外的图像处理。
视频处理模块325的图像处理模块取回保存在缓冲器中的视频图像,以进行另外的视频处理。比例缩放和合成模块随后取回处理后的视频图像,以便比例缩放视频图像(如果是在设备的显示屏幕上的实时显示所必需的话)。在一些实施例中,该模块用由设备的两部照相机拍摄的图像,或者用在视频会议期间由设备的照相机以及另一个设备的照相机拍摄的图像创建合成图像,以便在设备上提供拍摄的视频图像的实时显示,或者创建供编码的合成视频图像。
处理和/或合成后的视频图像通过编码器驱动器320和媒体交换模块310被提供给编码器335。编码器335随后对视频图像编码。编码图像随后被返回给视频处理模块325(再次通过编码器驱动器320和媒体交换模块310),以便保存在设备上,或者在视频会议期间传输。当设备参加视频会议时,网络管理器(由视频处理模块325初始化)随后取回这些编码图像,对编码图像分包,并通过设备的网络接口(未示出)把编码图像传送给一个或多个其它设备。
II.拍摄图像处理
由一些实施例的双照相机移动设备的照相机拍摄的图像是原始的未处理图像。在这些图像能够被用于其它操作,比如把图像传送给另一个设备(例如,在视频会议期间)、保存图像、或者显示图像之前,这些图像需要变换到特定的色空间。另外,照相机拍摄的图像需要被处理,以校正错误和/或失真,以及调整图像的颜色、大小等等。因此,一些实施例在保存、传送和显示这种图像之前,对图像进行几种处理操作。所述图像的部分处理由CIPU 330执行。
图4中图解说明了所述CIPU的一个例子。具体地说,图4概述地图解说明一些实施例的拍摄图像处理单元(CIPU)400。CIPU 400包括或者每次只处理来自设备的照相机之一的图像,或者按照时分多路复用方式(即,按照时间交织方式)同时处理来自设备的两部照相机的图像的单处理管线(single processing pipeline)485。可以不同地配置CIPU 400的处理管线485,以处理不同照相机的不同特性和/或操作设置。一些实施例中的不同照相机特性的例子包括不同的分辨率、噪声传感器、透镜类型(固定透镜或变焦透镜),等等。另外,在一些实施例中,设备能够按照其操作照相机的不同操作设置的例子包括图像分辨率大小、帧速率、变焦级别、曝光度等。
如图4中所示,CIPU 400包括传感器模块415,行/帧缓冲器417,坏像素校正(BPC)模块420,透镜阴影(LS)模块425,去马赛克模块430,白平衡(WB)模块435,γ模块440,色空间变换(CSC)模块445,色调、饱和度和对比度(HSC)模块450,定标器模块455,滤波器模块460,统计引擎465,两组寄存器470,和控制器模块475。在一些实施例中,CIPU400的全部模块都是用硬件(例如,ASIC、FPGA、带有微控制器的SOC,等等)实现的,而在其它实施例中,CIPU 400的一些或全部模块是用软件实现的。
如图4中所示,传感器模块415与设备的两部照相机的两个像素阵列410a和410b,及两组传感器405a和405b通信耦接。在一些实施例中,通过每个照相机传感器的移动行业处理器接口(MIPI),使所述通信耦接更容易。
通过所述通信耦接,传感器模块415能够向照相机转发指令,以控制每部照相机的操作的各个方面,比如其功率级、变焦级别、焦距、曝光度等。在一些实施例中,每部照相机具有四种工作功率模式。在第一种工作功率模式下,照相机被断电。就第二种工作功率模式来说,照相机被通电,不过照相机还未被配置。在第三种工作功率模式下,照相机被通电,照相机的传感器被配置,并且照相机传感器的像素收集光子,并把收集的光子转换成数字值。不过,照相机传感器还未向传感器模块415发送图像。最后,在第四种工作功率模式下,照相机处于和第三种功率模式相同的工作功率模式之下,除了照相机现在向传感器模块415发送图像之外。
在设备的操作期间,照相机可多次从一种工作功率模式切换到另一种工作功率模式。当切换工作功率模式时,一些实施例要求照相机按照上述顺序切换工作功率模式。于是,在这些实施例中,第一种工作功率模式下的照相机只能切换到第二种工作功率模式。当照相机处于第二种工作功率模式时,它能够切换到第一种工作功率模式或者第三种工作功率模式。类似地,照相机能够从第三种工作功率模式切换到第二种工作功率模式或者第四种工作功率模式。当照相机处于第四种工作功率模式时,它只能够切换回第三种工作功率模式。
此外,从一种工作功率模式切换到下一种或前一种工作功率模式需要一定量的时间。从而,切换两种或三种工作功率模式慢于切换一种工作功率模式。不同的工作功率模式还消耗不同量的功率。例如,第四种工作功率模式消耗最大量的功率,第三种工作功率模式消耗的功率高于第一种和第二种工作功率模式,以及第二种工作功率模式消耗的功率高于第一种工作功率模式。在一些实施例中,第一种工作功率模式不消耗任何功率。
当照相机未处于拍摄图像的第四种工作功率模式时,可使照相机保持在其它工作功率模式之一下。使不用的照相机保持在哪种工作模式之下的确定取决于允许照相机消耗多少功率和照相机需要多快地响应开始拍摄图像的请求。例如,配置成按照第三种工作功率模式(例如,待机模式)工作的照相机比配置成处于第一种工作功率模式(即,断电)的照相机消耗更多的功率。不过,当指令照相机拍摄图像时,按照第三种工作功率模式工作的照相机能够比按照第一种工作功率模式工作的照相机更快地切换到第四种工作功率模式。因而,根据不同的要求(例如,对拍摄图像的请求的响应时间,功率消耗),当不拍摄图像时,照相机可被配置成按照不同的工作功率模式工作。
如以下进一步所述,当视频处理模块325请求一部或两部照相机开始拍摄图像,并且传感器模块415通过控制器模块475接收到该请求时,通过它与每部照相机的通信耦接,传感器模块415能够指令一组或两组照相机传感器开始拍摄图像。拜尔滤镜被叠加在每个照相机传感器之上,从而每个照相机传感器输出拜尔格式图像,所述拜尔格式图像被保存在与每个照相机传感器关联的像素阵列中。拜尔格式图像是其中每个像素只保存一种颜色值:红、蓝或绿的图像。
通过它与像素阵列410a和410b的耦接,传感器模块415取回保存在照相机像素阵列410a和410b中的原始拜尔格式图像。通过控制传感器模块415从照相机的像素阵列取回图像的速率,传感器模块415能够控制由特定照相机拍摄的视频图像的帧速率。通过控制其图像取回的速率,传感器模块415还能够交织由不同照相机拍摄的图像的读取,以便交织CIPU处理管线485对来自不同照相机的拍摄图像的图像处理。以下以及在上述引入的美国专利申请**,名称为“Establishing a VideoConference During a Phone Call”(代理人卷号No.APLE.P0212)中进一步说明传感器模块415对其图像取回的控制。
传感器模块415把它从像素阵列410a和410b取回的图像行(即,图像的一排排像素)保存在行/帧缓冲器417中。通过CIPU处理管线485处理行/帧缓冲器417中的每个图像行。如图4中所示,CIPU处理管线485由BPC模块420、LS模块425、去马赛克模块430、WB模块43、γ模块440、CSC模块445、HSC模块450、定标器模块455和滤波器模块460构成。在一些实施例中,CIPU处理管线485逐行(即,逐排)地处理来自行/帧缓冲器417的图像,而在其它实施例中,CIPU处理管线485逐帧地处理来自行/帧缓冲器417的整个图像。
在图4中图解说明的示例管线中,BPC模块420是从行/帧缓冲器417取回图像的模块。BPC模块420进行坏像素消除操作,该操作设法校正取回的图像中可能由一个或多个有缺陷的照相机传感器引起的坏像素(例如,有缺陷的光子传感器根本不感测光,错误地感测光等等)。在一些实施例中,BPC模块420通过比较图像中的特定像素与图像中的一个或多个相邻像素,检测坏像素。如果所述特定像素的值与所述相邻像素的值之间的差异大于阈值量,那么用颜色(即,红、绿和蓝)与所述特定像素相同的几个相邻像素的值的平均值替换所述特定像素的值。
BPC模块420的操作部分由为该模块保存在CIPU 400的两组寄存器470中的值控制。具体地说,为了处理由设备的两部不同照相机拍摄的图像,一些实施例关于每部照相机不同地配置CIPU处理管线485,如上所述。通过在CIPU 400的两组不同的寄存器470a(Ra)和470b(Rb)中保存两组不同的值,为两部不同的照相机配置CIPU处理管线485。每组寄存器470包括用于CIPU处理管线485内的每个模块420-460的一个寄存器(Ra或Rb)。每个寄存器组中的每个寄存器保存一组定义一个处理管线模块的操作的值。因此,如图4中所示,寄存器组470a用于指示双照相机移动设备的一部照相机(照相机A)的每个处理管线模块的工作模式,而寄存器组470b用于指示双照相机移动设备的另一部照相机(照相机B)的每个处理管线模块的工作模式。
对于每部照相机不同地配置CIPU处理管线485的一个例子是把CIPU处理管线485的模块配置成处理大小不同的图像。例如,如果照相机传感器405a为640×480像素,照相机传感器405b为2048×1536像素,那么一组寄存器470a被配置成保存指令CIPU处理管线485的各个模块处理640×480像素图像的值,以及一组寄存器470b被配置成保存指令CIPU处理管线485的各个模块处理2048×1536像素图像的值。
在一些实施例中,不同的处理管线配置(即,寄存器值)被保存在不同的简档设置中。在一些这样的实施例中,允许移动设备的用户选择简档设置之一(例如,通过显示在移动设备上的用户界面),以设置一部或多部照相机的操作。例如,用户可以选择把照相机配置成拍摄高分辨率视频的简档设置,把相同的照相机配置成拍摄低分辨率视频的简档设置,或者把两部照相机都配置成拍摄高分辨率静止图像的简档设置。各种不同的配置都是可能的,可被保存在许多不同的简档设置中。在其它这样的实施例中,代替允许用户选择简档设置,根据用户选择的应用或活动,自动选择简档设置。例如,如果用户选择视频会议应用,那么自动选择把两部照相机配置成拍摄视频的简档,如果用户选择照片应用,那么自动选择把照相机之一配置成拍摄静止图像的简档,等等。
在BPS模块420之后,LS模块425接收坏像素校正后的图像。LS模块425执行透镜阴影校正操作,以校正由产生光衰减效应(即,朝着照相机传感器的边缘,光逐渐减少)的照相机透镜引起的图像缺陷。这种效应导致图像照明度不均匀(例如,在角落和/或边缘更暗)。为了校正这些图像缺陷,一些实施例的LS模块425估计透镜的照明度衰减的数学模型。估计的模型随后被用于补偿图像的透镜衰减,以均匀地照明图像的未被均匀照明的部分。例如,如果图像的角落的亮度是图像中心的亮度的一半,那么一些实施例的LS模块425把角落像素值乘以2,以便产生均匀的图像。
去马赛克模块430执行去马赛克操作,以便由采样颜色的图像产生全色图像。如上所述,照相机传感器输出拜尔格式图像,由于拜尔格式图像的每个像素只保存一种色值,因此拜尔格式图像是不完整的。去马赛克模块430通过在拜尔格式图像中插入每组颜色的色值,由拜尔格式图像重构红、绿、蓝(RGB)图像。
WB模块435对从去马赛克模块430接收的RGB图像执行白平衡操作,使得图像内容的颜色与现实生活中人眼感觉到的所述内容的颜色相似。WB模块435通过调整图像的颜色来调整白平衡,以正确地呈现中性颜色(例如,灰、白等)。例如,在白炽灯下的一张白纸的图像可能显现为黄色,而人眼感觉所述一张纸为白色。为了解决传感器拍摄的图像的颜色与人眼感觉的图像的颜色之间的差异,WB模块435调整图像的色值,使得拍摄的图像正确地反映人眼感觉的颜色。
统计引擎465收集在CIPU处理管线485的各个阶段的图像数据。例如,图4表示统计引擎465收集在LS模块425、去马赛克模块430和WB模块435之后的图像数据。不同的实施例从CIPU处理管线485的任意数目的不同阶段收集数据。统计引擎465处理收集的数据,并根据处理后的数据,通过控制器模块475和传感器模块415调整照相机传感器405a和405b的操作。这种操作的例子包括曝光和聚焦。尽管图4显示通过控制器模块475控制照相机传感器405a和405b的统计引擎465,不过,统计引擎465的其它实施例通过传感器模块415控制照相机传感器。
处理后的数据还可用于调整CIPU 400的各个模块的操作。例如,一些实施例的统计引擎465根据在WB模块435之后收集的数据,调整WB模块435的操作。在一些这样的实施例中,统计引擎465通过利用处理后的数据提供自动白平衡(AWB)功能,以调整WB模块435的白平衡操作。其它实施例可以使用从CIPU处理管线485的任意数目的阶段收集的处理后数据来调整CIPU处理管线485内的任意数目模块的操作。此外,统计引擎465还能够从控制器模块475接收指令,以调整CIPU处理管线485的一个或多个模块的操作。
在从WB模块435接收到图像之后,γ模块440对图像进行γ校正操作,以编码和解码照相机系统的亮度或者三色值。一些实施例的γ模块440通过把10-12比特的线性信号转换成8比特的非线性编码,以校正图像的γ值,进行γ值校正。一些实施例利用查找表校正γ值。
CSC模块445把从γ模块440接收的图像从一个色空间变换到另一个色空间。具体地说,CSC模块445把图像从RGB色空间变换到亮度和色度(YUV)色空间。不过,CSC模块445的其它实施例可以往来于任意数目的色空间变换图像。
HSC模块450可调整从CSC模块445接收的图像的色调、饱和度、对比度或者它们的任意组合。例如,HSC模块450可以调整这些性质,以降低噪声或者增强图像。例如,可以增大由低噪声照相机传感器拍摄的图像的饱和度,以使图像显得更鲜艳。相反,可以降低由高噪声照相机传感器拍摄的图像的饱和度,以降低这种图像的色噪声。
在HSC模块450之后,定标器模块455可缩放图像,以调整图像的像素分辨率,或者调整图像的数据大小。例如,定标器模块455还可减小图像的大小,以便适合较小的显示器。例如,定标器模块455能够以许多不同的方式比例缩放图像。例如,定标器模块455能够按比例增大(即,放大)和按比例减小(即,缩小)图像。定标器模块455还能够按比例缩放图像,或者变形地缩放图像。
滤波器模块460对从定标器模块455接收的图像应用一种或多种滤波操作,以改变图像的一些或全部像素的一种或多种属性。滤波器的例子包括低通滤波器、高通滤波器、带通滤波器、双边滤波器、高斯滤波器,等等。因而,滤波器模块460能够对图像应用任意多种不同的滤波。
一些实施例的控制器模块475是控制CIPU 400的操作的微控制器。在一些实施例中,控制器模块475(1)通过传感器模块41,控制照相机传感器的操作(例如,曝光度),(2)控制CIPU处理管线485的操作,(3)控制CIPU处理管线485的定时(例如,何时切换照相机传感器,何时切换寄存器,等等),和(4)控制闪光灯/频闪闪光灯(未示出),所述闪光灯/频闪闪光灯是一些实施例的双照相机移动设备的一部分。
控制器模块475的一些实施例处理从统计引擎465和CIPU驱动器480接收的指令。在一些实施例中,从CIPU驱动器480接收的指令是来自双照相机移动设备(即,接收自本地设备)的指令,而在其它实施例中,从CIPU驱动器480接收的指令是来自另一个设备的指令(例如,视频会议期间的远程控制)。根据处理后的指令,控制器模块475能够通过规划寄存器470的值,调整CIPU 400的操作。此外,控制器模块475能够在CIPU 400的操作期间,动态重新规划寄存器470的值。
如图4中所示,CIPU 400包括CIPU处理管线485中的许多模块。不过,本领域的普通技术人员会认识到可以只用一些图解说明的模块,或者用另外的不同模块实现CIPU 400。另外,由不同模块执行的处理可按照与图4中图解说明的顺序不同的顺序应用于图像。
现在参考图4,说明CIPU 400的一个示例操作。为了说明起见,一组寄存器Ra被用于处理由双照相机移动设备的照相机传感器405a拍摄的图像,以及一组寄存器Rb被用于处理由双照相机移动设备的照相机传感器405b拍摄的图像。控制器模块475从CIPU驱动器480接收产生由双照相机移动设备的照相机之一拍摄的图像的指令。
控制器模块475随后初始化CIPU处理管线485的各个模块,以处理由双照相机移动设备的照相机之一拍摄的图像。在一些实施例中,这包括控制器模块475检查是否使用了寄存器470中的一组正确寄存器。例如如果CIPU驱动器480指令控制器模块475产生由照相机传感器405a拍摄的图像,那么控制器模块475检查一组寄存器Ra是否是CIPU 400的模块读取的一组寄存器。如果不是,那么控制器模块475在两组寄存器之间切换,使得该组寄存器Ra是由CIPU 400的模块读取的一组寄存器。
对CIPU处理管线485中的每个模块来说,工作模式由保存在所述一组寄存器Ra中的值指示。如前所述,一组寄存器470中的值能够在CIPU 400的操作期间被动态重新规则。从而,一个图像的处理不同于下一个图像的处理。尽管CIPU 400的本示例操作的讨论描述CIPU 400中的每个模块读取保存在寄存器中的指示各个模块的工作模式的值,不过在一些软件实现的实施例中,改为把参数传送给CIPU 400的各个模块。
在一些实施例中,控制器模块475通过指令传感器415在从像素阵列410a取回图像之后延迟特定时间量,来初始化传感器模块415。换句话说,控制器模块475指令传感器模块415以特定速率从像素阵列410a取回图像。
随后,控制器模块475通过传感器模块415指令照相机传感器405a拍摄图像。在一些实施例中,控制器模块475还向照相机传感器405a提供曝光参数和其它照相机操作参数。在其它实施例中,照相机传感器405a使用照相机传感器操作参数的默认值。根据所述参数,照相机传感器405a拍摄原始图像,所述原始图像被保存在像素阵列410a中。传感器模块415从像素阵列410a取回所述原始图像,并把图像发送给行/帧缓冲器417以便保存,之后CIPU处理管线485处理该图像。
在某些情况下,图像可能被行/帧缓冲器417丢弃。当照相机传感器405a和/或405b以高速率拍摄图像时,传感器模块415可比BPC模块420能够从行/帧缓冲器417取回图像更快地接收图像,并把图像保存在行/帧缓冲器417中(例如,拍摄高帧速率视频时),行/帧缓冲器417会变得完全充满。当发生这种情况时,一些实施例的行/帧缓冲器417根据先进先出原则丢弃图像(即,帧)。即,当行/帧缓冲器417丢弃一帧图像时,行/帧缓冲器417丢弃在行/帧缓冲器417中的所有其它图像之前接收的那帧图像。
CIPU处理管线485的图像处理从BPC模块420取回来自行/帧缓冲器417的图像,以校正图像中的任何坏像素开始。BPC模块420随后把图像发送给LS模块425,以校正图像中的任何不均匀照明度。在校正图像的照明度之后,LS模块425把图像发送给去马赛克模块430,去马赛克模块430处理原始图像,由原始图像产生RGB图像。随后,WB模块435从去马赛克模块430接收RGB图像,并调整RGB图像的白平衡。
如上所述,统计引擎465可能已在CIPU处理管线485的各个点收集了一些数据。例如,如图4中图解所示,统计引擎465在LS模块425、去马赛克模块430和WB模块435之后收集数据。根据收集的数据,统计引擎465可调整照相机传感器405a的操作和/或CIPU处理管线485中的一个或多个模块的操作,以便调整从照相机传感器405a的后续图像的拍摄。例如,根据收集的数据,统计引擎465可确定当前图像的曝光度过低,从而通过传感器模块415指令照相机传感器405a增大后续所拍图像的曝光度。从而,一些实施例的统计引擎465起一些处理操作的反馈回路的作用。
在WB模块435调整图像的白平衡之后,它把图像发送给γ模块440,以进行γ校正(例如,调整图像的γ曲线)。CSC模块445从γ模块440接收γ校正后的图像,并进行色空间变换。在本例中,CSC模块445把RGB图像变换成YUV图像。换句话说,CSC模块445把用RGB色空间表现的图像变换成用YUV色空间表现的图像。HSC模块450从CSC模块445接收YUV图像,并调整图像中的各个像素的色调、饱和度和对比度属性。在HSC模块450之后,定标器模块455缩放图像(例如,放大或缩小图像)。在从定标器模块455接收图像之后,滤波器模块460对图像应用一种或多种滤波。最后,滤波器模块460把处理后的图像发送给CIPU驱动器480。
在上面说明的CIPU 400的这个操作例子中,CIPU处理管线485中的每个模块以某种方式处理图像。不过,CIPU 400处理的其它图像可能不需要CIPU处理管线485的所有模块的处理。例如,图像可能不需要白平衡调整、γ校正、比例缩放或滤波。因而,CIPU 400能够根据接收的各种输入,比如来自CIPU驱动器480的指令,或者由统计引擎465收集的数据,以任意各种方式处理图像。
不同的实施例不同地控制处理图像的速率(即,帧速率)。控制帧速率的一种方式是通过垂直消隐间隔(VBI)的操纵。对于取回图像行以便逐行处理图像的一些实施例来说,VBI是从像素阵列取回由双照相机移动设备的照相机拍摄的视频的一个图像的最后一行,和从像素阵列取回视频的下一个图像的第一行之间的时间差。在其它实施例中,VBI是从像素阵列取回由双照相机移动设备的照相机拍摄的视频的一个图像,和从像素阵列取回视频的下一个图像之间的时间差。
其中能够使用VBI的一个例子在传感器模块415与像素阵列410a和410b之间。例如,传感器模块415的一些实施例逐行地从像素阵列410a和410b取回图像,以及传感器模块415的其它实施例逐个图像地从像素阵列410a和410b取回图像。从而,通过调整传感器模块415的VBI,能够控制帧速率:增大VBI会降低帧速率,而减小VBI会提高帧速率。
图5概念地图解说明基于不同VBI的不同帧速率505、510和515的例子。每个序列显示在沿着时间线520的各个时刻525-555,拿着吉它的人物的图像,所述图像由双照相机移动设备的照相机之一拍摄。另外,每个时刻525-555之间的时间都相同,称为一个时间单元。为了说明起见,现在将参考图4的传感器模块415和像素阵列410a,说明图5。因而,每个图像代表沿着时间线520的传感器模块415从像素阵列410a取回图像的时刻。
在示例的帧速率505中,传感器模块415关于像素阵列410a的VBI被设定为3个时间单元(例如,由控制器模块475设定)。即,传感器模块415沿着时间线520,每隔两个时刻从像素阵列410a取回一帧图像。如示例的帧速率505中所示,传感器模块415在时刻525、540和555取回图像。从而,示例的帧速率505具有每三个时间单元一帧图像的帧速率。
除了VBI被设定为2个时间单元之外,示例的帧速率510类似于示例的帧速率505。从而,传感器模块415沿着时间线520,每隔一个时刻从像素阵列410a取回一帧图像。示例的帧速率510表示传感器模块415在时刻525、535、545和555,从像素阵列410a取回图像。由于示例的帧速率510的VBI小于示例的帧速率505的VBI,因此示例的帧速率510的帧速率高于示例的帧速率505的帧速率。
除了传感器模块415关于像素阵列410a的VBI被设定为1个时间单元之外,示例的帧速率515也类似于示例的帧速率505。于是,传感器模块415被指令沿着时间线520,在每个时刻从像素阵列410a取回一帧图像。如图所示,传感器模块415在时刻525-555,从像素阵列410a取回图像。示例的帧速率515的VBI小于示例的帧速率505和510的VBI。于是,示例的帧速率515的帧速率大于示例的帧速率505和510。
III.视频会议
A.视频会议体系结构
图6概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块600的软件体系结构。视频会议和处理模块600包括与上面参考图3说明的对应模块和驱动器305、301和320类似的CIPU驱动器605、媒体交换模块610和编码器驱动器620。视频会议和处理模块600还包括用于实现各种视频会议功能的视频会议模块625、视频会议客户端645和网络接口650。类似于视频处理和编码模块300,视频会议和处理模块600处理和编码从双照相机移动设备的照相机拍摄的图像。
如上参考图3所述,媒体交换模块610允许设备中的媒体内容的使用者和制造者交换媒体内容,和与媒体内容的处理有关的指令。CIPU驱动器605充当与拍摄图像处理单元(CIPU)655的通信接口,以及编码器驱动器620充当与编码器硬件660(例如,编码器芯片,芯片系统上的编码组件,等等)的通信接口。
一些实施例的视频会议模块625负责处理各种视频会议功能,比如图像处理、视频会议管理和连网。如图所示,视频会议模块625与媒体交换模块610、视频会议客户端645和网络接口650交互。在一些实施例中,视频会议模块625从视频会议客户端645接收指令,和向视频会议客户端645发送指令。一些实施例的视频会议模块625还通过网络接口650,向网络发送数据和从网络接收数据(例如,所述网络是局域网(LAN)、无线广域网(WLAN)、广域网(WAN)、网络的网络(a network ofnetworks)、码分多址接入(CDMA)网络、GSM网络,等等)。
视频会议模块625包括图像处理层630、管理层635和网络层640。在一些实施例中,图像处理层630对图像进行图像处理操作,以便用于视频会议。例如,一些实施例的图像处理层630进行曝光调整、图像缩放、透视校正和动态范围调整,如以下进一步详细所述。一些实施例的图像处理层630通过媒体交换模块610发送对来自CIPU 655的图像的请求。
一些实施例的管理层635控制视频会议模块625的操作。例如,在一些实施例中,管理层635初始化双照相机移动设备的一部/多部照相机,处理图像和音频,以便传送给远程设备,和处理从远程设备接收的图像和音频。在一些实施例中,管理层635产生用于该设备的合成(例如PIP)显示。此外,管理层635可根据从网络层640接收的连网报告,改变视频会议模块625的操作。
在一些实施例中,网络层640实现用于视频会议的一些或全部连网功能。例如,如在下面和上面引入的美国专利申请**,名称“EstablishingVideo Conference During a Phone Call”(代理人卷号APLE.P0212)中所述,除了别的功能之外,一些实施例的网络层640建立视频会议的双照相机移动设备和远程设备之间的网络连接(未示出),把图像传送给远程设备,和从远程设备接收图像。另外,网络层640接收诸如分组丢失、单向等待时间和往返延迟时间之类的连网数据,以及其它各种数据,处理这样的数据,和把数据报告给管理层635。
一些实施例的视频会议客户端645是利用视频会议模块625的视频会议功能的应用,比如视频会议应用、IP话音(VOIP)应用(例如,Skype)或者即时消息通信应用。在一些实施例中,视频会议客户端645是独立的应用,而在其它实施例中,视频会议客户端645被集成到另一个应用中。
在一些实施例中,网络接口650是允许视频会议模块625和视频会议客户端645通过网络(例如,蜂窝网络、局域网、无线网络、网络的网络、因特网等)发送数据和接收数据的通信接口。例如,如果视频会议模块625想要向因特网上的另一个设备发送数据(例如,由双照相机移动设备的照相机拍摄的图像),那么视频会议模块625通过网络接口650把图像发送给所述另一个设备。
B.视频会议设置
图7概念地图解说明一些实施例的示例的视频会议请求消息接发序列700。图7表示运行于设备705上的视频会议客户端710,视频会议服务器715,和运行于设备720上的视频会议客户端725之间的视频会议请求消息接发序列700。在一些实施例中,视频会议客户端710和725与图6中所示的视频会议客户端645相同。如图7中所示,一个设备(即,设备705)请求视频会议,另一个设备(即,设备720)应答该请求。在本申请中描述的双照相机移动设备能够执行这两个操作(即,发出请求和响应请求)。
一些实施例的视频会议服务器715在视频会议客户端之间路由消息。尽管一些实施例在一个计算设备上实现视频会议服务器715,不过其它实施例在多个计算设备上实现视频会议服务器715。在一些实施例中,视频会议服务器是可公开访问的服务器,它能够同时处理和路由众多会议的消息。一些实施例的每个视频会议客户端710和725经网络接口,比如上面说明的网络接口650,通过网络(例如,蜂窝网络、局域网、无线网络、网络的网络、因特网等)与视频会议服务器715通信。
当视频会议客户端710从设备705的用户接收到(在操作1)开始和设备720的视频会议的请求时,一些实施例的视频会议请求消息接发序列700开始。当设备705的用户选择显示在设备705上的用户界面的某一用户界面(UI)项目时,一些实施例的视频会议客户端710接收开始视频会议的请求。在下面说明的图8和图11中图解说明了这种用户界面的例子。
在视频会议客户端710接收到请求之后,视频会议客户端710向视频会议服务器715发送(在操作2)视频会议请求,该请求根据用户的输入,把设备720指示为收件人。视频会议服务器715把视频会议请求转发给(在操作3)设备720的视频会议客户端725。在一些实施例中,视频会议服务器715利用推送技术,把视频会议请求转发给视频会议客户端725。即,当从视频会议客户端710接收到请求时,视频会议服务器715开始向视频会议客户端725传送视频会议请求,而不是等待客户端725发送对任何消息的请求。
当一些实施例的视频会议客户端725接收到视频会议请求时,在设备720上显示用户界面,以向设备720的用户指出设备705的用户发送了开始视频会议的请求,并提示设备720的用户接受或拒绝该视频会议请求。在下面说明的图9中图解说明了这种用户界面的一个例子。在一些实施例中,当视频会议客户端725接收到(在操作4)接受来自设备705的用户的视频会议请求的请求时,视频会议客户端725向视频会议服务器715发送(在操作5)视频会议接受。当设备720的用户选择如图9中图解说明的用户界面的某一用户界面项目时,一些实施例的视频会议客户端725接收到接受视频请求的请求。
在视频会议服务器715从视频会议客户端725接收到视频会议接受之后,视频会议服务器715把视频会议接受转发给(在操作6)视频会议客户端710。视频会议服务器715的一些实施例利用上述推送技术,把视频会议接受转发给视频会议客户端710。
当接收到视频会议接受时,一些实施例在设备705和设备720之间建立(在操作7)视频会议。不同的实施例不同地建立视频会议。例如,一些实施例的视频会议建立包括协商设备705和设备720之间的连接,确定对视频编码的比特率,和在设备705和设备720之间交换视频。
在上面的例子中,设备720的用户接受视频会议请求。在一些实施例中,设备720可被配置成(例如,通过设备的优先选择设置)自动接受到来的视频会议请求,而不显示UI。此外,设备720的用户也能够拒绝(在操作4)视频会议请求(例如,通过选择显示在设备720上的用户界面的某个用户界面项目)。代替发送视频会议接受,视频会议客户端725向视频会议服务器715发送视频会议拒绝,视频会议服务器715把视频会议拒绝转发给视频会议客户端710。从而根本不建立视频会议。
在一些实施例中,根据正在进行的通话,发起视频会议。即,在移动设备的用户与第二位用户通话的时候,经另一方的许可,该用户能够把通话变成视频会议。对本发明的一些实施例来说,图8图解说明由双照相机手持移动设备800进行的这种视频会议的启动。图8利用设备800的用户界面(“UI”)805的五个操作阶段810、815、820、825和830,图解说明视频会议的启动。
如图8中所示,UI 805包括名字栏835、选择菜单840和可选择的UI项目845。名字栏835显示在通话另一端的用户意欲请求与之进行视频会议的人物的名字。在本例中,可选择的UI项目845(它可被实现成可选择的按钮)向用户提供可选择的结束通话(End Call)选项,以结束通话。选择菜单840显示可选择的UI项目的菜单,比如喇叭扩音器项目842、静音项目844、数字小键盘项目846、电话簿项目848、保持项目852、视频会议项目854等等。不同的实施例不同地显示选择菜单。对图8图解说明的实施例来说,选择菜单840包括几个同样大小的图标,每个图标代表一个不同的操作。其它实施例提供可滚动的菜单,或者给予特定项目以优先级(例如,通过使这些项目变得更大)。
现在将参考UI 805在图8中图解说明的五个阶段810、815、820、825和830中的状态,来说明UI 805的操作。在第一阶段810中,在手持移动设备用户和Nancy Jones之间建立了通话。第二阶段815显示在用户选择可选择的视频会议选项854(例如,通过手指850的单指轻点),以激活视频会议工具之后的UI 805。在这个例子中,视频会议选项854(它可被实现成可选择的图标)允许用户在通话期间启动视频会议。在第二阶段中,视频会议选项850被突出显示,以指示视频会议工具已被激活。不同的实施例可用不同的方式(例如,通过突出显示项目的边框或文本),指示这样的选择。
第三阶段820显示在依据选择视频会议选项854的选择,设备800已启动视频会议处理之后的UI 805。第三阶段是在设备等待建立视频会议时(例如,在设备等待通话另一端的设备接受或拒绝视频会议时)的过渡保持阶段。在第三阶段820中,在建立视频会议连接的同时,设备800的用户仍然能够与另一设备的用户(即,Nancy Jones)谈话。另外,一些实施例允许设备800的用户通过选择显示在UI 805上的用于取消视频会议请求的可选UI项目(未示出),在第三阶段820中取消视频会议请求。在该保持阶段期间,不同的实施例使用UI 805中的不同显示来指示该等待状态。
如图8中所示,在一些实施例中,利用由设备800拍摄的视频的全屏显示,以及在该视频的底部的“Preview(预览)”符号图解说明第三阶段的等待状态。具体地说,在图8中,第三阶段820通过在UI 805的显示区860中,显示由设备的照相机拍摄的视频的全屏呈现,图解说明视频会议处理的开始。在一些实施例中,正面的照相机是在开始视频会议时,设备选择的默认照相机。通常,在开始视频会议时,所述正面照相机对着设备的用户。因此,在图8中图解说明的例子中,第三阶段820把设备800图解表示成呈现设备800的用户的全屏视频。位于在第三阶段820期间,出现在显示区860中的视频之下的“Preview”指示进一步突出设备的等待状态。
在一些实施例中,能够不同地表示过渡性的第三保持阶段820。例如,一些实施例允许设备800的用户选择背面的照相机作为启动视频会议的照相机。为了允许这种选择,一些实施例允许用户(例如,通过菜单优先选择设置)把背面的照相机指定为启动视频会议的默认照相机,和/或允许用户从在用户选择视频会议选项854之后,显示背面和正面的照相机的菜单中选择背面的照相机。在这些情况的任何一种中,UI 805(例如,显示区860)在第三保持阶段820期间,显示由背面的照相机拍摄的视频。
另外,其它实施例可通过显示设备800所摄视频的较小视频,通过显示保存在设备800上的静止图像,通过提供突出显示设备的等待状态的消息(例如,通过显示“Conference Being Established”(正在建立会议),通过不显示“Preview”指示等等,可指出视频会议工具的激活。另外,在第三阶段820中,一些实施例的UI 805提供如果在该阶段(例如,在用户正等待远程用户答复他的请求时),用户决定不进入视频会议,那么允许用户取消进入视频会议,并返回通话状态的结束按钮(未示出)。
第四阶段825图解说明在远程用户已经接受视频会议请求并且建立了视频会议连接之后,处于过渡状态的UI 805。在该过渡状态下,显示本地用户的视频(在本例中,由正面的照相机拍摄的视频)的显示区860的大小逐渐减小(即,逐渐缩小),如箭头875所示。显示区860(即,本地用户的视频)缩小,使得UI 805能够在显示区860之后显示包含来自远程设备的照相机的视频的显示区870(例如,显示窗口870)。换句话说,本地用户的视频860的缩小产生PIP显示880,PIP显示880具有本地用户的视频的前景插入显示860,和远程用户的背景主显示870。在本例中,背景主显示870呈现远程设备的正面照相机正在拍摄其视频的女士(例如,Nancy Jones,远程设备的用户),或者远程设备的背面照相机正在拍摄其视频的女士(例如,Nancy Jones正在拍摄其视频的女士)的视频。普通技术人员会认识到图8中所示的过渡性的第四阶段只是一些实施例使用的一种示例方法,其它实施例可以不同地动画制作过渡性的第四阶段。
第四阶段825还在下面的显示区855中图解说明可选的UI项目832。可选的UI项目832(它可被实现成可选择的按钮)在PIP显示880之下提供可选择的“结束会议”选项832。用户可以选择“结束会议”选项832来结束视频会议(例如,通过单指轻点)。不同的实施例可允许用户用不同的方式结束会议,比如通过转换移动设备上的开关,通过发出话音命令,等等。此外,不同的实施例可允许“结束会议”选项832在视频会议期间逐渐消失,从而允许PIP显示880占据整个显示区885。随后在单指轻点显示区885的底部时,“结束会议”选项832可重新出现,使用户可以利用“结束会议”选项832。在一些实施例中,显示区855的布局和下面进一步详细说明的显示区855相同。
第五阶段830图解说明在结束第四过渡状态825的动画制作之后的UI 805。具体地说,第五阶段830图解说明在视频会议期间,由UI 805呈现的PIP显示880。如上所述,PIP显示880包括两个视频显示:来自远程照相机的较大的背景显示870,和来自本地照相机的较小的前景插入显示860。
PIP显示880只是呈现由远程设备和本地设备拍摄的视频的合成视图的一种方式。除了该合成视图之外,一些实施例的设备提供其它合成视图。例如,代替具有远程用户的较大的背景显示870,较大的背景显示870可以是本地用户,较小的前景插入显示860是远程用户。如以下进一步所述,一些实施例允许用户在视频会议期间,在作为提供PIP显示880的插入视图和主视图的照相机的本地照相机和/或远程照相机之间切换。
另外,一些实施例允许本地视频和远程视频出现在UI 805中的两个并排的显示区(例如,左右显示窗口,或者上下显示窗口),或者两个对角排列的显示区中。在一些实施例中,如在下面和上面引入的美国专利申请**,名称“Establishing Video Conference During a Phone Call”(代理人卷号APLE.P0212)中进一步所述,通过设备的优先选择设置,或者通过在视频会议期间用户能够选择的控件,用户可以规定PIP显示的方式或者默认显示模式。
当图8的设备800的用户邀请远程用户进行视频会议时,远程用户可接受或拒绝该邀请。图9图解说明在六个不同的阶段910、915、920、925、930和935,远程用户的设备900的UI 905,所述六个阶段表示在远程用户的设备呈现和接受视频会议邀请的操作序列。下面的UI 905的描述把设备900(即,接收到视频会议请求的设备)的用户称为受邀者(invite recipient),以及把设备800(即,发送视频会议请求的设备)的用户称为邀请者(invite requestor)。另外,在本例中,假定受邀者的设备900是双照相机设备,和邀请者的设备一样。不过,在其它例子中,这些设备中的一个或者两个都是单照相机设备。
第一阶段910图解说明当受邀者从邀请者,John Smith接收到视频会议邀请时的UI 905。如图9中所示,第一阶段的UI 905包括名字栏935、消息栏940和两个可选的UI项目945和950。名字栏935显示正请求视频会议的人物的名字。在一些实施例中,名字栏935显示正请求视频会议的人物的电话号码,而不是人物的名字。消息栏940显示邀请者给受邀者的邀请。在本例中,消息栏940中的“Video Conference Invitation(视频会议邀请)”指示邀请者正在请求与受邀者进行视频会议。可选的UI项目945和950(它们可被实现成可选择的按钮)提供可选择的供受邀者用于拒绝或接受邀请的“拒绝请求(Deny Requst)”和“接受请求(AcceptRequest)”选项945和950。不同的实施例可不同地显示这些选项和/或显示其它选项。
当看到显示在消息栏940中的“Video Conference Invitation”符号时,通过分别选择UI中的“拒绝请求”选项945或“接受请求”选项950,受邀者可拒绝或接受请求。第二阶段915图解说明在图9中所示的例子中,用户选择“接受请求”选项950。在这个例子中,通过用户的手指轻轻点击“接受请求”选项950实现所述选择,并通过选项950的突出显示指出所述选择。在一些实施例中提供其它技术来选择接受或拒绝请求选项945和950(例如,连续两次轻轻点击,等等)以指出所述选择(例如,突出显示UI项目的边框或文本)。
第三阶段920显示在受邀者同意加入视频会议之后的UI 905。在该阶段,UI 905进入预览模式,预览模式在显示区944中显示来自远程设备的正面照相机的视频的全屏呈现。这种情况下的正面照相机对着远程设备的用户(即,本例中的Nancy Jones)。因此,按所述预览模式显示她的图像。这种预览模式使受邀者可以确保她的视频被正确显示,并且在视频会议开始之前(例如,在开始实际传输视频之前),她对其外表感到满意。在一些实施例中,可在显示区944之下显示诸如“Preview”符号之类符号,以指出受邀者处于预览模式。
一些实施例允许受邀者选择背面的照相机作为开始视频会议的默认照相机,或者在开始视频会议时选择正面或背面的照相机,如在上面引入的美国专利申请**,名称“Establishing Video Conference During aPhone Call”(代理人卷号APLE.P0212)中进一步所述。另外,其它实施例不同地显示受邀者的预览显示(例如,在置于显示区944的角落的较小图像中)。除此之外的其它实施例不包括这种预览模式,而是在受邀者接受请求之后,立即开始视频会议。
在第三阶段,UI 905显示两个可选的UI项目975和946。其中一个重叠在显示区944之上,而另一个在显示区944下面。可选的UI项目975是用户可选择以开始视频会议的“接受”按钮975。可选的UI项目946是如果受邀者在此阶段决定不加入视频会议,那么她可选择的“结束”按钮946。
第四阶段925显示在受邀者选择“接受”按钮975之后的UI 905。在本例中,“接受”按钮975被突出显示,以指出受邀者随时可开始视频会议。在其它实施例中可用不同的方式指出这样的选择。
第五阶段930图解说明在受邀者已经接受视频会议请求之后处于过渡状态的UI 905。在该过渡阶段,显示受邀者的视频(在本例中,所述视频由正面的照相机拍摄)的显示区944的大小逐渐减小(即,逐渐缩小),如箭头960所示。受邀者的视频缩小,使得UI 905能够在显示区944之后,显示包含来自邀请者的照相机的视频的显示区965(例如,显示窗口965)。换句话说,受邀者的视频的缩小产生PIP显示980,PIP显示980具有受邀者的视频的前景插入显示区944,和邀请者的背景主显示965。
在这个例子中,背景主显示965呈现本地设备的正面照相机正在拍摄其视频的男士(即,John Smith,本地设备800的用户)的视频。在另一个例子中,该视频可以是本地设备的背面照相机拍摄其视频的男士(例如,由John Smith拍摄其视频的男士)的视频。不同地实施例可以不同地动画制作过渡性的第五阶段。
第五阶段930的UI还显示包括在视频会议期间,使另一用户的音频静音的可选UI项目985(例如,静音按钮985),结束视频会议的可选UI项目987(例如,结束会议按钮987),和下面进一步详细说明的切换照相机的可选UI项目989(例如,切换照相机按钮989)的显示区855(例如,工具条或菜单条)。因而,受邀者可以选择任意可选UI项目985-989(例如,通过单指轻点),以在视频会议期间执行希望的操作。不同的实施例允许受邀者按照不同的方式,例如切换移动设备上的开关,通过给出话音命令等,执行任意操作。
尽管图9表示显示区855的示例布局,不过,一些实施例提供显示区855的不同布局,比如图8的显示区855的布局,该布局只包括用于结束视频会议的可选的“结束会议”UI选项832。显示区855的其它布局可以包括用于执行不同功能的任意多种不同的可选UI项目。此外,第五阶段930表示显示在UI 905的底部的显示区855。显示区855的不同实施例可被显示在UI 905内的不同位置,和/或定义成不同的形状。
图9把显示区855表示成静态显示区(即,显示区855总是被显示)。不过,在一些实施例中,显示区855是动态显示区。在一些这样的实施例中,显示区855平常不被显示。相反,只有当接收到触发事件(例如,比如轻点显示区980一次,话音命令之类的用户选择)时,才显示所述显示区855。在接收到用户选择(例如,选择可选的静音UI项目985),或者规定量的时间(例如,3秒)之后,显示区855消失,所述规定量的时间可由用户通过移动设备或视频会议应用的优先选择设置指定。在一些这样的实施例中,显示区855在视频会议开始后被自动显示,并按照上面提及的相同方式消失。
第六阶段935图解说明在结束第五过渡阶段的动画制作之后的UI905。具体地说,第六阶段图解说明在视频会议期间,由UI 905呈现的PIP显示980。如上所述,PIP显示980包括两个视频显示:来自本地照相机的较大的背景显示965,和来自远程照相机的较小的前景插入显示944。PIP显示980只是呈现由远程设备和本地设备拍摄的视频的合成视图的一种方式。除了该合成视图之外,一些实施例的设备提供其它的合成视图。例如,代替具有较大的受邀者的背景显示,较大的背景显示可以是邀请者的视频,而较小的前景插入显示可以是受邀者的视频。如在上面引入的美国专利申请**,名称“Establishing Video ConferenceDuring a Phone Call”(代理人卷号APLE.P0212)中进一步所述,一些实施例允许用户控制PIP显示中的插入视图和主视图,以可切换地显示本地照相机和远程照相机。另外,一些实施例允许本地视频和远程视频出现在UI 905中的两个并排显示区(例如,左右显示窗口,或者上下显示窗口),或者两个对角排列的显示区中。如在上面引入的美国专利申请**,名称“Establishing Video Conference During a Phone Call”(代理人卷号APLE.P0212)中进一步所述,通过设备的优先选择设置,或者通过在视频会议期间用户能够选择的控件,用户可以指定PIP显示的方式或者默认显示模式。
尽管图9按照六个不同的操作阶段,表示呈现和接受视频会议邀请的操作序列,不过一些实施例可以用较少的阶段实现所述操作。例如,一些这样的实施例可以省略呈现第三阶段920和第四阶段925,从而在用户选择“接受请求”选项950之后,从第二阶段915进到第五阶段930。用较少的阶段实现所述操作(即,呈现和接受视频会议邀请)的其它实施例可以省略第一阶段910和第二阶段915,从而当受邀者从邀请者接收到视频会议的邀请时,向用户呈现第三阶段920。
图10图解说明通过把第一和第三阶段结合成一个阶段,及把第二和第四阶段结合成一个阶段,用较少的阶段执行图9中图解说明的操作的例子。特别地,图10图解说明在五个不同的阶段1090、1092、1094、930和935,远程用户的设备900的UI 905。第一阶段1090类似于阶段810,除了名字栏995显示名字“John Smith”,以指出在通话另一端的人物的名字之外。即,已在远程移动设备的用户和本地设备的用户(即,本例中的John Smith)之间建立了通话。第二阶段1092和第三阶段1094类似于图9的第一阶段910和第二阶段915,除了第二阶段1092和第三阶段1094还显示远程移动设备的用户(即,本例中的Nancy Jones)的预览之外。第四阶段930和第五阶段935与图9的第五阶段930和第六阶段935相同。
除了在通话期间,通过可选选项激活视频会议工具之外,一些实施例允许双照相机设备的用户直接发起视频会议,而不必首先打电话。图11图解说明发起视频会议的另一种这样的备选方法。图14图解说明在七个不同阶段1110、1115、1120、1125、1130、1135和1140的UI 1105,所述七个不同阶段显示启动视频会议的备选操作序列。
在第一阶段1110,用户查看移动设备上的联系人名单,寻找他希望与之进行视频会议的人物,与他为了通话而查找联系人的方式类似。在第二阶段1115,用户选择他愿意与之进行视频会议的人物1155(例如,通过在该人的名字1155上的单指轻点1160)。这种选择触发UI 1105显示联系人的信息和各种用户可选选项。在这个例子中,Jason的名字1155被突出显示,以指出这是用户意欲与之进行视频会议的人。不同的实施例可以用不同的方式指出这种选择。尽管第二阶段1115允许设备1100的用户通过联系人名单选择用户意欲与之进行视频会议的人,不过一些实施例允许用户通过“Recents(最近)”通话历史选择该人,所述“Recents”通话历史列出设备1100的用户最近与之进行视频会议或者通话的人物的特定号码或名字。
在第三阶段1120,在选择了人物的名字1155之后,UI 1105显示所选人物的信息1162和各种可选UI项目1168、1172和1170。在这个例子中,各个可选UI项目1172(可被实现成可选的图标或按钮)之一提供视频会议工具。“视频会议”选项1172允许用户邀请依据联系人1166识别的人物加入视频会议。不同的实施例不同地(例如,用不同的排列)显示信息1162和可选UI项目1168、1172和1170。
第四阶段1125表示用户选择“视频会议”选项1172(例如,通过单指轻点)。在这个例子中,“视频会议”选项1172被突出显示,以指出视频会议工具1172已被激活。在不同的实施例中可不同地指出这种选择(例如,通过突出显示所选图标的文本或边框)。
第五、第六和第七阶段1130、1135和1140类似于图8中图解说明的第三、第四和第五阶段820、825和830,并且可通过参考这些阶段的讨论理解第五、第六和第七阶段1130、1135和1140。简单地说,第五阶段1130图解说明等待远程用户响应视频会议邀请的过渡性的保持阶段。第六阶段1135图解说明在远程用户接受视频会议请求之后,(显示本地用户的视频的)显示区1180的大小逐渐减小,因此UI 1105能够在显示区1180之后,显示包含来自远程用户的照相机的视频的显示区1192。在第七阶段1140,在视频会议期间,UI 1105呈现PIP显示1147。在一些实施例中,第六阶段1135和第七阶段1140中的显示区855的布局与上面说明的图9的显示区855的布局相似。
图7、8、9、10和11表示建立视频会议的几种方式。在一些实施例中,在通话期间,通过一个通信通道(通过诸如线路交换通信网络或者分组交换通信网络之类的通信网络)传送音频数据(例如,话音),并在视频会议期间,通过另一个通信通道传送音频数据。从而,在这样的实施例中,在建立视频会议之前,通过一个通信通道传送音频数据(例如,话音),一旦建立了视频会议,就通过不同的通信通道(而不是在通话期间使用的通信通道)传送音频。
为了提供音频数据从通话到视频会议的无缝过渡(例如,切换),一些实施例在建立视频会议之前并不终止通话。例如,一些实施例在终止通话并开始通过对等通信会话传送音频/视频数据之前,建立对等视频会议连接(例如,在完成图7中图解说明的消息序列之后)。另一方面,其它实施例在终止通话和开始呈现接收的音频/视频数据之前,建立对等视频会议连接(例如在完成图7中图解说明的消息序列之后),并开始通过该对等通信会话传送音频/视频数据。
一些实施例的对等视频会议连接允许视频会议中的移动设备直接相互通信(而不是例如通过例如中央服务器通信)。对等视频会议的一些实施例允许视频会议中的移动设备相互共享资源。例如,经由视频会议的控制通信通道,通过从一个移动设备向另一个移动设备发送指令,以命令所述另一个移动设备不同地处理图像(即,共享其图像处理资源),比如以下进一步详细描述的曝光调整操作、焦距调整操作和/或切换照相机操作,所述一个移动设备能够远程控制视频会议中的所述另一个设备的操作。
C.视频会议体系结构
如上所述,图12概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块1200的软件体系结构。如图所示,视频会议和处理模块1200包括客户端应用1265、视频会议模块1202、媒体交换模块1220、缓冲器1225、拍摄图像处理单元(CIPU)驱动器1230、编码器驱动器1235和解码器驱动器1240。在一些实施例中,缓冲器1225是保存视频的图像以便在双照相机移动设备的显示器1245上显示的帧缓冲器。
在一些实施例中,客户端应用1265与图6的视频会议客户端645相同。如上所述,客户端应用1265可被集成到另一个应用中,或者实现成独立的应用。客户端应用1265可以是利用视频会议模块1202的视频会议功能的应用,比如视频会议应用、话音IP(VOIP)应用(例如,Skype)或者即时消息通信应用。
一些实施例的客户端应用1265向视频会议模块1202发送指令,比如开始会议和结束会议的指令,从视频会议模块1202接收指令,把来自双照相机移动设备的用户的指令路由到视频会议模块1202,和产生显示在双照相机移动设备上并允许用户与应用交互的用户界面。
D.视频会议管理器
如图12中所示,视频会议模块1202包括视频会议管理器1204、图像处理管理器1208、连网管理器1214、和缓冲器1206、1210、1212、1212和1218。在一些实施例中,视频会议模块1202与图6中图解说明的视频会议模块625相同,从而执行上面关于视频会议模块625所述的一些或全部的相同功能。
在一些实施例中,视频会议管理器1204负责当视频会议开始时,初始化视频会议模块1202的一些或所有其它模块(例如,图像处理管理器1208和连网管理器1214),在视频会议期间控制视频会议模块1202的操作,和当视频会议结束时,停止视频会议模块1202的一些或所有其它模块的操作。
一些实施例的视频会议管理器1204还处理从视频会议中的一个或多个设备接收的图像,和由双照相机移动设备的一部或两部照相机拍摄的图像,以便显示在双照相机移动设备上。例如,一些实施例的视频会议管理器1204从缓冲器1218取回从参与视频会议的另一个设备接收的解码图像,和从缓冲器1206取回由CIPU 1250处理的图像(即,由双照相机移动设备拍摄的图像)。在一些实施例中,在把图像显示在双照相机移动设备上之前,视频会议管理器1204还比例缩放和合成图像。即,在一些实施例中,视频会议管理器1204产生PIP或其它合成视图,以显示在移动设备上。一些实施例比例缩放从缓冲器1206和1218取回的图像,而其它实施例只比例缩放从缓冲器1206和1218之一取回的图像。
尽管图12把视频会议管理器1204图解表示成视频会议模块1202的一部分,不过,视频会议管理器1204的一些实施例被实现成与视频会议模块1202分离的组件。因而,单个视频会议管理器1204可被用于管理和控制几个视频会议模块1202。例如,一些实施例将在本地设备上运行独立的视频会议模块以与多方会议中的每一方交互,以及本地设备上的这些视频会议模块的每一个均由一个视频会议管理器管理和控制。
在图像被编码器1255编码之前,一些实施例的图像处理管理器1208处理由双照相机移动设备的照相机拍摄的图像。例如,图像处理管理器1208的一些实施例对CIPU 1250处理的图像执行曝光调整、焦距调整、透视校正、动态范围调整和图像缩放中的一个或多个操作。在一些实施例中,图像处理管理器1208控制传送给视频会议中的另一个设备的编码图像的帧速率。
连网管理器1214的一些实施例管理双照相机移动设备和参加视频会议的另一个设备之间的一个或多个连接。例如,一些实施例的连网管理器1214在视频会议开始时,建立双照相机移动设备和视频会议的另一个设备之间的连接,并且在视频会议结束时,中断这些连接。
在视频会议期间,连网管理器1214把由编码器1255编码的图像传送给视频会议的另一个设备,把从视频会议的另一个设备接收的图像路由给解码器1260,以便解码。在一些实施例中,连网管理器1214,而不是图像处理管理器1208,控制传送给视频会议的另一个设备的图像的帧速率。例如,连网管理器1214的一些这样的实施例通过丢弃(即,不传送)应该被传送给视频会议的另一个设备的编码帧中的一些编码帧,来控制帧速率。
如图所示,一些实施例的媒体交换模块1220包括照相机源模块1222、视频压缩模块1224和视频解压缩模块1226。媒体交换模块1220与图3中所示的媒体交换模块310相同,同时提供更多的细节。照相机源模块1222通过CIPU驱动器1230,在视频会议模块1202和CIPU 1250之间路由消息和媒体内容,视频压缩模块1224通过编码器驱动器1235,在视频会议模块1202和编码器1255之间路由消息和媒体内容,以及视频解压缩模块1226通过解码器驱动器1240,在视频会议模块1202和解码器1260之间路由消息和媒体内容。一些实施例把包括在媒体交换模块310中的TNR模块315(图12中未示出)实现成照相机源模块1222的一部分,而其它实施例把TNR模块315实现成视频压缩模块1224的一部分。
在一些实施例中,CIPU驱动器1230和编码器驱动器1235与图3中图解说明的CIPU驱动器305和编码器驱动器320相同。一些实施例的解码器驱动器1240充当视频解压缩模块1226和解码器1260之间的通信接口。在这样的实施例中,解码器1260解码通过连网管理器1214接收自视频会议的另一个设备并通过视频解压缩模块1226路由的图像。在图像被解码之后,图像通过解码器驱动器1240和视频压缩模块1226被送回视频会议模块1202。
除了在视频会议期间进行视频处理之外,一些实施例的双照相机移动设备的视频会议和处理模块1200还在视频会议期间,执行音频处理操作。图13图解说明这样的软件体系结构。如图所示,视频会议和处理模块1200包括视频会议模块1202(它包括视频会议管理器1204、图像处理管理器1208和连网管理器1214)、媒体交换模块1220和客户端应用1265。图13中省略了图12中所示的视频会议和处理模块1200的其它组件和模块,以简化说明。视频会议和处理模块1200还包括帧缓冲器1305和1310、音频处理管理器1315和音频驱动器1320。在一些实施例中,音频处理管理器1315被实现成独立的软件模块,而在其它实施例中,音频处理管理器1315被实现成媒体交换模块1220的一部分。
音频处理管理器1315处理由双照相机移动设备捕获的音频数据,以便传送给视频会议中的另一个设备。例如,音频处理管理器1315通过音频驱动器1320接收由麦克风1325捕获的音频数据,对音频数据编码,之后把编码的音频数据保存在缓冲器1305中,以便传送给所述另一个设备。音频处理管理器1315还处理由视频会议中的另一个设备捕获,并从所述另一个设备接收的音频数据。例如,音频处理管理器1315从缓冲器1310取回音频数据,对音频数据解码,解码后的音频数据随后通过音频驱动器1320被输出给扬声器1330。
在一些实施例中,视频会议模块1202连同音频处理管理器1315及其关联的缓冲器一起是更大的会议模块的一部分。当在不交换视频内容的情况下,在几个设备之间进行多方音频会议时,视频会议和处理模块1200只利用连网管理器1214和音频处理管理器1315,以使通过网际协议(IP)层的音频交换更容易。
现在参考图14,说明一些实施例的视频会议管理器1204的操作。图14概念地图解说明由一些实施例的视频会议管理器,比如图12中图解说明的视频会议管理器1204执行的处理1400。这可等同于由图6的管理层635执行。在一些实施例中,当双照相机移动设备的用户接受(例如,通过显示在双照相机移动设备上的用户界面)视频会议请求,或者当另一个设备的用户接受双照相机移动设备的用户发送的请求时,视频会议管理器1204执行处理1400。
通过接收(在1405)开始视频会议的指令,开始处理1400。在一些实施例中,指令是从客户端应用1265接收的,或者是通过显示在双照相机移动设备上的用户界面从用户接收的,并由客户端应用1265转发给视频会议管理器1204。例如,在一些实施例中,当双照相机移动设备的用户接受视频会议请求时,指令是通过用户界面接收的,并由客户端应用转发。另一方面,当另一个设备的用户接受从本地设备发出的请求时,一些实施例从客户端应用接收指令,而没有用户界面交互(不过,可存在先前的发送初始请求的用户界面交互)。
随后,处理1400初始化(在1410)与视频会议管理器1204交互的第一模块。一些实施例的与视频会议管理器1204交互的模块包括CIPU1250、图像处理管理器1208、音频处理管理器1315和连网管理器1214。
在一些实施例中,初始化CIPU 1250包括指令CIPU 1250开始处理由双照相机移动设备的一部或两部照相机拍摄的图像。一些实施例通过指令图像处理管理器1208开始从缓冲器1210取回图像并处理和编码取回的图像,初始化图像处理管理器1208。为了初始化音频处理管理器1315,一些实施例指令音频处理管理器1315开始编码由麦克风1325捕获的音频数据,和解码保存在缓冲器1310中的音频数据(从另一个设备接收的音频数据),以便输出给扬声器1330。一些实施例的连网管理器1214的初始化包括指令连网管理器1214建立和视频会议中的另一个设备的网络连接。
处理1400随后确定(在1415)是否还剩有要初始化的任何模块。当剩有要初始化的模块时,处理1400返回操作1410,以初始化另一个模块。当所有需要的模块都已被初始化时,处理1400产生(在1420)供在双照相机移动设备上显示(即,本地显示)的合成图像。这些合成图像可包括在上面引入的美国专利申请**,名称“Establishing Video Conference During aPhone Call”(代理人卷号APLE.P0212)中的图65中图解说明的那些合成图像,并且可包括来自本地的双照相机移动设备的照相机的图像和来自参与视频会议的另一个设备的照相机的图像的各种组合。
接下来,处理1400确定(在1425)是否对视频会议做出了改变。一些实施例通过用户与显示在双照相机移动设备上的用户界面的交互,接收对视频会议的改变,而其它实施例通过连网管理器1214,从另一个设备接收对视频会议的改变(即,远程控制)。在一些实施例中,也可从客户端应用1265,或者视频会议模块1202中的其它模块接收对视频会议设置的改变。视频会议设置还会由于网络条件的变化而改变。
当发生改变时,处理1400确定(在1430)对视频会议的改变是否是对网络设置的改变。在一些实施例中,所述改变或者是网络设置改变或者是图像拍摄设置改变。当对视频会议的改变是对网络设置的改变时,处理修改(在1440)网络设置,随后进入操作1445。一些实施例的网络设置改变包括改变对图像编码的比特率,或者向另一个设备传送图像的帧速率。
当对视频会议的改变不是对网络设置的改变时,处理1400确定所述改变是对图像拍摄设置的改变,从而进入操作1435。处理1400随后执行(在1435)对图像拍摄设置的改变。在一些实施例中,对图像拍摄设置的改变可包括切换照相机(即,切换双照相机移动设备上的哪部照相机拍摄视频)、焦距调整、曝光调整、显示或不显示来自双照相机移动设备的一部或两部照相机的图像、和放大或缩小显示在双照相机移动设备上的图像,以及其它设置改变。
在操作1445,处理1400确定是否结束视频会议。当处理1400确定不结束视频会议时,处理1400返回操作1420。当处理1400确定视频会议将结束时,处理1400结束。当处理1400从客户端应用1265接收到结束视频会议的指令时(即,归因于通过本地双照相机移动设备的用户界面接收的,或者从参与视频会议的另一个设备接收的指令),处理1400的一些实施例确定结束视频会议。
在一些实施例中,当视频会议结束时,视频会议管理器1204执行未示于处理1400中的各种操作。一些实施例指令CIPU 1250停止产生图像,指令连网管理器1214中断与视频会议中的另一个设备的网络连接,和指令图像处理管理器1208停止处理和编码图像。
E.图像处理管理器&编码器
除了由CIPU和/或CIPU驱动器执行的时间噪声降低和图像处理操作之外,一些实施例在视频会议模块625的图像处理层630执行各种图像处理操作。这些图像处理操作可包括曝光调整、焦距调整、透视校正、动态范围的调整和图像缩放等等。
图15概念地图解说明执行这样的图像处理操作的处理1500。在一些实施例中,处理1500的一些或全部操作由图12的图像处理管理器1208和编码器驱动器1235的组合执行。在一些这样的实施例中,图像处理管理器1208执行基于像素的处理(例如,缩放、动态范围调整、透视校正等)。一些实施例在视频会议期间,对将被传送给参与视频会议的另一个设备的图像执行处理1500。
现在参考图12说明处理1500。通过从缓冲器1206取回(在1505)图像,开始该处理。在一些实施例中,取回的图像是视频的图像(即,图像序列中的一个图像)。该视频可由在其上执行处理1500的设备的照相机拍摄。
随后,处理1500对取回的图像执行(在1510)曝光调整。一些实施例通过显示在双照相机移动设备上的用户界面,执行曝光调整。图16图解说明这种实施例的示例曝光调整操作。
图16参考设备1600的UI 1605的三个阶段1610、1615和1620,说明曝光调整操作。第一阶段1610图解说明包括显示区1625和显示区855的UI 1605。如图所示,显示区1625显示太阳状和脸及身体都暗黑的男士的图像1630。暗黑的脸和身体指示该男士未得到恰当曝光。图像1630可以是由设备1600的照相机拍摄的视频图像。如图所示,显示区855包括用于结束视频会议的可选UI项目1650。在一些实施例中,显示区855的布局与上面说明的图9的显示区855的布局相同。
第二阶段1615图解说明设备1600的用户通过选择显示区1625的某一区域,发起曝光调整操作。在这个例子中,通过把手指1635放在显示区1625内的任何地方实现选择。在一些实施例中,用户从可能的图像设置调整的菜单中选择曝光调整。
第三阶段1620显示在完成曝光调整操作之后,所述男士的图像1640。如图所示,图像1640类似于图像1630,不过图像1640中的男士被恰当曝光。在一些实施例中,恰当曝光的图像是在不恰当曝光的图像之后拍摄的图像。在第二阶段1615中发起的曝光调整操作调整由设备1600的照相机拍摄的后续图像的曝光。
返回图15,处理1500随后对图像执行(在1515)焦距调整。一些实施例通过显示在双照相机移动设备上的用户界面,执行焦距调整。图17概念地图解说明这种焦距调整操作的例子。
图17参考设备1700的UI 1705的三个不同阶段1710、1715和1720,图解说明焦距调整操作。第一阶段1710图解说明包括显示区1725和显示区855的UI 1705。显示区1725呈现由设备1700的照相机拍摄的男士的模糊图像1730。这种模糊说明该男士的图像1730未对准焦点。即,当照相机拍摄该男士的图像1730时,照相机的透镜未被聚焦于该男士。同样,图像1730可以是由设备1700的照相机拍摄的视频图像。如图所示,显示区855包括用于结束视频会议的可选UI项目1750。在一些实施例中,显示区855的布局和上面说明的图9的显示区855的布局相同。
第二阶段1715图解说明设备1700的用户通过选择显示区1725的一个区域,发起焦距调整操作。在这个例子中,通过把手指1735放在显示区1725内的任何地方实现选择。在一些实施例中,用户从可能的图像设置调整的菜单中选择焦距调整。
第三阶段1720显示在完成焦距调整操作之后,所述男士的图像1740。如图所示,图像1740和图像1730相同,不过图像1740中的男士显得更清晰。这说明照相机的透镜被恰当地聚集于该男士。在一些实施例中,恰当聚焦的图像是在不恰当焦距的图像之后拍摄的图像。在第二阶段1715中发起的焦距调整操作调整由设备1700的照相机拍摄的后续图像的焦距。
返回图15,处理1500对图像进行(在1520)图像缩放。一些实施例对图像进行图像缩放,以减少用于对图像编码的比特数(即,降价比特率)。在一些实施例中,处理1500进行如参考上面引入的美国专利申请**,名称“Establishing Video Conference During a Phone Call”(代理人卷号APLE.P0212)中的图26说明的图像缩放。
处理1500随后对图像进行(在1525)透视校正。在一些实施例中,处理1500进行如在上面引入的美国专利申请**,名称“Establishing VideoConference During a Phone Call”(代理人卷号APLE.P0212)中的图24中说明的透视校正。这样的透视校正涉及利用由识别双照相机移动设备的定向和移动的一个或多上加速度计和/或陀螺仪传感器获得的数据。所述数据随后被用于修改图像,以校正不正确的透视。
在对图像进行透视校正之后,处理1500调整(在1530)图像的动态范围。在一些实施例中,图像的动态范围是图像中的每个像素能够具有可能值的范围。例如,具有0-255的动态范围的图像可被调整到0-128的范围,或者任何其它数值范围。调整图像的动态范围可减少将用于对图像编码的比特的数量(即,降低比特率),从而使图像平滑。
调整图像的动态范围还可用于各种其它目的。一个目的是减少图像噪声(例如,图像是由有噪声的照相机传感器拍摄的)。为了减少噪声,可以调整图像的动态范围,使得暗电平被重新定义,以包括浅黑(即,压碎(crush)黑色)。这样,图像的噪声被减少。动态范围调整的另一个目的是调整一种或多种颜色或者颜色范围,以便增强图像。例如,一些实施例可假定正面照相机拍摄的图像是人脸的图像。因此,可以调整该图像的动态范围,以增强红色和粉红色,使人的面颊显得红润/更红润。动态范围调整操作还可用于其它目的。
最后,处理1500确定(在1535)用于对图像编码的一个或多个速率控制器参数。在一些实施例中,这样的速率控制器参数可包括量化参数和帧类型(例如,预测帧、双向帧、帧内编码帧)。该处理随后结束。
尽管处理1500的各个操作被图解表示成按照特定的顺序执行,不过,普通技术人员会认识到这些操作中的许多操作(曝光调整、焦距调整、透视校正等)可按照任意顺序执行,并且彼此无关。即,一些实施例的处理可在曝光调整之前进行焦距调整,或者可对图15中图解说明的处理进行类似的修改。
F.连网管理器
图18概念地图解说明一些实施例的连网管理器1800,比如图12中图解说明的连网管理器1214的软件体系结构。如上所述,连网管理器1800管理它所运行于的双照相机移动设备和视频会议中的远程设备之间的网络连接(例如,连接建立,连接监控,连接调整,连接中断等)。在视频会议期间,一些实施例的连网管理器1800还处理传送给远程设备的数据,和处理从远程设备接收的数据。
如图18中所示,连网管理器1800包括会话协商管理器1805、发射器模块1815、通用传输缓冲器1820、通用传输缓冲器管理器1822、虚拟传送协议(VTP)管理器1825、接收器模块1830和媒体传送管理器1835。
会话协商管理器1805包括协议管理器1810。协议管理器1810确保在视频会议期间,发射器模块1815使用正确的通信协议向远程设备传送数据,和强制服从使用的通信协议的规则。协议管理器1810的一些实施例支持多种通信协议,比如实时传送协议(RTP)、传输控制协议(TCP)、用户数据报协议(UDP)、和超文本传送协议(HTTP),等等。
会话协商管理器1805负责建立双照相机移动设备和参与视频会议的一个或多个远程设备之间的连接,以及在会议之后中断这些连接。在一些实施例中,会话协商管理器1805还负责建立双照相机移动设备和视频会议中的远程设备之间的(例如,传送和接收视频和/或音频流的)多媒体通信会话(例如,利用会话发起协议(SIP))。
会话协商管理器1805还从媒体传送管理器1835接收反馈数据,根据反馈数据,通过通用传输缓冲器管理器1822确定通用传输缓冲器1820的操作(例如,是传送还是丢弃分组/帧)。在一些实施例中,这种反馈可包括单向等待时间和带宽估计比特率。在其它实施例中,反馈包括分组丢失信息和往返延迟时间(例如,根据发送给视频会议中的远程设备的分组和来自远程设备的确认的接收确定的)。根据来自媒体传送管理器1835的信息,会话协商管理器1805能够确定是否正在发送过多的分组,和指令通用传输缓冲器管理器1822,让通用传输缓冲器1820传送较少的分组(即,调整比特率)。
发射器模块1815从视频缓冲器(例如,图12的缓冲器1212)取回编码图像(例如,以比特率的形式),并对图像分包以便通过通用传输缓冲器1820和虚拟传送协议管理器1825,传送给视频会议中的远程设备。产生编码图像并把编码图像发送给发射器模块1815的方式可以基于从媒体传送管理器1815和/或会话协商管理器1805接收的指令或数据。在一些实施例中,对图像分包涉及把接收的比特流分成一组分组,每个分组均具有特定的大小(即,由会话协商管理器1805按照特定协议指定的大小),和增加任何需要的报头(例如,地址报头,协议指定报头,等等)。
通用传输缓冲器管理器1822根据从会话协商管理器1805接收的数据和/或指令,控制通用传输缓冲器1820的操作。例如,可以指令通用传输缓冲器管理器1822命令通用传输缓冲器1820传送数据、停止传送数据、丢弃数据,等等。如上所述,在一些实施例中,当参与会议的远程设备好像丢失分组时,根据从远程设备接收的确认,能够识别这种情况。为了减少分组丢失,可以指令通用传输缓冲器管理器1822以较低的速率向远程设备传送分组。
通用传输缓冲器1820保存从发射器模块1815接收的数据,并通过VTP管理器1825把该数据传送给远程设备。如上所述,根据从通用传输缓冲器管理器1822接收的指令,通用传输缓冲器1820可丢弃数据(例如,视频的图像)。
在一些实施例中,RTP被用于在视频会议期间通过UDP传递数据分组(例如,音频分组和视频分组)。其它实施例利用RTP在视频会议期间通过TCP传递数据分组。在不同的实施例中,也可使用其它传送层协议。
一些实施例用一对端口号(即,源端口号和目的地端口号),定义两个移动设备之间的特定通信通道。例如,移动设备之间的一个通信通道可用一对端口号(例如,源端口50和目的地端口100)定义,以及移动设备之间的另一个不同的通信通道可用另一对不同的端口号(例如,源端口75和目的地端口150)定义。一些实施例还利用一对网际协议(IP)地址来定义通信通道。在一些实施例中,不同的通信通道被用于传送不同类型的数据分组。例如,可在单独的通信通道中传送视频数据分组、音频数据分组和控制信令数据分组。因而,视频通信通道传送视频数据分组,以及音频通信通道传送音频数据分组。
在一些实施例中,控制通信通道用于视频会议期间,本地移动设备和远程设备之间的消息接发。这种消息接发的例子包括发送和接收请求、通知、和对所述请求和通知的确认。消息接发的另一个例子包括从一个设备向另一个设备发送远程控制指令消息。例如,通过经本地设备的控制通信通道,从本地设备向远程设备发送远程控制远程设备的操作的指令,能够执行在上面引入的美国专利申请**,名称“Establishing VideoConference During a Phone Call”(代理人卷号APLE.P0212)中说明的远程控制操作(例如,指令设备只发送来自一个特定照相机的图像,或者只利用特定照相机拍摄图像)。不同的实施例利用不同的协议,比如实时传送控制协议(RTCP)、RTP扩展、SIP等实现所述控制通信。例如,一些实施例利用RTP扩展在视频会议中在两个移动设备之间传递一组控制消息,以及使用SIP分组在视频会议期间在所述两个移动设备之间传递另一组控制消息。
一些实施例的VTP管理器1825允许通过单一的通信通道(例如,利用相同的一对端口号),传送指定通过不同的通信通道(例如,利用不同的多对端口号)传送的不同类型的数据分组。用于此的一种技术涉及识别数据分组类型,通过提取数据分组的一对指定的端口号识别数据分组被规定要通过其传送的通信通道,和通过把数据分组的一对端口号修改成所述单一通信通道的一对端口号,来规定数据分组将通过所述单一通信通道传送(即,所有的数据分组通过相同的一对端口号被传送)。
为了明了每种数据分组的一对初始端口号,一些实施例保存相对于数据分组类型的一对初始端口号的映射。一些这样的实施例随后利用协议的分组类型字段来区分被多路复用到一个通信通道中的不同分组。例如,一些具有VTP管理器的实施例把音频、视频和控制分组多路复用到一个RTP流中,利用RTP分组类型字段来区分在一个RTP通道中被传送给视频会议中的另一个设备的音频、视频和控制分组。在一些这样的实施例中,VTP管理器还把SIP分组中的控制消息路由给所述另一个设备。
一些实施例识别检查数据分组签名(即,分组报头格式),以区分利用不同的协议传递的不同分组(例如,区分利用RTP传送的分组和利用SIP传送的分组)。在这样的实施例中,在确定不同协议的数据分组之后,如上所述检查使用相同协议的数据分组(例如,利用RTP的音频数据和视频数据)的字段,以识别不同的数据类型。按照这种方式,VTP管理器1825通过单一通信通道,传送预定通过不同的通信通道传送的不同数据分组。
尽管上面说明了通过单一通信通道,组合不同类型的数据的一种方式,不过,其它实施例利用其它技术把不同的分组类型多路复用到一个通信流中。例如,一些实施例的一种技术涉及留意数据分组的一对初始端口号,并把所述一对初始端口号保存在数据分组本身中,以便稍后提取。还存在把两个视频会议参加者之间的不同类型的数据组合到一个端口对通道中的其它技术。
当VTP管理器1825通过虚拟通信通道从远程设备接收到数据分组时,VTP管理器1825检查数据分组的签名,以识别利用不同的协议发送的不同分组。这种签名可被用于区分SIP分组和RTP分组。一些实施例的VTP管理器还利用一些或全部分组的分组类型字段,多路分解被多路复用到单一虚拟化通道中的各种不同类型的分组(例如,音频、视频和控制分组)。在识别这些不同类型的分组之后,VTP管理器根据它保存的端口对号和分组类型的映射,把每个不同类型的分组和其对应的端口对号联系起来。VTP 1825随后用识别的一对端口号修改数据分组的一对端口号,并转发数据分组,以便解包。在利用不同的技术把不同的分组类型多路复用到单一通道中的其它实施例中,VTP管理器使用不同的技术解析分组。
通过利用这样的技术多路复用和多路解复用不同的分组,VTP管理器1825创建单一的虚拟化通信通道(例如,单对端口号),通过所述单一的虚拟化通信通道传送视频数据、音频数据和控制信令数据,和通过所述单一的虚拟化通信通道,从远程设备接收音频、视频和控制分组。从而,从网络的观点来看,数据是通过所述单一的虚拟化通信通道传送的,而从会话协商管理器1805和协议管理器1810的观点来看,视频数据、音频数据和控制信令数据是通过不同的通信通道传送的。
类似于传送给视频会议中的远程设备的图像,从视频会议中的远程设备传送的图像是按分组格式接收的。接收器模块1830接收分组,并对分组解包以便重构图像,之后把图像保存在视频缓冲器(例如,图12的缓冲器1216)中以便解码。在一些实施例中,对图像解包涉及除去任何报头,并由分组重构只具有图像数据(可能有大小数据)的比特流。
媒体传送管理器1835处理从网络接收的反馈数据(例如,单向等待时间、带宽估计比特率、分组丢失数据、往返延迟时间数据,等等),以动态和自适应地调整数据传输的速率(即,比特率)。在一些其它实施例中,媒体传送管理器1835还根据处理后的反馈数据控制容错,并且还可把反馈数据发送给视频会议管理器1204,以便调整视频会议模块1202的其它操作,比如比例缩放、大小调整和编码。除了当会议中的远程设备不能处理所有分组时,使通用传输缓冲器丢弃分组之外,视频会议模块和编码器能够使用低比特率对图像编码,使得对每个图像来说,将发送较少的分组。
在一些实施例中,媒体传送管理器1835还可监控设备的其它变量,比如会影响如何配置照相机的工作功率模式的功耗和热级,如上所述。该数据还可被用作加入反馈数据中的附加输入(例如,如果设备正变得过热,那么媒体传送管理器1835可设法使处理慢下来)。
现在参考图12,说明连网管理器1800的几个示例操作。首先说明把由双照相机移动设备的照相机拍摄的图像传送给视频会议中的远程设备,之后说明从远程设备接收图像。发射器模块1815从缓冲器1212取回将被传送给视频会议中的远程设备的编码图像。
协议管理器1810确定要使用的恰当协议(例如,传送音频和视频的RTP),会话协商管理器1805把该协议通知发射器模块1815。之后,发射器模块1815对图像进行分包,并把分包的图像发送给通用传输缓冲器1820。通用传输缓冲器管理器1822从会话协商管理器1805接收指令,以命令通用传输缓冲器1820传送或丢弃图像。VTP管理器1825从通用传输缓冲器1820接收分组并处理分组,以便通过单一通信通道把分组传送给远程设备。
当从远程设备接收图像时,VTP管理器1825通过虚拟化的单一通信通道,从远程设备接收分包的图像并处理分组,以便通过被分配用来接收图像的通信通道(例如,视频通信通道),把图像引导到接收器模块1830。
接收器模块1830对分组解包以重构图像,并把图像发送给缓冲器1216,以便由解码器1260解码。接收器模块1830还把控制信令消息转发送给媒体传送管理器1835(例如,来自视频会议中的远程设备的接收分组的确认)。
上面说明了连网管理器1800的几个示例操作。这些只是说明性的例子,因为各种其它实施例将利用不同的模块,或者在各种功能不同地分布在模块之间的情况下,执行这些操作或不同的操作。此外,连网管理器1800的模块,或者其它模块可执行另外的操作,比如动态比特率调整。
IV.会议中调整和控制操作
A.画中画修改
1.旋转
当用于视频会议的移动设备的用户在视频会议期间旋转所述移动设备时,一些实施例旋转在视频会议期间呈现的PIP显示。图19图解说明当使设备1900从垂直位置旋转到水平位置时,设备1900的UI 805的旋转。当屏幕的长边是垂直的时,设备1900被竖握,而当屏蔽的长边是水平的时,设备1900被横握。在图19中图解说明的例子中,UI 805从为设备的竖握而优化的纵向视图旋转成为设备1900的横握而优化的横向视图。这种旋转功能使得当移动设备1900被竖握或横握时,用户都可以观看以直立位置显示的UI 805。
图19按照六个不同的操作阶段1910、1915、1920、1925、1930和1935,图解说明UI 805的旋转。第一阶段1910图解说明在视频会议期间该设备的本地用户和远程设备的远程用户之间的UI 805。图19中的UI 805显示与在建立了视频会议之后,在图8的第五阶段中显示的PIP显示相同的PIP显示880。在这个例子中,本地用户的设备拍摄的视频显示在插入显示区860中,远程用户的设备拍摄的视频显示在背景显示区870中。在PIP显示880之下的显示区855中包括用户可选择以结束视频会议(例如,通过单指轻点)的可选UI项目1985(例如,“结束会议”按钮1985)。
第二阶段1915图解说明在用户开始向一边倾斜设备1900之后的UI805。在这个例子中,用户开始把设备1900从被竖握倾斜到被横握,如箭头1960所示。UI 805的外观没有变化。在其它情况下,用户可能改为想把设备1900从横握倾斜到被竖握,在这些情况下,UI 805从水平优化的视图切换成垂直优化的视图。
第三阶段1920图解说明在设备1900已从被竖握倾斜到被横握之后的状态下的UI 805。在这种状态下,UI 805的外观仍然没有变化。在一些实施例中,在使设备1900倾斜超过阈值量并保持超过阈值量一段时间之后,触发旋转操作。在图19中图解说明的例子中,假定阈值量和旋转速度不会导致UI 805旋转,直到设备已放置在水平位置之后的较短时间间隔为止。不同的实施例具有用于触发旋转操作的不同阈值量和等待时间。例如,一些实施例可具有如此低的触发旋转操作的阈值,使得不管设备1900的定向,都使UI 805显得好像它总是以直立位置显示似的。在其它实施例中,设备1900的用户可以规定何时可以触发旋转操作(例如,通过菜单优先选择设置)。同样,一些实施例可在设备被倾斜超过阈值量之后,不延迟所述旋转。此外,不同的实施例可以允许用不同的方式触发旋转操作,比如通过切换移动设备上的开关,通过发出话音命令,依据通过菜单进行的选择,等等。
第四阶段1925图解说明在开始旋转操作之后的UI 805。一些实施例动画制作旋转显示区,以向用户提供关于旋转操作的反馈。图19图解说明这样的一种动画的例子。具体地说,图19在其第四阶段1925表现显示区880和855一起开始旋转。显示区880和855围绕经过UI 805的中心的轴1965(即,z轴)旋转。显示区880和855被旋转相同的数量,不过沿与设备1900的旋转(例如,通过设备1900的倾斜)相反的方向旋转。在这个例子中,由于设备1900沿顺时针方向旋转了90°(通过从竖握变成横握),因此旋转操作会使显示区880和855沿反时针方向旋转90°。当显示区880和855旋转时,显示区880和855按比例地缩小,以适合UI 805,使得显示区880和855仍然可以完全出现在UI 805上。一些实施例可提供指示设备1900的状态的消息(例如,通过显示字词“Rotating(旋转)”)。
第五阶段1930图解说明在显示区880和855从纵向视图到横向视图反时针旋转90°之后的UI 805。在这个阶段,显示区880和855已被旋转,不过还未展开到UI 805的整个宽度。箭头1975指出在第五阶段的结尾,显示区880和855将开始侧向展开,以适合UI 805的整个宽度。不同的实施例可不包括该阶段,因为可以与第四阶段1925中的旋转同时地进行所述展开。
第六阶段1935图解说明在显示区880和855已被展开以占据UI 805的整个显示之后的UI 805。如上所述,其它实施例可以不同地实现这种旋转。对一些实施例来说,仅仅把设备的屏幕旋转超过阈值量就可触发所述旋转操作,而不管设备1900的定向。
另外,其它实施例可提供用于指示旋转操作的不同动画。在图19中执行的旋转操作涉及显示区880和855围绕UI 805的中心旋转。另一方面,可以使显示区围绕它们各自显示区的中心轴单独旋转。图20中表示了一种这样的方法。图20表示动画制作UI 805的PIP显示880的显示区870和860的旋转的备选方法。图20中图解说明的PIP显示880和图8中图解说明的PIP显示880相同。
图20按照六个不同的操作阶段1910、1915、1920、2025、2030和2035,图解说明PIP显示880的旋转。UI 805的前三个阶段的操作与如在图19中的UI 805中说明的前三个阶段的操作相同。在图19和20的第三阶段,设备2000都已从竖握变成横握,并且UI 805的旋转还未开始。
第四阶段2025图解说明动画制作所述旋转的备选方法。在第四阶段,旋转操作已开始。具体地说,第四阶段2025表现显示区870和860的旋转的开始。显示区870和860分别围绕穿过每个显示区的中心的轴2067和2065(即,z轴)旋转。显示区870和860被旋转相同的量,不过沿与设备2000的旋转(例如,通过设备2000的倾斜)相反的方向旋转。与上面在图19的第四阶段1925中图解说明的类似,由于设备2000沿顺时针方向旋转了90°(通过从竖握变成横握),因此旋转操作会使显示区870和860沿反时针方向旋转90°。当显示区870和860旋转时,显示区870和860按比例缩小以适合UI 805,使得显示区870和860仍然可以完全出现在UI 805上。
第五阶段2030图解说明在显示区870和860都从纵向视图到横向视图反时针旋转90°之后的UI 805。在这个阶段,显示区870和860已被旋转,不过还未展开到UI 805的整个宽度。此外,显示区860还未被移动到其最终位置。插入显示区860在PIP显示880中的最终位置由如在第一阶段1910中所示的插入显示区860在PIP显示880中的位置确定(例如,插入显示区860在PIP显示880的左下角)。在这个阶段,插入显示区860仍然在UI 805的左上角。
箭头2080指出在第五阶段2030的结尾,显示区870和860将开始侧向展开,直到主显示区870适合横握的设备的UI 805的整个宽度为止。此外,箭头2075指出插入显示区860将滑动到PIP显示880的左下角。
不同的实施例可不同地实现这一点。在一些实施例中,插入显示区860的移动可以和主显示区870的展开同时发生,或者可以顺序发生。此外,一些实施例可以在主显示区870展开前、展开中或展开后缩放插入显示区860,以产生新的PIP显示880。在这个例子中,在显示区860和870正旋转时,显示区855消失。不过,在一些实施例中,显示区855可在旋转期间保留在UI 805上,并和显示区860和870一起旋转。
第六阶段2035图解说明在插入显示区860已到达其新位置,并且显示区860和870已被恰当展开以适合UI 805的整个宽度之后的UI 805。在这个例子中,插入显示区860现在位于PIP显示880的左下角,重叠在主显示区870上。PIP显示880现有具有和第一阶段1910的PIP显示880相同的显示排列。第六阶段中在PIP显示880之下的显示区855的出现指示旋转操作已完成。如上所述,仅仅把设备的屏幕旋转超过阈值量就可触发所述旋转操作,而不管设备2000的定向。
在上面参考图19和20说明的例子中,显示区870的定向也改变(即,从纵向变成横向)。即,在第三阶段1920中旋转显示区870之后,通过水平展开PIP显示880,使得它充满整个UI 805,显示区870的定向从纵向变成横向。在一些实施例中,当设备2000被旋转时,由远程设备拍摄的视频旋转,不过显示由远程设备拍摄的视频的显示区的定向保持不变。图21中图解说明了一个这样的例子。图21类似于图20,除了显示在显示区870中的视频旋转之外,不过显示区870保持以纵向方向显示。
图21中还图解说明了其中显示区855保持在相同位置(而不是如图20中所示那样旋转并且水平展开,以充满PIP显示880)的旋转操作的例子。此外,图21包括与上面在图9中说明的显示区855的布局相同的显示区855的布局。如图所示,在阶段2140、2145、2150、2155、2185和2190中,当设备2000旋转时,显示区855保留在相同位置。
一些实施例提供这样一种旋转操作,其中显示由本地设备拍摄的视频的显示区的定向改变(而不是如图20中所示那样保持相同的定向),以反映在对本地设备进行旋转操作之后本地设备的定向。图21参考六个不同的阶段2140、2145、2150、2155、2185和2190,图解说明UI 805的这种旋转操作的例子。在图21中,第一阶段2140沿纵向方向显示插入显示区860,插入显示区860显示由设备2000的照相机拍摄的视频。第二阶段2145和第三阶段2150与图20的第二阶段1915和第三阶段1920相同,因为它们表示设备2000在旋转操作的各个阶段的倾斜。此时,设备2000的照相机正沿横向方向拍摄图像。为了指出这种转变,一些实施例提供如在第四阶段2155和第五阶段2185中所示的动画,而其它实施例根本不提供任何动画。
在第四阶段2155,显示在插入显示区860中的图像被旋转,不过插入显示区860本身不被旋转,因为第二阶段1945和第三阶段2150中设备2000的倾斜已把插入显示区860旋转到横向方向。在第五阶段2185中,插入显示区860中的旋转图像被水平展开,以填充插入显示区860,插入显示区860开始朝着PIP显示880的左下侧区域移动,以把插入显示区860置于和插入显示区860在第一阶段2140的PIP显示中相同的相对位置。
在一些实施例中,显示由远程设备拍摄的视频的显示区的定向也变化,以反映在对远程设备进行旋转操作之后远程设备的定向。图22图解说明设备2000的UI 805的四个不同阶段,其中(1)显示由本地设备拍摄的视频的显示区(本例中的显示区860)的定向变化,以反映在对本地设备进行旋转操作之后本地设备的定向,和(2)显示由远程设备拍摄的视频的显示区(本例中的显示区870)的定向变化,以反映在对远程设备进行旋转操作之后远程设备的定向。
在第一阶段2205,UI 805和图21中的UI 805相同。具体地说,第一阶段2205显示纵向定向的显示区860和870,因为设备2000是按纵向定向显示的,远程设备是纵向定向的(未示出)。从第一阶段2205到第二阶段2210,通过把设备2000从直立位置到横向位置旋转90°,对本地设备进行旋转操作。第二阶段2210显示在完成设备2000的旋转操作之后的UI 805。在第二阶段,显示在显示区870和860中的视频已旋转到直立位置。不过,只有本地拍摄视频的显示区860从纵向定向旋转到横向定向,因为只对本地设备(即,设备2000)进行了旋转操作。显示区870保持纵向定向。
从第二阶段2210到第三阶段2215,通过把远程设备从直立位置旋转到横向位置(未示出),对远程设备进行旋转操作。第三阶段2215显示在完成远程设备的旋转操作之后的UI 805。在第三阶段,显示在显示区870和远程拍摄视频的显示区870中的视频从纵向定向旋转到横向定向,因为只对远程设备进行了旋转操作。从而,UI 805的第三阶段均按横向定向显示本地和远程拍摄视频的显示区870和860。
从第三阶段2215到第四阶段2220,通过把设备2000从横向位置到直立位置旋转90°,对本地设备进行旋转操作。第四阶段2220显示在完成该旋转操作之后的UI 805。在第四阶段2220,显示在显示区860和870中的视频已旋转到直立位置。不过,只有本地拍摄视频的显示区860从横向定向旋转到纵向定向,因为只对本地设备(即,设备2000)进行了旋转操作。显示区870保持横向定向。
从第四阶段2220到第一阶段2205,通过把远程设备从横向位置旋转到直立位置(未示出),对远程设备进行旋转操作。在这种情况下,第一阶段2205显示在完成该旋转操作之后的显示区870。于是,该阶段的UI 805显示纵向定向的显示区860和870。尽管图22图解说明了一系列的不同旋转操作,不过其它实施例可以按照任意数目的不同序列,进行任意数目的旋转操作。
图19、20、21和22说明在视频会议期间对本地和远程设备进行的旋转操作。当对本地移动设备进行旋转操作时,一些实施例把旋转操作通知远程设备,以便让远程设备能对本地设备的视频进行任何修改(例如旋转正显示本地设备的视频的显示区)。类似地,当对远程设备进行旋转操作时,远程设备把该操作通知本地设备,使本地设备可以对远程设备的视频进行任何修改。一些实施例提供在视频会议期间,在本地设备和远程设备之间传送旋转操作的通知的控制通信通道。
尽管图19、20、21和22图解说明能够实现旋转的动画的不同方式,不过普通技术人员会认识到其它实施例可以用不同的方式显示旋转的动画。另外,旋转操作的动画能够引起本地移动设备的图像处理操作的变化,比如使视频会议管理器1204在UI 805中以不同的角度重新合成显示区,和比例缩放显示在显示区中的图像。
2.识别感兴趣区域
一些实施例允许用户在视频会议期间,识别显示的视频中的感兴趣区域(ROI),以便修改图像处理(例如,图12中的图像处理管理器1208),编码(例如,图12中的编码器1255),移动设备及其照相机在视频会议期间的行为,或者它们的组合。不同的实施例提供不同的技术来识别视频中的这种感兴趣区域。图23图解说明用于识别视频中的感兴趣区域以便提高视频的图像质量的一些实施例的用户界面。
在图23中,移动设备2325的UI 2300在与另一个移动设备的远程用户的视频会议期间,呈现PIP显示2365。图23中的PIP显示包括两个视频显示:背景主显示2330和前景插入显示2335。在这个例子中,背景主显示2330呈现树和戴着帽子的人物的视频,所述树和人物被假定为由远程设备的正面照相机拍摄其视频的树和人物,或者由远程设备的背面照相机拍摄其视频的树和人物。前景插入显示2335呈现男士的视频,在这个例子中,所述男士被假定为由本地设备的正面照相机拍摄其视频的男士,或者由本地设备的背面照相机拍摄其视频的人物。PIP显示的下面是包括标记成“End Conference”的可选UI项目2360(例如,按钮2360)的显示区855,可选UI项目2360允许用户通过选择该项目来结束视频会议。
该PIP显示只是呈现由远程设备和本地设备拍摄的视频的合成视图的一种方式。一些实施例可以提供其它的合成视图。例如,代替具有用于来自远程设备的视频的较大背景显示,较大的背景显示可以是来自本地设备的视频,较小的前景插入显示可以是来自远程设备的视频。另外,一些实施例允许本地视频和远程视频出现在UI中的两个并排显示区(例如,左右显示窗口,或者上下显示窗口),或者两个对角排列的显示区中。在其它实施例中,PIP显示还可包含一个较大的背景显示,和两个较小的前景插入显示。在一些实施例中,PIP显示的方式或者默认显示模式可由用户规定。
图23按照UI 2300的四个操作阶段图解说明ROI识别操作。如第一阶段2305中所示,在背景显示2330中呈现的视频具有很低的质量(即,视频图像模糊)。在这个例子中,移动设备2325的用户意欲把背景显示2330中出现人物的脸部2370的区域识别为感兴趣区域。
在第二阶段2310中,发起识别感兴趣区域的操作。在这个例子中,通过选择在背景显示2330中呈现的视频之中用户想要识别为感兴趣区域的区域(例如,通过在设备的屏幕上,在背景显示2330中的显示的人物脸部2370附近的位置轻点手指2350),发起该操作。
如第三阶段2315中所示,用户的区域选择使UI 2300画出环绕用户选择的区域的环绕框2375(例如,虚线方框2375)。第四阶段2320显示在结束识别感兴趣区域之后的UI 2300。作为该过程的结果,与第一阶段2305中相比,感兴趣区域内的视频的质量已得到显著改善。环绕框2375的消除指示ROI选择操作现在已完成。在一些实施例中,ROI识别处理还对显示在远程设备上的相同视频造成与它对本地设备2325造成的变化相同的变化。例如,在这个例子中,显示在远程设备上的相同视频的感兴趣区域内的图片质量也得到显著改善。
在一些实施例中,用户可在第三阶段2315放大或缩小环绕框2375(例如,通过把手指2350放在显示画面上,并朝着屏幕的右上角移动手指2350,以放大环绕框2375,或者朝着屏幕的左下角移动手指2350,以缩小环绕框2375)。一些实施例还允许用户在第三阶段2315重新改变环绕框2375的位置(例如,通过把手指2350放在显示画面上,并在显示画面上水平或垂直移动手指2350)。在一些其它实施例中,所述区域的选择根本不会使UI 2300在第三阶段2315中画出环绕框2375。
其它实施例提供允许用户识别视频中的感兴趣区域的不同技术。图24图解说明一种这样的其它技术。在图24中,用户通过画出包围感兴趣区域的形状来识别感兴趣区域。在这个例子中,所述形状是矩形,不过也可以是其它形状(例如,任何其它多边形、圆、椭圆等)。一些实施例在还提供在图23中图解说明的那种技术的设备UI中,提供图24的备选技术。不过,其它实施例不在相同UI中提供这两种技术。
图24按照UI 2300的五个操作阶段图解说明这种ROI识别操作。图24中的第一阶段2305和图23中的第一阶段2305相同。具体地说,在第一阶段2305中,UI 2300图解说明具有较大的背景主显示2330,和位于PIP显示2365的左下角的较小的前景插入显示2335的PIP显示2365。
在第二阶段2410,发起识别感兴趣区域的操作。在这个例子中,通过持续一段时间选择定义呈现在背景主显示区2330中的视频中的感兴趣区域的第一位置(例如,通过在设备的屏幕上,持续一段时间把手指2450放在背景显示区2330中的所显示人物脸部2370附近的位置上),发起所述操作。在第三阶段2415,UI 2300利用临近背景主显示区2330上的所选第一位置的圆点2455,指示已选择了所述第一位置2470。
第四阶段2420图解说明在用户选择了定义感兴趣区域的第二位置2475之后的UI 2300。在这个例子中,通过如箭头2460所示,在圆点2455出现之后,从第一位置开始在设备的屏幕内拖动手指2450,并在位于背景显示区2330中的显示的帽子和显示的树之间的位置停止,用户选择第二位置2475。如第四阶段中所示,这种拖动导致UI 2300画出感兴趣区域的矩形边框2465,所述矩形边框2465具有在其相对顶点上的第一和第二位置2470和2475。
第五阶段2425图解说明在感兴趣区域的识别已结束之后的UI 2300。在这个例子中,用户通过一旦识别了期望的感兴趣区域就停止手指2450的拖动,并从设备的显示屏幕移开手指2450,来完成感兴趣区域的识别。第五阶段2425图解说明通过该拖拉(drawing)过程,与第一阶段2305中相比,感兴趣区域内的视频的质量已得到显著改善。在一些实施例中,和它对本地设备2325所造成的变化一样,这种拖拉过程也对远程设备上的显示画面造成相同的变化。例如,在这个例子中,显示在远程设备上的相同视频的感兴趣区域内的图像质量会得到显著改善。
上面的图23和24的描述举例说明了识别视频中的感兴趣区域,以便改善所识别区域的图片质量的不同方式。在一些实施例中,改善识别的感兴趣区域的图片质量会导致双照相机移动设备的编码操作的变化,比如当对视频编码时,对所识别的区域分配更多的比特。
一些实施例允许用户识别视频中的感兴趣区域,以对移动设备或其照相机做出不同的改变。例如,图25图解说明识别视频中的感兴趣区域,以在显示画面上扩大或缩小感兴趣区域的例子。在这种方法中,用户通过把显示画面上的某一区域选为感兴趣区域的中心,随后扩大或缩小所述感兴趣区域,识别视频中的感兴趣区域。
在图25中,移动设备2525的UI 2500在与另一个移动设备的远程用户进行视频会议期间,呈现PIP显示2365。图25中的PIP显示2365基本上与图23的PIP显示2365类似,不过图25的前景插入显示2335位于PIP显示2365的左下角。
图25按照UI 2500的四个操作阶段图解说明ROI选择操作。如第一阶段2505中所示,背景显示区2530呈现具有在背景显示2530的左侧的男士,和在背景显示区2530的右侧的树2540的视频。此外,树2540相对较小且只占据背景显示区2530的右侧。在这个例子中,移动设备2525的用户意欲把背景显示区2530上出现树2540的区域识别为感兴趣区域。
在第二阶段2510中,发起识别感兴趣区域的操作。在这个例子中,通过选择呈现在背景显示区2530中的视频之中的、用户希望识别为感兴趣区域的区域2540(例如,通过把两根手指2545和2546放在背景显示区2530上显示树2540的地方),发起所述操作。在第二阶段2510,通过彼此远离地拖动其手指2545和2546,用户能够使感兴趣区域2540扩大,并占据更大部分的背景显示区2530。通过相互接近地拖动其手指2545和2546,用户还能够使感兴趣区域2540缩小,从而占据较小部分的背景显示区2530。
第三阶段2515图解说明在如箭头2550所示,用户通过彼此远离地移动其手指2545和2546(即,手指2545朝着背景显示区2530的左上角移动,手指2546朝着背景显示区2530的右下角移动),开始使感兴趣区域2540扩大,以占据更大部分的背景显示区2530之后的UI 2500。在一些实施例中,手指移动还对远程设备的显示造成和它对本地设备造成的变化一样的变化。例如,在这个例子中,相同视频的感兴趣区域将扩大,从而占据远程设备的更大部分的背景显示区2530。在一些实施例中,本地显示和/或远程显示中的感兴趣区域的扩大导致一个或两个移动设备或其照相机修改它们的一个或多个其它操作,如以下进一步所述。
第四阶段2520显示在感兴趣区域的识别已完成之后的UI 2500。在这个例子中,一旦感兴趣区域在背景显示区2530中达到期望的比例,那么用户通过停止用户的手指2545和2546的拖动,并且从设备的显示屏幕上移开手指2545和2546,来完成感兴趣区域的识别。作为该过程的结果,感兴趣区域占据了大部分的背景显示区2530。感兴趣区域的识别操作现在已完成。
上面的一些例子举例说明用户如何识别视频中的感兴趣区域,以提高视频中的所选感兴趣区域内的图像质量(例如,通过增大对视频的感兴趣区域编码的比特率)。在一些实施例中,识别视频中的感兴趣区域导致移动设备的图像处理操作,比如曝光、比例缩放、聚焦等的变化。例如,识别视频中的感兴趣区域会导致视频会议管理器1204不同地比例缩放和合成视频的图像(例如,识别要变焦的感兴趣区域)。
在其它实施例中,识别视频中的感兴趣区域导致移动设备的照相机的操作的变化(例如,帧速率、变焦、曝光、比例缩放、聚焦等)。在另外的其它实施例中,识别视频中的感兴趣区域导致移动设备的编码操作的变化,比如向识别的区域分配更多的比特、比例缩放等等。另外,尽管上面说明的示例ROI识别操作只会对移动设备或其照相机造成上述修改中的一种修改,不过在一些其它实施例中,ROI识别操作会对移动设备或其照相机的操作造成多于一种的修改。另外,在一些实施例中,图23-25的显示区855的布局和上面说明的图9的显示区855的布局相同。
B.切换照相机
一些实施例提供在视频会议期间切换照相机(即,改变拍摄图像的照相机)的方法。不同的实施例提供实现切换照相机操作的不同方法。一些实施例提供由双照相机移动设备执行的切换该设备的照相机(即,本地切换)的方法,而其它实施例为双照相机移动设备提供指令视频会议中的另一个双照相机移动设备切换所述另一个设备的照相机(即,远程切换)的方法。除此之外的其它实施例同时提供进行本地切换和远程切换的方法。IV.B.1节将说明在双照相机移动设备上进行本地切换照相机操作的处理。IV.B.2节将说明在双照相机移动设备上进行远程切换照相机操作的处理。
1.本地切换照相机
图26图解说明一些实施例在本地双照相机移动设备执行的、在与包括至少一部照相机的远程移动设备的视频会议期间,在本地设备的两部照相机之间进行切换的处理2600。在一些实施例中,处理2600由图12中所示的视频会议管理器1204执行。为了说明起见,下面的讨论将把本地双照相机移动设备的一部照相机称为照相机1,把本地双照相机移动设备的另一部照相机称为照相机2。
通过在本地双照相机移动设备和远程移动设备之间开始(在2605)视频会议,处理2600开始。随后,处理2600把来自本地双照相机移动设备的当前所选照相机(例如,照相机1)的视频图像发送给(在2610)远程移动设备,以便在远程移动设备上显示。在2610,处理2600还根据所述视频图像和它从远程移动设备接收的视频图像,产生和显示合成图像。
处理2600随后确定(在2615)是否接收到结束视频会议的请求。如上所述,在一些实施例中,可以应本地双照相机移动设备的用户的请求(例如,通过本地双照相机移动设备的用户界面),或者应远程移动设备的用户的请求(例如,通过远程移动设备的用户界面),结束视频会议。当处理2600接收到结束视频会议的请求时,处理2600结束。
当处理2600未接收到结束视频会议的请求时,处理2600随后确定(在2620)本地双照相机移动设备的用户是否已指令该本地设备切换用于视频会议的照相机。当处理2600确定(在2620)所述本地设备未被指令切换照相机时,处理2600返回操作2610。不过,当处理2600确定(在2620)所述本地设备已被指令切换照相机时,处理2600进入操作2625。
在2625,处理2600向远程移动设备发送指出本地双照相机移动设备要切换照相机的通知。在一些实施例中,处理2600通过如上所述,与音频通道和视频通道一起由VTP管理器1825多路复用的视频会议控制通道发送所述通知。
在发送其通知之后,处理2600进行(在2630)切换照相机操作。在一些实施例中,进行(在2630)切换照相机操作包括指令CIPU停止用照相机1拍摄视频图像,开始用照相机2拍摄视频图像。这些指令可以仅仅指令CIPU切换捕获来自与照相机2关联的像素阵列的图像,并开始处理这些图像。另一方面,在一些实施例中,给CIPU的指令可以伴随一组初始化参数,所述一组初始化参数指令CIPU:(1)根据特定的一组设置操作照相机2,(2)以特定的帧速率捕获由照相机2产生的视频,和/或(3)根据特定的一组设置(例如,分辨率等)处理来自照相机2的视频图像。
在一些实施例中,切换照相机指令(在2630)还包括把未使用的照相机切换成如上所述的第四种工作功率模式的指令。在这个例子中,切换照相机指令包括给照相机2的、切换到其第四种工作功率模式的指令。另外,切换照相机指令还包括给照相机1的、从其第四种工作功率模式切换到另一种工作功率模式,比如第一种工作功率模式以节省电力,或者切换到第三种工作功率模式,使得当被要求拍摄图像时,它能够快速切换到第四种工作功率模式并开始拍摄图像的指令。切换照相机操作2630还涉及合成由本地双照相机移动设备的照相机2拍摄的图像(而不是由照相机1拍摄的图像)和从远程移动设备接收的图像,以便在双照相机移动设备上显示。
在2630指令切换照相机之后,处理2600在本地双照相机移动设备上进行(在2635)切换照相机动画,以显示在来自照相机1的图像的显示和来自照相机2的图像的显示之间的转变。在本地双照相机移动设备上的切换照相机动画之后,处理2600循环经过操作2610-2620,直到接收到结束视频会议请求,或者新的切换照相机请求为止。
图27图解说明一些实施例如何允许通过双照相机设备的UI 805请求切换照相机操作,和这些实施例如何动画制作切换照相机操作的一个例子。图27按照该设备的UI 805的八个不同的操作阶段2710、2715、2720、2725、2730、2735、2740和2745,图解说明切换照相机操作。UI805的前四个阶段2710、2715、2720和2725图解说明接收用户的切换照相机请求的例子。在本发明的一些实施例中,该设备的用户具有产生这种请求的其它机制。
第一阶段2710和图8的UI 805的第五阶段830相同,它表示在建立视频会议之后的UI 805。在这个阶段,UI 805显示包括两个视频显示的PIP显示:来自远程照相机的较大的背景显示,和来自本地照相机的较小的前景插入显示。在这个例子中,背景主显示区870呈现一位女士的视频,在这个例子中,所述女士被假定为由远程设备拍摄其视频的女士,而前景插入显示区860呈现一位男士的视频,在这个例子中,所述男士被假定为由本地设备的正面照相机拍摄其视频的男士。
第二阶段2715随后显示通过UI 805的PIP显示区880的选择,开始切换照相机操作。如图所示,通过把用户的手指2770放在PIP显示880上,实现所述选择。第三阶段2720显示包括用于在视频会议期间,请求在本地设备2700的照相机间进行切换的可选UI项目2775(例如,切换照相机(switch camera)按钮2775)的UI 805。第四阶段2725图解说明在本地设备2700的用户选择(例如,通过单指轻点)可选UI项目2775之后,和在通过可选UI项目2775的突出显示指出这种选择之后的UI805。通过选择该可选UI项目2775,用户指令设备2700在视频会议期间,从设备2700的正面照相机切换到设备2700的背面照相机。在其中设备2700的背面照相机拍摄视频的其它例子中,用户对可选UI项目2775的选择会指令设备2700从设备2700的背面照相机切换到设备2700的正面照相机。在第四阶段之后,视频会议管理器向CIPU发送指令,以及远程设备开始切换照相机操作。
UI 805的后四个阶段2730、2735、2740和2745图解说明本地设备上的切换照相机动画的例子。该动画意图造成从本地设备的正面照相机和背面照相机拍摄的视频被并存地显示在观察窗格的正反两面上的印象,在任意时间,所述观察窗格只能够让用户看到其正反两面之一。当在视频会议中间请求切换照相机时,使该观察窗格仿佛围绕垂直轴旋转,使得在观察窗格的先前向用户显示一部照相机的视频的一个侧面上呈现的一部照相机的视频转动离开用户,直到它被观察窗格的另一个侧面代替为止,所述另一个侧面显示另一部照相机的视频。这种感受到的观察窗格的旋转动画和现象是通过(1)在用于一部照相机的显示区中,逐渐缩小来自该部照相机的视频图像,并对所述视频图像应用透视校正操作,随后(2)在所述显示区中,逐渐扩大来自另一部照相机的视频图像,并减小对所述视频图像的透视校正操作实现的。
因此,第五阶段2730图解说明围绕垂直轴2782的“观察窗格的旋转”的开始。为了产生观察窗格的旋转现象,UI 805减小了视频显示区860中的正面照相机的视频图像的大小,并应用了透视操作,以显得与视频图像的左侧相比,视频图像的右侧更远离用户。
第六阶段2735图解说明观察窗格已旋转90°,使得用户只能看到窗格的边缘,如显示在显示区860的中央的细线2786所示。第七阶段2740图解说明观察窗格继续旋转,使得观察窗格2788的背面现在逐渐出现在用户面前,以显示从用户的背面照相机拍摄的视频。同样,在一些实施例中,旋转动画的这种呈现是通过减小视频显示区2788中背面照相机的视频图像的大小,并应用透视操作以使得与视频图像的右侧相比,视频图像的左侧更远离用户来实现的。
第八阶段2745图解说明表示切换照相机操作的动画的完成。具体地说,这个阶段在显示区860中显示由设备2700的背面照相机拍摄的汽车的视频图像。
上面参考图27说明的例子通过切换照相机用户界面,调用切换照相机操作。其它实施例不同地调用切换照相机操作。例如,一些实施例通过使切换照相机可选UI项目在视频会议期间永久地显示在UI,例如图28的UI 805上,调用切换照相机操作。在图28中,切换照相机按钮989连同静音按钮985和结束会议按钮987一起被显示在显示区855中。显示区855的布局和上面参考图9说明的显示区855的布局相同。
图28按照六个阶段:2710、2890、2730、2735、2740和2745,图解说明UI 805的切换照相机操作。图28的第一阶段2710类似于图27的第一阶段2710,除了显示区855的布局显示静音按钮985、结束会议按钮987和切换照相机按钮989,而不是单一的结束会议按钮之外。第二阶段2890图解说明在本地设备2700的用户选择(例如,通过利用手指2770的单指轻点)切换照相机可选UI项目989之后的UI 805。在这个例子中,通过选择该可选UI项目989,用户指令设备2700在视频会议期间,从设备2700的正面照相机切换到设备2700的背面照相机。图28的后四个阶段与图27的后四个阶段类似,除了显示区855的布局和上面在第一阶段2710中说明的布局相同之外,于是不再进一步说明,以避免用不必要的详情模糊本发明的描述。
在一些实施例中,当远程移动设备接收到来自本地双照相机移动设备的不同照相机的图像(即,本地双照相机移动设备切换照相机)时,远程移动设备也进行切换照相机动画,以显示在来自本地双照相机移动设备的一部照相机的图像的显示和来自本地双照相机移动设备的另一部照相机的图像的显示之间的转变。图29按照UI 2905的五个操作阶段2910、2915、2920、2925和2930,图解说明这种切换照相机动画之一的例子。图29表示远程移动设备2900上的示例切换照相机动画。各个操作阶段与图27的示例动画相同,除了是对显示在显示区2935中的图像进行动画之外,显示区2935是在远程移动设备2900上显示来自本地双照相机移动设备的图像的地方。因而,显示在显示区2935中的男士的图像被动画制作成仿佛在位于显示区2950中央的垂直轴2955上旋转180°,以表示在显示区2935中的男士的图像的显示和汽车2970的图像的显示之间的转变。一些实施例的切换照相机动画的实现和上面说明的动画的实现相同。
上面的例子举例说明在具有特定用户界面布局的远程设备上的切换照相机动画。其它实施例可在具有不同的用户界面布局的远程设备上实现该切换照相机动画。例如,图30图解说明具有不同的用户界面布局2905的远程设备2900的一个这种例子。特别地,图30的UI 2905具有包括在显示区855中的静音按钮985、结束会议按钮987和切换照相机按钮989,在视频会议期间,所述显示区855永久地显示在合成显示2950的一侧。上面参考图29说明了这三个按钮的布局。除了不同的用户界面布局之外,图30的五个阶段2910、2915、2920、2925和2930与图29的五个阶段2910、2915、2920、2925和2930相同。
2.远程切换照相机
图31图解说明在视频会议期间,切换远程双照相机设备的两部照相机的处理3100。处理3100由包括至少一部照相机的设备的视频会议管理器执行。在下面的讨论中,用户通过其指令远程切换照相机的设备被称为本地设备,而切换其两部照相机的设备被称为远程设备。另外,在下面的讨论中,远程设备被认为在其正面照相机(或者说照相机1)和其背面照相机(或者说照相机2)之间进行切换。
下面参考图32、33、34和35,说明图31的处理3100。图32图解说明本地设备3200的UI 3205,在视频会议期间,用户通过本地设备3200请求远程设备在其两部照相机之间进行切换。图32图解说明UI 3205的八个不同的操作阶段3210、3215、3220、3225、3230、3235、3240和3245。图35图解说明从本地设备3200接收切换照相机请求的远程设备3500的UI 3505。图35图解说明UI 3505的六个不同的操作阶段3510、3515、3520、3525、3530和3535。
如图31中所示,通过在本地设备和远程设备之间启动(在3105)视频会议,处理3100开始。处理3100随后(在3110)接收来自每个设备的一部照相机(例如,来自每个设备的正面照相机)的图像,并根据这些图像生成视频会议的合成视图。在3110,处理3100还把来自本地设备的视频图像发送给远程设备。
随后,处理3100确定(在3115)是否接收到结束视频会议的请求。如上所述,在一些实施例中,可应本地或远程设备的用户的请求,结束视频会议。当处理3100接收到结束视频会议的请求时,处理3100结束。
当处理3100未接收到结束视频会议的请求时,处理3100随后确定(在3120)在其上执行处理3100的设备的用户(即,本地设备的用户)是否指令该设备请求远程设备切换其用于视频会议的照相机。当处理3100确定(在3120)它未被指令发起远程切换照相机时,处理3100返回操作3110。当处理3100确定(在3120)它已被指令发起远程切换照相机时,处理3100进入下面进一步说明的操作3125。
图32的UI 3205的前四个阶段3210、3215、3220和3225图解说明接收用户的切换远程设备的照相机的请求的例子。第一和第二阶段3200和3215与图27的第一和第二阶段2710和2715相同。第三阶段3220和第三阶段2720相同,除了第三阶段3220不仅包括请求本地设备3200切换照相机的可选UI项目3275,而且包括请求远程设备3200切换照相机的可选UI项目3280之外。第四阶段3225图解说明本地设备3200的用户选择请求远程设备切换照相机的UI项目3280(例如,通过可选UI项目3280的单指轻点3270)。通过突出显示可选UI项目3280,指出所述选择。图32表示进行这种操作的一个例子,不过其它实施例可不同地进行请求远程设备切换照相机的操作。
上面参考图32说明的例子通过远程切换照相机用户界面调用远程切换照相机操作。其它实施例不同地调用远程切换照相机操作。例如,一些实施例通过使切换照相机可选UI项目在视频会议期间永久地显示在UI,例如图33的UI 3205上,调用切换照相机操作。在图33中,远程切换照相机按钮3388连同静音按钮3382、结束会议按钮3384和本地切换照相机按钮3386一起被显示在显示区855中。
图33按照六个不同的阶段3210、3390、3230、3235、3240和3245,图解说明设备3200的UI 3205的远程切换照相机操作。图33的第一阶段3210类似于图32的第一阶段3210,除了显示区855的布局显示静音按钮3382、本地切换照相机按钮3386、远程切换照相机按钮3388和结束会议按钮3384之外。第二阶段3390图解说明在本地设备3200的用户选择(例如,通过单指轻点3270)远程切换照相机可选UI项目3388之后的UI 805。图33的后四个阶段类似于图32的后四个阶段,除了显示区855的布局和上面在第一阶段3210中描述的布局相同之外,于是不再进一步说明,以避免用不必要的详情模糊本发明的描述。
一些实施例提供和图33中图解说明的布局类似的布局,除了远程切换照相机可选UI项目显示在PIP显示3265中,而不是显示在显示区855中之外。图34图解说明这样的布局3205。具体地说,图34表示具有远程切换照相机可选UI项目3280的PIP显示,和只具有静音按钮3382、本地切换照相机按钮3386和结束会议按钮3384的显示区855。
如上所述,当用户请求远程切换照相机时,处理3100进入操作3125。在操作3125,处理3100把切换照相机的请求发送给远程设备。在一些实施例中,该请求是通过如上所述,与音频通道和视频通道一起被VTP管理器1825多路复用的视频会议控制通道发送的。
在切换照相机的请求被接收之后,处理3100确定(在3130)远程设备是否响应了切换照相机的请求。在一些实施例中,远程设备自动通过视频会议控制通道,向本地设备发送接受响应(即,发送确认)。不过,在其它实施例中,远程设备的用户必须通过远程设备的用户界面接受该请求。
图35的UI 3505的前两个阶段3510和3515图解说明远程用户接受切换远程设备3500的照相机的请求的例子。第一阶段3510显示(1)用于显示把所述请求通知远程用户的文本的显示区3540,(2)用于接受切换远程设备的照相机的请求的可选UI项目3565(例如,允许(allow)按钮3565),和(3)用于拒绝切换远程设备的照相机的请求的可选UI项目3570(例如,拒绝(reject)按钮3570)。第二阶段3515随后图解说明在远程设备的用户选择(例如,通过单指轻点3580)用于接受切换照相机的请求的UI项目3565之后的UI 3505,通过突出显示可选UI项目3565,指示用户的所述选择。
当处理3100确定(在3130)它未接收到来自远程设备的响应时,处理3100确定(在3135)是否接收到结束视频会议的请求。如果是,那么处理3100返回操作3110,继续从另一个设备的照相机接收图像。否则,处理接收(在3140)来自远程设备和本地设备的当前所用照相机的图像,根据这些图像产生视频会议的合成视图,把本地设备的视频图像传送给远程设备,随后返回操作3130。
当处理3100确定(在3130)它接收到了来自远程设备的响应时,处理3100确定(在3145)远程设备是否接受切换照相机的请求。如果否,那么处理3100结束。否则,处理3100接收(在3150)来自远程设备的另一部照相机的图像,随后在本地设备上进行(在3155)切换照相机动画,以显示先前利用的远程照相机的视频和当前利用的远程照相机的视频(即,在操作3150接收的图像)之间的转变。在操作3155之后,处理返回上面说明的操作3110。
关于图32中的UI 3205图解说明的后四个操作阶段3230、3235、3240和3245图解说明本地设备3200上的这种远程切换照相机动画的一个例子。该示例动画与在图29的阶段2915、2920、2925和2930中图解说明的示例动画类似,除了图32在显示区3250中,显示用由远程设备的背面照相机拍摄的树的视频,替换由远程设备的正面照相机拍摄的女士的视频的动画之外。图33和图34的后四个阶段图解说明与图32中的动画相同的动画,除了图33和34的显示区855包含与图32中的显示区855不同的可选UI项目之外。
在一些实施例中,当远程设备切换照相机时,远程设备的UI也进行切换照相机动画,以显示两部照相机之间的转变。关于图35中的UI 3505图解说明的后四个操作阶段3520、3525、3530和3535图解说明当远程设备3500切换照相机时,显示在远程设备3500上的切换照相机动画的例子。该动画与在图27的阶段2730、2735、2740和2745中图解说明的动画类似,除了显示区3545中的动画用由远程设备3500的背面照相机拍摄的树的视频,替换由远程设备3500的正面照相机拍摄的女士的视频之外。
如上所述,图27、28、29、30、32、33、34和35表示在用户界面上执行的切换照相机动画的各种例子。在一些实施例中,切换照相机动画导致相应双照相机移动设备的图像处理操作的变化,比如可由视频会议管理器1204和图像处理管理器1208执行的比例缩放、合成和透视失真。
C.曝光调整
在双照相机移动设备和另一个移动设备之间的视频会议期间,不同的实施例提供调整由任意一个移动设备的照相机拍摄的图像的曝光的不同技术。一些实施例向双照相机移动设备的用户提供调整由另一个设备的照相机拍摄的图像的曝光的技术,而其它实施例向用户提供调整由双照相机移动设备的照相机拍摄的图像的曝光的技术。下面将详细说明一些示例性的例子。
图36图解说明在视频会议期间,在一些实施例的双照相机移动设备上进行远程曝光调整操作的处理3600。在下面的讨论中,用户通过其指令远程设备调整其曝光度的设备被称为本地设备。在一些实施例中,处理3600由本地设备的视频会议管理器执行。另外,将参考图37、38和39说明处理3600,图37、38和39举例说明本地设备的用户请求远程设备进行曝光调整操作的各种方式。
如图36中所示,通过在本地设备和远程设备之间启动(在3605)视频会议,处理3600开始。处理3600随后接收(在3610)来自远程设备的视频,以在本地设备的显示屏幕上显示。随后,处理3600确定(在3615)是否接收到结束视频会议的请求。如上所述,一些实施例能够从本地或远程设备的用户接收结束视频会议的请求。当处理3600接收到结束视频会议的请求时,处理3600结束。
不过,当处理3600未接收到结束视频会议的请求时,处理3600随后确定(在3620)是否接收到调整远程设备的照相机的曝光的请求。当处理3600确定未接收到调整远程设备的照相机的曝光的请求时,处理3600返回操作3610,接收从远程设备拍摄的另外的视频。图37、38和39图解说明向用户提供产生这种请求的方式的三个不同例子。在图37、38和39中,第一阶段3710、3810和3910都显示本地设备3700、3800和3900的PIP显示3725、3850和3935,PIP显示3725、3850和3935显示两个视频:由本地设备的照相机拍摄的视频,和由远程设备的照相机拍摄的另一个视频。在第一阶段3710、3810和3910中,背景显示3735、3860和3945中的男士是暗黑的,指示该男士未被恰当曝光。
图37的第二阶段3715图解说明通过选择远程设备的视频(例如,通过单击背景显示3735),本地设备3700的用户请求远程设备进行曝光调整的一种方式。按照这种方式,UI 3705自动使用户对由方框3745限定的感兴趣区域的选择与用户的指令远程设备对感兴趣区域进行曝光调整的期望联系起来,从而指令本地设备的视频会议管理器联系远程设备,以进行曝光调整操作。定义的感兴趣区域被远程设备用于计算曝光调整。
类似于图37的第二阶段3715,图38的第二阶段3815表示本地用户对远程设备的视频的选择,除了该选择指令UI 3805显示如第三阶段3820中所示的可选UI项目3870之外。第四阶段3825图解说明本地设备的用户选择可选UI项目3870,以指令远程设备如上所述进行曝光调整操作。
图39的第二阶段3915类似于图38的第二阶段,不过代替用户对远程设备的视频的选择指令UI显示单一的可选UI项目,用户的选择指令UI 3905显示可选UI项目3955、3960、3965和3970的菜单,如第三阶段3920中所示。可选UI项目包括“自动聚焦(Auto Focus)”项目3955,“自动曝光(Auto Exposure)”项目3960,“切换照相机(SwitchCamera)”项目3965,和“取消(Cancel)”项目3970。在一些实施例中,“切换照相机”可选UI项目3965被用于请求本地切换照相机操作,而在其它实施例中,“切换照相机”可选UI项目3965被用于请求远程切换照相机操作。第四阶段3925图解说明用户选择“自动曝光”项目3960,以指令远程设备如上所述进行曝光调整操作。
当处理3600确定(在3620)本地用户指令本地设备请求曝光调整操作时,处理3600通过视频会议控制通道向远程设备发送(在3625)命令,以调整由目前拍摄并向本地设备传送视频的照相机拍摄的视频的曝光。在操作3625之后,处理3600返回上面说明的操作3610。
在一些实施例中,在远程设备进行曝光调整操作之前,要求远程设备的用户提供许可,而在其它实施例中,当从本地设备接收到请求时,远程设备自动进行曝光调整操作。此外,在一些实施例中,一些视频会议功能由视频会议管理器1204实现。在一些这样的实施例中,视频会议管理器1204通过指令CIPU 1250调整正在使用的远程照相机的传感器的曝光设置,来执行曝光调整操作。
图37、38和39的最后阶段3720、3830和3930更明亮地显示远程设备的视频,这指示该男士被恰当曝光。尽管图37、38和39提供接收校正远程设备的曝光的曝光调整请求的例子,不过一些实施例向本地设备的用户提供请求该本地设备调整其照相机的曝光的方式。可与在图37、38和39中图解说明的请求远程设备调整其照相机的曝光的方式类似地产生这样的请求。
上面说明的图37-39表示用于进行曝光调整操作的几种用户界面。在一些实施例中,曝光调整操作能够导致双照相机移动设备的图像处理操作的改变,比如调用下面进一步详细说明的曝光调整处理4000。曝光调整操作还能够造成拍摄视频的双照相机移动设备的照相机的操作的改变,比如改变照相机的曝光度设置。
图40概念地图解说明由一些实施例的图像处理管理器,比如图12中图解说明的图像处理管理器执行的曝光调整处理4000。在一些实施例中,处理4000是上面参考图36、37、38和39说明曝光调整操作的一部分。在一些这样的实施例中,图像处理管理器1208执行处理4000,并通过向视频会议管理器1204发送指令,调整照相机的曝光设置,所述视频会议管理器1204指令CIPU 1250调整照相机传感器405a或405b,如上所述。
在一些实施例中,处理4000由图6中所示的图像处理层630执行,而在其它实施例中,处理4000由图4中所示的统计引擎465执行。一些实施例对由视频会议中的(本地或远程)设备的照相机拍摄的图像进行处理4000,而其它实施例以图15中图解说明的处理1500的一部分(例如,操作1510)的形式执行处理4000。一些实施例进行曝光调整操作,以曝光由双照相机移动设备的照相机拍摄的不是太亮、也不是太暗的图像。换句话说,执行处理4000,以按照使细节的数量尽可能最大化的方式拍摄图像。
通过接收(在4005)由双照相机移动设备的照相机拍摄的图像,处理4000开始。在一些实施例中,当接收到的图像是由视频会议中的设备的照相机拍摄的第一帧图像时,不对该第一帧图像进行处理4000(即,在第一帧图像之前,不存在根据其确定曝光值的任何图像)。处理4000随后读取(在4010)接收图像中的规定区域的像素值。不同的实施例不同地定义所述区域。一些这样的实施例定义不同形状的区域,比如正方形、矩形、三角形、圆形等,而其它的这种实施例在图像的不同位置,比如中心、上部中心、下部中心等定义所述区域。
随后,处理4000计算(在4015)图像的定义区域中的像素值的平均值。处理4000确定(在4020)像素值的计算平均值是否等于特定的规定值。不同的实施例定义不同的特定值。例如,一些实施例把所述特定值定义为图像的动态范围的中位数像素值。在一些实施例中,定义数值的范围,而不是单个值。在这样的实施例中,处理4000确定(在4020)像素值的计算平均值是否在数值的规定范围之内。
当像素值的计算平均值不等于特定的规定值,处理4000根据计算平均值,调整(在4025)曝光值。当像素值的计算平均值等于特定的规定值时,处理4000结束。在一些实施例中,曝光值代表照相机传感器被曝光的时间量。在一些实施例中,调整后的曝光值被用于曝光将由拍摄接收图像的照相机拍摄的下一帧图像。在根据计算的平均值调整曝光值之后,处理4000结束。
在一些实施例中,重复执行处理4000,直到像素值的计算平均值等于特定的规定值(或者在数值的规定范围内)为止。一些实施例在视频会议期间,不断进行处理4000,而其它实施例在视频会议期间,每隔规定的时间(例如,5秒、10秒、30秒等)进行处理4000。此外,在视频会议期间,一些实施例的处理4000在进行处理4000之前,动态重新定义特定的像素值。
图41概念地图解说明一些实施例的曝光调整操作的例子。每个例子4100、4110和4115都把由双照相机移动设备的照相机拍摄的图像4120显示在左侧。具体地说,图像4120显示背对太阳的暗黑人物。暗黑人物指示图像的曝光度未高到足以曝光人物的脸部或身体。每个例子4100、4110和4115的右侧分别表示在图像4120之后拍摄的图像4125、4130和4135。在一些实施例中,图像4120和右侧的图像是由双照相机移动设备的照相机拍摄的视频的图像。在其它实施例中,图像4120和右侧的图像是由双照相机移动设备的照相机在不同时刻拍摄的静止图像。
第一个例子4100图解说明没有任何曝光调整的操作。因而,图像4125显得和图像4120相同。由于没有进行任何曝光调整,因此和图像4120中的人物类似,图像4125中的人物仍然暗黑。
在第二个例子4110中,对图像4120进行曝光调整操作。在一些实施例中,曝光调整操作是由处理4000利用规定区域4140进行的。根据曝光调整操作,照相机的曝光度被调整,照相机利用调整后的曝光度拍摄图像4130。如图41中所示,图像4130中的人物不如图像4125中暗黑。不过,图像4130中人物的脸部和身体仍然不清晰。
第三个例子4115表示对图像4120进行的曝光调整操作。类似于第二个例子4110,一些实施例的例子4115的曝光调整操作是由处理4000利用规定区域4145进行的。根据曝光调整操作,照相机的曝光度被调整,照相机利用调整后的曝光度拍摄图像4135。如图41中所示,图像4135中的人物被正确曝光,因为人物的脸部和身体都可见。
在一些实施例中,规定区域的选择可由双照相机移动设备的用户进行。设备本身还可以通过上面在CIPU 400中提及的曝光调整的反馈回路,自动调整其用于曝光调整操作的规定区域。图4中的统计引擎465可收集数据,以确定曝光度是否适合于拍摄的图像,并据此调整照相机传感器(例如,通过与传感器模块415的直接连接)。
D.焦距调整
图42图解说明在视频会议期间,调整双照相机移动设备的焦距的处理4200。在下面的讨论中,用户通过它指令远程设备调整其照相机焦距的设备被称为本地设备。在一些实施例中,图42的处理4200由本地设备的视频会议管理器1204执行。另外,下面将参考图43和44说明处理4200,图43和44为本地设备的用户提供请求远程设备执行焦距调整操作的两种示例方式。
如图42中所示,通过在本地设备和远程设备之间启动(在4205)视频会议,处理4200开始。处理4200随后接收(在4210)来自远程设备的视频,以便在本地设备的显示屏幕上显示。随后,在4215,处理4200确定是否接收到结束视频会议的请求。如上所述,在一些实施例中,可应本地或远程设备的用户的请求,结束视频会议。当处理4200接收到结束视频会议的请求时,处理4200结束。
否则,处理4200确定(在4220)它是否接收到调整远程设备的远程照相机的焦距的请求。当处理4200确定它未接收到调整远程设备的远程照相机的焦距的请求时,处理4200返回操作4210,接收来自远程设备的另外的视频。图43、44和45图解说明不同实施例向用户提供的产生这种请求的三种不同方式。在图43、44和45中,第一阶段4310、4410和4572都显示本地设备4300、4400和4571的PIP显示4325、4435和4582,PIP显示4325、4435和4582都显示两个视频,由本地设备拍摄的视频,和由远程设备拍摄的另一个视频。图43和44中的显示区855和855显示结束会议按钮。不过,在图45中,显示区855的布局与上面说明的图9的显示区855的布局相同。此外,可以选择在显示区855中所示的切换照相机按钮4588,以在一些实施例中调用本地切换照相机操作,或者在其它实施例中调用远程切换照相机操作。如第一阶段4310、4410和4572中所示,显示在背景显示4335、4445和4580中的远程设备的视频是模糊的。
图43的第二阶段4315图解说明通过简单地选择远程设备的视频(例如,通过在远程设备的视频上的单点4340),本地设备的用户向远程设备请求焦距调整的方法。按照这种方法,UI 4305自动把用户对由方框4345限定的感兴趣区域的选择与用户的指令远程设备对所述感兴趣区域执行操作(例如,焦距调整操作)的期望联系起来,从而指令本地设备4300的视频会议管理器1204联系远程设备,以执行调整操作(比如,焦距调整操作)。定义的感兴趣区域被远程设备用于计算焦距调整。
图44的第二阶段4415类似地表示本地用户对远程视频的选择(例如,通过用户对远程设备的视频的轻点)。不过,不同于图43中图解说明的例子,图44中的这种选择指令UI 4405显示如在第三阶段4420中所示的可选UI项目4455、4460、4465和4470(它们可被实现成可选的按钮)的菜单。这些可选UI项目包括“自动聚焦”项目4460、“自动曝光”项目4465、“切换照相机”项目4470和“取消”项目4455。在一些实施例中,“切换照相机”可选UI项目4470被用于请求本地切换照相机操作,而在其它实施例中,切换照相机可选UI项目4470被用于请求远程切换照相机操作。第四阶段4425随后图解说明本地用户选择自动聚焦项目4460。
图45的第二阶段4574再次类似地表示本地用户对远程视频的选择(例如,通过用户对远程设备的视频的轻点)。不过,不同于在图44中图解说明的例子,图45中的这种选择指令UI 4578请求焦距调整操作(即,在第二阶段4574中)。在完成焦距调整操作之后,UI 4578显示可选UI项目4584和4586的菜单(即,在第三阶段4576中),可选UI项目4584和4586可被实现成可选按钮。这些可选UI项目包括“自动曝光”项目4586和“取消”项目4584。
当处理4200确定(在4220)本地用户指令本地设备请求焦距调整操作时,处理4200通过视频会议控制通道,向远程设备发送(在4240)命令,以调整远程设备目前捕获和传送其视频的照相机的焦距。在4240之后,处理返回上面说明的操作4210。
在一些实施例中,在远程设备进行这种操作之前,远程设备的用户必须提供许可,而在其它实施例中,当接收到本地设备的请求时,远程设备自动执行这种操作。另外,在一些实施例中,焦距调整操作调整远程设备的在视频会议期间使用的照相机的焦距设置。在一些这样的实施例中,如上所述,一些视频会议功能由视频会议模块1202实现。在这些实施例中,视频会议管理器1204指令CIPU 1250调整正在使用的远程设备照相机的传感器。
图43、44和45的最后阶段4320、4430和4576表示恰当聚焦的远程设备的视频。尽管图43、44和45提供接收校正远程设备的焦距的焦距调整请求的例子,不过,一些实施例允许本地设备的用户请求本地设备调整本地设备的照相机的焦距。可类似于在图43、44和45中所示的请求远程设备调整其照相机的焦距的方法,产生这样的请求。
图43、44和45图解说明允许用户进行焦距调整操作的三种示例用户界面。在一些实施例中,焦距调整操作导致拍摄显示在UI中的视频的双照相机移动设备的照相机的操作的改变,比如改变照相机的焦距。
如同上面在图37和43中所述,定义的感兴趣区域被远程移动设备分别用于视频的曝光调整和焦距调整的计算。不过,在一些其它实施例中,用户对感兴趣区域的选择可被用于指令远程设备进行一个或多个操作。例如,在一些实施例中,可根据定义的感兴趣区域,进行曝光调整和焦距调整,从而指令远程设备进行两个操作。
E.帧速率控制
在视频会议期间,一些实施例可能希望调整或保持向视频会议中的另一个设备传送由双照相机移动设备的照相机拍摄的视频图像的速率(即,帧速率)。例如,假定带宽固定,一些这样的实施例降低视频的帧速率,以提高视频图像的图片质量,而其它这样的实施例增大视频的帧速率,以平滑视频(即,减少抖动)。
不同的实施例提供在视频会议期间,控制视频图像的帧速率的不同技术。前面说明的一个例子调整照相机的传感器模块415的VBI,以控制处理由照相机拍摄的图像的速率。作为另一个例子,图6中所示的视频会议模块625的管理层635的一些实施例通过丢弃图像来控制帧速率。类似地,图像处理层630的一些实施例通过丢弃图像来控制帧速率。一些实施例提供除此之外的其它技术来控制帧速率,比如丢弃通用传输缓冲器1820中的帧。
V.电子系统
许多上述特征和应用被实现成软件进程,所述软件进程被规定为记录在计算机可读存储介质(也称为计算机可读介质)上的指令集。当这些指令被一个或多个处理单元(例如,一个或多个处理器,处理器的核芯,或者其它处理单元)执行时,它们使处理单元执行在指令中指示的动作。计算机可读介质的例子包括但不限于CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等等。计算机可读介质不包括无线或者通过有线连接传递的载波和电信号。
在本说明书中,术语“软件”意图包括驻留在只读存储器中的固件,或者保存在磁性存储装置中的应用,它们可被读入存储器中,以便由处理器处理。另外,在一些实施例中,多个软件发明可被实现成更大程序的子部分,同时仍然是不同的软件发明。在一些实施例中,多个软件发明也可被实现成独立的程序。最后,一同实现这里描述的软件发明的单个程序的任何组合也在本发明的范围之内。在一些实施例中,当安装成在一个或多个电子系统上操作时,软件程序定义执行和实现软件程序的操作的一个或多个特定的机器实现。
在调用程序代码通过一个或多个接口与被调用的其它程序代码交互的环境中,一些实施例被实现成包括一个或多个应用编程接口(API)的软件进程。进一步可包括各种参数的各种函数调用、消息或其它各种调用可通过API,在调用程序和被调用代码之间传送。另外,API可向调用程序代码提供使用在API中定义并在被调用的程序代码中实现的数据类型或类别的能力。
至少一些实施例包括调用软件组件通过API与被调用的软件组件交互的环境。在这种环境中通过API操作的一种方法包括通过API,传送一个或多个函数调用、消息、其它各种调用或参数。
在一些实施例中,可以使用一个或多个应用编程接口(API)。例如,媒体交换模块310(或者610)的一些实施例向其它软件组件提供一组API,用于访问在图3和9中描述的各种视频处理和编码功能。
API是由程序代码组件或硬件组件(下面称为“API实现组件”)实现的接口,允许不同的程序代码组件或硬件组件(下面称为“API调用组件”)访问和使用由API实现组件提供的一个或多个函数、方法、过程、数据结构、类别和/或其它服务。AIP能够定义在API调用组件和AIP实现组件之间传送的一个或多个参数。
API允许API调用组件的开发人员(可以是第三方开发人员)利用由API实现组件提供的规定特征。可以存在一个API调用组件,或者可以存在多于一个的API调用组件。API可以是计算机系统或者程序库为支持来自应用的服务请求而提供的源代码接口。操作系统(OS)可具有多个API,以允许在OS上运行的应用调用一个或多个这样的API,服务(比如程序库)可以具有多个API,以允许使用该服务的应用调用一个或多个这样的API。可按照当建立应用时,能够被解释或编译的编程语言规定API。
在一些实施例中,API实现组件可提供多于一个的API,每个API提供访问由API实现组件实现的功能的不同方面的不同状况的不同视图,或者具有所述不同状况的不同视图。例如,API实现组件的一个API能够提供第一组函数,并且能够暴露给第三方开发人员,API实现组件的另一个API能够被隐藏(不被暴露),并提供第一组函数的子集,还提供另一组函数,比如不在第一组函数中的测试或调试函数。在其它实施例中,API实现组件本身可通过下层的API调用一个或多个其它组件,从而既是API调用组件,又是API实现组件。
API定义当访问和利用API实现组件的规定特征时,API调用组件使用的语言和参数。例如,API调用组件通过API暴露的一个或多个API调用或启用(例如用函数或方法调用具体化),访问API实现组件的规定特征,并经由API调用或启用,利用参数传送数据和控制信息。API实现组件可响应来自API调用组件的API调用,通过API返回数值。尽管API定义API调用的语法和结果(例如,如何启用API调用,和API调用做什么),不过API可不展现AIP调用如何完成由API调用规定的函数。各个API调用是通过调用方(API调用组件)和API实现组件之间的一个或多个应用编程接口传送的。传送API调用可包括发出、初启、启用、调用、接收、返回或响应函数调用或消息;换句话说,传送能够描述API调用组件或者API实现组件的动作。API的函数调用或其它启用可通过参数列表或其它结构,发送或接收一个或多个参数。参数可以是常数、键码(key)、数据结构、对象、对象类别、变量、数据类型、指针、数组、列表、或者函数或方法的指针或引用要通过API传递的数据或另一项目的另一种方式。
此外,数据类型或类别可由API提供,并由API实现组件实现。从而,API调用组件可以利用在API中提供的定义,说明变量、使用这种类型或类别的指针、使用或例示这种类型或类别的常量。
通常,API能够被用于访问由API实现组件提供的服务或数据,或者发起由API实现组件提供的操作或计算的执行。例如,API实现组件和API调用组件都可以是操作系统、程序库、设备驱动器、API、应用程序或者其它模块任意之一(应明白API实现组件和API调用组件可以是相同类型的模块,或者类型彼此不同的模块)。在一些情况下,可以至少部分用固件、微代码或者其它硬件逻辑来具体体现API实现组件。在一些实施例中,API可允许客户端程序使用由软件开发套件(SDK)库提供的服务。在其它实施例中,应用或者其它客户端程序可以使用由应用架构提供的API。在这些实施例中,应用或客户端程序可包含对由SDK提供和由API提供的函数或方法的调用,或者使用在SDK中定义并由API提供的数据类型或对象。在这些实施例中,应用架构可为程序提供响应由所述架构定义的各种事件的主事件循环。API允许应用利用应用架构,指定事件和对事件进行响应。在一些实现中,API调用能够向应用报告硬件设备的能力或状态,包括与各个方面相关的能力或状态,比如输入能力和状态、输出能力和状态、处理能力、电源状态、存储容量和状态、通信能力等等,API可部分用固件、微代码、或者部分在硬件组件上运行的其它低级逻辑实现。
API调用组件可以是本地组件(即,和API实现组件在相同的数据处理系统上),或者是通过网络,经API与API实现组件通信的远程组件(即,与API实现组件在不同的数据处理系统上)。应明白API实现组件还可充当API调用组件(即,它可对由不同的API实现组件暴露的AIP进行API调用),通过实现暴露给不同的API调用组件的API,API调用组件还可充当API实现组件。
API还允许用不同的编程语言编写的多个API调用组件与API实现组件通信(从而,API可包括在API实现组件和API调用组件之间转换调用和回复的特征);不过,可按照特定的编程语言实现API。在一个实施例中,API调用组件可调用来自不同提供商的API,比如来自OS提供商的一组API,来自插件提供商的另一组API,和来自另一个提供商(例如,软件库的提供商)或者另一组API的创建者的另一组API。
图46是图解说明可用在本发明的一些实施例中的示例API体系结构的方框图。如图46中所示,API体系结构4600包括实现API 4620的API实现组件4610(例如,操作系统、程序库、设备驱动器、API、应用、软件或其它模块)。API 4620规定可由API调用组件4630使用的一个或多个函数、方法、类别、对象、协议、数据结构、格式和/或API实现组件的其它特征。API 4620可以规定至少一种调用约定,所述调用约定规定API实现组件4610中的函数如何接收来自API调用组件4630的参数,和该函数如何把结果返回给API调用组件。API调用组件4630(例如,操作系统、程序库、设备驱动器、API、应用程序、软件或其它模块)通过API 4620发出API调用,以访问和利用由API 4620规定的API实现组件4610的特征。API实现组件4610可响应API调用,通过API 4620向API调用组件830返回数值。
要认识到API实现组件4610可包括未通过API 4620规定的另外的函数、方法、类别、数据结构和/或其它特征,并且不可供API调用组件4630使用。应明白API调用组件4630可以和API实现组件4610在相同的系统上,或者可以位于远程位置,并通过网络,利用API 4620访问API实现组件4610。尽管图46图解说明与API 4620交互的单个API调用组件4630,不过应明白其它API调用组件可以使用API 4620,所述其它API调用组件可以用与API调用组件4630不同的语言(或者用相同的语言)编写。
API实现组件4610、API 4620和API调用组件4630可被保存在机器可读介质中,所述机器可读介质包括以机器(例如计算机或者其它数据处理系统)可读的形式保存信息的任何机构。例如,机器可读介质包括磁盘、光盘、随机存取存储器、只读存储器、闪速存储设备等等。
图47是双照相机移动计算设备体系结构4700的例子。移动计算设备的实现可包括一个或多个处理单元4705、存储器接口4710和外设接口4715。构成计算设备体系结构的这些组件中的每一个都可以是独立的组件,或者集成到一个或多个集成电路中。这些各个组件还可用一个或多个通信总线或信号线耦接在一起。
外设接口4715可与各种传感器和子系统,包括照相机子系统4720、无线通信子系统4725、音频子系统4730、I/O子系统4735等耦接。外设接口4715能够实现处理器和外围设备之间的通信。诸如定向传感器4745或加速度传感器4750之类的外围设备能够与外设接口4715耦接,以便利定向和加速度功能。
照相机子系统4720能够与一个或多个光学传感器4740,例如电荷耦合器件(CCD)光学传感器、互补金属氧化物半导体(CMOS)光学传感器耦接。与传感器耦接的照相机子系统4720能够便利照相机功能,比如图像和/或视频数据捕获。无线通信子系统4725可用于便利通信功能。无线通信子系统4725可包括射频接收器和发射器,以及光学接收器和发射器。它们可被实现成通过一个或多个通信网络,比如GSM网络、Wi-Fi网络、蓝牙网络等工作。音频子系统4730与扬声器和麦克风耦接,以便利允许话音的功能,比如话音识别、数字记录等等。
I/O子系统4735涉及诸如显示器、触摸屏之类的输入/输出外围设备与CPU的数据总线之间通过外设接口的传送。I/O子系统4735可包括触摸屏控制器4755和其它输入控制器4760,以便利这些功能。触摸屏控制器4755可与触摸屏4765耦接,利用多种触敏技术中的任意一种,检测屏幕上的接触和移动。其它输入控制器4760能够与其它输入/控制设备,比如一个或多个按钮耦接。
存储器接口4710可与存储器4770耦接,存储器4770可包括高速随机存取存储器和/或非易失性存储器,比如闪速存储器。存储器能够保存操作系统(OS)4772。OS 4772可包括处理基本系统服务和执行硬件相关任务的指令。
存储器还可包括使与一个或多个另外设备的通信更容易的通信指令4774;便利图形用户界面处理的图形用户界面指令4776;便利涉及图像/视频的处理和功能的图像/视频处理指令4778;便利涉及电话的处理和功能的电话指令4780;便利与媒体通信和处理相关的处理和功能的媒体交换和处理指令4782;便利涉及照相机的处理和功能的照相机指令4784;和便利视频会议处理和功能的视频会议指令4786。上述指令不需要被实现成独立的软件程序或模块。可用硬件和/或软件,包括用一个或多个信号处理和/或专用集成电路实现移动计算设备的各种功能。
上述实施例可以包括能够接收触摸输入,以如图48中所示通过有线或无线通信通道4802,与计算系统4803交互的触摸I/O设备4801。触摸I/O设备4801可被用于代替或者结合其它输入设备,比如键盘、鼠标等,把用户输入提供给计算系统4803。一个或多个触摸I/O设备4801可用于把用户输入提供给计算系统4803。触摸I/O设备4801可以是计算系统4803的组成部分(例如,膝上型计算机的触摸屏),或者独立于计算系统4803。
触摸I/O设备4801可以包括完全或部分透明、半透明、不透明的触敏面板,或者它们的任意组合。触摸I/O设备4801可被具体体现为触摸屏、触摸板、起触摸板作用的触摸屏(例如,代替膝上型计算机的触摸板的触摸屏)、与任何其它输入设备结合或合并的触摸屏或触摸板(例如,置于键盘上的触摸屏或触摸板)、或者具有用于接收触摸输入的触敏表面的任何多维物体。
在一个例子中,具体体现为触摸屏的触摸I/O设备4801可包括部分或全部置于至少一部分的显示器之上的透明和/或半透明的触敏面板。按照这个实施例,触摸I/O设备4801用于显示从计算系统4803(和/或另一来源)传送的图形数据,还用于接收用户输入。在其它实施例中,触摸I/O设备4801可被具体体现为其中使触敏组件/设备与显示组件/设备结合的集成触摸屏。在又一些实施例中,触摸屏可被用作显示辅助图像数据,或者和主显示器相同的图形数据,和接收触摸输入的辅助或附加显示屏。
触摸I/O设备4801可被配置成根据电容、电阻、光学、声学、感应、机械或化学测量结果,或者关于邻近设备4801的一次或多次触摸或者接近触摸的发生可测量的任何现象,检测设备4801上的一次或多次触摸或接近触摸的位置。软件、硬件、固件或者它们的任意组合可被用于处理所检测的触摸的测量结果,以识别和跟踪一个或多个手势。手势可对应于触摸I/O设备4801上的固定或非固定的一次或多次触摸或接近触摸。通过基本同时地、不间断地或者相继地按照预定方式,比如轻点、按压、摆动、擦动、扭动、改变定向、压力变化地按压等,在触摸I/O设备4801上移动一根或多根手指或者其它物体,可做出手势。手势可用手指之间,或者任何其它一根或多根手指的捏挤、滑动、挥击、旋转、弯曲、拖动或者轻点动作表征(但不限于此)。单一的手势可用一只手或两只手,由一个或多个用户,或者它们的任意组合实现。
计算系统4803可用图形数据驱动显示器,以显示图形用户界面(GUI)。GUI可被配置成通过触摸I/O设备4801接收触摸输入。具体体现为触摸屏的触摸I/O设备4801可显示GUI。另一方面,GUI可被显示在与触摸I/O设备4801分离的显示器上。GUI可包括显示在界面内的特定位置的图形元素。图形元素可包括但不限于各种显示的虚拟输入设备,包括虚拟滚轮、虚拟键盘、虚拟旋钮、虚拟按钮、任意虚拟UI等等。用户可在触摸I/O设备4801的与GUI的图形元素关联的一个或多个特定位置做手势。在其它实施例中,用户可在与GUI的图形元素的位置无关的一个或多个特定位置做手势。在触摸I/O设备4801上做的手势可直接或间接地操纵、控制、修改、移动、激励、启动或一般地影响GUI内的图形元素,比如光标、图标、媒体文件、列表、文本、全部或部分的图像等等。例如,就触摸屏来说,用户可通过在触摸屏上的图形元素上做手势,直接与图形元素交互。另一方面,触摸板一般提供间接的交互。手势还影响未显示的GUI元素(例如,导致用户界面出现),或者可影响计算系统4803内的其它动作(例如,影响GUI、应用或操作系统的状态或模式)。可结合显示的光标,在触摸I/O设备4801上做或不做手势。例如,就在触摸板上做手势的情况来说,光标(或者指针)可被显示在显示屏或触摸屏上,借助触摸板上的触摸输入可控制光标,以与显示屏上的图形对象交互。在其中在触摸屏上直接做手势的其它实施例中,用户可在光标或指针显示或未显示在触摸屏上的情况下,直接与触摸屏上的对象交互。
响应或者根据触摸I/O设备4801上的触摸或接近触摸,可通过通信通道4802向用户提供反馈。反馈可以可变地或者不可变地用光学、机械、电气、嗅觉、声学等方式,或者它们的任意组合来传送。
上述这些功能可用数字电子电路、用计算机软件、固件或硬件来实现。各种技术可利用一个或多个计算机程序产品来实现。可编程处理器和计算机可包括在或者包装成移动设备。处理和逻辑流程可由一个或多个可编程处理器和由一个或多个可编程逻辑电路执行。通用和专用计算设备和存储设备可通过通信网络互连。
一些实施例包括把计算机程序指令保存在机器可读或计算机可读介质(另一方面称为计算机可读存储介质、机器可读介质或者机器可读存储介质)中的电子组件,比如微处理器、存储装置和存储器装置。这种计算机可读介质的例子包括RAM、ROM、只读光盘(CD-ROM)、可记录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用盘(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪速存储器(例如SD卡、小型SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录蓝光光盘、超高密度光盘、任意其它光学或磁性介质、和软盘。计算机可读介质可保存可由至少一个处理单元执行的计算机程序,包括用于实现各种操作的多组指令。计算机程序或计算机代码的例子包括机器代码,比如由编译器产生的机器代码,和包括由计算机、电子组件或者利用解释器的微处理器执行的高级代码的文件。
尽管上面的讨论只要涉及执行软件的微处理器或者多核芯处理器,不过一些实施例由一个或多个集成电路,比如专用集成电路(ASIC)或现场可编程门阵列(FPGA)执行。在一些实施例中,这样的集成电路执行保存在电路本身上的指令。
如在说明书和本申请的任何权利要求中使用术语“计算机”、“服务器”、“处理器”和“存储器”都指的是电子设备或者其它技术设备。这些术语排除人或人群。对说明书来说,术语“显示”意味显示在电子设备上。如在本说明书和本申请的任何权利要求中使用术语“计算机可读介质”完全局限于以计算机可读的形式保存信息的有形实体。这些术语排除任何无线信号、有线下载信号和任何其它瞬息信号。
图49概念地图解说明按照一些实施例,用于连接视频会议的一些参与者的示例通信系统4900。如图所示,通信系统4900包括若干移动设备4915、若干蜂窝基站(或者说Node B)4910、若干无线网络控制器(RNC)4905,和核心网络4925。蜂窝基站和RNC被集体称为通用移动电信系统(UMTS)地面无线接入网络(UTRAN)4930。每个RNC 4905与一起被称为无线接入网络(RAN)的一个或多个蜂窝基站4910连接。
每个蜂窝基站4910覆盖一个服务区4920。如图所示,每个服务区中的移动设备4915通过Uu接口,与服务区4920的服务蜂窝基站4910无线连接。Uu接口使用具有两个平面的协议栈:控制平面和用户平面。用户平面支持电路交换、分组交换和广播数据流。控制平面携带网络的信令消息。
每个蜂窝基站通过Iub接口与RNC连接。每个RNC 4905通过Iu-cs和Iu-ps接口与核心网络4925连接。Iu-cs接口用于线路交换服务(例如,话音),而Iu-ps接口用于分组交换服务(例如,数据)。Iur接口用于把两个RNC连接在一起。
因此,通信系统4900支持电路交换服务和分组交换服务。例如,电路交换服务允许通过经由通信系统4900的电路交换设备传送通话数据(例如,话音),进行通话。分组交换服务允许通过利用在网际协议层(比如IP)之上的传送协议层(比如UDP或TCP),经由通信系统4900的分组交换设备传送视频会议数据,进行视频会议。在一些实施例中,前面在视频会议设置章节中说明的通话-视频会议转变(例如,切换)利用诸如通信系统4900之类的通信系统支持的电路交换服务和分组交换服务。即,在这样的实施例中,通话是通过通信系统4900的线路交换设备进行的,视频会议是通过通信系统4900的分组交换设备进行的。
尽管图49中的示例通信系统举例说明第三代(3G)技术UTRAN无线移动通信系统,不过应注意在一些实施例中,第二代(2G)通信系统,其它3G通信系统比如3GPP2演进数据最优化或者说发展-只是数据(EV-DO)和第三代合作伙伴计划2(3GPP2)码分多址接入1X(CDMA 1X),第四代(4G)通信系统,无线局域网(WLAN),和微波存取全球互通(WiMAX)可被用于连接会议的一些参与者。2G系统的例子包括全球移动通信系统(GSM),通用分组无线服务(GPRS)和增强数据速率GSM演进(EDGE)。2G通信系统体系结构类似于图49中所示的体系结构,除了2G通信系统体系结构使用基站收发器(BTS)代替Node B 4910,和基站控制器(BSC)代替RNC 4905之外。在2G通信系统中,BSC和核心网络之间的A接口用于线路交换服务,而BSC和核心网络之间的Gb接口用于分组交换服务。
在一些实施例中,通信系统4900由最初供应移动设备4915,以允许移动设备4915利用通信系统4900的服务运营商运行。一些实施例通过在移动设备4915中配置和登记用户识别模块(SIM),提供移动设备4915。在其它实施例中,改为利用移动设备4915的存储器配置和登记移动设备4915。此外,可以提供另外的服务(在客户购买移动设备4915之后),比如类似GPRS、多媒体消息接发服务(MMS)和即时消息通信的数据服务。一旦被供应,移动设备4915就被服务运营商激活,从而允许使用通信系统4900。
在一些实施例中,通信系统4900是专用通信网络。在这样的实施例中,移动设备4915能够在相互之间(例如,为通信系统4900提供的移动设备4915)通信(例如,进行通话,交换数据)。在其它实施例中,通信系统4900是公共通信网络。从而,除了为通信系统4900提供的移动设备4915之外,移动设备4915还能够与在通信系统4900外的其它设备通信。在通信系统4900外的其它设备中的一些包括通过其它网络,比如公共交换电话网或另一种无线通信网络,与通信系统4900连接的电话、计算机和其它设备。
长期演进(LTE)规范用于定义4G通信系统。图50概念地图解说明在一些实施例中,用于连接视频会议的一些参与者的4G通信系统5000的例子。如图所示,通信系统5000包括若干移动设备4915、若干演进型Node B(eNB)5005、移动管理实体(MME)5015、服务网关(S-GW)5020、分组数据网络(PDN)网关5025、和归属用户服务器(HSS)5035。在一些实施例中,通信系统5000包括一个或多个MME 5015、一个或多个S-GW5020、一个或多个PDN网关5025、和一个或多个HSS 5035。
eNB 5005为移动设备4915提供空中接口。如图所示,每个eNB 5005覆盖服务区5010。每个服务区5010中的移动设备4915通过LTE-Uu接口,与服务区5010的eNB 5005无线连接。图50还表示eNB 5005通过X2接口相互连接。另外,eNB 5005通过S1-MME接口与MME 5015连接,通过S1-U接口与S-GW 5020连接。eNB 5005集体被称为演进的UTRAN(E-TRAN)5030。
eNB 5005提供各种功能,比如无线电资源管理(例如,无线电承载控制,连接移动性控制等等)、用户平面数据朝着S-GW 5020的路由、信号测量和测量报告、在移动设备连接时的MME选择等等。MME 5015的功能包括空闲模式移动设备跟踪和寻呼、无线承载的启用和停用、在移动设备连接时的S-GW 5020的选择、非接入层面(NAS)信令终止、通过与HSS 5035交互的用户鉴别,等等。
S-GW 5020的功能包括(1)路由和转发用户数据分组,和(2)管理和保存移动设备上下文,比如IP承载服务的参数和网络内部路由信息。PDN网关5025的功能包括通过成为移动设备的通信量的出口点和入口点,提供从移动设备到外部分组数据网络(未示出)的连通性。移动站可具有多于一个PDN网关的同时连通性,以便接入多个分组数据网络。PDN网关5025还充当3GPP和非3GPP技术,比如WiMAX和3GPP2(例如,CDMA 1X和EV-DO)之间的移动性的锚点(anchor)。
如图所示,MME 5015通过S11接口与S-GW 5020连接,通过S6a接口与HSS 5035连接。S-GW 5020和PDN网关5020通过S8接口连接。MME 5015、S-GW 5020和PDN网关5025集体被称为分组核心演进(EPC)。EPC是系统体系结构演进(SAE)体系结构的主要组件,系统体系结构演进(SAE)体系结构是3GPP LTE无线通信标准的核心网络体系结构。EPC是纯分组系统。例如,EPC不具有话音媒体网关。诸如话音和SMS之类的服务是分组交换路由的,并由利用EPC服务的应用功能提供。如此利用前面说明的通话-视频会议转变作为例子,在一些实施例中,通话和视频会议都是通过通信系统5000的分组交换设备进行的。在一些这样的实施例中,在通话结束之后,用于通话的分组交换通道继续被用于视频会议的音频数据。不过,在其它这种实施例中,创建不同的分组交换通道(例如,当建立视频会议时),通过新创建的分组交换通道,而不是当通话结束时,利用通话的分组交换通道传送音频数据。
此外,这些不同技术提供的带宽的数量从GPRS的44千比特/秒(kbps)到LTE的超过10兆比特/秒(Mbps)。未来对LTE来说,预计下载速率为100Mbps,上传速率为50Mbps。
尽管关于众多的具体细节说明了本发明,不过本领域的普通技术人员会认识到可用其它特定形式具体体现本发明,而不脱离本发明的精神。另外,众多的附图概念地图解说明了各种处理。可不按照所述表示和描述的严格顺序执行这些处理的具体操作。在连续的一系列操作中可不执行特定的操作,可在不同的实施例中执行不同的特定操作。此外,处理可利用几个子处理来实现,或者被实现成更大的宏处理的一部分。
另外,上面参考两个双照相机移动设备之间的视频会议说明了许多实施例。不过,本领域的普通技术人员会认识到在这些实施例中的许多实施例可用在涉及双照相机移动设备和另一个设备,比如单照相机移动设备、计算机、具有视频会议能力的电话等之间的视频会议的情况中。此外,在单照相机移动设备和具有视频会议能力的其它计算设备中,可以使用上面说明的许多实施例。从而,本领域的普通技术人员理解本发明不受上面的示例细节限制,而是由附加的权利要求限定。

Claims (24)

1.一种第一移动设备,包括:
照相机;
显示屏,用于显示在与第二设备的视频会议期间,由第一移动设备的照相机拍摄的图像,和在视频会议期间,由第二设备的照相机拍摄的图像;
用户界面,用于将感兴趣区域规定为由第二设备的照相机拍摄的显示在第一移动设备上的图像的一部分;和
通信接口,用于在视频会议期间向第二设备发送由第一移动设备的照相机拍摄的图像以在第二设备上显示,在视频会议期间接收由第二设备的照相机拍摄的图像以在显示屏上显示,和在视频会议期间发送由第一移动设备的照相机拍摄的图像以及接收由第二设备的照相机拍摄的图像的同时向第二设备发送命令,所述命令指令第二设备在视频会议期间执行使用所规定的感兴趣区域来修改由第二设备的照相机拍摄的图像的操作。
2.按照权利要求1所述的第一移动设备,其中所述操作是对感兴趣区域的曝光操作。
3.按照权利要求1所述的第一移动设备,其中所述操作是对感兴趣区域的聚焦操作。
4.按照权利要求1所述的第一移动设备,其中所述操作是对感兴趣区域的缩放操作。
5.按照权利要求1所述的第一移动设备,其中在视频会议期间,在第一移动设备和第二设备之间建立实时通信会话,其中通过实时通信会话的通信通道发送所述命令。
6.按照权利要求5所述的第一移动设备,其中所述通信通道是实时通信会话的控制通道。
7.按照权利要求1所述的第一移动设备,其中由第一移动设备的照相机拍摄的图像被显示在显示屏的第一区中,其中由第二设备的照相机拍摄的图像被显示在显示屏的第二区中,其中第一区插入第二区中。
8.一种允许第一移动设备在视频会议期间远程控制第二设备的方法,所述方法包括:
在视频会议期间,在第一移动设备的显示屏上,在图形用户界面的第一显示区域中显示由第一移动设备的照相机拍摄的视频;
在图形用户界面的第二显示区域中,把来自第二设备的拍摄的视频显示在第一移动设备的显示屏上;
在将感兴趣区域规定为来自第二设备的拍摄的视频的一部分时,接收对在第一移动设备的显示屏上显示的图形用户界面的可选用户界面工具的选择,其中选择可选用户界面工具使所述第一移动设备指令第二设备在视频会议期间执行使用所规定的感兴趣区域来修改由第二设备的照相机拍摄的图像的操作;和
在第一移动设备的显示屏上显示修改的图像。
9.按照权利要求8所述的方法,还包括:在视频会议期间把接收的对用户界面工具的选择传递给第二设备。
10.按照权利要求9所述的方法,其中通过经由网际协议(IP)传送的分组,在视频会议期间把接收的选择传递给第二设备,所述分组包括用于传递在第一移动设备上接收的输入数据,以控制第二设备的操作的控制分组。
11.按照权利要求8所述的方法,还包括:通过检测在视频会议期间显示屏幕上已被触摸的位置,来接收所述选择。
12.按照权利要求8所述的方法,其中所述操作是对感兴趣区域的曝光操作。
13.一种第一移动设备,包括:
照相机;
显示屏,用于在第一移动设备与第二设备之间的视频会议期间,在图形用户界面的第一显示区域中显示由所述照相机拍摄的第一视频,在图形用户界面的第二显示区域中显示来自第二设备的拍摄的第二视频;
通信接口,用于在将感兴趣区域规定为来自第二设备的拍摄的视频的一部分时,接收对在第一移动设备的显示屏上显示的图形用户界面的可选用户界面工具的选择,其中选择可选用户界面工具使所述第一移动设备指令第二设备在视频会议期间执行使用所规定的感兴趣区域来修改由第二设备的照相机拍摄的图像的操作;
其中,修改的图像被显示在所述第一移动设备的显示屏上。
14.按照权利要求13所述的第一移动设备,其中所述通信接口还配置成在视频会议期间把接收的对用户界面工具的选择传递给第二设备。
15.按照权利要求14所述的第一移动设备,其中通过经由网际协议(IP)传送的分组,在视频会议期间把接收的选择传递给第二设备,所述分组包括用于传递在第一移动设备上接收的输入数据,以控制第二设备的操作的控制分组。
16.按照权利要求13所述的第一移动设备,其中所述通信接口还配置成通过检测在视频会议期间显示屏幕上已被触摸的位置来接收所述选择。
17.按照权利要求13所述的第一移动设备,其中所述操作是对感兴趣区域的曝光操作。
18.一种允许第一移动设备在视频会议期间控制第二设备的方法,所述方法包括:
显示在与第二设备的视频会议期间由第一移动设备的照相机拍摄的图像,和在视频会议期间由第二设备的照相机拍摄的图像;
将感兴趣区域规定为由第二设备的照相机拍摄的显示在第一移动设备上的图像的一部分;
在视频会议期间向第二设备发送由第一移动设备的照相机拍摄的图像以在第二设备上显示;
在视频会议期间接收由第二设备的照相机拍摄的图像以在显示屏上显示;和
在视频会议期间发送由第一移动设备的照相机拍摄的图像以及接收由第二设备的照相机拍摄的图像的同时向第二设备发送命令,所述命令指令第二设备在视频会议期间执行使用所规定的感兴趣区域来修改由第二设备的照相机拍摄的图像的操作。
19.按照权利要求18所述的方法,其中所述操作是对感兴趣区域的曝光操作。
20.按照权利要求18所述的方法,其中所述操作是对感兴趣区域的聚焦操作。
21.按照权利要求18所述的方法,其中所述操作是对感兴趣区域的缩放操作。
22.按照权利要求18所述的方法,其中在视频会议期间,在第一移动设备和第二设备之间建立实时通信会话,其中通过实时通信会话的通信通道发送所述命令。
23.按照权利要求22所述的方法,其中所述通信通道是实时通信会话的控制通道。
24.按照权利要求18所述的方法,其中由第一移动设备的照相机拍摄的图像被显示在显示屏的第一区中,其中由第二设备的照相机拍摄的图像被显示在显示屏的第二区中,其中第一区插入第二区中。
CN201010600555.1A 2010-04-07 2010-09-25 视频会议中的远程控制操作 Active CN102215372B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US32187110P 2010-04-07 2010-04-07
US61/321,871 2010-04-07
US12/794,772 US8874090B2 (en) 2010-04-07 2010-06-06 Remote control operations in a video conference
US12/794,772 2010-06-06

Publications (2)

Publication Number Publication Date
CN102215372A CN102215372A (zh) 2011-10-12
CN102215372B true CN102215372B (zh) 2015-04-15

Family

ID=44746472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010600555.1A Active CN102215372B (zh) 2010-04-07 2010-09-25 视频会议中的远程控制操作

Country Status (1)

Country Link
CN (1) CN102215372B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI492629B (zh) * 2011-11-02 2015-07-11 Quanta Comp Inc 視訊會議系統、視訊會議裝置及其方法
CN102811337A (zh) * 2011-12-13 2012-12-05 苏州科达科技有限公司 一种图文资料远程阅览与操控系统及其控制方法
US9485461B2 (en) * 2012-03-19 2016-11-01 Sony Corporation Video conferencing using wireless peripheral video conferencing device
CN103379305A (zh) * 2012-04-27 2013-10-30 联想(北京)有限公司 一种数据处理方法、装置和通信终端
WO2014014238A1 (en) 2012-07-17 2014-01-23 Samsung Electronics Co., Ltd. System and method for providing image
EP2696591B1 (en) * 2012-08-09 2019-04-10 Samsung Electronics Co., Ltd Video calling using a remote camera device to stream video to a local endpoint host acting as a proxy
CN103914320B (zh) * 2013-01-04 2017-06-20 联想(北京)有限公司 一种显示方法和电子设备
JP6234165B2 (ja) * 2013-10-28 2017-11-22 キヤノン株式会社 撮像装置、外部装置、撮像システム、撮像装置の制御方法、外部装置の制御方法、撮像システムの制御方法、及びプログラム
CN103916602B (zh) * 2014-04-17 2019-01-15 努比亚技术有限公司 远程拍摄控制的方法、第一移动终端及系统
US9729784B2 (en) * 2014-05-21 2017-08-08 Google Technology Holdings LLC Enhanced image capture
US10250799B2 (en) 2014-05-21 2019-04-02 Google Technology Holdings LLC Enhanced image capture
CN105005441B (zh) * 2015-06-18 2018-11-06 美国掌赢信息科技有限公司 一种即时视频的显示方法和电子设备
CN105007446A (zh) * 2015-06-18 2015-10-28 美国掌赢信息科技有限公司 一种即时视频的显示方法和电子设备
CN106341588A (zh) * 2015-07-06 2017-01-18 北京视联动力国际信息技术有限公司 一种摄像头的电子聚焦方法和装置
KR102412283B1 (ko) * 2016-02-17 2022-06-23 삼성전자 주식회사 전자 장치 및 전자 장치의 영상 공유 제어 방법
US10348784B2 (en) * 2017-02-15 2019-07-09 Microsoft Technology Licensing, Llc Conferencing server directly accessible from public internet
CN111401295B (zh) * 2020-03-30 2022-07-19 重庆特斯联智慧科技股份有限公司 一种面向低质量视频图像的人物识别方法及系统
CN112291507A (zh) * 2020-12-25 2021-01-29 游密科技(深圳)有限公司 视频画面的调节方法、装置、电子设备及存储介质
CN115550559B (zh) * 2022-04-13 2023-07-25 荣耀终端有限公司 视频画面显示方法、装置、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527565A (zh) * 2003-03-07 2004-09-08 ������������ʽ���� 可携带的多功能电子机器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370188A (en) * 2000-11-01 2002-06-19 Orange Personal Comm Serv Ltd Mixed-media telecommunication call set-up
US7885681B2 (en) * 2005-10-07 2011-02-08 Agere Systems Inc. Method of using mobile communications devices for monitoring purposes and a system for implementation thereof
US20080084482A1 (en) * 2006-10-04 2008-04-10 Sony Ericsson Mobile Communications Ab Image-capturing system and method
US7646972B2 (en) * 2006-12-08 2010-01-12 Sony Ericsson Mobile Communications Ab Method and apparatus for capturing multiple images at different image foci

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527565A (zh) * 2003-03-07 2004-09-08 ������������ʽ���� 可携带的多功能电子机器

Also Published As

Publication number Publication date
CN102215372A (zh) 2011-10-12

Similar Documents

Publication Publication Date Title
CN102215372B (zh) 视频会议中的远程控制操作
CN102215374B (zh) 在多照相机移动设备的视频会议期间切换照相机
CN102215373B (zh) 会议中的显示调整
CN102215217B (zh) 在通话期间建立视频会议
JP6949917B2 (ja) 通話中のテレビ会議の確立
KR101970352B1 (ko) 영상통화 서비스 제공 방법, 장치 및 컴퓨터 프로그램, 표시 제어 방법, 장치 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1162797

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1162797

Country of ref document: HK