在通话期间建立视频会议的制作方法

文档序号:7817609阅读:343来源:国知局
在通话期间建立视频会议的制作方法
【专利摘要】本发明涉及在通话期间建立视频会议。一些实施例提供一种利用第一移动设备发起视频会议的方法。该方法在通过无线通信网络与第二设备的音频通话期间,在第一移动设备上呈现用于从音频通话切换到视频会议的可选用户界面(UI)项目。该方法接收对所述可选UI项目的选择。该方法在不终止音频通话的情况下,发起视频会议。该方法在允许第一和第二设备呈现通过视频会议交换的音频和视频数据之前,终止音频通话。
【专利说明】在通话期间建立视频会议
[0001] 本申请是申请日为2010年9月25日、发明名称为"在通话期间建立视频会议"的 中国专利申请201010600623. 4的分案申请。
[0002] 当Apple的iPhone 4的样机在2010年3月25日从Apple的一个工程师处被窃 取时,本申请中要揭示和主张的发明被提前且未经Apple授权地向公众公开了。在该明显 盗窃之前,尚未提交本申请所基于的美国优先权申请。

【技术领域】
[0003] 本申请涉及在通话期间建立视频会议。

【背景技术】
[0004] 许多目前的便携式设备,比如智能电话机具备视频拍摄功能。通过电话机上的照 相机,便携式设备的用户能够拍摄静止图像和视频。不过,在完成视频拍摄之后,为了把拍 摄的视频传送给另一方,用户通常必须直接把视频发送给所述另一方,或者把视频上传到 另一位置(例如,因特网视频托管网站(hosting site))。不幸的是,这不允许所述另一方 在便携式设备拍摄视频的时候,查看实时视频流。
[0005] 另外,标准的便携式设备只配备一部照相机,并且处理来自该照相机的信息相当 困难。理想的设备理应具有多部照相机,并且能够发送实时视频,所述实时视频是来自至少 两部照相机的视频的合成。就处理多个拍摄的视频流的设备,和与所述设备连接、负责处理 实时视频流的传输的网络来说,鉴于可供便携式设备利用的资源有限,这是一个尤其困难 的问题。


【发明内容】

[0006] 本发明的一些实施例提供具有两部能够拍摄照片和视频的照相机的移动设备。一 些实施例的移动设备具有显示拍摄的照片图像和视频图像的显示屏。它还包括保存拍摄 的图像以便稍后传送给另一个设备的存储器。所述设备还具有网络接口,所述网络接口允 许该设备在多个设备的用户之间的实时通信会话期间,把拍摄的图像传送给一个或多个设 备。所述设备还包括编码器,它可使用所述编码器对拍摄的图像编码,以便本地存储或者传 送给另一个设备。所述移动设备还包括解码器,所述解码器允许该设备对在实时通信会话 期间由另一个设备拍摄的图解解码,或者对本地保存的图像解码。
[0007] 涉及拍摄的视频图像的传输的实时通信会话的一个例子是视频会议。在一些实施 例中,移动设备在视频会议期间的任意特定时间,只能够传送一部照相机拍摄的视频图像。 不过,在其它实施例中,移动设备能够在视频会议或者其它实时通信会话期间,同时传送来 自其两部照相机拍摄的视频图像。
[0008] 在与另一个设备的视频会议期间,一些实施例的移动设备通过连同由其一部或两 部照相机拍摄的视频一起,传送其它类型的内容。这种其它内容的一个例子包括在该设备 的一部照相机拍摄用于视频会议的视频时,由设备的另一部照相机拍摄的低分辨率或高分 辨率照片图像。这种其它内容的其它例子包括(1)保存在设备上的文件和其它内容,(2)设 备的屏幕显示(即,显示在设备的屏幕上的内容),(3)在视频会议或者其它实时通信会话 期间,从另一个设备接收的内容,等等。
[0009] 一些实施例的移动设备采用新颖的会议中(in-conference)调整技术,在视频会 议期间进行调整。例如,在视频会议期间只传送一部照相机拍摄的视频时,一些实施例的移 动设备能够动态切换成传送由其另一部照相机拍摄的视频。在这种情况下,一些实施例的 移动设备把这种切换通知参与视频会议的任何其它设备,使得所述其它设备能够在它那一 端提供由这两部照相机拍摄的视频之间的平滑转换。
[0010] 在一些实施例中,切换照相机的请求不仅能够起源于在视频会议期间,在其照相 机之间进行切换的"本地"设备,而且还能够起源于正接收本地设备拍摄的视频的另一个 "远程"设备。此外,允许一个设备指令另一个设备切换照相机只是一些实施例的设备的远 程控制能力的一个例子。在一些实施例中,能够远程向设备指令的其它操作的例子包括曝 光调整操作(例如,自动曝光),焦距调整操作(例如,自动聚焦)等等。能够本地或远程指 定的新颖的会议中调整的另一个例子是识别拍摄视频中的感兴趣区域(R0I),和使用所述 R0I识别修改拍摄照相机的行为,修改带有拍摄照相机的设备的图像处理操作,或者修改带 有拍摄照相机的设备的编码操作。
[0011] 一些实施例的新颖的会议中调整的又一个例子涉及设备产生的合成视频显示的 实时修改。具体地说,在一些实施例中,移动设备产生同时显示由一个或多个设备的多部 照相机拍摄的多个视频的合成显示。在一些情况下,合成显示把视频放在相邻的显示区中 (例如,放在相邻的窗口中)。在其它情况下,合成显示是画中画(PIP)显示,所述PIP显示 包括显示两个不同视频的至少两个显示区,其中一个显示区是背景主显示区,另一个显示 区是重叠在背景主显示区上的前景插入显示区。
[0012] 一些实施例中的合成视频显示的实时修改涉及响应于用户对显示区的选择和移 动,在合成显示内移动一个或多个显示区。当提供合成显示的设备的屏幕旋转时,一些实施 例还在视频会议期间旋转该合成显示。另外,一些实施例的移动设备允许设备的用户交换 (swap)PIP显示中的视频(即,使前景插入显示中的视频出现在背景主显示中,而使背景主 显不中的视频出现在前景插入显示中)。
[0013] 前面的
【发明内容】
意图简单介绍本发明的一些实施例。并不意味是在本文献中公开 的所有发明主题的介绍或综述。下面的【具体实施方式】和在【具体实施方式】中涉及的附图将进 一步说明在所述
【发明内容】
中描述的实施例,以及其它实施例。因此,要理解本文献描述的所 有实施例,需要完整地考察
【发明内容】
、【具体实施方式】和附图。

【专利附图】

