CN103918003A - 图像处理装置、方法和程序 - Google Patents

图像处理装置、方法和程序 Download PDF

Info

Publication number
CN103918003A
CN103918003A CN201280053874.2A CN201280053874A CN103918003A CN 103918003 A CN103918003 A CN 103918003A CN 201280053874 A CN201280053874 A CN 201280053874A CN 103918003 A CN103918003 A CN 103918003A
Authority
CN
China
Prior art keywords
value
function
equation
image
error
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
CN201280053874.2A
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of CN103918003A publication Critical patent/CN103918003A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3876Recombination of partial images to recreate the original image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Stereoscopic And Panoramic Photography (AREA)

Abstract

本技术涉及使得能够以更简单且更快速的方式从全景图像裁切与期望方向对应的区域的图像处理装置、方法和程序。当从投影在球形表面上的全景图像裁切与特定观看方向对应的区域并显示该区域时,图像处理装置将投影在由特定观看方向所确定的虚拟屏幕上的全景图像的区域显示为输出图像。更具体地,图像处理装置使用近似函数来计算要投影在屏幕上的全景图像的像素的位置,并生成输出图像。此时,图像处理装置评估由近似函数引起的近似误差。具体地,当使用一个近似函数获得与屏幕的写入区域内的位置对应的全景图像的像素的位置时,图像处理装置确定写入区域的范围,使得近似误差不大于可允许的量。本技术可以应用于图像处理装置。

Description

