图像处理装置、图像处理方法以及失真校正方法

文档序号:2607068阅读:301来源:国知局
专利名称:图像处理装置、图像处理方法以及失真校正方法
技术领域
本发明主要涉及供数字照相机等的电子摄像装置使用的图像处理装置和图像处理方法,具体涉及不使电路规模和数据传送量增大,即可实现失真校正功能,并且在进行小区域(例如块行)单位中的失真校正处理的情况下,可算出小区域的空间位置的图像处理装置、图像处理方法以及失真校正方法。
背景技术
不管是数字照相机,还是银盐照相机,一般在照相机的光学系统中会出现畸变像差。并且,在目前出售的照相机中,大部分是可进行光学变焦的机型,在该情况下,从广角端到望远端,畸变像差的状态发生变化。在广角端桶形失真多,在望远端枕形失真多。
例如对格子状的被摄物体进行拍摄时,畸变像差被观测为桶形失真或枕形失真。
图56是格子状的被摄物体,图57是发生了桶形失真的摄影图像,图58是发生了枕形失真的摄影图像。
另外,在数字照相机中,对CCD等摄像元件的数据进行各种图像处理,之后把通过JPEG等压缩方式所压缩的数据记录在存储卡等的记录介质内。
图59示出在一般数字照相机中执行的图像处理步骤的概念。在预处理中对由CCD所取入的摄像信号进行像素缺陷处理、A/D转换等,把所获得的图像数据临时存储在SDRAM等帧存储器内。然后,通过图像处理对从帧存储器中读出的图像数据进行各种图像处理,进而通过JPEG处理进行图像压缩并记录在作为记录介质的存储卡等内。
图60示出现有数字照相机的图像处理装置的方框图(例如特开2000-312327号公报中的现有例)。
在图60中,现有的图像处理装置使CPU 104、预处理电路102、多个图像处理电路106-1~106-n、JPEG处理部107、帧存储器105以及作为记录介质的存储卡108与总线103连接。然后,通过CPU 104的控制,将来自CCD 101的摄像信号在预处理电路102中实施像素缺陷处理和A/D转换等,之后通过总线103临时存储在帧存储器105内。然后,从帧存储器105中读出图像数据,通过总线103输入到图像处理电路106-1中来进行规定的图像处理,并再次通过总线103重新写入到帧存储器105内。以下同样,通过总线103在帧存储器105和图像处理电路106-2~106-n之间依次进行数据交换,最后在JPEG处理部107中进行JPEG压缩处理,把进行了图像处理的数据临时存储在帧存储器105内,把从帧存储器105中读出的处理数据记录在存储卡等108内。在以上各级的图像处理和JPEG处理中,以小区域(块行)为单位进行图像处理。
另外,作为在图像处理电路的至少一个中进行图56~图58所述的失真校正处理的方法,通过使用下述光学表达的失真校正式[式5]对摄像图像的畸变像差进行校正。
Z2=(X-Xd)2+(Y-Yd)2X′=(X-Xd)·[1+A·Z2]+XdY′=(Y-Yd)·[1+A·Z2]+Yd]]>(X,Y)校正图像内的坐标(X’,Y’)摄影图像内的坐标(Xd,Yd) 失真中心位置A 失真校正系数然而,在使用光学表达的上述[式5]进行失真校正的情况下,校正图像产生无用的部分或者不足的部分。
图61和图62对使用上述[式5]来校正发生了桶形失真和枕形失真的摄影图像的动作进行说明。
图61是使用[式5]对虚线所示的发生了桶形失真的源图像(图示左)进行了校正的情况,所校正的图像(图示右)从图像输出范围溢出而产生无用的部分。
图62是使用[式5]对虚线所示的发生了枕形失真的源图像(图示左)进行了校正的情况,所校正的图像(图示右)比图像输出范围小而产生数据不足的部分。
对于这种图61和图62的不利之处,在作为先行申请的日本国特开平9-098340号公报中,在失真校正后,通过进行电子变焦来缩小因校正而扩大的部分,使其返回到原始位置,把因失真校正而丢失的图像信息抑制到最小限度。
另一方面,通常,CCD等摄像元件的读出可具有以下2种方式(1)本拍摄用的所有像素读出,(2)透视图像用的疏化读出。由于通过疏化读出等从所拍摄的数据中取入了一部分的图像数据的长宽比不是1∶1,因而不能照原样进行准确的失真校正。
并且,以往,公开了进行作为该图像处理一部分的失真校正的先行技术。例如,具有特开平6-181530号公报和特开平10-224695号公报。
在特开平6-181530号公报中作了以下记载在检测单元检测出拍摄时的摄像变焦镜头的摄像位置在畸变像差大的位置内的情况下,通过根据几何变形读出固体摄像元件的摄像数据,对由该摄像变焦镜头所产生的图像的几何失真进行校正。
在特开平10-224695号公报中作了以下记载把由接收经由光学系统的光的固体摄像装置所拍摄的数据存储在随机存取视频存储器内,随机读出定时发生电路具有用于校正由光学系统产生的像差的像差校正数据,根据该像差校正数据,按照规定顺序读出由固体摄像装置所生成的信号来生成视频信号,从而校正光学系统的畸变像差。
然而,在特开2000-312327号公报中,在帧存储器和各图像处理电路之间数据交换多,总线的数据传送量增大。而且,对小区域(块行)单位中的失真校正处理完全没有记载。
并且,在特开平9-098340号公报中,仅提及了桶形失真的校正,以距摄像中心最近的点为基准,在原理上只是桶形失真的校正。
对于枕形失真,所校正的图像比图像输出范围小而产生图像数据不足的部分。而且,为了校正图22所示的曲弦失真,失真校正式需要4次项以上,然而很难分析求出用于最大限度使用源图像数据的校正倍率M。
在特开平6-181530号公报中描述了进行失真校正处理的内容,然而如图36所示,对于CCD的摄像面上的像素(由黑圆点表示的纵横格子点)31,本来应当是直线的被摄物体像由于光学镜头的畸变像差而弯曲成像(由符号32表示)时,畸变像差校正电路内的行存储器需要大容量缓冲存储器。并且,可使用缓冲存储器的容量进行处理的图像尺寸受到限制。而且,没有关于缓冲存储器内所保持的数据的空间位置的确定方法等的记载。而且,在特开平6-181530号公报中,对小区域(块行)单位中的失真校正处理完全没有记载。
另外,在特开10-224695号公报中,进行随机存取处理不需要缓冲存储器,然而一般对SDRAM等存储器进行随机存取时,需要转送时间。
因此,本发明的第1目的是提供有效利用所拍摄的源数据进行失真校正处理,可针对图像输出范围没有浪费且有效地输出所校正的图像,可进行能应对枕形失真、桶形失真以及曲弦失真的失真校正处理的图像处理装置和图像处理方法。
本发明的第2目的是提供可算出小区域(例如块行)的空间位置,并可实现小区域单位中的失真校正处理的图像处理装置和失真校正方法。
本发明的第3目的是提供可对进行了疏化取入的图像数据执行准确的失真校正,另一方面,也能对通过数字变焦等切取了任意区域的数据进行准确的失真校正的图像处理装置和失真校正方法。
本发明的第4目的是提供不使总线的传送量和存储器的容量大幅增大,即可实现失真校正处理的图像处理装置和图像处理方法。

