CN114257733A - 具有视点偏移的全向图像的图像处理的方法和系统 - Google Patents

具有视点偏移的全向图像的图像处理的方法和系统 Download PDF

Info

Publication number
CN114257733A
CN114257733A CN202110984617.1A CN202110984617A CN114257733A CN 114257733 A CN114257733 A CN 114257733A CN 202110984617 A CN202110984617 A CN 202110984617A CN 114257733 A CN114257733 A CN 114257733A
Authority
CN
China
Prior art keywords
offset
image
data
viewpoint
view
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.)
Pending
Application number
CN202110984617.1A
Other languages
English (en)
Inventor
拉德卡·特佐尔
尼卢法尔·普里安
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN114257733A publication Critical patent/CN114257733A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

本申请提供了具有视点偏移的全向图像的图像处理的方法和系统。

Description

具有视点偏移的全向图像的图像处理的方法和系统
技术领域
本申请总地涉及图像处理领域,并且更具体地涉及具有视点偏移的全向图像的图像处理的方法和系统。
背景技术
全向相机,例如配备有超广角镜头的相机,可用于捕捉具有场景的比其他类型镜头的视野(field of view,FOV)更大的FOV的图像。广角镜头指的是这样一种镜头:其焦距对于给定的图像格式比普通镜头的焦距要小。例如,具有36mm乘24mm格式的全画幅35mm相机,对角线测量为43.3mm,并且根据惯例,大多数制造商采用的普通镜头是50mm。因此,在全画幅35mm相机上焦距为35mm或更小的镜头可被视为广角。超广角镜头或鱼眼镜头在全画幅35mm相机上通常具有15mm或更小的焦距。鱼眼镜头可具有达到180度或更大的FOV,并且具有鱼眼镜头的相机的阵列在所有方向上都可捕捉360度。全向图像传统上被视为中心投影,忽略了由于镜头的入射光瞳(entrance pupil)的运动而产生的视点偏移,这导致了显著的、可检测到的精度误差。
发明内容
根据本申请的一方面,提供了其上具有指令的至少一个非暂态计算机可读介质,所述指令当被执行时使得计算设备通过以下步骤来进行操作:获得由至少一个成像设备捕捉的至少一个图像的图像数据;生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
根据本申请的另一方面,提供了一种图像处理的系统,包括:存储器;以及与所述存储器通信地耦合的至少一个处理器,所述处理器被布置为通过以下步骤来进行操作:获得由至少一个成像设备捕捉的至少一个图像的图像数据,生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点的偏移,并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
根据本申请的又一方面,提供了一种图像处理的方法,包括:获得由至少一个成像设备捕捉的至少一个图像的图像数据;生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
附图说明
在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,在附图之间重复附图标记以指示对应的或相似的元素。在附图中:
图1是示例鱼眼图像;
图2是鱼眼图像的投影的图示;
图3是图示出示例鱼眼相机的图,其中对于五度的光线示出了光线追踪;
图4是图示出示例鱼眼相机的图,其中对于85度的光线示出了光线追踪;
图5是示出视点偏移相对于到理想图像平面上的物体点的半径的图线;
图6是根据这里的至少一个实现方式的具有视点偏移的全向图像的图像处理的方法的流程图;
图7A是根据这里的至少一个实现方式的具有视点偏移的全向图像的图像处理的方法的详细流程图;
图7B是根据这里的至少一个实现方式的具有视点偏移的全向图像的图像处理的方法的另一详细流程图;
图8是全向图像的投影视图的图像;
图9是根据这里的至少一个实现方式的视点偏移图谱;
图10是根据这里的至少一个实现方式的示出具有视点偏移校正的投影图像的处理的图像的流程序列;
图11是根据这里的至少一个实现方式的示例全向相机阵列的图像;
图12是根据这里的至少一个实现方式的用于执行具有视点偏移的全向图像的图像处理的方法的示例系统的说明图;
图13是另一示例系统的说明图;并且
图14图示了全都根据本公开的至少一些实现方式布置的另一示例设备。
具体实施方式
现在参考附图描述一个或多个实现方式。虽然论述了具体配置和布置,但应当理解这么做只是为了说明。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。
虽然接下来的描述阐述了可在诸如片上系统(system-on-a-chip,SoC)体系结构之类的体系结构中显现的各种实现方式,但本文描述的技术和/或布置的实现方式不限于特定的体系结构和/或计算系统,而是可由任何体系结构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种体系结构,和/或应对图像处理的各种计算设备,例如计算机,计算机网络,计算设备,服务器,膝上型电脑,桌面型电脑,或者专业或消费电子设备的图像处理模块,例如一个或多个相机,相机安保系统,医疗窥镜系统,或者板载的车辆、无人机、机器人或其他计算机视觉相机系统,成像设备,数字相机,智能电话,网络摄像头,视频相机,视频游戏面板或控制台,电视,机顶盒,等等,可实现本文描述的技术和/或布置,并且无论是单个相机的一部分还是多相机系统。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择,等等,但可在没有这种具体细节的情况下实现要求保护的主题。在其他情况中,可能没有详细示出一些素材,例如控制结构和完整软件指令序列,以免模糊本文公开的素材。可以用硬件、固件、软件或者其任何组合来实现本文公开的素材。
本文公开的素材也可被实现为存储在机器可读介质或存储器上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或者其他形式的传播信号(例如,载波、红外信号、数字信号,等等),以及其他。在另一形式中,可结合上文提及的任何示例或者其他示例使用诸如非暂态计算机可读介质之类的非暂态物品,只不过其不包括暂态信号本身。其确实包括除了信号本身以外的可以以“暂态”方式暂时保存数据的那些元素,例如RAM等等。
说明书中提及“一个实现方式”、“一实现方式”、“一示例实现方式”等等指示的是描述的实现方式可包括特定的特征、结构或特性,但可能不一定每个实现方式都包括该特定特征、结构或特性。此外,这种短语不一定指同一实现方式。另外,当联系一实现方式来描述特定的特征、结构或特性时,认为联系其他实现方式(无论本文是否明确描述)来实现这种特征、结构或特性是在本领域技术人员的知识范围内的。
具有视点偏移的全向图像的图像处理的方法和系统被描述如下。
参考图1-图2,包括广角或超广角(或鱼眼)镜头相机在内的全向相机形成了相机所捕捉的场景的弯曲或圆形图像100。这些圆形或360度图像的图像数据经常被投影,例如用等量矩形投影(equirectangular projection,ERP)来投影,以形成更实用的2D表示或图像200,该表示或图像与捕捉设备无关,更容易理解,并且经常被用于进一步的图像处理或分析。例如,现有的全向图像格式对于表示由执行投影的计算机图形方法生成的人工内容是非常方便的。这些系统用360°内容提供沉浸式的观众体验,要求图像数据表示允许这种内容的高效创建、存储、流传输和处理,使得为用户的显示器产生所要求的最终输入成为可能。存在类似的系统,其不是利用人工生成的内容,而是利用现实生活中捕捉的全向图像。在此,术语“全向”是指任何这样的成像:其提供大量方向的图像信息,通常会引起本文描述的视点偏移,并且不一定是360度图像。
将捕捉的全向图像转换为标准的投影格式,例如等量矩形投影(ERP)或立方体图谱,消除了对捕捉设备的依赖,并且允许开发无需针对特定相机类型来定制并且从而可被更广泛地使用的算法和硬件。
当系统使用从广角或鱼眼镜头相机捕捉的图像时,许多这些传统的投影表示(或图像)是通过假设捕捉的图像是基于中心投影而生成的,并且假设呈现的是单个视点。中心投影假定存在单个视点,形成图像的所有光线都经过该视点。
然而,在实际操作中,通常用于捕捉现实世界全向内容的广角和鱼眼镜头是非中心的。它们不具有单个视点。具有极大视野的镜头的入射光瞳往往会移动。在这种情况下,显现视点(apparent viewpoint)沿着相机的光轴偏移,并且取决于光线的入射角。使用光线追踪来分析的许多广角镜头表明非中心特性的影响可能相当强烈。
现在参考图3-图4,示例鱼眼相机300具有对于五度的光线示出的光线追踪。示例鱼眼相机300可以是相机阵列的一部分。鱼眼相机300包括鱼眼镜头302,该鱼眼镜头302包括均与光轴304同轴的若干个镜头元件324。例如,镜头元件可包括各种磨成球形或非球形的光学玻璃片。通过鱼眼镜头302并且到达传感器308的入射光的光线322的光线追踪具有在光线322和镜头302的光轴304之间的进入或入射角306A(也被称为θ角)。在这个示例中,角度306A是五度。传感器308可具有若干个不同的尺寸和传感器像素的行和列的2D阵列。另外,鱼眼镜头302包括可调光阑310,其为鱼眼镜头302提供孔径光阑,其中该孔径光阑被设置在某个f数,例如f/8。
相机300对于零度入射角具有显现视点318。当入射角306A如图所示变化到五度时,光线追踪显示:光线322具有显现视点320A,并且其从视点318沿着光轴轴向移动。视点318和视点320A之间的距离是视点偏移314A。视点318和320A是投影中心。弯曲的偏移线312示出了随着入射角的变化,入射光瞳中心的实际位置。这种视点偏移也可被表示为以下两者之间的径向距离316A的函数:光轴与传感器308相交处的图像中心,和与光轴垂直的理想图像平面中光线322与传感器308相交处的图像或物体点。该径向距离越小,视点偏移的幅度就越小。这可用于生成视点偏移度量,如下文更详细说明的。
图3的示意图并不打算表明示例鱼眼镜头300要包括图3中所示的所有组件。确切地说,可使用更少的组件或者图3中没有图示的额外组件(例如,额外的镜头元件、传感器、角度θ的值,等等)来实现示例鱼眼镜头300。此外,在一些示例中,随着入射角度增大,视点偏移可从左向右偏移,而不是从右向左偏移。例如,这可包括超广角直线镜头。
参考图4,现在示出了示例鱼眼透镜300,具有相对于光轴304具有85度的入射角306B的光线326的光线追踪。示例鱼眼镜头300包括与参考图3所描述的类似编号的元件。然而,现在,具有大得多的入射角306B的光线326与光轴304相交于入射光瞳320B,该入射光瞳相对于零度视点318具有大得多的视点偏移314B。相当地,图像传感器上的径向距离316B也大得多。
参考图5,基于多项式的非中心校准技术表征了如上所述的轴向视点偏移对从光轴到理想图像平面中的图像点的径向距离的依赖性。图线500示出了作为图像内的点半径的函数的形成360°相机阵列1100(图11)的十六个鱼眼相机的估计视点偏移。为每个估计的径向畸变和视点偏移产生一多项式。这些多项式的系数是通过迭代地最小化适当的成本函数从而产生一组参数来得到的,这些参数可用于对捕捉的图像的准确处理和用于计算机视觉应用。
视点偏移314A和314B可被称为轴向视点偏移。这种轴向视点偏移在具有接近或大于180度的视野的广角镜头中可能特别明显。例如,来自相对于光轴更接近90度的角度的光线可能会导致以下两项之间的显著偏移:(1)具有特定入射角的主光线与光轴相交之处的真实视点,(2)中心投影模型的假设视点。这种视点偏移在与相机相距约1.5m或更近的近距物体的图像中也可能特别显著。在使用多个图像(例如,立体对,或者多相机阵列的输出,或者单个移动相机)时,视点偏移误差很明显,并且显示为3D场景中或另一2D图像中的点的预期位置的误差。
准确地将捕捉到的涉及视点偏移的全向图像转换为基于标准中心投影的格式,例如ERP或立方体图谱,是很复杂的,并且要求高度准确的深度信息,而这些信息在图像需要被转换为独立于设备的格式的阶段通常是不可用的。视差和深度估计算法经常假定所提供的输入已经采取某种独立于设备的格式,例如ERP或立方体图谱。即使深度可被估计,获得的估计也可能不够准确。而且,所要求的映射是复杂的,转换的计算成本很高,并且产生的独立于设备的图像可能会遭受严重的伪影,这是因为需要填补图像信息不可用之处的闭塞(occlusion)。
由于这些复杂性,在将捕捉的图像转换为独立于设备的格式时,视点偏移常常被忽略。许多现有的系统,例如OpenCV、Matlab、MPEG等等,忽略了视点偏移,并且用基于中心投影的格式算法来处理由广角和鱼眼相机捕捉的全向图像。
虽然忽略视点偏移可能会使计算简单得多,但这可能会导致很大的误差,这些误差严重限制了系统的性能,特别是对于靠近相机的物体而言。用鱼眼和广角镜头捕捉靠近相机的物体经常是必要的,因为物体在相机的视野中要足够大。例如,在一些相机阵列中,对于靠近程度超过1.6米的物体,视差(深度)估计可能开始崩溃。在各种示例中,这种视点偏移可能会导致真实和估计的图像点位置之间出现数十个像素大小的误差,这可能相应地影响各种计算机视觉应用。例如,一组鱼眼镜头的光线追踪分析表明,0°和90°入射角之间的视点偏移可能是约1cm或更多。在物体被以90°角度放置在离相机0.5m处的情况下,忽略一厘米的视点偏移会导致假设的光线方向上的超过1°的误差。对于大分辨率的相机,这种视点偏移可转化为大约数十个像素的误差。在另一示例中,在使用提供每度约35个像素的角度分辨率的非常高分辨率的传感器的360度相机阵列中,随着类似的视点偏移可能会出现超过40个像素的误差。在这种不准确的情况下,计算机视觉计算可导致立体相机深度生成的重大误差,包括在定位、相机校准、新视点插值或深度测量方面。
为了尝试避免这些误差,已经开发了几个非中心投影相机校准模型,它们可代表广角和鱼眼相机,具有相对更高的准确度。基于中心投影的校准不考虑视点偏移,因此准确性较低。由于制造公差和其他因素,相机系统设计规格可能无法足够精确地描述真实的系统行为。从而,通常要求进行相机校准。这可能涉及到对用特定相机捕捉的图像的使用,或者涉及实际相机的一些其他种类的测量,以获得准确的相机表征。为了校正各种类型的镜头畸变,可对镜头进行建模,并且将得到的模型用于校准特定镜头。由此可见,这种建模应当能够提供高度准确的图像捕捉表征,以用于计算成像和3D计算机视觉应用中。
具体而言,通常必须事先执行相机校准,以便随后执行全向投影用于计算机视觉或成像应用,这些应用以高准确度将捕捉的二维(2D)图像中的点映射到三维(3D)世界中的光线或点,或者反之。用于校准常规相机的校准模型和算法一般不适合用于广角相机,例如鱼眼相机。例如,这种模型可能无法处理接近或超过180°的视野。特别地,这种校准模型可能将场景表示为平面,或者使用覆盖整个FOV的平面无畸变图像的概念,而由于中心投影假设,当FOV接近或超过180度时,这是不可能的。全向相机校准从而需要使用特殊的模型,并且可通过包括视点偏移表征而使得这些模型更加准确。
内在校准是指对相机本身固有的参数进行校准,例如与传感器几何形状和排列、镜头畸变、视点偏移等等有关的参数。大多数内在校准方法依赖于相机的一些参数模型(例如将径向畸变和视点偏移描述为多项式,在这种情况下,参数是多项式系数)。内在校准方法通常使用一些已知校准目标(例如,棋盘)的捕捉图像,并且执行非线性优化,以找到参数,这些参数通过将给定的参数值与捕捉图像中的实际观察点对应起来,在各点之间提供最佳匹配。
一种不同的校准技术不依赖于参数化模型,而是使用3D场景模型或结构光来产生镜头几何畸变和视点偏移的2D查找表。
视点偏移量经常被计算为入射角的函数。在其他校准方法中,它被表达为图像点径向距离的函数。虽然这里优选后一种表示方法,因为它导致操作714中的算法在计算上更有效率,但也可使用更常见的基于入射角的视点偏移校准。
为了解决这些问题,并且提供可广泛使用的独立于设备的全向图像表示(这种表示比忽略了视点偏移的基于中心投影的标准表示更准确),创建了一种全向图像格式,其支持分离(或隔离)的视点偏移信息的记录,并且将其附加到图像数据,供许多不同类型的设备和应用使用。与要求获得准确的深度信息、复杂的映射和填补闭塞的经准确校正的中心投影相比,这种全向图像数据表示很方便,允许高度准确地表示用鱼眼和广角相机捕捉的全向图像,并且是非常容易产生的。特别地,重投影的全向图像内的每个图像位置的视点偏移的方向及其幅度可分别作为单独的设备独立通道和元数据被计算、维护和传输,以向图像处理和计算机视觉应用提供这种视点偏移信息,这些应用可根据需要使用视点偏移信息来提高计算准确度,并且改善计算成像或计算机视觉系统的性能。产生的视点偏移信息可被存储在存储器中,以便根据需要使用,并且按照一种示例形式,视点偏移幅度可采取视点偏移图谱的形式,其中在每个像素位置提供图像数据值,以表示在可用的数值比例上的视点偏移幅度值。
从而,当前公开的方法和系统用额外的通道来增强全向图像,该通道具有关于视点偏移的幅度的信息。对于一个示例,视点偏移的方向可被存储在图像元数据内,以便在设备间传输或者与同一设备上的元数据兼容。
可通过使用任何提到的非中心投影技术或其他已知的算法来确定视点幅度和方向。按照一种形式,使用非中心投影校准技术,该技术将轴向视点偏移计算为与鱼眼图像中的主点的径向距离的函数,而不是入射角的函数,然后这种校准被用来计算独立于设备的图像表示中的每个像素的视点偏移的幅度。
将捕捉的广角或鱼眼图像转换为所提出的设备独立格式是很简明的,因为就像忽略视点偏移时一样使用类似的简单的深度独立映射将图像数据转换为设备独立格式,并且在单独的图像通道中和图像元数据中附加关于视点偏移的信息。特定的算法取决于所使用的校准类型和图像数据通道格式。
所公开的方法从而也与当前使用的表示或投影图像是完全向后兼容的。具体而言,本方法可作为ERP和其他当前使用的基于中心投影的全向图像表示的直接扩展。现有的标准和系统可被调整以允许这种表示。所有使用标准全向数据格式的现有算法都可通过在接收时包含视点偏移幅度信息并且考虑源自各点而不是单个视点的3D光线而得到改进,或者现有算法可通过使用通常的图像通道而仅仅忽略视点偏移幅度通道信息而被按原样应用于所提出的格式的数据,以更适合于给定应用的方式为准。
此外,视点偏移信息或图谱是高度可压缩的,因为视点偏移的幅度随着入射角方向并且因此随着全向图像表示中的像素位置而缓慢且平滑地(或逐渐地)变化。另外,大多数时候,随着相机在参考坐标系中移动,视点偏移幅度很可能会随着时间的流逝而平滑且缓慢地变化,或者如果相机相对于所产生的独立于设备的图像朝向是静止的,那么视点偏移幅度甚至可能保持恒定。从而,所公开的系统可大幅减少存储和/或传输视点偏移信息所需要的开销的大小。
本文公开的全向图像表示可帮助改善任何使用广角或鱼眼相机的系统的性能,包括用于汽车应用、深度相机、安保系统、医疗窥镜等等的系统。
参考图6,根据本公开的至少一些实现方式布置了本文描述的具有视点偏移的全向图像的图像处理的示例过程600。在图示的实现方式中,过程600可包括由均匀编号的操作602至606中的一个或多个所图示的一个或多个操作、功能或动作。作为非限制性示例,在此可参考本文相关地方描述的图像处理系统1200(图12)或1300(图13)来描述过程600。
过程600可包括“获得由至少一个成像设备捕捉的至少一个图像的图像数据”602。这可涉及获得准备好投影到2D图像的经预处理的全向图像数据,以及作为一个示例至少形成ERP投影的3D点。
过程600可包括“生成视点偏移数据,该视点偏移指示与至少一个图像的图像数据的生成相关联的入射光瞳沿光轴的轴向偏移”604。这可涉及生成视点偏移幅度,并且作为一个示例,通过使用生成视点偏移幅度的非中心投影校准技术来生成。按照一种形式,该技术是基于多项式的技术,并且该幅度是在不测量进入相机镜头的光的入射角的情况下生成的。按照一种形式,幅度最初可能是现实世界的长度。或者,可使用分析镜头设计的结果来计算视点偏移幅度。光线追踪可用来产生入射角或图像点径向距离和视点偏移量之间的映射。
视点偏移数据还可包括每个或个体图像的视点偏移方向,这是捕捉了图像的相机的光轴的方向。可从旋转矩阵中提取这个信息,该矩阵将坐标从相机朝向变换到所选的视图朝向。可直接提供这样的3x3旋转矩阵,或者使用由欧拉角、四元组或其他手段进行的旋转参数化来提供。或者,可直接提供视点偏移方向,或者作为某个已知参考坐标系中的3D向量,或者作为偏移方向的经纬度角,或者作为投影的设备独立图像中对应于该方向的像素位置。
过程600可包括“将图像数据和视点偏移数据两者分开提供给图像处理应用以依据视点偏移数据来修改图像数据”606。这里的分开是指包括视点偏移幅度或方向或两者在内的视点偏移数据至少与同一图像的图像数据是可区分的,并且不以其他方式限制使得视点偏移数据伴随图像数据的格式。按照一种形式,视点偏移数据的幅度是作为视点偏移通道来提供的,该通道与提供色度和亮度、RGB图像数据或者以另一颜色空间表示的图像数据的一个或多个通道是分开的。幅度可形成视点偏移图谱,图谱中的每个个体像素都具有视点偏移幅度值。这个值可被从初始幅度值缩放到一定比特深度的典型像素值,例如,一个示例是8比特深度的0-255。视点偏移数据随后可被应用用来完善3D点位置估计或投影图像上的2D投影像素位置。在下面提供更多细节。
参考图7,根据本公开的至少一些实现方式布置了本文描述的具有视点偏移的全向图像的图像处理的示例过程700。在图示的实现方式中,过程700可包括由大体上均匀编号的操作702至730中的一个或多个所图示的一个或多个操作、功能或动作。作为非限制性示例,在此将参考本文相关地方描述的图像处理系统1200(图12)或1300(图13)来描述过程700。
过程700可包括“接收至少一个全向图像的图像数据”702。按照一种形式,图像处理系统接收从具有诸如鱼眼镜头或广角镜头之类的全向镜头(或一组镜头)的相机捕捉的图像的图像数据。镜头的规格在其他方面不受限制,只要形成轴向视点偏移即可。当直接从一个或多个相机传感器获得这种图像数据时,图像数据可以采取RGB、YUV或其他颜色方案,通常作为图像传感器数据的2D阵列,并且可由诸如拜尔过滤器之类的过滤器来进行图案处理。
过程700可包括“应用预处理”704。当直接从相机或其他存储器或缓冲器获得原始图像数据时,可以应用预处理,例如去马赛克、降噪等等,至少要足以应用视点偏移校正并且生成投影图像(或表示)。
过程700可包括“获得校准参数或规格”706。作为一种替换,为了能够执行从传感器数据的2D阵列到其他数据格式的投影并且量化视点偏移,可以分析理想的相机设计规格以获得内在和/或外在。否则,可事先执行生成内在和外在参数的校准。内在参数,包括关于特定相机的几何畸变、视点偏移和其他属性的信息。外在参数是指相机相对于某个固定参考框架的旋转和平移,或者,在多个相机的情况下,它可包括表征多个相机的相互位置和朝向的参数。或者,可以使用陀螺仪传感器来跟踪相机的位置,或者可以采用其他相机跟踪手段来寻找外在参数。通常事先执行校准或设计分析。步骤710通常涉及从存储器中读取校准或设计分析的结果或者经由传输来接收它们。
过程700可包括“获得图像视图参数或规格”708,具体而言是期望的投影视图的规格,包括诸如视图分辨率、朝向等等之类的信息。这些可以是预编程的,或者是从使用所产生的图像的应用中接收的。
过程700可包括“生成投影图像”710。用于表示全向图像的标准格式之一是等量矩形投影(ERP)。它的基础是通过经度和纬度角度对单位球体进行参数化。360°×180°的ERP是最常用的全向图像表示的格式,并且在这里可被使用。或者,也可使用其他格式。示例的替换ERP格式包括ERP图像的所选部分,尤其是朝前的180°×180°半球图像,以及使用各种多面体而不是球体的各种投影,最常见的是立方体。
在这个示例中,过程700可包括“生成ERP表示”712。从鱼眼捕捉的图像产生ERP的软件的输入包括:(1)鱼眼捕捉的图像本身,(2)内在和外在参数相机校准(或其规格),和(3)所期望的投影视图的规格,包括诸如视图分辨率、视图朝向(至少是相机的旋转定位)等等之类的信息。应当注意,在这个示例中主要是指鱼眼相机和镜头,但这里的方法将适用于任何导致如本文所述的轴向视点偏移的广角镜头和相机。
为了从鱼眼图像产生ERP图像,所捕捉的图像中的每一个像素都可被认为具有由镜头投影到该像素的3D空间中的点的光线。从而,系统1200(下文的图12)的投影单元1212可使用ERP图像规格来识别3D空间中的光线,该光线被投影到投影图像中的每个像素。然后,全向或鱼眼相机参数被用来确定当忽略视点偏移时,鱼眼图像中的哪个像素对应于同一光线。然后,系统将鱼眼像素的相同值赋予相应的ERP图像像素。一组3D坐标(X,Y,Z)通常是表示该光线的3D点的坐标。在用2D像素点产生ERP图像的过程中,这些3D坐标经常被用作中间结果。这个过程也被称为图像变形(image warping)、解除畸变、重采样,等等。
一旦生成了3D坐标,就可以生成2D ERP图像或表示坐标(x,y),如下。在3D坐标系的这个示例中,X轴向右延伸,Y轴向下延伸,并且Z轴向前延伸,其中Z是光轴的方向,并且与光轴平行,并且X和Y是由相机形成的球形图像中的坐标。2D图像像素坐标(x,y)可从左上角的(1,1)开始,其中x是水平坐标,从左到右,并且y是垂直坐标,从上到下。这个坐标系与通常用于对光学系统建模的坐标系以及例如Matlab计算机视觉系统工具箱之类的已知工具是兼容的。
在上述360°视图或球形图像的局部坐标系中表达的3D空间中的点(X,Y,Z),鉴于其朝向和视点位置,位于具有如下经度和纬度的光线上:
纬度角
Figure BDA0003230214700000131
经度角
Figure BDA0003230214700000132
应当注意,这里的θ不是上面提到的θ入射角306A和306B。
尺寸为2N x N的360°x180°ERP图像具有每度N/180像素的分辨率,并且光线
Figure BDA0003230214700000133
被投影到图像点(x,y),其中N是形成ERP图像的高度的像素数目(ERP分辨率)。有了ERP分辨率和光线的角度
Figure BDA0003230214700000134
可确定ERP图像上的相应2D坐标(x,y)是:
Figure BDA0003230214700000141
Figure BDA0003230214700000142
接下来,过程700可包括“获得视点偏移”714。详细地说,由于ERP和其他中心投影的每一者都具有与来自某个方向的光线相对应的图像像素,并且为了表示来自所有方向的光线,采用与中心投影的情况类似的参数化是方便的。在本方法中,所公开的系统还可为每个像素生成视点偏移信息(即,光线原点的位置),并且作为一个示例,所公开的系统可以为投影图像的每个个体像素或者它们的某个子集(以允许以后为每个像素近似该值)至少生成视点偏移幅度。已知,可通过添加携带深度信息的额外通道来增强图像。在这里,作为替代,或者附加,利用携带关于每个个体像素的视点偏移的幅度的信息的额外通道来增强图像数据。另外,也提供了图像的视点偏移方向,如下所述。
视点偏移幅度
操作714可包括“获得视点偏移幅度”716。所公开的方法利用至少具有视点偏移s(x,y)的幅度(或量)的额外通道来增强标准全向图像表示,例如ERP。在一个示例中,相机规格可提供计算视点偏移幅度和方向的值所需要的必要数据。按照这里使用的其他选项,可以使用基于非中心投影的参数校准的结果来计算视点偏移幅度或数值。虽然在下面的示例中避免了,并且无论是在相机规格中还是通过参数校准,都可相对于入射角测量来获得视点偏移的度量。在这种情况下,当基于入射角时,如上所述,这仍然不是很有效率,并且相对于图像点径向距离的表征是优选的。对于查找表技术,可通过对产生的视点偏移2D查找表进行重采样来获得视点偏移值,其方式与对捕捉的图像进行重采样以产生ERP图像时完全相同。
再次参考图3-图4,操作716可包括“使用非基于中心的校准”717。从而,通过提到的非中心投影校准技术,可作为理想图像平面中的径向距离的函数生成视点偏移多项式。这种表示可能有助于避免计算入射角的需要,从而大大减少计算负荷。在将捕捉的全向图像重投影到独立于设备的标准格式时,需要为每个像素计算鱼眼相机的理想图像平面中的相应点的径向距离。从而,重新使用这些已经计算出来的信息一般比求解相应的入射角更高效。在2020年5月28日提交的美国专利申请16/886,512号中提供了一个实例的细节,该美国专利申请在2020年9月17日被作为美国专利公布2020/0294269号公布,在此将该美国申请并入,用于所有目的。按照一种形式,以一种格式提供视点偏移幅度的值或量,该格式是或者可转换为可用于生成视点偏移图谱(图9)的值,其中图谱中的每个像素位置都具有视点偏移值或者表示视点偏移幅度的值。如下文所论述的,这可包括受通道比特深度或其他限制条件限制的值。在这种情况下,幅度可被缩放以适应典型的8比特像素图像值,例如下文论述的0-255。比特深度可与同一图像的其他通道的比特深度相同。
视点偏移方向
操作714还可包括“获得视点偏移方向”718。偏移方向对于单个图像中的所有图像点是相同的,如上文所说明的,它是沿着相机的光轴的方向。从而,偏移的方向可以以单个向量或可从中提取它的旋转矩阵或者其参数化的形式被存储在与图像相关联的元数据内。
视点偏移方向的一种可能的表示涉及记录独立于设备的图像中的与3D空间中的同一方向相对应的点的像素坐标(xo,yo)。更详细地说,视点偏移方向是指从相机位置、或者关联的ERP图像的投影球的中心、在相机光轴方向上的方向,并且它可通过提供ERP图像中的与投影球上相机光轴与该球相交的点相对应的点的坐标来指定。
作为一种替换方案,可通过使用如下所述的3×3旋转矩阵、三个Euler角、四元组或者根据需要使用旋转的另一种参数化,确定相机相对于ERP视图朝向的朝向,来提供视点偏移方向。在这里的示例形式中,为了确定视点偏移方向,过程700可选地可包括“获得图像旋转矩阵”720。详细地说,为了计算视点偏移的方向,有必要知道相机和视图的相互朝向。令旋转矩阵:
Figure BDA0003230214700000151
是相机相对于所选视图朝向的旋转。在使用ERP图像数据或表示和视点偏移数据的图像处理应用中,视图朝向是一个选择问题。可相对于相机朝向或者相对于某种其他参考框架来指定视图朝向。因此,例如,视图朝向可以与相机朝向相同,在这种情况下,R=I(3x3单位矩阵)。如果视图朝向是相对于某种其他参考框架来指定的,那么就应当确定相机相对于同一参考框架的朝向。这个信息通常是通过系统校准来获得的,因为由于制造公差的原因,实际的相机位置往往与理想的设计不同。
更详细地说,校准相机位置是一个标准的3D计算机视觉问题,对于该问题,存在许多方法。当所选视图朝向由3x3旋转矩阵RV来表示并且相机朝向由3x3旋转矩阵RC来表示时,表示相互朝向(或者从一个到另一个的变换或转换)的矩阵R为:
R=RV TRC (6)
3x3旋转矩阵RC可作为相机外在参数(或位置表征)的一部分来获得。相机旋转可以用不同的方式来表达,并且3x3旋转矩阵是其中之一。旋转矩阵通常被用于从一个坐标系到另一个坐标系的变换计算。然而,同样的信息可以用三个角度(例如,相机的俯仰、偏航和滚动)来更简洁地表达。
或者,取代3D三元素旋转向量,视点偏移方向可由两个角度(纬度和经度)来表征如下:
Figure BDA0003230214700000163
θ0=asin(r23) (8)
否则,可利用上述角度和公式来计算与视点偏移方向相对应的等效ERP点(x0,y0)的坐标:
Figure BDA0003230214700000161
Figure BDA0003230214700000162
虽然将视点偏移方向表达为点(x0,y0)的坐标只是一种可能性,但这种表示法消除了冗余;不要求知道相机和视图朝向的外部参考框架;并且减少了一些常见问题的风险,例如由于使用不同的坐标系和/或使用行向量而不是列向量而发生的误差,这导致RT被误认为R,等等。
当视点偏移数据要被传输时,无论是在本地传输还是传输到远程设备,过程700接下来可包括“将幅度放置于视点偏移通道(viewpoint shift channel,VSC)中”722。这涉及提供视点偏移量作为单独的图像通道,并且按照一种形式,按作为或者可转换为视点偏移图谱的值的格式来提供。在一些形式下,类似于图像的颜色通道或色度和/或亮度(或者明度或辉度)通道,视点偏移通道被形成为上述的视点偏移幅度值的像素光栅(或者代表视点偏移幅度的其他格式),这些值被缩放和量化,以便它们可被用所使用的任何比特深度来表示,例如0-255的8比特尺度,但其他比特深度也是可能的。如前所述,图像除了包括颜色通道(或者亮度和色度通道)和VSC外,还可包括其他通道,例如深度数据通道和/或用于透明度值的alpha通道。
参考图8-图9,根据这里的实现方式示出了从鱼眼相机输出的示例ERP图像800,其具有全向格式并且显示颜色通道。相应的示例图像900是如上所述的视点偏移图谱,其中在设定的尺度上,例如0到255或者任何其他期望的尺度,像素位置越浅,视点偏移幅度就越大。实心的黑色区域在鱼眼镜头的视野之外,这里没有定义视点偏移的真实量,并且在图谱中为相应的像素赋予了值0。
如前所述,系统可对初始视点偏移值进行缩放,以提供固定点表示,这也可通过许多不同的方式来执行,包括线性缩放,但也可使用其他方式。许多缩放技术被用于其他图像通道(例如色度)。同样,与可被降采样以减小带宽的YUV或YCbCr颜色空间中的色度通道类似,VSC也可被降采样。视点偏移量图谱经常会具有像素间的逐渐变化,从而该图谱甚至可按大于2的因数被降采样,如颜色方案YUV420或YUV422中使用的那样。作为一个示例,降采样因数可以是8,这可为每个8x8的像素块提供一个视点偏移量样本,这很容易与图像压缩算法兼容。同样,与YUV、RGB或任何其他多通道图像一样,具有视点偏移通道的图像可被逐个平面地或者交错地传输和/或存储。应当注意,色度/亮度通道也可以是RGB或其他颜色空间通道。
另外,当传输视点偏移数据时,过程700可包括“将视点偏移方向放置于元数据中”724。如上所述,视点偏移方向可通过许多不同的方式来表达,例如,表达为与视点偏移方向相对应的ERP图像中的点的坐标(xo,yo)。在这里,它是单对图像点坐标数字,对整个图像而言是相同的。如上所述,可改为提供单个3D向量或者单组角度。不同的应用可能有不同的方式来接收和跟踪视点偏移方向。例如,对于静态图像,视点偏移方向可作为元数据与关于图像的各种其他信息(例如其分辨率、捕捉时间等等)一起被嵌入在图像文件头部中。在视频序列的情况下,视点偏移方向对于每个视频帧可以是相同的,也可以是不同的,并且可被存储在视频容器内,要么在头部内,要么与视频和声音一起在实质内容内。或者,视点偏移方向可与图像数据分开地被存储和/或传输。
过程700接下来可包括“将图像和视点偏移数据放置于传输通道中”726,并且这涉及将图像数据和视点偏移按顺序或通道格式放置(如果尚未执行这一操作的话),无论图像和视点偏移数据是要被压缩并传输到远程设备,还是图像和视点偏移数据是在被存储以便由同一设备的另一应用使用。应当注意,视点偏移幅度数据或方向数据在希望时可被单独传输而没有另一者,或者可在不同的传输中被发送,即使这些数据是针对同一图像。
然后,对于存储或传输,过程700可包括“压缩数据以用于传输比特流”728。这里,视点偏移幅度通道(VSC)和其他图像通道被压缩。然后将带有元数据的通道一起放置在比特流中,以便传输到远程设备。
关于压缩,如上所述,视点偏移的幅度经常随着入射角方向并且因此随着全向图像表示中的像素位置而缓慢且平滑地(或者换言之,逐渐地)变化。另外,最常见的是,随着相机在参考坐标系中移动,幅度很可能会随着时间的流逝而平滑且缓慢地变化,或者如果相机是静止的,那么幅度甚至可能保持恒定。视点偏移信息或数据从而是高度可压缩的,使得有可能大大减小存储和/或传输该视点偏移数据所需要的开销的大小。
否则,过程700可选择地可包括“存储(一个或多个)图像数据通道和伴随的单独的VSC和方向元数据”730。在这种情况下,无论该视点偏移数据是否也被传输到远程设备,该视点偏移数据都可与图像数据一起被存储在当前或本地设备上,以便在当前设备上进一步使用。用于存储的视点偏移幅度和方向的格式可与上述格式相同或相似。
现在参考图7B,根据本公开的至少一些实现方式布置了本文描述的具有视点偏移的全向图像的图像处理的过程750。在图示的实现方式中,过程750可包括由大体上均匀编号的操作752至756中的一个或多个所图示的一个或多个操作、功能或动作。作为非限制性示例,在此将参考本文相关地方描述的图像处理系统1200(图12)或1300(图13)来描述过程750。
过程750可包括“接收经压缩的比特流”752,并且这可包括接收图像数据通道(例如RGB或YUV通道)的压缩数据,以及压缩的视点偏移通道,该通道具有视点偏移图谱的数据以及视点偏移方向数据作为元数据、开销数据、图像或序列头部数据,等等。可以理解的是,可接收多于一个比特流和/或比特流中的一个或多个可以是非压缩的。
过程750可包括“提取图像数据通道和单独的视点偏移数据”754。这涉及从比特流中获得不同类型的数据,然后解码和重建图像数据和视点偏移幅度以及视点偏移方向(当被压缩了时)。
过程750可包括“使用视点偏移数据”756。这里,在提供时采取视点偏移图谱的形式的视点偏移数据,以及伴随的视点偏移方向,可用于生成深度数据、3D模型、或3D重建,这经常伴随着使用多个图像,或者更准确的图像数据,这种更准确的图像数据然后被用于进一步的图像数据分析或修改。视点偏移数据或表示允许容易地识别3D中的光线,并且进而识别例如ERP图像上的2D点。
具体而言,可理解的是,这种格式包括找出3D中的特定点被投影到的2D图像中的位置所需要的所有必要信息。详细地说,示例应用示出了如何调整3D(X,Y,Z)坐标,以便通过使用如上所述可分别从视点通道和元数据获得的视点偏移幅度和方向来考虑到视点偏移。同样如上所述,最初可根据上述公式(1)-(4)来确定ERP图像上的初步(x,y)位置。此后,可使用简单的迭代过程来确定基于视点偏移的点坐标。
详细地说,估计的位置(x,y)允许确定被估计点的视点偏移量s(x,y)的近似值,然后这个值被用来使用上述方程(1)-(4)获得投影位置(x,y)的细化估计,其中X、Y和Z分别被
Figure BDA0003230214700000191
Figure BDA0003230214700000192
所取代,其中:
Figure BDA0003230214700000193
Figure BDA0003230214700000194
Figure BDA0003230214700000195
其中
Figure BDA0003230214700000196
和θ0是视点偏移方向角度,由公式(10)-(11)描述。
然后重复这个过程,直到实现期望的准确度为止。一旦3D点被生成,并且对视点偏移进行了准确的调整,那么3D
Figure BDA0003230214700000201
坐标于是就可很容易地被转换为例如ERP图像上的2D点,如上所述。
还可理解的是,这种格式包括找到2D图像中的特定点所对应的3D空间中的光线所需要的所有必要信息。获得的光线比在没有包含关于视点偏移的信息的情况下获得的光线更准确。
对于ERP图像,位置(x,y)处的像素存储关于沿着具有如下经度和纬度角度的光线的颜色或亮度的信息:
Figure BDA0003230214700000202
Figure BDA0003230214700000203
与点(x,y)相关联的光线包括可表达为下式的所有3D点:
Figure BDA0003230214700000204
位置(x,y)处的像素被假定为携带被投影到2D图像上的沿着此光线观察到的颜色信息或亮度和色度信息。每条这样的光线都要经过点(0,0,0),这是投影的中心。
在实践中,随着视点偏移,相机捕捉到的光线并不都是起源于(0,0,0)。包括VSC的图像表示允许识别光线的实际原点。在包括VSC的图像中与像素(x,y)相对应的光线可被表达为:
Figure BDA0003230214700000205
其中
Figure BDA0003230214700000206
和θ0是视点偏移方向角度,由公式(10)-(11)描述,并且s(x,y)是VSC中记录的在像素位置(x,y)处的视点偏移的幅度或量。
此后,无论是在本地或当前设备上,还是在远程设备上,经调整的2D图像点或3D中的光线于是便可用于许多不同的应用,例如3D建模或重建,虚拟、增强或混合现实,许多不同的计算机视觉应用和任务,包括监控相机系统、车辆相机系统、医疗窥镜、游戏系统,等等。
可理解的是,通过所公开的过程,作为一种示例形式,将捕捉的广角或鱼眼图像转换为所提出的设备独立格式仅使用如上所述使用支持视点偏移的非中心投影模型的相机校准技术来获得视点偏移数据。通常伴随着复杂算法的详细深度信息是不必需的。
同样如前所述,与ERP和其他中心投影格式类似,因为所公开的过程是独立于设备的。本文公开的视点偏移方法和系统因此适用于软件和硬件设备接口和相关标准。所公开的方法和系统可简化最先进的计算成像和计算机视觉算法的开发和部署,因为相同的视点偏移数据维护可被用于许多不同的设备和程序,例如用于捕捉AR/VR内容以获得沉浸式观看体验的那些,用于捕捉3D场景模型的那些,或者支持无人机、机器人等等的自主驾驶系统或导航的那些。
所公开的过程也可与当前使用的表示法完全向后兼容。使用标准的全向数据格式的包括中心投影技术的现有算法,要么可通过包含视点偏移幅度和方向信息并且考虑起源于不在(0,0,0)的点的3D中的光线来加以改善,要么现有的算法可被应用于接收到的图像数据,只是省略对视点偏移幅度通道和方向元数据信息的分析。
还可理解的是,本文公开的生成和维护图像的视点偏移数据的示例代表了单个相机的输出,在这种情况下,针对所有图像像素的视点都在相同的方向上偏移,并且每个像素的视点偏移数据只包括关于偏移的幅度的信息。然而,当光学系统表现出严重的偏心并且这种偏心需要被充分表征以实现期望的准确度时,或者当全向图像包括几个相机的输出时,视点偏移的方向对于个体或者每个像素可以是不同的。在这些情况下,不是添加一个表示偏移幅度的通道,而是将会包括三个额外的通道。一个通道可携带视点偏移的幅度,与上述的VSC相同。另外两个通道可携带偏移方向信息,例如x0和y0,或者如方程(12)-(13)的
Figure BDA0003230214700000211
和θ0,现在其对于每个(x,y)将会具有不同的值。为每个像素记录视点偏移的其他方式也是可能的。
例如,可响应于由一个或多个计算机程序产品提供的指令来进行图6、图7A和7B中的过程的操作中的任何一个或多个。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。可在任何形式的一个或多个机器可读介质中提供计算机程序产品。从而,例如,包括一个或多个处理器核心的处理器可响应于被一个或多个计算机或机器可读介质输送到处理器的程序代码和/或指令或指令集而进行这里的示例过程的一个或多个操作。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式输送软件,所述程序代码和/或指令或指令集可使得任何设备和/或系统如本文所述那样来运作。机器或计算机可读介质可以是非暂态物品或介质,例如非暂态计算机可读介质,并且可结合上文提及的任何示例或者其他示例被使用,只不过其不包括暂态信号本身。其确实包括除了信号本身以外的可以以“暂态”方式暂时保存数据的那些元素,例如RAM等等。
按照在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑和/或固件逻辑的任何组合。软件可体现为软件包、代码和/或指令集,和/或存储由可编程电路执行的指令的固件。模块可集体地或者个体地体现为作为更大系统的一部分的实现方式,例如集成电路(IC)、片上系统(SoC),等等。
按照在本文描述的任何实现方式中使用的,术语“逻辑单元”指的是被配置为提供本文描述的功能的固件逻辑和/或硬件逻辑的任何组合。按照在本文描述的任何实现方式中使用的,“硬件”可例如单独或者按任何组合方式地包括硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。逻辑单元可集体地或者个体地体现为形成更大系统的一部分的电路,例如集成电路(IC)、片上系统(SoC),等等。例如,逻辑电路可体现在逻辑电路中,以用于经由固件或硬件实现本文论述的系统。另外,本领域普通技术人员将会明白,由硬件和/或固件执行的操作也可利用软件的一部分来实现逻辑单元的功能。
按照本文描述的任何实现方式中使用的,术语“引擎”和/或“组件”可以指模块或者指逻辑单元,因为这些术语在上文描述了。因此,术语“引擎”和/或“组件”可以指被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域普通技术人员将会明白,由硬件和/或固件执行的操作或者可经由软件模块来实现,软件模块可体现为软件包、代码和/或指令集,并且还将会明白,逻辑单元也可利用软件的一部分来实现其功能。
参考图12,根据本公开的至少一些实现方式布置了示例图像处理系统1200。在各种实现方式中,示例图像处理系统1200可具有成像设备1202来形成或接收所捕捉的图像数据。这可通过各种方式来实现。从而,在一种形式中,图像处理系统1200可以是数字相机或者其他捕捉照片或视频的图像捕捉设备,并且成像设备1202在此情况下可以是相机硬件和相机传感器软件、模块或组件1208。在其他示例中,图像处理系统1200可具有包括或者可以是一个或多个相机的成像设备1202,并且逻辑模块1204可与成像设备1202远程通信或者可以以其他方式通信地耦合到成像设备1202,以便对图像数据进行进一步处理。
在任一情况下,这种技术可包括一个或多个相机,例如数字相机系统、相机阵列、专用相机设备或者成像电话,无论是静态图片还是视频相机,或者两者的某种组合。从而,在一种形式中,成像设备1202可包括相机硬件和光学器件,包括一个或多个鱼眼、广角相机或者超广角相机,每一者具有相应的镜头1205。就本文使用的而言,鱼眼相机是包括鱼眼镜头的相机,该鱼眼镜头产生强烈的视觉畸变,旨在创建宽阔的全景或半球形图像,并且引起如上所述的视点偏移。在各种示例中,相机1202可以是单个全向相机。就本文使用的而言,全向相机是具有足以引起如上所述的轴向视点偏移的视野(FOV)的相机,并且按照一种形式,可具有接近或大于180度的FOV。在一些示例中,相机1202可以是折反射相机。例如,折反射相机可包括涉及光的反射和折射两者的光学系统。每个相机1202可捕捉图像,例如图1的图像100。
(一个或多个)相机1202也可具有传感器1206以及自动对焦、变焦、光圈、ND滤镜、自动曝光、闪光灯和致动器控制。这些控制可以是传感器模块或组件1208的一部分,至少用于操作传感器。传感器组件1206和相机模块1208可以是成像设备1202的一部分,或者可以是逻辑模块1204的一部分,或者两种情况都存在。按照一种形式,相机模块1208包括相机接口,该相机接口是逻辑模块1204的一部分。这样的传感器组件可用于生成取景器的图像,并且拍摄静态图片或视频。图像传感器1206可具有RGB拜尔彩色过滤器或其他类型的过滤器、模拟放大器、A/D转换器、将入射光转换为数字信号的其他组件,等等,和/或这些的组合。数字信号在本文中也可被称为原始图像数据。
其他形式包括相机传感器型成像设备之类的(例如,网络摄像头或网络摄像头传感器或其他互补金属氧化物半导体型图像传感器(complementary metal–oxide–semiconductor,CMOS)),不使用红-绿-蓝(RGB)深度相机和/或麦克风阵列来定位谁在说话。相机传感器也可支持其他类型的电子快门,例如除了滚动快门以外或者代替滚动快门的全局快门,以及许多其他快门类型。在一些示例中,成像设备1202可设有眼睛跟踪相机。
在图示的示例中,逻辑模块1204可包括预处理单元1210、具有校准单元1218、视点偏移映射单元1220和视点偏移方向单元1222的视点偏移数据单元1214、投影单元1212、传输单元1224,以及其他可以使用投影图像和视点偏移信息的应用1226。校准单元1218可使用用轴向视点偏移来增强的基于非中心多项式的相机模型,该轴向视点偏移可被计算出来并且被用作视点偏移幅度以用于如上所述的进一步图像处理。
传输单元1224形成(一个或多个)代表性图像数据通道1250、视点偏移数据通道1252、以及视点偏移元数据1254,如上所述。应当注意,元数据1254在这里仅仅是作为说明性的表示而被单独示出,但实际上可与视点偏移幅度或图像数据在同一比特流或通道中,例如在头部中,而不一定是单独的流或通道。如虚线1256所示,接收视点偏移和图像数据的应用1226可以被视为或不被视为逻辑模块1204的一部分,或者可远离图像处理系统1200。当应用是远程的时,编码器1238可从传输单元1224接收图像和视点偏移数据,并且对数据进行编码或压缩,以便远程无线或有线地传输到应用1226。在这种情况下,编码器1228可执行打包操作,以将通道和元数据放置到比特流中以便远程传输。为图像处理系统1200描述的每个组件、单元或模块执行上文针对方法600、700或750提及的操作,其中操作与模块、单元、组件的标题相关联,除非上下文另有暗示。
图像处理系统1200可具有处理器1228中的一个或多个,处理器1228可包括(一个或多个)专用图像信号处理器(image signal processor,ISP)1230(例如英特尔Atom)、存储器存储库1232、一个或多个显示器1242、编码器1238(该编码器可包括编码器、解码器或两者)、以及天线1240。在一个示例实现方式中,图像处理系统1200可具有显示器1242、与显示器通信耦合的至少一个处理器1228、与处理器通信耦合的至少一个存储器1232,该至少一个存储器1232作为一个示例具有缓冲器1236或其他存储器,用于存储如上所述的视点偏移图谱和视点方向(或概括而言是信息)1234、相机参数或规格1246、以及视图参数或规格1248。其他缓冲器1236可存储与相机有关的或与图像处理有关的数据。
可提供编码器1238和天线1240来压缩经修改的图像日期,以便传输到可分析、修改、处理、显示和/或存储图像的其他设备。可理解的是,图像处理系统1200的编码器1238也可包括解码器,以接收和解码图像数据,以便由系统1200处理,以提供投影表示或图像,例如由过程7B公开的。
其他应用1226可组合几个图像,或者组合一图像和额外的信息(例如,场景的3D模型)。这种应用的输出可以是图像,但也可以是一些提取的关于场景的信息(深度信息、3D场景模型、一些特定物体在3D中的位置,等等)。
否则,经处理的图像1244可被显示在显示器1242上或存储在存储器1232中。如图所示,这些组件中的任何一者可能够与彼此通信和/或与逻辑模块或单元1204和/或成像设备1202的一些部分通信。从而,处理器1228可以通信地耦合到成像设备1202和逻辑单元/模块1204两者以便操作这些组件。按照一种方案,虽然如图12所示的图像处理系统1200可包括与上文提及的特定动作或操作相关联的一组特定模块、单元或组件,但这些模块、单元和组件不一定总是限于这些操作和动作。操作或动作可能与不同的组件或模块相关联,而不是这里图示的特定组件或模块。
参考图13,根据本公开的示例系统1300操作本文描述的图像处理系统1200的一个或多个方面。从下面描述的系统组件的性质可理解,这种组件可与上述的图像处理系统的某个或某些部分相关联,或者用于操作这个或这些部分。在各种实现方式中,系统1300可以是媒体系统,虽然系统1300不限于此情境。例如,系统1300可被包含到以下所列项中:数字静态相机、数字视频相机、诸如成像电话之类的具有相机或视频功能的移动设备、网络摄像头、个人计算机(PC)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mobile internet device,MID)、消息传递设备、数据通信设备、等等。
在各种实现方式中,系统1300包括与显示器1320耦合的平台1302。平台1302可从内容设备接收内容,其中内容设备例如是(一个或多个)内容服务设备1330或者(一个或多个)内容递送设备1340或者其他类似的内容源。包括一个或多个导航特征的导航控制器1350可用于与例如平台1302和/或显示器1320进行交互。在下文更详述描述这些组件的每一者。
在各种实现方式中,平台1302可包括芯片集1305、处理器1310、存储器1312、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318的任何组合。芯片集1305可提供处理器1310、存储器1312、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318之间的相互通信。例如,芯片集1305可包括能够提供与存储装置1314的相互通信的存储适配器(未描绘)。
处理器1310可实现为复杂指令集计算机(Complex Instruction Set Computer,CISC)或精简指令集计算机(Reduced Instruction Set Computer,RISC)处理器;x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(CPU)。在各种实现方式中,处理器1310可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。
存储器1312可实现为易失性存储器设备,例如——但不限于——随机访问存储器(RAM)、动态随机访问存储器(DRAM)或静态RAM(SRAM)。
存储装置1314可实现为非易失性存储设备,例如——但不限于——磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池后备SDRAM(同步DRAM)和/或网络可访问存储设备。在各种实现方式中,例如当包括多个硬盘驱动器时,存储装置1314可包括技术来为有价值的数字媒体增加存储性能增强保护。
图形子系统1315可执行诸如静态或视频之类的图像的处理以便显示。图形子系统1315例如可以是图形处理单元(graphics processing unit,GPU)或者视觉处理单元(visual processing unit,VPU)。模拟或数字接口可用于通信地耦合图形子系统1315和显示器1320。例如,该接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD遵从技术中的任何一者。图形子系统1315可被集成到处理器1310或芯片集1305中。在一些实现方式中,图形子系统1315可以是通信地耦合到芯片集1305的独立卡。
本文描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集内。或者,可使用分立的图形和/或视频处理器。作为另外一种实现方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实施例中,这些功能可实现在消费电子设备中。
无线电装置1318可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wireless local area network,WLAN)、无线个人区域网(wireless personal area network,WPAN)、无线城域网(wireless metropolitan areanetwork,WMAN)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置1318可根据任何版本的一个或多个适用的标准来进行操作。
在各种实现方式中,显示器1320可包括任何电视机型监视器或显示器。显示器1320例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视机的设备和/或电视机。显示器1320可以是数字的和/或模拟的。在各种实现方式中,显示器1320可以是全息显示器。另外,显示器1320可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mobile augmented reality,MAR)应用的视觉覆盖。在一个或多个软件应用1316的控制下,平台1302可在显示器1320上显示用户界面1322。
在各种实现方式中,(一个或多个)内容服务设备1330可由任何国家的、国际的和/或独立的服务所容宿并且从而例如是平台1302经由互联网可访问的。(一个或多个)内容服务设备1330可耦合到平台1302和/或显示器1320。平台1302和/或(一个或多个)内容服务设备1330可耦合到网络1360以向和从网络1360传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备1340也可耦合到平台1302和/或显示器1320。
在各种实现方式中,(一个或多个)内容服务设备1330可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备互联网能力的设备或家电以及能够经由网络1360或者直接地在内容提供者与平台1302和/或显示器1320之间单向或双向地传输内容的任何其他类似设备。将会明白,可经由网络1360单向地和/或双向地向和从系统1300中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、车辆、安全、医疗和游戏信息,等等。
(一个或多个)内容服务设备1330可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线电视或卫星电视或者无线电或互联网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实现方式。
在各种实现方式中,平台1302可从具有一个或多个导航特征的导航控制器1350接收控制信号。控制器1350的导航特征例如可用于与用户界面1322交互。在各种实现方式中,导航控制器1350可以是指点装置,该指点装置可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言是人机接口设备)。诸如图形用户界面(GUI)以及电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向其提供数据。
控制器1350的导航特征的移动可通过在显示器上显示的指针、光标、聚焦环或其他视觉指示物的移动被复制在显示器(例如,显示器1320)上。例如,在软件应用1316的控制下,位于导航控制器1350上的导航特征例如可被映射到在用户界面1322上显示的虚拟导航特征。在各种实现方式中,导航控制器1350可以不是单独的组件,而是可被集成到平台1302和/或显示器1320中。然而,本公开并不限于本文示出或描述的元素或者情境。
在各种实现方式中,例如,当被使能时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台1302的技术。程序逻辑可允许平台1302即使在平台被“关闭”时也可将内容流传输到媒体适配器或(一个或多个)其他内容服务设备1330或(一个或多个)内容递送设备1340。此外,芯片集1305可包括对例如8.1环绕立体声音频和/或高清晰度(7.1)环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各种实现方式中,图形驱动器可包括外围组件互连(peripheral component interconnect,PCI)Express图形卡。
在各种实现方式中,系统1300中示出的组件中的任何一个或多个可被集成。例如,平台1302和(一个或多个)内容服务设备1330可被集成,或者平台1302和(一个或多个)内容递送设备1340可被集成,或者平台1302、(一个或多个)内容服务设备1330和(一个或多个)内容递送设备1340可被集成。在各种实现方式中,平台1302和显示器1320可以是集成的单元。例如,显示器1320和(一个或多个)内容服务设备1330可被集成,或者显示器1320和(一个或多个)内容递送设备1340可被集成。这些示例并不意图限制本公开。
在各种实现方式中,系统1300可实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统1300可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如RF频谱等等。当实现为有线系统时,系统1300可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(network interface card,NIC)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、电缆、金属引线、印刷电路板(printed circuit board,PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。
平台1302可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈的数据、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音交谈的数据可例如是话音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于将媒体信息路由通过系统,或者指示节点以预定的方式处理媒体信息。然而,实现方式并不限于图13中示出或描述的元素或情境。
参考图14,小外形参数设备1400是其中可以实现系统1000或1100的各种物理风格或外形参数的一个示例。按照此方案,设备1400可实现为具有无线能力的移动计算设备。移动计算设备例如可以指具有处理系统和移动电源或电力供应(例如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可包括:数字静态相机、数字视频相机、诸如成像电话之类的具有相机或视频功能的移动设备、网络摄像头、个人计算机(PC)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备、等等。
移动计算设备的示例还可包括被布置为被人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋子计算机、衣服计算机和其他可穿戴计算机。在各种实现方式中,例如,移动计算设备可被实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然作为示例可利用被实现为智能电话的移动计算设备来描述一些实现方式,但可明白也可利用其他无线移动计算设备来实现其他实现方式。实现方式不限于此情境中。
如图14中所示,设备1400可包括具有正面1401和背面1402的外壳。装置1400包括显示器1404、输入/输出(I/O)设备1406和集成天线1408。设备1400还可包括导航特征1412。I/O设备2006可包括用于将信息输入到移动计算设备中的任何适当的I/O设备。I/O设备1406的示例可包括字母数字键盘、数字小键盘、触摸板、触摸敏感屏幕、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件,等等。信息也可通过麦克风1414被输入到设备1400中,或者可被语音识别设备来数字化。如图所示,设备1400可包括集成到设备1400的背面1402(或别处)的相机1405(例如,包括至少一个鱼眼或广角镜头、光圈和成像传感器)和闪光灯1410。实现方式不限于此情境中。
设备1400可既具有前置相机也具有后置相机,该前置相机和后置相机可一起被用于捕捉360度图像,并且视点偏移信息对于将来自多个相机的实际捕捉图像无伪影拼接成单个360度图像或全向3D立体图像而言,可能是有用的。
本文描述的各种形式的设备和过程可利用硬件元素、软件元素或者两者的组合来实现。硬件元素的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器,等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或者这些的任何组合。确定一实现方式是否利用硬件元素和/或软件元素来实现可根据任何数目的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
至少一个实现方式的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令来实现,这些指令当被机器读取时使得该机器制作逻辑来执行本文描述的技术。这种被称为“IP核心”的表现形式可被存储在有形机器可读介质上并且被提供到各种客户或制造设施以加载到实际制作该逻辑或处理器的制作机器中。
虽然已参考各种实现方式描述了本文记载的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为属于本公开的精神和范围内。
以下示例属于进一步实现方式。
按照示例的一个或多个第一实现方式,其上具有指令的至少一个非暂态计算机可读介质,所述指令当被执行时使得计算设备通过以下步骤来进行操作:获得由至少一个成像设备捕捉的至少一个图像的图像数据;生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
按照一个或多个第二实现方式,关于所述第一实现方式,又及,其中所述视点偏移数据的视点偏移幅度是作为与提供色度或亮度或者两者的图像数据的一个或多个通道分开的视点偏移通道来提供的。
按照一个或多个第三实现方式,关于所述第一或第二实现方式,又及,其中所述视点偏移数据中的至少一些被嵌入在要随所述图像数据一起传输的元数据中。
按照一个或多个第四实现方式,关于所述第一至第三实现方式中的任一者,又及,其中所述视点偏移数据中包括的视点偏移方向被嵌入在元数据中。
按照一个或多个第五实现方式,关于所述第一至第三实现方式中的任一者,又及,其中所述视点偏移数据中包括的视点偏移方向被嵌入在元数据中,并且其中所述元数据伴随着携带所述视点偏移的幅度的视点偏移通道。
按照一个或多个第六实现方式,关于所述第一至第三实现方式中的任一者,又及,其中所述视点偏移数据中包括的视点偏移方向被嵌入在元数据中,并且其中所述元数据被放置在图像或序列头部中。
按照一个或多个第七实现方式,关于所述第一至第六实现方式中的任一者,又及,其中所述方法包括,其中所述视点偏移数据被维护为视点偏移图谱,其中所述视点偏移图谱上的像素位置的灰度值表示所述视点偏移的长度。
按照一个或多个第八实现方式,关于所述第一至第七实现方式中的任一者,又及,其中所述视点偏移数据是在不使用入射角值的情况下生成的。
按照一个或多个第九实现方式,关于所述第一至第八实现方式中的任一者,又及,其中所述视点偏移数据的视点偏移幅度是通过使用所述成像设备的非中心投影的、基于多项式的校准来形成的。
按照一个或多个第十实现方式,关于所述第一至第九实现方式中的任一者,又及,其中所述视点偏移方向是通过使用图像的旋转矩阵来确定的。
按照示例的一个或多个第十一实现方式,一种图像处理的系统,包括:存储器;以及与所述存储器通信地耦合的至少一个处理器,所述处理器被布置为通过以下步骤来进行操作:获得由至少一个成像设备捕捉的至少一个图像的图像数据,生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点的偏移,并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
按照一个或多个第十二实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向。
按照一个或多个第十三实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向,并且其中所述元数据被放置在序列或图像头部中。
按照一个或多个第十四实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向,并且其中所述视点偏移方向是至少部分基于旋转矩阵的,该旋转矩阵指示从相机朝向到所选视图朝向的变化。
按照一个或多个第十五实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向,其中所述视点偏移方向是至少部分基于旋转矩阵的,该旋转矩阵指示从相机朝向到所选视图朝向的变化,并且其中所述视点偏移方向是利用旋转矩阵或者旋转矩阵的参数化来表达的。
按照一个或多个第十六实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向,并且其中所述视点偏移方向被表达为全向图像中的像素位置。
按照一个或多个第十七实现方式,关于所述第十一实现方式,又及,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向,并且其中所述视点偏移方向是作为指示所述方向的光线的角度来提供的。
按照示例的一个或多个第十八实现方式,一种图像处理的方法包括:获得由至少一个成像设备捕捉的至少一个图像的图像数据;生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用以依据所述视点偏移数据来修改所述图像数据。
按照一个或多个第十九实现方式,关于所述第十八实现方式,又及,其中所述视点偏移数据的视点偏移幅度是作为与提供色度或亮度或者两者的图像数据的一个或多个通道分开的视点偏移通道来提供的。
按照一个或多个第二十实现方式,关于所述第十八或第十九实现方式,又及,其中所述视点偏移数据的视点偏移幅度被维护为视点偏移图谱。
按照一个或多个第二十一实现方式,关于所述第十八或第十九实现方式,又及,其中所述视点偏移数据的视点偏移幅度被维护为视点偏移图谱,并且其中所述视点偏移图谱包括被缩放来适应与同一图像的色度或亮度通道相同的比特深度的初始值。
按照一个或多个第二十二实现方式,关于所述第十八或第十九实现方式,又及,其中所述视点偏移数据的视点偏移幅度被维护为视点偏移图谱,并且其中所述视点偏移图谱被按至少八的因数来降采样。
按照一个或多个第二十三实现方式,关于所述第十八实现方式,又及,其中所述视点偏移数据是在多个通道中作为以下所列项中的至少一者来提供的:(1)x、y和z方向的每一者上的视点偏移的幅度,每个方向具有其自己的通道,以及(2)所述偏移的幅度以及描述所述偏移的方向的两个角度,每一者具有其自己的通道。
按照一个或多个第二十四实现方式,关于所述第十八至第二十三实现方式中的任一者,又及,其中视点偏移数据包括三元素旋转向量形式的视点偏移方向。
按照一个或多个第二十五实现方式,关于所述第十八至第二十三实现方式中的任一者,又及,其中所述视点偏移数据包括每个图像的视点偏移方向,该视点偏移方向被表示为等量矩形投影(ERP)图像上的点的坐标或者该点的角度。
在另外一个示例中,至少一个机器可读介质可包括多个指令,所述多个指令响应于在计算设备上被执行,使得所述计算设备执行根据上述示例中的任一者所述的方法。
在另外一个示例中,一种装置可包括用于执行根据上述示例中的任一者所述的方法的装置。
上述示例可包括特征的特定组合。然而,上述示例不限于此,并且在各种实现方式中,上述示例可包括仅从事这种特征的子集,从事这种特征的不同顺序,从事这种特征的不同组合,和/或从事除明确列出的那些特征以外的附加特征。例如,对于这里的任何示例方法描述的所有特征可对于任何示例装置、示例系统和/或示例物品实现,反之亦然。

Claims (25)

1.其上具有指令的至少一个非暂态计算机可读介质,所述指令当被执行时使得计算设备通过以下步骤来进行操作:
获得由至少一个成像设备捕捉的至少一个图像的图像数据;
生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且
将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用,以依据所述视点偏移数据来修改所述图像数据。
2.如权利要求1所述的介质,其中所述视点偏移数据的视点偏移幅度是作为与提供色度或亮度或者两者的图像数据的一个或多个通道分开的视点偏移通道来提供的。
3.如权利要求1或2所述的介质,其中所述视点偏移数据中的至少一些被嵌入在要随所述图像数据一起传输的元数据中。
4.如权利要求1至3中任一项所述的介质,其中所述视点偏移数据中包括的视点偏移方向被嵌入在元数据中。
5.如权利要求4所述的介质,其中所述元数据伴随着携带所述视点偏移的幅度的视点偏移通道。
6.如权利要求4所述的介质,其中所述元数据被放置在图像或序列头部中。
7.如权利要求1至6中任一项所述的介质,其中所述视点偏移数据被维护为视点偏移图谱,其中所述视点偏移图谱上的像素位置的灰度值表示所述视点偏移的长度。
8.如权利要求1至7中任一项所述的介质,其中所述视点偏移数据是在不使用入射角值的情况下生成的。
9.如权利要求1至8中任一项所述的介质,其中所述视点偏移数据的视点偏移幅度是通过使用所述成像设备的非中心投影的、基于多项式的校准来形成的。
10.如权利要求1至9中任一项所述的介质,其中所述视点偏移方向是通过使用图像的旋转矩阵来确定的。
11.一种图像处理的系统,包括:
存储器;以及
与所述存储器通信地耦合的至少一个处理器,所述处理器被布置为通过以下步骤来进行操作:
获得由至少一个成像设备捕捉的至少一个图像的图像数据,
生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点的偏移,并且
将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用,以依据所述视点偏移数据来修改所述图像数据。
12.如权利要求11所述的系统,其中所述视点偏移数据包括要被作为元数据传输的视点偏移方向。
13.如权利要求12所述的系统,其中所述元数据被放置在序列或图像头部中。
14.如权利要求12所述的系统,其中所述视点偏移方向是至少部分基于旋转矩阵的,该旋转矩阵指示从相机朝向到所选视图朝向的变化。
15.如权利要求12所述的系统,其中所述视点偏移方向是利用旋转矩阵或者旋转矩阵的参数化来表达的。
16.如权利要求12所述的系统,其中所述视点偏移方向被表达为全向图像中的像素位置。
17.如权利要求12所述的系统,其中所述视点偏移方向是作为指示所述方向的光线的角度来提供的。
18.一种图像处理的方法,包括:
获得由至少一个成像设备捕捉的至少一个图像的图像数据;
生成视点偏移数据,该视点偏移数据指示与所述至少一个图像的图像数据的生成相关联的视点偏移;并且
将所述图像数据和所述视点偏移数据两者分开提供给图像处理应用,以依据所述视点偏移数据来修改所述图像数据。
19.如权利要求18所述的方法,其中所述视点偏移数据的视点偏移幅度是作为与提供色度或亮度或者两者的图像数据的一个或多个通道分开的视点偏移通道来提供的。
20.如权利要求18或19所述的方法,其中所述视点偏移数据的视点偏移幅度被维护为视点偏移图谱,
并且其中所述视点偏移图谱包括初始值,该初始值被缩放来适应与同一图像的色度或亮度通道相同的比特深度。
21.如权利要求18或19所述的方法,其中所述视点偏移数据是在多个通道中作为以下所列项中的至少一者来提供的:(1)x、y和z方向的每一者上的视点偏移的幅度,每个方向具有其自己的通道,以及(2)所述偏移的幅度以及描述所述偏移的方向的两个角度,每一者具有其自己的通道。
22.如权利要求18或19所述的方法,其中所述视点偏移数据包括三元素旋转向量形式的视点偏移方向。
23.如权利要求18所述的方法,其中所述视点偏移数据包括每个图像的视点偏移方向,该视点偏移方向被表示为等量矩形投影ERP图像上的点的坐标或者该点的角度。
24.至少一个机器可读介质,包括多个指令,该多个指令响应于在计算设备上被执行而使得所述计算设备执行根据权利要求18至23中任一项所述的方法。
25.一种装置,包括用于执行根据权利要求18至23中任一项所述的方法的部件。
CN202110984617.1A 2020-09-25 2021-08-25 具有视点偏移的全向图像的图像处理的方法和系统 Pending CN114257733A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/033,310 2020-09-25
US17/033,310 US11978177B2 (en) 2020-09-25 2020-09-25 Method and system of image processing of omnidirectional images with a viewpoint shift

Publications (1)

Publication Number Publication Date
CN114257733A true CN114257733A (zh) 2022-03-29

Family

ID=74102361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110984617.1A Pending CN114257733A (zh) 2020-09-25 2021-08-25 具有视点偏移的全向图像的图像处理的方法和系统

Country Status (4)

Country Link
US (1) US11978177B2 (zh)
CN (1) CN114257733A (zh)
DE (1) DE102021121674A1 (zh)
GB (1) GB2601597B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3672250A1 (en) * 2018-12-21 2020-06-24 InterDigital VC Holdings, Inc. Method and apparatus to encode and decode images of points of a sphere

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4594136B2 (ja) * 2005-03-09 2010-12-08 キヤノン株式会社 画像処理方法、画像処理装置
US8224122B2 (en) * 2006-12-15 2012-07-17 Microsoft Corporation Dynamic viewing of wide angle images
US8681182B2 (en) * 2011-04-19 2014-03-25 Deluxe 3D Llc Alternate viewpoint rendering
US9494800B2 (en) * 2014-01-21 2016-11-15 Osterhout Group, Inc. See-through computer display systems
US10469873B2 (en) * 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
US10269257B1 (en) * 2015-08-11 2019-04-23 Gopro, Inc. Systems and methods for vehicle guidance
JP6757184B2 (ja) * 2016-03-24 2020-09-16 キヤノン株式会社 画像処理装置、撮像装置およびこれらの制御方法ならびにプログラム
JP6330987B2 (ja) * 2016-06-17 2018-05-30 日本電気株式会社 画像処理装置、画像処理方法、及び記憶媒体
JP6472486B2 (ja) * 2016-09-14 2019-02-20 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
WO2018142496A1 (ja) * 2017-02-01 2018-08-09 株式会社日立製作所 三次元計測装置
US10403029B2 (en) * 2017-05-03 2019-09-03 Microsoft Technology Licensing, Llc Methods and systems for multistage post-rendering image transformation
KR102429241B1 (ko) * 2018-06-01 2022-08-04 노키아 테크놀로지스 오와이 전방향성 콘텐츠에 대한 오버레이에서 사용자 상호작용을 시그널링하고 백그라운드에 오버레이를 그루핑하는 방법 및 장치
WO2020009341A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 동적 뷰포인트의 좌표계에 대한 메타데이터를 송수신하는 방법 및 장치
CN110876051B (zh) 2018-08-29 2023-04-11 中兴通讯股份有限公司 视频数据的处理,传输方法及装置,视频数据的处理系统
US20200294269A1 (en) 2020-05-28 2020-09-17 Intel Corporation Calibrating cameras and computing point projections using non-central camera model involving axial viewpoint shift

Also Published As

Publication number Publication date
GB2601597A (en) 2022-06-08
US20210012454A1 (en) 2021-01-14
DE102021121674A1 (de) 2022-03-31
GB2601597B (en) 2024-04-10
GB202111853D0 (en) 2021-09-29
US11978177B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
US10572982B2 (en) Method and system of image distortion correction for images captured by using a wide-angle lens
US10944996B2 (en) Visual quality optimized video compression
CN107925755B (zh) 针对图像处理进行平面表面检测的方法和系统
US20200051269A1 (en) Hybrid depth sensing pipeline
US11113831B2 (en) Reducing textured IR patterns in stereoscopic depth sensor imaging
US11334975B2 (en) Pose synthesis in unseen human poses
US20180218513A1 (en) Method and system of automatic object dimension measurement by using image processing
US10762664B2 (en) Multi-camera processor with feature matching
US11871110B2 (en) Single image ultra-wide fisheye camera calibration via deep learning
US10354364B2 (en) Automatic perspective control using vanishing points
US20210004969A1 (en) Multi-level optical flow estimation framework for stereo pairs of images based on spatial partitioning
US9807313B2 (en) Method and system of increasing integer disparity accuracy for camera images with a diagonal layout
US10825131B2 (en) Circular fisheye camera array rectification
US10957027B2 (en) Virtual view interpolation between camera views for immersive visual experience
US10771758B2 (en) Immersive viewing using a planar array of cameras
NL2029657B1 (en) Accurate optical flow estimation in stereo pairs of equirectangular images
CN114257733A (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