图像处理装置、方法和程序
技术领域
本技术涉及图像处理装置、其方法以及程序,特别地涉及使得当裁切全景图像的沿特定方向的区域以进行显示时可以更容易并快速地裁切沿期望方向的区域的图像处理装置、其方法以及程序。
背景技术
例如,已知以下技术(例如,参见专利文献1):通过使用在旋转相机的同时顺序拍摄的多个图像来生成宽的全景图像。为了生成这样的全景图像,所拍摄的多个图像的一部分被裁切以进行合成。
引用列表
专利文献
专利文献1:日本专利第4293053号
发明内容
本发明要解决的问题
然而,在上述技术中,尽管可以裁切全景图像的一部分以进行显示,但是当期望方向被指定为用户的眼睛方向时不能裁切全景图像中沿特定方向的区域以进行显示。
本技术是考虑了这样的情况而实现的,本技术的目的是容易并快速地裁切全景图像中沿期望方向的区域。
问题的解决方案
根据本技术的一个方面的图像处理装置是如下图像处理装置:所述图像处理装置被配置成生成与输入图像具有预定位置关系的输出图像,所述图像处理装置包括:极值数据生成单元,所述极值数据生成单元被配置成基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与输出图像上的位置对应的输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;误差计算单元,所述误差计算单元被配置成针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;确定单元,所述确定单元被配置成确定所述误差不大于预定阈值的所述当前区域;以及图像生成单元,所述图像生成单元被配置成通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
可以使所述近似函数成为通过在所述第一位置附近对表示所述位置关系的函数的多项式展开而获得的多项式近似函数。
可以使所述近似函数作为(n-1)阶多项式近似函数,并且使计算所述误差所需要的函数成为通过指示所述位置关系的函数的n阶微分而获得的函数。
可以使限定所述位置关系的变量成为从预定参考位置看见的所述输出图像的方向以及从所述参考位置到所述输出图像的距离。
可以使与所述输出图像上的预定位置对应的所述输入图像上的位置成为所述输入图像与通过所述预定位置和所述参考位置的直线相交的位置。
可以使所述输入图像成为投影在球形表面上的图像或投影在圆柱形表面上的图像。
根据本技术的一个方面的图像处理方法或程序是如下的图像处理方法或程序:所述图像处理方法或程序被配置成生成与输入图像具有预定位置关系的输出图像。所述图像处理方法或程序包括以下步骤:基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;确定所述误差不大于预定阈值的所述当前区域;以及通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
根据本技术的一个方面,与输入图像具有预定位置关系的输出图像是通过如下方式生成的:基于函数,生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;确定所述误差不大于预定阈值的所述当前区域;以及通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
本发明的效果
根据本技术的一个方面,可以容易且快速地裁切全景图像中沿期望方向的区域。
附图说明
图1是示出了将全景图像投影在其上的球形表面的图。
图2是示出了将全景图像投影在其上的圆柱形表面的图。
图3是用于裁切全景图像的期望区域的伪代码的图。
图4是用于裁切全景图像的期望区域的伪代码的图。
图5是示出了将全景图像的一部分投影在其上的屏的图。
图6是获得当n阶微分函数采用极值时的值的伪代码的图。
图7是获得当n阶微分函数采用极值时的值的伪代码的图。
图8是获得当n阶微分函数采用极值时的值的伪代码的图。
图9是获得当n阶微分函数采用极值时的值的伪代码的图。
图10是图像处理装置的配置示例的图。
图11是示出了图像输出处理的流程图。
图12是示出了结束位置计算处理的流程图。
图13是示出了写入处理的流程图。
图14是图像处理装置的配置示例的图。
图15是示出了图像输出处理的流程图。
图16是示出了结束位置计算处理的流程图。
图17是示出了写入处理的流程图。
图18是示出了计算机的配置示例的图。
具体实施方式
以下参照附图来描述应用本技术的实施方式。
<技术的概要>
[关于全景图像]
首先,描述本技术的概要。
一般而言,通过透视投影变换,宽的全景图像通常不被生成为投影在平面上的图像。这是因为全景图像的外围部分是严重变形的,并且不能呈现比180度宽的图像。因此,通常全景图像被保存为投影在球形表面上的图像或投影在圆柱形表面上的图像。
因此,首先描述投影在球形表面上的全景图像和投影在圆柱形表面上的全景图像。
在全景图像是投影在球形表面上的图像的情况下,全景图像(二维图像)的宽度和高度分别为2π和π。也就是说,当将二维图像的坐标系(下文中称为SxSy坐标系)上的任意位置表示为(Sx,Sy)时,全景图像是具有满足0≤Sx≤2π以及-π/2≤Sy≤π/2的矩形区域的图像。
来自以下等式(1)所表示的方向并朝向三维XwYwZw坐标系(下文中也称为世界坐标系)的原点的光被投影在二维图像的每个位置(Sx,Sy)上。
[等式1]
Xw Yw Zw = sin ( Sx ) &times; cos ( Sy ) sin ( Sy ) cos ( Sx ) &times; cos ( Sy ) . . . ( 1 )
此外,在等式(1)中,Xw、Yw、Zw分别表示世界坐标系中的Xw坐标、Yw坐标和Zw坐标。
也就是说,通过使用等距圆柱投影,通过如图1所示以世界坐标系的原点O为中心形成具有半径1的球形表面SP11而获得的图像是全景图像(二维图像)。同时,在图1中,右倾斜方向、向下方向和左倾斜方向分别表示世界坐标系的Xw轴、Yw轴和Zw轴的方向。
在图1的示例中,Zw轴与球形表面SP11相互相交的位置是SxSy坐标系的原点。因此,在球形表面SP11上的圆弧AR11和圆弧AR12的长度分别为Sx和Sy。通过世界坐标系的原点O的直线L11的方向是等式(1)表示的方向。
另一方面,当全景图像是投影在圆柱形表面上的图像时,全景图像(二维图像)的宽度和高度分别为2π和任意高度H。也就是说,当将二维图像的坐标系(下文中称为CxCy坐标系)上的任意位置表示为(Cx,Cy)时,全景图像是具有满足0≤Cx≤2π以及-H/2≤Cy≤H/2的矩形区域的图像。
来自以下等式(2)所表示的方向并朝向三维XwYwZw坐标系(世界坐标系)中的原点的光被投影在二维图像的每个位置(Cx,Cy)上。
[等式2]
Xw Yw Zw = sin ( Cx ) Cy cos ( Cx ) . . . ( 2 )
此外,在等式(2)中,Xw、Yw和Zw分别表示世界坐标系中的Xw坐标、Yw坐标和Zw坐标。
也就是说,通过如图2所示形成圆柱形表面CL11而获得的图像是全景图像(二维图像),该圆柱形表面CL11是以世界坐标系的Yw轴为中心具有半径1的圆柱体的侧表面。同时,在图2中,右倾斜方向、向下方向和左倾斜方向分别表示世界坐标系中的Xw轴、Yw轴和Zw轴的方向。
在图2的示例中,Zw轴与圆柱形表面CL11相互相交的位置是CxCy坐标系的原点。因此,在圆柱形表面CL11上的圆弧AR21和直线L21的长度分别为Cx和Cy。通过世界坐标系的原点O的直线L22的方向是等式(2)表示的方向。
[关于全景图像的裁切显示]
存在着当裁切这种宽全景图像的一部分并且将其显示在显示设备上时观看全景图像的需要。
假设在显示设备(其上显示从全景图像裁切的图像)的显示屏的横向方向上(与Sx方向或Cx方向对应的方向)的像素数量为Wv,以及在显示屏的纵向方向上(与Sy方向或Cy方向对应的方向)的像素数量为Hv。
例如,Wv=800并且Hv=600,像素的数量Wv和Hv为固定值。像素的数量Wv和Hv为偶数。
当使显示设备显示全景图像的一部分时,用户指定要显示的全景图像的区域。具体地,例如,通过两个角度θyaw(yaw表示偏航)、θpitch(pitch表示倾斜)以及焦距Fv所确定的用户的眼睛方向由用户指定。
当以这种方式指定用户的眼睛方向和焦距时,以由焦距确定的放大倍率来显示全景图像中沿眼睛方向的区域。
具体地,在宽的全景图像是投影在球形表面上的图像的情况下,执行图3所示的伪代码,并将图像显示在显示设备上。
也就是说,具有在横向方向上Wv和纵向方向上Hv的尺寸的画布区域(canvas area)被保存在存储器中。针对所述画布区域上XvYv坐标系的每个位置(Xv,Yv)(其中,满足-Wv/2≤Xv≤Wv/2以及-Hv/2≤Yv≤Hv/2)获得满足以下等式(3)的全景图像上的位置(Sx,Sy)。
[等式3]
sin ( Sx ) &times; cos ( Sy ) sin ( Sy ) cos ( Sx ) &times; cos ( Sy ) &Proportional; cos ( &theta; yaw ) 0 sin ( &theta; yaw ) 0 1 0 - sin ( &theta; yaw ) 0 cos ( &theta; yaw ) 1 0 0 0 cos ( &theta; pitch ) - sin ( &theta; pitch ) 0 sin ( &theta; pitch ) cos ( &theta; pitch ) Xv Yv Fv . . . ( 3 )
当获得与XvYv坐标系上的每个位置(Xv,Yv)对应的全景图像上的位置(Sx,Sy)时,将位置(Sx,Sy)处的全景图像的像素的像素值写入画布区域上的对应位置(Xv,Yv)中。也就是说,将全景图像的位置(Sx,Sy)处的像素的像素值作为画布区域上的对应位置(Xv,Yv)处的像素的像素值。
当以这样的方式将像素值写入画布区域上的每个位置时,画布区域上的图像被输出作为全景图像上以用户指定的焦距在眼睛方向上的区域的图像。
相似地,当宽的全景图像是投影在圆柱形表面上的图像时,执行图4所示的伪代码,并且将图像显示在显示设备上。
也就是说,将具有在横向方向上Wv以及纵向方向上Hv的尺寸的画布区域保存在存储器中。针对画布区域上的XvYv坐标系的每个位置(Xv,Yv)(其中满足-Wv/2≤Xv≤Wv/2以及-Hv/2≤Yv≤Hv/2)获得满足以下等式(4)的全景图像上的位置(Cx,Cy)。
[等式4]
sin ( Cx ) Cy cos ( Cx ) &Proportional; cos ( &theta; yaw ) 0 sin ( &theta; yaw ) 0 1 0 - sin ( &theta; yaw ) 0 cos ( &theta; yaw ) 1 0 0 0 cos ( &theta; pitch ) - sin ( &theta; pitch ) 0 sin ( &theta; pitch ) cos ( &theta; pitch ) Xv Yv Fv . . . ( 4 )
当获得与XvYv坐标系上的每个位置(Xv,Yv)对应的全景图像上的位置(Cx,Cy)时,将位置(Cx,Cy)处的全景图像的像素的像素值写入画布区域上的对应位置(Xv,Yv)中。
当以这样的方式将像素值写入画布区域上的每个位置时,画布区域上的图像被输出作为全景图像上以用户指定的焦距在眼睛方向上的区域的图像。
通过图3或图4所示的伪代码获得的图像是例如图5所示的图像。同时,附图中的右斜方向、向下方向和左斜方向分别表示世界坐标系的Xw轴方向、Yw轴方向和Zw轴方向。
在图5中,在世界坐标系的空间中提供虚拟屏幕SC11,当执行图3或图4中的伪代码时屏幕SC11与保存在存储器中的画布区域对应。在该示例中,基于屏幕SC11(画布区域)的XvYv坐标系的原点O’位于屏幕SC11的中心。
在此考虑轴AX11,所述轴AX11是通过将穿过世界坐标系的原点O以便与Zw轴平行的直线围绕Yw轴旋转角度θyaw,并且进一步将该直线相对于XwZw平面旋转角度θpitch而获得的。轴Ax11是连接世界坐标系的原点O与XvYv坐标系的原点O’的直线,轴AX11的长度,即从原点O到原点O’的距离,是焦距Fv。如果用户的视点位于原点O,则轴AX11的方向是通过用户指定的角度θyaw和角度θpitch而确定的眼睛方向,即屏幕SC11所位于的方向。
因此,当用户指定通过角度θyaw和角度θpitch以及焦距Fv而确定的眼睛方向时,这意味着用户指定了显示从全景图像裁切的图像的屏幕SC11的位置。
屏幕SC11是与轴AX11垂直的平面,具有在横向方向上Wv和纵向方向上Hv的尺寸。也就是说,在XvYv坐标系中,在-Wv/2≤Xv≤Wv/2以及-Hv/2≤Yv≤Hv/2范围内的区域变成屏幕SC11的区域(有效区域)。
在此,在世界坐标系上通过以下等式(5)表示在XvYv坐标系上屏幕SC11上的任意位置(Xv,Yv)。
[等式5]
cos ( &theta; yaw ) 0 sin ( &theta; yaw ) 0 1 0 - sin ( &theta; yaw ) 0 cos ( &theta; yaw ) 1 0 0 0 cos ( &theta; pitch ) - sin ( &theta; pitch ) 0 sin ( &theta; pitch ) cos ( &theta; pitch ) Xv Yv Fv . . . ( 5 )
如上所述,来自世界坐标系中由等式(1)表示的方向并且朝向世界坐标系的原点O的光被投影在SxSy坐标系中宽全景图像上的每个位置(Sx,Sy)。相似地,来自等式(2)表示的方向并且朝向世界坐标系中的原点O的光被投影在CxCy坐标系中全景图像上的每个位置(Cx,Cy)。
因此,通过等式(3)或(4)确定屏幕SC11上的每个位置(Xv,Yv)的像素的像素值等价于将来自特定方向并且朝向世界坐标系的原点O的光投影在所述光与屏幕SC11相交的位置。
因此,通过执行图3或图4所示的伪代码而输出的图像正如投影在屏幕SC11上的图像(全景图像)一样。也就是说,用户可以通过指定由角度θyaw和角度θpitch以及焦距Fv确定的眼睛方向,来观看投影在显示设备的虚拟屏幕SC11上的图像(景象)。投影在屏幕SC11上的图像,即显示在显示设备上的图像,是从宽的全景图像裁切的全景图像的部分区域的图像。
此外,当使焦距Fv的值较大时,将好像使用摄远镜头拍摄的图像显示在显示设备上,并且当使焦距Fv的值较小时,将好像使用广角镜头拍摄的图像显示在显示设备上。
根据以上描述应当明白,角度θyaw不小于0度并且小于360度,角度θpitch不小于-90度并且小于90度。另外,例如,焦距Fv的可能值不小于0.1并且不大于10。
[关于本技术]
为了从全景图像裁切部分区域以显示在显示设备上,应当针对XvYv坐标系中屏幕SC11(画布区域)的每个位置(Xv,Yv)来计算上述等式(3)或等式(4)。然而,这是需要操作三角函数以及除法运算的复杂计算。因此,运算量巨大并且处理速度下降。
因此,在本技术中,执行多项式近似的计算,以用于实现计算的较小运算量来获得投影在屏幕的每个位置上的全景图像的区域,并且提高处理速度。另外,在操作时,其被配置为评估由近似引起的误差,使得由近似计算引起的最坏误差不大于期望阈值,从而呈现高品质图像。
换言之,本技术使得可以通过减少图3或图4所示的伪代码的运算量通过简单计算来从宽的全景图像裁切部分区域以进行显示。
由于需要执行复杂计算以裁切全景图像的部分区域,所以试图通过本技术中的多项式近似来简化计算,从而提高处理速度。然而,多项式近似仅是近似,使得在通过多项式近似的计算中出现了计算误差。
在本技术中,将多项式近似应用于当执行图3或图4中所示的上述伪代码时所执行的计算。
也就是说,在XvYv坐标系中屏幕(画布区域)上的预定位置(Xv,Yv)的附近,通过特定多项式近似执行计算。当多项式近似中的计算误差变大到特定程度时,即当计算误差超过预定阈值时,从计算误差超过预定阈值的位置通过另一多项式近似来执行计算。
例如,当在执行图3或图4所示的伪代码时将多项式近似应用于计算时,如果不能指定计算误差超过阈值的位置,那么由于计算误差,通过多项式近似由高速处理获得的图像质量可能劣化。也就是说,存在着最终获得的图像不是合适图像的可能性。
因此,在本技术中,评估多项式近似的计算误差,并根据评估来改变在计算中使用的多项式近似。据此,变为可以简单并快速地裁切全景图像中沿期望方向的区域,并呈现高品质图像作为裁切图像。
[关于多项式近似]
在描述本技术之前描述多项式近似(泰勒展开(Taylor expansion))。
针对可微分的任意函数G(L)建立以下等式(6)表示的关系。也就是说,通过函数G(L)的泰勒展开来获得等式(6)。
[等式6]
L &ForAll; , L 1 &Exists; &Element; ( 0 , L ) s . t . G ( L 0 + L ) = G ( L 0 ) + G ( 1 ) ( L 0 ) &times; L 1 + G ( 2 ) ( L 0 ) &times; L 2 2 ! + . . . + G ( n - 1 ) ( L 0 ) &times; L ( n - 1 ) ( n - 1 ) ! + G ( n ) ( L 0 + L 1 ) &times; L n n ! . . . ( 6 )
在此,通过函数G(L)的(n-1)阶多项式近似获得的函数Ga(L)是以下等式(7)表示的函数。
[等式7]
Ga ( L 0 + L ) &equiv; G ( L 0 ) + G ( 1 ) ( L 0 ) &times; L 1 + G ( 2 ) ( L 0 ) &times; L 2 2 ! + . . . + G ( n - 1 ) ( L 0 ) &times; L ( n - 1 ) ( n - 1 ) ! . . . ( 7 )
可以根据等式(6)和等式(7)导出以下等式(8)。也就是说,等式(8)表示函数G(L)与通过函数G(L)的(n-1)阶多项式近似而获得的函数Ga(L)之间的误差。
[等式8]
| G ( L 0 + L ) - Ga ( L 0 + L ) | &le; max 0 < L 1 < L ( | G ( n ) ( L 0 + L 1 ) | ) &times; L n n ! . . . ( 8 )
针对任意0≤L2≤L建立以下等式(9)。
[等式9]
max 0 < L 1 < L 2 ( | G ( n ) ( L 0 + L 1 ) | ) &times; L 2 n n ! &le; max 0 < L 1 < L ( | G ( n ) ( L 0 + L 1 ) | ) &times; L n n ! . . . ( 9 )
因此,当函数G(L)的预定L满足以下等式(10)时,即使当作为近似函数的函数Ga(L)被用于代替函数G(L)时,在闭区间[0,L]中的每个位置处由近似引起的计算误差不大于ε。
[等式10]
max 0 < L 1 < L ( | G ( n ) ( L 0 + L 1 ) | ) &times; L n n ! = &epsiv; . . . ( 10 )
如上描述了泰勒定理。
[关于多项式近似的应用]
接下来,考虑将泰勒定理应用于上述等式(3)和等式(4)的情况。同时,在以下描述中,例如,n是大约为3或4的固定值。
首先,通过对上述等式(3)进行变换来获得以下等式(11)。
[等式11]
sin ( Sx ) &times; cos ( Sy ) sin ( Sy ) cos ( Sx ) &times; cos ( Sy ) &Proportional; cos ( &theta; yaw ) 0 sin ( &theta; yaw ) 0 1 0 - sin ( &theta; yaw ) 0 cos ( &theta; yaw ) 1 0 0 0 cos ( &theta; pitch ) - sin ( &theta; pitch ) 0 sin ( &theta; pitch ) cos ( &theta; pitch ) Xv / Fv Yv / Fv 1 . . . ( 11 )
相似地,通过对上述等式(4)进行变换来获得以下等式(12)。
[等式12]
sin ( Cx ) Cy cos ( Cx ) &Proportional; cos ( &theta; yaw ) 0 sin ( &theta; yaw ) 0 1 0 - sin ( &theta; yaw ) 0 cos ( &theta; yaw ) 1 0 0 0 cos ( &theta; pitch ) - sin ( &theta; pitch ) 0 sin ( &theta; pitch ) cos ( &theta; pitch ) Xv / Fv Yv / Fv 1 . . . ( 12 )
同时,等式(3)和等式(4)中的每个等式是表示比例关系的等式,并且即使当仅将等式右侧的元素除以焦距FV时也保持所述比例关系,使得导出等式(11)和等式(12)。
在等式(11)中,Sx和Sy是(Xv/Fv)、(Yv/Fv)、θyaw以及θpitch的函数,使得Sx和Sy通过以下等式(13)来清楚地表示。
[等式13]
Sx = Sx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) , Sy = Sy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) . . . ( 13 )
相似地,在等式(12)中,Cx和Cy是(Xv/Fv)、(Yv/Fv)、θyaw以及θpitch的函数,使得Cx和Cy通过以下等式(14)来清楚地表示。
[等式14]
Cx = Cx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) , Cy = Cy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) . . . ( 14 )
可以从上述等式(11)导出以下等式(15)的关系,使得建立以下等式(16)的关系。
[等式15]
[等式16]
Sx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Sx ( Xv Fv , Yv Fv , 0 , &theta; pitch ) + &theta; yaw , Sy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Sy ( Xv Fv , Yv Fv , 0 , &theta; pitch )
相似地,可以从上述等式(12)导出以下等式(17)的关系,使得建立以下等式(18)的关系。
[等式17]
[等式18]
Cx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Cx ( Xv Fv , Yv Fv , 0 , &theta; pitch ) + &theta; yaw , Cy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Cy ( Xv Fv , Yv Fv , 0 , &theta; pitch ) . . . ( 18 )
在此,考虑由以下等式(19)限定的函数Us(x,y,θ)和Vs(x,y,θ)以及由等式(20)限定的函数Uc(x,y,θ)和Vc(x,y,θ)。
[等式19]
                 . . . ( 16 )