发明内容
本发明的图像处理装置是具有失真校正单元的图像处理装置,该图像处理装置还具有失真校正范围计算部,其计算由前述失真校正单元进行失真校正处理的输入图像范围。
这样,通过设置用于计算进行失真校正处理的输入图像范围的失真校正范围计算部,计算与输出图像(即失真校正后的图像)的输出范围的一部分或全部相当的区域在输入图像(即摄像图像)内占据的范围,从而可针对应输出的输出范围不多也不少地输出由失真校正所获得的校正图像,不会使校正图像相对于输出范围溢出或不足。
优选的是,前述失真校正范围计算部具有坐标生成部,其生成内插坐标;失真校正坐标变换部,其输出把规定的失真校正式应用于前述所生成的内插坐标而变换的坐标;以及校正范围检测部,其根据前述所变换的坐标位置计算前述输入图像范围。
在该结构中,生成内插坐标是指,为了求出失真校正前的摄像图像(输入图像)的位置,事先生成应输出的校正后的校正图像(输出图像)的位置。把失真校正式应用于该内插坐标,生成(变换)并输出失真校正前的图像位置(坐标),根据所变换的校正前的坐标位置计算应进行失真校正处理的输入图像范围。
或者,优选的是,前述失真校正范围计算部针对通过坐标变换所生成的坐标,根据与前述输出图像范围的4边的各边对应的像素的坐标的最大值和最小值以及与前述输出图像范围的4顶点对应的坐标中的至少任意一项计算前述输入图像范围。在该结构中,4顶点是指失真校正后的输出图像中的各边的顶点。
或者,优选的是,前述失真校正范围计算部针对进行失真校正处理的多个输入信号依次重复范围计算来计算前述输入图像范围。
在该结构中,在使用多个信道的情况下,在对多个输入信号同时进行失真校正处理期间,针对多个输入信号,分别对作为下一处理对象的块行依次重复进行失真校正范围计算,从而可使用1个失真校正范围计算部进行多个信道的范围计算。
优选的是,通过重复处理进行前述范围计算,决定使失真校正后的图像范围相对于输入图像范围在规定范围内的校正倍率M。
根据该结构,通过把校正倍率M决定为合适值,也能应对曲弦失真。
优选的是,前述失真校正范围计算部在前述失真校正处理部执行失真校正中,计算进行下一失真校正的图像输入范围。
在该结构中,由于在失真校正执行中计算进行下一失真校正的图像输入范围,因而当1个块行的失真校正结束时,可知进行下一失真校正处理的图像输入范围,可针对下一块行依次顺利进行失真校正处理。
本发明的图像处理方法是进行失真校正处理的图像处理方法,在进行前述失真校正处理时,计算进行失真校正处理的输入图像范围。
这样,在进行失真校正处理时,通过计算进行失真校正处理的输入图像范围,计算与失真校正后的图像输出范围的一部分或全部相当的区域在输入图像内占据的范围,从而可针对图像输出范围不多也不少地输出由失真校正所获得的校正图像,不会使校正图像相对于图像输出范围溢出或不足。
本发明的图像处理装置具有对图像数据进行失真校正处理的失真校正单元,前述失真校正单元根据规定的校正式计算在校正前的图像数据内,校正图像的各像素对应的位置时,在可描述的坐标系中计算摄像面上的空间位置。
在该结构中,在计算在校正前的图像数据内,校正图像的各像素对应的位置时,以与摄像面对应的坐标系(即二维空间中的位置)为基准进行计算。
优选的是,前述失真校正单元以校正图像内所包含的第1小区域为单位进行处理;针对包含根据前述校正式将前述第1小区域的各像素的坐标位置进行了变换的小区域在内的摄像面上的第2小区域,把与前述摄像面对应的坐标系中的位置变换成前述第2小区域中的坐标;然后,生成前述校正图像的各像素的数据。
在该结构中,可根据所变换的小区域内的坐标进行内插处理。
另外,前述图像数据可以是仅取入了摄像数据的一部分的部分图像数据。
作为图像数据,不是所拍摄的数据的全部,对于其一部分,例如在数字变焦时从摄像数据的中央部分所切取的数据,或者通过疏化而从摄像数据生成的缩小数据,也能应用。
并且,前述图像数据可以是对前述摄像数据进行滤波、空间抽样或者内插处理中的至少任意一项而生成的数据。
作为图像数据,具有通过以下方式获得的数据等,即进行频率限制的滤波,从摄像装置的摄像面那样的二维空间中进行合适抽样,或者进行内插处理(在通过抽样处理等而离散化的像素和像素之间,根据从周围像素的推测而生成像素的处理)。
本发明的失真校正方法是图像处理装置的失真校正方法,该图像处理装置具有对图像数据进行失真校正处理的失真校正单元,前述失真校正方法具有生成与校正图像的各像素对应的坐标系中的第1位置的步骤;根据失真校正式,把前述第1位置变换成失真校正前的图像数据内的坐标系中的第2位置的步骤;把前述失真校正前的图像数据内的坐标系中的第2位置变换成以与摄像面对应的坐标系为基准的设定区域内的坐标的步骤;以及根据前述设定区域内的坐标进行内插处理来生成前述校正图像的各像素的数据的步骤。
在该失真校正方法中,在使用对例如由摄像镜头引起的几何失真进行校正的校正式获得校正图像的各像素的数据时,根据失真校正式,把与校正图像的各像素对应的坐标系中的第1位置变换成失真校正前的图像数据内的坐标系中的第2位置,把该变换后的第2位置变换成以与摄像面对应的坐标系为基准的设定区域内的坐标,根据该坐标进行内插处理来生成校正图像的像素数据。
优选的是,以前述校正图像内所包含的小区域为单位进行处理。
在该方法中,以校正图像内所包含的小区域(例如被称为块行的区域)为单位进行处理。
本发明的图像处理装置具有对图像数据进行失真校正处理的失真校正单元,前述失真校正单元具有存储部,其存储前述图像数据的一部分;以及存储器控制部,其控制针对前述存储部的数据写入和读入;对从前述存储部所读出的图像数据进行内插运算。
在该结构中,把图像数据的一部分存储在作为内部缓冲器的存储部内,可利用该数据进行失真校正处理用的内插运算。
优选的是,前述存储器控制部进行以下控制在向前述存储部写入时,以由在列方向排成一列的恒定数目的像素构成的图像数据(单位行UL)为单位进行写入;在从前述存储部读出时,对存储在前述存储部内的图像数据进行读出控制,以便以前述UL为单位输出失真校正处理后的图像。
在该结构中,由于针对存储部以UL为单位进行写入和读出,因而作为存储部的缓冲容量,对应于光学失真量,只要具有几个UL,即至少1UL的容量,就能实现失真校正,而不使总线的传送量或存储器的容量大幅增大。
而且,优选的是,前述存储器控制部针对前述UL的最初处理的像素的坐标位置,相对于行方向在前侧和后侧设置规定宽度的区域(各自为preULB和postULB),并进行如下控制使前述区域在前述UL的处理中不被其他处理所改写。
根据该结构,可确保作为处理所需要的缓冲器的存储部的前述preULB和postULB的区域的数据不被改写。
优选的是,前述图像处理装置还具有缓冲器空闲容量监视电路,其检测缓冲器的空闲区域;当该缓冲器空闲容量监视电路检测出缓冲器内的空闲区域时,可进行向该空闲区域的数据写入。
根据该结构,可进行在数据输出中也能输入的流水线动作。
优选的是,前述存储部由可同时进行数据的读出动作和写入动作的多个存储器构成;前述存储器控制部还具有写入地址生成电路,其进行向前述存储部的数据写入控制;以及读出地址生成电路,其生成用于从存储在前述存储部内的图像数据中同时读出内插运算所需要的数据的地址;前述数据写入控制把同时读出的数据分别写入到不同的存储器内。
根据该结构,可从缓冲器内的图像数据中同时读出任意坐标周边的多个像素(例如16像素)信息,作为内插运算所需要的数据,可快速进行运算处理。
本发明的图像处理方法对图像数据进行失真校正处理,在进行前述失真校正处理时,把前述图像数据的一部分存储在数据的写入和读入受到控制的存储部内,对从该存储部中读出的图像数据进行内插运算。
在该方法中,把图像数据的一部分存储在作为内部缓冲器的存储部内,可利用该数据进行失真校正处理用的内插运算。


