在360度全景图像中进行头部大小均衡的系统和方法的用户界面的制作方法

文档序号:6567045阅读:281来源:国知局
专利名称:在360度全景图像中进行头部大小均衡的系统和方法的用户界面的制作方法
技术领域
本发明一般涉及使用计算机观看图像,尤其涉及对由全向相机拍摄的全景图像进行实时校正以缓解与这类图像相关联的畸变和感知问题的系统和方法的用户界面。

背景技术
通常具有大于60度的视场的广角相机常常被用于拍摄大型场景。由广角相机拍摄的广角图像可使用至少两种类型的投影来观看。线性透视和圆柱投影是用来观看广角图像的最典型的投影。
线性透视投影是将由广角镜头拍摄的图像投影在平面胶片上。线性透视投影以牺牲维持形状为代价保持直线笔直。这导致了透视畸变。如果图像观看者将其眼睛放在投影中心,则图像将显得是正确而不是畸变的。然而,当在较小的视场下观看该广角图像时,观看者期望在物体旋转时图像平面上的图像大小增加较小并且畸变量较小。这就是为何物体在边缘处显得被拉伸的原因。图像平面上比预期的大小变化和畸变越是大,就越会使得用户感觉场景不固定,就像场景在观察者周围游动一样,在观看全景图像时尤为如此。
圆柱投影是使用具有曲面胶片和旋转开缝镜头产生了。圆柱投影比线性投影能够更好地保持形状。另外,圆柱投影缓解了任何明显的游动运动。虽然圆柱投影是优于线性投影的一种观看改善,但是畸变和感知问题仍然存在。尤其,圆柱投影过度地弯曲了直线。另外,圆柱投影几乎完全消除了在观看全景图像时转动头部的幻影。
广角图像中的畸变和弯曲问题是由视场失配所引起的。具体而言,由于计算机监视上有限的观看大小和标准的观看距离,观看时图像所对向的角度比原始将该场景投射到图像屏幕平面的相机的视场小的多。这种失配是导致许多畸变和感知问题的原因。
由于在观看时以较小的视场观看广角图像引起的相关问题是深度的错误感知。广角图像夸大了远近物体之间的深度差异。场景中物体深度的一个重要视觉线索是位于近处和远处位置的相似物体的图像大小之间的比率(称为深度透视缩小率)。较小的视场导致较小的透视缩小率。例如,假定一场景包含彼此靠近站立的两个人,其中一个人比另外一个人离相机稍远。如果该场景被用常规(约60度)视场相机拍摄,并且相同场景又由广角视场相机拍摄,则场景中物体的大小将显得不同。具体而言,使用常规视场相机,离相机较远的那个人将显得比另一个人离相机稍远。然而,使用广角视场相机,离相机较远的那个人将显得比另一个人小得多。由于这种被夸大的大小差异,离相机较远的那个人显得比实际要远得多。当在计算机监视器上观看深度场景的广角图像(诸如视频会议场景)时,观看者的视场一般而言会比实际图像的视场小得多。因此,观看者所感知的深度比实际深度要大得多。
显露这些畸变和感知问题的一个应用是在视频会议系统中。广角相机常在视频会议系统中用于拍摄和发送包含有会议室中出席的所有与会人员的图像。然而,一个问题是在观看该视频会议时广角图像夸大了该会议室的深度。这使得图像中间的人(通常是离相机最远的人)由于极度的透视缩小而与会议室中的其他人相比显得非常小。
通常伴随广角相机图像的这些畸变和感知问题在观看覆盖360度视场的全景图像时甚至更加明显。全景图像可以通过对准和“缝合”从单个相机获得的输入图像来生成。或者,全景图像可以通过使用多个相机获取输入图像并将它们缝合在一起来创建。例如,使用多个相机生成全景视频就是这样的情形。本质上,创建全景视频必然要求获取描绘周围场景的360度景观的多个视频。由以背靠背方式布置的多个相机组成的相机机组有时被用来拍摄这些视频。通常使用将输入图像中的像素位置映射到全景图像中的像素位置的缝合表以将这些图像在全景中缝合在一起。360度全向相机已被用于会议记录和视频会议。相机通常被放在周围坐有与会人员的桌子中央。如果该会议桌是矩形,则该全景图像上的人头部的大小将根据他们离相机的距离而变化。例如坐在桌子远端的人将比坐得离相机较近的人显得小的多。全景图像中的这种头部大小变化看起来不悦目并且经常难以辨认位于桌子远端的人或辨认他们的表情。
伴随着采用全景图像的视频会议的另一问题是某些全向相机生成3700×600像素的全景图像,然而大多数用户仅有只能显示1024×166像素的全景的1024×768像素显示器。在分辨率降低这么大的情况下,位于桌子远端的人在没有进行头部大小归一化时是看不到的。
相应地,需要一种对全景相机拍摄的图像进行实时校正以缓解与这些图像相关联的畸变和感知问题的系统和方法。该系统和方法应该将全景图像中的头部大小归一化并允许用标准分辨率监视器来观看图像中的人物。另外,该系统和方法应该易于建立和操作并且应该是计算上高效率的。
发明概要 本发明提供了对约360度全景图像中的畸变和感知缺陷提供实时校正的系统和方法的用户界面。该实时全景图像校正系统和方法采用参数翘曲函数即空间变化一致(SVU)缩放函数来翘曲全景图像以在不引入不连续性的同时均衡人头部的大小。SVU函数之前在于2002年6月28日提交的题为“Real-Time Wide-Angle ImageCorrection System And Method For Computer Image Viewing(用于计算机图像观看的实时广角图像校正系统和方法)”的专利申请S/N10/186,915中说明过。然而,该先前专利申请仅是针对至多达180度的图像使用该技术。在本发明中,该SVU缩放函数被应用到360度全景图像,同时考虑了诸如会议桌几何形状以及与与会人员头部相切的平面等水平特征。在上述专利申请中,SVU缩放函数被用在通常由放在会议室桌子的一端的广角相机生成的至多达180度的图像。与此形成对比,现在通常将360度全向相机通常放在桌子的中央。因此,用于计算广角图像和约360度全景图像的SVU缩放函数的上下曲线是不同的。
该实时全景图像校正系统和方法提供了头部大小归一化,从而使得诸如头部等较远物体显得较近因此也较大。同时也使较大的近处头部显得较小。因此,位于桌子远端的人变大并且即使在1024×166像素的显示器上也能看得到。在本发明的系统和方法的一个实施例中,用户还选择会议桌形状和大小并且该实时全景图像校正系统修改全景图像缝合表以匹配该会议桌从而使得在计算缝合的同时归一化与会人员的头部大小。
实时全景图像校正系统和方法的用户界面(UI)简化了用户对该系统的使用。该UI包括允许用户输入会议桌大小和形状以及所需的归一化的量(例如,0到100%)的控制面板。还可在显示经校正的全景图像的显示器上实现发言人窗口。在该发言人窗口中,来自与会人员特别是正在发言的人的归一化头部可以从全景图像中被提取并显示在单独的窗口中。另外,由于经校正的全景图像将根据所应用的归一化的量而在大小上有所变化,所以可将经校正的全景图像显示为周界具有额外的像素以使其遵从标准大小。例如,可跨经校正的全景图像的上端和底端放置黑色条。这允许经校正或归一化的全景图像能以标准大小在网络上发送并允许该图像适配任何标准显示器大小和分辨率。
附图简要说明 本发明可参照以下说明和示出本发明的各方面的附图来进一步理解。其它特征和优点在结合通过示例说明了本发明的原理的附图考虑本发明的以下具体说明时将是显而易见的。