[等式20]
当相互比较角度θyaw=0的情况下的等式(11)与等式(19),并进一步考虑等式(16)时,导出以下等式(21)。
[等式21]
Sx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Us ( Xv Fv , Yv Fv , &theta; pitch ) + &theta; yaw , Sy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Vs ( Xv Fv , Yv Fv , &theta; pitch ) . . . ( 21 )
相似地,当相互比较角度θyaw=0的情况下的等式(12)和等式(20),并进一步考虑等式(18)时,导出以下等式(22)。
[等式22]
Cx ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Uc ( Xv Fv , Yv Fv , &theta; pitch ) + &theta; yaw , Cy ( Xv Fv , Yv Fv , &theta; yaw , &theta; pitch ) = Vc ( Xv Fv , Yv Fv , &theta; pitch ) . . . ( 22 )
另外,当将泰勒定理应用于等式(21)中的第一个等式,即函数Sx(Xv/Fv,Yv/Fv,θyaw,θpitch)时,获得以下等式(23)。
[等式23]
同时,等式(23)是通过针对变量Yv在Yv0附近函数Sx(Xv/Fv,Yv/Fv,θyaw,θpitch)的泰勒展开而获得的。在等式(23)中,Yv2是开区间(Yv0,Yv1)中的适当值。
因此,当针对特定Xv、特定Fv、特定θyaw、特定θpitch以及闭区间[Yv0,Yv1]中的任意值Yv通过以下等式(24)所表示的多项式对函数Sx(Xv/Fv,Yv/Fv,θyaw,θpitch)进行近似时,由近似引起的误差决不超过等式(25)表示的值。
[等式24]
[等式25]
同时,由等式(24)表示的函数是通过在Yv0附近等式(21)中的第一个等式的多项式展开而获得的(n-1)阶多项式近似函数。
与针对Sx一样,相同情况针对Sy、Cx和Cy也成立。
也就是说,当针对特定Xv、特定Fv、特定θyaw、特定θpitch以及闭区间[Yv0,Yv1]中的任意值Yv通过以下等式(26)表示的多项式对等式(21)中的函数Sy(Xv/Fv,Yv/Fv,θyaw,θpitch)进行近似时,由近似引起的误差决不超过等式(27)表示的值。
[等式26]
[等式27]
当针对特定Xv、特定Fv、特定θyaw、特定θpitch以及闭区间[Yv0,Yv1]中的任意值Yv通过以下等式(28)表示的多项式对等式(22)中的函数Cx(Xv/Fv,Yv/Fv,θyaw,θpitch)进行近似时,由近似引起的误差决不超过等式(29)表示的值。
[等式28]
[等式29]
另外,当针对特定Xv、特定Fv、特定θyaw、特定θpitch以及闭区间[Yv0,Yv1]中的任意值Yv通过以下等式(30)表示的多项式对等式(22)中的函数Cy(Xv/Fv,Yv/Fv,θyaw,θpitch)进行近似时,由近似引起的误差决不超过等式(31)表示的值。
[等式30]
[等式31]
[列举每个函数的极值]
在通过对等式(19)所限定的函数Us(x,y,θ)关于y进行n次偏微分而获得的函数中,考虑当x和θ固定而y是变量时的极值。
也就是说,假设函数Us(x,y,θ)的n阶微分函数采用极值时的y的所有值通过执行图6所示的伪代码来列举。具体地,当函数Us(x,y,θ)的n阶微分函数满足以下等式(32)或(33)时的y的值被登记为当针对每组x和θ采用极值时的y的值yus(x,θ)(i)。
[等式32]
[等式33]
此时,作为固定值的θ的值被确定为在-89.9≤θ≤89.9的范围内(即从-89.9到89.9)以增量0.1而变化。
作为固定值的x的值被确定为在-10×(Wv/2)+0.1≤x≤10×(Wv/2)-0.1的范围内(即从-10×(Wv/2)+0.1到10×(Wv/2)-0.1)以增量0.1而变化。另外,作为变量的y的值被确定为在-10×(Hv/2)+0.1≤y≤10×(Hv/2)-0.1的范围内(即从-10×(Hv/2)+0.1到10×(Hv/2)-0.1)以增量0.1而变化。在此,用于确定x的值的Wv和用于确定y的值的Hv是全景图像的部分区域所投影到的屏幕SC11的宽度(沿Xv轴方向的宽度)和高度(沿Yv轴方向的高度)。
同时,当函数Us(x,y,θ)的n阶微分函数采用极值时的y的值yus(x,θ)(i)中的值i表示在y的值处采用的按照升序的极值的顺序。也就是说,关于如下函数,当在y为变量的情况下采用极值时的y的值的数量不限于一个:该函数是通过针对预定的固定值x和θ对函数Us(x,y,θ)关于y进行n次偏微分而获得的函数,从而通过下标“i”表示极值的顺序。
因此,关于函数Us(x,y,θ)对于y的n阶微分函数,当y为变量时,n阶微分函数采用极值时的y的值是yus(x,θ)(1)、yus(x,θ)(2)、yus(x,θ)(3)等。
尽管在本示例中值x、y和θ的增量为0.1,但是所述值的增量并不限于0.1,而是可以为任何值。尽管随着值的增量较小,值yus(x,θ)(i)的计算精度提高,但是值的增量期望地约为0.1,以避免所列举的值yus(x,θ)(i)的巨大的数据量。
另外,以下也是可能的:仅登记n阶微分函数采用极值时的y的值yus(x,θ)(i),或者登记该时候的值yus(x,θ)(i)和极值。以下,假设登记该时候的值yus(x,θ)(i)和极值来进行描述。
以上述方式列举的当函数Us(x,y,θ)的n阶微分函数针对每个固定值x和θ采用极值时的y的值yus(x,θ)(i)被用于计算由上述等式(25)表示的Sx的近似误差的最大值。
如函数Us(x,y,θ)的情况一样,关于由等式(19)限定的函数Vs(x,y,θ)和由等式(20)限定的函数Uc(x,y,θ)和函数Vc(x,y,θ)中的每个函数,考虑列举当关于函数的变量y的n阶微分函数采用极值时的y的值。
也就是说,在通过对函数Vs(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数中,假设当在x和θ固定而y为变量的情况下n阶微分函数采用极值时的y的所有值通过执行图7所示的伪代码来列举。
具体地,当函数Vs(x,y,θ)的n阶微分函数满足以下等式(34)或(35)时的y的值被登记为当针对每个x和θ采用极值时的y的值yvs(x,θ)(i)。更详细地,对该时候的值yvs(x,θ)(i)与极值进行登记。
[等式34]
[等式35]
在此,作为固定值的θ的值被确定为从-89.9到89.9以增量0.1而变化。作为固定值的x的值被确定为从-10×(Wv/2)+0.1到10×(Wv/2)-0.1以增量0.1而变化,作为变量的y的值被确定为从-10×(Hv/2)+0.1到10×(Hv/2)-0.1以增量0.1而变化。
同时,当函数Vs(x,y,θ)的n阶微分函数采用取值时的y的值yvs(x,θ)(i)中的值i表示在y的值处采用的按照升序的极值的顺序。
以上述方式列举的当函数Vs(x,y,θ)的n阶微分函数针对每个固定值x和θ采用极值时的y的值yvs(x,θ)(i)被用于计算由上述等式(27)表示的Sy的近似误差的最大值。
在通过对函数Uc(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数中,假设当在x和θ固定而y为变量的情况下n阶微分函数采用极值时的y的所有值通过执行图8所示的伪代码来列举。
具体地,当函数Uc(x,y,θ)的n阶微分函数满足以下等式(36)或(37)时的y的值被登记为当针对每个x和θ采用极值时的y的值yuc(x,θ)(i)。更详细地,登记该时候的值yuc(x,θ)(i)和极值。
[等式36]
[等式37]
在此,作为固定值的θ的值被确定为从-89.9到89.9以增量0.1而变化。作为固定值的x的值被确定为从-10×(Wv/2)+0.1到10×(Wv/2)-0.1以增量0.1而变化,作为变量的y的值被确定为从-10×(Hv/2)+0.1到10×(Hv/2)-0.1以增量0.1而变化。
此外,当函数Uc(x,y,θ)的n阶微分函数采用极值时的y的值yuc(x,θ)(i)中的值i表示在y的值处采用的按照升序的极值的顺序。
以上述方式列举的当函数Uc(x,y,θ)的n阶微分函数针对每个固定值x和θ采用极值时的y的值yuc(x,θ)(i)被用于计算由上述等式(29)表示的Cx的近似误差的最大值。
另外,在通过对函数Vc(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数中,假设当在x和θ固定而y为变量的情况下所述n阶微分函数采用极值时的y的所有值通过执行图9所示的伪代码来列举。
具体地,当函数Vc(x,y,θ)的n阶微分函数满足以下等式(38)或(39)时的y的值被登记为当针对每个x和θ采用极值时的y的值yvc(x,θ)(i)。更详细地,登记该时候的值yvc(x,θ)(i)和极值。
[等式38]
[等式39]
在此,作为固定值的θ的值被确定为从-89.9到89.9以增量0.1而变化。作为固定值的x的值被确定为从-10×(Wv/2)+0.1到10×(Wv/2)-0.1以增量0.1而变化,作为变量的y的值被确定为从-10×(Hv/2)+0.1到10×(Hv/2)-0.1以增量0.1而变化。
此外,当函数Vc(x,y,θ)的n阶微分函数采用极值时的y的值yvc(x,θ)(i)中的值i表示在y的值处采用的按照升序的极值的顺序。
以上述方式列举的当函数Vc(x,y,θ)的n阶微分函数针对每个固定值x和θ采用极值时的y的值yvc(x,θ)(i)被用于计算由上述等式(31)表示的Cy的近似误差的最大值。
[关于近似误差的评估]
可以通过使用当每个函数的n阶微分函数采用上述极值时的值来评估Sx、Sy、Cx和Cy的每个近似误差。
也就是说,在闭区间[Yv0,Yv1]中,例如由上述等式(25)表示的Sx的近似误差的值等于通过以下等式(40)至(42)中的每个等式获得的三个值中的最大值。
[等式40]
[等式41]
[等式42]
同时,在等式(40)至等式(42)中,Xa表示以0.1为单位的x的预定值,并且Xa是尽可能接近Xv/Fv的值(最接近值)。此外,θa表示以0.1为单位的θ的预定值,并且θa是尽可能接近θpitch的值(最接近值)。
在计算等式(40)时,使用通过图6中的伪代码的操作而列举的值yus(x,θ)(i)。也就是说,等式(40)的计算是如下计算:针对固定的x=xa以及θ=θa在Yv0/Fv<y<Yv1/Fv的范围内获得函数Us(x,y,θ)的n阶微分函数的绝对值的最大值,并且获得通过将|Yv1-Yv0|n/(n!×Fvn)乘以所获得的最大值而获得的值作为输出值。
在此,获得n阶微分函数的绝对值的最大值的计算是如下计算:针对所列举的值yus(x,θ)(i)中的满足Yv0/Fv<yus(xa,θa)(i)<Yv1/Fv的值,获得在值yus(xa,θa)(i)处的n阶微分函数的绝对值,并且还获得所述绝对值的最大值。在值yus(xa,θa)(i)处的n阶微分函数的最大值是与值yus(xa,θa)(i)相关联的极值的绝对值。
这是因为当获得在等式(25)表示的误差是从Yv0到Yv1的值中的最大值的情况下的值时,仅需要检查从Yv0到Yv1的范围内的极值。也就是说,当误差可能最大时仅需要检查Yv。
在计算等式(40)时,不针对闭区间[Yv0,Yv1]的两个端点,即Yv0和Yv1,来执行计算。因此,还通过计算上述等式(41)和(42)来计算在Yv0和Yv1处的Sx的近似误差的值,即y=Yv0/Fv和Yv1/Fv。
因此,通过计算上述等式(40)至(42)而获得的值中的最大值是在闭区间[Yv0,Yv1]中Sx的近似误差的值。同时,尽管应当通过使用x的值是Xv/Fv并且θ的值是θpitch时的极值来正常地计算等式(40),但是仅以0.1为单位来列举yus(x,θ)(i)的x和θ,使得通过最接近的yus(x,θ)(i)来近似极值。
可以以与Sx相同的方式来评估Sy、Cx和Cy的近似误差。
例如,在闭区间[Yv0,Yv1]中,由上述等式(27)表示的Sy的近似误差的值等于通过以下等式(43)至(45)中的每个等式而获得的三个值中的最大值。
[等式43]
[等式44]
[等式45]
此外,在等式(43)和等式(44)中,Xa是以0.1为单位的x的预定值,并且是尽可能接近Xv/Fv的值(最接近值)。此外,θa表示以0.1为单位的θ的预定值,并且是尽可能接近θpitch的值(最接近值)。
在计算等式(43)时,使用与通过操作图7中的伪代码而列举的值yvs(x,θ)(i)相关联的极值。也就是说,通过针对固定的x=xa以及θ=θa在Yv0/Fv<y<Yv1/Fv的范围内获得函数Vs(x,y,θ)的n阶微分函数的绝对值的最大值来执行等式(43)的计算。
在等式(43)的计算中,不针对闭区间[Yv0,Yv1]的两个端点执行计算,使得还通过计算上述等式(44)和等式(45)来计算在Yv0和Yv1处的Sy的近似误差的值。因此,通过计算上述等式(43)至(45)而获得的值中的最大值是在闭区间[Yv0,Yv1]中Sy的近似误差的值。
例如,在闭区间[Yv0,Yv1]中,由上述等式(29)表示的Cx的近似误差的值等于通过以下等式(46)至(48)中的每个等式获得的三个值中的最大值。
[等式46]
[等式47]
[等式48]
此外,在等式(46)至(48)中,Xa是以0.1为单位的x的预定值,并且是尽可能接近Xv/Fv的值(最接近值)。此外,θa表示以0.1为单位的θ的预定值,并且是尽可能接近θpitch的值(最接近值)。
在计算等式(46)时,使用与通过操作图8中的伪代码而列举的值yuc(x,θ)(i)相关联的极值。也就是说,通过针对固定的x=xa以及θ=θa在Yv0/Fv<y<Yv1/Fv的范围内获得函数Uc(x,y,θ)的n阶微分函数的绝对值的最大值来执行等式(46)的计算。
在计算等式(46)时,不针对闭区间[Yv0,Yv1]的两个端点执行计算,使得还通过计算等式(47)和(48)来计算在Yv0和Yv1处的Cx的近似误差的值。因此,通过计算上述等式(46)至(48)而获得的值中的最大值是在闭区间[Yv0,Yv1]中Cx的近似误差的值。
另外,在闭区间[Yv0,Yv1]中,例如,由上述等式(31)表示的Cy的近似误差的值等于通过以下等式(49)至(51)中的每个等式获得的三个值中的最大值。
[等式49]
[等式50]
[等式51]
同时,在等式(49)至(51)中,Xa表示以0.1为单位的x的预定值,并且是尽可能接近Xv/Fv的值(最接近值)。此外,θa表示以0.1为单位的θ的预定值,并且是尽可能接近θpitch的值(最接近值)。
在计算等式(49)时,使用与通过操作图9的伪代码而列举的值yvc(x,θ)(i)相关联的极值。也就是说,通过针对固定的x=xa以及θ=θa在Yv0/Fv<y<Yv1/Fv的范围内获得函数Vc(x,y,θ)的n阶微分函数的绝对值的最大值来执行等式(49)的计算。
在计算等式(49)时,不针对闭区间[Yv0,Yv1]的两个端点执行计算,使得还通过计算上述等式(50)和(51)来计算在Yv0和Yv1处的Cy的近似误差的值。因此,通过计算上述等式(49)至(51)而获得的值中的最大值是在闭区间[Yv0,Yv1]中的Cy的近似误差的值。
以上描述可以概述如下。
也就是说,当全景图像是投影在球形表面上的图像时,由等式(19)限定作为x、y和θ的函数的函数Us(x,y,θ)和Vs(x,y,θ),并且考虑由等式(3)限定的作为θyaw、θpitch、Fv、Xv和Yv的函数的Sx和Sy的近似等式。
具体地,假设θyaw、θpitch、Fv和Xv被固定为任意值,在作为Yv的闭区间[Yv0,Yv1]的范围内函数Sx通过等式(24)来近似,并且函数Sy通过等式(26)来近似。
此时,由等式(24)表示的函数Sx的近似值与函数Sx的值之间的差,即由近似引起的误差决不超过通过等式(40)至(42)获得的三个值中的最大值。由等式(26)表示的函数Sy的近似值与函数Sy的值之间的差(近似误差)决不超过通过等式(43)至(45)获得的三个值中的最大值。
在此,等式(40)中的值yus(x,θ)(i)和等式(43)中的值yvs(x,θ)(i)分别是通过执行图6和图7所示的伪代码而生成的数据。在等式(40)至(45)中,Xa是以0.1为单位的值,并且是尽可能接近Xv/Fv的值。相似地,θa是以0.1为单位的值,并且是尽可能接近θpitch的值。
通过以这种方式列举与函数Us(x,y,θ)和Vs(x,y,θ)的偏导数的极值有关的数据,可以通过近似定量地评估误差。据此,可以以较少的计算在近似误差的可容许范围内裁切全景图像的部分区域。
根据上述内容,当全景图像是投影在球形表面上的图像时,可以以如下方式针对预定的固定值Xv将全景图像的像素写入屏幕SC11(画布区域)的从位置(Xv,Yv0)到位置(Xv,Yv1)的区域中。
也就是说,针对从位置(Xv,Yv0)到位置(Xv,Yv1)的每个位置(Xv,Yv)执行等式(24)和等式(26)的近似计算,并且计算与屏幕SC11上的位置(Xv,Yv)对应的全景图像上的位置(Sx,Sy)。然后,将以这种方式计算出的全景图像上的位置(Sx,Sy)中的像素的像素值写入作为屏幕SC11上的位置(Xv,Yv)中的像素的像素值。
当位置(Xv,Yv1)不位于屏幕SC11的Yv轴方向侧的端部时,在从位置(Xv,Yv0)到位置(Xv,Yv1)写入像素之后,位置(Xv,Yv1+1)进一步成为新的位置(Xv,Yv0),并且像素被重复写入。
通过上述处理,可以通过简单计算快速裁切宽的全景图像的一部分以进行显示。同时,作为屏幕SC11上的位置(Xv,Yv1)中的Yv坐标的Yv1可以是最大Yv坐标,在该最大Yv坐标下,上述等式(40)至(45)的最大值不大于针对Yv=Yv0预先确定的阈值。也就是说,近似误差在可容许范围内的最大Yv坐标可以是Yv1。以这种方式,可以避免由于投影在屏幕SC11上的图像的近似误差引起的品质劣化,从而获得高品质图像。
另一方面,当全景图像是投影在圆柱形表面上的图像时,通过等式(20)来限定作为x、y和θ的函数的函数Uc(x,y,θ)和Vc(x,y,θ),并且考虑通过等式(4)限定的作为θyaw、θpitch、Fv、Xv和Yv的函数的Cx和CY的近似等式。
具体地,假设θyaw、θpitch、Fv、Xv被固定为任意值,在作为Yv的闭区间[Yv0,Yv1]的范围内通过等式(28)来近似函数Cx,并且通过等式(30)来近似函数Cy。
此时,通过等式(28)表示的函数Cx的近似值与函数Cx的值之间的差,也就是说,由近似引起的误差决不超过通过等式(46)至(48)获得的三个值中的最大值。通过等式(30)表示的函数Cy的近似值与函数Cy的值之间的差(近似误差)决不超过通过等式(49)至(51)获得的三个值中的最大值。
在此,等式(46)中的值yuc(x,θ)(i)和等式(49)中的值yvc(x,θ)(i)是通过执行图8和图9所示的伪代码而生成的数据。在等式(46)至(51)中,Xa是以0.1为单位的值,并且是尽可能接近Xv/Fv的值。相似地,θa是以0.1为单位的值,并且是尽可能接近θpitch的值。
通过以这种方式列举与函数Uc(x,y,θ)和函数Vc(x,y,θ)的偏导数的极值有关的数据,可以通过近似来定量地评估误差。据此,可以以较少的计算在近似误差的可容许范围内裁切全景图像的部分区域。
根据以上内容,当全景图像是投影在圆柱形表面上的图像时,可以以如下方式针对预定的固定值Xv将全景图像的像素写入屏幕SC11的从位置(Xv,Yv0)到位置(Xv,Yv1)的区域中。
也就是说,针对从位置(Xv,Yv0)到位置(Xv,Yv1)的每个位置(Xv,Yv)来执行等式(28)和等式(30)的近似计算,并且计算与屏幕SC11上的位置(Xv,Yv)对应的全景图像上的位置(Cx,Cy)。然后,将以这种方式计算出的全景图像上的位置(Cx,Cy)中的像素的像素值写入作为屏幕SC11上的位置(Xv,Yv)中的像素的像素值。
当位置(Xv,Yv1)不位于屏幕SC11的Yv轴方向侧的端部时,在从位置(Xv,Yv0)到位置(Xv,Yv1)写入像素之后,位置(Xv,Yv1+1)进一步成为新的位置(Xv,Yv0),并且像素被重复写入。
通过上述处理,可以通过简单计算快速地裁切宽的全景图像的一部分以进行显示。同时,作为屏幕SC11上的位置(Xv,Yv1)中的Yv坐标的Yv1可以是最大Yv坐标,在该最大Yv坐标下,上述等式(46)至等式(51)的最大值不大于针对Yv=Yv0预先确定的阈值。
<第一实施方式>
[图像处理装置的配置示例]
接下来,描述应用本技术的具体实施方式。
首先,描述全景图像是投影在球形表面上的图像的情况。在这种情况下,例如,图像处理装置被配置为如图10所示。
图10中的图像处理装置31包括获取单元41、输入单元42、确定单元43、写入单元44和显示单元45。
获取单元41获取全景图像并将该全景图像提供给写入单元44。在此,由获取单元41获取的全景图像是投影在球形表面上的图像。输入单元42将与用户的操作对应的信号提供给确定单元43。
在裁切全景图像的部分区域以显示在显示单元45上的情况下,确定单元43确定由写入单元44保存的画布区域上的区域,通过使用一个近似函数将全景图像写入所述写入单元44中。确定单元43设置有极值数据生成单元61和误差计算单元62。
极值数据生成单元61生成当在计算全景图像上的位置(Sx,Sy)中用于评估近似误差所需的n阶微分函数采用极值时的y的值以及该时候的极值作为极值数据。也就是说,当n阶微分函数采用极值时的y的值yus(x,θ)(i)和该时候的极值,以及当n阶微分函数采用极值时的y的值yvs(x,θ)(i)和该时候的极值被计算作为极值数据。误差计算单元62基于该极值数据来计算在计算全景图像上的位置(Sx,Sy)时的近似误差。
写入单元44通过将来自获取单元41的全景图像的一部分写入保存的画布区域中并且根据需要与确定单元43传送信息,来生成以用户指定的焦距沿眼睛方向的区域的图像。
写入单元44设置有对应位置计算单元71,该对应位置计算单元71计算写入画布区域的每个位置的全景图像的像素的位置。写入单元44将写入画布区域中的图像(在此被称为输出图像)提供给显示单元45。
例如由液晶显示器等形成的显示单元45显示从写入单元44提供的输出图像。显示单元45与上述显示设备对应。同时,下文中,显示单元45的显示屏的尺寸是沿横向方向的Wv个像素和沿纵向方向的Hv个像素。
[图像输出处理的描述]
当将全景图像提供给图像处理装置31并且用户提供显示输出图像的指令时,图像处理装置31开始图像输出处理,以根据所提供的全景图像生成输出图像以进行输出。以下参照图11中的流程图描述由图像处理装置31进行的图像输出处理。
在步骤S11处,获取单元41获取全景图像并将该全景图像提供给写入单元44。
在步骤S12处,极值数据生成单元61计算当通过对函数Us(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数采用极值时的y的值yus(x,θ)(i),并且将所获得的每个值yus(x,θ)(i)和在值yus(x,θ)(i)处的极值保存作为极值数据。
具体地,极值数据生成单元61执行图6所示的伪代码,并将满足等式(32)或(33)时的y的值作为当采用极值时的y的值yus(x,θ)(i)。
在步骤S13处,极值数据生成单元61计算当通过对函数Vs(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数采用极值时的y的值yvs(x,θ)(i),并且将所获得的每个值yvs(x,θ)(i)和在值yvs(x,θ)(i)处的极值保存作为极值数据。
具体地,极值数据生成单元61执行图7所示的伪代码,并且将满足等式(34)或等式(35)时的y的值作为当采用极值时的y的值yvs(x,θ)(i)。
作为以这种方式获得的极值数据的y的值yus(x,θ)(i)和值yvs(x,θ)(i)以及在y的值处的极值被用于计算当通过近似来获得被写入画布区域(屏幕)的位置(Xv,Yv)中的全景图像的位置(Sx,Sy)时的近似误差。同时,还可以以例如查找表格式等来保存极值数据。
在步骤S14处,写入单元44将用于生成输出图像的画布区域保存在未示出的存储器中。背景与图5所示的虚拟屏幕SC11对应。
同时,通过将画布区域的中心点作为原点O’并且将画布区域的沿Xv方向(横向方向)的宽度和沿Yv方向(纵向方向)的高度分别设置为Wv和Hv,来确定XvYv坐标系。因此,XvYV坐标系中的画布区域的范围被表示为-Wv/2≤Xv≤Wv/2以及-Hv/2≤Yv≤Hv/2。
在步骤S15处,输入单元42接收角度θyaw、角度θpitch和焦距Fv的输入。用户操作输入单元42以输入由角度θyaw、θpitch和焦距Fv确定的眼睛方向。输入单元42将由用户输入的角度θyaw、θpitch和焦距Fv提供给确定单元43。
在步骤S16处,写入单元44将如下区域的开始位置的Xv坐标设置为-Wv/2:在该区域中全景图像被写入画布区域上。
同时,针对由具有相同Xv坐标的像素形成的每个区域从-Yv方向侧的一端起沿+Yv方向将全景图像顺序地写入画布区域中。将画布区域中由沿Yv方向布置的特定像素形成的区域作为写入区域,通过使用一个近似函数的计算来获得与写入区域中的每个位置(Xv,Yv)对应的全景图像上的位置。
以下,在写入区域的-Yv方向侧的端部的像素的位置,即具有最小Yv坐标的位置,也被称为写入区域的开始位置,写入区域的+Yv方向侧的端部的像素的位置,即具有最大Yv坐标的位置,也被称为写入区域的结束位置。以下,将写入区域的开始位置的Yv坐标设置为Yv0并且将写入区域的结束位置的Yv坐标设置为Yv1
在步骤S17处,写入单元44将写入区域的开始位置的Yv坐标设置为Yv0=-Hv/2。
因此,画布区域上的写入区域的开始位置是位置(-Wv/2,-Hv/2)。也就是说,将图5的屏幕SC11的左上端(顶点)的位置作为写入区域的开始位置。
在步骤S18处,图像处理装置31执行结束位置计算处理以计算作为写入区域结束位置的Yv坐标的Yv1的值。
同时,在随后描述的结束位置计算处理中,通过步骤S12和S13的处理获得的极值数据被用于确定写入区域的结束位置。
在步骤S19处,图像处理装置31执行将全景图像的像素的像素值写入画布区域的写入区域中的写入处理。同时,在随后描述的的写入处理中,使用上述等式(24)和等式(26)的近似函数,并且计算与写入区域的每个位置(Xv,Yv)对应的全景图像上的位置(Sx,Sy)。
在步骤S20处,写入单元44确定当前写入区域的端部位置的Yv坐标是否满足Yv1=Hv/2。
例如,当写入区域的端部位置位于画布区域的+Yv方向侧的端部时,确定满足Yv1=Hv/2。这意味着将全景图像写入由画布区域中的沿Yv方向布置的像素形成的一个像素列。
当在步骤S20处没有确定满足Yv1=Hv/2时,则还没有完成写入到画布区域的一个像素列中,使得过程转向步骤S21。
在步骤S21,写入单元44将作为写入区域开始位置的Yv坐标的Yv0设置为Yv1+1。
也就是说,写入单元44将沿+Yv方向与当前写入区域的端部位置相邻的位置作为下一个新写入区域的开始位置。例如,当当前写入区域的结束位置的坐标为(Xv,Yv)时,将坐标为(Xv,Yv+1)的位置作为新写入区域的开始位置。
在确定新写入区域的开始位置后,过程返回步骤S18并且重复上述处理。也就是说,确定新写入区域的端部位置,并且将全景图像写入到写入区域中。
相反,当在步骤S20确定满足Yv1=Hv/2时,则完成了写入到画布区域的一个像素列中,使得在步骤S22处写入单元44确定是否满足Xv=Wv/2。
也就是说,确定当前写入区域的Xv坐标是否是画布区域的+Xv方向侧的端部的Xv坐标。如果当前写入区域的位置是画布区域的+Xv方向侧的端部的位置,这意味着将全景图像写入整个画布区域中。
在步骤S22处,当确定不满足Xv=Wv/2时,也就是说当还没有完成将全景图像写入画布区域中时,在步骤S23处写入单元44设置Xv=Xv+1。也就是说,写入单元44将沿+Xv方向与当前写入区域相邻的位置的Xv坐标作为新写入区域的Xv坐标。
在确定新写入区域的Xv坐标之后,过程返回步骤S17并重复上述处理。也就是说,确定新写入区域的开始位置和结束位置,并将全景图像写入到写入区域中。
相反,当在步骤S22处确定满足Xv=Wv/2时,也就是说当完成将全景图像写入画布区域中时,在步骤S24处写入单元44输出画布区域的图像作为输出图像。
将从写入单元44输出的图像提供给显示单元45作为输出图像以进行显示。据此,将全景图像中以用户指定的焦距沿眼睛方向的区域中的图像(输出图像)显示在显示单元45上,使得用户可以观看所显示的输出图像。
在输出该输出图像之后,过程返回步骤S15并重复上述处理。也就是说,如果用户想观看全景图像中的另一个区域,当用户再次输入眼睛方向和焦距时,通过步骤S15至步骤S24的处理生成新的输出图像以进行显示。当用户提供完成显示输出图像的指令时,图像输出处理完成。
以上述方式,当用户指定眼睛方向和焦距时,图像处理装置31将通过眼睛方向和焦距指定的全景图像的每个像素写入画布区域中,以生成输出图像。此时,图像处理装置31基于近似误差的评估结果来确定写入区域的结束位置,以使得品质不劣化,并且图像处理装置31将全景图像的像素写入到写入区域中。
据此,可以简单并快速地在全景图像中裁切沿期望方向的区域,以将该区域作为输出图像,并呈现高品质的输出图像。
[结束位置计算处理的描述]
接下来,参照图12的流程图描述与图11中的步骤S18的处理对应的结束位置计算处理。
在步骤S51,确定单元43将阈值th设置为0.5。在此,阈值th表示在通过使用近似函数计算全景图像上的位置(Sx,Sy)时的近似误差容限。此外,阈值th的值并不限制于0.5并且可以是任何值。
在步骤S52,确定单元43设置Xa和θa的值。具体地,确定单元43将以0.1为单位的最接近Xv/Fv的值设置为Xa,并且将以0.1为单位的最接近角度θpitch的值设置为θa。
在此,Xv是通过图11中的步骤S16或S23的处理而确定的写入区域的Xv坐标的值,并且Fv和θpitch是通过图11中的步骤S15的处理而输入的焦距Fv和角度θpitch的值。
在步骤53处,确定单元43将表示写入区域的端部位置的下限的参数minYv1设置为Yv0,将表示写入区域的端部位置的上限的参数maxYv1设置为Hv/2,并且将端部位置的Yv坐标设置为Yv1=(int)((minYv1+maxYv1)/2)。同时,在此确定的端部位置的Yv坐标是临时确定的临时值。在此,(int)(A)是舍去A的小数部分并且输出A的整数部分的函数。
在步骤S54处,误差计算单元62计算上述等式(40)至等式(45),并获得当通过近似函数计算Sx和Sy时的近似误差的最大值,并且将所获得的值设置为tmp。
也就是说,误差计算单元62通过计算等式(40)至等式(42)来计算在通过等式(24)的近似函数计算Sx时的近似误差。在此时,误差计算单元62通过使用被保存为极值数据的y的值yus(Xa,θa)(i)处的极值来计算等式(40)。同时,将通过步骤S52的处理而设置的值用作为y的值yus(Xa,θa)(i)中的Xa和θa的值。当仅将y的值yus(Xa,θa)(i)保存作为极值数据时,基于所述值yus(Xa,θa)(i)来计算n阶微分函数的值(极值)。
另外,误差计算单元62通过计算等式(43)至等式(45)来计算在通过等式(26)的近似函数计算Sy时的近似误差。此时,误差计算单元62通过使用被保存为极值数据的y的值yvs(Xa,θa)(i)处的极值来计算等式(43)。同时,将通过步骤S52的处理而设置的值用作为y的值yvs(Xa,θa)(i)中的Xa和θa的值。
当误差计算单元62以这种方式获得Sx的近似误差和Sy的近似误差时,其将所述近似误差中的较大一个设置为误差的最大值tmp。
当误差的最大值tmp不大于作为误差容限的阈值th时,这意味着近似误差位于从写入区域的开始位置到写入区域的当前临时确定的结束位置的区域的可容许范围内。也就是说,即使当通过使用相同的近似函数来获得与写入区域的每个位置对应的全景图像的位置时,输出图像的品质劣化也不明显。
在步骤S55,确定单元43确定误差的最大值tmp是否大于阈值th。
当在步骤S55处确定最大值tmp大于阈值th时,即当近似误差大于容限时,在步骤S56处确定单元43将表示端部位置的上限的参数maxYv1设置为Yv1。然后,确定单元43设置tmp Yv1=(int)((minYv1+max Yv1)/2)。
在此,int(A)是舍去A的小数部分并输出A的整数部分的函数。Yv0是当前写入区域的开始位置的Yv坐标,Yv1是当前写入区域的临时确定的结束位置的Yv坐标。
因此,将当前结束位置的下限与结束位置的上限之间的中间位置的Yv坐标设置为tmpYv1。在获得tmpYv1之后,过程转向步骤S58。
相反,当在步骤S55处确定最大值tmp不大于阈值th时,即当近似误差不大于容限时,在步骤S57处确定单元43将表示结束位置的下限的参数minYv1设置为Yv1。然后,确定单元43设置tmpYv1=(int)((minYv1+maxYv1)/2)。
在此,(int)(A)表示输出A的整数部分的函数。Yv1表示当前写入区域的临时确定的结束位置的Yv坐标。因此,将当前结束位置的下限与结束位置的上限之间的中间位置的Yv坐标设置为tmpYv1。在获得tmpYv1之后,过程转向步骤S58。
当在步骤S56或S57获得tmpYv1时,在步骤S58处确定单元43确定满足tmpYv1=minYv1还是tmpYv1=maxYv1。也就是说,决定是否通过由步骤S55至S57的处理所执行的二分法的收敛来确定作为为结束位置的Yv坐标的Yv1
当在步骤S58处确定不满足tmpYv1=minYv1与tmpYv1=maxYv1中的任一个时,在步骤S59处确定单元43将Yv1设置为tmp Yv1。也就是说,将在步骤S56或S57计算的tmpYv1的值作为写入区域的结束位置的新的临时Yv坐标。
在满足Yv1=tmpYv1之后,过程返回到步骤S54并且重复上述处理。
相反,当在步骤S58处确定满足tmpYv1=minYv1或tmpYv1=maxYv1时,确定单元43将当前临时确定的Yv1的值确定作为写入区域的结束位置的Yv坐标。
确定单元43将表示写入区域的开始位置和结束位置的信息提供给写入单元44,并且完成结束位置计算处理。在完成结束位置计算处理之后,过程转向图11中的步骤S19。同时,此时,当需要时也将用户输入的角度θyaw、角度θpitch和焦距Fv从确定单元43提供给写入单元44。
以上述方式,图像处理装置31通过使用极值数据的近似函数来获得计算位置(Sx,Sy)时的误差,并且基于该误差确定写入区域的结束位置。
根据图像处理装置31,可以通过如下简单操作快速地确定近似误差在可容许范围内的写入区域:通过预先生成极值数据,通过使用该极值数据来计算上述等式(40)至等式(45)。
[写入处理的描述]
接下来,参照图13中的流程图来描述与图11中的步骤S19的处理对应的写入处理。
在步骤S81处,写入单元44基于从确定单元43提供的表示写入区域的开始位置和结束位置的信息,将画布区域的写入区域中从此对其执行写入的写入目标的位置的Yv坐标设置成Yv0
也就是说,将画布区域上的写入目标的位置(Xv,Yv)的Yv坐标设置成Yv0,该Yv0是写入区域的开始位置的Yv坐标。同时,将写入目标的位置(Xv,Yv)的Xv坐标设置成通过图11的步骤S16或S23的处理而确定的Xv坐标。因此,在这种情况下,写入区域的开始位置是写入目标的位置(Xv,Yv)。
在步骤S82处,对应位置计算单元71计算上述等式(24)和等式(26),从而计算与写入目标的位置(Xv,Yv)对应的全景图像上的位置(Sx,Sy)。此时,对应位置计算单元71通过使用从确定单元43提供的开始位置和结束位置的信息、角度θyaw、角度θpitch和焦距Fv来计算等式(24)和等式(26)。
在步骤S83处,写入单元44将通过步骤S82的处理而计算的位置(Sx,Sy)中的全景图像的像素的像素值作为写入目标的位置(Xv,Yv)的像素的像素值,并且将其写入画布区域上的写入目标的位置中。
在步骤S84处,写入单元44确定写入目标的位置(Xv,Yv)的Yv坐标是否小于Yv1,该Yv1是写入区域的结束位置的Yv坐标。也就是说,确定是否针对写入区域中的每个像素写入全景图像的像素。
当在步骤S84处确定写入目标的位置的Yv坐标小于作为结束位置的Yv坐标的Yv1时,在步骤S85处写入单元44将写入目标的位置的Yv坐标设置为Yv=Yv+1。
也就是说,写入单元44将画布区域上沿+Yv方向与当前写入目标的位置相邻的位置作为新写入目标的位置。因此,当当前写入目标的位置为(Xv,Yv)时,新写入目标的位置为(Xv,Yv+1)。
在确定新写入目标的位置之后,过程返回到步骤S82并重复上述处理。
相反,当在步骤S84处确定写入目标的位置的Yv坐标不小于作为结束位置的Yv坐标的Yv1时,将全景图像的像素写入到写入区域中的所有位置中,使得完成写入处理。在完成结束处理后,过程转向图11中的步骤S20。
以上述方式,图像处理装置31通过使用近似函数来计算全景图像上的如下位置以写入到写入区域中:在该位置存在着要写入到写入目标的位置中的像素。以这种方式,可以通过使用近似函数获得与写入目标的位置对应的全景图像上的位置,通过简单计算来快速地写入。
例如,当通过计算上述等式(3)来获得与写入目标的位置对应的全景图像上的位置时,需要复杂的计算,例如三角函数和除法的运算,从而运算量巨大并且处理速度降低。
相反,图像处理装置31可以通过n阶多项式,例如等式(24)和等式(26)来获得与写入目标的位置对应的全景图像上的位置,从而可以提高处理速度。
<第二实施方式>
[图像处理装置的配置示例]
接下来,描述在全景图像是投影在圆柱形表面上的图像的情况下的实施方式。在这种情况下,例如,图像处理装置被配置为如图14所示。
图14中的图像处理装置101包括获取单元111、输入单元42、确定单元112、写入单元113和显示单元45。同时,在图14中,将相同的附图标记分配给与图10中的部件对应的部件,并且省略其描述。
获取单元111获取全景图像并将该全景图像提供给写入单元113。在此,由获取单元111获取的全景图像是投影在圆柱形表面上的图像。
在将全景图像的部分区域进行裁切以显示在显示单元45上的情况下,确定单元112确定写入单元113保存的画布区域上的区域,其中通过使用一个近似函数写入全景图像。确定单元112设置有极值数据生成单元131和误差计算单元132。
极值数据生成单元131生成当n阶微分函数采用极值时的y的值以及该时候的极值作为极值数据,该n阶微分函数是对计算全景图像上的位置(Cx,Cy)时的近似误差进行评估所需要的。也就是说,计算当n阶微分函数采用极值时的y的值yuc(x,θ)(i)和值yvc(x,θ)(i)作为极值数据。误差计算单元132基于该极值数据来计算在计算全景图像上的位置(Cx,Cy)时的近似误差。
写入单元113通过将来自获取单元111的全景图像写入所保存的画布区域并且根据需要与确定单元112传送信息,来生成全景图像中以用户指定的焦距沿眼睛方向的区域的图像。
写入单元113设置有对应位置计算单元141,该对应位置计算单元141计算被写入画布区域的每个位置中的全景图像的像素的位置。
[图像输出处理的描述]
当将全景图像提供给图像处理装置101并且用户提供显示输出图像的指令时,图像处理装置101开始图像输出处理,以根据所提供的全景图像生成输出图像以进行输出。以下,参照图15中的流程图描述由图像处理装置101进行的图像输出处理。
在步骤S131,获取单元111获取全景图像并将该全景图像提供给写入单元113。
在步骤S132,极值数据生成单元131计算当通过对函数Uc(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数采用极值时的y的值yuc(x,θ)(i),并且将所获得的每个值yuc(x,θ)(i)以及在值yuc(x,θ)(i)处的极值保存为极值数据。
具体地,极值数据生成单元131执行图8所示的伪代码,并且将满足等式(36)或等式(37)时的y的值作为采用极值时的y的值yuc(x,θ)(i)。
在步骤S133处,极值数据生成单元131计算当通过对函数Vc(x,y,θ)关于y进行n次偏微分而获得的n阶微分函数采用极值时的y的值yvc(x,θ)(i),并且将所获得的每个值yvc(x,θ)(i)和在值yvc(x,θ)(i)处的极值保存为极值数据。
具体地,极值数据生成单元131执行图9所示的伪代码,并且将满足等式(38)或等式(39)的y的值作为采用极值时的y的值yvc(x,θ)(i)。
作为以这种方式获得的极值数据的y的值yuc(x,θ)(i)和值yvc(x,θ)(i)以及在y的值处的极值被用于计算当通过近似来获得写入到画布区域(屏幕)的位置(Xv,Yv)中的全景图像的位置(Cx,Cy)时的近似误差。同时,极值数据还可以以例如查找表格式等来保存。
在获得极值数据后,执行步骤S134至S137的处理;所述处理与图11中的步骤S14至S17的处理相似,从而省略其描述。
在步骤S138,图像处理装置101执行结束位置计算处理,以计算作为写入区域结束位置的Yv坐标的Yv1的值。
同时,在随后描述的结束位置计算处理中,使用通过步骤S132和步骤S133的处理而获得的极值数据,并且确定写入区域的结束位置。
在步骤S139,图像处理装置101执行写入处理,以将全景图像的像素的像素值写入到画布区域的写入区域中。同时,在随后描述的写入处理中,通过使用上述等式(28)和等式(30)的近似函数来计算与写入区域的每个位置(Xv,Yv)对应的全景图像上的位置(Cx,Cy)。
在执行写入处理后,执行步骤S140至S144的处理,所述处理与图11中的步骤S20至S24的处理相似,从而省略其描述。当用户提供完成显示输出图像的指令时,完成图像输出处理。
以上述方式,当用户指定眼睛方向和焦距时图像处理装置101生成输出图像以进行输出。此时,图像处理装置101基于近似误差的评估结果来确定写入区域的结束位置,以使得品质不劣化,并且图像处理装置101将全景图像的像素写入到写入区域中。
据此,可以简单并快速地在全景图像中裁切沿期望方向的区域,以将其作为输出图像并且呈现高品质的输出图像。
[结束位置计算处理的描述]
接下来,参照图16中的流程图描述与图15中的步骤S138的处理对应的结束位置计算处理。
同时,步骤S71至S73的处理与图12的步骤S51至S53的处理相似,从而省略其描述。
在步骤S74处,误差计算单元132通过计算上述等式(46)至等式(51)来获得当通过近似函数计算Cx和Cy时的近似误差的最大值,并且将所获得的值设置为tmp。
也就是说,误差计算单元132通过计算等式(46)至等式(48)来计算当通过等式(28)的近似函数计算Cx时的近似误差。此时,误差计算单元132通过使用被保存作为极值数据的y的值yuc(xa,θa)(i)的极值来计算等式(46)。同时,将步骤S72的处理所设置的值用作为y的值yuc(xa,θa)(i)中的xa和θa的值。
误差计算单元132通过计算等式(49)至等式(51)来计算当通过等式(30)的近似函数计算Cy时的近似误差。此时,误差计算单元132通过使用被保存作为极值数据的y的值yvc(xa,θa)(i)的极值来计算等式(49)。同时,将步骤S72的处理所设置的值用作为y的值yvc(xa,θa)(i)中的xa和θa的值。
当误差计算单元132以这种方式获得Cx的近似误差和Cy的近似误差时,其将所述近似误差中的较大一个设置为误差的最大值tmp。
在获得误差的最大值tmp后,执行步骤S75至S79的处理并且完成结束位置计算处理,所述处理与图12中的步骤S55至S59的处理相似,从而省略其描述。
在完成结束位置计算处理后,过程转向图15中的步骤S139。同时,根据需要,将由用户输入的角度θyaw、角度θpitch和焦距Fv与来自确定单元112的写入区域的开始位置和结束位置的信息一起提供给写入单元113。
以上述方式,图像处理装置101通过使用极值数据来获得在通过近似函数计算位置(Cx,Cy)时的误差,并且基于该误差确定写入区域的结束位置。
根据图像处置装置101,可以通过简单的操作来快速确定近似误差位于可容许范围内的写入区域,以通过预先生成极值数据,通过使用该极值数据来计算上述等式(46)至等式(51)。
[写入处理的描述]
接下来,参照图17中的流程图来描述与图15中的步骤S139的处理对应的写入处理。
同时,步骤S101的处理与图13中的步骤S81的处理相似,从而省略其描述。
在步骤S102,对应位置计算单元141通过计算上述等式(28)和等式(30)来计算与写入目标的位置(Xv,Yv)对应的全景图像上的位置(Cx,Cy)。此时,对应位置计算单元141通过使用从确定单元112提供的开始位置和结束位置的信息、角度θyaw、角度θpitch以及焦距Fv来计算等式(28)和等式(30)。
在步骤S103处,写入单元113将通过步骤S102的处理而计算的位置(Cx,Cy)中的全景图像的像素的像素值作为写入目标的位置(Xv,Yv)的像素的像素值,并且将其写入画布区域上的写入目标的位置中。
在执行写入到画布区域之后,执行步骤S104和S105的处理并且完成写入处理;所述处理与图13中的步骤S84和S85的处理相似,从而省略其描述。在完成写入处理之后,过程转向图15中的步骤S140。
以上述方式,图像处理装置101通过使用近似函数来计算全景图像上的如下位置以写入到写入区域中:在该位置存在着要写入到写入目标的位置中的像素。以这种方式,可以通过使用近似函数获得与写入目标的位置对应的全景图像上的位置,通过简单的计算来快速写入。
可以通过硬件或软件执行上述系列处理。当通过软件执行系列处理时,配置软件的程序被安装在计算机上。在此,计算机包括例如能够通过安装各种程序等来执行各种功能的嵌入专用硬件中的计算机,通用个人计算机。
图18是示出了通过程序执行上述系列处理的计算机的硬件的配置示例的框图。
在该计算机中,CPU(中央处理单元)201、ROM(只读存储器)202、RAM(随机存取存储器)203通过总线204相互连接。
输入/输出接口205还连接至总线204。输入单元206、输出单元207、记录单元208、通信单元209和驱动器210连接至输入/输出接口205。
输入单元206由键盘、鼠标和麦克风等形成。输出单元207由显示器、扬声器等形成。记录单元208由硬盘、非易失性存储器等形成。通信单元209由网络接口等形成。驱动器210驱动可移动介质211,例如磁盘、光盘、磁光盘和半导体存储器。
在如上配置的计算机中,例如,CPU201将记录在记录单元208中的程序通过输入/输出接口205和总线204加载至RAM203以执行,并且据此执行上述系列处理。
例如,由计算机(CPU201)执行的程序可以被记录在作为封装介质等的可移动介质211上以被提供。所述程序可以通过有线或无线传输介质,例如局域网、因特网和数字卫星广播来提供。
在计算机中,可以通过将可移动介质211安装在驱动器210上来通过输入/输出接口205将程序安装在记录单元208上。此外,可以经由要安装在记录单元208上的有线或无线传输介质通过通信单元209来接收程序。此外,可以将程序预先安装在ROM202和记录单元208上。
同时,由计算机执行的程序可以是按照本说明书中描述的顺序依序执行其处理的程序,或者是并行地或以需要的时序(例如当被调用时)来执行其处理的程序。
此外,本技术的实施方式并不限制于上述实施方式,在不偏离本技术的范围的情况下可以进行各种修改。
例如,可以将本技术配置为云计算,以通过多个装置经由网络以共享方式一起来处理一个功能。
在上述流程图中描述的每个步骤可以由一个装置执行或者可以由多个装置以共享方式来执行。
另外,当多个处理包括在一个步骤中时,包括在一个步骤中的多个处理可以由一个装置执行,或可以由多个装置以共享方式来执行。
另外,本技术可以具有如下配置。
[1]一种图像处理装置,所述图像处理装置被配置成生成与输入图像具有预定位置关系的输出图像,所述图像处理装置包括:
极值数据生成单元,所述极值数据生成单元被配置成基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;
误差计算单元,所述误差计算单元被配置成针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;
确定单元,所述确定单元被配置成确定所述误差不大于预定阈值的所述当前区域;以及
图像生成单元,所述图像生成单元被配置成通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
[2]根据[1]所述的图像处理装置,其中,所述近似函数是通过在第一位置附近对表示所述位置关系的函数的多项式展开而获得的多项式近似函数。
[3]根据[2]所述的图像处理装置,其中,所述近似函数是(n-1)阶多项式近似函数,并且计算所述误差所需要的函数是通过指示所述位置关系的函数的n阶微分而获得的函数。
[4]根据[1]至[3]中任一项所述的图像处理装置,其中,限定所述位置关系的变量是从预定参考位置看见的所述输出图像的方向以及从所述参考位置到所述输出图像的距离。
[5]根据[4]所述的图像处理装置,其中,与所述输出图像上的预定位置对应的所述输入图像上的位置是所述输入图像与通过所述预定位置和所述参考位置的直线相交的位置。
[6]根据[1]至[5]中任一项所述的图像处理装置,其中,所述输入图像是投影在球形表面上的图像或投影在圆柱形表面上的图像。
附图标记列表
31   图像处理装置
43   确定单元
44   写入单元
61   极值数据生成单元
62   误差计算单元
71   对应位置计算单元
101  图像处理装置
112  确定单元
113  写入单元
131  极值数据生成单元
132  误差计算单元
141  对应位置计算单元

Claims (8)

1.一种图像处理装置,所述图像处理装置被配置成生成与输入图像具有预定位置关系的输出图像,所述图像处理装置包括:
极值数据生成单元,所述极值数据生成单元被配置成基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;
误差计算单元,所述误差计算单元被配置成针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;
确定单元,所述确定单元被配置成确定所述误差不大于预定阈值的所述当前区域;以及
图像生成单元,所述图像生成单元被配置成通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
2.根据权利要求1所述的图像处理装置,其中,所述近似函数是通过在第一位置附近对表示所述位置关系的函数的多项式展开而获得的多项式近似函数。
3.根据权利要求2所述的图像处理装置,其中,所述近似函数是(n-1)阶多项式近似函数,并且计算所述误差所需要的函数是通过指示所述位置关系的函数的n阶微分而获得的函数。
4.根据权利要求3所述的图像处理装置,其中,限定所述位置关系的变量是从预定参考位置看见的所述输出图像的方向以及从所述参考位置到所述输出图像的距离。
5.根据权利要求4所述的图像处理装置,其中,与所述输出图像上的预定位置对应的所述输入图像上的位置是所述输入图像与通过所述预定位置和所述参考位置的直线相交的位置。
6.根据权利要求5所述的图像处理装置,其中,所述输入图像是投影在球形表面上的图像或投影在圆柱形表面上的图像。
7.一种图像处理方法,所述图像处理方法被配置成生成与输入图像具有预定位置关系的输出图像,所述图像处理方法包括以下步骤:
基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像上的位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;
针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;
确定所述误差不大于预定阈值的所述当前区域;以及
通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
8.一种用于图像处理的程序,所述图像处理被配置成生成与输入图像具有预定位置关系的输出图像,所述程序被配置成使得计算机执行包括以下步骤的处理:
基于函数来生成关于所述函数的极值的数据,所述函数是计算当通过近似函数获得与所述输出图像上的位置对应的所述输入图像的上位置时的误差所需要的,所述函数具有限定所述位置关系的变量,并且将所述输出图像上的所述位置作为变量;
针对从所述输出图像上的第一位置到第二位置的当前区域,基于所述数据来计算当通过所述近似函数获得与所述当前区域中的位置对应的所述输入图像的位置时的误差;
确定所述误差不大于预定阈值的所述当前区域;以及
通过以下方式生成所述输出图像:通过使用所述近似函数针对所确定的当前区域中的每个位置获得所述输入图像的对应位置,以及使所述对应位置的像素的像素值成为所述当前区域中的所述位置的像素的像素值。
CN201280053874.2A 2011-11-09 2012-11-02 图像处理装置、方法和程序 Pending CN103918003A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011245295A JP2013101525A (ja) 2011-11-09 2011-11-09 画像処理装置および方法、並びにプログラム
JP2011-245295 2011-11-09
PCT/JP2012/078425 WO2013069555A1 (ja) 2011-11-09 2012-11-02 画像処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
CN103918003A true CN103918003A (zh) 2014-07-09

Family

ID=48289931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280053874.2A Pending CN103918003A (zh) 2011-11-09 2012-11-02 图像处理装置、方法和程序

Country Status (4)

Country Link
US (1) US20140313284A1 (zh)
JP (1) JP2013101525A (zh)
CN (1) CN103918003A (zh)
WO (1) WO2013069555A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107886468A (zh) * 2016-09-29 2018-04-06 阿里巴巴集团控股有限公司 全景视频的映射方法、重建、处理方法及对应装置和设备
CN109565610A (zh) * 2016-05-25 2019-04-02 皇家Kpn公司 空间平铺的全向视频流播
CN110192221A (zh) * 2017-01-19 2019-08-30 索尼互动娱乐股份有限公司 图像生成装置和图像显示控制装置
US10845942B2 (en) 2016-08-31 2020-11-24 Sony Corporation Information processing device and information processing method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300882B2 (en) 2014-02-27 2016-03-29 Sony Corporation Device and method for panoramic image processing
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10715783B1 (en) * 2019-03-01 2020-07-14 Adobe Inc. Stereo-aware panorama conversion for immersive media
CN111954054B (zh) * 2020-06-05 2022-03-04 筑觉绘(上海)科技有限公司 图像处理方法、系统、存储介质及计算机设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356297B1 (en) * 1998-01-15 2002-03-12 International Business Machines Corporation Method and apparatus for displaying panoramas with streaming video
JP4346742B2 (ja) * 1999-08-17 2009-10-21 キヤノン株式会社 画像合成方法、画像合成装置及び記憶媒体
US7006707B2 (en) * 2001-05-03 2006-02-28 Adobe Systems Incorporated Projecting images onto a surface
JP2010092360A (ja) * 2008-10-09 2010-04-22 Canon Inc 画像処理システム、画像処理装置、収差補正方法及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109565610A (zh) * 2016-05-25 2019-04-02 皇家Kpn公司 空间平铺的全向视频流播
US11284124B2 (en) 2016-05-25 2022-03-22 Koninklijke Kpn N.V. Spatially tiled omnidirectional video streaming
US10845942B2 (en) 2016-08-31 2020-11-24 Sony Corporation Information processing device and information processing method
CN107886468A (zh) * 2016-09-29 2018-04-06 阿里巴巴集团控股有限公司 全景视频的映射方法、重建、处理方法及对应装置和设备
CN110192221A (zh) * 2017-01-19 2019-08-30 索尼互动娱乐股份有限公司 图像生成装置和图像显示控制装置
CN110192221B (zh) * 2017-01-19 2023-11-14 索尼互动娱乐股份有限公司 图像生成装置和图像显示控制装置

Also Published As

Publication number Publication date
US20140313284A1 (en) 2014-10-23
WO2013069555A1 (ja) 2013-05-16
JP2013101525A (ja) 2013-05-23

Similar Documents

Publication Publication Date Title
CN103918003A (zh) 图像处理装置、方法和程序
US10789672B2 (en) Method and device for performing mapping on spherical panoramic image
EP3438919B1 (en) Image displaying method and head-mounted display apparatus
CN107646126A (zh) 用于移动设备的相机姿态估计
CN107665483B (zh) 免定标便捷的单目镜头鱼眼图像畸变矫正方法
CN106570907B (zh) 一种相机标定方法及装置
CN103843329A (zh) 用于立体图像对的有条件显示的方法和设备
US10565803B2 (en) Methods and apparatuses for determining positions of multi-directional image capture apparatuses
CN111275621A (zh) 一种行车环视系统中全景图生成方法、系统及存储介质
CN113256742A (zh) 界面展示方法、装置、电子设备和计算机可读介质
CN113029128A (zh) 视觉导航方法及相关装置、移动终端、存储介质
CN103020900A (zh) 一种图像处理方法及装置
CN112509106A (zh) 文档图片展平方法、装置以及设备
CN110989949A (zh) 一种异形拼接显示的方法及装置
CN111429501A (zh) 深度图预测模型生成方法和装置、深度图预测方法和装置
TWI618395B (zh) 資訊處理裝置及方法、以及程式
US20200134389A1 (en) Rolling shutter rectification in images/videos using convolutional neural networks with applications to sfm/slam with rolling shutter images/videos
CN116912148B (zh) 图像增强方法、装置、计算机设备及计算机可读存储介质
CN112927163A (zh) 图像数据增强方法、装置、电子设备及存储介质
CN112560867A (zh) 文本图像的矫正方法及装置、设备和介质
CN114040129B (zh) 视频生成方法、装置、设备及存储介质
CN107135376A (zh) 多通道超高分辨率全景视频实时拼接处理方法
KR101457385B1 (ko) 스테레오영상의 기울어짐 보정 방법
US10484658B2 (en) Apparatus and method for generating image of arbitrary viewpoint using camera array and multi-focus image
CN112613409A (zh) 手部关键点检测方法、装置、网络设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140709