【附图说明】
[0014]附加权利要求中陈述了本发明的新颖特征。不过,为了说明,在下述附图中表示了 本发明的几个实施例。
[0015] 图1图解说明一些实施例的合成显示。
[0016] 图2图解说明一些实施例的另一种合成显示。
[0017]图3概念地图解说明一些实施例的双照相机移动设备的视频处理和编码模块的 软件体系结构。
[0018]图4概念地图解说明一些实施例的拍摄图像处理单元。
[0019]图5概念地图解说明基于不同的垂直消隐间隔(VBI)的不同帧速率的例子。
[0020] 图6概念地图解说明基于不同VBI的不同隔行扫描帧速率的例子。
[0021]图7概念地图解说明一些实施例的另一个拍摄图像处理单元。
[0022]图8概念地图解说明一些实施例的另一个拍摄图像处理单元。
[0023]图9概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块的 软件体系结构。
[0024] 图10概念地图解说明一些实施例的示例视频会议请求消息接发序列。
[0025] 图11图解说明一些实施例的视频会议设置操作的用户界面。
[0026] 图12图解说明一些实施例的接受视频会议邀请的用户界面。
[0027]图13图解说明一些实施例的接受视频会议邀请的另一用户界面。
[0028] 图14图解说明一些实施例的视频会议设置操作的另一用户界面。
[0029] 图15概念地图解说明一些实施例的设定视频会议的比特率的处理。
[0030]图16概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块的 另一软件体系结构。
[0031] 图17概念地图解说明一些实施例的双照相机移动设备的另一软件体系结构。
[0032] 图18概念地图解说明由如图16中图解说明的一些实施例的视频会议管理器执行 的处理。
[0033] 图19概念地图解说明一些实施例的时间噪声降低模块的软件体系结构。
[0034] 图20概念地图解说明一些实施例的降低视频图像的时间噪声的处理。
[0035] 图21概念地图解说明由如图9中图解说明的一些实施例的图像处理管理器执行 的处理。
[0036] 图22图解说明一些实施例的曝光调整操作的用户界面。
[0037] 图23图解说明一些实施例的焦距调整操作的用户界面。
[0038] 图24概念地图解说明由如图16中图解说明的一些实施例的图像处理管理器执行 的透视校正处理。
[0039] 图25概念地图解说明一些实施例的示例透视校正操作。
[0040] 图26概念地图解说明如图16中图解说明的一些实施例的编码器驱动器的软件体 系结构。
[0041] 图27概念地图解说明由如图26中图解说明的一些实施例的编码器驱动器执行的 图像缩放处理。
[0042] 图28概念地图解说明由如图16中图解说明的一些实施例的解码器驱动器的软件 体系结构。
[0043] 图29概念地图解说明由如图28中图解说明的一些实施例的解码器驱动器执行的 图像提取处理。
[0044] 图30图解说明一些实施例的包括两个速率控制器的编码器驱动器。
[0045] 图31概念地图解说明如图16中图解说明的一些实施例的连网管理器的软件体系 结构。
[0046] 图32图解说明一些实施例的锁定到角落(snap to corner)操作的用户界面。
[0047]图33图解说明一些实施例的锁定到角落操作的另一用户界面。
[0048]图34图解说明一些实施例的PIP显示旋转操作的用户界面。
[0049]图3δ图解说明一些实施例的PIP显示旋转操作的另一用户界面。
[0050]图36图解说明一些实施例的PIP显示旋转操作的另一用户界面。
[0051]图37图解说明一些实施例的PIP显示旋转操作的另一用户界面。
[0052]图38图解说明一些实施例的缩放PIP显示中的前景插入显示区的用户界面。 [0053]图39图解说明一些实施例的缩放pip显示中的插入显示区的另一用户界面。 [0054]图40图解说明一些实施例的缩放pip显示中的插入显示区的另一用户界面。 [00 55]图41图解说明一些实施例的缩放PIP显示中的插入显示区的另一用户界面。 [00 56]图42图解说明一些实施例的识别显示画面中的感兴趣区域的用户界面。
[0057]图43图解说明一些实施例的识别显示画面中的感兴趣区域的另一用户界面。 [0058]图44图解说明一些实施例的识别显示画面中的感兴趣区域的另一用户界面。 [0059]图45图解说明一些实施例的在双照相机移动设备上进行本地切换照相机操作的 处理。
[0060]图46图解说明一些实施例的切换照相机操作的用户界面。
[0061]图47图解说明一些实施例的切换照相机操作的另一用户界面。
[0062]图48图解说明一些实施例的切换照相机操作的另一用户界面。
[0063]图49图解说明一些实施例的切换照相机操作的另一用户界面。
[0064]图50图解说明一些实施例的在双照相机移动设备上进行远程切换照相机操作的 处理。
[0065]图51图解说明一些实施例的远程控制切换照相机操作的用户界面。
[0066]图52图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
[0067]图53图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
[0068]图54图解说明一些实施例的远程控制切换照相机操作的另一用户界面。
[0069] 图55概念地图解说明一些实施例的进行曝光调整操作的处理。
[0070] 图56图解说明一些实施例的进行曝光调整操作的用户界面。
[0071] 图57图解说明一些实施例的进行曝光调整操作的另一用户界面。
[0072]图58图解说明一些实施例的进行曝光调整操作的另一用户界面。
[0073]图59概念地图解说明由如图16中图解说明的一些实施例的图像处理管理器执行 的曝光调整处理。
[0074] 图60概念地图解说明一些实施例的曝光调整操作。
[0075] 图61概念地图解说明一些实施例的执行焦距调整操作的处理。
[0076]图62图解说明一些实施例的焦距调整操作的用户界面。
[0077] 图63图解说明一些实施例的焦距调整操作的另一用户界面。
[0078] 图64图解说明一些实施例的焦距调整操作的另一用户界面。
[0079]图65图解说明一些实施例的关于从一个或多个双照相机移动设备拍摄的视频的 不同显不安排。
[0080]图66图解说明一些实施例的把插入视频的前景叠加在PIP显示中的背景视频上 的用户界面。 '
[0081]图67图解说明一些实施例的确定视频图像的前景的技术。
[0082]图68图解说明一些实施例的在视频会议期间,交换PIP显示中的插入显示和背景 显示的用户界面。
[0083]图69图解说明一些实施例的锁定到角落操作的用户界面。
[0084]图7〇图解说明一些实施例的锁定到角落和推送操作的用户界面。
[0085]图71图解说明一些实施例的pip显示旋转操作的用户界面。
[0086]图72图解说明一些实施例的PIP显示旋转操作的另一用户界面。
[0087]图73图解说明一些实施例的在视频会议期间,从两个远程视频中选择一个视频 的用户界面。
[0088]图74图解说明一些实施例的在视频会议期间,从两个本地视频中选择一个视频 的用户界面。
[0089]图75图解说明一些实施例的会前选择用于视频会议的视频的用户界面。
[0090]图76图解说明一些实施例的由双照相机移动设备拍摄的两个视频之间的带宽分 配的例子。
[0091]图77概念地图解说明一些实施例的管理双照相机移动设备的速率控制器的判优 器模块。
[0092]图78概念地图解说明一些实施例的对由双照相机移动设备的照相机拍摄的图像 进行编码的方法。
[0093]图79概念地图解说明一些实施例的对由双照相机移动设备的照相机拍摄的图像 进行编码的另一'方法。
[0094]图80图解说明在图79中图解说明的方法的示例图像合成。
[0095]图S1概念地图解说明一些实施例的对由双照相机移动设备的照相机拍摄的图像 进行编码的另一方法。
[0096]图82概念地图解说明一些实施例的对由双照相机移动设备的照相机拍摄的图像 进行解码的方法。 '
[0097]图83概念地图解说明一些实施例的对由双照相机移动设备的照相机拍 进行解翻另-施。
[0098]图84概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块的 另一软件体系结构。
[00"]图85图解说明一些实施例的多方视频会议的用户界面。
[0100]图86图解说明一些实施例的多方视频会议的另一用户界面。
[0101]图87图解说明一些实施例的多方视频会议的另一用户界面。
[0102]图88概念地图解说明一些实施例的应用编程接口(API)体系结构。
[0103]图89图解说明一些实施例的双照相机移动计算设备的体系结构。
[0104]图90概念地图解说明一些实施例的触摸输入/输出(I/O)设备。
[0105]图91概念地图解说明一些实施例的示例通信系统。
[0106]图92概念地图解说明一些实施例的另一示例通信系统。

【具体实施方式】
[0107] 在下面的描述中,出于解释说明的目的,陈述了众多的细节。不过,本领域的普通 技术人员会认识到可在不利用这些具体细节的情况下实践本发明。在其它情况下,为了因 不必要的细节而使本发明的描述模糊不清,以方框图的形式表示了公知的结构和设备。 [0108]本发明的一些实施例提供一种具有两部能够拍摄照片和视频的照相机的移动设 备。移动设备的例子包括移动电话机、智能电话机、个人数字助理(PDA)、膝上型计算机、平 板个人计算机或者任何其它类型的移动计算设备。本文中使用的照片指的是按单张拍摄模 式每次一张地,或者按快速拍摄模式每次几张地由照相机拍摄的静止照片图像。另一方面, 视频指的是照相机以特定速率(通常称为帧速率)拍摄的一系列视频图像。拍摄视频的典 型帧速率是25帧/秒(f Ps)、30fps和60fps。一些实施例的移动设备的照相机能够以这些 和其它帧速率拍摄视频图像(即,视频帧)。
[0109] -些实施例的移动设备⑴能够显示拍摄的照片图像和视频图像,⑵能够保存 拍摄的图像,以便稍后传送给另一个设备,(3)能够在多个设备的多位用户之间的实时通信 会话期间,把拍摄的图像传送给一个或多个设备,和(4)能够对拍摄的图像编码,以便本地 存储或者传送给另一个设备。
[0110]涉及拍摄的视频图像的传输的实时通信会话的一个例子是视频会议。在一些实施 例中,在视频会议期间的任意特定时间,移动设备只能够传送一部照相机拍摄的视频图像。 不过,在其它实施例中,在视频会议或者其它实时通信会话期间,移动设备能够同时传送其 两部照相机拍摄的视频图像。 一些实施例的移动设备产生合成显示,所述合成显示包含由一个或多个设备的多 部照相机拍摄的多个视频的同时显示。在一些情况下,合成显示把视频放在相邻的显示区 中(例如,放在相邻的窗口中)。图1图解说明合成显示100的一个这种例子,合成显示100 包括两个相邻的显示区105和110,这两个显示区105和110同时显示由一个设备的两部照 相机拍摄的,或者由参加视频会议的两个不同设备的两部照相机拍摄的两个视频。
[0112] 在其它情况下,合成显示是包括显示两个不同视频的至少两个显示区的PIP显 示,其中一个显示区是背景主显示区,另一个显示区是重叠在背景主显示区之上的前景插 入显示区。图2图解说明合成PIP显示200的一个这种例子。合成PIP显示200包括背景 主显示区205和重叠在背景主显示区之上的前景插入显示区210。这两个显示区205和210 同时显示由一个设备的两部照相机拍摄的,或者由参加视频会议的两个不同设备的两部照 相机拍摄的两个视频。尽管在本文中举例说明和讨论的示例合成PIP显示类似于在背景主 显示区205内显示整个前景插入显示区210的合成PIP显示200,不过具有重叠在背景主 显示区205之上,但是并不完全在背景主显示区205内的前景插入显示区210的其它合成 PIP显示也是可能的。
[0113] 除了在与另一个设备的视频会议期间传送视频内容之外,一些实施例的移动设备 能够随同会议的视频内容一起传送其它类型的内容。这种其它内容的一个例子包括在设 备的照相机之一正在拍摄用于视频会议的视频时,由该设备的另一部照相机拍摄的低分辨 率或高分辨率照片图像。这种其它内容的其它例子包括(1)保存在设备上的文件和其它内 容,( 2)设备的屏幕显示(即,显示在设备的屏幕上的内容),(3)在视频会议或者其它实时 通信会话期间,从另一个设备接收的内容,等等。
[0114] 一些实施例的移动设备采用新颖的会议中调整技术,在视频会议期间进行调整。 例如,当在视频会议期间只传送一部照相机拍摄的视频时,一些实施例的移动设备能够动 态切换成传送由其另一部照相机拍摄的视频。在这种情况下,一些实施例的移动设备把这 种切换通知参加视频会议的任何另一个设备,使得所述另一个设备能够在它那一端提供这 两部照相机拍摄的视频之间的平滑转换。
[0115] 在一些实施例中,切换照相机的请求不仅能够起源于在视频会议期间,在其照相 机之间进行切换的"本地"设备,而且还能够起源于正接收本地设备拍摄的视频的另一个 "远程"设备。此外,允许一个设备指令另一个设备切换照相机只是一些实施例的设备的远 程控制能力的一个例子。在一些实施例中,能够远程向设备指令的其它操作的例子包括曝 光调整操作(例如,自动曝光),焦距调整操作(例如,自动聚焦)等等。能够本地或远程指 定的新颖的会议中调整的另一个例子是识别拍摄视频中的感兴趣区域(R0I),和使用所述 R0I识别修改拍摄照相机的行为,修改带有拍摄照相机的设备的图像处理操作,或者修改带 有拍摄照相机的设备的编码操作。
[0116] 一些实施例的新颖的会议中调整的又一个例子涉及设备产生的合成视频显示的 实时修改。具体地说,在一些实施例中,合成视频显示的实时修改涉及响应于用户对显示区 的选择和移动,在合成显示内移动一个或多个显示区。当提供合成显示的设备的屏幕旋转 时,一些实施例还在视频会议期间旋转该合成显示。另外,一些实施例的移动设备允许设备 的用户翻转(flip)PIP显示中的视频的顺序(即,使前景插入显示中的视频出现在背景主 显示中,而使背景主显示中的视频出现在前景插入显示中)。
[0117]下面说明几个更详细的实施例。第I节提供一些实施例的视频处理体系结构的说 明。随后,第II节描述一些实施例的拍摄图像处理单元。在一些实施例中,拍摄图像处理 单元是设备的负责处理由设备的照相机拍摄的原始图像的组件。
[0118] 接下来,第ΠΙ节描述一些实施例的视频会议体系结构。第ΙΠ 节还描述一些实 施例的视频会议模块,以及设置单照相机视频会议的几种方式。之后,第IV节描述一些实 施例的会议中调整和控制操作。第V节随后描述一些实施例的在视频会议期间,传送和显 示来自各个设备的多个视频的视频会议特征。接下来,第VI节描述在视频会议期间,随同 非实时内容一起的实时视频的传输。最后,第VII节描述一些实施例的双照相机设备的硬 件体系结构。
[0119] I.视频拍摄和处理
[0120]图3概念地图解说明一些实施例的双照相机移动设备的视频处理和编码模块 3〇〇。在一些实施例中,模块300对由双照相机移动设备的照相机拍摄的图像进行处理,和 对视频进行编码。如图3中所示,模块300包括拍摄图像处理单元(CIPU)驱动器305、媒体 交换模块310、编码器驱动器320和视频处理模块325。
[0121]在一些实施例中,媒体交换模块310允许设备上的程序(媒体内容的使用者和制 造者)交换媒体内容和关于媒体内容的处理的指令。在视频处理和编码模块300中,一些 实施例的媒体交换模块310在视频处理模块325和CIPU驱动器305之间,以及在视频处理 模块 325和编码器驱动器320之间路由这些指令和媒体内容。为了使所述指令和媒体内容 的路由更容易,一些实施例的媒体交换模块 31〇提供供媒体内容的使用者和制造者使用的 一组应用编程接口(API)。在一些这样的实施例中,媒体交换模块310是作为运行于双照相 机移动设备上的操作系统的一部分的一组一个或多个架构。这种媒体交换模块 310的一个 例子是苹果公司提供的Core Media架构。
[0122] 视频处理模块3?对由设备的照相机拍摄的图像和/或视频进行图像处理。这种 操作的例子包括曝光调整操作、焦距调整操作、透视校正、动态范围调整、图像缩放、图像合 成等等。在一些实施例中,一些图像处理操作也可由媒体交换模块 310执行。例如,如图3 中所示,一些实施例的媒体交换模块310执行降低由设备的照相机拍摄的视频图像中的噪 声的时间噪声降低(TNR)操作(例如,用TNR 315)。下面提供视频处理模块325和媒体交 换模块310的这种图像处理操作的另外的例子。
[0123] 通过媒体交换模块310,视频处理模块325与CIPU驱动器3〇 5和编码器驱动器320 接口,如上所述。CIPU驱动器3〇5充当拍摄图像处理单元(CIPU)3 3〇和媒体交换模块310 之间的通信接口。如以下进一步所述,CIPU 330是双照相机设备的组件,负责处理在设备 的照相机的图像拍摄或者视频拍摄操作期间拍摄的图像。CIPU驱动器305通过媒体交换模 块310,从视频处理模块325接收对来自设备的一部或两部照相机的图像和/或视频的请 求。CIPU驱动器305把所述请求传递给CIPU 330,作为响应,从CIPU 330接收请求的图像 和/或视频,CIPU驱动器305随后通过媒体交换模块310,把接收的图像和/或视频发送给 视频处理模块325。通过CIPU驱动器305和媒体交换模块310, 一些实施例的视频处理模 块325还向CIPU 33〇发送指令,以便修改其一些操作(例如,修改照相机的帧速率、曝光调 整操作、焦距调整操作等等)。
[0124] 编码器驱动器32〇充当媒体交换模块310和编码器硬件335 (例如,编码器芯片、 芯片系统上的编码组件等等)之间的通信接口。在一些实施例中,编码器驱动器320通过 媒体交换模块 31〇,从视频处理模块325接收图像和对图像编码的请求。编码器驱动器320 把要编码的图像发送给编码器335,编码器335随后对图像进行照片编码或视频编码。当 编码器驱动器320从编码器335接收到编码图像时,编码器驱动器320通过媒体交换模块 310,把编码图像回送给视频处理模块325。
[0125] 在一些实施例中,视频处理模块325能够对它从编码器接收的编码图像进行不同 的操作。所述操作的例子包括把编码图像保存在设备的存储器中,通过设备的网络接口在 视频会议中传送编码图像,等等。
[0126] 在一些实施例中,视频处理和编码模块300的一些或全部模块被实现成操作系统 的一部分。例如,一些实施例把视频处理和编码模块300的所有四个组件305、310、320和 325实现成设备的操作系统的一部分。其它实施例把媒体交换模块31〇、Ciro驱动器305和 编码器驱动器320实现成设备的操作系统的一部分,而把视频处理模块325作为在操作系 统上运行的应用。另外,模块300的其它实现也是可能的。
[0127]现在说明在视频拍摄会话期间,视频处理和编码模块300的操作。为了开始视频 拍摄会话,视频处理模块325初始化为视频拍摄会话所需的几个组件。在一些实施例中,这 些组件包括(l)CIPU 330,(2)视频处理模块325的比例缩放和合成模块(未示出),(3)视 频处理模块325的图像处理模块(未示出),和(4)编码器335。另外,当参与视频会议时, 一些实施例的视频处理模块325初始化网络管理器(未示出)。
[0128] 通过媒体交换模块310和CIPU驱动器305,视频处理模块把其初始化请求发送给 CIPU 330,以使设备的一部或两部照相机开始视频拍摄。在一些实施例中,所述请求指定需 要拍摄视频的每部照相机的特定帧速率、曝光度和缩放比例大小。响应所述请求,CIPU 330 开始以指定的帧速率、曝光度和缩放比例大小,返回来自所请求的照相机的视频图像。这些 视频图像通过CIPU驱动器3〇5和媒体交换模块310被返回给视频处理模块325,如上所述, 在把视频图像提供给视频处理模块325之前,媒体交换模块310对视频图像进行TNR操作。 在视频处理模块325,视频图像被保存在缓冲器(未示出)中,以便进行另外的图像处理。
[0129] 视频处理模块325的图像处理模块取回保存在缓冲器中的视频图像,以进行另外 的视频处理。比例缩放和合成模块随后取回处理后的视频图像,以便比例缩放视频图像 (如果是在设备的显示屏上的实时显示所必需的话)。在一些实施例中,该模块用由设备的 两部照相机拍摄的图像,或者用在视频会议期间由设备的照相机以及另一个设备的照相机 拍摄的图像创建合成图像,以便在设备上提供拍摄的视频图像的实时显示,或者创建供编 码的合成视频图像。
[0130] 处理和/或合成后的视频图像通过编码器驱动器320和媒体交换模块310被提 供给编码器335。编码器335随后对视频图像编码。编码图像随后被返回给视频处理模块 32δ (再次通过编码器驱动器320和媒体交换模块310),以便保存在设备上,或者在视频会 议期间传输。当设备参加视频会议时,网络管理器(由视频处理模块325初始化)随后取 回这些编码图像,对编码图像分包,并通过设备的网络接口(未示出)把编码图像传送给一 个或多个其它设备。
[0131] II.拍摄图像处理
[0132] A.单管线
[0133] 由一些实施例的双照相机移动设备的照相机拍摄的图像是原始的未处理图像。在 这些图像能够被用于其它操作,比如把图像传送给另一个设备(例如,在视频会议期间)、 保存图像、或者显示图像之前,这些图像需要变换到特定的色空间。另外,照相机拍摄的图 像需要被处理,以校正错误和/或失真,以及调整图像的颜色、大小等等。因此,一些实施例 在保存、传送和显示这种图像之前,对图像进行几种处理操作。所述图像的部分处理由CIPU 330执行。
[0134] 图4中图解说明了所述CIPU的一个例子^具体地说,图4概述地图解说明一些实 施例的拍摄图像处理单元(CIPU)400。CIPU 400包括或者每次只处理来自设备的照相机之 一的图像,或者按照时分多路复用方式(g卩,按照时间交织方式)同时处理来自设备的两部 照相机的图像的单处理管线(single processing pipeline)485。可以不同地配置CIPU 400的处理管线485,以处理不同照相机的不同特性和/或操作设置。一些实施例中的不同 照相机特性的例子包括不同的分辨率、噪声传感器、透镜类型(固定透镜或变焦透镜),等 等。另外,在一些实施例中,设备能够按照其操作照相机的不同操作设置的例子包括图像分 辨率大小、帧速率、变焦级别、曝光度等。
[0135] 如图4中所示,CIPU 400包括传感器模块415,行/帧缓冲器417,坏像素校正 (BPC)模块42〇,透镜阴影(LS)模块4 25,去马赛克模块430,白平衡(WB)模块435, γ模块 440,色空间变换(CSC)模块445,色调、饱和度和对比度(HSC)模块450,定标器模块455, 滤波器模块妨0,统计引擎祕 5,两组寄存器47〇,和控制器模块475。在一些实施例中,CIPU 400的全部模块都是用硬件(例如,ASIC、FPGA、带有微控制器的S0C,等等)实现的,而在其 它实施例中,CIPU 400的一些或全部模块是用软件实现的。
[0136] 如图4中所示,传感器模块415与设备的两部照相机的两个像素阵列410a和 410b,及两组传感器405a和40?通信耦接。在一些实施例中,通过每个照相机传感器的移 动行业处理器接口(MIPI),使所述通信耦接更容易。
[0137]通过所述通信耦接,传感器模块415能够向照相机转发指令,以控制每部照相机 的操作的各个方面,比如其功率级、变焦级别、焦距、曝光度等。在一些实施例中,每部照相 机具有四种工作功率模式。在第一种工作功率模式下,照相机被断电。就第二种工作功率 模式来说,照相机被通电,不过照相机还未被配置。在第三种工作功率模式下,照相机被通 电,照相机的传感器被配置,并且照相机传感器的像素收集光子,并把收集的光子转换成数 字值。不过,照相机传感器还未向传感器模块415发送图像。最后,在第四种工作功率模式 下,照相机处于和第三种功率模式相同的工作功率模式之下,除了照相机现在向传感器模 块415发送图像之外。
[0138] 在设备的操作期间,照相机可多次从一种工作功率模式切换到另一种工作功率模 式。当切换工作功率模式时,一些实施例要求照相机按照上述顺序切换工作功率模式。于 是,在这些实施例中,第一种工作功率模式下的照相机只能切换到第二种工作功率模式。当 照相机处于第二种工作功率模式时,它能够切换到第一种工作功率模式或者第三种工作功 率模式。类似地,照相机能够从第三种工作功率模式切换到第二种工作功率模式或者第四 种工作功率模式。当照相机处于第四种工作功率模式时,它只能够切换回第三种工作功率 模式。
[0139] 此外,从一种工作功率模式切换到下一种或前一种工作功率模式需要一定量的时 间。从而,切换两种或三种工作功率模式慢于切换一种工作功率模式。不同的工作功率模 式还消耗不同量的功率。例如,第四种工作功率模式消耗最大量的功率,第三种工作功率模 式消耗的功率高于第一种和第二种工作功率模式,以及第二种工作功率模式消耗的功率高 于第一种工作功率模式。在一些实施例中,第一种工作功率模式不消耗任何功率。
[0140]当照相机未处于拍摄图像的第四种工作功率模式时,可使照相机保持在其它工作 功率模式之一下。使不用的照相机保持在哪种工作模式之下的确定取决于允许照相机消 耗多少功率和照相机需要多快地响应开始拍摄图像的请求。例如,配置成按照第三种工作 功率模式(例如,待机模式)工作的照相机比配置成处于第一种工作功率模式(即,断电) 的照相机消耗更多的功率。不过,当指令照相机拍摄图像时,按照第三种工作功率模式工作 的照相机能够比按照第一种工作功率模式工作的照相机更快地切换到第四种工作功率模 式。因而,根据不同的要求(例如,对拍摄图像的请求的响应时间,功率消耗),当不拍摄图 像时,照相机可被配置成按照不同的工作功率模式工作。
[0141] 如以下进一步所述,当视频处理模块325请求一部或两部照相机开始拍摄图像, 并且传感器模块415通过控制器模块475接收到该请求时,通过它与每部照相机的通信耦 接,传感器模块415能够指令一组或两组照相机传感器开始拍摄图像。拜尔滤镜被叠加在 每个照相机传感器之上,从而每个照相机传感器输出拜尔格式图像,所述拜尔格式图像被 保存在与每个照相机传感器相关联的像素阵列中。拜尔格式图像是其中每个像素只保存一 种颜色值:红、蓝或绿的图像。
[0142] 通过它与像素阵列410a和410b的耦接,传感器模块415取回保存在照相机像素 阵列410a和410b中的原始拜尔格式图像。通过控制传感器模块415从照相机的像素阵列 取回图像的速率,传感器模块415能够控制由特定照相机拍摄的视频图像的帧速率。通过 控制其图像取回的速率,传感器模块415还能够交织由不同照相机拍摄的图像的读取,以 便交织CIPU处理管线485对来自不同照相机的拍摄图像的图像处理。以下在II. A. 1和 II. A. 2的子节中中进一步说明传感器模块415对其图像取回的控制。
[0143] 传感器模块415把它从像素阵列410a和410b取回的图像行(g卩,图像的一排排 像素)保存在行/帧缓冲器417中。通过CIPU处理管线485处理行/帧缓冲器417中的 每个图像行。如图4中所示,CIPU处理管线485由BPC模块420、LS模块425、去马赛克模 块43〇、WB模块43、γ模块440、CSC模块445、HSC模块450、定标器模块455和滤波器模块 460构成。在一些实施例中,CIPU处理管线485逐行(即,逐排)地处理来自行/帧缓冲器 417的图像,而在其它实施例中,CITO处理管线485逐帧地处理来自行/帧缓冲器417的整 个图像。
[0144] 在图4中图解说明的示例管线中,BPC模块420是从行/帧缓冲器417取回图像 的模块。BPC模块420进行坏像素消除操作,该操作设法校正取回的图像中可能由一个或多 个有缺陷的照相机传感器引起的坏像素(例如,有缺陷的光子传感器根本不感测光,错误 地感测光等等)。在一些实施例中,BPC模块420通过比较图像中的特定像素与图像中的一 个或多个相邻像素,检测坏像素。如果所述特定像素的值与所述相邻像素的值之间的差异 大于阈值量,那么用颜色(即,红、绿和蓝)与所述特定像素相同的几个相邻像素的值的平 均值替换所述特定像素的值。
[0145] BPC模块420的操作部分由为该模块保存在CIPU 400的两组寄存器470中的值控 制。具体地说,为了处理由设备的两部不同照相机拍摄的图像,一些实施例关于每部照相机 不同地配置CPU处理管线485,如上所述。通过在CIPU 400的两组不同的寄存器470a(Ra) 和470b (Rb)中保存两组不同的值,为两部不同的照相机配置CIPU处理管线485。每组寄存 器470包括用于CIPU处理管线485内的每个模块420-460的一个寄存器(Ra或Rb)。每 个寄存器组中的每个寄存器保存一组定义一个处理管线模块的操作的值。因此,如图4中 所示,寄存器组470a用于指示双照相机移动设备的一部照相机(照相机A)的每个处理管 线模块的工作模式,而寄存器组470b用于指示双照相机移动设备的另一部照相机(照相机 B)的每个处理管线模块的工作模式。
[0146] 对于每部照相机不同地配置CIPU处理管线485的一个例子是把CIPU处理管线 485的模块配置成处理大小不同的图像。例如,如果照相机传感器405a为640X480像素, 照相机传感器405b为204SX 1536像素,那么寄存器组470a被配置成保存指令CPU处理 管线485的各个模块处理Μ0Χ480像素图像的值,以及寄存器组470b被配置成保存指令 CIPU处理管线仳5的各个模块处理2048X 1536像素图像的值。
[0147] 在一些实施例中,不同的处理管线配置(g卩,寄存器值)被保存在不同的简档设置 中。在一些这样的实施例中,允许移动设备的用户选择简档设置之一(例如,通过显示在 移动设备上的用户界面),以设置一部或多部照相机的操作。例如,用户可以选择把照相机 配置成拍摄高分辨率视频的简档设置,把相同的照相机配置成拍摄低分辨率视频的简档设 置,或者把两部照相机都配置成拍摄高分辨率静止图像的简档设置。各种不同的配置都是 可能的,可被保存在许多不同的简档设置中。在其它这样的实施例中,代替允许用户选择简 档设置,根据用户选择的应用或活动,自动选择简档设置。例如,如果用户选择视频会议应 用,那么自动选择把两部照相机配置成拍摄视频的简档,如果用户选择照相应用,那么自动 选择把照相机之一配置成拍摄静止图像的简档,等等。
[0148]在BPS模块420之后,LS模块4?接收坏像素校正后的图像。LS模块425执行透 镜阴影校正操作,以校正由产生光衰减效应(即,朝着照相机传感器的边缘,光逐渐减少) 的照相机透镜引起的图像缺陷。这种效应导致图像照明度不均匀(例如,在角落和/或边 缘更日曰)。为了校正这些图像缺陷,~'些头施例的LS模块425估计透镜的照明度衰减的数 学模型。估计的模型随后被用于补偿图像的透镜衰减,以均匀地照明图像的未被均匀照明 的部分。例如,如果图像的角落的亮度是图像中心的亮度的一半,那么一些实施例的LS模 块425把角落像素值乘以2,以便产生均匀的图像。
[0149]去马赛克模块43〇执行去马赛克操作,以便由采样颜色的图像产生全色图像。如 上所述,照相机传感器输出拜尔格式图像,由于拜尔格式图像的每个像素只保存一种色值, 因此拜尔格式图像是不完整的。去马赛克模块430通过在拜尔格式图像中插入每组颜色的 色值,由拜尔格式图像重构红、绿、蓝(RGB)图像。
[0150] WB模块435对从去马赛克模块430接收的RGB图像执行白平衡操作,使得图像内 容的颜色与现实生活中人眼感觉到的所述内容的颜色相似。WB模块435通过调整图像的颜 色来调整白平衡,以正确地呈现中性颜色(例如,灰、白等)。例如,在白炽灯下的一张白纸 的图像可能显现为黄色,而人眼感觉所述一张纸为白色。为了解决传感器拍摄的图像的颜 色与人眼感觉的图像的颜色之间的差异,WB模块435调整图像的色值,使得拍摄的图像正 确地反映人眼感觉的颜色。
[0151] 统计引擎妨5收集在CIPU处理管线485的各个阶段的图像数据。例如,图4表示 统计引擎46δ收集在LS模块425、去马赛克模块430和WB模块435之后的图像数据。不 同的实施例从CIIHJ处理管线4邪的任意数目的不同阶段收集数据。统计引擎465处理收 集的数据,并根据处理后的数据,通过控制器模块475和传感器模块415调整照相机传感器 405a和405b的操作。这种操作的例子包括曝光和聚焦。尽管图4显示通过控制器模块475 控制照相机传感器405a和405b的统计引擎465,不过,统计引擎465的其它实施例通过传 感器模块415控制照相机传感器。
[0152] 处理后的数据还可用于调整CIPU 400的各个模块的操作。例如,一些实施例的统 计引擎465根据在WB模块435之后收集的数据,调整WB模块435的操作。在一些这样的 实施例中,统计引擎465通过利用处理后的数据提供自动白平衡(AWB)功能,以调整WB模 块435的白平衡操作。其它实施例可以使用从CIPU处理管线485的任意数目的阶段收集 的处理后数据来调整CIPU处理管线485内的任意数目模块的操作。此外,统计引擎465还 能够从控制器模块475接收指令,以调整CIPU处理管线485的一个或多个模块的操作。
[0153] 在从WB模块435接收到图像之后,Y模块440对图像进行Y校正操作,以编码 和解码照相机系统的亮度或者三色值。一些实施例的γ模块440通过把10-12比特的线 性信号转换成8比特的非线性编码,以校正图像的 γ值,进行γ值校正。一些实施例利用 查找表校正Υ值。
[0154] CSC模块44δ把从γ模块440接收的图像从一个色空间变换到另一个色空间。具 体地说,CSC模块44 5把图像从RGB色空间变换到亮度和色度(YUV)色空间。不过,CSC模 块445的其它实施例可以往来于任意数目的色空间变换图像。
[0155] HSC模块45〇可调整从CSC模块445接收的图像的色调、饱和度、对比度或者它们 的任意组合。例如,HSC模块45〇可以调整这些性质,以降低噪声或者增强图像。例如,可 以增大由低噪声照相机传感器拍摄的图像的饱和度,以使图像显得更鲜艳。相反,可以降低 由高噪声照相机传感器拍摄的图像的饱和度,以降低这种图像的色噪声。
[0156]在HSC模块450之后,定标器模块4δ5可缩放图像,以调整图像的像素分辨率,或 者调整图像的数据大小。例如,定标器模块455还可减小图像的大小,以便适合较小的显示 器。例如,定标器模块4δ5能够以许多不同的方式比例缩放图像。例如,定标器模块455能 够按比例增大(即,放大)和按比例减小(g卩,缩小)图像。定标器模块4 55还能够按比例 缩放图像,或者变形地缩放图像。
[0157]滤波器模块站0对从定标器模块455接收的图像应用一种或多种滤波操作,以改 变图像的一些或全部像素的一种或多种属性。滤波器的例子包括低通滤波器、高通滤波器、 带通滤波器、双边滤波器、高斯滤波器,等等。因而,滤波器模块460能够对图像应用任意多 种不同的滤波。
[0158] -些实施例的控制器模块475是控制CPU 400的操作的微控制器。在一些实施 例中,控制器模块475(1)通过传感器模块41,控制照相机传感器的操作(例如,曝光度), ⑵控制CIPU处理管线485的操作,⑶控制CIPU处理管线485的定时(例如,何时切换 照相机传感器,何时切换寄存器,等等),和(4)控制闪光灯/频闪闪光灯(未示出),所述 闪光灯/频闪闪光灯是一些实施例的双照相机移动设备的一部分。
[0159] 控制器模块475的一些实施例处理从统计引擎465和CIPU驱动器480接收的指 令。在一些实施例中,从CIPU驱动器4S0接收的指令是来自双照相机移动设备(即,接收 自本地设备)的指令,而在其它实施例中,从CITO驱动器480接收的指令是来自另一个设 备的指令(例如,视频会议期间的远程控制)。根据处理后的指令,控制器模块475能够通 过规划寄存器470的值,调整CIPU 400的操作。此外,控制器模块475能够在CIPU 400的 操作期间,动态重新规划寄存器470的值。
[0160] 如图4中所示,CIPU 400包括CIPU处理管线485中的许多模块。不过,本领域 的普通技术人员会认识到可以只用一些图解说明的模块,或者用另外的不同模块实现CIPU 400。另外,由不同模块执行的处理可按照与图4中图解说明的顺序不同的顺序应用于图 像。
[0161] 现在参考图4,说明CIPU 400的一个示例操作。为了说明起见,一组寄存器Ra被 用于处理由双照相机移动设备的照相机传感器405a拍摄的图像,以及一组寄存器Rb被用 于处理由双照相机移动设备的照相机传感器405b拍摄的图像。控制器模块475从CIPU驱 动器480接收产生由双照相机移动设备的照相机之一拍摄的图像的指令。
[0162] 控制器模块475随后初始化CIPU处理管线485的各个模块,以处理由双照相机移 动设备的照相机之一拍摄的图像。在一些实施例中,这包括控制器模块475检查是否使用 了寄存器470中的一组正确寄存器。例如如果CIPU驱动器480指令控制器模块475产生由 照相机传感器405a拍摄的图像,那么控制器模块475检查一组寄存器Ra是否是CIPU 400 的模块读取的一组寄存器。如果不是,那么控制器模块475在两组寄存器之间切换,使得该 组寄存器Ra是由CIPU 400的模块读取的一组寄存器。
[0163] 对CII>U处理管线485中的每个模块来说,工作模式由保存在所述一组寄存器Ra 中的值指示。如前所述,一组寄存器470中的值能够在CIPU 400的操作期间被动态重新规 贝|J。从而,一个图像的处理不同于下一个图像的处理。尽管CIPU 400的本示例操作的讨论 描述CPU 400中的每个模块读取保存在寄存器中的指示各个模块的工作模式的值,不过 在一些软件实现的实施例中,改为把参数传送给CIRJ 400的各个模块。
[0164] 在一些实施例中,控制器模块475通过指令传感器模块415在从像素阵列410a取 回图像之后延迟特定时间量,来初始化传感器模块415。换句话说,控制器模块475指令传 感器模块415以特定速率从像素阵列410a取回图像。
[0165] 随后,控制器模块475通过传感器模块415指令照相机传感器405a拍摄图像。在 一些实施例中,控制器模块475还向照相机传感器405a提供曝光参数和其它照相机操作参 数。在其它实施例中,照相机传感器405a使用照相机传感器操作参数的默认值。根据所述 参数,照相机传感器405a拍摄原始图像,所述原始图像被保存在像素阵列410a中。传感器 模块415从像素阵列410a取回所述原始图像,并把图像发送给行/帧缓冲器417以便保存, 之后CIPU处理管线485处理该图像。
[0166] 在某些情况下,图像可能被行/帧缓冲器417丢弃。当照相机传感器405a和/或 405b以高速率拍摄图像时,传感器模块415可比BPC模块420能够从行/帧缓冲器417取 回图像更快地接收图像,并把图像保存在行/帧缓冲器417中(例如,拍摄高帧速率视频 时),行/帧缓冲器417会变得完全充满。当发生这种情况时,一些实施例的行/帧缓冲器 417根据先进先出原则丢弃图像(即,帧)。即,当行/帧缓冲器417丢弃一帧图像时,行/ 帧缓冲器417丢弃在行/帧缓冲器417中的所有其它图像之前接收的那帧图像。
[0167] CIPU处理管线485的图像处理从BPC模块420取回来自行/帧缓冲器417的图 像,以校正图像中的任何坏像素开始。BPC模块420随后把图像发送给LS模块425,以校正 图像中的任何不均匀照明度。在校正图像的照明度之后,LS模块425把图像发送给去马赛 克模块430,去马赛克模块430处理原始图像,由原始图像产生RGB图像。随后,WB模块4 35 从去马赛克模块430接收RGB图像,并调整RGB图像的白平衡。
[0168] 如上所述,统计引擎465可能己在CIPU处理管线485的各个点收集了一些数据。 例如,如图4中图解所示,统计引擎465在LS模块425、去马赛克模块430和WB模块43δ之 后收集数据。根据收集的数据,统计引擎465可调整照相机传感器405a的操作和/或CIPU 处理管线485中的一个或多个模块的操作,以便调整从照相机传感器405a的后续图像的拍 摄。例如,根据收集的数据,统计引擎465可确定当前图像的曝光度过低,从而通过传感器 模块415指令照相机传感器405a增大后续所拍图像的曝光度。从而,一些实施例的统计引 擎465起一些处理操作的反馈回路的作用。
[0169] 在WB模块435调整图像的白平衡之后,它把图像发送给Y模块440,以进行γ校 正(例如,调整图像的Y曲线)。CSC模块445从γ模块440接收y校正后的图像,并进 行色空间变换。在本例中,CSC模块 4妨把RGB图像变换成YUV图像。换句话说,CSC模块 445把用RGB色空间表现的图像变换成用YUV色空间表现的图像。HSC模块 45〇从CSC模 块445接收YUV图像,并调整图像中的各个像素的色调、饱和度和对比度属性。在HSC模块 450之后,定标器模块455缩放图像(例如,放大或缩小图像)。在从定标器模块 455接收 图像之后,滤波器模块460对图像应用一种或多种滤波。最后,滤波器模块46〇把处理后的 图像发送给CIPU驱动器4 8〇。
[0170] 在上面说明的CITO 400的这个操作例子中,CIPU处理管线485中的每个模块以 某种方式处理图像。不过,CIPU 400处理的其它图像可能不需要CIPU处理管线485的所 有模块的处理。例如,图像可能不需要白平衡调整、γ校正、比例缩放或滤波。因而,CIPU 400能够根据接收的各种输入,比如来自CITO驱动器480的指令,或者由统计引擎465收集 的数据,以任意各种方式处理图像。
[0171] 不同的实施例不同地控制处理图像的速率(即,帧速率)。控制帧速率的一种方 式是通过垂直消隐间隔(VBI)的操纵。对于取回图像行以便逐行处理图像的一些实施例来 说,VBI是从像素阵列取回由双照相机移动设备的照相机拍摄的视频的一个图像的最后一 行,和从像素阵列取回视频的下一个图像的第一行之间的时间差。在其它实施例中,VBI是 从像素阵列取回由双照相机移动设备的照相机拍摄的视频的一个图像,和从像素阵列取回 视频的下一个图像之间的时间差。
[0172] 其中能够使用VBI的一个例子在传感器模块415与像素阵列410a和410b之间。 例如,传感器模块415的一些实施例逐行地从像素阵列410a和410b取回图像,以及传感器 模块415的其它实施例逐个图像地从像素阵列410a和410b取回图像。从而,通过调整传 感器模块415的VBI,能够控制帧速率:增大VBI会降低帧速率,而减小VBI会提高帧速率。
[0173] 1. VBI对单照相机的应用:帧速率控制
[0174] 图5概念地图解说明基于不同VBI的不同帧速率505、510和515的例子。每个序 列显示在沿着时间线 520的各个时刻525-555,拿着吉它的人物的图像,所述图像由双照相 机移动设备的照相机之一拍摄。另外,每个时刻525-555之间的时间都相同,称为一个时间 单元。为了说明起见,现在将参考图4的传感器模块415和像素阵列410a,说明图5。因而, 每个图像代表沿着时间线520的传感器模块415从像素阵列410a取回图像的时刻。
[0175] 在示例的帧速率505中,传感器模块415关于像素阵列410a的VBI被设定为3个 时间单元(例如,由控制器模块475设定)。即,传感器模块415沿着时间线520,每隔两个 时刻从像素阵列410a取回一帧图像。如示例的帧速率505中所示,传感器模块415在时刻 5 25、540和55δ取回图像。从而,示例的帧速率505具有每三个时间单元一帧图像的帧速 率。
[0176] 除了 VBI被设定为2个时间单元之外,示例的帧速率510类似于示例的帧速率 505。从而,传感器模块415沿着时间线520,每隔一个时刻从像素阵列410a取回一帧图像。 示例的帧速率510表示传感器模块415在时刻525、535、545和555,从像素阵列410a取回 图像。由于示例的帧速率510的VBI小于示例的帧速率505的VBI,因此示例的帧速率510 的帧速率高于示例的帧速率505的帧速率。
[0177] 除了传感器模块415关于像素阵列410a的VBI被设定为1个时间单元之外,示例 的帧速率515也类似于示例的帧速率505。于是,传感器模块415被指令沿着时间线520, 在每个时刻从像素阵列410a取回一帧图像。如图所示,传感器模块415在时刻525-555,从 像素阵列410a取回图像。示例的帧速率515的VBI小于示例的帧速率505和510的VBI。 于是,示例的帧速率515的帧速率大于示例的帧速率505和510。
[0178] 2. VBI对双照相机的应用
[0179] 一些实施例可能希望同时操作双照相机移动设备的两部照相机(例如,在视频会 议期间,从两部照相机传送视频)。包括单处理管线的双照相机移动设备的不同实施例提供 同时操作双照相机移动设备的两部照相机的不同机制。
[0180] 一种这样的机制是通过控制每部照相机的VBI,交织由两部照相机拍摄的图像的 处理。B卩,在一部照相机的VBI期间,拍摄和处理由另一部照相机拍摄的一个或多个图像, 反之亦然。由于上面说明的CIPU 400具有单处理管线485,因此这种机制能够在一些实施 例的CIPU 400中实现。在这样的实施例中,传感器模块415从像素阵列410a和410b之一 取回图像,并且取回的图像由CIPU 400在传感器模块415关于另一个像素阵列的VBI期间 处理。
[0181] 传感器模块415关于每个像素阵列的VBI可被设定为特定值。不过,在一些实施 例中,VBI不被设定成比CIPU 400取回和处理一帧图像所用时间小的值。一些实施例把传 感器模块415关于每个像素阵列的VBI设定成相同值。例如,当传感器模块415关于每个 像素阵列的VBI被设定成相同值时,传感器模块415交替地从像素阵列410a和410b取回 图像。其它实施例把传感器模块415关于每个像素阵列的VBI设定成不同的值。在一些这 样的实施例中,传感器模块415关于一个像素阵列的VBI被设定成传感器模块415关于另 一个像素阵列的VBI的倍数。例如,传感器模块415关于一个像素阵列的VBI被设定成2 个时间单元,传感器模块415关于另一个像素阵列的VBI被设定成4个时间单元。在这个 例子中,相对于传感器模块415从所述另一个像素阵列取回的每一帧图像,传感器模块415 从所述一个像素阵列取回两帧图像。
[0182] 图6概念地图解说明基于不同VBI的不同交织帧速率605、610和615的例子。除 了图6包括沿着时间线620的13个时刻625-685之外,图6类似于图5。另外,拿着吉它的 人物的图像代表沿着时间线620从一个像素阵列取回该图像的时刻,而戴着学位帽的人物 的图像代表沿着时间线620从另一个像素阵列取回图像的时刻。
[0183] 为了说明起见,拿着吉它的人物的图像假定已由双照相机移动设备的照相机传感 器40?拍摄,以及戴着学位帽的人物的图像假定已由双照相机移动设备的照相机传感器 405b拍摄。此外,现在将参考图4的传感器模块415及像素阵列410a和401b说明图6。
[0184] 在示例的交织帧速率605中,传感器模块415关于像素阵列410a和像素阵列401b 的VBI被设定成2个时间单元。如示例的交织帧速率605中所示,传感器模块415在沿着 时间线 62〇的时刻625、635、645、655、665、675和685,从像素阵列41〇3取回图像,以及传感 器模块41 5在沿着时间线620的时刻630、640、650、660、670和680,从像素阵列410b取回 图像。即,在每个时间单元,传感器模块415交替地从像素阵列取回图像。
[0185] 除了传感器模块415关于像素阵列410a和像素阵列401b的VBI被设定成4个时 间单元之外,示例的交织帧速率610类似于示例的交织帧速率605。示例的交织帧速率610 显示传感器模块415在沿着时间线620的时刻625、645、665和685,从像素阵列410a取回 图像,以及传感器模块41 5在沿着时间线620的时刻635、655和675,从像素阵列410b取回 图像。由于示例的交织帧速率610的 VBI大于示例的交织帧速率605的VBI,因此示例的交 织帧速率610的帧速率小于示例的交织帧速率 6〇5的帧速率。
[0186]除了传感器模块415关于像素阵列410a和像素阵列401b的VBI被设定成6个时 间单元之外,不例的交织帧速率615也类似于示例的交织帧速率605。如图6中所示,传感 器模块4丨 5在沿着时间线62〇的时刻625、655和685,从像素阵列 41〇a取回图像,以及传感 器模块415在沿着时间线62〇的时刻64〇和 67〇,从像素阵列41〇b取回图像。示例的交织 帧速率615的VBI大于示例的交织帧速率 6〇5和610的VBI。从而,示例的交织帧速率615 的帧速率小于示例的交织帧速率605和610的帧速率。
[0187] B.多管线
[0188] 图7概念地图解说明一些实施例的另一个拍摄图像处理单元(CIPU)700。除了 CIPU 700由两个前端处理管线,一个存储器,和一个后端处理管线实现,而不是由单处理管 线实现之外,CIPU 700实现和上面说明的CIPU 400相同的功能。因此,将参考CIPU 400的 模块,说明CIPU 700的功能的描述。
[0189] 如图所示,CIPU 700包括用于照相机传感器405a和像素阵列410a的前端处理管 线Π 5、用于照相机传感器405b和像素阵列410b的前端处理管线720、存储器725、控制器 模块 73〇、和后端处理管线7:35。一些实施例的照相机传感器405a和405b是双照相机移动 设备的照相机的传感器。
[0190] -些实施例的前端处理管线715和720执行CIPU 400的部分图像处理。因而,不 同的实施例可以包括CIPU 400的不同数目的模块。例如,一些实施例的每个前端处理管线 715和720包括CIPU 400的传感器模块415、BPC模块420、LS模块425、去马赛克模块430、 WB模块435和统计引擎465。
[0191] 尽管由于具有相同的模块,前端处理管线715和720执行相同类型的图像处理,不 过通过如上关于CITO 400说明的不同的寄存器值,能够不同地配置每个前端处理管线715 和72〇中的每个模块。此外,由于每个照相机传感器405a和405b都具有它自己的前端处 理管线,因此前端处理管线715和720能够相互独立地处理图像。例如,前端处理管线715 和720能够并行地(即,在相同的时间)、在不同的时间、和以不同的速率处理图像。
[0192] 在一些实施例中,每个前端处理管线715和720能够从其对应的照相机传感器和 像素阵列取回图像。例如,前端处理管线715从像素阵列410a取回由照相机传感器405a 拍摄的图像,以及前端处理管线720从像素阵列410b取回由照相机传感器405b拍摄的图 像。当前端处理管线715和720之一从其对应的照相机传感器和像素阵列取回图像时,该 前端处理管线处理该图像,并把处理后的图像发送给存储器725。另外,每个前端处理管线 715和720如上所述与控制器模块730通信(例如,通过每个前端处理管线的统计引擎)。
[0193] 一些实施例的存储器725保存部分处理后的图像,供后端处理管线735完成处理。 在这些实施例中,存储器725从前端处理管线715和720接收部分处理后的图像,并把部分 处理后的图像发送给后端处理管线735。一些实施例把存储器725实现成易失性存储器(例 如,随机存取存储器(RAM)),而其它实施例把存储器725实现成非易失性存储器(例如,闪 速存储器、硬盘、光盘等)。此外,一些实施例的存储器725是内部存储器(例如,RAM),而 其它实施例的存储器725是外部存储器(例如,紧凑式闪存(CF)卡,安全数字(SD)卡,等 等)。
[0194] 后端处理管线735的一些实施例执行CITO 700的部分图像处理。在一些实施例 中,后端处理管线735包括前端处理管线715和720不包括的CIPU 400的模块。例如,参 见上面的例子,后端处理管线735应包括CIPU 400的CSC模块445、γ模块440、HSC模块 450、定标器模块455和滤波器模块460。因而,这种实施例的后端处理管线735执行前端 处理管线715和720不执行的CPU 400的剩余图像处理。因此,后端处理管线735从存储 器725取回部分处理后的图像,并对部分处理后的图像执行剩余的图像处理。在处理图像 之后,后端处理管线735把处理后的图像发送给CITO驱动器480。
[0195]控制器模块73〇执行上面参考图4说明的相同功能。如图7中所示,控制器模块 730与前端处理管线715和72〇及后端处理管线735交互。在一些实施例中,控制器模块 73〇包括在后端处理管线735中,而在其它实施例中,控制器模块730包括在前端处理管线 715和720之一中。
[0196] 现在参考在图7中图解说明的照相机传感器405a和405b、像素阵列401a和410b、 前端处理管线715和720、存储器725和后端处理管线735,说明CIPU 700的操作。当前 端处理管线715和720之一从其对应的照相机传感器和像素阵列取回图像时,前端处理管 线处理该图像,并把部分处理后的图像发送给存储器725。例如,前端处理管线715可从像 素阵列410a取回由照相机传感器405a拍摄的图像,或者前端处理管线720可从像素阵列 410b取回由照相机传感器405b拍摄的图像。如上所述,前端处理管线715和720都能够并 行处理图像。
[0197] 后端处理管线735从存储器725取回部分处理后的图像,并处理部分处理后的图 像以完成图像的图像处理。在一些实施例中,后端处理管线735基于先进先出的原则取回 和处理保存在存储器725中的图像。换句话说,存储器725中的特定图像将在先于该特定 图像的接收和保存在存储器72δ中的所有图像之后进行处理,不过,该特定图像将在晚于 该特定图像的接收和保存在存储器7?中的图像之前进行处理。在后端处理管线735处理 图像之后,它把处理后的图像发送给CIPU驱动器480。
[0198]图8概念地图解说明一些实施例的另一个拍摄图像处理单元(CIPU)800。除了 CIPU 800由两个单独的处理管线实现,每个照相机传感器具有它自己的单独的处理管线之 外,CIPU 800执行和上面说明的CIPU 400相同的功能。因而,将参考CIPU 400的模块,说 明CIPU 800的功能的描述。
[0199] 如图所示,CIPU 800包括用于照相机传感器405a和像素阵列410a的处理管线 815,和用于照相机传感器405b和像素阵列410b的处理管线820。一些实施例的每个处理 管线815和820都包括包含在CITO 400中的所有模块。于是,这些实施例的每个处理管线 815和820的操作均与CIPU 400的操作相同。
[0200] 由于每个照相机传感器405a和405b都具有它自己的处理管线,因此处理管线815 和820能够相互独立地处理图像。例如,处理管线815和820能够并行地(即,在相同的时 间)、在不同的时间、和以不同的速率处理图像。另外,通过上面参考CIPU 400说明的不同 的寄存器值,能够不同地配置一些实施例的每个处理管线815和820。
[0201] 在一些实施例中,CIPU 400的许多模块包括用于执行该模块的一些或全部操作的 一个或多个行/帧缓冲器。例如,一些实施例的滤波模块460被实现成执行3 X 3低通滤波。 在这样的实施例中,3X3低通滤波器处理图像中的连续三行,以便对所述连续三行的中间 行应用3X3低通滤波。从而,这种实施例的滤波模块460至少需要三个行/帧缓冲器,以 便实现3X3低通滤波。CIPU 400中的其它模块也包括一个或多个行/帧缓冲器,比如BPC 模块420和LS模块425。 t〇2〇2] CIPU 800的处理管线均可具有不同的行/帧缓冲器大小,以便按照其对应照相机 的特征定制图像处理。例如,如果双照相机移动设备的一部照相机具有2048X 1500像素传 感器,那么该2〇48 X 1500像素传感器的处理管线能够包括2048像素宽的行/帧缓冲器。类 似地,如果双照相机移动设备的另一部照相机具有640 X 480像素传感器,那么640 X 480像 素传感器的处理管线可包括为640像素宽的行/帧缓冲器。即,包括在一个处理管线的各 个模块中的行/帧缓冲器的大小可不同于包括在另一个处理管线的各个模块中的行/帧缓 冲器的大小。
[0203] III.视频会议 [0204] A.视频会议体系结构
[0205] 图9概念地图解说明一些实施例的双照相机移动设备的视频会议和处理模块900 的软件体系结构。视频会议和处理模块900包括与上面参考图3说明的对应模块和驱动器 305、301和320类似的CIPU驱动器905、媒体交换模块910和编码器驱动器920。视频会议 和处理模块900还包括用于实现各种视频会议功能的视频会议模块925、视频会议客户端 94δ和网络接口 950。类似于视频处理和编码模块300,视频会议和处理模块900处理和编 码从双照相机移动设备的照相机拍摄的图像。
[0206] 如上参考图3所述,媒体交换模块910允许设备中的媒体内容的使用者和制造者 交换媒体内容,和与媒体内容的处理有关的指令。CIPU驱动器905充当与拍摄图像处理单 元(CIPU) 955的通信接口,编码器驱动器920充当与编码器硬件960 (例如,编码器芯片、片 上系统上的编码组件,等等)的通信接口。
[0207] 一些实施例的视频会议模块925负责各种视频会议功能,比如图像处理、视频会 议管理和连网。如图所示,视频会议模块925与媒体交换模块910、视频会议客户端945和 网络接口 950交互。在一些实施例中,视频会议模块925从视频会议客户端945接收指令, 和向视频会议客户端945发送指令。一些实施例的视频会议模块925还通过网络接口 950, 向网络发送数据和从网络接收数据,例如,所述网络是局域网(LAN)、无线局域网(WLAN)、 广域网(WAN)、网络的网络(a network of networks)、码分多址接入(CDMA)网络、GSM网 络7等等。
[0208] 视频会议模块925包括图像处理层930、管理层935和网络层940。在一些实施例 中,图像处理层930对图像进行图像处理操作,以便用于视频会议。例如,一些实施例的图 像处理层930进行曝光调整、图像缩放、透视校正和动态范围调整,如下进一步详细所述。 一些实施例的图像处理层930通过媒体交换模块910发送对来自CIPU 955的图像的请求。
[0209] 一些实施例的管理层935控制视频会议模块925的操作。例如,在一些实施例中, 管理层935初始化双照相机移动设备的一部/两部照相机,处理图像和音频,以便传送给远 程设备,和处理从远程设备接收的图像和音频。在一些实施例中,管理层935产生用于该设 备的合成(例如PIP)显示。此外,管理层935可根据从网络层940接收的连网报告,改变 视频会议模块925的操作。
[0210] 在一些实施例中,网络层940实现用于视频会议的一些或全部网络功能。例如,如 下所述,除了别的功能之外,一些实施例的网络层940建立视频会议的双照相机移动设备 和远程设备之间的网络连接(未示出),把图像传送给远程设备,和从远程设备接收图像。 另外,网络层940接收诸如分组丢失、单向等待时间和往返延迟时间之类的连网数据,以及 其它各种数据,处理这样的数据,和把数据报告给管理层935。
[0211] 一些实施例的视频会议客户端945是利用视频会议模块925的视频会议功能的应 用,比如视频会议应用、IP话音(V0IP)应用(例如,Skype)或者即时通信应用。在一些实 施例中,视频会议客户端945是独立的应用,而在其它实施例中,视频会议客户端M5被集 成到另一个应用中。
[0212] 在一些实施例中,网络接口 %0是允许视频会议模块925和视频会议客户端945 通过网络(例如,蜂窝网络、局域网、无线网络、网络的网络、因特网等)发送数据和接收数 据的通信接口。例如,如果视频会议模块925想要向因特网上的另一个设备发送数据(例 如,由双照相机移动设备的照相机拍摄的图像),那么视频会议模块925通过网络接口 %0 把图像发送给所述另一个设备。
[0213] B.视频会议设置
[0214] 图10概念地图解说明一些实施例的示例的视频会议请求消息接发序列1000。图 10表示运行于设备1005上的视频会议客户端1010,视频会议服务器1015,和运行于设备 1020上的视频会议客户端1025之间的视频会议请求消息接发序列1000。在一些实施例中, 视频会议客户端1010和1025与图9中所示的视频会议客户端945相同。如图10中所示, 一个设备(即,设备1005)请求视频会议,以及另一个设备(g卩,设备1020)应答该请求。在 本申请中描述的双照相机移动设备能够执行这两个操作(即,发出请求和响应请求)。
[0215] -些实施例的视频会议服务器1015在视频会议客户端之间路由消息。尽管一些 实施例在一个计算设备上实现视频会议服务器1015,不过其它实施例在多个计算设备上实 现视频会议服务器1015。在一些实施例中,视频会议服务器是可公开访问的服务器,它能够 同时处理和路由众多会议的消息。一些实施例的每个视频会议客户端1010和1025经网络 接口,比如上面说明的网络接口 950,通过网络(例如,蜂窝网络、局域网、无线网络、网络的 网络、因特网等)与视频会议服务器1015通信。
[0216] 当视频会议客户端1010从设备1005的用户接收到(在操作1)开始和设备1020 的视频会议的请求时,一些实施例的视频会议请求消息接发序列1000开始。当设备1005 的用户选择显示在设备1005上的用户界面的某一用户界面(UI)项目时,一些实施例的视 频会议客户端1010接收开始视频会议的请求。在下面说明的图11和图14中图解说明了 这种用户界面的例子。
[0217] 在视频会议客户端1010接收到请求之后,视频会议客户端1010向视频会议服务 器1015发送(在操作2)视频会议请求,该请求根据用户的输入,把设备1020指示为收件 人。视频会议服务器1015把视频会议请求转发给(在操作3)设备1020的视频会议客户 端1025。在一些实施例中,视频会议服务器1015利用推送技术,把视频会议请求转发给视 频会议客户端1025。即,当从视频会议客户端1010接收到请求时,视频会议服务器1015开 始向视频会议客户端1025传送视频会议请求,而不是等待客户端1025发送对任何消息的 请求。
[0218] 当一些实施例的视频会议客户端1025接收到视频会议请求时,在设备1020上显 示用户界面,以向设备1020的用户指出,设备1005的用户发送了开始视频会议的请求,并 提示设备1020的用户接受或拒绝该视频会议请求。在下面说明的图12中图解说明了这种 用户界面的例子。在一些实施例中,当视频会议客户端1025接收到(在操作4)接受来自 设备1005的用户的视频会议请求的请求时,视频会议客户端1025向视频会议服务器1015 发送(在操作5)视频会议接受。当设备1020的用户选择如图12中图解说明的用户界面 的某一用户界面项目时,一些实施例的视频会议客户端1025接收到接受视频请求的请求。
[0219] 在视频会议服务器1015从视频会议客户端1025接收到视频会议接受之后,视频 会议服务器1015把视频会议接受转发给(在操作6)视频会议客户端1010。视频会议服务 器1015的一些实施例利用上述推送技术,把视频会议接受转发给视频会议客户端1010。
[0220] 当接收到视频会议接受时,一些实施例在设备1005和设备1020之间建立(在操 作7)视频会议。不同的实施例不同地建立视频会议。例如,一些实施例的视频会议建立包 括:协商设备1005和设备1020之间的连接、确定对视频编码的比特率、和在设备1005和设 备1020交换视频。
[0221] 在上面的例子中,设备1020的用户接受视频会议请求。在一些实施例中,设备 1020可被配置成(例如,通过设备的优先选择设置)自动接受到来的视频会议请求,而不显 示III。此外,设备1020的用户也能够拒绝(在操作4)视频会议请求(例如,通过选择在设 备1020上显示的用户界面的某个用户界面项目)。代替发送视频会议接受,视频会议客户 端1025向视频会议服务器1015发送视频会议拒绝,视频会议服务器1015把视频会议拒绝 转发给视频会议客户端1010。从而根本不建立视频会议。
[0222] 1.视频会议设置用户界面
[0223] 在一些实施例中,根据正在进行的通话,发起视频会议。即,在移动设备的用户与 第二位用户通话的时候,经另一方的许可,该用户能够把通话变成视频会议。对本发明的一 些实施例来说,图11图解说明由双照相机手持移动设备1100进行的这种视频会议的启动。 图11利用设备1100的用户界面("UI")1105的五个操作阶段1110、1115、1120、1125和 1130,图解说明视频会议的启动。
[0224] 如图11中所示,UI 1105包括名字栏1135、选择菜单1140和可选择的UI项目 1145。名字栏1135显示在通话另一端的用户意欲请求与之进行视频会议的人物的名字。在 本例中,可选择的UI项目1145(它可被实现成可选择的按钮)向用户提供可选择的结束通 话(End Call)选项,以结束通话。选择菜单1140显示可选择的Π 项目的菜单,比如喇叭 扩音器项目1142、静音项目1144、数字小键盘项目1146、电话簿项目1148、保持项目1152、 视频会议项目1154等等。不同的实施例不同地显示选择菜单。对图11图解说明的实施例 来说,选择菜单1140包括几个同样大小的图标,每个图标代表一个不同的操作。其它实施 例提供可滚动的菜单,或者给予特定项目以优先级(例如,通过使这些项目变得更大)。
[0225] 现在将参考Π 1105在图11中图解说明的五个阶段1110、1115、1120、1125和 1130中的状态,说明UI 1105的操作。在第一阶段1110中,在手持移动设备用户和Nancy Jones之间已经建立了通话。第二阶段1115显示在用户选择可选择的视频会议选项 1154(例如,通过手指1150的单指轻点),以激活视频会议工具之后的UI 1105。在这个例 子中,视频会议选项1154(它可被实现成可选择的图标)允许用户在通话期间启动视频会 议。在第二阶段中,视频会议选项1150被突出显示,以指示视频会议工具已被激活。不同 的实施例可用不同的方式(例如,通过突出显示项目的边框或文本),指示这样的选择。
[0226] 第三阶段1120显示在依据选择视频会议选项1154的选择,设备1100已启动视频 会议处理之后的UI 1105。第三阶段是在设备等待建立视频会议时(例如,在设备等待通话 另一端的设备接受或拒绝视频会议时)的过渡保持阶段。在第三阶段1120中,在建立视频 会议连接的时候,设备1100的用户仍然能够与另一设备的用户(即,Nancy Jones)谈话。 另外,一些实施例允许设备1100的用户通过选择显示在UI 1105上的用于取消视频会议请 求的可选UI项目(未示出),在第三阶段1120中取消视频会议请求。在该保持阶段期间, 不同的实施例使用UI 11〇5中的不同显示来指示该等待状态。
[0227] 如图11中所示,在一些实施例中,利用由设备1100拍摄的视频的全屏显示,以及 在该视频的底部的"Preview(预览)"符号图解说明第三阶段的等待状态。具体地说,在图 11中,第三阶段1120通过在Π 1105的显示区1160中,显示由设备的照相机拍摄的视频 的全屏呈现,图解说明视频会议处理的开始。在一些实施例中,正面的照相机是在开始视频 会议时,设备选择的默认照相机。通常,在开始视频会议时,所述正面照相机对着设备的用 户。因此,在图11中图解说明的例子中,第三阶段1120把设备1100图解表示成呈现设备 1100的用户的全屏视频。位于在第三阶段1120期间,出现在显示区1160中的视频之下的 "Preview"指示进一步突出设备的等待状态。
[0228] 在一些实施例中,能够不同地表示过渡性的第三保持阶段1120。例如,一些实施例 允许设备1100的用户选择背面的照相机作为启动视频会议的照相机。为了允许这种选择, 一些实施例允许用户(例如,通过菜单优先选择设置)把背面的照相机指定为启动视频会 议的默认照相机,和/或允许用户从在用户选择视频会议选项1154之后,显示背面和正面 的照相机的菜单中选择背面的照相机。在这些情况的任何一种中,Π 1105(例如,显示区 1160)在第三保持阶段1120期间,显示由背面的照相机拍摄的视频。
[0229] 另外,其它实施例可通过显示设备1100所摄视频的较小版本,通过显示保存在 设备1100上的静止图像,通过提供突出显示设备的等待状态的消息(例如,通过显示 "Conference Being Established、正在建立会议),通过不显示"Preview"指示,等等,可 指出视频会议工具的激活。另外,在第三阶段1120中,一些实施例的Π 1105提供如果在 该阶段(例如,在用户等待远程用户答复他的请求时),用户决定不进入视频会议,那么允 许用户取消进入视频会议,并返回通话状态的结束(End)按钮(未示出)。
[0230] 第四阶段1125图解说明在远程用户接受了视频会议请求,并且建立了视频会议 连接之后,处于过渡状态的UI 1105。在该过渡状态下,显示本地用户的视频(在本例中,由 正面的照相机拍摄的视频)的显示区1160的大小逐渐减小(即,逐渐缩小),如箭头1175 所示。显示区1160( g卩,本地用户的视频)缩小,使得UI 1105能够在显示区1160之后,显 示包含来自远程设备的照相机的视频的显示区1170(例如,显示窗口 1170)。换句话说,本 地用户的视频1160的缩小产生PIP显示1180, PIP显示1180具有本地用户的视频的前景 插入显示1160,和远程用户的背景主显示1170。在本例中,背景主显示1170呈现远程设备 的正面照相机正在拍摄其视频的女士(例如,Nancy Jones,远程设备的用户),或者远程设 备的背面照相机正在拍摄其视频的女士(例如,Nancy Jones正在拍摄其视频的女士)的 视频。普通技术人员会认识到图11中所示的过渡性的第四阶段只是一些实施例使用的一 种示例方法,其它实施例可以不同地动画演示过渡性的第四阶段。
[0231] 第四阶段1125还在下面的显示区1155中图解说明可选的UI项目1132。可选的 UI项目1132(它可被实现成可选择的按钮)在PIP显示1180之下提供可选择的结束会议 (End Conference)选项1132。用户可以选择结束会议选项1132来结束视频会议(例如, 通过单指轻点)。不同的实施例可允许用户用不同的方式结束会议,比如通过转换移动设备 上的开关,通过发出话音命令,等等。此外,不同的实施例可允许结束会议选项1132在视频 会议期间逐渐消失,从而允许PIP显示1180占据整个显示区1185。随后在单指轻点显示区 1185的底部时,结束会议选项1132可重新出现,使用户可以利用结束会议选项1132。在一 些实施例中,显示区1155的布局和下面进一步详细说明的显示区1155相同。
[0232] 第五阶段1130图解说明在结束第四过渡状态1125的动画之后的UI 1105。具体 地说,第五阶段1130图解说明在视频会议期间,由UI 1105呈现的PIP显示1180。如上所 述,PIP显示1180包括两个视频显示:来自远程照相机的较大的背景显示1170,和来自本地 照相机的较小的前景插入显示1160。
[0233] PIP显示118〇只是呈现由远程设备和本地设备拍摄的视频的合成视图的一种方 式。除了该合成视图之外,一些实施例的设备提供其它合成视图。例如,代替具有远程用 户的较大的背景显示1170,较大的背景显示1170可以是本地用户,而较小的前景插入显示 1160是远程用户。如下进一步所述,一些实施例允许用户在视频会议期间,在作为提供PIP 显示1180的插入视图和主视图的照相机的本地照相机和/或远程照相机之间切换。
[0234] 另外,一些实施例允许本地视频和远程视频出现在UI 1105中的两个并排的显示 区(例如,左右显示窗口,或者上下显示窗口),或者两个对角排列的显示区中。在一些实施 例中,如下进一步所述,通过设备的优先选择设置,或者通过在视频会议期间,用户能够选 择的控件,用户可以规定pip显示或者默认显示模式的方式。
[0235] 当图11的设备1100的用户邀请远程用户进行视频会议时,远程用户可接受或拒 绝该邀请。图12图解说明在六个不同的阶段1210、1215、1220、1225、1230和1235,远程用 户的设备1200的Π 1205,所述六个阶段表示在远程用户的设备呈现和接受视频会议邀请 的操作序列。下面的UI 1205的描述把设备1200(即,接收到视频会议请求的设备)的用 户称为受邀者(invite recipient),把设备1100(即,发送视频会议请求的设备)的用户 称为邀请者(invite requestor)。另外,在本例中,假定受邀者的设备1200是双照相机设 备,和邀请者的设备一样。不过,在其它例子中,这些设备中的一个或者两个都是单照相机 设备。
[0236] 第一阶段1210图解说明当受邀者从邀请者,John Smith接收到视频会议邀请时 的UI 1205。如图12中所示,第一阶段的UI 1205包括名字栏1235、消息栏1240和两个 可选的UI项目1245和1250。名字栏1235显示正请求视频会议的人物的名字。在一些 实施例中,名字栏1235显示正请求视频会议的人物的电话号码,而不是人物的名字。消 息栏1240显示邀请者给受邀者的邀请。在本例中,消息栏1240中的"Video Conference Invitation (视频会议邀请)"指示邀请者正在请求与受邀者进行视频会议。可选的UI项 目1245和1250(它们可被实现成可选择的按钮)提供可选择的供受邀者用于拒绝或接受 邀请的"拒绝请求(Deny Requst)"和"接受请求(Accept Request)"选项1245和125〇。 不同的实施例可不同地显示这些选项和/或显示其它选项。
[0237] 当看到显示在消息栏1240中的"Video Conference Invitation"符号时,通过分 别选择UI中的"拒绝请求"选项1245或"接受请求"选项1250,受邀者可拒绝或接受请求。 第二阶段1215图解说明在图12中所示的例子中,用户选择"接受请求"选项1250。在这个 例子中,通过用户的手指轻轻点击"接受请求"选项1250,实现所述选择,并通过选项1250 的突出显示,指出所述选择。在一些实施例中提供其它技术来选择"接受"或"拒绝请求"选 项1245和1250 (例如,连续两次轻轻点击,等等)以指出所述选择(例如,突出显示UI项 目的边框或文本)。
[0238] 第三阶段1220显示在受邀者同意加入视频会议之后的UI 1205。在该阶段,UI 1205进入预览模式,预览模式在显示区1244中显示来自远程设备的正面照相机的视频的 全屏呈现。这种情况下的正面照相机对着远程设备的用户(即,本例中的Nancy Jones)。 因此,按所述预览模式显示她的图像。这种预览模式使受邀者可以确保她的视频被正确显 示,并且在视频会议开始之前(例如,在开始实际传输视频之前),她对其外表感到满意。在 一些实施例中,可在显示区1244之下显示诸如"Preview"符号之类的符号,以指出受邀者 处于预览模式。
[0239] 一些实施例允许受邀者选择背面的照相机作为开始视频会议的默认照相机,或者 在开始视频会议时选择正面或背面的照相机,如下进一步所述。另外,其它实施例不同地显 示受邀者的预览显示(例如,在置于显示区1244的角落的较小图像中)。除此之外的其它 实施例不包括这种预览模式,而是在受邀者接受请求之后,立即开始视频会议。
[0240] 在第三阶段,Π 1205显示两个可选的Π 项目1275和1246。其中一个重叠在显 示区1244之上,而另一个在显示区1244下面。可选的UI项目1275是用户可选择以开始 视频会议的"接受"按钮1275。可选的Π 项目1246是如果受邀者在此阶段决定不加入视 频会议,那么她可选择的"结束"按钮1246。
[0241] 第四阶段1225显示在受邀者选择"接受"按钮1275之后的UI 1205。在本例中, "接受"按钮1275被突出显示,以指出受邀者随时可开始视频会议。在其它实施例中可用不 同的方式指出这样的选择。
[0242] 第五阶段1230图解说明在受邀者接受视频会议请求之后,处于过渡状态的UI 1205。在该过渡阶段,显示受邀者的视频(在本例中,所述视频由正面的照相机拍摄)的显 示区1244的大小逐渐减小(即,逐渐缩小),如箭头1260所示。受邀者的视频缩小,使得 Π 1205能够在显示区1244之后,显示包含来自邀请者的照相机的视频的显示区1265(例 如,显示窗口 1265)。换句话说,受邀者的视频的缩小产生PIP显示1280, PIP显示1280具 有受邀者的视频的前景插入显示区1244,和邀请者的背景主显示1265。
[0243] 在这个例子中,背景主显示1265呈现本地设备的正面照相机正在拍摄其视频的 男± (即,John Smith,本地设备1100的用户)的视频。在另一个例子中,该视频可以是 本地设备的背面照相机拍摄其视频的男士(例如,由John Smith拍摄其视频的男士)的视 频。不同地实施例可以不同地动画演示过渡性的第五阶段。
[0244] 第五阶段1230的UI还显示包括在视频会议期间,使另一用户的音频静音的可选 UI项目1285 (例如,静音按钮1285),结束视频会议的可选Π 项目1287 (例如,结束会议 按钮1287),和下面进一步说明的切换照相机的可选UI项目1289 (例如,切换照相机按钮 1289)的显示区1155(例如,工具条或菜单条)。因而,受邀者可以选择任意可选UI项目 1285-1289(例如,通过单指轻点),以在视频会议期间执行希望的操作。不同的实施例允 许受邀者按照不同的方式,例如切换移动设备上的开关,通过给出话音命令等,执行任意操 作。
[0245] 尽管图12表示显示区1155的示例布局,不过,一些实施例提供显示区1155的不 同布局,比如图11的显示区1155的布局,该布局只包括用于结束视频会议的可选的结束会 议UI选项1132。显示区1155的其它布局可以包括用于执行不同功能的任意多种不同的可 选UI项目。此外,第五阶段1230表示显示在UI 1205的底部的显示区1155。显示区1155 的不同实施例可被显示在UI 1205内的不同位置,和/或定义成不同的形状。
[0246] 图12把显示区1155表示成静态显示区(即,显示区1155总是被显示)。不过, 在一些实施例中,显示区1155是动态显示区。在一些这样的实施例中,显示区1155平常不 被显不。相反,只有当接收到触发事件(例如,比如轻点显示区1280 -次,话音命令之类的 用户选择)时,才显示所述显示区1155。在接收到用户选择(例如,选择可选的静音UI项 目985),或者规定量的时间(例如,3秒)之后,显示区1155消失,所述规定量的时间可由 用户通过移动设备或视频会议应用的优先选择设置指定。在一些这样的实施例中,显示区 1155在视频会议开始后被自动显示,和按照上面提及的相同方式消失。
[0247] 第六阶段1235图解说明在结束第五过渡阶段的动画之后的UI 1205。具体地说, 第六阶段图解说明在视频会议期间,由UI 1205呈现的PIP显示1280。如上所述,PIP显示 12S0包括两个视频显示:来自本地照相机的较大的背景显示1265,和来自远程照相机的较 小的前景插入显示1244。PIP显示1280只是呈现由远程设备和本地设备拍摄的视频的合 成视图的一种方式。除了该合成视图之外,一些实施例的设备提供其它的合成视图。例如, 代替具有较大的受邀者的背景显示,较大的背景显示可以是邀请者的视频,较小的前景插 入显示可以是受邀者的视频。如下进一步所述,一些实施例允许用户控制PIP显示中的插 入视图和主视图,以可切换地显示本地照相机和远程照相机。另外,一些实施例允许本地视 频和远程视频出现在UI 12〇5中的两个并排显示区(例如,左右显示窗口,或者上下显示窗 口),或者两个对角排列的显示区中。如下进一步所述,通过设备的优先选择设置,或者通过 在视频会议期间,用户能够选择的控件,用户可以指定PIP显示的方式或者默认显示模式。 [0 248] 尽管图12按照六个不同的操作阶段表示呈现和接受视频会议邀请的操作序列, 不过,一些实施例可以用较少的阶段实现所述操作。例如,一些这样的实施例可以省略呈现 第三阶段1220和第四阶段122 5,从而在用户选择"接受请求"选项1250之后,从第二阶段 U15进到第五阶段123〇。用较少的阶段实现所述操作(即,呈现和接受视频会议邀请)的 其它实施例可以省略第一阶段1210和第二阶段1215,从而当受邀者从邀请者接收到视频 会议的邀请时,向用户呈现第三阶段1220。
[0249]图13图解说明通过把第一和第三阶段结合成一个阶段,以及把第二和第四阶段 结合成一个阶段,用较少的阶段执行图12中图解说明的操作的例子。特别地,图13图解说 明在五个不同的阶段1洲0、I392、1394、1 230和1235,远程用户的设备1200的Π 1205。第 一阶段139〇类似于阶段1110,除了名字栏1295显示名字" John Smith",以指出在通话另一 端的人物的名字之外。即,已在远程移动设备的用户和本地设备的用户(g卩,本例中的John Smith)之间建立了通话。第二阶段1392和第三阶段1394类似于图12的第一阶段1210和 第二阶段1215,除了第二阶段I 392和第三阶段1洲4还显示远程移动设备的用户(g卩,本例 中的Nancy Jones)的预览之外。第四阶段123〇和第五阶段1235与图12的第五阶段1230 和第六阶段1235相同。
[0250]除了在通话期间,通过可选选项激活视频会议工具之外,一些实施例允许双照相 机设备的用户直接发起视频会议,而不必首先打电话。图14图解说明发起视频会议的另一 种这样的备选方法。图14图解说明在七个不同阶段1410、1415、1420、1425、1430、1435和 1440的UI 1405,所述七个不同阶段显示启动视频会议的备选操作序列。
[0251]在第一阶段1410,用户浏览移动设备上的联系人名单,寻找他希望与之进行视频 会议的人物,与他为了通话而查找联系人的方式类似。在第二阶段1415,用户选择他愿意 与之进行视频会议的人物1455(例如,通过在该人的名字1455上的单指轻点1460)。这种 选择触发Π 1405显示联系人的信息和各种用户可选选项。在这个例子中,Jason的名字 1455被突出显示,以指出这是用户意欲与之进行视频会议的人。不同的实施例可以用不同 的方式指出这种选择。尽管第二阶段1415允许设备1400的用户通过联系人名单,选择用 户意欲与之进行视频会议的人,不过一些实施例允许用户通过"Recents (最近)"通话历史 选择该人,所述"Recents"通话历史列出设备1400的用户最近与之进行视频会议或者通话 的人物的特定号码或名字。
[0252] 在第三阶段1420,在选择了人物的名字1455之后,UI 1405显示所选人物的信息 1462,和各种可选UI项目1468、1472和1470。在这个例子中,各个可选UI项目1472(可被 实现成可选的图标或按钮)之一提供视频会议工具。视频会议选项1472允许用户邀请依 据联系人1466识别的人物加入视频会议。不同的实施例不同地(例如,用不同的排列)显 示信息1462和可选UI项目1468、1472和1470。
[0253] 第四阶段1425表示用户选择"视频会议"选项1472(例如,通过单指轻点)。在这 个例子中,"视频会议"选项1472被突出显示,以指出视频会议工具1472已被激活。在不同 的实施例中可不同地指出这种选择(例如,通过突出显示所选图标的文本或边框)。
[0254] 第五、第六和第七阶段1430、1435和1440类似于图11中图解说明的第三、第四 和第五阶段1120、1125和1130,可通过参考这些阶段的讨论可理解第五、第六和第七阶段 1430、1435和1440。简单地说,第五阶段1430图解说明等待远程用户响应视频会议邀请的 过渡性的保持阶段。第六阶段1435图解说明在远程用户接受视频会议请求之后,(显示本 地用户的视频的)显示区1480的大小逐渐减小,使得Π 1405能够在显示区148〇之后,显 示包含来自远程用户的照相机的视频的显示区1492。在第七阶段1440,在视频会议期间, UI 1405呈现PIP显示1447。在一些实施例中,第六阶段1435和第七阶段1440中的显示 区1155的布局与上面说明的图12的显示区1155的布局相似。
[0255] 图10、11、12、13和14表示建立视频会议的几种方式。在一些实施例中,在通话期 间,通过一个通信通道(通过诸如电路交换通信网络或者分组交换通信网络之类的通信网 络)传送音频数据(例如,话音),并在视频会议期间,通过另一个通信通道传送音频数据。 从而,在这样的实施例中,在建立视频会议之前,通过一个通信通道传送音频数据(例如, 话音),以及一旦建立了视频会议,就通过不同的通信通道(而不是在通话期间使用的通信 通道)传送音频。
[0256] 为了提供音频数据从通话到视频会议的无缝过渡(例如,切换),一些实施例在建 立视频会议之前,并不终止通话。例如,一些实施例在终止通话并开始通过对等通信会话传 送音频/视频数据之前,建立对等视频会议连接(例如,在完成图10中图解说明的消息序 列之后)。另一方面,其它实施例在终止通话和开始呈现接收的音频/视频数据之前,建立 对等视频会议连接(例如在完成图10中图解说明的消息序列之后),并开始通过该对等通 信会话传送音频/视频数据。
[0257] -些实施例的对等视频会议连接允许视频会议中的移动设备直接相互通信(而 不是通过例如中央服务器通信)。对等视频会议的一些实施例允许视频会议中的移动设备 相互共享资源。例如,经由视频会议的控制通信通道,通过从一个移动设备向另一个移动设 备发送指令,以命令所述另一个移动设备不同地处理图像(即,共享其图像处理资源),比 如下面进一步详细描述的曝光调整操作、焦距调整操作和/或切换照相机操作,所述一个 移动设备能够远程控制视频会议中的所述另一个移动设备的操作。
[0258] 2.动态比特率设置
[0259] 一般来说,视频会议中的移动设备通过不同类型的通信网络,比如不同的专用和 公共无线通信网络(例如,诸如GSM、UMTS之类的蜂窝网络)的通信通道,相互传递数据(例 如,音频和视频图像)。下面将参考图91和92说明这种无线通信网络的例子。
[0260]由于在特定时间接入通信网络的移动设备的数目不断变化,因此通信网络可用于 进行视频会议的带宽在不同时间是不同的。即使在视频会议期间,可用带宽也会改变。另 夕卜,在视频会议期间用高比特率淹没通信网络,或者企图算出最佳视频会议比特率的大量 信令是不可取的。
[0261]由于这些原因,一些实施例采用指定视频会议的初始最佳比特率的新方法。为了 识别视频会议的初始最佳比特率,所述方法以特定的比特率开始视频会议,如果这些实施 例没有检测到会恶化视频会议质量的网络条件,那么所述方法以特定时间间隔递增地增大 比特率。
[0262] 图15中图解说明这种实施例的一个例子。图15概念地图解说明本发明的一些实 施例的设定视频会议的比特率的处理1500。作为视频会议设置的一部分(例如,作为图1〇 中图解说明的视频会议建立的一部分)执行处理1500,以根据各种网络条件,动态确定传 送数据(例如,音频和视频图像)的比特率。在一些实施例中,处理1500由上面参考图9 说明的视频会议模块925的管理层935执行。下面参考图16说明该视频会议模块的更详 细形式。
[0263] 如图15中所示,通过把比特率设为(在1505)初始比特率,开始处理1500。在一 些实施例中,初始比特率是设备的默认基准速率。不过,一些实施例允许用户指定初始比特 率。在1505,处理1500还通过按初始比特率,通过一个或多个通信通道,向远程设备传送数 据(例如,音频和视频图像),来启动视频会议。
[0264] 随后,处理1500识别(在1510)从视频会议中的远程设备接收的一组网络条件参 数。在一些实施例中,本地设备通过在开始视频会议时建立的实时传送协议(RTP)通信会 话,从远程设备接收所述一组网络条件参数。例如,一些实施例通过RTP的扩展特征,提供 网络条件参数。此外,通过指出扩展报头在RTP分组报头中的存在,并定义关于附加信息的 扩展报头,一些实施例的RTP扩展特征能够被用于传送任意类型的信息(例如,所述一组网 络条件参数)。
[0265] 在不同的实施例中,视频会议中的各个设备传送多组不同的网络条件/拥塞参 数。在下面说明的实施例中,所述一组网络条件参数包括单向等待时间和带宽估计比特率。 在其它实施例中,所述一组网络条件参数包括分组丢失数据和往返时间(RTT)延迟数据。 因而,不同的实施例可在所述一组网络条件参数中包括任意多个不同的网络条件参数。
[0266] 在一些实施例中,从视频会议的远程设备接收的一组网络条件参数以按在操作 1505设定的初始比特率,在视频会议期间,从本地移动设备(g卩,执行处理1500的移动设 备)传送给远程设备的数据(例如,音频和视频)为基础。例如,在一些实施例中,通过利 用音频分组的时间戳,计算音频分组通过网络连接,从本地移动设备传播到远程设备所用 的时间,远程设备能够确定单向等待时间。具体地说,在一些实施例中,每个音频分组被打 上时间戳。在没有分组延迟的情况下,远程设备应与时间戳之差相等的设定时间间隔,接收 音频分组。不过,当存在单向等待延迟时,远程设备以比时间戳之差大的时间每隔接收音频 分组。
[0267] 另外,在一些实施例中,远程设备通过检查接收到视频分组的时间,接收到相邻视 频分组的时间,和所述相邻视频分组的大小,确定带宽估计比特率。即,接收两个连续视频 分组的时间差和第二个视频分组的大小被用于估计网络连接的可用带宽。一些实施例通过 检查多对连续视频分组,确定带宽估计比特率。上面的例子利用特定类型的数据(即,用 于确定单向等待时间的音频数据,和用于确定带宽估计比特率的视频数据)。不过,在一些 实施例中,也可以使用通过本地移动设备和远程设备之间的网络连接传送的其它类型的数 据。
[0268] 在识别(在1510)所述一组网络条件之后,处理1500随后确定(在1515)单向等 待时间是否已恶化到超过定义的阈值量。在一些实施例中,所述阈值量被定义为特定的等 待时间量,如果当前的单向等待时间和先前的单向等待时间之间的差值超过特定等待时间 量,那么确定单向等待时间恶化到超过阈值量。在其它实施例中,阈值量被定义为单向等待 时间的特定变化率。因而,当一组单向等待时间(例如,当前的单向等待时间和先前的单向 等待时间)的变化率超过特定的变化率,那么确定单向等待时间恶化到超过阈值量。
[0269] 当确定单向等待时间恶化到超过阈值量时,处理1500结束。否则,处理1500确定 (在1520)当前比特率是否达到了带宽估计比特率。在一些实施例中,带宽估计比特率指示 网络连接的可用带宽量(例如,15kb/s (kbps))。当处理1500确定当前比特率超过带宽估 计比特率时,处理1500结束。当处理1500确定当前比特率未超过带宽估计比特率时,处理 1500进入操作1525。
[0270] 在1525,处理1500确定当前比特率是否达到定义的最大比特率。当处理1500确 定当前比特率超过定义的最大比特率时,处理1500结束。否则,处理1500进入操作1530, 把当前比特率增大规定量。不同的实施例不同地定义增大比特率的量。增大当前比特率的 规定量的例子包括32kbps、64kpbs、以及任意多种其它增大比特率的量值。
[0271] 随后,处理确定(在1535)规定的时间量是否已过去。规定的时间量可以是1秒、2 秒、5秒或者任何其它可能的时间量,因为不同的实施例不同地定义所述时间量。处理1500 等待规定的时间量过去,以便让远程设备能够接收以新增大的比特率(在操作1530),从本 地移动设备传送的数据(例如,音频和视频图像),并根据新增大的比特率确定网络条件参 数。如果处理1500确定规定的时间量还未过去,那么处理1500返回操作1535,直到规定的 时间量过去为止。当处理1500确定规定的时间量已过去时,处理1500返回操作1510。如 上所述继续进行处理1500的从1510开始的操作,直到处理1500结束为止。
[0272] 当处理1500结束时(即,在操作1δ15、152〇或I525之后),完成视频会议的比特 率的设置,并且确定了最佳比特率。由于视频会议的可用带宽在视频会议期间可能变化,因 此,一些实施例继续根据从远程设备接收的一组网络条件参数(即,单向等待时间和带宽 估计比特率),调整比特率。可通过增大比特率,在视频会议期间调整比特率。例如,如果 处理1500因单向等待时间恶化到超过规定的阈值量而结束,并且在视频会议期间,单向等 待时间得到改善,那么一些实施例增大比特率。类似地,如果处理1500因比特率超过带宽 估计比特率而结束,并且在视频会议期间,带宽估计比特率增大,那么一些实施例增大比特 率。
[0273] 相反,可通过降低比特率,在视频会议期间调整比特率。例如,如果在视频会议期 间,单向等待时间继续恶化到超过规定的阈值量,那么一些实施例降低比特率。另外,如果 在视频会议期间,比特率继续超过带宽估计比特率(例如,带宽估计比特率继续降低),那 么一些实施例降低比特率。
[0274] 此外,处理1500使用单向等待时间和带宽估计比特率来确定是否增大比特率。不 过,普通技术人员会认识到在不同的实施例中,可以使用任意多种网络条件参数来确定是 否增大比特率。例如,确定是否增大比特率可以只基于RTT延迟数据或者分组丢失数据。
[0275] C.视频会议体系结构
[0276] 如上所述,图16概念地图解说明一些实施例的双照相机移动设备的视频会议和 处理模块1600的软件体系结构。如图所示,视频会议和处理模块1600包括客户端应用 166 5、视频会议模块1602、媒体交换模块1620、缓冲器1625、拍摄图像处理单元(CIPU)驱动 器16 3〇、编码器驱动器1635和解码器驱动器1640。在一些实施例中,缓冲器1625是保存 视频的图像以便在双照相机移动设备的显示器1645上显示的帧缓冲器。
[0277] 在一些实施例中,客户端应用1665与图9的视频会议客户端945相同。如上所 述,客户端应用1册5可被集成到另一个应用中,或者实现成独立的应用。客户端应用1665 可以是利用视频会议模块1602的视频会议功能的应用,比如视频会议应用、IP话音(V0IP) 应用(例如,Skype)或者即时消息通信应用。
[0278] 一些实施例的客户端应用1665向视频会议模块1602发送指令,比如开始会议和 结束会议的指令,从视频会议模块1602接收指令,把来自双照相机移动设备的用户的指令 路由到视频会议模块1602,和产生显示在双照相机移动设备上并允许用户与应用交互的用 户界面。
[0279] D.视频会议管理器
[0280] 如图16中所示,视频会议模块1602包括视频会议管理器1604、图像处理管理器 1608、连网管理器1614、和缓冲器1606、1610、1612、1616和1618。在一些实施例中,视频会 议模块1602与图9中图解说明的视频会议模块925相同,从而执行上面关于视频会议模块 925所述的一些或全部的相同功能。
[0281] 在一些实施例中,视频会议管理器1604负责当视频会议开始时,初始化视频会议 模块16〇 2的一些或所有其它模块(例如,图像处理管理器1608和连网管理器1614),在视 频会议期间控制视频会议模块1602的操作,和当视频会议结束时,停止视频会议模块1602 的一些或所有其它模块的操作。
[0282] 一些实施例的视频会议管理器1604还处理从视频会议中的一个或多个设备接收 的图像,和由双照相机移动设备的一部或两部照相机拍摄的图像,以便显示在双照相机移 动设备上。例如,一些实施例的视频会议管理器1604从缓冲器1618取回从参与视频会议 的另一个设备接收的解码图像,和从缓冲器1606取回由CIPU 1650处理的图像(即,由双 照相机移动设备拍摄的图像)。在一些实施例中,在把图像显示在双照相机移动设备上之 前,视频会议管理器1604还比例缩放和合成图像。即,在一些实施例中,视频会议管理器 1604产生PIP或其它合成视图,以显示在移动设备上。一些实施例比例缩放从缓冲器1606 和1618取回的图像,而其它实施例只比例缩放从缓冲器1606和1618之一取回的图像。
[0283] 尽管图16把视频会议管理器1604图解表示成视频会议模块1602的一部分,不过 视频会议管理器1604的一些实施例被实现成与视频会议模块 16〇2分离的组件。因而,单 个视频会议管理器1604可被用于管理和控制几个视频会议模块16〇2。例如,一些实施例将 在本地设备上运行独立的视频会议模块以与多方会议中的每一方交互,本地设备上的这些 视频会议模块均由一个视频会议管理器管理和控制。
[0284] 在图像被编码器I655编码之前,一些实施例的图像处理管理器1608处理由双 照相机移动设备的照相机拍摄的图像。例如,图像处理管理器1608的一些实施例对CIPU 165〇处理的图像执行曝光调整、焦距调整、透视校正、动态范围调整和图像缩放中的一个或 多个操作。在一些实施例中,图像处理管理器1608控制传送给视频会议中的另一个设备的 编码图像的帧速率。
[0285] 连网管理器1614的一些实施例管理双照相机移动设备和参加视频会议的另一个 设备之间的一个或多个连接。例如,一些实施例的连网管理器1614在视频会议开始时,建 立双照相机移动设备和视频会议的另一个设备之间的连接,以及在视频会议结束时,中断 这些连接。
[0286] 在视频会议期间,连网管理器1614把由编码器1655编码的图像传送给视频会议 的另一个设备,以及把从视频会议的另一个设备接收的图像路由给解码器1660以便解码。 在一些实施例中,连网管理器1 614,而不是图像处理管理器1608,控制传送给视频会议的 另一个设备的图像的帧速率。例如,连网管理器1614的一些这样的实施例通过丢弃(即, 不传送)应该被传送给视频会议的另一个设备的编码帧中的一些编码帧,控制帧速率。
[0287] 如图所示,一些实施例的媒体交换模块1620包括照相机源模块1622、视频压缩模 块1624和视频解压缩模块1626。媒体交换模块1620与图3中所示的媒体交换模块310相 同,同时提供更多的细节。照相机源模块1622通过CIPU驱动器1630,在视频会议模块1602 和CIPU1650之间路由消息和媒体内容,视频压缩模块1624通过编码器驱动器1635,在视频 会议模块1602和编码器1655之间路由消息和媒体内容,以及视频解压缩模块1626通过解 码器驱动器1640,在视频会议模块1602和解码器1660之间路由消息和媒体内容。一些实 施例把包括在媒体交换模块310中的TNR模块315 (图16中未示出)实现成照相机源模块 1622的一部分,而其它实施例把TNR模块315实现成视频压缩模块1624的一部分。
[0288] 在一些实施例中,CIPU驱动器1630和编码器驱动器1635与图3中图解说明的 CIPU驱动器305和编码器驱动器320相同。一些实施例的解码器驱动器1640充当视频解 压缩模块1626和解码器1 66〇之间的通信接口。在这样的实施例中,解码器1660解码通过 连网管理器1614从视频会议的另一个设备接收的并通过视频解压缩模块1626路由的图 像。在图像被解码之后,图像通过解码器驱动器1640和视频压缩模块1626被送回视频会 议模块1602。
[0289] 除了在视频会议期间进行视频处理之外,一些实施例的双照相机移动设备的视频 会议和处理模块1600还在视频会议期间,执行音频处理操作。图17图解说明这样的软件 体系结构。如图所示,视频会议和处理模块1 6〇0包括视频会议模块1602(它包括视频会议 管理器1604、图像处理管理器1608和连网管理器1Θ14)、媒体交换模块1 62〇和客户端应用 1665。图17中省略了图16中所示的视频会议和处理模块1600的其它组件和模块,以简化 说明。视频会议和处理模块1600还包括帧缓冲器1705和170、音频处理管理器1715和音 频驱动器1720。在一些实施例中,音频处理管理器1715被实现成单独的软件模块,而在其 它实施例中,音频处理管理器1715被实现成媒体交换模块1620的一部分。
[0290]音频处理管理器1715处理由双照相机移动设备捕获的音频数据,以便传送给视 频会议中的另一个设备。例如,音频处理管理器1715通过音频驱动器1720接收由麦克 风Π 25捕获的音频数据,对音频数据编码,之后把编码的音频数据保存在缓冲器17〇5中, 以便传送给所述另一个设备。音频处理管理器1715还处理由视频会议中的另一个设备捕 获并从所述另一个设备接收的音频数据。例如,音频处理管理器1715从缓冲器1710取回 音频数据,对音频数据解码,解码后的音频数据随后通过音频驱动器Π 20被输出给扬声器 1730。
[0291] 在一些实施例中,视频会议模块1602连同音频处理管理器Π 15及其关联的缓冲 器一起是更大的会议模块的一部分。当在不交换视频内容的情况下,在几个设备之间进行 多方音频会议时,视频会议和处理模块1600只利用连网管理器1614和音频处理管理器 1715,以使通过网际协议(IP)层的音频交换更容易。
[0292] 现在参考图18,说明一些实施例的视频会议管理器1604的操作。图18概念地图 解说明由一些实施例的视频会议管理器,比如图16中图解说明的视频会议管理器1604执 行的处理1800。这可等同于由图9的管理层935执行。在一些实施例中,当双照相机移动 设备的用户接受(例如,通过显示在双照相机移动设备上的用户界面)视频会议请求,或 者当另一个设备的用户接受双照相机移动设备的用户发送的请求时,视频会议管理器1604 执行处理1800。
[0293] 通过接收(在1805)开始视频会议的指令,开始处理1800。在一些实施例中,指令 是从客户端应用1665接收的,或者是通过显示在双照相机移动设备上的用户界面从用户 接收的,并由客户端应用1665转发给视频会议管理器1604。例如,在一些实施例中,当双照 相机移动设备的用户接受视频会议请求时,指令是通过用户界面接收的并由客户端应用转 发。另一方面,当另一个设备的用户接受从本地设备发出的请求时,一些实施例从客户端应 用接收指令,而没有用户界面交互(不过,可存在先前的发送初始请求的用户界面交互)。
[0294] 随后,处理1800初始化(在1810)与视频会议管理器1604交互的第一模块。一 些实施例的与视频会议管理器1604交互的模块包括CIPU 1650、图像处理管理器1608、音 频处理管理器1715和连网管理器1614。
[0295] 在一些实施例中,初始化CIPU 1650包括指令CIPU 1650开始处理由双照相机移 动设备的一部或两部照相机拍摄的图像。一些实施例通过指令图像处理管理器1608开始 从缓冲器Ιθ?ο取回图像,并处理和编码取回的图像,初始化图像处理管理器1608。为了初 始化音频处理管理器1715, 一些实施例指令音频处理管理器1715开始编码由麦克风1725 捕获的音频数据,和解码保存在缓冲器ΠΙΟ中的音频数据(从另一个设备接收的音频数 据),以便输出给扬声器1730。一些实施例的连网管理器1614的初始化包括指令连网管理 器1614建立和视频会议中的另一个设备的网络连接。
[0296] 处理1800随后确定(在1815)是否还剩有要初始化的任何模块。当剩有要初始 化的模块时,处理18〇〇返回操作1810,以初始化另一个模块。当所有需要的模块都己被初 始化时,处理1800产生(在1820)供显示在双照相机移动设备(即,本地显示器)上的合 成图像。这些合成图像可包括示于下面说明的图65中的那些合成图像(即,PIP或其它合 成显示),并且可包括来自本地的双照相机移动设备的照相机的图像和来自参与视频会议 的另一个设备的照相机的图像的各种组合。
[0297] 接下来,处理1800确定(在1825)是否对视频会议做出了改变。一些实施例通过 用户与显示在双照相机移动设备上的用户界面的交互,接收对视频会议的改变,而其它实 施例通过连网管理器1614,从另一个设备接收对视频会议的改变(即,远程控制)。在一些 实施例中,也可从客户端应用1665,或者视频会议模块1602中的其它模块接收对视频会议 设置的改变。视频会议设置还会由于网络条件的变化而改变。
[0298] 当发生改变时,处理1800确定(在1830)对视频会议的改变是否是对网络设置的 改变。在一些实施例中,所述改变或者是网络设置改变或者是图像拍摄设置改变。当对视 频会议的改变是对网络设置的改变时,处理修改(在1840)网络设置,随后进入操作1845。 一些实施例的网络设置改变包括改变对图像编码的比特率,或者向另一个设备传送图像的 帧速率。
[0299] 当对视频会议的改变不是对网络设置的改变时,处理1800确定所述改变是对图 像拍摄设置的改变,从而进入操作1835。处理1800随后执行(在1835)对图像拍摄设置的 改变。在一些实施例中,对图像拍摄设置的改变可包括切换照相机(S卩,切换双照相机移动 设备上的哪部照相机拍摄视频),焦距调整,曝光调整,显示或不显示来自双照相机移动设 备的一部或两部照相机的图像,和放大或缩小显示在双照相机移动设备上的图像,以及其 它设置改变。
[0300] 在操作1845,处理1800确定是否结束视频会议。当处理1800确定不结束视频会议 时,处理1800返回操作1820。当处理1800确定视频会议将结束时,处理1800结束。当处 理1S00从客户端应用1665接收到结束视频会议的指令时(即,归因于通过本地双照相机 移动设备的用户界面接收的,或者从参与视频会议的另一个设备接收的指令),处理1800 的一些实施例确定结束视频会议。
[0301] 在一些实施例中,当视频会议结束时,视频会议管理器1604执行未示于处理1800 中的各种操作。一些实施例指令CIPU 1650停止产生图像,指令连网管理器1614中断与视 频会议中的另一个设备的网络连接,和指令图像处理管理器1608停止处理和编码图像。 [0302] E.时间噪声降低
[0303] 一些实施例包括处理视频图像,以降低视频中的噪声的特殊的时间噪声降低模 块。一些实施例的时间噪声降低模块比较视频序列中的后续图像,以识别和从视频中消除 有害的噪声。
[0304] 图19概念地图解说明一些实施例的这种时间噪声降低(TNR)模块190的软件体 系结构。一些实施例把TNR模块1900实现成应用的一部分(例如,实现成如图3中所示的 媒体交换模块的一部分),而其它实施例把TNR模块1900实现成由其它应用使用的独立应 用。除此以外的其它实施例把TNR模块1900实现成在双照相机移动设备上运行的操作系 统的一部分。在一些实施例中,TNR模块1900由一组API实现,所述一组API向其它应用 提供TNR模块1900的一些或全部功能。
[0305] 如图I9中所示,TNR模块19〇0包括TNR管理器1905、差分模块ΙΘΙΟ、像素平均模 块W15和运动历史模块1920。尽管图I9把三个模块1910、1915和1920表示成独立的模 块,不过一些实施例在单个模块中实现下面说明的这些模块的功能。一些实施例的 TNR模 块1900接收输入图像、基准图像和运动历史作为输入。在一些实施例中,输入图像是目前 正在处理的图像,而基准图像是视频序列中输入图像与之比较的在先图像。TNR模块1900 输出输出图像(一种形式的噪声降低的输入图像)和输出运动历史。
[0306] -些实施例的TNR管理器19〇5指引数据在TNR模块1900内的流动。如图所示, TNR管理器19〇5接收输入图像、基准图像和运动历史。TNR管理器1905还输出输出图像和 输出运动历史。TNR管理器1 9〇5把输入图像和基准图像发送给差分模块1910,从差分模块 1910接收差分图像。
[0307] 在一些实施例中,差分模块1910处理从TNR管理器1905接收的数据,并把处理后 的数据发送给TNR管理器1905。如图所示,差分模块1910从TNR管理器1905接收输入图 像和基准图像。一些实施例的差分模块1910通过从另一个图像的像素值中减去一个图像 的像素值,产生差分图像。差分图像被发送给TNR管理器1905。一些实施例的差分图像指 示两个图像之间的差异,以便识别与前一图像相比,输入图像的已发生变化的部分,和输入 图像的保持不变的部分。
[0308] TNR管理器1905还把输入图像和基准图像发送给像素平均模块1915。如图所示, 一些实施例还把运动历史发送给像素平均模块1915。不过,其它实施例可以只发送输入图 像和基准图像,而不发送运动历史。在任何一个实施例中,TNR管理器1905都从像素平均 模块1915接收处理后的图像。
[0309] 一些实施例的像素平均模块1915利用运动历史来确定是否关于图像中的特定位 置,从输入图像和基准图像中获得像素的平均值。在一些实施例中,运动历史包括输入图 像中的每个像素的概率值。特定的概率值代表相对于基准图像中的对应像素,输入图像中 的对应像素已发生变化(S卩,动态像素)的概率。例如,如果输入图像中的特定像素的概率 值为 2〇,那么指示相对于基准图像中的对应像素,输入图像中的特定像素已变化的概率为 20%。作为另一个例子,如果输入图像中的特定像素的概率值为0,那么指示相对于基准图 像中的对应像素,输入图像中的特定像素未变化(即,静态像素)。
[0310] 不同的实施例不同地保存输入图像的概率值。一些实施例可把输入图像的每个像 素的概率值保存在一个数据阵列中。其它实施例可把概率值保存在维数与视频的图像的分 辨率相同的矩阵中(例如,一组阵列中)。例如,如果视频的图像的分辨率为320X240,那 么矩阵也为320X240。
[0311] 当除了输入图像和基准图像之外,像素平均模块1915还从TNR管理器1905接收 到运动历史时,像素平均模块1915读取输入图像中的每个像素的概率值。如果输入图像中 的特定像素的概率值低于规定的阈值(例如,5%, 20% ),那么像素平均模块1915根据在该 特定像素,大概不会存在运动,从而在该像素的图像之间的差异可能归因于噪声的假定,求 该特定像素值和基准图像中的对应像素值的平均值。
[0312] 如果输入图像中的特定像素的概率值不低于规定的阈值,那么像素平均模块1915 不修改输入图像的特定像素(即,在该像素的像素值保持和输入图像中的一样)。这是因为 运动很可能位于该特定像素,从而图像之间的差异很可能不是噪声的结果。在一些实施例 中,当运动历史不被发送给像素平均模块1915时,像素平均模块1915求输入图像中的每个 像素与基准图像中的对应像素的平均值。由像素平均模块1915输出并被发送给TNR管理 器1 9〇5的处理后的图像包括未被平均的任何像素的输入图像像素值,和被像素平均模块 1915平均的任何像素的平均像素值。
[0313] 在一些实施例中,运动历史模块1920处理从TNR管理器1905接收的数据,并把结 果数据回送给TNR管理器1905。一些实施例的运动历史模块1920从TNR管理器1905接收 输入图像和运动历史。一些实施例把该数据输入Bayes估计器,以便产生可在关于下一个 输入图像的像素平均中使用的新的运动历史(g卩,一组概率值)。其它实施例使用其它估计 器来产生新的运动历史。
[0314] 现在参考图20,说明TNR模块1900的操作。图20概念地图解说明一些实施例的 降低视频的图像的时间噪声的处理 2〇00。从TNR管理器19〇5接收(在2005)输入图像、基 准图像和运动历史开始处理 2〇00。输入图像是目前为了降噪而处理的图像。在一些实施例 中,基准图像是从CIPU接收的视频的图像序列中的前一个图像。不过,在其它实施例中,基 准图像是由前一个输入图像的处理产生的输出图像(即,TNR模块1900的输出)。运动历 史是由前一个输入图像的处理产生的输出运动历史。
[0315] 当输入图像是视频的第一个图像时,一些实施例的TNR模块1900并不处理第一个 图像(即,不对第一个图像应用TNR)。换句话说,TNR管理器1905接收第一个图像,并且只 是输出第一个图像。在其它实施例中,当输入图像是视频的第一个图像时,第一个图像被用 作输入图像和基准图像,TNR模块1900如下所述处理该图像。此外,当输入图像是视频的 第一图像时,运动历史为空(即,空值,全为零,等等),TNR管理器1905只是输出空的运动 历史,作为输出运动历史。
[0316] TNR管理器1905随后确定(在2010)输入图像是否是静态的。为了做出该确定, 一些实施例把输入图像和基准图像发送给差分模块1910,从差分模块1910接收差分图像。 当两个图像之间的差异低于规定的阈值(例如,5%差异,10%差异等)时,一些实施例把输 入图像分类为静态图像。
[0317] 当输入图像是静态图像时,TNR管理器1905把输入图像和基准图像发送给像素平 均模块1915,以计算(在2015)输入图像的像素与基准图像的像素的平均值,以便从静态图 像中减少任何噪声。处理随后进入下面说明的操作2040。
[0318] 当输入图像不是静态图像时,TNR管理器把输入图像、基准图像和运动历史发送给 像素平均模块1915以便处理。像素平均模块1915选择(在2020)输入图像中的一个像 素。通过利用运动历史,像素平均模块1915确定(在2025)像素的运动概率是否低于特定 阈值,如上所述。
[0319] 如果所选像素的概率低于特定阈值,那么像素平均模块1915计算(在2030)输入 图像的所述像素与基准图像中的对应像素的平均值。否则,该像素不被求平均值,并且输出 图像将与在所述特定像素的输入图像相同。像素平均模块1915随后确定(在2035)在输 入图像中是否剩有任何未选择的像素。如果存在还未被处理的任何像素,那么处理返回操 作2020以选择下一个像素。像素平均模块1915执行操作 2〇2〇-2〇30,直到评估了所有像素 为止。
[0320] 处理随后更新(在2040)运动历史。如图19中所示和如上所述,运动历史模块 1920根据输入图像更新运动历史。新的运动历史连同来自像素平均模块的处理后图像一起 由TNR管理器输出。
[0321] F.图像处理管理器&编码器
[0322] 除了由CIPU和/或CIPU驱动器执行的时间噪声降低和图像处理操作之外,一些 实施例在视频会议模块92δ的图像处理层930执行各种图像处理操作。这些图像处理操作 可包括曝光调整、焦距调整、透视校正、动态范围的调整和图像缩放等等。
[0323] 图21概念地图解说明执行这样的图像处理操作的处理2100。在一些实施例中,处 理2100的一些或全部操作由图16的图像处理管理器1608和编码器驱动器1635的组合执 行。在一些这样的实施例中,图像处理管理器16〇8执行基于像素的处理(例如,缩放、动态 范围调整、透视校正等)。一些实施例在视频会议期间,对将被传送给参与视频会议的另一 个设备的图像执行处理2100。
[0324] 现在参考图16,说明处理2100。通过从缓冲器1606取回(在2105)图像,开始该 处理。在一些实施例中,取回的图像是视频的图像(即,图像序列中的一个图像)。该视频 可由在其上执行处理2100的设备的照相机拍摄。
[0325] 随后,处理2100对取回的图像执行(在2110)曝光调整。一些实施例通过显示在 双照相机移动设备上的用户界面,进行曝光调整。图22图解说明这种实施例的示例曝光调 整操作。
[0326] 图22参考设备2200的UI 2205的三个阶段2210、2215和2220,说明曝光调整操 作。第一阶段2210图解说明包括显示区2225和显示区1155的UI 2205。如图所示,显示 区2225显示太阳和脸及身体都暗黑的男士的图像2230。暗黑的脸和身体显示该男士未得 到恰当曝光。图像 2230可以是由设备2200的照相机拍摄的视频图像。如图所示,显示区 1155包括用于结束视频会议的可选UI项目22 5〇。在一些实施例中,显示区1155的布局与 上面说明的图12的显示区1155的布局相同。
[0327] 第二阶段2215图解说明设备2200的用户通过选择显示区222δ的某一区域,发起 曝光调整操作。在这个例子中,通过把手指2235放在显示区2225内的任何地方实现选择。 在一些实施例中,用户从可能的图像设置调整的菜单中选择曝光调整。
[0328] 第三阶段2220显示在完成曝光调整操作之后,所述男士的图像2240。如图所示, 图像 2240类似于图像223〇,不过图像2240中的男士被恰当曝光。在一些实施例中,恰当曝 光的图像是在不恰当曝光的图像之后拍摄的图像。在第二阶段2215中发起的曝光调整操 作调整由设备2200的照相机拍摄的后续图像的曝光。
[0329] 返回图21,处理2100随后对图像执行(在2115)焦距调整。一些实施例通过显示 在双照相机移动设备上的用户界面,进行焦距调整。图23概念地图解说明这种焦距调整操 作的例子。
[0330] 图23参考设备2300的UI 2305的三个不同阶段2310、2315和2320,图解说明焦 距调整操作。第一阶段2310图解说明包括显示区2325和显示区1155的UI 2305。显示区 23?呈现由设备2300的照相机拍摄的男士的模糊图像2330。这种模糊说明该男士的图像 2330未对准焦点。即,当照相机拍摄该男士的图像2330时,照相机的透镜未被聚焦于该男 士。另外,图像2330可以是由设备2300的照相机拍摄的视频图像。如图所示,显示区1155 包括用于结束视频会议的可选UI项目2350。在一些实施例中,显示区1155的布局和上面 说明的图12的显示区1155的显示区1155的布局相同。
[0331] 第二阶段2315图解说明设备2300的用户通过选择显示区2325的一个区域,发起 焦距调整操作。在这个例子中,通过把手指2335放在显示区2225内的任何地方实现选择。 在一些实施例中,用户从可能的图像设置调整的菜单中选择焦距调整。
[0332] 第三阶段2320显示在完成焦距调整操作之后,所述男士的图像2340。如图所示, 图像2340和图像2330相同,不过图像2340中的男士显得更清晰。这说明照相机的透镜被 恰当地聚集于该男士。在一些实施例中,恰当聚焦的图像是在不恰当焦距的图像之后拍摄 的图像。在第二阶段2315中发起的焦距调整操作调整由设备2300的照相机拍摄的后续图 像的焦距。
[0333] 返回图21,处理2100对图像进行(在2120)图像缩放。一些实施例对图像进行图 像缩放,以减少用于对图像编码的比特数(即,降低比特率)。在一些实施例中,处理2100 进行图像缩放,如下面参考图26所述。
[0334] 处理2100随后对图像进行(在2125)透视校正。在一些实施例中,处理2100进 行透视校正,如下在图24中所述。这样的透视校正涉及利用由识别双照相机移动设备的定 向和移动的一个或多个加速计和/或陀螺仪传感器获得的数据。所述数据随后被用于修改 图像,以校正不正确的透视。
[0335] 在对图像进行透视校正之后,处理2100调整(在2130)图像的动态范围。在一些 实施例中,图像的动态范围是图像中的每个像素能够具有可能值的范围。例如,具有0-255 的动态范围的图像可被调整到0-128的范围,或者任何其它数值范围。调整图像的动态范 围可减少将用于对图像编码的比特的数量(即,降低比特率),从而使图像平滑。
[0336] 调整图像的动态范围还可用于各种其它目的。一个目的是减少图像噪声(例如, 图像是由有噪声的照相机传感器拍摄的)。为了减少噪声,可以调整图像的动态范围,使得 暗电平被重新定义,以包括浅黑(即,粉碎的黑色(crush black))。以此方式,图像的噪声 被减少。动态范围调整的另一个目的是调整一种或多种颜色或者颜色范围,以便增强图像。 例如,一些实施例可假定正面照相机拍摄的图像是人脸的图像。因此,可以调整该图像的动 态范围,以增强红色和粉红色,使人的面颊显得红润/更红润。动态范围调整操作还可用于 其它目的。
[0337] 最后,处理2100确定(在2135)用于对图像编码的一个或多个速率控制器参数。 在一些实施例中,这样的速率控制器参数可包括量化参数和帧类型(例如,预测帧、双向 帧、帧内编码帧)。该处理随后结束。
[0338] 尽管处理21〇〇的各个操作被图解表示成按照特定的顺序执行,不过,普通技术人 员会认识到这些操作中的许多操作(曝光调整、焦距调整、透视校正等)可按照任意顺序执 行,并且彼此无关。即,一些实施例的处理可在曝光调整之前进行焦距调整,或者可对图21 中图解说明的处理进行类似的修改。
[0339] 1.透视校正
[0340]如上所述,一些实施例在显示或传送图像之前,对图像进行透视校正。在一些情况 下,双照相机移动设备上的一部或多部照相机不会完全面向其被摄物体,并且在未校正的 图像中,被摄物体会显得失真。可以使用透视校正来处理图像,使得图像将忠实地反映图像 中的被摄对象在人看来的样子。
[0341]图24概述地图解说明由一些实施例的图像处理管理器,比如图16中图解说明的 图像处理管理器执行的透视校正处理2400。一些实施例的处理2400由图9中所示的图像 处理层930 (它可包含图像处理管理器16〇8)执行。一些实施例在处理2100的操作2125 执行处理2400,以便在显示或传送最近拍摄的视频图像之前,校正所述图像的透视。
[0342]处理2400从自加速计传感器接收(在M05)数据开始,在一些实施例中,所述加 速计传感器是双照相机移动设备的一部分。一些实施例的加速计传感器测量沿着一个或 多个轴的设备的速度的变化率(即,设备的加速度)。该处理还从陀螺仪传感器接收(在 2410)数据,在一些实施例中,所述陀螺仪传感器也可以是双照相机移动设备的一部分。一 些实施例的陀螺仪和加速计传感器可被单独地或者组合地用于识别双照相机移动设备的 定向。
[0343] 随后,处理2400根据从加速计和陀螺仪传感器获得的数据,确定(在2415)要进 行的透视校正量。通常,当所述定向离轴更远时,为了产生最佳的图像,需要更多的透视校 正。~'些实施例根据设备的定向,计算代表透视校正量的扭曲参数(warp parameter)。
[0344] 在确定要进行的透视校正量之后,处理MOO接收(在2420)由双照相机移动设备 的照相机拍摄的图像。可对由该照相机拍摄的视频序列中的每个图像进行所述处理。一些 实施例可对分别来自双照相机移动设备上的两部照相机的每个图像进行单独的计算。
[0345] 所述处理随后根据确定的透视校正量,修改(在2425)图像。除了扭曲参数或者 透视校正量的其它表示之外,一些实施例还使用基线图像或者其它信息(例如,用户输入 的应关于其进行校正的点)。在修改图像之后,处理2400结束。
[0346] 图25概念地图解说明一些实施例的示例图像处理操作。图25图解说明由不使用 透视校正的第一图像处理模块 2520执行的第一图像处理操作2505,和由使用透视校正的 第二图像处理模块2565执行的第二图像处理操作2550。
[0347] 如图所示,对由成一定角度向下观看块体的空间透视产生的块体2515的第一图 像2δ10进行第一图像处理操作2 5〇5。与块体2515的底部相比,块体的顶部离所述透视更 近。因而,块体2515显得朝着拍摄第一图像2510的照相机倾斜。图25还表示了在由第一 图像处理模块 252〇处理之后的处理后的第一图像2525。如图所示,处理后的第一图像2525 中的块体2515出现相同的后处理,因为第一图像处理模块2520未进行任何透视校正。
[0348] 对块体256〇的第二图像2555进行第二图像处理操作2550。块体2560和第一图 像 2510中的块体2515相同。图25还表示在由第二图像处理模块2565的透视校正器2570 进行第二图像2555的处理之后的处理后的第二图像2575。透视校正器 257〇可使用处理 2400,以便校正第二图像2555的透视。根据来自加速计和陀螺仪的指出拍摄第二图像2555 的照相机成向下的角度倾斜的数据(可能还根据其它数据),透视校正器 2575能够校正第 二图像,使得在处理后的第二图像2575中,块体看来好像是笔直地观看的。
[0349] 2.缩放和比特流处理
[0350] 图像缩放和比特流处理属于在上面参考图21说明的由一些实施例的图像处理层 930执行的功能之列。图像缩放(在操作2130进行)涉及在一些实施例中比例放大或比例 缩小图像(即,修改用于表示该图像的像素的数目)。在一些实施例中,比特流处理涉及把 指示缩放后图像的大小的数据插入比特流中。在一些实施例中,这种缩放和比特流处理由 编码器驱动器(例如,驱动器1635)执行。
[0351] 图26概念地图解说明一些实施例的这种编码器驱动器26〇〇的软件体系结构,并 且显示由编码器驱动器 26〇〇对示例图像2605进行的示例缩放和比特流处理操作。在一些 实施例中,图像2605是由双照相机移动设备的照相机拍摄的、用于传送给视频会议中的另 一个设备的视频的图像。参见图16,在一些实施例中,视频图像已通过CIPU驱动器1630和 照相机源模块1622从CIPU 1650传播到缓冲器16〇6,图像处理管理器1608从缓冲器1606 取回所述视频图像。在图像处理管理器1608中经过图像处理(例如,焦距调整、曝光调整、 透视校正)之后,图像通过缓冲器比10和视频压缩模块1624被发送给编码器驱动器1635。 [0 352] 如图所示,编码器驱动器26〇0包括处理层 261〇和速率控制器2645。在下面说明 的图30中图解说明了一些实施例的速率控制器的例子。处理层2610包括图像缩放器2615 和比特流管理器2625。在一些实施例中,这些模块在图像被编码之前和之后对图像进行各 种操作。尽管在本例中,图像缩放器被表示成编码器驱动器2600的处理层2610的一部分, 不过一些实施例把图像缩放器实现成图像处理管理器1608而不是编码器驱动器2600的一 部分(即,在把图像和大小数据发送给编码器驱动器之前进行图像缩放)。
[0353] 如图所示,在图像通过速率控制器2M5被发送给编码器2650之前,图像缩放器 261 5缩放图像。图像26〇5通过缩放器26丨5被发送并被比例缩小成图像2630。除了比例 缩小图像之外,一些实施例还能够比例放大图像。
[0354] 如图26中所示,一些实施例比例缩小输入的图像(例如,图像2605),随后把比例 缩小的图像(例如,2630)重叠在空间冗余图像(例如,图像2635)上,所述空间冗余图像的 大小(就像素来说)与输入图像相同(即,图像2605的像素的行数和列数与空间冗余图像 2635的像素的行数和列数相同)。一些实施例把比例缩小的图像2630重叠在空间冗余图 像的左上角(如图所示,以产生合成图像2640),而其它实施例把比例缩小的图像重叠到空 间冗余图像的不同部分(例如,中央、左上角、正上方、正下方、右下方等等)。
[0355] 在一些实施例中,空间冗余图像是基本上全部为一种颜色(例如,黑色、蓝色、红 色、白色等),或者具有重复图案(例如,方格、条纹等)的图像。例如,图26中所示的空间 冗余图像2635具有重复的十字形图案。由于重复性的缘故,合成图像2640的空间冗余部 分能够容易地被编码器压缩成少量的数据。此外,如果一系列的图像都被比例缩小,并且对 序列中的每个图像来说,使用的空间冗余图像都相同,那么时间压缩可被用于进一步减少 为呈现编码图像所需要的数据的量。
[0356] 图像缩放器2615的一些实施例还产生指示缩放后的图像的大小(例如,比例缩 放的图像2630的大小)的大小数据2620,并把产生的大小数据 2620发送给比特流管理器 2625。一些实施例的大小数据262〇按照缩放后的图像 263〇的像素的行数和像素的列数 (即,高度和宽度),指示缩放后的图像263〇的大小。在一些实施例中,大小数据 2620还指 示缩放后的图像2630在合成图像2640中的位置。
[0357] 在图像被缩放之后,合成图像2M0通过速率控制器264δ被发送给编码器 265〇。 在一些实施例中,如下进一步详细所述,速率控制器2645控制由编码器2650输出的图像的 比特率(即,数据大小)。一些实施例的编码器 2650压缩和编码图像。编码器2650可以使 用H. 264编码或者另一种编码方法。
[0358] 一些实施例的比特流管理器2625从编码器2650接收一个或多个编码图像的比特 流,并把大小数据插入比特流中。例如,在一些实施例中,比特流管理器 2625从图像缩放器 2615接收大小数据2620,并把大小数据262〇插入从编码器26δ0接收的编码合成图像 2640 的比特流2655中。这种情况下,比特流管理器2625的输出是包括大小数据2620的修改后 的比特流2660。不同的实施例把大小数据 262〇插入比特流2655中的不同位置。例如,比 特流2660显示大小数据2620被插入在比特流2660的开始。不过,其它实施例把大小数据 2620插入在比特流2655的结尾、插入在比特流2阳5的中间、或者插入在比特流2655内的 任何其它位置。
[0359] 在一些实施例中,比特流2655是包括合成图像2M0的一系列的一个或多个编码 图像的比特流。在一些这样的实施例中,该系列中的图像都被缩放到相同的大小,并且大小 数据2620指示这些缩放后的图像的大小。在图像被传送给在视频会议另一端的设备之后, 接收设备能够从比特流中提取大小信息,并利用所述大小信息正确地解码接收的图像。 [0360]图27概念地图解说明由双照相机移动设备的编码器驱动器,比如驱动器2600执 行的图像缩放处理2700。处理2700从接收(在2705)由双照相机移动设备的照相机拍摄 的图像(例如,图像 26〇5)开始。当双照相机设备用两部照相机拍摄图像时,一些实施例对 来自两部照相机的图像执行处理2700。
[0361] 随后,处理2700缩放(在2710)接收的图像。如上所述,不同的实施例不同地缩 放图像 2605。例如,图26中的图像26〇5被比例缩小并被重叠在空间冗余图像2635上,从 而产生合成图像2640。
[0362] 处理2700随后把缩放后的图像(例如,包括缩放后的图像2630的合成图像2640) 发送给(在2715)编码器2 65〇,以便编码。处理2700的一些实施例把缩放后的图像2630(包 括在合成图像2640中)通过确定编码器编码图像的比特率的速率控制器发送给编码器 26 5〇。一些实施例的编码器2650压缩和编码图像(例如,利用离散余弦变换、量化、熵编码 等等),并把带有编码图像的比特流返回给编码器驱动器2600。
[0363] 随后,处理2700把指示缩放后的图像的大小的数据(例如,大小数据2620)发送 给(在2720)比特流管理器。如图26中所示,在一些实施例中,该操作是在编码器驱动 器2600中进行的(即,编码器驱动器2600中的一个模块把大小数据发送给编码器驱动器 2600中的另一个模块)。
[0364] 在缩放后的图像被编码器2650编码之后,处理2700从编码器接收(在2725)比 特流。如图所示,一些实施例在另外已接收大小数据的比特流管理器接收所述比特流。接 收的比特流包括编码的合成图像,还可包括视频序列中的一个或多个另外的图像。
[0365] 处理2700随后把指示缩放后的图像的大小的数据(例如,大小数据2620)插入比 特流中,随后结束。如图26中所示,在一些实施例中,该操作也是由比特流管理器执行的。 如上所述,不同的实施例把大小数据插入比特流的不同部分。在图解说明的例子中,大小数 据2620被插入在比特流2655的开始处,如所得到的比特流2660中所示。现在,该比特流 可被传送给参与视频会议的另一个设备,在所述另一个设备,该比特流能够被解码和观看。
[0366] 在一些实施例中,解码器驱动器(例如,驱动器1640)执行编码器驱动器的相反功 能。即,解码器驱动器从接收的比特流提取大小数据,把比特流传送给解码器,并利用大小 数据缩放解码的图像。图28概念地图解说明一些实施例的这种解码器驱动器2800的软件 体系结构,并且表示由解码器驱动器2800对示例的比特流2825进行的示例比特流处理和 缩放操作。
[0367] 在一些实施例中,比特流2825是包括由视频会议中的一个设备的照相机拍摄的 视频的编码图像的比特流(例如,来自诸如驱动器2600之类的编码器驱动器的比特流),并 被传送给解码器驱动器2800所运行于的设备。参见图16,在一些实施例中,该比特流已被 连网管理器1614接收,并被发送给缓冲器1616,所述比特流从缓冲器ieie被视频解压缩模 块1626取回,并被发送给解码器驱动器1640。
[0368] 如图所示,解码器驱动器2800包括处理层2805。处理层2805包括图像缩放器 2810和比特流管理器2820。在一些实施例中,这些模块281〇和2820在图像被解码之前和 之后,对接收的图像进行各种操作。尽管在本例中,图像缩放器 281〇被表示成解码器驱动 器2800的处理层2805的一部分,不过,一些实施例把图像缩放器实现成图像处理管理器 1608,而不是解码器驱动器的一部分(即,在从解码器驱动器2800发送图像之后,进行图像 缩放)。
[0369] 如图所示,一些实施例的比特流管理器282〇接收一个或多个编码图像(即,视 频序列中的图像)的比特流,并从该比特流中提取大小数据,之后把比特流发送给解码器 2835进行解码。例如,如图28中所示,比特流管理器 282〇接收一个编码图像的比特流 2825,从比特流2825提取大小数据2815,并把得到的比特流2830 (没有大小数据2815)发 送给解码器2835进行解码。如图所示,在一些实施例中,比特流管理器2820把提取的大小 数据2815发送给图像缩放器2810。
[0370] 一些实施例的大小数据2815和由编码器驱动器2600插入比特流中的大小数据 2620相同。如上在图26的说明中所述,一些实施例的大小数据 281δ按照子图像2845的像 素的行数和像素的列数,指示子图像2845的大小。大小数据2815还可指示子图像2845在 更大的空间冗余图像2840内的位置。在这个例子中,比特流2825显示插入在比特流2825 的开始处的大小数据2815。不过,如上所述,不同的实施例把大小数据2815插入比特流 2825的不同位置。
[0371] 一些实施例的图像缩放器2810利用从比特流管理器2820接收的大小数据,从图 像中提取子图像。例如,图28图解说明图像缩放器2810从解码器2835接收包括子图像 2845的图像2840。如图所示,一些实施例的图像缩放器2810从图像2840提取子图像2845。 提取的图像随后可被显示在双照相机移动设备上。
[0372] 图29概念地图解说明一些实施例的由参与视频会议的设备的解码器驱动器,比 如驱动器2800执行的图像提取处理2900。通过接收(在2905)编码图像的比特流(例如, 比特流2825),开始该处理。所述比特流可以发送自与解码器驱动器所运行于的设备进行视 频会议的另一个设备,或者可被保存在所述设备的存储器中。当所述设备从多个来源接收 图像时,一些实施例对来自每个来源的图像进行处理2900。
[0373] 随后,处理2900从比特流提取(在2910)大小数据。如上所述,可在比特流中的 不同位置找到所述大小数据。一些实施例知道在何处寻找所述大小数据,而其它实施例寻 找特定的标记,所述标记指出所述大小数据位于接收的比特流中的何处。在一些实施例中, 大小数据指出子图像的大小(例如,每一行中的像素数和每一列中的像素数)和子图像在 编码图像中的位置。
[0374] 处理2900随后把提取的大小数据发送给(在2915)图像缩放器。如图28中所 示,在一些实施例中,该操作是在解码器驱动器内进行的(即,解码器驱动器中的一个模块 把大小数据发送给解码器驱动器中的另一个模块)。
[0375] 处理2900还把比特流发送给(在2920)解码器,以便解码。在一些实施例中,解 码器解压缩和解码比特流(例如,利用反向离散余弦变换、反向量化等),并把重构的图像 返回给解码器驱动器。
[0376] 在比特流被解码器解码之后,处理2900从解码器接收(在292δ)解码图像。如图 所示,一些实施例在还已从比特流管理器接收大小数据的图像缩放器接收解码图像。处理 随后利用接收的大小数据,从解码图像提取(在2930)子图像。如图所示,如大小数据2815 中所示那样,从解码图像2840的左上角提取子图像2845。现在,提取的子图像可被显示在 显示设备(例如,双照相机移动设备的屏幕)上。
[0377] 3.速率控制器
[0378] 在一些实施例中,设备的两部照相机具有不同的多组特性。例如,在一些实施例 中,正面照相机是为运动视频图像的拍摄而优化的较低分辨率照相机,而背面照相机是为 静止图像的拍摄而优化的较高分辨率照相机。由于诸如设备的成本、功能和/或几何形状 之类的各种原因,其它实施例可以使用不同特性的照相机的不同组合。
[0379] 具有不同特性的照相机能够引入不同的伪像。例如,与较低分辨率照相机相比,较 高分辨率照相机会显示更多的噪声。与由较低分辨率照相机拍摄的图像相比,由较高分辨 率照相机拍摄的图像会表现出更高水平的空间或时间复杂性。另外,具有不同光学性质的 不同照相机会在拍摄的图像中引入不同的Y值。由不同的照相机用于拍摄图像的不同感 光机构也会引入不同的伪像。
[0380] 这些照相机特有的伪像中的一些隐藏由其它来源产生的伪像。例如,在由具有高 水平噪声的高分辨率照相机拍摄的图像中,作为视频编码处理的副产物的伪像变得不太可 见。当编码噪声(比如量化失真)隐藏在照相机特有的伪像之后时,视频编码处理可使用 更大的量化步长来获得较小的比特率。另一方面,当照相机引入较少的伪像时(比如就较 低分辨率照相机来说),视频编码处理能够利用更细小的量化步长,以便避免由量化引起的 不可接受的视觉失真水平。从而,与忽视这些照相机特有的特性的视频编码处理相比,优化 成利用或者补偿这些照相机特有的特性的视频编码处理能够获得更好的速率-失真折衷。
[0381] 为了把这些照相机特有的特性用于实现速率-失真折衷,一些实施例实现分别相 对于两部照相机的每个照相机优化的两种视频编码处理。图30图解说明具有关于两部照 相机3060和3070的两个视频编码处理的系统的例子。如图30中所示,系统3000包括编 码器驱动器3010、速率控制器3020和3040、和视频编码器3030。编码器3030把从视频照 相机3060和3070拍摄的视频图像编码成比特流3080和3090。
[0382] 在一些实施例中,视频编码器驱动器3010是一个或多个处理单元上运行的软件 模块。它提供视频编码器303和系统的其它组件,比如视频照相机、图像处理模块、网络管 理模块和存储缓冲器之间的接口。编码器驱动器3010控制拍摄的视频图像从照相机和图 像处理模块到视频编码器3〇 3〇的流动,它还提供编码比特流3080和3090到存储缓冲器和 网络管理模块的管道。
[0383] 如图30中所示,编码器驱动器3010包括速率控制器的两个不同实例3020和 3040。这些多个实例可以是用于两部不同照相机的两个不同的速率控制器,或者是关于两 部不同的照相机,按照两种不同的方式配置的一个速率控制器。具体地说,在一些实施例 中,这两个速率控制器3〇 2〇和3〇40代表两个单独的速率控制器。另一方面,在其它实施例 中,这两个速率控制器3020和 3〇40是单个速率控制器的两种不同配置。
[0384]图30还显示包括状态缓冲器3015的编码器驱动器3010,状态缓冲器3015保存 在视频会议期间使用的速率控制操作的编码状态信息。具体地说,在一些实施例中,这两个 不同的速率控制器,或者相同速率控制器的两种不同配置在视频会议期间,共享保存在状 态缓冲器3015中的相同的编码状态信息。状态信息的这种共享允许双视频拍摄视频会议 中的统一的速率控制器操作。这种共享还允许单视频拍摄视频会议中,切换照相机操作期 间的最佳视频编码(即,允许关于当前照相机所摄视频的编码的速率控制操作使用由关于 前一照相机所摄视频的编码的速率控制操作保持的编码状态信息)。图 3〇把状态缓冲器 3015表示成编码器驱动器3010的一部分,不过其它实施例可在编码器驱动器3〇1〇之外实 现状态缓冲器3015。
[0385] 在状态缓冲器3015中,不同的实施例保存代表编码状态信息的不同类型的数据 (例如,不同类型的编码参数)。这种编码状态信息的一个例子是视频会议的当前目标比特 率。上面在III. B节中说明了识别目标比特率的一种方式。这种编码状态信息的其它例子 包括缓冲器充满度、最大缓冲器充满度、一个或多个最近编码的帧的比特率、以及其它编码 状态信息。
[0386] 速率控制器随后能够使用目标比特率(或者保存在状态缓冲器中的另一个编码 状态参数)来计算在其速率控制操作中使用的一个或多个参数。例如,如下进一步所述,一 些实施例的速率控制器使用当前的目标比特率来计算宏块或帧的量化参数QP。例如,一些 实施例利用当前的目标比特率来计算量化调整参数,这些实施例从量化调整参数得到宏块 和/或帧的量化参数QP。因此,在视频会议中的照相机切换操作期间,在(两个速率控制 器,或者一个速率控制器的两种不同配置的)两种速率控制操作之间共享目标比特率允许 对当前照相机拍摄的视频编码的速率控制操作受益于对前一照相机拍摄的视频编码的在 先速率控制操作的编码状态数据。
[0387] 图30图解说明包括两个不同的速率控制器实例3020和3040的编码器驱动器 3010。不过,在其它实施例中,这些速率控制器实例3020和3040被内置到视频编码器3030 中。视频编码器3030把由照相机3060和3070拍摄的视频图像编码成数字比特流3〇 8〇和 3090。在一些实施例中,视频编码器产生符合常规的视频编码标准(例如,H· 264MPEG-4)的 比特流。在一些这样的实施例中,视频编码器执行包括运动估计、离散余弦变换("DCT")、 量化和熵编码的编码操作。视频编码器还进行与编码操作的功能相反的解码操作。
[0388] 在一些实施例中,编码器3030包括用于进行量化的量化器模块3032。量化器模 块由来自速率控制器3020或3040的量化参数 3〇22或3042控制。在一些实施例中,每个 量化参数由对应的速率控制器设定,并且是与该速率控制器相关的照相机的一种或多种属 性的函数,如下进一步所述。速率控制器能够通过设定更大的量化步长减少用于编码的比 特数,或者通过设定更小的量化步长增大所使用的比特数。通过控制量化步长,速率控制器 还确定在编码的视频图像中会引入多少失真。从而,速率控制器能够实现比特率和图像质 量之间的折衷。在实现速率-失真折衷时,速率控制器监控比特率,以便不会上溢存储缓冲 器、下溢存储缓冲器、或者超过传输通道容量。速率控制器还必须控制比特率,以便提供最 佳的可能图像质量和避免由量化引起的不可接受的图像质量失真。在一些实施例中,每个 速率控制器把按照一组状态数据值表示的监控数据保存在状态缓冲器 3〇15中。在一些实 施例中,速率控制器3020和3040使用照相机特有的属性来优化速率-失真折衷。
[0389] 在一些实施例中,每个速率控制器通过直接对其量化参数应用修正系数,优化速 率-失真折衷。在一些这样的实施例中,修正系数是预先确定的并和照相机一起被内置在 设备中;设备不需要动态计算这些修正系数。在其它实施例中,系统利用由照相机拍摄的输 入图像,动态确定特定于照相机的适当修正系数。在一些这样的实施例中,系统在多次编码 中,分析由照相机拍摄的一系列的输入视频图像,以收集关于照相机的某些统计数据。系统 随后利用这些统计数据得到关于该照相机优化的量化参数的修正系数。
[0390] 在一些实施例中,这些照相机特有的修正系数经由视频图像的视觉掩蔽属性,被 应用于量化参数。图像或一部分图像的视觉掩蔽属性是在所述图像或图像部分中能够容忍 多少编码伪像的指示。一些实施例计算量化所述图像或图像部分的亮度能量的视觉掩蔽属 性,而其它实施例计算量化所述图像或图像部分的活化能或复杂性的视觉掩蔽属性。与如 何计算视觉掩蔽属性无关,一些实施例利用视觉掩蔽属性来计算一个视频帧的修正或掩蔽 量化参数。一些这样的实施例把掩蔽量化参数计算为帧级视觉掩蔽属性ff ram?和基准视觉 掩蔽属性<PR的函数。在一些实施例中,用视频掩蔽属性tpframe和#R修正的量化参数被表 不成:

【权利要求】
1. 一种操作第一移动设备的方法,所述方法包括: 在通过无线通信网络与第二设备的音频通话期间,呈现用于从音频通话切换到视频会 议的第一可选用户界面π项目; 在接收到对第一可选Π 项目的选择之后: 显示由第一移动设备的第一照相机拍摄的第一视频,和 呈现用于在第一移动设备的第一照相机和第二照相机之间切换的第二可选Π 项目; 在发起视频会议之前,接收对第二可选Π 项目的选择,以利用由第二照相机拍摄的第 二视频代替由第一照相机拍摄的视频;以及 通过与由第二照相机拍摄的视频同时显示由第二设备拍摄的第三视频来发起视频会 议。
2. 按照权利要求1所述的方法,其中呈现第二可选Π 项目包括在视频会议发起期间和 在视频会议已经发起之后呈现第二可选Π 项目。
3. 按照权利要求2所述的方法,其中呈现第二可选Π 项目包括在预定的时间量之后停 止呈现第二可选Π 项目。
4. 按照权利要求1所述的方法,还包括一旦第一可选Π 项目被选择就向第二设备发送 视频会议请求。
5. 按照权利要求4所述的方法,其中,发起视频会议包括在同时显示第二视频和第三 视频之前,接收对来自第二设备的视频会议请求的接受。
6. 按照权利要求5所述的方法,其中,同时显示所述视频包括将第二视频显示为与第 三视频的至少一部分重叠的插入视频。
7. 按照权利要求1所述的方法,其中,第一移动设备的第一照相机是正面的照相机,而 第一移动设备的第二照相机是背面的照相机。
8. -种第一设备,包括: 第一照相机和第二照相机; 用于呈现用于发起与第二设备的视频会议的第一可选用户界面Π 项目; 用于在接收到对第一可选Π 项目的选择之后: 显示由第一设备的第一照相机拍摄的第一视频,并且 呈现用于在第一设备的第一照相机和第二照相机之间切换的第二可选UI项目的装 置; 用于在发起视频会议之前,接收对第二可选Π 项目的选择,以利用由第二照相机拍摄 的第二视频代替由第一照相机拍摄的视频的装置;以及 用于通过与由第二照相机拍摄的视频同时显示由第二设备拍摄的第三视频来发起与 第二设备的视频会议的装置。
9. 按照权利要求8所述的第一设备,其中用于呈现第二可选Π 项目的装置包括用于在 视频会议发起期间和在视频会议已经发起之后呈现第二可选Π 项目的装置。
10. 按照权利要求9所述的第一设备,其中用于呈现第二可选Π 项目的装置包括用于 在预定的时间量之后停止呈现第二可选Π 项目的装置。
11. 按照权利要求8所述的第一设备,还包括用于一旦第一可选Π 项目被选择就向第 二设备发送视频会议请求的装置。
12. 按照权利要求11所述的第一设备,其中,用于发起视频会议的装置包括用于在同 时显示第二视频和第三视频之前,接收对来自第二设备的视频会议请求的接受的装置。
13. 按照权利要求12所述的第一设备,其中,用于同时显示第二视频和第三视频的装 置包括用于将第二视频显示为与第三视频的至少一部分重叠的插入视频的装置。
14. 按照权利要求8所述的第一设备,其中,第一设备的第一照相机是正面的照相机, 而第一设备的第二照相机是背面的照相机。
15. -种用于第一设备进行与第二设备的视频会议的方法,所述方法包括: 呈现用于发起与第二设备的第一可选用户界面Π 项目; 在接收到对所述第一可选Π 项目的选择之后: 显示由第一设备的第一照相机拍摄的第一视频,和 呈现用于在第一设备的第一照相机和第二照相机之间切换的第二可选Π 项目; 在发起视频会议之前,接收对第二可选Π 项目的选择,以利用由第二照相机拍摄的第 二视频代替由第一照相机拍摄的视频;以及 通过与由第二照相机拍摄的视频同时显示由第二设备拍摄的第三视频来发起视频会 议。
16. 按照权利要求15所述的方法,还包括一旦第一可选Π 项目被选择就向第二设备发 送视频会议请求。
17. 按照权利要求16所述的方法,其中,发起视频会议包括在同时显示第二视频和第 三视频之前,接收对来自第二设备的视频会议请求的接受。
18. 按照权利要求17所述的方法,其中,同时显示所述视频包括将第二视频显示为与 第三视频的至少一部分重叠的插入视频。
19. 按照权利要求15所述的方法,其中,第一设备的第一照相机是正面的照相机,而第 一设备的第二照相机是背面的照相机。
20. 按照权利要求15所述的方法,其中,第一设备和第二设备是智能电话。
【文档编号】H04N7/15GK104270597SQ201410575145
【公开日】2015年1月7日 申请日期:2010年9月25日 优先权日:2010年4月7日
【发明者】E·C·克兰菲尔, S·O·勒梅, J·S·阿布安, 吴锡荣, 周小松, 小R·加西亚 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1