图1示出了由360度全景相机在会议室中拍摄的图像。
图2示出了经过本发明的实时全景图像校正系统和方法校正的图1中的图像。
图3示出了针对180度图像的SVU缩放函数的上下曲线(绿色曲线)。
图4示出了针对360度全景图像的SVU缩放函数的上下曲线(绿色曲线)。
图5A是示出了本发明的实时全景图像校正系统的一个实施例的概况的框图。
图5B是示出了本发明的采用了级联缝合和翘曲表的实时全景图像校正系统的另一实施例的概况的框图。
图6是示出了适于执行本发明的计算装置的框图。
图7是示出了图5A和5B中所示的实时全景图像校正系统的翘曲表生成模块的细节的框图。
图8A是示出了图5A中所示的实时全景图像校正系统的操作的一般性流程图。
图8B是示出了图5B中所示的实时全景图像校正系统的操作的一般性流程图。
图9是示出了图7中所示的垂直缩放模块的细节的流程图。
图10示出了根据两组曲线来确定翘曲函数。
图11是演示了桌子边缘投影到圆柱胶片上(假定采用标准相机取向)的示图。
图12是示出了图7中所示水平缩放模块的细节的流程图。
图13是示出了图7中所示的水平畸变校正模块的细节的流程图。
图14示出了垂直缩放函数以及将初步像素坐标分为三个部分的概念性示图。
图15绘出了经填充的校正后全景图像,其中额外的像素被添加到图像的周界周围从而使其与用于网络传输或显示的标准大小一致。
发明具体说明 在以下本发明的说明中,参照了构成本发明一部分并在其中通过示例示出了可以实践本发明的具体示例的附图。应该理解的是,也可利用其它实施例并且可以进行结构改变而不会背离本发明的范围。
1.0概述 图1示出了由位于会议室中桌子中央的360度全向相机拍摄的图像。该相机配置是可在视频会议应用中使用的典型相机配置。参照图1,可以看到穿白色衣服的人显得比其它两个人小得多。其原因在于他坐得离相机较远。首先,穿白色衣服的人可见度低得多并且显得离观察者较远,从而影响实时通信的体验。其次,由于网络带宽限制和有限的屏幕空间,图像大小通常受到限制。如果人的图像非常小,那么许多传输的像素就被浪费了。因此,均衡人体头部大小以最大地利用传输和显示的数目的像素是合乎需要的。图2示出了使用实时全景图像校正系统和方法校正的图1的图像。
实时全景图像校正系统和方法采用了一种均衡或归一化人头部的大小而同时不会造成图像不连续性的技术。该技术是在2002年6月28日提交的题为“Real-TimeWide-Angle Image Correction System And Method For Computer Image Viewing(用于计算机图像观看的实时广角图像校正系统和方法)”的专利申请S/N10/186,915中说明的SVU缩放函数的扩展。在该先前的专利申请中,SVU缩放函数被用在通常由放在会议室桌子一端的广角相机生成的180度图像上。与此形成对比,如以上所讨论的,现在通常将360度全景相机放在桌子的中央。因此,针对360度全景图像生成的用于计算SVU缩放函数的上下曲线与广角(例如,至多达180度)图像中所使用的不同。图3示出了用于计算针对180度图像的SVU缩放函数的上下源曲线(绿色曲线)。图4示出了用于计算针对360度图像的SVU缩放函数的上下源曲线(绿色曲线)。给定了绿色源曲线和目标曲线(红色曲线),就可以用与上述专利申请中所描述的相同的方法生成SVU缩放函数。
与先前提到的共审待批的专利申请相类似,全景图像的校正是使用一类被称为空间变化一致(SVU)缩放函数的用于保持局部缩放透视并校正深度错误感知的参数翘曲函数来实现的。该SVU缩放函数和缩放因子被用来对图像的像素坐标执行垂直缩放和水平缩放。这生成了将该经初步校正的图像的像素位置映射到原始像素坐标的初步翘曲表。该经初步校正的图像是虚拟图像而并没有被实际构造。然而,该经初步校正的图像保持垂直线条笔直但使水平线条畸变。这种水平畸变是通过使用SVU缩放函数和至少两个不同的缩放因子执行水平畸变校正来校正的。该处理生成了翘曲表。该翘曲表将经过校正的全景图像中的位置映射到畸变的全景图像中的原始像素坐标。在其中图像被缝合以创建全景图像的本发明的一些实施例中,该翘曲表可以与缝合表级联以提高计算效率。使用该翘曲表、或级联的缝合和翘曲表,就从原始的全景图像实时地构造出经过校正的全景图像。
图5A是示出了本发明的实时全景图像校正系统500A的一个实施例的概况的框图。一般而言,系统500A获得水平特征几何(例如,会议桌几何和与人的头部顶端相切的平面)以及全景图像510,并输入水平特征几何505以及与该全景图像内每个像素的坐标相对应的全景图像像素坐标520。水平特征几何505和全景图像像素坐标520由实时全景图像校正系统500A处理,并输出经过校正的全景图像530。
全景图像510可以是单个缝合的图像(诸如来自静止相机)或图像序列的一部分(诸如来自视频相机)。全景图像510内每个像素的坐标被获得以生成全景图像像素坐标520。例如,在直角坐标框架中,像素坐标520是全景图像510内通常对应于被缝合以获得该全景图像的一系列图像的像素中的每一个的(x,y)位置。实时全景图像校正模块500A包括翘曲表生成模块540、翘曲表550以及实时图像翘曲系统560。
翘曲表生成模块540被用于利用参数图像翘曲函数生成翘曲表550。全景图像像素坐标520被处理以创建翘曲表550。翘曲表生成模块540的细节将在以下讨论。翘曲表550包含以对应于经校正的全景图像530中的位置的方式排列的全景图像像素坐标520。因此,翘曲表550确定全景图像像素坐标520在经校正的全景图像530中的新位置。
一旦生成了翘曲表550,实时翘曲系统560就接收全景图像510作为输入。实时全景图像翘曲系统560将翘曲表550应用到全景图像510以创建经过校正的全景图像530。实时翘曲系统560通过获取全景图像510位于包含在翘曲表550中的像素坐标处的RGB值来针对经校正的全景图像530中的每个位置来创建经校正的全景图像530。全景像素坐标520处的RGB值由此被重新定位在经校正的全景图像530中。新位置是使用翘曲表550来确定的。应该注意的是,可以使用诸如YUV等任意颜色空间。
在图5B所示的本发明的另一实施例500B中,翘曲表被与用来将全景图像缝合在一起的缝合表级联。在该实施例中,一组输入图像512被缝合成虚构全景图像515,并且该虚构缝合的全景图像的图像像素坐标522被输入到系统500B中。实时全景图像校正模块500B包括翘曲表生成模块540、翘曲表550、级联的缝合和翘曲表555(在4.5节中更加具体地讨论)、以及实时图像翘曲系统560。
翘曲表生成模块540被用于使用参数图像翘曲函数生成翘曲表550。虚构全景图像515的全景图像像素坐标522被处理以创建翘曲表550。翘曲表生成模块540的细节将在以下讨论。翘曲表550包含以与经校正全景图像530中的位置相对应的方式排列的全景图像像素坐标522。因此,翘曲表550确定全景图像像素坐标522在经校正全景图像530中的新位置。
一旦生成了翘曲表550,就将其与用于缝合这一组输入图像512的缝合表相连接以创建级联的翘曲和缝合表555。这组输入图像512由实时图像翘曲系统560作为输入接收。实时全景图像翘曲系统560将级联的翘曲和缝合表555应用到这组输入图像512以创建经校正的全景图像530。实时图像翘曲系统560通过获取该组输入图像512位于包含在级联的翘曲和缝合表555中的像素坐标处的RGB值(或YUV、或其它颜色空间)来针对经校正全景图像530中的每个位置创建经校正的全景图像530。虚构全景像素坐标522处的RGB值因此在这组输入图像512被缝合的同时被重新定位在经校正的全景图像530中。新位置是使用级联的翘曲和缝合表555来确定的。
由于缝合器是静态的并且需要最小的计算,因此翘曲过程是实时发生的。翘曲表的生成意味着创建经校正的全景图像530所需的全部就是将翘曲表550(或级联的翘曲和缝合标)应用到全景图像510或这组输入图像512,这可以快速实现。
2.0示例性操作环境 本发明的实时全景图像校正系统500A或500B被设计成在计算环境中操作。以下讨论旨在提供可在其中实现本发明的合适计算环境的简短且一般性的说明。
图6是示出了适于实施本发明的计算装置的框图。虽然并不要求如此,但将将在由计算机执行的诸如程序模块等计算机可执行指令的一般性背景中对本发明进行说明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域的技术人员将认识到本发明还可在包括个人计算机、服务器计算机、手持设备、多处理器系统、基于微处理器的或可编程消费电子产品、网络PC、微型计算机、大型计算机等各种计算机系统配置上实践。本发明还可在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质两者上。
参照图6,用于实现本发明的一个示例性系统包括通用计算设备600。特别地,计算设备600包括处理单元602、系统存储器604、以及将包括系统存储器604在内的各种系统组件耦合至处理单元602的系统总线606。系统总线606可以是包括存储器总线或存储器控制器、外围总线、以及使用各种总线架构的局部总线在内的诸多类型的总线结构中的任意一种。系统存储器包括只读存储器(ROM)610和随机存取存储器(RAM)612。包含帮助在诸如启动期间在计算设备600内的各要素之间传送信息的基本例程的基本输入/输出系统(BIOS)614被存储在ROM 610中。计算设备600还包括对未示出的硬盘进行读取和写入的硬盘驱动器616、对可移动磁盘620进行读取和写入的磁盘驱动器618、以及对诸如CD-ROM等可移动光盘624或其它光学介质进行读取或写入的光盘驱动器622。硬盘驱动器616、磁盘驱动器628以及光盘驱动器622通过硬盘驱动器接口626、磁盘驱动器接口628以及光盘驱动器接口630分别被连接至系统总线606。驱动器及其相关联的计算机可读介质为计算设备600提供了计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
虽然在此所述的示例性环境采用了硬盘、可移动磁盘620以及可移动光盘624,然而本领域的技术人员应该认识到的是,诸如磁带盒、闪存卡、数字视频盘、Bernoulli盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等可以存储计算机所能访问的数据的其它类型的计算机可读介质也可在该示例性操作环境中使用。
可在硬盘、磁盘620、光盘624、ROM 610或RAM 612上存储包括操作系统632、一个或多个应用程序634、其它程序模块636以及程序数据638在内的多个程序模块。用户(未示出)可通过诸如键盘640和定点设备642等输入设备向计算设备600中输入命令和信息。另外,相机643(诸如摄像机)以及包括例如话筒、操纵杆、游戏垫、盘式卫星天线、扫描器等在内的其它输入设备(未示出)可以被连接至计算设备600。这些其它输入设备经常通过被耦合至系统总线606的串行端口接口644连接至处理单元602,但是也可通诸如并行端口、游戏端口或通用串行接口(USB)等其它接口来连接。监视器646(或其它类型的显示设备)也通过诸如视频适配器648等接口被连接至系统总线606。除了监视器646之外,诸如个人计算机等计算设备通常包括诸如扬声器或打印机等其它外围输出设备(未示出)。
计算设备600可使用至诸如远程计算机650等一台或多台远程计算机的逻辑连接在连网环境中操作。远程计算机650可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且虽然在图6中仅示出了存储器存储设备652,但通常还包括以上关于计算设备600所描述的要素中的部分或全部。图6中所示的逻辑连接包括局域网(LAN)654和广域网(WAN)656、这些连网环境在办公室、企业范围的计算机网络、内联网以及因特网中是较为普遍的。
当在LAN连网环境中使用时,计算设备600通过网络接口或适配器658被连接到局域网654。当在WAN连网环境中使用时,计算设备600通常包括用于通过诸如因特网等广域网656建立通信的调制解调器660或其它装置。可以内置或外置的调制解调器660通过串行端口接口644被连接至系统总线606。在连网环境中,关于计算设备600所绘的程序模块或其部分可存储在远程存储器存储设备652中。应该认识到的是,所示的网络连接是示例性的,也可使用在计算机之间建立通信链路的其它装置。
3.0实时全景图像校正系统详述 一般而言,实时全景图像校正系统500提供了全景图像510的实时校正,尤其是将远离相机就坐的人的头部大小归一化或均衡化。系统500校正垂直和水平方向上的弯曲和畸变。另外,系统500校正诸如深度和游动运动等感知问题。
图7是示出了图5A或5B中所示的翘曲表生成模块540的细节的框图。具体而言,翘曲表生成模块540包括用于输入全景图像像素坐标520或虚构全景图像的像素坐标522以及水平特征几何505的输入模块700。这些像素坐标520、522表示每个像素在全景图像510或虚构全景图像515中的位置。模块540还包括垂直缩放模块710。垂直缩放模块710使用翘曲函数来处理全景图像像素坐标520或虚构全景图像的像素坐标522的每条垂直扫描线,从而使得全景图像像素坐标520、522在垂直方向上被缩放。概念上,这可以被理解为在垂直方向上“拉伸”全景图像510(或虚构全景图像515)。这种垂直缩放部分地校正了全景图像510(或虚构全景图像515)中被夸大的深度。
翘曲表生成模块540还包括使用参数图像翘曲函数在水平方向上缩放图像像素坐标520、522的水平缩放模块720。与垂直缩放类似,概念上这可以被理解为在水平方向上“拉伸”全景图像510或虚构全景图像515。另外,水平缩放是对每条垂直扫描线个别地执行的,从而使得全景图像510或虚构全景图像515的长宽比得以保持。
垂直缩放模块710和水平缩放模块720创建将初步像素坐标映射至原始像素坐标的初步翘曲表。该初步翘曲表可被用来创建经初步校正的图像。实际上这并没有被实行,且经初步校正的图像是虚拟图像。经初步校正的图像具有垂直线条被保持垂直而水平线线条畸变这一性质。
为了校正该水平畸变,还在翘曲表生成模块540中包括了水平畸变模块730。水平畸变模块730将初步翘曲表中的初步像素坐标根据位置垂直地缩放不同的量。翘曲表生成模块540的输出是翘曲表550。翘曲表将经校正的全景图像530中的像素坐标映射到原始全景图像像素坐标520或虚构的缝合图像的像素坐标522。翘曲表可以与缝合表级联以创建级联的翘曲和缝合表,并且可被用于从一组输入图像缝合全景图像。
4.0实时全景图像校正方法 本发明的实时全景图像校正方法使用被称为空间变化一致缩放函数或SVU缩放函数的参数图像翘曲函数。虽然SVU缩放函数可局部地类似于一致缩放函数以保持长宽比,然而缩放因子在图像上是变化的以产生翘曲。SVU缩放函数避免了旋转并且消除了在观看全景图像时的游动运动。
图8是示出了图5A中所示的实时全景图像校正系统500A的实时全景图像校正方法的一个实施例的操作的一般性流程图。来自全景图像510的全景图像像素坐标520和水平特征几何505作为输入被接收(框800)。接着,生成翘曲表550(框810)。该翘曲表550被用于确定经校正的全景图像像素坐标530的位置。
如以下将具体讨论的,翘曲表550的生成包括垂直缩放、水平缩放、水平畸变校正。垂直缩放针对被夸大的深度对全景图像510进行校正。为了校正被夸大的深度,全景图像510中央远处的物体或人需要相对于靠近相机的物体或人被放大。
为了保持全景图像510的长宽比,还执行水平缩放。具体地,使用参数图像翘曲函数(诸如SVU缩放函数)执行水平缩放从而为全景图像510的每条垂直扫描线生成新的宽度。虽然SVU缩放函数保持了垂直线条垂直,但是它们引入了一定量的垂直剪切。视觉上,这被感知为倾斜或畸变的水平线条。场景经常包含诸如桌子和房间天花板等靠近图像顶部或底部的水平表面,这些水平表面上的畸变是较容易引入注意的。
为了校正该垂直剪切,实时全景图像校正方法还包括执行水平畸变校正以针对水平畸变对全景图像510进行校正。一般而言,这是通过在全景图像510中垂直位置上(诸如沿垂直扫描线)放宽垂直缩放的一致性以及进行非线性缩放来实现的。在垂直缩放、水平缩放、以及水平畸变校正之后,生成了将经校正的全景图像530中的像素映射到全景图像510的翘曲表550。
一旦已生成翘曲表550,全景图像510就作为输入被接收(框820)。全景图像510随后被实时地翘曲以创建经校正的全景图像530。翘曲表确立在全景图像510中何处可找到对应于经校正的全景图像530中的每个位置的像素以生成无畸变的全景图像。
图8B是示出了图5B中所示的实时全景图像校正系统500B的实时全景图像校正方法的一个实施例的操作的一般性流程图,其以与关于图8A所述的极其类似的方式操作。来自虚构全景图像515的图像像素坐标522和水平特征几何505作为输入被接收(框800)。接着,生成翘曲表550(框810)。然后将翘曲表与翘曲表550级联以创建级联的翘曲和缝合表(框815)。输入用于生成虚构全景图像的组输入图像(框820)。级联的翘曲和缝合表555然后被用于在缝合这组输入图像的同时确定经校正的全景图像像素坐标530的位置(框830)。然后输出经校正的全景图像(框840)。
以下进一步具体讨论各个缩放过程和模块的细节。
4.1垂直缩放 图9是示出了图7中710所示的垂直缩放模块的细节的流程图。水平特征几何505和全景像素坐标520或522作为输入被接收(框900)。接着,使用一组曲线和缩放因子确定参数图像翘曲函数(诸如SVU缩放函数)。具体而言,连同翘曲因子(框920)一起指定源曲线(框910)。使用这些源曲线和翘曲因子,计算出目标曲线(框930)。
图10示出了根据(1)源曲线和(2)目标曲线这两组曲线确定翘曲函数。在本发明的一个方面,源曲线由用户通过简单的用户界面输入。这些源曲线提供了参数图像翘曲函数的参数。通过该用户界面,用户被要求定义两条三次曲线。这两条源曲线定义了诸如人头部的顶端、以及桌子边缘等共同(实际)水平特征。如图10所示,顶端源曲线St和底端源曲线Sb被指定。通过将图10与图4对比可以注意到,为了计算该全景的源和目标曲线,必须定义上下源曲线的四个不同部分以定义整个全景图像的源曲线。
除了手动地指定源曲线之外,它们也可以从诸如会议桌以及和与会人员头部相切的平面等水平特征几何自动地确定。假定会议桌是矩形的。在知道桌子宽度W和长度L、相机高度h、相机的焦距长度r、以及相机取向θ的情况下可计算出绿色曲线。一旦制造了相机,则焦距长度r和相机高度h就是已知的。桌子尺寸可以在安装期间由用户提供。图11演示了桌子边缘到圆柱胶片上的投影(假定标准相机取向)。以下是表示圆柱图像上桌子边界的下源曲线的四个部分的等式。
θ∈[α,π-α] θ∈[π-α,π+α] θ∈[π+α,2π-α] 类似地,以下是表示圆柱图像上与人头部的顶端相切的平面的上源曲线的四个不同部分的等式,其中h′表示相机离与会人员头部顶端的平面的距离。
θ∈[α,π-α] θ∈[π-α,π+α] θ∈[π+α,2π-α] 同样可由用户选择的翘曲因子α确定翘曲图像的程度。翘曲因子α位于0到1之间,其中α=0为无翘曲,而α=1为最大翘曲。概念上,指定α=0将保持该图像不变,而指定α=1将把源曲线上的像素拉至端点之间的线条。通常理想的翘曲因子位于近似0到1的中途处。
一旦指定了源曲线和翘曲因子,就可计算出目标曲线(框930)。令y=St(x)和y=Sb(x)分别为顶端和底端源曲线的等式。两条目标曲线(源曲线上的点将移至的位置)由源曲线和α确定。具体地,顶端目标曲线Tt和底端目标曲线Tb被定义。如果St(x)的端点之间的线的方程被定义为y=yt(x),而连接底端源端点的线的方程被定义为y=yb(x),则顶端目标曲线的等式为Tt(x)=(1-α)St(x)+αyt(x),而Tb(x)=(1-α)Sb(x)+αyb(x)。
随后使用这些源曲线和目标曲线计算出主缩放因子r(x)(框940)。具体地,给定图10中所示的任意垂直扫描线x,令A、B标示其与源曲线的交点而A’、B’标示与目标曲线的交点。SVU缩放函数将AB缩放为A’B’。令 比率r(x)是位于水平位置x的垂直扫描线的主缩放因子。然后使用主缩放因子r(x)在垂直方向上缩放垂直扫描线的全景像素坐标520(框950)。
4.2水平缩放 为了保持长宽比,全景像素坐标520还在水平方向上被缩放。该水平缩放使用相同的主缩放因子r(x)。换言之,就像垂直缩放那样,垂直扫描线还根据主缩放因子r(x)被水平地缩放以保持长宽比。
图12是示出了图7中所示的水平缩放模块的细节的流程图。被垂直缩放的全景像素坐标作为输入被接收(框1200)。使用主缩放因子r(x),该被垂直缩放的全景像素坐标在水平方向上被缩放(框1210)。一旦该被垂直缩放的全景像素坐标520被缩放,经初步校正图像的总体宽度w’就变为 其中,w是全景(或源)图像510的宽度。
接着,生成初步翘曲表(框1220)。初步翘曲表包含初步像素坐标。初步像素坐标是已经过垂直和水平缩放的全景像素坐标。概念上,这些初步像素坐标可被用于构造经初步校正的图像。因此,对于全景图像510中的任意像素(x,y),令(x’,y’)标示其在经初步校正的图像中的新位置。这得到, y′=Tt(x)+r(x)*(y-St(x)) 以上等式是SVU缩放函数的前向映射等式。SVU缩放函数并不是在各处都是理想的一致缩放。容易证明在各处都是理想一致缩放的唯一函数是一致全局缩放函数。
SVU缩放函数类似于向广义圆柱表面上的投影。然而,这种简单的投影并不产生局部一致的缩放。局部一致缩放是合乎需要的,并且缺乏局部一致缩放将导致经初步校正的图像中的物体显得被拉伸。
4.3水平畸变校正 一旦已在垂直和水平方向上缩放全景像素坐标520,就针对水平畸变校正得到的初步翘曲表。水平畸变校正是需要的,因为虽然参数类图像翘曲函数(诸如SVU缩放函数)保持垂直线条垂直,但是它们使得水平线条畸变。为了使该问题最小化,在每条垂直扫描线上放宽缩放的一致性并且进行非线性缩放。
图13是示出了图7中所示水平畸变模块730的细节的流程图。一般而言,模块730将初步翘曲表中的初步像素坐标分为多个部分并根据用于每个部分的专用缩放因子在垂直方向上缩放该部分。各部分之间的缩放因子可以不同,并且通常在至少一个部分上不同。
具体地,该水平畸变校正模块730首先将初步翘曲表分为多个部分(框1300)。在本发明的一个方面,经初步校正的图像如图14中所示地在概念上被划分。图14示出了垂直缩放函数以及经初步校正的图像被分为三个部分的概念性视图。应该注意到的是在图14中y是垂直方向。参照图14,第一部分1400被定义于底端源曲线Sb和顶端源曲线St之间。其它部分包括在源曲线之外的部分,其中包括在源曲线以下的第二部分1410和在源曲线之上的第三部分920。
位于在源曲线之间的第一部分1300中的初步像素坐标在垂直(y)方向上使用主缩放因子r(x)缩放(框1310)。该垂直方向上的缩放是如上所述地执行的。位于在源曲线之外的部分(第二部分1310和第三部分1320)中的初步像素坐标在垂直方向上缩放得较少。这是通过最初指定次缩放因子(框1320)来执行的。次缩放因子s在图14中被示为位于主缩放因子r(x)以下。接着,位于源曲线之外的其它部分1410、1420中的初步像素坐标在垂直方向上使用次缩放因子(框1330)被缩放。应该注意的是,水平缩放保持相同(换言之,使用主缩放因子r(x))从而使得垂直线条的直线性被保持。为了保持各部分之间的连续性,各部分之间的过渡通过应用平滑参数w来获得(框1340)。该平滑参数使垂直缩放函数平滑并且在垂直缩放函数越过源曲线时平滑地连接不同的缩放因子。
参照图10和14,考虑图10中所示的位于x处的垂直线条。如图14所示,g(y)是可被定义为该垂直线上任意一点y处的垂直缩放因子的垂直缩放函数。应该注意的是,g(y)依存于x。函数g(y)由次缩放因子s和平滑参数w这两个参数控制。垂直扫描线中距离源曲线大于w/2的部分当中,位于源曲线之间的按照主缩放因子r(x)缩放,而位于源曲线之外的按照次缩放因子s缩放。三个恒定部分通过[St-0.5w,St+0.5w]中的两个三次样条粘合在一起。每个三次样条具有值为s和r(x)的端点并且在两个端点处斜率为0。
平滑参数w控制源曲线处的连续性。例如,如果场景在源曲线处不连续,则可以选择非常小的w而不会有明显伪像。在s=r(x)的特殊情况下,g(y)变成在推导经初步校正图像中的新像素位置时假定的恒量。一旦水平畸变校正函数已被应用到初步翘曲表,就生成包含经校正的全景图像530中全景像素坐标的位置的翘曲表550(框1350)。翘曲表550然后作为输出被发送(框1360)。翘曲表被用于从全景图像510构造经校正的全景图像530。
4.4校正全景图像观看的错误感知 SVU缩放函数有助于校正深度错误感知问题。这是通过使用用于观看全景图像的对称SVU缩放函数来实现的。底端源曲线是顶端源曲线的镜像。源曲线经过图像拐角并且在中心垂直扫描线处具有最小值(或最大值)。一个参数指定中心点的高度而第二参数是以上讨论的翘曲因子α。
4.5级联的翘曲/缝合表 如前提所提到的,翘曲表可以与被用来将图像缝合成全景图像的缝合表级联在一起。例如,在一个圆形会议桌情形的实施例中,通过将从多个相机拍摄的图像缝合在一起来创建会议室的圆柱投影。缝合器使用将相机图像映射到全景图像上的缝合表。缝合表通常是在制造校准期间由相机制造商在工厂里创建的。该表包含全景中每个像素(x,y)的以下信息。
(x,y)-全景像素坐标 (u1,v1)-相机1的图像像素坐标 (u2,v2)-相机2的图像像素坐标 相机1-主源相机 相机2-在(x,y)处于重叠区域中时的次源相机。
令S(x,y)表示像素(x,y)上的缝合器表项。即,S(x,y)={相机1,u1,v1,相机2,u2,v2}。为了将缝合器从圆柱转化为直角,需要将该缝合表与翘曲表级联起来。对于最终全景图像(头部大小归一化之后)上的每个像素(x,y),令W(x,y)表示作为圆柱全景图像上的像素坐标的表项,并令T表示S和W的级联表。则T(x,y)=S(W(x,y))。此级联表可在安装时预先计算。在运行时,操作与全景缝合相同。
5.0用户界面 实时全景图像校正系统的一个实施例为用户提供了简化系统操作的用户界面(UI)。该UI可包括用于输入所需设置的控制面板(例如,触摸面板液晶显示器),以及具有其中归一化头部从全景图像被提取并显示的发言人窗口的显示。另外,UI可包括用于显示经校正的或经缩放的全景图像的显示,其大小将随应用的翘曲因子而变化,并且在图像周界有额外的像素。这允许以标准大小在网络上传输经校正的图像而不需要为了发送不同大小和分辨率的图像去重新协商网络堆栈。
5.1控制面板 用于拍摄全景图像的全向相机可具有诸如触摸LCD屏等用于建立和正常使用本发明的实时全景图像校正系统的控制面板。在一个实施例中,可以输入桌子形状和大小、相机位置和取向以及头部大小归一化设置(0-100%)等。桌子形状和大小可包括圆形(优选地为默认);小矩形(例如,10×5’);大矩形(例如,16×5’);以及其它(在该情形中用户被要求指定桌子的长度和宽度)。默认桌子设置(圆形)为非圆形桌子生成缝合图像,但不针对这些桌子类型对头部大小进行归一化。
如上所讨论的,在本发明的一个实施例中,全向相机位置和取向可以通过控制面板来设置。默认位置是桌子中央。默认取向是LCD在靠近桌子长端处可读(即,文本(text)平行于桌子的主对称轴)。相机的取向是非常重要的,因为如果取向不正确,则翘曲可能实际上使得头部大小更加不同而不是使其相等。相机取向可变化+/-15度而不会产生显著影响。各种常规方法可被用来保持相机在建立后的取向。相机桌形状和大小以及全向相机位置和取向也可以被自动地确定。
此外,在本发明的一个实施例中,头部大小归一化百分比可通过LCD来设置。该参数可以用允许从0%归一化(圆柱)到100%归一化(直角)之间连续设置的滑块来设置。没有将设置处于100%的主要原因是使得归一化对于相机位置和旋转变化更为稳健,并且提供某些用户可能期望的一定的透视畸变。
5.2发言人窗口 UI可包括具有通过从全景图像直接复制一子窗口来从全景图像提取头部的发言人窗口的显示窗格。该子窗口然后作为单独的显示窗格被显示。所提取的头部可以不被归一化或被归一化。该特征在有人正在视频会议中讲话,特别是在他们位置离相机相对较远时尤其有用。通过提取被放大的头部,就使得人的表情可被看到。这在人们正在讲话时尤其有益。
5.3经填充的全景图像和变形全景图像 另外,UI可包括用于显示和发送经过填充的全景图像的特征。由于具有不同翘曲因子的显示图像将会被校正为不同的大小,所以该经填充的全景图像显示在经校正的图像周围添加了额外的像素以使其成为标准大小。例如,诸如黑色条等条形可被添加在图像的顶端或底端。经填充的校正图像的一个示例在图15中示出。该经填充的全景图像允许系统为每幅经校正的全景图像保持恒定大小和分辨率。这还允许在不需要为了发送不同大小和分辨率的图像而重新协商网络堆栈的情况下传输每一幅经校正的全景图像。接收图像的一方然后可显示该经填充的具有或没有条形的全景图像。
在固定分辨率的视频流上发送头部大小经均衡的或圆柱全景视频的另一种方法是使用变形视频(即,像素长宽比不等于1∶1)。例如,如果圆柱全景图像具有1056×144方形像素的分辨率,但头部大小经归一化的全景图像是1056×120方形像素,则该头部大小经归一化的视频可以在1056×144且像素长宽比为长∶宽=120∶144下(像素高度略微小于宽度)来发送。当接收器将该视频绘制到显示器时,该图像将被绘制为1056×120。该像素长宽比通常是在视频流中被发送,但也可以在该视频流以外发送(例如,SIP INFO消息)。
出于示例和说明的目的以给出了本发明的以上说明。然而其无意为穷尽性质或者将本发明限定于所公开的精确形式。在以上教义的启发下,许多修改和变更都是可能的。本发明的范围旨在由所附权利要求而不是本发明的具体说明来限定。
权利要求
1.在包括显示器、用户界面选择设备以及用户界面数据输入设备的计算机系统中,一种用于将360度全景图像的各部分归一化的过程,包括
在所述显示器上显示用于输入将360度全景图像的各部分归一化所需的参数的控制面板;以及
通过所述显示的控制面板输入将所述360度全景图像的各部分归一化所需的参数。
2.如权利要求1所述的过程,其特征在于,所述将360度全景图像归一化所需的参数包括相机位置、相机取向、水平特征几何以及所需的归一化百分比。
3.如权利要求2所述的过程,其特征在于,所述水平特征几何包括以下至少之一
其上设置了与所述相机位置和取向相对应的相机的会议桌几何;以及
与坐在所述会议桌周围的人的头部顶端相对应的平面的几何。
4.如权利要求2所述的过程,其特征在于,所述会议桌几何包括所述会议桌的大小和形状,并且所述相机取向是相对于所述会议桌几何来指定的。
5.如权利要求1所述的过程,其特征在于,所述控制面板被显示在液晶显示器上。
6.如权利要求1所述的过程,其特征在于,所述控制面板可通过网络用户接口访问。
7.如权利要求2所述的过程,其特征在于,所述的所需归一化百分比在0%到100%之间变化。
8.如权利要求1所述的过程,其特征在于,所述全景图像经归一化的各部分与坐在桌子周围并被所述相机拍摄的人的头部大小相关。
9.如权利要求3所述的过程,其特征在于,所述相机位置和取向是相对于所述桌子的几何的。
10.如权利要求1所述的过程,其特征在于,所述计算机系统被嵌入在相机中。
11.一种用于显示全景图像的各部分的图形用户界面,包括
用于显示约360度全景图像当中的提取部分的显示窗格。
12.如权利要求11所述的图形用户界面,其特征在于,所述全景图像当中所提取的部分是所述全景图像中描绘的人物的未经归一化的头部。
13.如权利要求11所述的用户界面,其特征在于,所述全景图像当中所提取的部分是所述全景图像中描绘的人物的经归一化的头部。
14.如权利要求11所述的用户界面,其特征在于,所述人物正在发言。
15.一种用于在网络上显示和发送经缩放的图像的过程,包括以下过程动作
对图像进行缩放;
用所述经缩放的图像周界的额外像素来对其进行调整从而使所述经缩放的图像符合指定大小;以及
显示所述周界具有额外像素的经缩放的图像。
16.如权利要求15所述的过程,其特征在于,还包括发送所述已调整的经缩放图像的过程动作。
17.如权利要求16所述的过程,其特征在于,还包括以下过程动作
接收所述已调整的经缩放图像;
显示所述已调整的经缩放图像。
18.如权利要求16所述的过程,其特征在于,还包括以下过程动作
接收所述已调整的经缩放图像;
显示周界没有所述额外像素的经缩放图像。
19.如权利要求15所述的过程,其特征在于,所述额外像素以黑色显示。
20.一种用于在网络上显示和发送经缩放的图像的过程,包括以下过程动作
对图像进行缩放;
设置像素长宽比以解决标准分辨率与经缩放的分辨率之间的差异;
以所述标准分辨率来发送所述图像;以及
以原始经缩放的分辨率来显示所述经缩放的图像。
全文摘要
一种实时全景图像校正系统(图5A)和方法的用户界面(IH),该用户界面简化了用户对该系统的使用。该UI包括允许用户输入会议桌大小和形状、相机位置和取向、以及所需的归一化量(例如,0到100%)的控制面板。还可在显示经校正的全景图像(图5A,530)的显示器上实现一个窗口。在该窗口中,与会人员的头部被提取并被显示在单独的窗口中。另外,其大小随所应用的翘曲量变化的经校正的全景图像能以在其周界具有额外像素的方式被显示和发送以使得经校正或归一化的全景图像能适配于标准显示器和分辨率中的任何一种并简化网络传输。
文档编号G06T5/00GK101156161SQ200680011867
公开日2008年4月2日 申请日期2006年3月9日 优先权日2005年4月14日
发明者R·柯特勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1