图1是示出本发明的第1实施方式的图像处理装置的整体结构的方框图。
图2是示出失真校正处理部的结构的方框图。
图3~图5是失真校正处理部中的坐标变换的概念图,图3是示出摄像图像数据的图,图4是示出校正图像的图,图5是对内插处理进行说明的图。
图6是示出图像数据的读出顺序的图。
图7是对第1数据顺序变换部中的数据顺序变换处理进行说明的图。
图8是对第2数据顺序变换部中的数据顺序变换处理进行说明的图。
图9是示出块行和失真校正处理所需要的存储容量(缓冲容量)的关系的图。
图10是示出块行宽度的设定方法的图。
图11是示出失真校正范围计算部的结构的方框图。
图12和图13是说明失真校正范围计算部中的计算进行失真校正处理时的输入图像范围的动作的图,图12是示出校正图像上的范围的图,图13是示出源数据上的范围的图。
图14是对失真校正处理动作进行说明的流程图。
图15是对在图14的步骤S11中的校正倍率M的计算方法进行说明的流程图。
图16是示出图11的失真校正范围计算部的结构的方框图。
图17是图16的数据输出的时序图。
图18对图17的动作进行了改善,是流水线中的数据输出的时序图。
图19是说明计算进行3个信道的失真校正处理时的输入图像范围的万法的图。
图20是对3个信道时的失真校正处理动作进行说明的流程图。
图21是示出本发明的第2实施方式的图像处理装置的整体结构的方框图。
图22是示出发生了曲弦失真的摄影图像的图。
图23和图24是示出校正前的摄像图像数据和校正后的校正图像的关系的图,图23是示出校正前的摄像图像数据的图,图24是示出校正后的校正图像的图。
图25是图23和图24的失真校正处理的流程图。
图26和图27是示出在数字变焦的情况下,校正前的摄像图像数据和校正后的校正图像的关系的图,图26是示出校正前的摄像图像数据的图,图27是示出校正后的校正图像的图。
图28和图29是示出在从摄像数据中切取某区域的情况下,校正前的摄像图像数据和校正后的校正图像的关系的图,图28是示出校正前的摄像图像数据的图,图29是示出校正后的校正图像的图。
图30~图32是对CCD的监视模式中的行疏化进行说明的图,图30是对将摄像时的数据在纵方向进行3行疏化并从CCD中取入到存储器内的状态进行说明的图,图31是示出被取入到存储器内的状态的摄影图像数据的图,图32是示出对图像纵横非对称进行了校正的校正图像的图。
图33和图34是对YC422形式的数据中的颜色数据的横方向的疏化进行说明的图,图33是示出亮度数据的图,图34是示出颜色数据的图。
图35是对图像的中心偏移进行说明的图。
图36是示出CCD的像素和摄影图像的关系的图。
图37是示出本发明的第3实施方式的图像处理装置中的失真校正处理部的详细结构的方框图。
图38是内插电路中的内插运算的表象图。
图39是对失真校正处理部中的内部存储部进行说明的图。
图40和图41对图39进行补充说明,是对在2端口SRAM内写入数据的状态进行说明的图,图40是示出写入顺序的图,图41是示出图40所示的写入顺序的数据被写入到16个2端口SRAM上的何处的图。
图42是用于求出计算图38的校正坐标位置所需要的D0的说明图。
图43是示出错误处理例的图。
图44是示出另一错误处理例的图。
图45是示出另一错误处理例的图。
图46是对失真校正处理所需要的缓冲量进行说明的图。
图47是对失真校正处理所需要的缓冲量进行说明的图。
图48和图49是对失真校正处理所需要的缓冲量进行说明的图,图48是对preULB和postULB的定义进行说明的图,图49是对跨过失真中心时的缓冲器开放量进行说明的图。
图50是对伴随UL处理的开放量计算方法进行说明的图。
图51是对伴随UL处理的开放量计算方法进行说明的图。
图52是对伴随图51的处理的流水线处理的空闲进行说明的图。
图53是对伴随UL处理的开放量计算方法进行说明的图。
图54是对伴随图53的处理的流水线处理的空闲进行说明的图。
图55是对伴随UL处理的开放量计算方法进行说明的图。
图56是示出格子状的被摄物体的图。
图57是示出发生了桶形失真的摄影图像的图。
图58是示出发生了枕形失真的摄影图像的图。
图59是示出一般数字照相机的图像处理步骤的概念的图。
图60是示出现有数字照相机的图像处理装置中的方框结构的图。
图61是对使用[式5]校正发生了桶形失真的摄影图像的动作进行说明的图。
图62是对使用[式5]校正发生了枕形失真的摄影图像的动作进行说明的图。
具体实施例方式
参照附图对发明的实施方式进行说明。
图1是示出本发明的第1实施方式的图像处理装置的整体结构的方框图。
在图1的图像处理装置中,通过进行与总线3连接的各部的控制的CPU4的控制,在预处理电路2中对来自CCD1的摄像信号进行像素缺陷处理和A/D转换等,把所获得的图像数据通过总线3临时存储在帧存储器5内。帧存储器5由SDRAM等构成,是存储图像处理前的数据和图像处理后的数据的存储器。然后,把从帧存储器5中读出的图像数据通过总线3输入到第1数据顺序变换部6中。第1数据顺序变换部6如后面图7说明的那样,具有多个、这里为2个可存储块单位的数据的存储器。第1数据顺序变换部6从帧存储器5中按行方向读出并存储数据后,再按列方向依次读出数据,并输出到图像处理电路7中。
图像处理电路7对所输入的数据进行规定的图像处理,并传送到作为下级的失真校正单元的失真校正处理部8中。失真校正处理部8对所输入的数据进行失真校正处理,并传送到下级的第2数据顺序变换部9中。第2数据顺序变换部9如后面图8说明的那样,具有多个、这里为2个可存储块单位的数据的存储器。第2数据顺序变换部9从失真校正处理部8中按列方向读出数据而进行存储后,再按行方向依次读出数据,并传送到JPEG处理部10中。然后,在JPEG处理部10中进行JPEG压缩处理,把处理数据临时存储在帧存储器5内,把从帧存储器5中读出的处理数据记录在存储卡等11内。
失真校正处理部8如图2所示,构成为具有内插坐标生成部81,其生成失真校正后的校正图像的位置(称为内插位置,X,Y)、和与其对应的失真校正前的源图像的位置(X’,Y’);作为缓冲存储器(以下简称缓冲器)的内部存储部82,其临时存储来自失真校正处理部8的前级块的电路的图像数据的一部分;存储器控制部83,其进行针对该内部存储部82的写入和读出控制;以及内插运算部84,其根据所变换的失真校正前的图像位置坐标(X’,Y’)进行图像处理,以进行数据的失真校正。
内插坐标生成部81如图2所示,由以下部分构成内插位置生成部811,其生成内插坐标(X,Y);失真校正坐标变换部812,其输出把规定的失真校正式[式1](后述)应用于所生成的内插坐标(X,Y)而变换的校正前的坐标(X’,Y’);以及选择器813,其可有选择地输出来自内插位置生成部811的内插坐标(X,Y)和来自失真校正坐标变换部812的变换坐标(X’,Y’)。失真校正处理部8中的内插位置生成部811、失真校正坐标变换部812、选择器813以及存储器控制部83根据存储有控制数据的控制寄存器85内所设定的针对各块的设定值来进行动作。并且,可从CPU参照处理结果的状态等。
在失真校正处理部8内,如图1所示,设置有失真校正范围计算部12,其计算由失真校正处理部8进行失真校正处理的输入图像范围。失真校正范围计算部12如图11说明的那样,构成为具有坐标生成部91,其生成内插坐标;失真校正坐标变换部92,其输出把规定的失真校正式应用于所生成的内插坐标而变换的坐标;以及校正范围检测部93,其根据所变换的校正前的坐标位置计算前述输入图像范围。
在以上构成的本发明的图像处理装置中,从上述第1数据顺序变换部6到JPEG处理部10,不通过总线3,而通过与该总线3不同的信息传递路径进行连接,使得可进行流水线处理,将图像数据按二维像素排列中的规定块单位进行传送和处理。这样通过总线3的数据传送仅为以下传送,即从帧存储器5到第1数据顺序变换部6的传送,从JPEG处理部10到帧存储器5的传送,以及从帧存储器5到存储卡11的传送,因此,与在帧存储器和各图像处理电路之间进行数据交换的现有例(图60)相比,可大幅降低通过总线3的数据传送量,可大幅减轻总线3的负荷。并且,在该图1所示的例中,进行图像处理的图像处理电路7仅设置1个,然而可以是多个。而且,在图中,在图像处理电路7后设置有失真校正处理部8,然而可以是相反的结构。
在由初级的图像处理电路7和作为第2级的图像处理电路的失真校正处理部8构成的图像处理电路部中,构成为在各图像处理电路7、8的前级或内部配置有作为流水线寄存器的未作图示的小容量存储器,各图像处理电路7、8通过该小存储器进行流水线处理动作。这些小容量存储器是为了进行如下动作而设置的,即在各图像处理电路7、8中进行空间图像处理的情况下,存储图像处理所需要的周边数据,以及必须将图像数据按块单位读出并进行重新排列等,来进行处理。
图3~图5是失真校正处理部8中的坐标变换的概念图。图3示出作为源数据的摄像图像数据,图4示出校正图像,图5示出针对图4的校正图像的坐标位置(X,Y),变换到图3的源数据的坐标上的坐标位置P处的数据的坐标(X’,Y’)(该坐标P位于不一定与实际构成源数据的多个像素的位置准确一致的坐标位置)。该P点处的坐标位置(X’,Y’)使用该P点的周边像素16点的坐标来计算,并且P点处的图像数据使用其周围的前述16点的像素数据进行内插运算。在内插运算部84中对点P位置的数据进行处理,以便根据其周围16点的像素值(亮度数据)进行内插运算。在图2的内插位置生成部811中生成内插坐标是指,在图4的校正图像侧指示哪个像素位置(X,Y)。
使用[式1]可算出对应于失真校正后的像素位置(X,Y)的失真校正前的像素位置(X’,Y’)。然而,如前所述,失真校正前的像素位置(X’,Y’)不限于与源图像数据上的像素位置对应的整数值。
根据[式1],把图4的坐标(X,Y)如图3所示变换成坐标(X’,Y’)。这样,可知道可以生成源数据中的哪个坐标位置的数据,该位置(X’,Y’)的数据可使用进行16点内插处理的内插式,根据周围16点的已知像素值(图5的黑圆点的输入图像数据)来计算。
X·=M·(X-Xd)+(Xd+Xoff)Y·=M·(Y-Yd)+(Yd+Yoff)---(1)]]>Z2=|Sx·(X·-Xd)|2+|Sy·(Y·-Yd)|2---(2)]]>X′=(X·-Xd)·[1+A·Z2+B·Z4+C·Z6+···]+XdY′=(Y·-Yd)[1+A·Z2+B·Z4+C·Z6+···]+Yd---(3)]]>
(X,Y) 校正图像内的坐标(X’,Y’) 摄影图像内的坐标(Xd,Yd) 失真中心位置(Xoff,Yoff)中心偏移校正M范围校正倍率(Sx,Sy) 抽样比A,B,C,… 失真校正系数[式1]中的Z是从失真中心(Xd,Yd)到现在所关注的点(X,Y)的距离。使用[式1]计算相对于校正图像的点(X,Y)发生失真的源图像的坐标(X’,Y’)。对[式1]进行补充说明,M是用于在使用光学系统的数据进行逻辑校正时,对校正后图像溢出或不足的现象进行校正的校正倍率。Sx,Sy是用于对疏化取入等、纵横空间抽样间隔不同的现象进行校正的抽样比。Xoff,Yoff是对由于失真校正处理而在失真校正处理后使被摄物体位置偏移拍摄时的位置的现象进行校正的中心偏移值。
在本发明的[式1]中,通过考虑高次项(具体地说,是Z4、Z6、…),还可应对更复杂的曲弦失真(参照图22)。并且,在虽然中心一致但只有摄像元件的一部分取入数据的情况下,或者在光轴中心和摄像元件中心发生偏移的情况等下,必须考虑失真中心(Xd,Yd)。而且,为了对由于失真校正处理而使被摄物体位置偏移拍摄时的位置的现象进行校正,必须要考虑中心偏移校正值(Xoff,Yoff)。在疏化取入的情况下,或者在对由亮度数据(Y)和颜色数据(Cb,Cr)构成的YC图像进行处理的情况下,空间抽样根据X、Y而不同。因此,导入抽样比(Sx,Sy)作为系数,对坐标变换进行校正。
在图61的桶形失真中,为了进行失真校正,必须设定M<1来进行少许缩小。相反,在图62的枕形失真的情况下,必须进行放大,所以设定M>1。
在现有例所述的[式5]中,考虑校正桶形失真/枕形失真来进行描述。
下面,参照图6~图8对图像数据的写入和读出的处理和顺序进行说明。
图6是对从本实施方式中的帧存储器中读出图像数据的顺序进行说明的图。
图像数据通常在行方向进行扫描来写入,并在读出时按行方向读出,全部读出1行的图像数据,然后全部读出相邻行的图像数据,通常重复进行这种操作。
相比之下,本发明的图像处理装置针对在行方向进行扫描而写入的图像数据,以在列方向的某恒定长度为单位,把行方向的图像数据依次输入到图像处理部7中,然后,把相邻列依次输入到图像处理部7中,重复输入到图像的右端,把这样获得的小区域(矩形状的图像数据)称为块行(BL)。
参照图7和图8对用于可这样读出图像数据的第1数据顺序变换部6和第2数据顺序变换部9的结构进行说明。图7和图8是示出第1和第2数据顺序变换部的结构的方框图。
第1数据顺序变换部6如图7所示,具有多个、这里为2个可存储块单位的图像数据的存储器,该2个存储器6a和存储器6b可由写入侧和读出侧的各开关交替切换写入和读出。即,帧存储器5通过写入侧的开关可切换地与该存储器6a和存储器6b连接,并且图像处理部7也通过读出侧的开关可切换地与这些存储器6a和存储器6b连接,当帧存储器5与存储器6a和存储器6b中的一方连接时,该存储器6a和存储器6b中的另一方可切换成与图像处理部7连接。即,存储器6a、6b被切换成不与帧存储器5和图像处理部7的双方同时连接,从而可交替地进行写入和读出。
存储在帧存储器5内的帧图像的一部分以块单位按行方向读出,并被存储在一个存储器、这里例如存储器6a内。
与此同时,从存储器6b中将已从帧存储器5中读出并存储的块单位的图像数据按列方向(纵方向)依次读出,并输出到图像处理部7中。
当从帧存储器5向存储器6a的写入、以及从存储器6b向图像处理部7的读出结束时,写入侧的开关和读出侧的开关被切换,然后,开始从帧存储器5向存储部6b写入下一块单位的图像数据,并开始从存储器6a向图像处理部7读出块单位的图像数据。
第2数据顺序变换部9如图8所示,也与上述第1数据顺序变换部6大致相同地构成,并且进行大致相同的动作。
即,第2数据顺序变换部9构成为具有存储器9a,存储器9b,写入侧开关,以及读出侧开关。
并且,在该第2数据顺序变换部9动作时,从失真校正处理部8向存储器9a和存储器9b中的一方进行列方向(纵方向)的写入,从存储器9a和存储器9b中的另一方进行行方向(横方向)的读出,并输出到JPEG处理部10中。
图9示出块行和失真校正处理所需要的存储容量(缓冲容量)的关系。虚线框上发生失真的4条实线在失真校正后的输出数据中是应当成为直线(纵1行)的数据,但在源数据中却发生失真。4条直线中的远离图像中心的左端直线失真最大。黑圆点表示与失真校正后的输出数据的像素位置对应的失真校正前的位置。在前述的内部存储部82中,把在摄像后发生失真的输入数据在块行内具有最大失真量的横方向的宽度上考虑16点内插而在左右具有余量的范围确保为失真校正处理所需要的缓冲量。即,表示只要有这种缓冲容量,就能进行失真校正的缓冲量,换句话说,当进行了失真校正时,可生成正确的直线形状的缓冲量。
图10示出块行宽度的设定方法。示出根据失真校正处理的对象位置对块行宽度进行可变设定的示例。弯曲的虚线表示输入侧的失真数据,越是远离图像中心,即越是靠向外侧,失真程度就越大。因此,当针对帧存储器上的输入数据设定块行宽度时,该宽度被设定成,越是远离图像中心就越大,越是接近中心宽度就越窄。这样,当从帧存储器5通过总线3向图像处理电路进行数据传送时,只要数据宽度可以变窄,就能减少此时的总线专有时间。
一般,在图像中心由失真引起的变形量小。根据失真校正处理对象的位置,变更块行宽度(在图示的纵方向进行扫描的宽度)的设定值。由于式1包含有高次项,因而不能分析求出块行部分的处理所需要的输入范围。块行宽度的设定是根据失真校正范围计算部12的处理结果,并通过由CPU对该结果实施规定运算来设定的。
图11示出失真校正范围计算部12的结构。失真校正范围计算部12构成为具有坐标生成部91,其生成内插坐标(X,Y);失真校正坐标变换部92,其输出把规定的失真校正式(例如[式1])应用于所生成的内插坐标(X,Y)而变换的坐标(X’,Y’);以及校正范围检测部93,其根据所变换的校正前的坐标位置(X’,Y’)计算失真校正处理所需要的输入图像范围。这样,失真校正范围计算部12由坐标生成部91、失真校正坐标变换部92以及校正范围检测部93构成,由CPU 4通过控制寄存器94控制动作,并且通过寄存器95来取得范围计算结果。失真校正范围计算部12是针对失真校正处理功能而附加的,作为考虑失真变形可算出图像数据的输入范围的支持功能起作用。
下面参照图12和图13,对失真校正范围计算部12中的计算失真校正处理所需要的输入图像范围的动作进行说明。
采用在校正图像内指定范围,并在输入图像上进行坐标变换的方法来进行。首先,如图12所示,决定校正图像上的规定范围(例如5行)的像素位置(格子点位置),使用[式1]如图13所示在输出侧的源数据上进行坐标变换,从而知道输出侧数据上的5行的数据范围。处理设定通过硬件的寄存器设定来进行。在图12的校正图像上,例如起点被设定成,从点(Xst,Yst)开始按间隔ΔW和ΔH的顺序生成格子点,在纵向取几点,在横向取几点,在纵向成为Hout像素,在横向成为Wout像素。然后,变换成源数据上的位置的结果是,在发生失真的线上形成与校正图像的格子点对应的交点坐标,然而可知与该块行对应的发生失真的范围,即外接的图示粗虚线为输入图像范围。实际上,如果只跟踪图12和图13的黑圆点所示的矩形状的周围4边上的黑圆位置的坐标,则对于规定该位置范围的4边,根据最大值和最小值便可知道输入图像范围。例如,实际检测上边收敛在YTmax,YTmin之间、下边收敛在YBmax,YBmin之间、左边收敛在XLmax,XLmin之间、右边收敛在XRmax,XRmin之间的数据,并存储在结果存储用寄存器95内。块行处理需要把内插所需要的像素与(XLmin~XRmax,YTmin~YBmax)相加后的范围。另外,在图13中,在输出侧的源数据上,把各顶点的变换后的位置设定为(X’TL,Y’TL)、(X’TR,Y’TR)、(X’BL,Y’BL)、(X’BR,Y’BR)。
坐标生成部91使用[式2]生成校正图像所需要的坐标位置(X,Y),使用[式1]变换成(X’,Y’)。把上边的变形范围设定为YTmin~YTmax,把下边的变形范围设定为YBmin~YBmax,把左边的变形范围设定为XLmin~XLmax,把右边的变形范围设定为XRmin~XRmax,把各顶点的变换后的位置设定为(X’TL,Y’TL)、(X’TR,Y’TR)、(X’BL,Y’BL)、(X’BR,Y’BR),在校正范围检测部93中对这些变形范围和位置进行检测,并存储在结果存储用寄存器95内。
X=XST+k·ΔWY=YST+l·ΔH]]>k和l是整数图14是对失真校正处理动作进行说明的流程图。首先,在步骤S11中,决定失真校正[式1]的校正倍率M。校正倍率M的决定方法在后面使用图15的流程图进行描述。然后,在步骤S12中,使用所决定的校正倍率M,如图10~图13的说明所述,考虑内插所需要的部分来计算块行处理所需要的输入范围,在步骤S13中设定该计算的输入范围和失真校正处理所需要的设定值。然后,在步骤S14中,同时执行各块行的失真校正处理和下一块行的输入范围计算。之后,执行各块行的失真校正处理和下一块行的输入范围计算,直到进行图像的最下段的块行的失真校正处理为止。在步骤S15中判定针对输出图像整体的失真校正处理是否结束,从而重复步骤S14,并继续进行,直到对图像整体的失真校正处理结束为止,然后结束该处理。
这样,由于在失真校正执行中计算进行下一失真校正的图像输入范围,因而当1个块行的失真校正结束时,可以知道进行下一失真校正处理的图像输入范围,针对下一块行可以没有延迟且依次顺利地进行失真校正处理。
在上述步骤S11中,当适当决定校正倍率M时,无论对图61和图62所述的桶形和枕形的哪种失真图像进行校正处理,都能恰好进入图像输出范围。
图15示出对图14的步骤S11的校正倍率M的计算方法进行说明的流程图。首先,在步骤S21中设定1.0作为校正倍率M的初始值。然后,使用该M和失真校正[式1]对输出图像的例如4边进行坐标变换,从而在失真校正范围计算部12中计算输入图像范围(步骤S22),判定是否在源图像范围内(步骤S23)。当在步骤S23中如图61所示那样超出输出范围时,使M减少ΔM(步骤S24),之后返回到步骤S22,计算输入图像范围,再次进行步骤S23的范围内判定。即,逐渐改变M值,在步骤S23中判定是否在源图像范围内,当在源图像范围内时,转移到步骤S25。在步骤S25中判断前述的输入图像范围是否是收敛在源图像范围内的最大M。当在源图像范围内不是最大时,使M增加ΔM(步骤S26),之后返回到步骤S22,执行步骤S23~26。当在步骤S25中,在源图像范围内是最大时,把此时的M决定为校正倍率。此时,在范围计算中使用的区域是校正图像整体。
另外,图15的流程可以采用其他方法。例如,当使用将校正倍率M的最大值设为Mmax、最小值设为Mmin,并对该范围依次进行2分割来逼近最佳M的方法时,可以减少计算量。
另外,在图14的步骤S14中,与失真校正处理部8的校正运算相比,失真校正范围计算部12的范围计算运算的运算量少。因此,通过按时序使用校正运算的乘法器,可削减电路规模。
当进行失真校正处理时,观察[式1]可知,为乘法非常多、而且在硬件方面电路规模非常大的计算。一般情况下,乘法器使硬件的电路规模增大,因而优选的是尽可能减少乘法器。设置乘法器控制部进行乘法器控制,在取定时的同时,通过进行流水线处理,不降低整体的处理速度,可缩小电路规模。
图16示出图11的失真校正坐标变换部92的部分的具体结构。除此以外的部分与图11相同。在失真校正坐标变换部92中构成为尽管进行[式1]那样的乘法多的计算,但通过在实现定时的同时,按时序对此时的多个乘法进行处理,可减少乘法器数。
失真校正坐标变换部92构成为具有Z2计算部921,其输入来自坐标生成部91的内插坐标(X,Y),运算[式1]的(2)来计算Z2;乘法器控制部922,其输入来自Z2计算部921的Z2和来自乘法器923的γ,输出α和β;乘法器923,其输入α和β,输出γ;乘法器控制部924,其输出与校正系数A、B、C、…中的任意一方相当的δ;乘法器925,其输入α和δ,输出与校正系数和Z的整数倍的积相当的ε;以及校正坐标计算部926,其输入来自乘法器925的ε和来自坐标生成部91的内插坐标(X,Y),输出校正前的源数据的坐标(X’,Y’)。
图17示出图16的数据输出的时序图。首先,Z2计算部921按照时钟CLK‘1’的定时输入内插坐标(X,Y)。然后,乘法器控制部922按照时钟CLK‘2’的定时输出Z2,作为α和β,乘法器控制部924按照相同定时‘2’输出失真校正系数A,作为δ。乘法器923按照下一时钟CLK‘3’的定时,根据所输入的α和β输出Z4,作为γ,乘法器925根据所输入的α和δ按照相同定时‘3’输出AZ2,作为ε。同样,按照接下来的时钟CLK‘4’和‘5’的定时,获得B和BZ4,作为δ和ε,按照时钟CLK‘6’和‘7’的定时,获得C和CZ6,作为δ和ε。结果,按照时钟CLK‘8’的定时,从校正坐标计算部926中输出与内插坐标(X,Y)对应的源数据的坐标位置(X’,Y’)。
在图16的结构中,乘法器只有2个,然而通过按时序使用乘法器,实际上执行相当于6个的计算。结果可把乘法器减少到1/3。而且,即使在考虑高次项的情况下,也可以进行同样的动作。
另外,在观察图17的时序图时可知,在失真校正坐标变换处理中,各时钟的各变量的输出数据具有时间间隙(空闲)。因此,考虑通过流水线处理连续输出各变量的输出数据,使其没有时间空闲。
图18对图17的动作进行了改善,示出流水线处理中的数据输出的时序图。按照图17的动作定时,在从内插坐标(X,Y)的输入起经过7个时钟后,获得作为输出的源数据的坐标位置(X’,Y’),即,在产生1个结果前需要7个时钟的时间。相比之下,在图18中,由于在第10周期发生与第1周期相同的情况,因而使用9个周期进行3个像素处理。即,看上去使用3个周期进行1个像素处理。
以上,对在失真校正范围计算部中仅对1个信道进行失真校正范围计算处理的示例作了描述,下面,说明使用与前述的1个信道所花时间相同的时间,在1个失真校正范围计算部中对3个信道进行失真校正范围计算处理的方法。这里,如图19所示,在图12的校正图像上的范围设定中,把关注区域的4边的范围计算用像素疏化设定为例如1/3的像素数来进行运算处理,从而可按照与1个信道的处理时间大致相同的时间结束。疏化量通过寄存器设定来执行。由于如图19所示只在疏化后的坐标(附上黑圆的位置)上进行运算,因而可利用与前述的处理时间相同的时间来对应多个信道,而且不增大电路规模。这样,在使用例如彩色图像的情况下,即使针对R、G、B各方未设置失真校正范围计算部,只要通过1个电路部使3个信道动作,则1个失真校正范围计算部即可,不增大电路规模,并且可在相同时间内完成。
图20是对3个信道时的失真校正处理动作进行说明的流程图。把图14所示的失真校正处理应用于3个信道。
图20中的步骤S31~S33和步骤S35与图14的步骤S11~S13和步骤S15相同。
在步骤S34中,3个信道中的各块行的失真校正处理和以下的输入范围计算同时执行,即针对第1信道(例如,R)的下一块行的输入范围计算→针对第2信道(例如,G)的下一块行的输入范围计算→针对第3信道(例如,B)的下一块行的输入范围计算。
这样,在使用多个信道的情况下,在对多个输入信号同时进行失真校正处理期间,针对多个输入信号,分别对作为下一处理对象的块行依次重复进行失真校正范围计算,从而可在1个失真校正范围计算部中进行多个信道的范围计算。并且,由于在失真校正执行中计算下一次进行失真校正的图像输入范围,因而当1个块行的失真校正结束时,可知进行下一失真校正处理的图像输入范围,可没有延迟且依次顺利地对下一块行进行失真校正处理。
如以上所述,根据本发明的第1实施方式,由于设置了用于计算进行失真校正处理的输入图像范围的失真校正范围计算部,因而可针对应输出的输出范围不多也不少地输出由失真校正所获得的校正图像。可有效利用源数据进行失真校正处理,可进行能应对枕形失真、桶形失真以及曲弦失真的失真校正处理。并且,可算出各块行的处理所需要的输入范围,可使数据传送量缩减到最小限度。
图21是示出本发明的第2实施方式的图像处理装置的整体结构的方框图。图21具有从图1中删除了失真校正范围计算部12的结构。图21中的失真校正处理部的结构与图2相同。
失真校正坐标变换的[式1]对于整个画面中的图像即校正图像,计算其坐标变换结果的(X’,Y’)的图像在整个画面中位于何处。
然而,被输入到失真校正处理部8中的图像数据是以块行为单位。作为失真校正处理部8,必须知道所输入的图像数据的空间位置关系(二维空间中的位置)。控制寄存器85指定在失真校正处理部8中进行处理的块行的位置。
图23和图24示出校正前的摄像图像数据和校正后的校正图像的关系。图23示出摄影图像数据,图24示出校正图像。图23和图24是关注于校正图像(输出侧图像)的某块行BL的某像素位置A的情况的概念图。校正图像(输出图像)内的位置A的坐标(X,Y)使用失真校正坐标变换的[式1]来变换成(输入图像)内的位置A’的坐标(X’,Y’)。
坐标位置(X,Y)和(Xblst,Yblst)、以及坐标位置(X’,Y’)和(X’blst,Y’blst)表示距整个画面的原点的位置。这里,假定原点是整个画面的左上端部。
被输入到失真校正块的图像数据以由符号BL表示的块行为单位。因此,首先为了对校正图像的例如像素A进行失真坐标变换处理,必须变换成块行BL内的坐标系中的坐标位置(X’,Y’),以便可进行最终的内插处理。
首先,图24的针对校正图像(输出图像)的各像素的坐标位置(X,Y)使用下述[式3]来生成。
X=Xblst+m×ΔXY=Yblst+n×ΔYΔX和ΔY是内插间距,当大于等于1.0时,生成缩小图像,当小于等于1.0时,生成放大图像。坐标位置(Xblst,Yblst)相当于失真校正块的输出侧块行的左肩位置,即块行的起点位置。当(m,n)=(0,0)时,X=Xblst,Y=Yblst,因而可根据[式3]计算坐标位置(Xblst,Yblst)。从m=0,n=0开始,当使m、n例如交替各增加1时,可生成块行BL内的所有像素的坐标位置(X,Y)。
针对该BL,当根据[式1]变换BL内所有图像的坐标位置时,该坐标位置被映射到图23的所变形的阴影线区域BL”内。图23的BL’是处理图24的BL所需要的输入数据的范围。(X’blst,Y’blst)在BL’的左上位置,当考虑内插所需要的像素等时,与所变形的阴影线区域的左上位置不一致。BL’利用图1所说明的支持功能(失真校正范围计算部12)来设定。
使用[式1]对使用[式3]所生成的校正后的输出图像的坐标位置(X,Y)进行坐标变换,求出图23的校正前的输入图像的坐标位置(X’,Y’)。然后,通过获得坐标变换后的坐标位置(X’,Y’)和坐标位置(X’blst,Y’blst)的差,可求出以块行(粗虚线的矩形)的左肩为原点的坐标位置(x’,y’)。
结果,可根据该块行内的坐标位置(x’,y’),进行块行单位中的内插处理。
由图23所示的输入图像侧的粗虚线所示的块行BL’由寄存器85设定,然而为了生成该值,需要考虑失真变形可算出图像数据的输入范围(失真校正范围)的支持功能。该支持功能可以通过附加给失真校正处理部8的失真校正处理功能等来进行设置。
下面,参照图25对失真校正处理流程进行说明。图25是图23和图24的失真校正处理的流程图。
首先,开始图24的施加了阴影线的位置的块行处理(步骤S41)。在前述[式3]中,通过设定为(m,n)=(0,0)(步骤S42),求出图24的阴影线区域的左肩,即块行的起点坐标位置(Xblst,Yblst)。然后,可根据[式3]求出校正图像的坐标位置(X,Y)。在该情况下,当使m和n分别增加1时,可生成图24的阴影线所示的块行BL内的各像素的坐标位置(X,Y)(步骤S43)。
然后,使用[式1]把校正图像中的坐标系的位置(X,Y)变换成校正前的摄影图像中的坐标系的位置(X’,Y’)(步骤S44)。
然后,使用前述方法把摄影图像中的坐标系的位置(X’,Y’)变换成输入块行BL内的坐标系的位置(x’,y’)(步骤S45)。
然后,根据该块行BL内的坐标位置(x’,y’)进行内插处理,通过使用坐标位置(X’,Y’)中的16点内插等,根据周边的多个像素数据算出内插数据,获得1个像素的校正图像数据(步骤S46)。
然后,判断对校正图像的坐标系的BL内所有像素是否执行了以上步骤(步骤S47),当未结束时,设定下一m和n(步骤S48),重复执行步骤S43~S47,当通过步骤S47的判定,对所有像素的处理已结束时,转移到步骤S49。
在步骤S49中,判断针对整个画面(帧)内的所有块行BL的失真校正处理是否结束,当未结束时,选择下一输入块行BL,重复步骤S41~步骤S49,当通过步骤S49的判定,对整个画面的处理已结束时,结束整个过程。
图26~图29应该说是图25的变形例。
在进行数字变焦的情况下,或者在仅切取所关注的小区域的情况下,可以仅使用摄像数据的一部分。通过有选择地从CCD取入摄像数据的一部分,可节约存储器。在该情况下,为了以块行为单位进行失真校正,需要所取入的数据在摄像元件上位于何处的信息(X’imgst,Y’imgst)。
图26和图27示出数字变焦的情况,从所拍摄的图像数据中仅取入中央部分。与图25的情况的不同点是,如上所述,在预处理电路2中设定在整个画面中取入何处。根据该设定仅取入必要部分,该范围由图26的E’表示。
首先,在图27中,设定与整个画面中的进行数字变焦的范围E的左肩对应的起点位置(Ximgst,Yimgst)。然后,设定块行BL,这里是由斑点图形表示的部分。此时,决定以取入范围E的左肩为原点的位置坐标(Xblst,Yblst),与[式2]一样通过使m和n变化,可生成块行BL内的各像素的坐标。
结果,根据坐标位置(Ximgst,Yimgst)、(Xblst,Yblst)以及(m×ΔX,n×ΔY)决定整个画面的坐标位置(X,Y)。
摄影图像中的坐标位置(X’,Y’)可根据上述决定的坐标位置(X,Y)使用[式1]来求出。
然后,求出摄影图像数据中的块行BL’中的坐标位置(x’,y’)。
首先,根据所取入的摄像数据的摄像面上的设定范围E’,知道左肩的坐标(X’imgst,Y’imgst)。在以取入范围E’的左肩为原点的坐标中,块行BL’的左肩的坐标位置(X’blst,Y’blst)利用支持功能预先求出,决定在块行BL’内的坐标的坐标位置(x’,y’)。结果,进行各块行的内插处理。
图28和图29是从摄像数据中切取某区域,例如画面端侧的情况。这相当于在监视照相机等中取入摄像数据的端部分的情况。图28和图29的情况也附上与图26和图27相同的符号。与图26和图27只是切取位置不同,采用与图26和图27的情况相同的动作。
另外,在通常的数字照相机中,由于CPU把切取区域设定在控制寄存器内,因而知道切取位置,可进行上述变换,然而在对记录后的数据进行失真校正的情况下,必须把切取区域的位置和尺寸同时记录在标记等内。此时,同时也记录校正系数。
另外,在作为摄像元件的CCD内大多准备有监视模式(不读出所拍摄的整个画面的模式)。在监视模式中,行大多被疏化,即使在摄像元件中的二维空间上相同,有时在数据上尺寸也不同。并且,在预处理中,有时横方向的像素也被疏化。并且,有时对来自CCD的摄像数据实施低通滤波器(LPF)等的滤波处理,或者进行内插处理以取入到帧存储器内。在该情况下,发生纵横抽样比不是整数的情况。而且,在JPEG中的YCbCr的记录中,Cb和Cr成分的横方向大多以2倍间隔被抽样,作为数据成为横方向缩小的形式。这些数据在[式1]中使用Sx、Sy进行校正。
图30示出在摄像时的数据取入中,实际从CCD所发送的数据仅在黑圆点的位置处,在纵方向上进行3行疏化的状态。在监视模式中,像这样从CCD仅输出疏化后的数据,当把该数据取入到存储器中时,如图31所示由于疏化而成为在上下方向上被破坏的图像数据。如图32所示,即使取出在空间上距中心相同距离的数据,如图31所示,也发生图像在纵方向上相对于横方向输出较短的现象。结果,在基于[式1]的失真校正中,距中心的距离越远,失真校正效果就越大,因而在纵方向和横方向上,失真校正效果发生变化。
这样,以对图像纵横非对称进行校正为目的,设置了校正系数Sx和Sy。在图31的情况下,由于必须在纵方向上伸展,因而设定Sx=1和Sy=4。
根据该Sx和Sy的效果,即使纵横抽样比不同,也能进行准确的失真校正。
并且,如前所述,在抽样比不是整数的情况下,Sx和Sy也可以设定为非整数。而且,在摄像元件的各像素的间隔纵横不同的情况下,也能进行校正(例如矩形像素)。
另外,通常,当是JPEG时,一般使用YCbCr的数据来记录,然而作为此时的设定,考虑图33和图34所示的情况。例如,在YC422的形式的数据的情况下,与亮度数据相比颜色数据的分辨率在横方向为1/2。在该情况下,针对颜色数据设定Sx=2和Sy=1,可以进行校正处理。
另外,在失真中心和图像中心不一致的情况下,在校正前位于中心的被摄物体在校正后偏移中心。在[式1]中,通过使用中心偏移校正值(Xoff,Yoff)进行校正,可使位于图像中心的被摄物体在校正前后不变化。
图35是对图像中心偏移进行说明的图。
图35示出校正图像。在前述的图4中,是失真中心和图像中心一致,即CCD的中心(图像中心)与镜头光轴(失真中心)一致的情况。
图35是失真中心相对于CCD的中心偏移的情况。在图35中,由于失真中心(Xd,Yd)与图像中心不同,因而在不考虑中心偏移而进行失真校正的情况下,输出范围H内的图像中心P偏移到Q点(由大的黑圆表示)。对用户来说,当实际拍摄的图像和失真校正后显示的图像中心偏移时,感到非常不协调。因此,为了使本来在失真校正前位于输出范围H的中心的数据相对于输出范围处于中心位置,改变失真校正后的图像数据的切取方法。为了执行该方法,只要使用(Xoff,Yoff)定义图像中心偏移,改变图像数据的切取方法即可。通过设定图像中心偏移(Xoff,Yoff),使输出范围从H移动到H’,可将本来位于图像中心P的被摄物体校正成,即使在校正后的输出范围H’内也位于中心。
根据图35的实施例,可消除由于中央的被摄物体偏移而引起的不协调感。
以上所述,根据本发明的第2实施方式,可算出小区域(例如块行)的空间位置,可实现小区域单位中的失真校正处理。并且,可对疏化取入的图像数据进行准确的失真校正,另一方面,还可对数字变焦等,切取了任意区域的数据进行准确的失真校正。
本发明的第3实施方式的图像处理装置的整体结构与图21相同。
图37示出图2中的失真校正处理部8的详细结构。
对图37的各部和图2的各部的对应关系进行说明。图37中的内插位置计算电路22与图2的内插位置生成部811对应,选择器24与图2的选择器813对应,失真校正系数计算电路21和内插位置校正电路23与图2的失真校正坐标变换部812对应。并且,图37中的2端口SRAM26与图2的内部存储部(内部缓冲器)82对应,写入地址生成电路28、缓冲器空闲容量监视电路29、数据可否发送判定电路30、缓冲器开放量计算电路31以及读出地址生成电路25与图2的存储器控制部83对应,内插电路27与图2的内插运算部84对应。错误检测电路32在图2中未作图示,但被设置成与存储器控制部83连接。错误检测电路32具有以下功能,即当在失真校正处理中失真量增大而发生超出后述preULB和postULB的设定值的失真时,作为错误(ERROR)传递给CPU 4。
内插位置计算电路22在根据来自失真校正处理部8的后级电路的请求向后级电路返回了同意(接受请求)时,把该同意作为触发,计算1单位行(以下称为1UL)的内插位置(X1,Y1)。这里,1UL是指在前述块行处理中,对存储部进行写入和读出时,写入或读出在列方向排成一列的恒定数目的图像数据时的一个单位。即,1UL是指块行(BL)上的在列方向排成一列的恒定像素数的数据。
内插位置校正电路23使来自失真校正系数计算电路21的失真校正系数F与内插位置(X1,Y1)相乘,计算失真校正前的源数据的坐标位置(X’,Y’)。选择器24选择(X1,Y1)和(X’,Y’),在进行失真校正的情况下,选择输出(X’,Y’),在仅进行放大/缩小处理(调整尺寸)的情况下,选择输出(X1,Y1)。
2端口SRAM 26是存储失真校正处理部8内的数据的缓冲器。
读出地址生成电路25生成与内插位置对应的2端口SRAM 16内的地址(ADR),输出用于使来自2端口SRAM 26的输出对准的控制信号,与输出图像数据同步输出写入控制信号WE_N,输出用于告知图38和[式3]所示的D0在2端口SRAM上的何处位置的数据串控制信号。
写入地址生成电路28根据写入控制信号WE,生成作为内部存储器的2端口SRAM 26的地址(ADDRESS),当1UL的数据输入完成时,使其内部计数器(BLC)递增计数。
数据可否发送判定电路30具有以下功能,即根据BLC值、本电路的动作状态、下一UL开头坐标、以及来自失真校正处理部8的后级电路的请求(REQ)状态,判定是否处于可针对来自后级电路的REQ信号发送同意(GRANT_N)的状态,当可发送同意时,设定GRANT_N=1。
内插电路27针对与内插位置对应的图像数据进行16点内插。缓冲器开放量计算电路31计算当前处理中的UL开头坐标和下一处理预定的UL开头坐标的整数部的差作为缓冲器开放量(参照图50)。
缓冲器空闲容量监视电路29保持存储在作为内部缓冲器的2端口SRAM 26内的数据(UL)量,当缓冲器有空闲时,把请求(REQ=1)发送到失真校正处理部8的前级电路中。
下面,对图37的失真校正处理部8的电路动作进行说明。
首先,在作为内部存储部(内部缓冲器)的2端口SRAM 26有空闲的情况下,当从缓冲器空闲容量监视电路29向前级电路发送作为数据请求的请求(REQ)时,缓冲器空闲容量监视电路29从前级电路接收作为接受请求的同意(GRANT),与该接收同时,使存储有可存储在2端口SRAM 26内的UL数的计数器(在电路29内)减1。根据1次请求和同意,以1UL为一动作单位进行数据传送。当上述计数器为0时,撤消请求。
然后,数据从前级电路流入写入地址生成电路28,进行对2端口SRAM 26的写入。每输入1UL,写入地址生成电路18的内部计数器(BLC)就递增计数。
2端口SRAM 26使用4×4共计16个构成如图39所示的可同时进行读出和写入的2端口SRAM,以便能在内插电路27进行例如16点内插。
这里,使用图39对2端口SRAM 26进行说明,然而存储器数和各存储器尺寸可以不同。例如,在图39中,把块行宽度(UL长度)设定为96,然而可以更长,也可以更短。可以根据电路规模和校正性能的平衡来决定。并且,4×4(计16个)也是,如果是4点内插,则可以是2×2(计4个)。可以根据内插方式(进行几点内插)来决定。
图39是在由16个2端口SRAM构成的存储空间中,横方向是所输入的UL顺序,而纵方向是对各2端口SRAM所附的地址。设N为整数,对处理的某时刻的状态进行说明。作为在纵方向排列的4个各2端口SRAM的No.0、4、8、12内存储的数据是第4N、4N+4、4N+8、4N+12的UL数据,No.1、5、9、13内存储的数据是第4N+1、4N+5、4N+9、4N+13的UL数据,No.2、6、10、14内存储的数据是第4N+2、4N+6、4N+10、4N+14的UL数据,No.3、7、11、15内存储的数据是第4N+3、4N+7、4N+11、4N+15的UL数据。
对于作为在横方向排列的4个各2端口SRAM的No.0、1、2、3,No.4、5、6、7,No.8、9、10、11以及No.12、13、14、15的各组,也进行同样的存储。
使用图40和图41,对在各2端口SRAM内写入数据的状态进行说明。在图40和图41中,如图40所示,假定了宽度为8行(像素)的块行,数据以UL为单位按照“1、2、…、i、m”、“5、6、…、j、n”、“9、10、…、k、o”、…这样的顺序输入。图41示出图40所示的写入顺序的数据被写入到4×4的16个2端口SRAMNo.0~No.15上的何处。例如在No.0、No.4、No.8、No.12内分散存储有图40的左侧纵一列的1UL的图像数据(按照顺序1~m所示的数据)。另外,针对图39所示的纵方向的2端口SRAM No.0、No.4、No.8、No.12的各纵行所附的标记0~92、1~93、2~94、3~95与图40所示的各单位行(1~m…、5~n…、9~o…、····)的标记不同。这是因为,在图40和图41中,为了知道对于4×4的16个图像数据的写入顺序,将16个块分别附上1~16、a~p、A~P、…的符号。在图39的情况下,对该纵方向的2端口SRAM No.0、No.4、No.8、No.12的各纵行所附的标记相当于纵方向的1个UL中的数据顺序。在2端口SRAM No.0、No.4、No.8、No.12的各方内交替分散记载1个UL像素数据No.0~95。因此,对图39的纵方向所排列的4个各纵行附上表示是1个单位行(UL)的像素顺序(0~95)的第几像素的标记。在图39的2端口SRAM的No.0的纵方向存储有UL的4倍数的像素(0、4、8…92),在2端口SRAM的No.4的纵方向存储有UL的(4倍数)+1的像素(1、5、9…93),在2端口SRAM的No.8的纵方向存储有UL的(4倍数)+2的像素(2、6、10…94),在2端口SRAM的No.12的纵方向存储有UL的(4倍数)+3的像素(3、7、11…95)。而且,对于2端口SRAM的No.1、2、3,No.5、6、7,No.9、10、11以及No.13、14、15的各组,也进行同样的存储。
再次返回到图39,1UL的数据按照每一个像素依次被存储在排列于纵方向的4个2端口SRAM内。最初的UL数据被写入到No.0、4、8、12(图39的4N的行)中。下一UL数据被写入到No.1、5、9、13(图39的4N+1的行)。在图39的缓冲器形式中,采用以下结构,即通过失真校正处理使内插位置无论怎样移动,都能通过一次存取同时抽出缓冲器内的任意坐标周边16点。
数据可否发送判定电路30从后级电路接收请求(REQ_N),当处于发送下一数据的状态时,输出接受请求(GRANT_N)。该接受请求(GRANT_N)成为对自己自身的触发,内插位置计算电路22开始动作,在进行了1UL动作后,计算下一UL开头坐标,然后结束。
内插位置计算电路22开始动作,为了与输出内插位置(X1,Y1)同步,从数据可否发送判定电路30向失真校正系数计算电路21发送动作触发(trig)。失真校正系数计算电路21也与内插位置计算电路22一样,在进行了1UL动作后,计算下一UL开头坐标,然后结束。
读出地址生成电路25根据所输入的内插坐标,把读出地址发布给16个2端口SRAM 26的各方。
下面,对读出和内插方法进行说明。
图38示出内插方法。图38是内插电路27中的内插运算的图。内插坐标位置P的坐标(X’,Y’)使用前述[式1]已求出。为了求出该坐标中的像素值(亮度数据),根据坐标P(X’,Y’)的周边16点的像素数据D0~D15来求出。其中,如果知道D0来自16个存储器中的哪个存储器,则根据相对于D0的位置关系可知D1、D2…、D15。如后所述,D0使用内插位置的坐标来求出。
图42示出从由16个2端口SRAM构成的缓冲器的读出例。现在,假定内插位置(X’,Y’)为X’=10.…,Y’=50.…(…是小数点以下的数字),则X’=10.…大于等于(4×0+10),因而在横方向,内插位置位于2端口SRAM的第4N+10的UL的稍微右侧。Y’=50.…大于等于(4×12+2),根据第4N+10的UL,存储有第50的像素的存储器(No.10)输出图7中的像素D5,因而输出D0的存储器为其左上的No.5。
由于与图38的D0~D15对应的图像数据是图42的○部,因而生成地址,以便输出这些像素数据。
从No.0输出的图像数据与D0不对应。在图10的例中,来自No.5的输出与D0对应。因此,为了识别从哪个存储器输出哪个数据,从读出地址生成电路25输出数据串控制信号,这样,进行内插运算的内插电路27识别D0从2端口SRAM 26的何处输出,进行16点内插。
只要知道像素数据D0~D15,就能通过使用[式4]的内插式进行内插处理,求出校正坐标位置的像素数据作为Dout。
Dout=kx0(ky0D0+ky1D4+ky2D8+ky3D12)+kx1(ky0D1+kyID5+ky2D9+ky3D13)+kx2(ky0D2+y1D6+ky2D10+ky3D14)+kx3(ky0D3+ky1D7+ky2D11+ky3D15)在最后的UL数据输出后,缓冲器开放量计算电路31计算目前处理结束的UL开头坐标和下一UL开头坐标的差(参照图50),为了开放存储有不必要数据的缓冲器,把缓冲器开放量输出给缓冲器空闲容量监视电路29。然而,优选的是,跨过失真中心时的缓冲器开放量如图49所示,开放也考虑了postULB1和postULB2的值变化的量。图48所示的preULB和postULB针对形成UL的像素中的最初像素的坐标位置,针对行方向在前侧和后侧设置规定宽度的区域,将它们各自定义为preULB和postULB。在跨过失真中心时,缓冲器开放量不是通常的UL开头坐标的差,通过参照使参照值变化的postULB(ULBUnit Line Buffer的简称,单位行缓冲器)的变化量来调节缓冲器开放量(调整量是postULB1-postULB2,参照图49)。
当(UL开头坐标的差)+(调整量)为负的情况下,存储负值。在进行处理并且缓冲器开放量超过负值之前,不进行缓冲器的开放。
缓冲器开放量计算电路31计算前述缓冲器开放量,并且从前级电路向数据可否发送判定电路30发送下一UL处理还需要多少数据。
当通过前述缓冲器开放量的计算发现缓冲器有空闲时,缓冲器空闲容量监视电路29向前述前级电路进行请求。
数据可否发送判定电路30根据来自写入地址生成电路28的内部计数器(BLC)和缓冲器开放量计算电路31的输入以及preULB值,判断是否可发送下一UL数据。数据可否发送判定电路30针对后级电路的请求返回接受请求(GRANT_N)。
当被输入到读出地址生成电路25中的坐标超出块行(BL)的左端(参照图43)或右端,或者超出块行(BL)的上下端(参照图44),或者失真量超出preULB和postULB的设定值(参照图45)的情况下,错误检测电路32输出错误。这些错误输出通过判别坐标来输出。在图43和图44的情况下,输出错误,但处理继续进行。在图45的情况下,也输出错误,但处理继续进行。在图45的preULB和postULB的情况下,不仅输出错误,而且存储超出量,并设定在寄存器内,从而可作为数据由CPU4取得。
这样,在块行处理中,在相对于输出侧的图像对输入侧的图像进行内插计算时,有时从输入图像范围溢出。在该情况下,在输入范围内没有数据的部分生成内插数据,从错误检测电路32输出表示不能进行内插的错误。
如图46所示,图像失真相对于失真中心坐标是对称的。并且,失真一般越是接近中心就越小,越是远离中心就越大。因此,通常,如果考虑BL两端的UL变形来确保缓冲器,则在所有UL中,在内插处理中数据不会不足。因此,相对于进行内插的最初坐标(由图中块行BL内的图像数据的最上面的×符号表示的开头坐标),在前方(图示右侧)设置规定的区域preULB,在后方(图示左侧)设置规定的区域postULB。
支持功能相当于图1的“失真校正范围计算部”的部分。在图12中,关注区域为BL,然而可通过失真校正的坐标变换如图13所示那样变形。此时,根据X’TL、Y’TL、XLmin、XLmax决定preULB1/postULB1(参照图48)。同样,根据X’TR、Y’TR、XRmin、XRmax决定preULB2/postULB2。
而且,在UL处理中,当通过失真中心时,光学失真的弯曲方向为反方向。这样,如图46所示,在失真中心左右,preULB和postULB的值不同。为了使该值左右都能对应,如图47所示,在右侧采用最大的postULB;在左侧采用最大的preULB,这样,尽管在左侧或右侧的一侧的处理时不需要,但也必须大量(即,扩大缓冲器)确保另一侧的数据,使缓冲器浪费。
因此,preULB和postULB不是预先使用相同大的值来决定双方,而是把preULB和postULB作为变量来分别输入值。当经过了失真中心坐标时,改变这些值来改变确保量。即,通过在失真中心前后使preULB和postULB变化,可以在内部缓冲器的使用上消除浪费,可使用小缓冲器进行比较大的失真校正。
把pre和postULB设定在寄存器85内,然而为了生成这些值,需要考虑失真变形可算出图像数据的输入范围的支持功能。该支持功能可以通过附加给失真校正处理部8的失真校正处理功能等来进行设置。存储器控制部83进行如下的控制使前述区域preULB和postULB在1UL处理中不被其他处理所改写。前述区域preULB和postULB的设定可以从CPU 4设定到寄存器85中(参照图2),也可以使用CPU自动进行计算来设定。
前面对在失真校正处理中进行16点内插作了描述,然而如图48所示,通过失真校正可使内插位置在1UL处理期间移动a(其中,a>0)。由于进行16点内插的关系,作为输入图像范围,pre侧和post侧全都需要把内插所需要的像素的间隔bL和bR与上述间隔a相加后所得的范围。
当越过失真中心时,通过改变pre和postULB的值,把缓冲器缩小到必要最小限度。并且,在前述的“失真校正计算部”中可以考虑内插量来输出结果。
失真校正处理部8具有的内部存储部(内部缓冲器)82在图39的情况下,最大为在纵向上是96个像素,在横向上是16行(像素)。使用该内部存储部82进行失真校正。块行处理的数据按照至少每1UL向图示右方向进行扫描。由于有时几UL一起开放,因而并不一定按照每1UL进行扫描。内部存储部82由于最初从空状态开始,因而输入16行来进行失真校正处理。当处理这些单位行时,左侧行产生不需要的数据(1至几UL的数据)。另外,在处理后不一定不需要,当放大率大时,有时也需要几UL,直到不需要时为止。对于不需要的数据,开放缓冲器(即,容许改写),以输入新数据。进行扫描的图像偏移到右侧。由于只有最大16行读入尺寸,因而开放不需要的数据区域,依次改写新数据。不需要的缓冲区域全部一起开放。该开放量也许是1行,也许是5行。例如,最初的3行的数据进入缓冲器,对以后处理是不需要的,因而进行开放,接受下一数据,并改写下一数据。
另外,如果不决定下一UL开头坐标就不知道在1UL处理结束后可开放的缓冲量(参照图50)。由于内部缓冲器小,因而为了尽早开放存储有未使用的数据的部分,计算下一UL开头坐标来取得开放量,通过开放缓冲器,可有效利用内部缓冲器。然而,针对失真校正从后级电路块发来请求,返回针对该请求的同意,把1UL的数据输出到后级,并且在下一请求发来后返回同意,之后求出坐标,在按照上述进行动作时,缓冲器的开放延迟,与此同时,新数据的取入也延迟,结果,会发生流水线动作出现长的空闲。因此,如图51所示在进行先前失真校正处理(图示的坐标1~n的处理)的阶段,与来自后级电路块的请求没有关系,当坐标n的处理结束时,运算下一开头坐标n+1来求出开放量,提前开放缓冲器。这样,可从前级电路块较早地进行新数据输入,可填补流水线的空闲。然而,在图51的情况下,在进行了坐标n的处理后,计算像素n+1的坐标,之后结束处理,因而如图52所示,尽管在缓冲器内下一UL处理所需要的数据齐备,然而当来自后级的请求连续时,流水线发生空闲。由于流水线的空闲依然存在,因而当请求连续时,有可能对装置整体的动作速度产生不良影响。
因此,作为图51的改善对策,如图53所示,具有尽早决定下一坐标来求出缓冲器开放量的方法。如图51所示,在比最后求出下一开头坐标更早的阶段取得下一UL开头坐标,当判断为必要数据齐备时,通过连续进行下一UL处理,来减小处理空闲。即,在1UL处理结束前把UL的数据保持在寄存器等内,通过计算下一UL的开头坐标位置,预先求出下一UL处理的开放量。在图53中,针对先前失真校正处理(图示的坐标1~n的处理)的第2像素求出下一UL的开头坐标,在较早阶段取得缓冲器开放量。这样,可使缓冲器开放提前,如图54所示,与图52相比可大量减少流水线空闲。然而,具有电路复杂、控制也困难的问题。
因此,图55对图53进行了进一步的改善。在图55中,在当前处理中的UL结束时开放的量(开放量1)在上一UL处理中是已知的。在算出坐标n后,计算2个后续UL开头坐标,预先求出在下一UL处理结束时可开放的量(开放量2)。这样,没有必要如图53的情况那样在UL处理中进行例外的坐标生成(坐标2的生成)。这样,如果求出下下2个后续UL的开头坐标而不是下一UL开头坐标,则不进行图53所示的例外处理,因而电路简单。
如以上所述,根据本发明的第3实施方式,不使总线的传送量和存储器的容量大幅增大,即可实现失真校正。即,可使用小的缓冲容量进行比较大的失真校正处理。
产业上的可利用性本发明可广泛利用于在数字照相机等的电子摄像装置中使用的图像处理装置、图像处理方法以及失真校正方法,不使电路规模和数据传送量增大,即可实现失真校正功能,并且在进行失真校正处理的情况下,可计算空间位置,可进行有效利用作为源数据的摄影图像数据的失真校正处理,可针对枕形失真、桶形失真以及曲弦失真等的基于畸变像差的失真进行有效的失真校正处理。
权利要求
1.一种图像处理装置,具有失真校正单元,其特征在于,该图像处理装置还具有失真校正范围计算部,其计算由前述失真校正单元进行失真校正处理的输入图像范围。
2.根据权利要求1所述的图像处理装置,其特征在于,前述失真校正范围计算部具有坐标生成部,其生成内插坐标;失真校正坐标变换部,其输出把规定的失真校正式应用于前述所生成的内插坐标而变换的坐标;以及校正范围检测部,其根据前述所变换的坐标位置计算前述输入图像范围。
3.根据权利要求2所述的图像处理装置,其特征在于,前述坐标生成部仅使用与失真校正后的输出图像范围内的边缘部的各像素对应的坐标来生成内插坐标。
4.根据权利要求3所述的图像处理装置,其特征在于,前述输出图像范围是矩形,前述坐标生成部仅使用与该输出图像范围的4边的各像素对应的坐标来生成内插坐标。
5.根据权利要求1~4中的任意一项所述的图像处理装置,其特征在于,前述失真校正范围计算部针对通过坐标变换所生成的坐标,根据与前述输出图像范围的4边的各边对应的像素的坐标的最大值和最小值以及与前述输出图像范围的4顶点对应的坐标中的至少任意一项,来计算前述输入图像范围。
6.根据权利要求2所述的图像处理装置,其特征在于,前述失真校正坐标变换部对前述规定的校正式内所包含的运算进行时序处理。
7.根据权利要求2所述的图像处理装置,其特征在于,前述坐标生成部对前述失真校正处理用的内插坐标进行规定的疏化,来求出坐标。
8.根据权利要求1所述的图像处理装置,其特征在于,前述失真校正范围计算部针对进行失真校正处理的多个输入信号依次重复范围计算,来计算前述输入图像范围。
9.根据权利要求1或8所述的图像处理装置,其特征在于,通过重复处理进行前述范围计算,决定失真校正后的图像范围相对于输入图像范围在规定范围内的校正倍率M。
10.根据权利要求1所述的图像处理装置,其特征在于,前述失真校正范围计算部在前述失真校正处理部执行的失真校正中,计算进行下一失真校正的图像输入范围。
11.一种图像处理方法,进行失真校正处理,其特征在于,在进行前述失真校正处理时,计算进行失真校正处理的输入图像范围。
12.一种图像处理装置,具有对图像数据进行失真校正处理的失真校正单元,其特征在于,前述失真校正单元在根据规定的校正式计算在校正前的图像数据内,校正图像的各像素对应的位置时,在可描述的坐标系中计算摄像面上的空间位置。
13.根据权利要求1所述的图像处理装置,其特征在于,前述失真校正单元以校正图像内所包含的第1小区域为单位进行处理;针对包含根据前述校正式将前述第1小区域的各像素的坐标位置进行了变换的小区域在内的摄像面上的第2小区域,把与前述摄像面对应的坐标系中的位置变换成前述第2小区域中的坐标;然后,生成前述校正图像的各像素的数据。
14.根据权利要求12或13所述的图像处理装置,其特征在于,前述图像数据是仅取入了摄像数据的一部分的部分图像数据。
15.根据权利要求14所述的图像处理装置,其特征在于,前述部分图像数据是切取了前述摄像数据的一部分的数据。
16.根据权利要求14所述的图像处理装置,其特征在于,前述部分图像数据是在前述摄像数据的横或纵的至少一方向进行了疏化的数据。
17.根据权利要求12所述的图像处理装置,其特征在于,前述图像数据是对前述摄像数据进行滤波、空间抽样或者内插处理中的至少任意一项而生成的数据。
18.根据权利要求12所述的图像处理装置,其特征在于,前述图像数据的各像素在摄像面上的位于空间上的间隔在纵方向和横方向上不同。
19.根据权利要求12~18中的任意一项所述的图像处理装置,其特征在于,在图像数据中的各像素的空间抽样间隔纵横不同的情况下,用于求出失真校正前的图像内的坐标的校正式包含对纵横抽样间隔不同进行校正的系数。
20.根据权利要求12~19中的任意一项所述的图像处理装置,其特征在于,求出失真校正前的图像内的坐标的校正式可进行规定量的偏移校正。
21.根据权利要求20所述的图像处理装置,其特征在于,在失真中心和图像中心不一致的情况下进行前述偏移校正。
22.一种图像处理装置的失真校正方法,该图像处理装置具有对图像数据进行失真校正处理的失真校正单元,其特征在于,前述失真校正方法具有生成与校正图像的各像素对应的坐标系中的第1位置的步骤;根据失真校正式,把前述第1位置变换成失真校正前的图像数据内的坐标系中的第2位置的步骤;把前述失真校正前的图像数据内的坐标系中的第2位置变换成以与摄像面对应的坐标系为基准的设定区域内的坐标的步骤;以及根据前述设定区域内的坐标进行内插处理来生成前述校正图像的各像素的数据的步骤。
23.根据权利要求22所述的失真校正方法,其特征在于,以前述校正图像内所包含的小区域为单位进行处理。
24.一种图像处理装置,具有对图像数据进行失真校正处理的失真校正单元,其特征在于,前述失真校正单元具有存储部,其存储前述图像数据的一部分;以及存储器控制部,其控制针对前述存储部的数据写入和读入;对从前述存储部读出的图像数据进行内插运算。
25.根据权利要求24所述的图像处理装置,其特征在于,前述存储器控制部进行如下控制在向前述存储部写入时,以由在列方向排成一列的恒定数目的像素构成的图像数据(单位行UL)为单位进行写入;在从前述存储部读出时,对存储在前述存储部内的图像数据进行读出控制,以便以前述UL为单位输出失真校正处理后的图像。
26.根据权利要求25所述的图像处理装置,其特征在于,前述存储器控制部针对前述UL的最初处理的像素的坐标位置,相对于行方向在前侧和后侧设置规定宽度的区域(分别为preULB和postULB),并进行如下控制在前述UL的处理中使前述区域不被其他处理所改写。
27.根据权利要求25或26所述的图像处理装置,其特征在于,前述存储器控制部还具有缓冲器开放量计算电路,其在前述UL的处理中,计算为了输入来自前述失真校正单元的前级的数据而可以开放的缓冲量;以及数据可否发送判定电路,其判定数据可否发送到前述失真校正单元的后级;在前述缓冲器开放量计算电路内,以前述UL的处理中的最初像素对应的内插坐标为中心输入有前述postULB,在数据可否发送判定电路内输入有前述preULB,缓冲器开放量计算电路参照前述postULB的值计算前述缓冲器开放量,数据可否发送判定电路参照前述preULB的值进行数据可否发送的判定。
28.根据权利要求26或27所述的图像处理装置,其特征在于,前述preULB值和postULB值可分别相对于失真中心在前侧和后侧设定不同的值。
29.根据权利要求24~27中的任意一项所述的图像处理装置,其特征在于,前述图像处理装置还具有缓冲器空闲容量监视电路,其检测缓冲器的空闲区域;当该缓冲器空闲容量监视电路检测出缓冲器内的空闲区域时,可进行向该空闲区域的数据写入。
30.根据权利要求24所述的图像处理装置,其特征在于,前述存储部由可同时进行数据的读出动作和写入动作的多个存储器构成;前述存储器控制部还具有写入地址生成电路,其进行向前述存储部的数据写入控制;以及读出地址生成电路,其生成用于从存储在前述存储部内的图像数据中同时读出内插运算所需要的数据的地址;前述数据写入控制把同时读出的数据分别写入到不同的存储器内。
31.根据权利要求26~28中的任意一项所述的图像处理装置,其特征在于,前述图像处理装置还具有错误检测电路,其在生成失真校正处理后的坐标相对于前述UL处理中的最初图像对应的内插坐标,在列方向上超出前述preULB和postULB的坐标时,或者在失真校正后的坐标成为未从前级所输入的坐标时,检测并输出错误。
32.根据权利要求26~28中的任意一项所述的图像处理装置,其特征在于,当进行了前述错误输出时,重新设定寄存器,重新执行图像处理。
33.根据权利要求25~29中的任意一项所述的图像处理装置,其特征在于,在1UL的处理结束后,运算开始下一1UL或者再下一1UL的处理时的最初内插坐标,之后结束1UL单位的处理。
34.一种图像处理方法,对图像数据进行失真校正处理,其特征在于,在进行前述失真校正处理时,把前述图像数据的一部分存储在数据的写入和读入受到控制的存储部内,对从该存储部所读出的图像数据进行内插运算。
35.根据权利要求26~28中的任意一项所述的图像处理装置,其特征在于,前述图像处理装置还具有失真校正范围计算部,其计算由前述失真校正单元进行失真校正处理的输入图像范围。
36.根据权利要求35所述的图像处理装置,其特征在于,前述失真校正范围计算部可应用规定的失真校正式进行坐标变换,在失真校正后的输出图像范围内,计算将与周边4边的各边对应的像素进行坐标变换而生成的变换坐标的最大值和最小值、以及将与4顶点对应的像素进行坐标变换而生成的变换坐标中的至少任意一方,前述preULB和postULB根据前述失真校正范围计算部的输出结果来计算。
全文摘要
一种具有失真校正处理部(8)的图像处理装置,该图像处理装置具有失真校正范围计算部(12),其用于计算使前述失真校正处理部(8)进行失真校正处理所需要的输入图像范围。这样,可针对图像输出范围不多不少地输出通过失真校正所获得的校正图像(输出图像),可进行有效利用作为源数据的输入(摄影)图像数据的失真校正处理,可针对枕形失真、桶形失真以及曲弦失真等进行有效的失真校正处理。
文档编号G09G5/36GK1830002SQ2004800218
公开日2006年9月6日 申请日期2004年7月27日 优先权日2003年7月28日
发明者日暮正树, 古川英明, 上野晃 申请人:奥林巴斯株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1