CN109997167B - 用于球面图像内容的定向图像拼接 - Google Patents

用于球面图像内容的定向图像拼接 Download PDF

Info

Publication number
CN109997167B
CN109997167B CN201780071504.4A CN201780071504A CN109997167B CN 109997167 B CN109997167 B CN 109997167B CN 201780071504 A CN201780071504 A CN 201780071504A CN 109997167 B CN109997167 B CN 109997167B
Authority
CN
China
Prior art keywords
images
display
orientation
camera device
image
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
CN201780071504.4A
Other languages
English (en)
Other versions
CN109997167A (zh
Inventor
B·福鲁坦保尔
P·H·L·阮
毕宁
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109997167A publication Critical patent/CN109997167A/zh
Application granted granted Critical
Publication of CN109997167B publication Critical patent/CN109997167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • G06T3/047
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明描述与产生图像内容相关的技术。图形处理单元GPU经配置以进行以下操作:接收从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;显现定向至定向基准的所述第一组图像以供显示;接收从第二不同位置中的第二不同相机装置产生的第二不同组图像,所述第二相机装置具有第二定向,所述第二定向不同于所述第一定向;及显现定向至所述定向基准的所述第二组图像以供显示。

Description

用于球面图像内容的定向图像拼接
技术领域
本发明涉及球面图像显现。
背景技术
在例如显现用于360度视频的图像的某些类型的图像显现中,查看者可感知图像内容的多个不同视图。举例来说,在查看者正查看显示器上的图像内容时,查看者可选择供查看所述内容的不同视图。
发明内容
一般来说,本发明描述用于在共同定向基准中呈现来自两个不同相机装置的图像内容的技术。两个相机装置各自可包含相应鱼眼式相机(fisheye camera),且每一相机装置捕获相应360度图像内容。查看者可查看由所述相机装置中的一者捕获的所述图像内容,且接着切换至由另一相机装置捕获的图像内容(例如,如由所述查看者或输出所述图像内容的服务器所选择)。如果来自所述不同相机装置的所述经呈现图像内容未定向至共同定向基准,那么从来自一个相机装置的图像内容至另一相机的图像内容的转变可能需要由所述查看者进行重新定向(例如,所述查看者正查看之处的移位)。通过呈现来自定向于共同定向基准中的不同相机装置的图像内容,从来自不同相机装置的图像内容的转变可能不需要由所述查看者进行重新定向。因此,与查看者重新定向的实例相比较,从一个相机捕获的图像内容至由另一相机捕获的图像内容的呈现转变可相对平滑,从而提供更沉浸且改进的体验。
在一个实例中,本发明描述一种用于产生图像内容的方法,所述方法包括:接收从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;显现定向至定向基准的所述第一组图像以供显示;接收从第二不同位置中的第二不同相机装置产生的第二不同组图像,所述第二相机装置具有第二定向,所述第二定向不同于所述第一定向;及显现定向至所述定向基准的所述第二组图像以供显示。
在另一实例中,本发明描述一种用于产生图像内容的装置,所述装置包括:存储器装置,其经配置以进行以下操作:存储从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;及存储从第二不同位置中的第二不同相机装置产生的第二不同组图像,所述第二相机装置具有第二定向,所述第二定向不同于所述第一定向;及图形处理单元(GPU),其包括固定功能或可编程电路系统中的至少一者,所述GPU经配置以进行以下操作:从所述存储器装置接收所述第一组图像;显现定向至定向基准的所述第一组图像以供显示;从所述存储器装置接收所述第二组图像;及显现定向至所述定向基准的所述第二组图像以供显示。
在另一实例中,本发明描述一种计算机可读存储媒体,其上存储有指令,所述指令在执行时致使一或多个处理器进行以下操作:接收从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;显现定向至定向基准的所述第一组图像以供显示;接收从第二不同位置中的第二不同相机装置产生的第二不同组图像,所述第二相机装置具有第二定向,所述第二定向不同于所述第一定向;及显现定向至所述定向基准的所述第二组图像以供显示。
在另一实例中,本发明描述一种用于产生图像内容的装置,所述装置包括:用于接收从第一位置中的第一相机装置产生的第一组图像的装置,所述第一相机装置具有第一定向;用于显现定向至定向基准的所述第一组图像以供显示的装置;用于接收从第二不同位置中的第二不同相机装置产生的第二不同组图像的装置,所述第二相机装置具有第二定向,所述第二定向不同于所述第一定向;及用于显现定向至所述定向基准的所述第二组图像以供显示的装置。
在以下附图及具体实施方式中阐述了一或多个实例的细节。其它特征、目标及优势将从具体实施方式、附图及权利要求书显而易见。
附图说明
图1为绘示根据本发明中所描述的一或多种实例技术的多相机图像捕获系统的框图。
图2A及2B为绘示图1的多相机图像捕获系统的概念图。
图3为绘示根据本发明中所描述的一或多种实例技术的用于捕获360度视频或图像的实例相机装置的框图。
图4A及4B为绘示从图3的装置捕获的图像的图示图解。
图5A为绘示在未定向至定向基准的情况下产生的图像的图示图解。
图5B为绘示在定向至定向基准的情况下产生的图像的图示图解。
图6A及6B为绘示从图1的装置捕获的图像的图示图解。
图6C为绘示从图6A及6B的图像产生的图像的图示图解,所述图像是在定向至定向基准的情况下定向。
图7为经配置以执行本发明中所描述的实例技术中的一或多者的装置的框图。
图8为进一步详细地绘示图7的装置的CPU、GPU及存储器的框图。
图9为绘示根据本发明中所描述的一或多种实例技术的实例操作方法的流程图。
具体实施方式
本发明中所描述的实例技术与呈现360度视频或图像相关。在360度视频或图像中,视频/图像内容围绕查看者形成概念性球体。查看者可从多个观点(例如,在前方、在后方、在上方及在周围)查看图像内容,且此类图像内容被称为360度图像。
在本发明中,包含360度图像内容或可查看内容的图像意味着所述图像包含所有观点的内容(例如,在上方、在下方、在后方、在前方及在每一侧的内容)。举例来说,常规图像捕获稍微小于180度图像内容,且不捕获在相机的侧的内容。
一般来说,360度视频是由一连串360度图像形成。因此,本发明中所描述的实例技术是关于产生360度图像予以描述。因而,对于360度视频内容,可按顺序显示这些360度图像。在一些实例中,用户可能需要仅拍摄360度图像(例如,作为用户的整个360度周围环境的快照),且本发明中所描述的技术也适用于此类实例状况。
所述技术可适用于经捕获视频内容、虚拟实境,且通常适用于视频及图像显示。所述技术可用于移动装置中,但所述技术不应被视为限于移动应用。一般来说,所述技术可用于虚拟实境应用、视频游戏应用,或需要360度球面视频/图像环境的其它应用。
360度图像内容可运用包含多个鱼眼式透镜(例如,经定位以捕获图像内容球体的部分)的相机装置予以捕获。鱼眼式透镜捕获360度视频的完整球体的相应部分。由经捕获部分产生的图像可为圆形图像(例如,一个图像帧包含来自相应鱼眼式透镜的多个圆形图像)。捕获图像的相机装置、将供显示图像的处理装置或某其它装置将圆形图像转换成更适合于图形处理及/或发射的图像类型。更适合于图形处理及/或发射的图像类型被称作投影图像,其实例包含等矩形投影、立方体投影、圆柱形投影、球面投影、皮尔斯梅花形(peirce-quincunical)投影等等。
如上文所描述,相机装置包含多个鱼眼式透镜。一些实例相机装置包含两个鱼眼式透镜,但实例技术并不限于两个鱼眼式透镜。一个实例相机装置可包含16个透镜(例如,用于摄影3D VR内容的16相机阵列)。另一实例相机装置可包含八个透镜,每一透镜具有195度视角(例如,每一透镜捕获360度图像内容的195度图像内容)。其它实例相机装置包含三个或四个透镜。一些实例可包含捕获360度图像内容的360度透镜。
本发明中所描述的实例技术大体上是关于捕获360度图像/视频的两个鱼眼式透镜予以描述。然而,实例技术并不受到如此限制。实例技术可适用于包含以下各者的实例相机装置:单一360度透镜;多个透镜(例如,两个或多于两个),即使所述透镜不为鱼眼式透镜也如此;及多个鱼眼式透镜。
举例来说,如更详细地所描述,实例技术描述用以在查看由一个相机装置捕获的内容至由另一相机装置捕获的内容时产生无缝转变的方式。此类技术可适用于各种各样的不同相机类型,例如上文所描述的类型。虽然实例技术是关于两个鱼眼式透镜予以描述,但实例技术并不受到如此限制,且适用于用于捕获360度图像/视频的各种相机类型。
在多相机环境中,可存在位于不同位置中的多个这些实例相机装置,每一相机装置捕获相应图像内容。查看者可查看由所述相机装置中的一者捕获的图像内容,且接着切换以查看来自所述相机装置中的另一者的图像内容。在一些状况下,图像内容从一个相机装置至另一相机装置的切换对于查看者来说可能不和谐。
在产生投影图像时,产生投影图像的装置(例如,相机装置、服务器或处理装置)可将投影图像定向至任意定向,所述定向对于所述相机装置中的每一者可能不同。举例来说,在一些状况下,来自第一相机装置的第一组图像的定向及来自第二相机装置的第二组图像的定向可能不同(例如,用于产生第一组图像中的图像的相机装置的透镜可在第一方向或定向上,且用于产生第二组图像中的图像的相机装置的透镜可在第二方向或定向上)。因此,在从一个相机装置捕获的图像切换至从另一相机装置捕获的图像时,有可能的是,查看者可变得乱向(例如,所关注区域不再在查看者正前方,而是偏离达某其它角度)。在查看者重新定向(例如,物理地移动头部或身体,重新定向显示器,或控制接口以重新定向所显示的图像)之后,图像接着将显得正确,但需要此类重新定向对于查看者来说可能是不良的。
在本发明中所描述的实例技术中,显示来自不同相机装置的图像的装置可呈现图像,使得来自不同相机装置的图像沿着不同基准具有相同定向。作为实例,每一相机装置可包含指示地理方向(例如,北、南、东或西)的方向的传感器(例如,磁力计传感器或罗盘)。在此实例中,地理方向为定向基准。在产生投影图像时,产生投影图像的装置可利用地理方向信息以定向投影图像,使得地理方向处于设定点。举例来说,产生投影图像的装置可定向图像,使得相对于相机装置的北方向处于图像的顶部中心。如果产生投影图像的装置确保图像始终经定向使得相对于相应相机装置的北方向处于图像的顶部中心,那么将图像从一个相机切换至另一相机可能并非不和谐或可能不会要求查看者重新定向。
如果所述相机装置中的每一者产生投影图像,那么所述相机装置中的每一者可经配置以将其自己的投影图像定向至共同定向基准。尽管可能,但相机装置未必需要彼此通信以将图像定向至共同定向基准,而是各自可经配置以将投影图像定向至为每一相机装置所共有的特定定向基准。
如果呈现360度图像的服务器或处理装置产生投影图像,那么服务器或处理装置可从用于相应组图像的相应相机装置接收指示定向基准的信息。举例来说,服务器或处理装置可从第一相机装置接收指示相对于来自第一相机装置的第一组图像的北方向的信息,从第二相机装置接收指示相对于来自第二相机装置的第二组图像的北方向的信息,等等。服务器或处理装置接着可基于指示定向基准的信息而调整(例如,移位、旋转、剪切或扭曲)第一及第二组图像,使得所述图像定向至相同定向基准(例如,北在每一组图片中的同一位置中)。
在以上实例技术中,服务器或处理装置可定向为一个平面(例如,北方向)所共有的来自不同相机装置的图像。举例来说,服务器或处理装置将来自不同相机装置的图像定向至共同方位角。在一些实例中,服务器或处理装置可将来自不同相机装置的图像定向至其它共同平面。举例来说,服务器或处理装置可将来自不同相机装置的图像定向至共同倾角(例如,共同高程基准)。
将图像定向至共同倾角可在转变至不同相机装置时允许查看者不必向上或向下倾斜他的/她的眼睛。举例来说,也许有可能自然地形成两个投影图像,使得北在顶部方向上。然而,图像的倾角可能不同。作为实例,在来自一个相机装置的图像中,与来自另一相机装置的图像相比较,图像的顶部看起来较接近且图像的底部看起来较远离,或反之亦然。通过定向至共同倾角(例如,高程),查看者在从一个相机装置转变至另一相机装置期间可能不需要重新定向倾角。
在一些实例中,服务器或处理装置可将来自不同相机装置的图像定向至沿着光轴的共同旋转角度。举例来说,针对每一相机装置中的每一透镜存在一光轴,其中光轴为从透镜的中心向外延伸的假想轴线。由于相机装置的不同定向,每一光学透镜的光轴可能不定向至共同基准。
在来自一个相机装置的图像中,与来自另一相机装置的图像相比较,沿着光轴具有不同旋转角度可引起图像的右端看起来较接近且图像的左端看起来较远离,或反之亦然。通过定向至共同旋转角度,查看者可能不会体验到从来自一个相机装置的经显现图像至另一相机装置的转变的此类改变。
以此方式,服务器或处理装置可基于方位角(例如,方向)、高程(例如,倾角)及旋转而将图像定向至共同基准。应理解,服务器或处理装置可基于方向、倾角及旋转中的一或多者而定向图像。举例来说,服务器或处理装置可基于第一定向基准(例如,方向、倾角或旋转中的一者)、第一定向基准及第二定向基准(例如,方向、倾角或旋转中的另一者)或第一定向基准、第二定向基准及第三定向基准(例如,方向、倾角及旋转)而定向图像。
在以上实例中,实例定向基准已基于相机装置的定向的全局位置。在一些实例中,除了以上定向基准以外或代替以上定向基准,服务器或处理装置还基于场景内容及/或查看者的凝视而定向来自不同相机的图像。举例来说,定向基准可基于场景、查看者的凝视(例如,眼睛位置)或查看者的头部位置予以选择。作为实例,共同基准可为由一个相机装置捕获的图像及由查看者正转变至的另一相机装置捕获的图像中的图像内容中的共同部分。作为另一实例,共同基准可为查看者正观看(例如,基于查看者的凝视或头部位置)的区域。在此类实例中,服务器或处理装置可定向来自不同相机的图像,使得查看者可保持相同凝视或头部位置。举例来说,服务器或处理装置可基于查看者的凝视或头部位置而选择定向基准。
图1为绘示根据本发明中所描述的一或多种实例技术的多相机图像捕获系统的框图。举例来说,图1绘示包含多个相机装置12A至12N(被集体地称作“相机装置12”)的多相机图像捕获系统10。图1所绘示的实例可适用于用于合作记录的多个相机装备是有用的状况。
相机装置12可为放置于环境背景(setting)中的不同位置中的独立相机装置。举例来说,在婚礼期间,相机装置12可在整个婚礼中放置于三角架上的各种位置中。作为另一实例,为了捕获用于房屋巡视的不同图像,相机装置12可放置于整个房屋中的不同位置中。相机装置12未必需要仍保持于环境背景中,且还可为可移动的。
相机装置12可经配置以记录360度球面环境以增强查看者体验。不同于捕获仅在相机透镜前方区域的图像的标准相机,相机装置12可经配置以捕获大得多的区域,包含在所有方向上的图像内容。如所绘示,相机装置12中的每一者分别捕获图像内容14A至14N(集体地为图像内容14)。尽管未绘示,但图像内容14之间可存在重叠。
相机装置12中的每一者可将其相应经捕获图像内容14发射至服务器16。服务器16可对应于可存储由相机装置12捕获的图像内容14的文件服务器或另一中间存储装置。处理装置18可经由流式处理或下载而从服务器16存取所存储的经捕获图像内容14。服务器16可为能够存储图像内容14且将其发射至处理装置18的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置,或本地磁盘驱动器。
相机装置12及处理装置18可以各种方式将数据发射至服务器16及从服务器16接收数据。作为一个实例,相机装置12各自可捕获相应图像内容14且在本地存储图像内容14。在事件结束时,技术员(例如,来自婚礼摄影公司的技术员或来自房屋出售代理的技术员)可经由有线连接而将图像内容14下载至本地计算装置(未绘示),且经由无线信道(例如,Wi-Fi连接)或有线连接(例如,DSL、电缆调制解调器等等)或此两者的组合而上传图像内容14。作为另一实例,相机装置12各自可以无线方式或经由有线连接而将图像内容14发射至服务器16。处理装置18可经由无线或有线连接而从服务器16下载图像内容14。处理装置18及相机装置12可经由包含互联网连接的任何数据连接而与服务器16通信。
在一些实例中,服务器16可实时接收经捕获图像内容14,且处理装置18可实时下载经捕获图像内容14,例如对于体育事件或音乐会。其它排列及组合是可能的,且本发明中所描述的技术不应被视为限于这些特定实例中的任一者。
服务器16可接收呈各种格式的经捕获图像内容14。作为一个实例,服务器16可接收呈自己的经捕获图像格式的经捕获图像内容14。如下文更详细地所描述,相机装置12包含捕获360度图像内容14的透镜,用以捕获360度图像内容14的透镜的一个实例为鱼眼式透镜,但其它透镜类型是可能的。出于描述简易起见,关于鱼眼式透镜而描述实例。
经捕获图像格式可为由鱼眼式透镜捕获的图像内容14引起的圆形图像,对于不使用鱼眼式透镜的其它实例,图像格式可能不同于圆形图像。在一些实例中,服务器16可接收呈经捕获图像被进一步处理的格式的经捕获图像内容14。举例来说,相机装置12可包含处理图像以产生投影图像的图形处理单元(GPU),其中投影图像为将图像调合成接着映射至二维或三维结构上的单一图像的某一形式。调合通常是指混合重叠图像的颜色值。相机装置12可将相应投影图像发射至服务器16,其中来自相应相机装置12的每一投影图像包含相应图像内容14。
处理装置18在服务器16存储从相机装置12接收的图像的实例中从服务器16接收图像,及/或在服务器16存储投影图像的实例中从服务器16接收投影图像。处理装置18可对经接收图像(例如,圆形图像及/或投影图像)执行额外处理,且呈现所得图像以供显示给查看者。
在一些实例中,处理装置18可呈现来自相机装置12中的一者(例如,相机装置12A)的一组图像。举例来说,假定相机装置12A放置于房屋中的走廊。在此实例中,查看者能够查看图像内容14A的全部。举例来说,查看者可与处理装置18交互,使得查看者可改变查看角度且从任何查看角度查看图像内容14A。
查看者接着可与处理装置18交互,使得查看者感知到查看者正通过图像内容14A行进朝向图像内容14B至14N中的一者。举例来说,如果相机装置12A在走廊,那么相机装置12B可在卧室的门口。在此实例中,查看者可与处理装置18交互,使得查看者感知到步行通过走廊且朝向门口。随着查看者越来越接近于相机装置12B,处理装置18可从呈现图像内容14A切换至呈现图像内容14B。
举例来说,服务器16可基于查看者在由相机装置12捕获的环境背景内的感知位置而将用于图像内容14A的图像或投影图像上传至处理装置18。举例来说,处理装置18可将指示查看者的相对位置的信息输出至服务器16。基于相对位置,服务器16可将用于图像内容14中的一者的图像输出至处理装置18。作为另一实例,服务器16可广播多个图像内容14(包含可能全部图像内容14)且包含由相应图像内容14覆盖的区域的信息。在此类实例中,处理装置18可确定将图像内容14中的哪一者呈现给查看者。使服务器16及/或处理装置18确定将发射/呈现图像内容14中的哪一者的其它方式也许是可能的。
在一些状况下,在遍及相机装置12不存在共同定向基准的情况下,相机装置12中的每一者可产生相应投影图像。举例来说,相机装置12中的每一者可基于其透镜的角度而产生其投影图像。因为相机装置12中的每一者的透镜可处于不同角度,所以投影图像中不存在共同定向基准。举例来说,相机装置12的透镜可面向不同方向或具有不同定向,且因此,相机装置12中的每一者的透镜可处于不同角度。
在相机装置12发射图像且服务器16产生投影图像的实例中,服务器16可相似地基于透镜的角度而产生投影图像,使得投影图像中不存在共同定向基准。相似地,在处理装置18接收尚未转换为投影图像(例如,用于鱼眼式透镜的圆形图像)的图像的实例中,处理装置18可基于透镜的角度(例如,相对于固定基准)而产生投影图像,使得投影图像中不存在共同定向基准。
不同投影图像中缺少共同定向基准的一个可能问题为,从来自相机装置12中的一者的图像内容14中的一者切换至来自相机装置12中的另一者的图像内容14中的另一者对于用户来说可为不和谐体验。举例来说,不管哪一装置产生投影图像,处理装置18皆显现来自图像内容14中的一者(例如,图像内容14A)的投影图像以供显示。在呈现图像内容14A时,查看者最初可在处理装置18上定向图像内容14A,使得正确地呈现内容(例如,我们将正常地感知内容的方式,其中集中于所关注区域)。接着,在处理装置18从图像内容14A切换至图像内容14B时,图像内容14B可能不会显得正确,而是乱向。这是因为:在处理装置18从图像内容14中的一者切换至图像内容14中的另一者时,用于图像内容14A及图像内容14B的投影图像中不存在共同定向,从而引起定向移位。
举例来说,相机装置12水平地(且在一些状况下竖直地)捕获及记录360度视野,且不存在“记录方向”的意义。这引起查看者使他自己或她自己在360度查看球体中定向。
本发明描述用以呈现来自位于定向至相同定向基准的不同位置中的不同相机装置12的图像的实例技术。在此共同定向的情况下,在处理装置18从呈现图像内容14中的一者切换至呈现图像内容14中的另一者时,查看者可能不需要重新定向。
用以定向投影图像的一个实例方式是使相机装置12各自基于对于所有相机装置12相同的定向基准而定向其投影图像。举例来说,地理方向(例如,北、南、东、西)对于所有相机装置12将相同,而不管其特定透镜角度(例如,不管透镜如何指向)。在一些实例中,相机装置12可经配置以定向其相应投影图像,使得地理方向位于每一投影图像中的相同坐标点处。举例来说,相机装置12中的每一者可产生其相应投影图像,使得真北(例如,北极)位于相同坐标点中(例如,被定位为真北的内容位于投影图像的顶部中心处)。
应重申,相机装置12中的每一者正捕获360度图像内容14。因此,在每一圆形图像中,存在相对于相机装置12被定位为正北的内容。换句话说,正握持相机装置12A的个别人员可拍摄快照。因为快照具有整个360度可查看区域,所以保证捕获来自真北的内容。因此,在至少一个圆形图像中,存在来自真北的内容。在基于圆形图像而产生投影图像时,相机装置12中的每一者可产生投影图像,使得在投影图像中,真北的内容位于投影图像的顶部中心处。在此实例中,来自相机装置12的投影图像各自定向至定向基准,这将投影图像定中心至真北。将投影图像定中心至例如真北的方向为一个实例,且技术并不受到如此限制。
为了允许相机装置12中的每一者产生具有此类共同定向基准的投影图像,相机装置12可包含用以产生定向基准的信息的传感器。举例来说,相机装置12可包含可指示地理方向的磁力计传感器(也被称作罗盘)。相机装置12可利用特定地理方向的方向以调整投影图像,使得特定地理方向在每一投影图像中的相同坐标点处对准。接着,在处理装置18显现投影图像以供显示时,可能不需要使查看者在切换图像内容14时重新定向。
使用罗盘及特定地理方向为一个实例,且不应被视为限制性的。在一些实例中,相机装置12可包含惯性测量单元(IMU)及/或陀螺仪作为用以提供共同定向基准的方式。在一些实例中,相机装置12可使用罗盘、IMU及/或陀螺仪。举例来说,相机装置12可使用罗盘以定向至特定地理方向,且可使用IMU及/或陀螺仪以控制另一维度上的定向(例如,将倾角定向至共同定向基准,等等)。
将投影图像定向至特定方向(例如,其中北位于每一图像中的顶部中心处)为将来自不同相机装置12的图像定向至共同方位角基准的实例。将投影图像定向至特定倾角为将来自不同相机装置12的图像定向至共同高程基准的实例。可存在定向图像的其它实例。
作为一个实例,相机装置12中的每一者与一光轴相关联,光轴为从相机装置12的透镜的中心向外延伸的假想轴线。由于相机装置12的定位,来自相机装置12的图像可能不会沿着光轴定向至共同旋转角度。在一些实例中,相机装置12可包含一或多个IMU及/或陀螺仪。IMU及/或陀螺仪中的一者可用于确定倾角。IMU及/或陀螺仪中的另一者可用于确定旋转角度(例如,相应相机装置12相对于光轴移位的量)。
沿着方向基准、倾角基准或旋转角度基准定向投影图像为定向基准的各种实例。本发明中所描述的技术可相对于这些实例定向基准中的一或多者(例如,一个定向基准、一些定向基准,或全部定向基准)来定向投影图像。
将来自不同相机装置12的投影图像定向至基于相机装置12的方向或定向的共同定向基准为将来自不同相机装置12的投影图像定向至共同定向的一个实例。然而,本发明中所描述的实例可适用于其它类型的定向基准,例如基于例如场景内容以及查看者的凝视及/或头部位置的基于计算机视觉的途径的定向基准。
作为实例,查看者可从来自相机装置12中的第一者(例如,相机装置12A)的图像查看特定场景内容(例如,所关注区域)。来自相机装置12中的另一者(例如,相机装置12B)的图像中可存在场景内容的一些重叠。在此类实例中,处理装置18可显现来自相机装置12B的图像,使得在大体上同一位置中显示为来自相机装置12A的图像及来自相机装置12B的图像两者所共有的场景内容。举例来说,处理装置18可显现为来自相机装置12A的图像及来自相机装置12B的图像两者所共有的场景内容,使得在与来自相机装置12A的经显现图像中的共同场景内容的位置为同一个的位置中在来自相机装置12B的经呈现图像中显示共同场景内容。
作为说明,在相机装置12放置于住宅中以用于住宅巡视的实例中,相机装置12A可放置于走廊且相机装置12B可放置于卧室。随着查看者与处理装置18交互,使得查看者正步行通过走廊且面向通往卧室的门口,处理装置18可显示由相机装置12A捕获的图像内容。接着,在查看者交互以进入卧室时,处理装置18可显示由相机装置12B捕获的图像内容。在此实例中,查看者在面向门口时最初查看的由相机装置12A捕获的图像内容可与由相机装置12B捕获的图像内容重叠(例如,相机装置12B也可捕获卧室的门口处的图像内容)。在从由相机装置12A捕获的图像内容至由相机装置12B捕获的图像内容的转变情况下,处理装置18可将由相机装置12B捕获的图像内容显现至与由相机装置12A捕获的图像内容的经显现图像共同的定向,在此实例中,由相机装置12A捕获的图像内容的经显现图像为共同场景内容。通过定向至共同场景内容,查看者可感知较平滑的转变。
作为另一实例,查看者可通过在查看由相机装置12中的第一者(例如,相机装置12A)捕获的图像内容时使他的/她的凝视或头部集中于特定角度而查看特定场景内容(例如,所关注区域)。在将由相机装置12A捕获的图像内容转变至相机装置12中的第二者(例如,相机装置12B)时,处理装置18可在查看者查看由相机装置12A捕获的图像时基于查看者凝视或头部的位置而显现由相机装置12B捕获的图像内容。举例来说,处理装置18可显现由相机装置12B捕获的图像内容,使得查看者不需要改变他的/她的凝视或头部位置。举例来说,如基于查看者凝视或头部位置,属于查看者的所关注区域的图像内容在从由相机装置12中的第一者捕获的图像内容转变至相机装置12中的第二者时保持于同一位置中。在此实例中,处理装置18可基于查看者的经确定凝视或头部位置而选择定向基准。
在以上实例中,相机装置12产生投影图像。然而,技术并不受到如此限制。在服务器16、处理装置18或某其它装置产生投影图像的实例中,相机装置12可将指示特定维度及/或倾角及/或旋转角度(在IMU或陀螺仪的实例中)的对准的信息以及圆形图像发射至服务器16、处理装置18或此其它装置。服务器16、处理装置18或可能此其它装置可执行上文所描述的实例技术以将投影图像定向至共同定向基准。
图2A及2B为绘示图1的多相机图像捕获系统的概念图。类似于图1,图2A及2B绘示相机装置12中的每一者捕获相应图像内容14的实例。不同于图1中,图像内容14被绘示为重叠。作为实例,图像内容14A、14C及14E重叠。
在图2A中,在不同定向上绘示相机装置12A。因此,将从相机装置12中的一者产生的查看图像切换至相机装置12中的另一者的查看者可能需要重新定向至查看者正切换至的相机装置12中的一者所处的定向。
图2B提供本发明中所描述的技术的有效结果的概念性绘示。尽管图2B绘示相机装置12各自具有相同定向,但应理解,相机装置12不需要全部定向于相同方向上。更确切地,图2B绘示:在实施本发明中所描述的技术时,结果可为来自不同相机装置12的经捕获图像全部定向至共同基准。
举例来说,在多相机环境中,由相机装置12产生的图像可取决于相机装置12的其物理定向。在转变来自相应相机装置12的图像内容14时,查看者可体验到乱向效应。本发明中所描述的技术可引起产生360度图像,使得在切换相机装置12时存在舒适转变。举例来说,如果相机装置12全部定向至共同基准,那么结果可相似,如图2B中概念上所绘示。
图3为绘示根据本发明中所描述的一或多种实例技术的用于捕获360度视频的实例相机装置的框图。如所绘示,相机装置12A为包含位于相机装置12A的相对侧上以捕获完整360度视频/图像的鱼眼式透镜20A及鱼眼式透镜20B的视频捕获装置。鱼眼式透镜20A及20B的其它定向也许是可能的。举例来说,相机装置12A可包含多于两个鱼眼式透镜,或单一360度透镜。此外,鱼眼式透镜是仅仅作为一个实例被提供,且其它透镜类型是可能的。
相机装置12A的一个实例可包含16个透镜(例如,用于摄影3D VR内容的16相机阵列)。相机装置12A的另一实例可包含八个透镜,每一透镜具有195度视角(例如,每一透镜捕获360度图像内容的195度图像内容)。相机装置12A的其它实例包含四个或三个透镜。一些实例可包含捕获360度图像内容的360度透镜。
本发明中所描述的实例技术大体上是关于相机装置12A包含捕获360度图像/视频的两个鱼眼式透镜予以描述。然而,实例技术并不受到如此限制。实例技术可适用于包含以下各者的相机装置12A的实例:单一360度透镜;多个透镜(例如,两个或多于两个),即使所述透镜不为鱼眼式透镜也如此;及多个鱼眼式透镜。
如上文所描述,360度视频内容可被视为一连串360度图像(例如,视频的帧)。本发明中所描述的实例技术描述与图像相关的技术,其可用于静态图像(例如,360度快照)的目的或用于形成视频(例如,360度视频)的图像。
用户可与相机装置12A交互以捕获360度视频/图像,其中鱼眼式透镜20A及20B中的每一者捕获360度视频/图像的部分,且来自鱼眼式透镜20A及20B的两个视频/图像流调合在一起以产生360度视频/图像。
可存在用户与相机装置12A交互的各种方式。作为一个实例,用户可运用位于相机装置12A上的按钮而与相机装置12A交互。作为另一实例,用户可经由经显示接口(例如,图形用户接口(GUI))而与相机装置12A交互。
在一些实例中,相机装置12A可能不提供显示器。更确切地,相机装置12A输出接着由另一装置(例如,处理装置18)显示的经捕获图像。
如所绘示,相机装置12A包含相机处理器22、图形处理单元(GPU)24、一或多个传感器26,及发射器28。尽管各种组件被绘示为单独组件,但在一些实例中,可组合所述组件以形成系统单芯片(SoC)。作为实例,相机处理器22及GPU 24可形成于共同集成电路(IC)芯片上,或形成于单独IC芯片中。各种其它排列及组合是可能的,且技术不应被视为限于图3所绘示的实例。相机处理器22及GPU 24可被形成为固定功能及/或可编程电路系统,例如在一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效集成或离散逻辑电路系统中。
尽管在图3中绘示了相机装置12A,但相机装置12B至12N可包含相似组件。此外,相机装置12A未必需要在所有实例中包含GPU 24。举例来说,在相机装置12A发射由鱼眼式透镜20A及20B捕获的圆形图像的实例中,相机装置12A可能不包含GPU 24。然而,甚至在相机装置12A发射圆形图像的实例中,仍也许有可能使相机装置12A包含GPU 24。
发射器28可经配置以发射由相机装置12A捕获的图像数据。举例来说,发射器28可包含以无线方式或经由有线连接而将圆形图像及/或投影图像发射至服务器16、另一计算装置或处理装置18的电路系统。
相机处理器22经配置以从透镜20A及20B的相应像素接收电流作为传感器信号,且处理电流以产生相应鱼眼式图像(例如,例如图4A及4B所绘示的图像的圆形图像)的像素数据,例如R、G、B数据、亮度及色度数据等等。尽管描述了一个相机处理器22,但在一些实例中,可存在多个相机处理器(例如,用于透镜20A的一个相机处理器及用于透镜20B的一个相机处理器)。
在一些实例中,相机处理器22可被配置为单输入多数据(SIMD)架构。相机处理器22可对从透镜20A及20B中的每一者上的像素中的每一者接收的电流执行相同操作。SIMD架构的每一通道可包含一图像管线。图像管线包含硬连线电路系统及/或可编程电路系统以处理像素的输出。
举例来说,相机处理器22的每一图像管线可包含用以将电流转换为电压的相应跨阻抗放大器(TIA)及将模拟电压输出转换成数字值的相应模拟/数字转换器(ADC)。由每一像素输出的电流指示红色、绿色或蓝色分量的强度。
除了将模拟电流输出转换为数字值以外,相机处理器22还可执行某一额外后处理以增加最终图像的质量。举例来说,相机处理器22可评估相邻图像像素的颜色及亮度数据且执行去马赛克以更新图像像素的颜色及亮度。作为额外实例,相机处理器22还可执行噪声缩减及图像清晰。
相机处理器22输出所得图像(例如,每一图像像素的像素值)以供GPU 24处理。举例来说,GPU 24可调合像素值以产生投影图像。出于描述简易起见,关于执行操作的GPU 24而描述实例。然而,相机处理器22或者处理装置18、服务器16或某其它装置上的GPU可经配置以调合经捕获图像。
图4A及4B为绘示从图3的装置捕获的图像的图示图解。如所绘示,由透镜20A及20B捕获的两个图像的输出为圆形图像(例如,圆图像)。举例来说,图4A表示由透镜20A捕获的图像,且图4B表示由透镜20B捕获的图像。相机处理器22接收由透镜20A及20B捕获的图像内容且处理图像内容以产生图4A及4B。在一些实例中,图4A及4B可为共同图像帧的部分。
如所绘示,图4A及4B为绘示显得泡状的图像内容的圆形图像。如果两个圆形图像拼接在一起,那么所得图像内容将用于图像内容的整个球体(例如,360度可查看内容)。
返回参看图3,GPU 24可经配置以从由相机处理器22产生的圆形图像产生投影图像。投影图像的实例包含等矩形、立方体、圆柱形、球面、皮尔斯梅花形等等。为了产生投影图像,GPU 24可将每一圆形图像(例如,图4A及4B所绘示的图像中的每一者)纹理映射至投影(例如,等矩形投影、立方体投影、圆柱形投影、球面投影或皮尔斯梅花形投影)上。
举例来说,对于等矩形投影,存在二维矩形结构。GPU 24从圆形图像取得一个像素且将所述像素的像素值映射至矩形结构上的位置上。在被称作纹理映射的过程中,GPU 24针对圆形图像中的每一像素重复这些步骤,且将所述像素映射至矩形结构。圆形图像被视为颜色纹理,且圆形图像的像素被称作纹理映射中的材质(texel)。
第一圆形图像至第一矩形结构的纹理映射的结果为第一中间图像。GPU 24可重复此过程,但关于第二圆形图像,以产生第二中间图像(例如,将第二圆形图像纹理映射至矩形结构)。GPU 24接着可将两个中间图像拼接在一起以产生投影图像。作为实例,GPU24的调合器电路可调合第一中间图像的底部边界上的像素的像素值与第二中间图像的上部边界上的像素,从而产生等矩形图像。
GPU 24可针对由透镜20A及20B捕获的多个圆形图像重复这些操作以产生一组图像(例如,一组等矩形图像)。在此实例中,所述一组等矩形图像包含图像内容14A的内容。
对于皮尔斯梅花形,GPU 24可执行相似操作。举例来说,对于皮尔斯梅花形,还可存在GPU 24将圆形图像纹理映射至的二维矩形结构。然而,GPU 24将用于皮尔斯梅花形图像的圆形图像的像素映射至的二维结构上的位置不同于GPU 24将用于等矩形图像的圆形图像的像素映射至的二维结构的位置。对于立方体、圆柱形及球面投影,GPU24可执行相似操作,但纹理映射至三维结构(例如,立方体、圆柱体或球体)。
如上文所描述,一个可能问题可为,来自不同相机装置12的投影图像(例如,等矩形图像或皮尔斯梅花形图像)中的每一者可能不定向至相同定向基准(例如,相对于方位角、振幅或旋转角度的位置,或场景或查看者凝视/头部的位置)。接着,在处理装置18在图像内容14(例如,图像内容14A至14B)之间切换时,查看者可能需要重新定向,使得图像内容14B以与图像内容14A定向的方式相同的方式定向。
在本发明中所描述的实例中,相机装置12A包含一或多个传感器26(例如,磁力计传感器、惯性测量单元(IMU)或陀螺仪)以将投影图像定向至共同定向基准。其它相机装置12可包含相似的一或多个传感器26。
作为实例,在GPU 24产生投影图像之后,GPU 24可接收指示特定地理方向的对准的信息。GPU 24接着可调整投影图像,使得地理方向对准至投影图像上的特定坐标点。
一般来说,GPU 24可移位、旋转、剪切或扭曲投影图像以将投影图像调整至与特定地理方向的对准。举例来说,为了将投影图像旋转90度,GPU 24可将投影图像上的像素的x坐标值设定为经调整投影图像上的y坐标,且将投影图像上的像素的y坐标值设定为经调整投影图像上的x坐标。
作为另一实例,GPU 24可执行另一纹理映射遍次。在此纹理映射遍次中,投影图像形成纹理,且GPU 24将来自投影图像的像素纹理映射至具有相似于投影图像的形状的结构上,但在不同位置处纹理映射至此结构上(例如,将投影图像的每一像素移位45度而至此结构上以产生旋转45度的经调整投影图像)。
用以调整投影图像的其它方式是可能的,且以上技术不应被视为限制性的。举例来说,GPU 24可将圆形图像的像素纹理映射至其最终正确位置,使得投影图像定向至共同定向基准(例如,基于地理方向而对准)作为纹理映射的部分,而非产生投影图像且接着调整投影图像。
对于等矩形及圆柱形投影,GPU 24可以环绕方式执行像素的水平移位,以便对准至共同定向基准。球面变换及旋转也可由GPU 24执行。对于立方体投影,GPU 24可使用来自一或多个传感器26的信息以显现立方体的六个侧。对于皮尔斯梅花形,GPU 24可将来自一或多个传感器26的信息集成至由Puentes等人在“Elucidating Peirce QuincuncialProjection”中所描述的Peirce/Pierpont公式中,所述文献的内容的全文是以引用的方式并入。
图5A为绘示在未定向至定向基准的情况下产生的图像的图示图解。举例来说,图5A绘示GPU 24基于透镜20A及20B的角度而产生等矩形图像的实例。如果相机装置12中的每一者产生相似等矩形图像,那么从图像内容14中的一者切换至图像内容14中的另一者可引起在所显示的360度查看体积内需要查看者重新定向。
图5B为绘示在定向至定向基准的情况下产生的图像的图示图解。在图5B中,GPU24调整图5A所绘示的投影图像,使得经调整投影图像中的顶部中心坐标被对准为北。基于来自一或多个传感器26的测量,GPU 24可确定北位于图5A所绘示的投影图像中的何处。GPU24接着可调整图5A的投影图像,使得北对准至顶部中心坐标,如图5B所绘示。
在一些实例中,对准至地理方向可提供第一程度的调整(例如,在第一维度上)。GPU24可对经调整投影图像执行第二程度的调整以产生另一经调整投影图像。一或多个传感器26可包含陀螺仪或IMU。GPU 24可使用从陀螺仪或IMU产生的信息以将倾角进一步调整至共同定向基准。此外,一或多个传感器26可用以将旋转角度进一步调整至共同定向基准。
图6A及6B为绘示从图1的装置捕获的图像的图示图解。举例来说,图6A及6B相似于图4A及4B的图解,但具有不同内容。图6C为绘示从图6A及6B的图像产生的图像的图示图解,所述图像是在定向至定向基准的情况下定向。举例来说,图6C绘示皮尔斯梅花形投影图像的实例。在此实例中,GPU 24可将北对准至投影图像的右顶部拐角,而非将北对准至投影图像的顶部中心。
尽管以上实例是关于执行实例技术的相机装置12A的GPU 24予以描述,但本发明的方面并不受到如此限制。举例来说,发射器28可将用于圆形图像(例如,例如图4A、4B、6A及6B的图像的图像)的图像数据发射至服务器16、某其它计算装置或处理装置18。另外,发射器28可将方向信息、倾角信息及/或旋转角度信息输出至这些其它装置。作为实例,这些其它装置上的GPU接着可产生定向至定向基准的投影图像,例如图5B及6C所绘示的图像,且接着将投影图像发射回至某其它装置。
图7为经配置以执行本发明中所描述的实例技术中的一或多者的图1的处理装置的框图。图7的处理装置18的实例包含:个人计算机;桌上型计算机;膝上型计算机;平板计算机;计算机工作站;视频游戏平台或控制台;无线通信装置(例如移动电话、蜂窝电话、卫星电话及/或移动电话手机);固定电话;互联网电话;手持型装置,例如便携式视频游戏装置或个人数字助理(PDA);个人音乐播放器;视频播放器;显示装置、相机;电视;电视机顶盒;服务器;中间网络装置;大型机计算机;或处理及/或显示图形数据的任何其它类型的装置。
如图7的实例中所绘示,处理装置18包含收发器30、位置跟踪器31、中央处理单元(CPU)32、图形处理单元(GPU)34及GPU 34的本地存储器36、用户接口38、提供对系统存储器46的存取的存储器控制器40,及输出致使图形数据显示于显示器44上的信号的显示处理器42。
此外,尽管各种组件被绘示为单独组件,但在一些实例中,可组合所述组件以形成系统单芯片(SoC)。作为实例,CPU 32、GPU 34及显示处理器42可形成于共同集成电路(IC)芯片上。在一些实例中,CPU 32、GPU 34及显示处理器42中的一或多者可在单独IC芯片中。各种其它排列及组合是可能的,且技术不应被视为限于图7所绘示的实例。
图7所绘示的各种组件(无论形成于一个装置还是不同装置上)可被形成为固定功能及/或可编程电路系统,或此类电路系统的组合,例如在一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效集成或离散逻辑电路系统中。本地存储器36的实例包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、磁性数据媒体或光学存储媒体。
图7所绘示的各种单元使用总线47而彼此通信。总线47可为多种总线结构中的任一者,例如第三代总线(例如,HyperTransport总线或InfiniBand总线)、第二代总线(例如,高级图形端口总线、外围组件互连(PCI)高速总线或高级可扩展接口(AXI)总线)或另一类型的总线或装置互连。应注意,图7所展示的不同组件之间的总线及通信接口的特定配置仅仅是示范性的,且计算装置的其它配置及/或具有相同或不同组件的其它图像处理系统可用以实施本发明的技术。
CPU 32可包括控制处理装置18的操作的通用或专用处理器。用户可将输入提供至处理装置18以致使CPU 32执行一或多个软件应用程序。在CPU 32上执行的软件应用程序可包含例如字处理器应用程序、网页浏览器应用程序、电子邮件应用程序、照片查看应用程序、照片编辑应用程序、图形编辑应用程序、电子数据表应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或另一程序。用户可经由例如键盘、鼠标、麦克风、触摸板或经由用户输入接口38而耦合至处理装置18的另一输入装置的一或多个输入装置(未展示)而将输入提供至处理装置18。
软件应用程序的一个实例为查看应用程序。CPU 32执行查看应用程序以查看由相机装置12捕获的图像内容14。举例来说,响应于执行查看应用程序,CPU 32可将命令输出至收发器30以从服务器16或相机装置12检索圆形图像、投影图像或此两者。作为响应,收发器30可与服务器16形成无线或有线连接,且从服务器16下载用于图像内容14的圆形图像及/或投影图像。
在一些实例中,CPU 32可致使收发器30下载用于特定图像内容14的圆形图像及/或投影图像。在一些实例中,CPU 32可致使收发器30下载用于多个或全部图像内容14的圆形图像及/或投影图像。作为响应,收发器30可从经指示图像内容14下载圆形图像及/或投影图像,且经由存储器控制器40而将圆形图像及/或投影图像作为来自相应相机装置12的多组图像而存储于系统存储器46中。
在CPU 32上执行的查看应用程序可包含指示CPU 32致使将图形数据显现至显示器44的一或多个图形显现指令。在一些实例中,查看应用程序的指令可符合图形应用程序编程接口(API),例如开源图形库API、开源图形库嵌入式系统(OpenGL ES)API、OpenCL API、Direct3D API、X3D API、RenderMan API、WebGL API,或任何其它公共或专有标准图形API。技术不应被视为限于需要特定API。
作为一个实例,用户可执行查看应用程序以使收发器下载圆形图像及/或投影图像以供存储于系统存储器46中。在存储之后,查看应用程序可致使CPU 32指示GPU 34显现圆形图像及/或投影图像以供显示。查看应用程序可使用符合例如OpenGL API的实例API的软件指令以指示GPU 34显现图像(例如,圆形图像及/或投影图像)以供显示。
响应于经接收指令,GPU 34可接收圆形图像及/或投影图像的图像内容且显现图像以产生360度视频。显示器44显示360度视频。用户可与用户接口38交互以修改查看观点,使得查看者可查看完整360度视频(例如,在上方、在后方、在前方及360球体的所有角度的查看)。
查看者还可与用户接口38交互以移动通过360度视频的查看体积。举例来说,查看者可与用户接口38交互以在360度视频的查看体积中向前、向后、向左、向右、向上或向下移动。作为实例,在房屋环境背景中,查看者可感知好像他或她正移动通过房屋中的走廊。在婚礼环境背景中,查看者可感知好像他或她正从接待处的一桌移动至另一桌。
存储器控制器40促进对进入及离开系统存储器46的数据的传送。举例来说,存储器控制器40可接收存储器读取及写入命令,且关于存储器46而服务于此类命令以便提供用于处理装置18中的组件的存储器服务。存储器控制器40以通信方式耦合至系统存储器46。尽管存储器控制器40在图7的处理装置18的实例中被绘示为与CPU 32及系统存储器46两者分离的处理电路,但在其它实例中,存储器控制器40的功能性中的一些或全部可实施于CPU32及系统存储器46中的一者或两者上。
系统存储器46可存储可由CPU 32及GPU 34存取的程序模块及/或指令及/或数据。举例来说,系统存储器46可存储用户应用程序(例如,用于查看应用程序的指令)、来自相机装置12的所得图像等等。系统存储器46可另外存储供处理装置18的其它组件使用及/或由处理装置18的其它组件产生的信息。系统存储器46可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、磁性数据媒体或光学存储媒体。
在一些方面中,系统存储器46可包含致使CPU 32及GPU 34以及显示处理器42执行归属于本发明中的这些组件的功能的指令。因此,系统存储器46可为计算机可读存储媒体,其上存储有指令,指令在执行时致使一或多个处理器(例如,CPU 32、GPU 34及显示处理器42)执行各种功能。
在一些实例中,系统存储器46为非暂时性存储媒体。术语“非暂时性”指示存储媒体并不以载波或传播信号予以体现。然而,术语“非暂时性”不应被解释为意味着系统存储器46为不可移动的或其内容为静态的。作为一个实例,可从装置18移除系统存储器46,且将系统存储器46移动至另一装置。作为另一实例,可将大体上相似于系统存储器46的存储器插入至装置18中。在某些实例中,非暂时性存储媒体可存储可随着时间推移而改变的数据(例如,在RAM中)。
CPU 32及GPU 34可在系统存储器46内分配的相应缓冲器中存储图像数据等等。显示处理器42可从系统存储器46检索数据且配置显示器44以显示由经产生图像数据表示的图像。在一些实例中,显示处理器42可包含经配置以将从系统存储器46检索的数字值转换成可由显示器44取用的模拟信号的数字/模拟转换器(DAC)。在其它实例中,显示处理器42可将数字值直接传递至显示器44以供处理。
显示器44可包含:监视器;电视;投影装置;液晶显示器(LCD);等离子体显示面板;发光二极管(LED)阵列,例如有机发光二极管(OLED)显示器;阴极射线管(CRT)显示器;电子纸;表面传导电子发射显示器(SED);激光电视显示器;纳米晶体显示器;或另一类型的显示单元。显示器44可集成于处理装置18内。举例来说,显示器44可为移动电话手机或平板计算机的屏幕。替代地,显示器44可为经由有线或无线通信链路而耦合至处理装置18的独立装置。举例来说,显示器44可为经由电缆或无线链路而连接至个人计算机的计算机监视器或平板显示器。
在处理装置18接收圆形图像的实例中,GPU 34可经配置以基于比如上文关于GPU24所描述的操作的相似操作而产生投影图像。举例来说,GPU 34可纹理映射圆形图像以产生等矩形投影图像或皮尔斯梅花形投影图像,且相似操作用于立方体、圆柱形或球面投影图像。
举例来说,GPU 34可接收(例如,从系统存储器46)从第一位置中的相机装置12A产生的第一组图像。这些第一组图像可为圆形图像及/或投影图像。在第一组图像为圆形图像的实例中,GPU 34可执行相似于上文关于GPU 24所描述的操作的操作以产生投影图像,且在系统存储器46中存储投影图像。另外,GPU 34可接收从一或多个传感器26搜集的信息。相机装置12可将从相应一或多个传感器26搜集的信息发射至供收发器30接收经搜集信息的服务器16以供存储于系统存储器46中,且GPU 34从系统存储器46接收经搜集信息。GPU 34可使用从一或多个传感器26搜集的信息以调整投影图像的定向。
在一些实例中,位置跟踪器31可经配置以跟踪查看者眼睛(例如,凝视)或头部的位置,且将指示查看者眼睛或头部的位置的信息输出至CPU 32。此外,在将指令提供至GPU34以显现图像内容14时,CPU 32可提供指示查看者眼睛或头部的位置的信息。在显现图像内容14B时,GPU 34可定位图像内容14B,使得查看者不改变他或她的眼睛位置或头部位置。举例来说,在从来自由相机装置12A捕获的图像内容14A的经显现的第一组图像转变至来自由相机装置12B捕获的图像内容14B的第二组图像时,GPU34可将第二组图像显现至与经显现的第一组图像共同的基准(例如,查看者眼睛或头部的位置)。
在一些实例中,CPU 32可确定图像内容14A与图像内容14B之间的共同性。CPU 32可指示GPU 34显现图像内容14B,使得在显示器44上的同一位置处显示共同内容。举例来说,为了显现图像内容14B,CPU 32可指示GPU 34显现为第一组图像中的图像内容14A及第二组图像中的图像内容14B两者所共有的场景内容,使得在与用于图像内容14A的经显现的第一组图像中的共同场景内容的位置相同的位置中在用于图像内容14B的经显现的第二组图像中显示共同场景内容。以此方式,在从来自由相机装置12A捕获的图像内容14A的经显现的第一组图像至来自由相机装置12B捕获的图像内容14B的第二组图像的转变中,GPU 34可将第二组图像显现至与经显现的第一组图像共同的基准(例如,共同场景)。
在第一组图像为投影图像的实例中,投影图像可能已定向至定向基准。在此类状况下,GPU 34可能不需要进一步调整。然而,在一些实例中,第一组图像可为投影图像,但投影图像可能尚未定向至定向基准。在此类实例中,GPU 34可将投影图像的定向调整至共同定向基准。
相似地,GPU 34可接收(例如,从系统存储器46)从第二不同位置中的相机装置12B产生的第二不同组图像。这些第二组图像可为圆形图像及/或投影图像。GPU 34可执行如上文关于第一组图像所描述的相似操作以产生具有定向基准(例如,与用于经显现的第一组图像的定向基准相同的定向)的投影图像。
GPU 34可能不同时调整用于第一组图像及第二组图像两者的定向;但此类并行定向调整是可能的。CPU 32可向GPU 34指示图像内容14中的哪一者将被显现以供显示。作为实例,CPU 32可向GPU 34指示来自由相机装置12A捕获的图像内容14A的圆形图像及/或投影图像将被显现以供显示。在此实例中,GPU 34可将用于第一组图像的定向(在需要时)调整至定向基准。
接着,在CPU 32向GPU 34指示来自由相机装置12B捕获的图像内容14B的圆形图像及/或投影图像将被显现以供显示时,GPU 34可将用于第二组图像的定向(在需要时)调整至定向基准(例如,与经显现的第一组图像相同的定向基准)。举例来说,GPU 34可调整第一组图像的定向,使得经显现的第一组图像具有定向基准,且GPU 34可调整第二组图像的定向,使得经显现的第二组图像具有定向基准(例如,与经显现的第一组图像相同的定向基准)。如上文所描述,例如在用于图像内容14A及14B的经接收投影图像已经定向至共同定向基准(例如,由相机装置12A及12B、服务器16或某其它装置)的状况下,GPU 34可能不需要调整第一及第二组图像的定向。
在任何情况下,一旦系统存储器46存储用于第一组图像的投影图像,GPU 34就可显现定向至定向基准的第一组图像以供显示。接着,在GPU 34切换至第二组图像(例如,因为查看者与用户接口38交互以进入由图像内容14B覆盖的区域)时,GPU 34可显现定向至定向基准(例如,与用于经显现的第一组图像的定向基准相同的定向基准)的第二组图像以供显示。以此方式,查看者在从图像内容14A至图像内容14B的切换中可能不会感知到不和谐体验。举例来说,显现第二组图像以供显示包含将经显现的第一组图像的显示切换至显现第二组图像以供显示。
在本发明中所描述的实例技术中,GPU 34包含图形处理管线,其包含用于显现来自不同相机装置12的不同组图像以供显示的处理电路系统(例如,可编程电路系统及/或固定功能电路系统)。举例来说,GPU 34可包含用于执行实例技术的操作的纹理硬件电路系统。GPU 34还可包含用于执行实例技术的操作的用于调合的处理电路系统。
举例来说,GPU 34可使用纹理映射以将投影图像映射至球面网格模型上。球面网格模型可包含多个基元(例如,点、线、三角形、正方形或其它多边形),每一基元具有一或多个顶点。基元的互连形成球体的网格模型。GPU 34可使用纹理映射以将用于第一图像的投影图像映射至球面网格模型上,且显现球面网格模型以产生可查看的360度图像内容。
为了执行纹理映射,GPU 34可将来自投影图像的像素映射至球面网格模型的三维顶点(例如,每一顶点具有x、y及z坐标)上。结果可为具有投影图像的内容的球体。作为说明,设想二维世界地图映射至球体上以形成地球。GPU 34接着可显现此球体以产生可查看的360度图像。
GPU 34可将显现的结果输出至系统存储器46。显示处理器42可从系统存储器46检索图像内容且在显示器44上显示所得的360度图像。在一些实例中,显示器44可显示整个球体的部分,且查看者可与装置18介接(例如,经由显示器44或用户接口38)以选择将查看球体的哪一部分。
以此方式,GPU 34可显现定向至定向基准的第一组图像以供显示,且显现定向至与用于经显现的第一组图像的定向基准相同的定向基准的第二组图像以供显示。如上文所描述,GPU 34不需要同时显现第一组图像及第二组图像以供显示,但可从经显现的第一组图像的显示切换至显现第二组图像以供显示。然而,可同时从不同相机装置12产生第一组图像及第二组图像。
在一些实例中,定向基准为地理方向,其中地理方向是基于罗盘测量(例如,来自一或多个传感器26)。举例来说,GPU 34可显现第一组图像以供显示,使得位于相对于相机装置12A的第一地理方向上的图像内容位于第一组图像的经显现图像内的第一坐标处(例如,北对准至顶部中心坐标)。GPU 34可显现第二组图像以供显示,使得位于相对于相机装置12B的第二地理方向上的图像内容位于第二组图像的经显现图像内的第二坐标处。在此实例中,第一地理方向及第二地理方向为相同地理方向(例如,被对准为北),且第一坐标及第二坐标为相同坐标(例如,如图5B所绘示的顶部中心坐标或如图6C所绘示的右顶部坐标)。
GPU 34可接收已经定向至相同定向基准的第一组图像及第二组图像。在一些实例中,GPU 34可接收指示相对于第一组图像的定向基准的信息,且接收指示相对于第二组图像的定向基准的信息。GPU 34可基于指示相对于第一及第二组图像的定向基准的信息而调整第一及第二组图像的定向。在此类实例中,GPU 34可显现具有经调整定向的第一及第二组图像以供显示。
另外,在一些实例中,GPU 34可将第一及第二组图像显现至两个不同定向基准(例如,地理方向对准及倾角对准)或三个不同定向基准(例如,地理方向对准(方位角)、倾角对准(高程)及旋转角度)以供显示。举例来说,GPU 34可显现定向至第一定向基准(例如,地理方向对准)及第二定向基准(例如,倾角对准)及/或第三定向(例如,旋转角度)的第一组图像以供显示。GPU 34还可显现定向至第一定向及与用于第一组图像的第二定向基准相同的第二定向基准以及与用于第一组图像的第三定向基准相同的第三定向基准的第二组图像以供显示。
在一些实例中,GPU 34可显现为在大体上同一位置中显示的第一组图像及第二组图像两者所共有的场景内容的第二组图像以供显示。举例来说,GPU 34可显现为第一组图像及第二组图像两者所共有的场景内容,使得在与经显现的第一组图像中的共同场景内容的位置相同的位置中在经显现的第二组图像中显示共同场景内容。在一些实例中,GPU 34可在查看者正查看第一组图像时基于查看者凝视或头部的位置而显现第二组图像以供显示(例如,基于查看者凝视或头部位置而选择定向基准)。
图8为进一步详细地绘示图6的处理装置18的CPU 32、GPU 34及系统存储器46的框图。如图8所展示,CPU 32以通信方式耦合至GPU 34及存储器46,且GPU 34以通信方式耦合至CPU 32及存储器46。在一些实例中,GPU 34可与CPU 32一起集成至主板上。在额外实例中,GPU 34可实施于安装于包含CPU 32的主板的端口中的图形卡上。在另外实例中,GPU 34可结合于经配置以与CPU 32相互操作的外围装置内。在额外实例中,GPU 34可与CPU 32位于同一处理电路系统上,从而形成系统单芯片(SoC)。
CPU 32经配置以执行应用程序48、图形API 50、GPU驱动器52及操作系统54。GPU34包含控制器56、着色器核心58及一或多个固定功能单元60。
查看应用程序48可包含致使显示图形内容的一或多个指令或致使对GPU 34执行非图形任务(例如,通用计算任务)的一或多个指令中的至少一些。作为实例,查看应用程序48可致使GPU 34致使CPU 32显现360度视频或图像以供显示。查看应用程序48可将指令发出至图形API 50。图形API 50可为将从软件应用程序48接收的指令翻译成可由GPU驱动器52取用的格式的运行时服务。在一些实例中,图形API 50及GPU驱动器52可为同一软件服务的部分。
GPU驱动器52经由图形API 50而从查看应用程序48接收指令,且控制GPU 34的操作以服务于指令。举例来说,GPU驱动器52可制订一或多个命令流,将命令流放置至存储器46中,且指示GPU 34执行命令流。GPU驱动器52可将命令流放置至存储器46中且经由操作系统54(例如,经由一或多个系统调用)而与GPU 34通信。
GPU 34的控制器56经配置以检索存储于命令流中的命令,且分派命令以供在着色器核心58及一或多个固定功能单元60上执行。控制器56可分派来自命令流的命令以供在一或多个固定功能单元60或者着色器核心58及一或多个固定功能单元60的子集上执行。控制器56可为GPU 34的硬件固定功能电路系统,可为用于执行软件或固件的GPU 34的可编程电路系统,或此两者的组合。
着色器核心58包含可编程电路系统(例如,供执行软件的处理核心)。一或多个固定功能单元60包含经配置成以最小功能灵活性执行有限操作的固定功能电路系统。着色器核心58及一或多个固定功能单元60一起形成经配置以执行图形处理的图形管线。
着色器核心58可经配置以执行从CPU 32下载至GPU 34上的一或多个着色器程序。在一些实例中,着色器程序可为以高级着色语言(例如,OpenGL着色语言(GLSL)、高级着色语言(HLSL)、C for Graphics(Cg)着色语言等等)而编写的程序的经编译版本。在一些实例中,着色器核心58可包含经配置以并行地操作的多个处理单元(例如,SIMD管线)。着色器核心58可具有存储着色器程序指令的程序存储器,及指示程序存储器中的当前指令正被执行或下一指令将被提取的执行状态寄存器(例如,程序计数器寄存器)。在着色器核心58上执行的着色器程序的实例包含例如顶点着色器、像素着色器(也被称作片段着色器)、几何形状着色器、轮廓着色器、域着色器、计算着色器,及/或统一着色器。
固定功能单元60可包含经硬连线以执行某些功能的硬件。尽管固定功能硬件可经由一或多个控制信号而可配置例如以执行不同功能,但固定功能硬件通常不包含能够接收用户编译的程序的程序存储器。在一些实例中,一或多个固定功能单元60可包含例如执行光栅操作(例如,深度测试、剪刀测试、α调合等等)的处理单元。
CPU 32的GPU驱动器52可经配置以将命令流写入至存储器46,且GPU 34的控制器56可经配置以从存储器46读取命令流的一或多个命令。在一些实例中,命令流中的一者或两者可作为环形缓冲器而存储于存储器46中。环形缓冲器可为具有圆形寻址方案的缓冲器,其中CPU 32及GPU 34维持与数据至环形缓冲器的写入及数据从环形缓冲器的读取相关联的同步状态变量。举例来说,如果第一命令流为环形缓冲器,那么CPU 32及GPU 34中的每一者可将指示待写入至的下一地址的写入指针存储于环形缓冲器中,且将指示待供读取的下一地址的读取指针存储于环形缓冲器中。
在CPU 32将新命令写入至环形缓冲器时,CPU 32可更新CPU 32中的写入指针且指示GPU 34更新GPU 34中的写入指针。相似地,在GPU 34从环形缓冲器读取新命令时,GPU 34可更新GPU 34中的读取指针且指示CPU 32更新CPU 32中的读取指针。其它同步机制是可能的。在读取及/或写入指针到达经分配用于环形缓冲器的地址范围内的最高地址时,读取及/或写入指针可环绕至最低地址以实施圆形寻址方案。
现在关于图8来描述实例GPU驱动器52及实例GPU控制器56的实例操作。GPU驱动器52从查看应用程序48接收指定待由GPU 34执行的图形操作及/或通用计算操作的一或多个指令。GPU驱动器52将输出命令流放置至可由GPU控制器56存取的存储器46中。GPU驱动器52向GPU控制器56通知对应于查看应用程序48的命令流可用于处理。举例来说,GPU驱动器52可将指示命令流就绪以供执行的一或多个值写入至GPU寄存器(例如,由GPU 34轮询的GPU硬件寄存器及/或由GPU 34轮询的GPU存储器映射寄存器)。
在通知命令流就绪以供执行后,GPU 34的控制器56就可确定资源当前是否可用于GPU 34上以开始执行命令流。如果资源是可用的,那么控制器56开始分派命令流中的命令。
作为图形处理的部分,CPU 32可将某些图形处理任务分担至GPU 34。举例来说,应用程序48可产生球面网格模型的基元的顶点坐标,且将所述坐标作为球面网格模型坐标64而存储于存储器46中。另外,应用程序48可存储处理装置18从服务器16接收的多组图像。举例来说,应用程序48可存储多组图像62A至62N,用于图像内容14的每一组图像是从相应相机装置12产生的。在一些实例中,应用程序48不需要同时存储多组图像62A至62N的全部;但此类存储是可能的。应用程序48可存储GPU 34将显现以供显示的图像内容14的多组图像。
GPU驱动器52可指示控制器56检索多组图像62A至62N中的一者进行显现以供显示。在GPU 34将产生投影图像或调整投影图像的定向的实例中,GPU驱动器52可指示控制器56检索多组图像62A至62N中的一者以用于产生投影图像及/或将投影图像的定向调整至共同定向基准。
在需要时,GPU驱动器52可指示控制器56致使为固定功能单元60的实例的纹理映射硬件执行纹理映射以基于上文所描述的操作而从圆形图像产生投影图像。此外,在需要时,GPU驱动器52可指示控制器56致使着色器核心58执行经开发用于将投影图像调整至共同定向基准的顶点着色器及/或像素着色器。
举例来说,查看应用程序48可将投影图像划分成多个基元。在着色器核心58上执行的顶点着色器可调整基元的顶点坐标以将投影图像的定向调整至共同定向基准。举例来说,顶点着色器可接收由查看应用程序48定义的乘法矩阵,投影图像的每一顶点将乘以乘法矩阵的值以产生将投影图像对准至共同定向基准的新顶点。在投影图像已经适当地定向至共同定向基准的实例中,可能不需要由顶点着色器进行此操作。
GPU驱动器52可指示控制器56将命令分派至固定功能单元60的纹理映射硬件以执行纹理映射以将投影图像映射至球面网格模型。为了执行纹理映射,GPU驱动器52可向GPU34指示投影图像的哪些坐标对应于哪些球面网格模型坐标64。用以指示此类对应性的一个实例方式是经由将在着色器核心58的电路系统上执行的顶点着色器。顶点着色器的功能是对球面网格模型的顶点执行处理。为了执行此类处理,应用程序48经由图形API 50及GPU驱动器52而指示控制器56从存储器46检索多批顶点坐标(例如,被存储为球面网格模型坐标64的球面网格模型的基元的顶点坐标)。另外,应用程序48经由图形API 50及GPU驱动器52而可指示控制器56检索投影图像(例如,多组图像62A至62N中的一者)的坐标。
控制器56可将球面网格模型的基元的顶点坐标的x、y、z坐标及对应基元的投影图像的坐标的s、t坐标作为输入而提供至顶点着色器以供处理。另外,应用程序48经由图形API 50及GPU驱动器52而指示为固定功能单元60的实例的纹理硬件电路检索投影图像的基元且将所述基元存储于本地存储器36中(图7中绘示了本地存储器36)。
应用程序48经由图形API 50及GPU驱动器52而可将命令发出至纹理硬件电路,所述命令指示纹理硬件电路将投影图像的基元覆叠至球面网格模型基元上。纹理硬件电路可将投影图像的基元拉伸或以其它方式调整大小,如由应用程序48所指示,使得投影图像的基元拟合于球面网格模型的基元内(例如,经由内插、滤波及其它数学运算以缩放纹理基元)。纹理硬件电路可基于投影图像的基元的顶点属性而向球面网格模型的顶点指派顶点属性(例如,颜色及不透明度值)。
GPU 34的固定功能单元60可光栅化来自顶点着色器的输出,且将经光栅化基元输出至像素着色器。应用程序48经由图形API 50及GPU驱动器52而可致使GPU 34的控制器56对着色器核心58的电路系统执行像素着色器(也被称为片段着色器)。像素着色器可向经光栅化基元中的对应像素指派来自投影图像的基元的像素值以显现360度图像内容以供显示。CPU 32及GPU 34可针对球面网格模型的基元及投影图像的基元的全部重复这些步骤。
来自显现投影图像以供显示的结果为由GPU 34存储于存储器46中的图像流66。显示处理器42检索图像流66且处理图像流以供显示器44取用。在查看者与用户接口38交互以在360度图像内容中移动时,CPU 32可致使GPU 34停止一组图像62A至62N的显现且开始另一组图像62A至62N的显现。CPU 32及GPU 34可对新组图像62A至62N重复以上实例操作。GPU34接着可将来自新组图像62A至62N的所得的360度图像内容添加至图像流66上以用于从图像内容14中的一者至图像内容14中的另一者的无缝转变。
图9为绘示根据本发明中所描述的一或多种实例技术的实例操作方法的流程图。GPU 34从位于第一位置中的相机装置12中的第一者接收第一组图像(68)。第一组图像可为已经定向至共同定向基准的第一组投影图像,可为尚未定向至共同定向基准的第一组投影图像,或可为由透镜20A及透镜20B捕获的第一组圆形图像。如果投影图像尚未定向至共同定向基准,那么GPU 34可将图像定向至共同定向基准。对于圆形图像,GPU34可纹理映射圆形图像以产生投影图像,且接着将投影图像定向至共同定向基准。
GPU 34可显现定向至定向基准的第一图像以供显示(70)。举例来说,GPU 34可将投影图像纹理映射至球面网格模型,且将球面网格模型显现至图像内容球体以供显示。GPU34可将图像内容球体的图像内容存储为图像流66。
在CPU 32确定GPU 34将显现由第二不同相机装置12捕获的显示图像内容(例如,切换至显现不同图像内容以供显示)时,GPU 34从第二不同位置中的第二不同相机装置12接收第二组图像(72)。如同第一组图像,GPU 34可产生投影图像且将投影图像定向至为与经显现的第一组图像相同的定向基准的共同定向基准。
GPU 34可显现定向至与经显现的第一组图像相同的定向基准的第二组图像以供显示(74)。举例来说,GPU 34可将第二组图像的投影图像纹理映射至球面网格模型,且将球面网格模型显现至图像内容球体以供显示。GPU 34可将图像内容球体的图像内容存储为图像流66。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或在计算机可读媒体上发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体。以此方式,计算机可读媒体通常可对应于非暂时性的有形计算机可读存储媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。应理解,计算机可读存储媒体及数据存储媒体并不包含载波、信号或其它暂时性媒体,而是涉及非暂时性的有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘运用激光以光学方式再现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
指令可由例如以下各者的一或多个处理器执行:一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或结合在组合式编解码器中。此外,所述技术可完全地实施于一或多个电路或逻辑元件中。
本发明的技术可实施于各种各样的装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述了各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必要求由不同硬件单元来实现。更确切地,如上文所描述,各种单元可组合于编解码器硬件单元中,或通过相互操作性硬件单元的集合结合合适软件及/或固件而提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (26)

1.一种用于产生图像内容的方法,所述方法包括:
接收从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;
显现定向至定向基准的所述第一组图像以供显示;
接收从第二位置中的第二相机装置产生的第二组图像,所述第二相机装置具有第二定向,其中所述第二相机装置不同于所述第一相机装置,并且所述第二定向不同于所述第一定向;及
显现定向至所述定向基准的所述第二组图像以供显示,
其中,显现定向至定向基准的所述第一组图像以供显示包括在显示器上的一位置处显现所述第一组图像和所述第二组图像两者共同的场景内容,
其中,显现所述第二组图像以供显示包括在显示器上与经显现的第一组图像中的共同的场景内容的位置相同的位置处显现所述第一组图像和所述第二组图像两者共同的场景内容,
其中所述第一组图像包括第一360度图像内容,并且所述第二组图像包括第二360度图像内容。
2.根据权利要求1所述的方法,其进一步包括:
在显现所述第一组图像以供显示时确定查看者的凝视或头部位置,其中所述定向基准是基于所述查看者的确定的凝视或头部位置而选择。
3.根据权利要求1所述的方法,其中所述定向基准包括地理方向。
4.根据权利要求1所述的方法,其中显现所述第一组图像以供显示包括:显现所述第一组图像以供显示,使得位于相对于所述第一相机装置的第一地理方向上的图像内容位于所述第一组图像的经显现图像内的第一坐标处;其中显现所述第二组图像以供显示包括:显现所述第二组图像以供显示,使得位于相对于所述第二相机装置的第二地理方向上的图像内容位于所述第二组图像的经显现图像内的第二坐标处;且
其中所述第一地理方向及所述第二地理方向为相同地理方向,且所述第一坐标及所述第二坐标为相同坐标。
5.根据权利要求1所述的方法,还包括从显现的第一组图像的显示切换至显现所述第二组图像以供显示。
6.根据权利要求1所述的方法,其进一步包括:
接收指示相对于所述第一组图像的所述定向基准的信息;
接收指示相对于所述第二组图像的所述定向基准的信息;
基于指示相对于所述第一组图像的所述定向基准的所述信息而调整所述第一组图像的定向;及
基于指示相对于所述第二组图像的所述定向基准的所述信息而调整所述第二组图像的定向,
其中显现所述第一组图像以供显示包括显现具有调整的定向的所述第一组图像以供显示,且
其中显现所述第二组图像以供显示包括显现具有调整的定向的所述第二组图像以供显示。
7.根据权利要求1所述的方法,其中接收所述第一组图像包括接收定向至所述定向基准的所述第一组图像,且其中接收所述第二组图像包括接收定向至所述定向基准的所述第二组图像。
8.根据权利要求1所述的方法,其中所述定向基准包括第一定向基准及第二定向基准,其中显现所述第一组图像以供显示包括显现定向至所述第一定向基准及第二定向基准的所述第一组图像以供显示,且其中显现所述第二组图像以供显示包括显现定向至所述第一定向及所述第二定向基准的所述第二组图像以供显示。
9.根据权利要求8所述的方法,其中显现所述第一组图像以供显示包括显现定向至所述第一定向基准、所述第二定向基准及第三定向基准的所述第一组图像以供显示,且其中显现所述第二组图像以供显示包括显现定向至所述第一定向基准、所述第二定向基准及所述第三定向基准的所述第二组图像以供显示。
10.根据权利要求1所述的方法,其中所述第一相机装置包括多个透镜,且所述第二相机装置包括多个透镜,其中接收所述第一组图像包括接收从由所述第一相机装置的所述多个透镜中的至少两个透镜捕获的图像内容产生的所述第一组图像,且其中接收所述第二组图像包括接收从由所述第二相机装置的所述多个透镜中的至少两个透镜捕获的图像内容产生的所述第二组图像。
11.根据权利要求1所述的方法,其中接收所述第一组图像包括接收由所述第一相机装置的鱼眼式透镜捕获的多个等矩形图像,且其中接收所述第二组图像包括接收由所述第二相机装置的鱼眼式透镜捕获的多个等矩形图像。
12.根据权利要求1所述的方法,其中所述第一组图像及所述第二组图像是同时产生的。
13.一种用于产生图像内容的装置,所述装置包括:
存储器装置,其经配置以进行以下操作:
存储从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;及
存储从第二位置中的第二相机装置产生的第二组图像,所述第二相机装置具有第二定向,其中所述第二相机装置不同于所述第一相机装置,并且所述第二定向不同于所述第一定向;及
图形处理单元GPU,所述图形处理单元GPU经配置以进行以下操作:
从所述存储器装置接收所述第一组图像;
显现定向至定向基准的所述第一组图像以供显示;
从所述存储器装置接收所述第二组图像;及
显现定向至所述定向基准的所述第二组图像以供显示,
其中,为了显现定向至定向基准的所述第一组图像以供显示,所述图形处理单元GPU经配置以在显示器上的一位置处显现所述第一组图像和所述第二组图像两者共同的场景内容,
其中,为了显现所述第二组图像以供显示,所述图形处理单元GPU经配置以在显示器上与经显现的第一组图像中的共同的场景内容的位置相同的位置处显现所述第一组图像和所述第二组图像两者共同的场景内容,
其中所述第一组图像包括第一360度图像内容,并且所述第二组图像包括第二360度图像内容。
14.根据权利要求13所述的装置,其进一步包括:
跟踪器电路,其经配置以在显现所述第一组图像以供显示时确定查看者的凝视或头部位置,其中所述定向基准是基于所述查看者的确定的凝视或头部位置而选择。
15.根据权利要求13所述的装置,其中为了显现所述第一组图像以供显示,所述图形处理单元GPU经配置以进行以下操作:显现所述第一组图像以供显示,使得位于相对于所述第一相机装置的第一地理方向上的图像内容位于所述第一组图像的经显现图像内的第一坐标处;其中为了显现所述第二组图像以供显示,所述图形处理单元GPU经配置以进行以下操作:显现所述第二组图像以供显示,使得位于相对于所述第二相机装置的第二地理方向上的图像内容位于所述第二组图像的经显现图像内的第二坐标处;且其中所述第一地理方向及所述第二地理方向为相同地理方向,且所述第一坐标及所述第二坐标为相同坐标。
16.根据权利要求13所述的装置,其中所述图形处理单元GPU还经配置以从显现所述第一组图像以供显示切换至显现所述第二组图像以供显示。
17.根据权利要求13所述的装置,其中所述图形处理单元GPU经配置以进行以下操作:
接收指示相对于所述第一组图像的所述定向基准的信息;
接收指示相对于所述第二组图像的所述定向基准的信息;
基于指示相对于所述第一组图像的所述定向基准的所述信息而调整所述第一组图像的定向;及
基于指示相对于所述第二组图像的所述定向基准的所述信息而调整所述第二组图像的定向,
其中为了显现所述第一组图像以供显示,所述图形处理单元GPU经配置以显现具有调整的定向的所述第一组图像以供显示,且
其中为了显现所述第二组图像以供显示,所述图形处理单元GPU经配置以显现具有调整的定向的所述第二组图像以供显示。
18.根据权利要求13所述的装置,其中所述图形处理单元GPU经配置以接收定向至所述定向基准的所述第一组图像,及接收定向至所述定向基准的所述第二组图像。
19.根据权利要求13所述的装置,其中所述定向基准包括第一定向基准及第二定向基准,其中为了显现所述第一组图像以供显示,所述图形处理单元GPU经配置以显现定向至所述第一定向基准及第二定向基准的所述第一组图像以供显示,且其中为了显现所述第二组图像以供显示,所述图形处理单元GPU经配置以显现定向至所述第一定向及所述第二定向基准的所述第二组图像以供显示。
20.根据权利要求19所述的装置,其中为了显现所述第一组图像以供显示,所述图形处理单元GPU经配置以显现定向至所述第一定向基准、所述第二定向基准及第三定向基准的所述第一组图像以供显示,且其中为了显现所述第二组图像以供显示,所述图形处理单元GPU经配置以显现定向至所述第一定向基准、所述第二定向基准及所述第三定向基准的所述第二组图像以供显示。
21.根据权利要求13所述的装置,其中所述第一相机装置包括多个透镜,且所述第二相机装置包括多个透镜,其中为了接收所述第一组图像,所述图形处理单元GPU经配置以接收从由所述第一相机装置的所述多个透镜中的至少两个透镜捕获的图像内容产生的所述第一组图像,且其中为了接收所述第二组图像,所述图形处理单元GPU经配置以接收从由所述第二相机装置的所述多个透镜中的至少两个透镜捕获的图像内容产生的所述第二组图像。
22.根据权利要求13所述的装置,其中为了接收所述第一组图像,所述图形处理单元GPU经配置以接收由所述第一相机装置的鱼眼式透镜捕获的多个等矩形图像,且其中为了接收所述第二组图像,所述图形处理单元GPU经配置以接收由所述第二相机装置的鱼眼式透镜捕获的多个等矩形图像。
23.根据权利要求13所述的装置,其中所述第一组图像及所述第二组图像是同时产生的。
24.根据权利要求13所述的装置,其中所述装置包括微处理器、集成电路、无线通信装置或手持型装置中的一者。
25.一种非易失性计算机可读存储介质,其上存储有指令,所述指令在执行时致使一或多个处理器进行以下操作:
接收从第一位置中的第一相机装置产生的第一组图像,所述第一相机装置具有第一定向;
显现定向至定向基准的所述第一组图像以供显示;
接收从第二位置中的第二相机装置产生的第二组图像,所述第二相机装置具有第二定向,其中所述第二相机装置不同于所述第一相机装置,并且所述第二定向不同于所述第一定向;及
显现定向至所述定向基准的所述第二组图像以供显示,
其中,致使一或多个处理器显现定向至定向基准的所述第一组图像以供显示的指令包括致使一或多个处理器进行在显示器上的一位置处显现所述第一组图像和所述第二组图像两者共同的场景内容的指令,
其中,致使一或多个处理器进行显现所述第二组图像以供显示的指令包括致使一或多个处理器进行在显示器上与经显现的第一组图像中的共同的场景内容的位置相同的位置处显现所述第一组图像和所述第二组图像两者共同的场景内容的指令,
其中所述第一组图像包括第一360度图像内容,并且所述第二组图像包括第二360度图像内容。
26.一种用于产生图像内容的装置,所述装置包括:
用于接收从第一位置中的第一相机装置产生的第一组图像的装置,所述第一相机装置具有第一定向;
用于显现定向至定向基准的所述第一组图像以供显示的装置;
用于接收从第二位置中的第二相机装置产生的第二组图像的装置,所述第二相机装置具有第二定向,其中所述第二相机装置不同于所述第一相机装置,并且所述第二定向不同于所述第一定向;及
用于显现定向至所述定向基准的所述第二组图像以供显示的装置,
其中,显现定向至定向基准的所述第一组图像以供显示的装置包括在显示器上的一位置处显现所述第一组图像和所述第二组图像两者共同的场景内容的装置,
其中,显现所述第二组图像以供显示的装置包括在显示器上与经显现的第一组图像中的共同的场景内容的位置相同的位置处显现所述第一组图像和所述第二组图像两者共同的场景内容的装置,
其中所述第一组图像包括第一360度图像内容,并且所述第二组图像包括第二360度图像内容。
CN201780071504.4A 2016-11-21 2017-10-10 用于球面图像内容的定向图像拼接 Active CN109997167B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/357,486 2016-11-21
US15/357,486 US10325391B2 (en) 2016-11-21 2016-11-21 Oriented image stitching for spherical image content
PCT/US2017/055932 WO2018093483A1 (en) 2016-11-21 2017-10-10 Oriented image stitching for spherical image content

Publications (2)

Publication Number Publication Date
CN109997167A CN109997167A (zh) 2019-07-09
CN109997167B true CN109997167B (zh) 2023-08-22

Family

ID=60245191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780071504.4A Active CN109997167B (zh) 2016-11-21 2017-10-10 用于球面图像内容的定向图像拼接

Country Status (10)

Country Link
US (1) US10325391B2 (zh)
EP (1) EP3542345A1 (zh)
JP (1) JP2020502893A (zh)
KR (1) KR20190084987A (zh)
CN (1) CN109997167B (zh)
AU (1) AU2017360364A1 (zh)
BR (1) BR112019010099A2 (zh)
CA (1) CA3040874A1 (zh)
TW (1) TW201820862A (zh)
WO (1) WO2018093483A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861359B2 (en) * 2017-05-16 2020-12-08 Texas Instruments Incorporated Surround-view with seamless transition to 3D view system and method
US10687119B2 (en) * 2017-06-27 2020-06-16 Samsung Electronics Co., Ltd System for providing multiple virtual reality views
US10725536B2 (en) * 2018-08-21 2020-07-28 Disney Enterprises, Inc. Virtual indicium display system for gaze direction in an image capture environment
US11323754B2 (en) * 2018-11-20 2022-05-03 At&T Intellectual Property I, L.P. Methods, devices, and systems for updating streaming panoramic video content due to a change in user viewpoint
US10917565B1 (en) * 2019-03-08 2021-02-09 Gopro, Inc. Image capture device with a spherical capture mode and a non-spherical capture mode
US10999527B1 (en) * 2020-02-14 2021-05-04 Gopro, Inc. Generation of enhanced panoramic visual content
US10845943B1 (en) 2020-02-14 2020-11-24 Carmax Business Services, Llc Systems and methods for generating a 360-degree viewing experience
US11429112B2 (en) * 2020-12-31 2022-08-30 Ubtech North America Research And Development Center Corp Mobile robot control method, computer-implemented storage medium and mobile robot
US11671551B2 (en) * 2021-05-24 2023-06-06 Sony Group Corporation Synchronization of multi-device image data using multimodal sensor data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103328261A (zh) * 2010-11-12 2013-09-25 法雷奥开关和传感器有限责任公司 用于产生车辆周围环境的图像的方法以及成像装置
CN105431709A (zh) * 2013-07-30 2016-03-23 高通股份有限公司 用于在室内环境中确定移动电话的定向的方法和设备
CN105719560A (zh) * 2010-12-22 2016-06-29 Lg电子株式会社 电子设备及其控制方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0852732A1 (en) 1995-09-21 1998-07-15 Omniplanar, Inc. Method and apparatus for determining position and orientation
US7085409B2 (en) * 2000-10-18 2006-08-01 Sarnoff Corporation Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery
JP3965560B2 (ja) 2002-03-26 2007-08-29 ソニー株式会社 画像処理装置および方法、撮像装置および方法、並びにプログラム
US20120092348A1 (en) 2010-10-14 2012-04-19 Immersive Media Company Semi-automatic navigation with an immersive image
US9418475B2 (en) * 2012-04-25 2016-08-16 University Of Southern California 3D body modeling from one or more depth cameras in the presence of articulated motion
JP5828039B2 (ja) 2012-06-11 2015-12-02 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
KR102089432B1 (ko) 2013-06-20 2020-04-14 엘지전자 주식회사 이동 단말기 및 이의 제어방법
GB2525232A (en) 2014-04-17 2015-10-21 Nokia Technologies Oy A device orientation correction method for panorama images
US20150312468A1 (en) 2014-04-23 2015-10-29 Narvaro Inc. Multi-camera system controlled by head rotation
US9934122B2 (en) * 2014-07-09 2018-04-03 Microsoft Technology Licensing, Llc Extracting rich performance analysis from simple time measurements
US20160119551A1 (en) * 2014-10-22 2016-04-28 Sentry360 Optimized 360 Degree De-Warping with Virtual Cameras
WO2016077057A2 (en) 2014-10-24 2016-05-19 Bounce Imaging, Inc. Imaging systems and methods
WO2016140986A1 (en) * 2015-03-01 2016-09-09 Nextvr Inc. Methods and apparatus for supporting content generation, transmission and/or playback
JP5920507B1 (ja) 2015-03-10 2016-05-18 株式会社リコー 画像処理システム、画像処理方法およびプログラム
TWM523004U (zh) * 2015-07-16 2016-06-01 鋐寶科技股份有限公司 風扇承載裝置
US9445081B1 (en) * 2015-09-25 2016-09-13 Intel Corporation Method and system of 3D image capture with dynamic cameras
US9573062B1 (en) * 2015-12-06 2017-02-21 Silver VR Technologies, Inc. Methods and systems for virtual reality streaming and replay of computer video games
US20170200315A1 (en) * 2016-01-07 2017-07-13 Brendan Lockhart Live stereoscopic panoramic virtual reality streaming system
US10657701B2 (en) * 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
US20180000542A1 (en) * 2016-07-02 2018-01-04 St. Jude Medical, Cardiology Division, Inc. Flexible electrode
GB2556910A (en) * 2016-11-25 2018-06-13 Nokia Technologies Oy Virtual reality display
US10212406B2 (en) * 2016-12-15 2019-02-19 Nvidia Corporation Image generation of a three-dimensional scene using multiple focal lengths

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103328261A (zh) * 2010-11-12 2013-09-25 法雷奥开关和传感器有限责任公司 用于产生车辆周围环境的图像的方法以及成像装置
CN105719560A (zh) * 2010-12-22 2016-06-29 Lg电子株式会社 电子设备及其控制方法
CN105431709A (zh) * 2013-07-30 2016-03-23 高通股份有限公司 用于在室内环境中确定移动电话的定向的方法和设备

Also Published As

Publication number Publication date
JP2020502893A (ja) 2020-01-23
CN109997167A (zh) 2019-07-09
US20180144520A1 (en) 2018-05-24
EP3542345A1 (en) 2019-09-25
AU2017360364A1 (en) 2019-05-02
WO2018093483A1 (en) 2018-05-24
TW201820862A (zh) 2018-06-01
BR112019010099A2 (pt) 2019-10-01
KR20190084987A (ko) 2019-07-17
CA3040874A1 (en) 2018-05-24
US10325391B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109997167B (zh) 用于球面图像内容的定向图像拼接
US10102610B2 (en) Dual fisheye images stitching for spherical video
US10621767B2 (en) Fisheye image stitching for movable cameras
US10275928B2 (en) Dual fisheye image stitching for spherical image content
US6963348B2 (en) Method and apparatus for display image adjustment
US10397481B2 (en) Stabilization and rolling shutter correction for omnidirectional image content
TWI637355B (zh) 紋理貼圖之壓縮方法及其相關圖像資料處理系統與產生360度全景視頻之方法
JP2018523326A (ja) 全球状取込方法
US10891796B2 (en) Systems and methods for augmented reality applications
CN112912823A (zh) 生成和修改增强现实或虚拟现实场景中对象的表示
WO2019076348A1 (zh) 一种虚拟现实vr界面生成的方法和装置
US20190066366A1 (en) Methods and Apparatus for Decorating User Interface Elements with Environmental Lighting
WO2018135052A1 (ja) 画像生成装置、及び画像表示制御装置
Santos et al. Supporting outdoor mixed reality applications for architecture and cultural heritage
EP3322186A1 (en) Method and device for transmitting data representative of an image
Liao et al. Gpu parallel computing of spherical panorama video stitching
CN111970504A (zh) 利用虚拟投影反向模拟三维球体的展示方法、装置和系统
US20220321778A1 (en) Camera positioning to minimize artifacts
CN115512087A (zh) 使用在预定距离处的遮挡表面生成和修改人工现实环境
CN115244494A (zh) 用于处理扫描对象的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant