像素插值装置及照相机装置的制作方法

文档序号:7627573阅读:133来源:国知局
专利名称:像素插值装置及照相机装置的制作方法
技术领域
本发明涉及一种执行放大或缩小图像数据时的像素插值的像素插值装置、以及通过内置该像素插值装置来获得数字式地放大或缩小拍摄图像时的像素插值功能的数字静态照相机、数字视频照相机(数字摄像机)等之类的照相机装置。
背景技术
一般来讲,在诸如数字静态照相机、数字视频照相机等之类的照相机装置中,还搭载有不通过光学操作/功能来对图像进行放大或缩小处理的数字缩放功能。在这样的照相机装置中,通过根据用户实施的缩放操作,基于元图像的像素数据生成(插值)放大或缩小图像的像素数据,来对图像进行放大或缩小(缩放)。此时,通过利用多个现有像素数据的值、以及根据插值位置所选的插值系数进行运算处理,来生成像素数据。
例如,作为放大图像的装置,提出下述这种图像放大装置通过对纵横的一个方向上相邻排列的至少4个像素数据分别乘以规定的系数然后相加,来生成位于其中央的2个像素数据之间的像素数据,并通过对纵横的另一方向上相邻排列的至少4个刚才生成的像素数据分别乘以规定的系数然后相加,来生成位于其中央的2个像素数据之间的像素数据(特开平第5-7584号公报)。
此外,提出下述图像处理装置为了放大由包含数字数据的各个像素的阵列所形成的图像,提供通过对图像的相邻像素之间进行插值而被放大的图像的像素,具备存储表示样条加权函数的滤波(filter)系数的查找表形式的存储器;以及,适合使用系数来计算放大的图像内所插值的顶点值的运算电路(特开平10-63828号公报)。
由此,在以往的这种放大图像的装置中,虽然在放大图像时使用像素(pixel)数据所对应的系数来实施运算,但使用的是存储有没有考虑放大插值中的系数的特征等的通用的系数数据的表和运算电路。因此,表(存储器)和运算电路是冗余的电路结构,可能会导致电路规模的增大。
本发明的第一个课题就是,通过利用图像放大插值中所用的系数的特性,来缩小像素插值装置的电路的规模。

发明内容
本发明正是为了解决前面所述的问题而提出的,在一个方式中,构成为一种照相机装置,包括拍摄机构,用于拍摄被摄物体并取得图像数据;像素插值机构,用于基于由所述拍摄机构获得的图像数据的存在于共用的线上的多个点的像素数据,来生成所述线上的插值位置的像素数据;以及,存储机构,用于存储对第n邻近上存在的多个像素数据共用的系数数据,所述第n邻近从插值位置起在所述线上以不同方向分别接近第n个像素,所述像素插值机构,通过对从所述线上的所述插值位置起第n邻近的多个像素数据,使用所述存储机构中所存储的系数数据执行运算,来生成所述插值位置的像素数据。
在另一个方式中,构成为一种像素插值装置,其基于共用的线上存在的多个点的像素数据,来生成所述线上的插值位置的像素数据,具备控制器,用于输出表示插值位置的插值位置数据;系数表,用于存储与可取作插值位置的各位置相应的系数数据,该系数数据对于插值位置起在所述线上以不同方向分别接近于第n个的第n邻近上所存在的多个像素数据共用;系数数据输出机构,用于根据与由所述控制器输出的插值位置数据相对应的位置,从所述系数表中输出所述第n邻近的每一个所对应的系数数据;缓冲机构,用于存储所述线上的多个像素数据;以及,
运算机构,用于对由所述缓冲机构所存储的多个像素数据的每一个,使用由所述系数数据输出机构输出的系数数据来执行运算。
在另一个方式中,构成为一种像素插值装置,其中包括获取机构,用于获取以规定间隔配置的多个现有像素的像素数据;指定机构,用于指定作为应插值的插值像素的位置的插值位置;像素数据输出机构,用于输出由所述获取机构获取到的多个像素数据之中、存在于由所述指定机构指定的插值位置的邻近的多个现有像素所对应的像素数据;存储机构,用于预存储与插值像素和现有像素的位置关系相对应的多个系数数据;系数数据输出机构,用于输出所述存储机构中所存储的多个系数数据之中、与由所述像素数据输出机构输出的多个现有像素相对应的多个系数数据;以及,生成机构,用于通过基于由所述像素数据输出机构输出的多个像素数据、以及由所述系数数据输出机构输出的多个系数数据的规定运算,来生成由所述指定机构指定的插值位置的像素数据,所述存储机构所存储的系数数据,是现有像素相对插值像素位于第一方向的情况下的系数数据、和现有像素相对插值像素位于与所述第一方向相反的第二方向的情况下的系数数据之中的任何一方,所述系数数据输出机构,根据所述存储机构中所存储的系数数据,输出现有像素相对于插值像素位于第一方向上的情况下的系数数据、和现有像素相对于插值像素位于与所述第一方向相反的第二方向上的情况下的系数数据。


图1是表示安装有本发明的实施方式中的像素插值装置的照相机装置1的结构的框图。
图2是表示本实施方式中的成为放大插值处理的对象的栅格状存在的多个现有像素的图。
图3是表示本实施方式中的用于说明现有像素所对应的系数的函数曲线的图。
图4是表示本实施方式中的放大插值部17a的结构的框图。
图5是表示本实施方式中的用256标准化的情况下的第一~第三邻近的像素数据所对应的放大系数数据的一个示例的图。
图6是表示本实施方式中的放大系数表54a、56a中所存储的系数数据的结构的示例的图。
图中1-照相机装置,11-摄影透镜,10-电机(M),12-CCD,13-定时发生器(TG),14-垂直驱动器,15-采样/保持电路(S/H),16-A/D转换器,17-彩色处理电路,18-DMA控制器,20-DRAM接口(I/F),21-DRAM,25-控制部,26-VRAM控制器,27-VRAM,28-数字视频编码器,29-显示部,30-图像处理部,32-存储卡,33-内置存储器,36-放大插值部,37-键输入部,40-声音处理部,41-闪光灯驱动部,42-拾音器部(MIC),43-扬声器部(SP),45-闪光灯发光部,50-放大器控制器,52-棒式缓冲部,54-水平LUT部,54a-放大系数表,56-垂直LUT部,56a-放大系数表,601~605、820~825-乘法器,620~625、840~845-寄存器,64、66、68、70、86、88、90、92-加法器,72、74、94、96-寄存器,76、98-减法器。
具体实施例方式
下面,参照附图来对本发明的实施方式进行说明。
图1是表示安装有本发明的实施方式中的像素插值(interpolation)装置的照相机装置1的结构的框图。
在图1中所示的照相机装置1中,在作为基本模式的拍摄模式中,在透镜光学系中,通过电机(M)10的驱动,拍摄透镜11被移动到光圈位置和常规拍摄所对应的透镜位置上。作为配置在拍摄透镜11的拍摄光轴后方的摄像元件的CCD(Charge Coupled Device电荷耦合器件)12,利用定时发生器(TG)13、垂直驱动器14来进行扫描驱动,并将与每个规定周期成像出的光学图像相对应的光电变换输出,输出成一幅画面。
该光电变换输出,在模拟值的信号状态下对RGB的各原色成分的每一个进行适当增益调节之后,利用采样/保持(S/H)电路15来进行采样保持,并利用A/D转换器16转换成数字数据,然后利用彩色处理电路17来执行包含像素插值处理和γ校正处理的彩色处理,生成数字值的亮度信号Y和色差信号Cb、Cr,并输出给DMA(Direct Memory Access直接存储器存取)控制器18。
另外,在彩色处理电路17中,设有相当于本实施方式中的像素插值装置的放大插值部17a。放大插值部17a,根据与来自控制部25的数字缩放操作相伴的控制,实施用于放大图像的放大插值处理。
DMA控制器18,利用来自彩色处理电路17的合成同步信号、存储器写入允许信号以及时钟信号,来将该彩色处理电路17所输出的亮度信号Y和色差信号Cb、Cr,一次写入到DMA控制器18内部的缓冲器中,并且经DRAM接口(I/F)20对用作缓存的DRAM 21实施DMA传送。
控制部25,由CPU、固定存储由该CPU执行的动作程序和数据等的ROM、以及作为工作存储器使用的RAM等构成,并负责该照相机装置1整体的控制动作。
控制部25,在完成将亮度和色差信号传送给DRAM 21的DMA传送后,经DRMA接口20从DRAM 21读出该亮度和色差信号之外,并通过VRAM控制器26写入到VRAM 27中。
数字视频编码器28,通过VRAM控制器26从VRAM 27中定期读出亮度和色差信号,并基于这些数据生成视频信号后输出至显示部29。
显示部29,在拍摄模式时充当监视显示部(电子取景器),通过根据来自数字视频编码器28的视频信号进行显示,来对基于此时间点从VRAM控制器26获取的图像信息的图像(全通图像(through image))实时地进行显示。
在显示部29中的全通图像被实时显示的显示状态下,在拍摄静态图像的时刻操作键输入部37的快门键后,产生触发信号。
控制部25,根据该触发信号于此时间点停止CCD 12的驱动之后,执行自动曝光处理来获得合适的曝光值,并且控制透镜光学系的光圈和CCD12的曝光时间来重新实施拍摄。
由此新得到的1帧的像素数据被DMA传送并写入到DRAM 21中,之后控制部25读出写入到DRAM 21中的1帧像素数据,写入到图像处理部30。图像处理部30,通过JPEG(Joint Photographic Experts Group运动图像专家组)对像素数据进行编码。
编码后的像素数据,被写入到作为照相机装置1的记录媒体可自由拆装地安装着的存储卡32、或者在未安装存储卡32的情况下固定内置的内置存储器33中。
然后,伴随着往存储卡32或内置存储器33写入1帧的像素数据的结束,控制部25恢复驱动,使来自CCD 12的经DRAM 21的全通图像,在显示部29上监视显示。
此外,控制部25上,连接有键输入部37、声音处理部40、闪光灯驱动部41。
键输入部37,由电源键、快门键、模式切换器、菜单键、选择键、缩放按钮及十字键(光标键)等构成,与这些键操作相伴的信号,被直接送出至控制部25。
声音处理部40,具备PCM音源等的音源电路,在录制声音时,将从拾音器部(MIC)42输入的声音信号数字化,按照规定的数据文件格式、例如MP3(MPEG-1 Audio Layer-3)标准实施数据压缩来制成声音数字文件,并送出至存储卡32或内置存储器33,另一方面在再生声音时,将从存储卡32或内置存储器33送来的声音数据文件解压缩后模拟化,并且驱动扬声器部(SP)43来扩声播放。
再有声音处理部40,根据来自控制部25的控制,产生各种动作声音,例如与快门键操作相伴的模拟的快门声、与其它键操作相伴的嘀嘀声等,并且由扬声器部43扩声播放。
闪光灯驱动部41,在拍摄静止图像时,给未示出的闪光灯用大电容量电容器充电后,根据来自控制部25的控制,对闪光灯发光部45进行闪光驱动。
接下来,对本实施方式中的像素插值装置(放大插值部17a)进行说明。
在对本实施方式中的像素插值装置的具体电路结构(如图4中所示)进行说明之前,先对由放大插值部17a所执行的放大插值处理的方法进行说明。这里,例如,以对栅格状存在的多个现有像素、例如图2中所示的6×6的现有像素中的某一点(插值点)进行插值为例来说明。
作为6×6的现有像素的插值运算的顺序如下,首先根据水平或垂直方向的公共的直线上存在的6个现有像素运算出1点来进行插值,反复执行6次该步骤来生成6个插值像素,同样根据该垂直或水平方向的直线上的6个插值像素运算出1点来进行插值。再有,虽然在图2中,以将同一条线上存在的多个像素作为对象为例进行了说明,但是无需全部像素的位置都在同一条线上。也就是说,使用能够视为存在于公共的1条直线上的多个像素、例如被三角排列的像素来进行插值的情况,也能够应用。以下为了便于说明,以使用存在于同一条线上的像素的情况为对象。在图2中,首先基于存在于水平方向的同一条线上的6个现有像素P0…P5,生成同一条线上的插值位置上的像素Pt0。同样,基于排列在各水平方向的同一条线上的6个现有像素,生成像素Pt1~Pt5。接着,基于存在于垂直方向的同一条线上的6个现有像素Pt1~Pt5,运算出1点的像素Pt来进行插值。
一般来讲,来自连续图像的插值,可以考虑由连续图像和矩形函数(RECT函数)的卷积来得到,矩形函数的傅立叶变换为sinc(t)=sin(πt)/πt。
正确的是,由于运算所使用的现有像素的范围被限定以及运算复杂,因而通常的情况是使用近似式或查找表(LUT)。
插值时经常使用的、基于使用采样定理的函数的插值系数,由下式来表示。
f(t)=sin(πt)/πt此外,为了用现有像素的范围(即,卷积中使用的像素的范围/数量)进行运算,如前式所示,一般情况下不使用-∞到∞的现有像素的数值,通常是通过与有限个现有像素的大小相称的窗口函数等,来将滤波特性限制在有限范围内。
例如,基于lanczos 31obbed window函数的插值系数,由下式来表示。
f(t)={sin(πt)/πt}×{sin(πt/3)/(πt/3)}其中,-3≤t≤3
当将6点的现有像素设为P0…P5、将插值像素设为Pt时,Pt的值由下式来表示。
Pt=∑f(tn)Pn其中,tn是从现有像素Pn到Pt的距离。
在此,将P2、P3设为第一邻近像素,将P1、P4设为第二邻近像素,将P0、P5设为第三邻近像素。
卷积运算电路,一般通过使系数具备通用性,经常用于LPF和HPF等各种各样的滤波运算中,但是在采样定理所使用的上述函数等、仅考虑放大插值系数的情况下,插值系数的值具备某种程度上由t确定的特性。采样定理中的sin(πt)/πt的曲线图、以及现有像素和插值像素的关系,具有下述特征1~3。
特征1,第n邻近像素中的系数,可以使用相同区间的数值(例如,像素P2、P3所对应的系数)。
特征2,若n=奇数,则第n邻近像素中的系数为正;若n=偶数,第n邻近像素中的系数为负。
特征3,n的数值越大,系数值越小。
下面,分别对各个特征1~3进行说明。首先,对特征1进行说明。
插值像素和现有像素的位置关系,当P2Pt距离为t时,依次为-(t+2)、-(t+1)、-t、1-t、2-t、3-t。此时,第n邻近像素的位置为-(t-n-1)和n-t,根据sinc函数f(t)=sin(πt)/πt,此时的放大系数为,f(-(t-n-1))=sin(-(t-n-1)π)/(-(t-n-1)π)=sin((t-n-1)π)/(-(t-n-1)π)这里,若设t’=H,则上式,=sin((n-t’)π)/(n-t’)π=f(n-t’)根据0≤t≤1,t’=1-t,所以0≤t’≤1。
第n邻近的插值系数,可以用相同区间的数值来进行覆盖(根据函数为偶函数、且现有像素的间隔相同可以直接导出,另外即使在限定于基于窗口函数等的有限范围内的函数中,根据窗口函数也是偶函数,在上述的lanczos中也可以导出)。
接下来,对特征2进行说明。
第n邻近的区域,为n-1≤tn≤n和-n≤tn≤1-n。
由于函数为偶函数,因此如果仅以n-1≤tn≤n为例,则对于第n邻近的区间而言,函数sin(πt)为f(tn)=sin(πtn)/πtnf(tn)=0的解,是当tn=0以外的整数时得到的。此外,f’(tn)=(π2cos(πtn)-sin(πtn))/π2tn2由此,f(tn)=0时的斜率,由于当n为奇数时,tn=n-1,且f’(n-1)≥0(其中0为tn=0时的结果)tn=n,且f’(n-1)<0当n为偶数时,tn=n-1,且f’(n-1)<0tn=n,且f’(n-1)>0因此在第n邻近的区间内,若n=奇数则该斜率为正,若为偶数则该斜率为负。
图3(a)中,表示sinc函数的曲线图。此外,在图3(b)中表示的是,基于图3(a)中所示的函数的、插值位置(像素Pt)和现有像素位置(像素P0~P5)以及各现有像素所对应的系数的关系。各现有像素所对应的系数(与像素值相乘的值)为f(t)的值。
如图3(b)所示,第一邻近的像素P2、P3和第三邻近的像素P0、P5所对应的系数的值为正,另外第二邻近的像素P1、P4所对应的系数的值为负。
再者,虽然在图3中系数的值被用1标准化,但在电路上使用标准化为例如256的值等,并将各现有像素与系数的乘积之和用256分割。
对特征3进行说明。
函数f(t)的分母的函数为周期函数,此外由于对于1/πtn而言,t越大越接近0,因此作为函数f(t),t的绝对值越大其值逐渐收敛为0。
如图3(a)、(b)所示,现有像素Pn到Pt的距离越大,其值越小。
根据这三个特征1、2、3,通过将与放大系数相关的电路结构如下述那样进行限定,能够实现电路规模的缩小。
结构1,不将第n邻近像素所对应的多个系数数据,分别存储在单独的表中。
结构2,第n邻近像素中的系数,如下来进行卷积运算,即若n=奇数则作为正值处理,若n=偶数则作为负值处理。由此,可以将系数数据全部作为正数存储在表中。
结构3,n的数值越大,表的寄存器的位宽越小。
此外,由于在电路设计中,放大系数不能用小数点来保存,因此例如用256等实施标准化。标准化的值,考虑到通过位移位(bit shift)来实施除法而使用2的幂的值。
此时,在插值像素位置,是与现有像素位置相同、或者是视为相同的位置(尽可能邻近的位置)的情况下,为了获得与最邻近的现有像素同等的值,放大系数取256(标准化后的值)。例如,若标准化的值为256,仅为了256而增加系数的位宽是低效的。另外,将电路设计为,与插值位置较近的第一邻近像素所对应的系数数据为0时输出与使用256的运算同等的运算结果,较远的第一邻近像素所对应的系数数据为0时取0,使得当采用通过改变表中所存储的系数数据的值来改变放大特性的结构时,能够实施采用最邻近法的放大处理。由此,可以避免存储放大系数数据的表的位宽增加,同时能够得到所期望的放大插值系数。
接下来,对本实施方式中的考虑了上述结构1~3的像素插值装置(放大插值部17a)的详细结构进行说明。图4是表示本实施方式中的放大插值部17a的结构的框图。放大插值部17a,具有如下结构,即例如基于6×6的方形配置的现有像素数据来生成插值位置的像素数据。
在图4中,放大器控制器50,还基于6×6的现有像素数据来控制插值,并将表示水平方向的插值位置的水平插值位置数据输出给水平LUT(查找表)部54,将表示垂直方向的插值位置的垂直插值位置数据输出给垂直LUT(查找表)部56。
棒式(stick)缓冲部52,对像素数据进行缓存,将输入的像素数据在垂直方向上保持的6个缓冲器被在水平方向上排列。通过像素数据被缓存于棒式缓冲部52中,图2中所示的水平方向的6个像素数据P0…P5被输出。
在水平LUT部54中设置有放大系数表54a,存储用于执行棒式缓冲部52中所缓存的像素数据所对应的、水平方向的插值运算的系数数据。水平LUT部54,从放大器控制器50输入水平插值位置数据,并输出该数据所表示的插值位置起的各个邻近位置的像素数据P0…P5所对应的系数数据(放大系数)。水平LUT部54,根据选取的是放大系数表54a中的系数数据的结构、即后述的图6(a)~(c)的任何一个结构的哪一个,来选择并分割放大系数表54a中所存储的数据,输出各个邻近位置所对应的系数数据。
乘法器600~605,分别将从棒式缓冲部52输出的水平方向的像素数据P0…P5、与从水平LUT部54输出的各个邻近位置的系数数据相乘。例如,乘法器600,对来自棒式缓冲部52的像素数据P0,使用该像素位置所对应的系数数据(P0放大系数)来执行乘法。
寄存器620~625,分别存储作为由乘法器600~605得到的运算结果的像素数据。例如,在寄存器600中,保存由乘法器600得到的运算结果。
加法器64,对寄存器620、625中所保存的数据做加法,加法器66对寄存器621、623中所保存的数据做加法,加法器68对寄存器622、623中所保存的数据做加法。进而,加法器70对由加法器64、68得到的运算结果做加法。也就是说,对寄存器620~625中所保存的乘法结果,由加法器64、70计算出存在于插值位置起第奇数个位置上的像素数据所对应的运算结果的总和,由加法器66计算出存在于第偶数个位置上的像素数据所对应的运算结果的总和。
寄存器72,保存由加法器70得到的运算结果,即位于插值位置起第奇数个(第一邻近、第三邻近)位置上的像素数据所对应的运算结果的总和。寄存器74,保存由加法器66得到的运算结果,即位于插值位置起第偶数个(第二邻近)位置上的像素数据所对应的运算结果的总和。
减法器76,从寄存器72中所保存的位于插值位置起第奇数个位置的像素数据所对应的运算结果的总和中,减去寄存器74中所保存的位于插值位置起第偶数个位置的像素数据所对应的运算结果的总和。
也就是说,利用乘法器600~605、加法器64、66、68、70、以及减法器76来进行运算,其中对于插值位置起第n邻近的像素数据而言,在n为偶数时将运算结果作为负值,在n为奇数时将运算结果作为正值。从而,即使从水平LUT部54输出的系数数据全部都为正值,也依旧能得到包含令系数为负的值的乘法结果。
由此,能够基于位于水平方向的同一条线上的6个像素数据P0~P5和水平LUT部54中所存储的系数数据,生成插值位置上的像素数据Pt。
缓冲部80,具有保存由减法器76得到的运算结果(水平方向的插值位置上的像素数据)的寄存器800~805。缓冲部80,依次保存由减法器76得到的减法结果,通过保存6个部分的像素数据,来将对各水平方向上的插值位置求出的、位于垂直方向的同一条线上的像素数据Pt0~Pt5,保存在寄存器800~805中。
在垂直LUT部56中设有放大系数表56a,存储用于执行缓冲部80中所保存的像素数据所对应的、垂直方向的插值运算的系数数据。垂直LUT部56,从放大器控制器50输入垂直插值位置数据,并输出该数据所表示的插值位置起的邻近的像素数据Pt1~Pt6所对应的系数数据(放大系数)。
乘法器820~825,分别将从缓冲部80的寄存器800~805输出的垂直方向的像素数据Pt0…Pt5、和从垂直LUT部56输出的各邻近位置的系数数据相乘。例如,乘法器820,对来自缓冲部80的寄存器800的像素数据Pt0,使用该像素位置所对应的系数数据(P0放大系数)来执行乘法。
寄存器840~845,分别存储作为由乘法器820~825得到的运算结果的像素数据。例如,在寄存器840中,保存由乘法器820得到的运算结果。
加法器86,对寄存器840、845中所保存的数据做加法,加法器88对寄存器841、843中所保存的数据做加法,加法器90对寄存器842、843中所保存的数据做加法。进而,加法器92,对由加法器86、90得到的运算结果做加法。也就是说,对寄存器840~845中所保存的乘法结果,由加法器90、92计算出存在于插值位置起第奇数个位置上的像素数据所对应的运算结果的总和,由加法器88计算出存在于第偶数个位置上的像素数据所对应的运算结果的总和。
寄存器94,保存由加法器92得到的运算结果,即位于插值位置起第奇数个(第一邻近、第三邻近)位置上的像素数据所对应的运算结果的总和。寄存器96,保存由加法器90得到的运算结果,即位于插值位置起第偶数个(第二邻近)位置上的像素数据所对应的运算结果的总和。
减法器98,从寄存器94中所保存的位于插值位置起第奇数个位置的像素数据所对应的运算结果的总和中,减去寄存器96中所保存的位于插值位置起第偶数个位置的像素数据所对应的运算结果的总和。
也就是说,利用乘法器800~825、加法器86、88、90、92、以及减法器98来进行运算,其中对于插值位置起第n邻近的像素数据而言,在n为偶数时将运算结果作为负值,在n为奇数时将运算结果作为正值。从而,即使从垂直LUT部56输出的系数数据全部都为正值,也依旧能得到包含令系数为负的值的乘法结果。
由此,能够基于位于垂直方向的同一条线上的6个像素数据Pt0~Pt5和垂直LUT部56中所存储的系数数据,生成插值位置上的像素数据P的值。
接下来,对放大系数表54a及放大系数表56a中所保存的系数数据的具体示例进行说明。
图5(a)中表示的是,用256标准化时的第一至第三邻近的像素数据所对应的放大系数数据的一个示例。图5(a)中,将像素间分成8份作为插值位置,其中任一位置由水平插值位置数据或垂直插值位置数据所指定,在插值位置(t)为0、0.125、0.25、0.375、…、0.875的位置上,分别设定有各邻近像素P0~P5所对应的系数数据。本实施方式中所使用的系数数据,全部都为正值。
再者,虽然在图5所示的示例中,表示的是分成8份的情况,但是与分辨率(分割数)相应的数量的系数数据,对第n邻近的各个像素来设定。
再者,对于插值位置0上的像素位置P2所对应的系数数据0,表示将像素位置P2的像素数据作为运算结果输出。
图5(b)中表示的是,将图5(a)中所示的用256标准化后的值,用2的幂的值表示的放大系数数据的一个例子。如图5(b)所示,固定为考虑到各个第n邻近的系数数据的大小的位宽。
也就是说,将相当于第一邻近的像素位置P2、P3所对应的系数数据用8位表示,将相当于第二邻近的像素位置P1、P4所对应的系数数据用6位表示,将相当于第三邻近的像素位置P0、P5所对应的系数数据用4位表示。即,通过使离插值位置越远的像素位置所对应的系数数据位宽越小,来减小对插值的影响,同时减小水平LUT部54(放大系数表54a)以及垂直LUT部56(放大系数表56a)的电路规模。
图6(a)中表示的是,基于图5(b)中所示的表的、本实施方式中的放大系数表54a及放大系数表56a中所保存的系数数据的一个示例。
图6(a)中例如构成为将第一邻近的像素位置P2、P3所对应的2个系数数据,作为共用的1个系数数据来存储。在图6(a)中所示的例子当中,将像素位置P2所对应的系数数据作为高位,将像素位置P3所对应的系数数据作为低位(在图中用斜体字表示),排起来作为1个数据。第一邻近的2个像素所对应的系数数据,通过作为1个系数数据,使位宽成为16位。
由于第n邻近的2个像素位置(例如,P2、P3)的系数数据的组合,对每个插值位置只有1个,因而如果插值位置被确定,就可以读出1个系数数据。而且,当像素位置P2和插值位置Pt之间的距离为t时,对于像素位置P3可使用1-t的系数数据。
同样,对于第二邻近(像素位置P1、P4)、第三邻近(像素位置P0、P5),也将各个像素位置所对应的系数数据排成1个来作为1个系数数据存储在表中。从而,第二邻近的2个像素所对应的系数数据的位宽为12位,第三邻近的2个像素所对应的系数数据的位宽为8位。
在这种情况下,水平LUT部54,将与来自放大器控制器50的水平插值位置数据对应的LUT用地址所表示的各邻近的像素所对应的系数数据,从放大系数表54a中读出,并分别分割后输出。
例如,读出图6(a)的LUT用地址2所表示的像素位置P2P3所对应的1个系数数据“1110010001000101”,将高位“11100100”作为像素位置P2的系数数据输出至乘法器602,将低位“01000101”作为像素位置P3的系数数据输出至乘法器603。同样,对于像素位置P0P5、像素位置P1P4,也分别读出1个系数数据,根据各像素位置分割后分别输出至乘法器600、601、604、605。
再者,在垂直LUT部56中,也与前面所述的一样,从放大系数表56a读出系数数据,将1个系数数据分割后输出至乘法器820~825,这里省略了对它的详细说明。
由此,如图6(a)所示,没有单独存储第n邻近的多个像素数据的每一个所对应的系数数据,而是组合成1个来存储在放大系数表54a、56a当中,通过这样,对于第n邻近的2个像素位置而言可以共用系数数据。因此,在基于6×6的现有像素执行插值的情况下,只要将与3个邻近位置相对应的系数数据存储在表中即可。
图6(b)表示的是,基于图6(a)中所示的系数数据,构成为可进一步缩小电路规模的表的一个示例的图。
图6(b)是这样一种结构,即在图6(a)中所示的系数数据当中,将插值位置到中心(插值位置t=0.5)为止的系数数据,存储在放大系数表54a和放大系数表56a中。
由于第n邻近的像素数据所对应的2个系数数据,其插值位置以第一邻近的现有像素为中心对称且相同(由于t=1-t’,因而t=0~0.5时的系数数据的组合与t’=0~0.5时的系数数据的组合相等),因此在放大系数表54a、56a中,只要存储插值位置分辨率的一半的值即可。
在这种情况下,水平LUT部54,将与来自放大器控制器50的水平插值位置数据相应的LUT用地址所表示的各邻近的像素所对应的系数数据,从放大系数表54a中读出,并分别分割后输出。对于用LUT用地址0~4读出的系数数据,与采用图6(a)中所示的表的情况相同。
此外,在水平插值位置数据表示插值位置0.625、0.75、0.875的情况(相当于图6(a)的LUT用地址5、6、7)下,根据插值位置从LUT用地址1、2、3的任何一个中读出1个系数数据。也就是说,在水平插值位置数据表示插值位置0.625的情况下读出LUT用地址3的系数数据,在表示插值位置0.75的情况下读出LUT用地址2的系数数据,在表示插值位置0.875的情况下读出LUT用地址1的系数数据。
例如,根据水平插值位置数据为插值位置0.75,读出LUT用地址2表示的像素位置P2P3所对应的1个系数数据“1110010001000101”。在这种情况下,系数数据的分配与插值位置为0.25的情况不同,选择低位“01000101”作为像素位置P2的系数数据输出至乘法器602,选择高位“11100100”作为像素位置P3的系数数据输出至乘法器603。同样,对于像素位置P0P5、像素位置P1P4,也分别读出1个系数数据,并根据各个像素位置来分割各像素所对应的系数数据,再选择分割后的系数数据,并分别输出至乘法器600、601、604、605。
再者,在垂直LUT部56中,也同前面所述的一样,从放大系数表56a中读出系数数据,分割1个系数数据,再在插值位置为0.625、0.75、0.875的情况下将分割的系数数据分配(交换高位与低位)并输出至乘法器820~825,这里省略了对它的详细说明。
由此,如图6(b)所示,通过令表存储插值位置到中心为止的系数数据,可以削减放大系数表54a、56a中所存储的系数数据量,另外能够简化水平LUT部54和垂直LUT部56的控制电路并缩小电路规模。
图6(c)表示的是,基于图6(b)中所示的系数数据,构成为可进一步缩小电路规模的表的一个示例的图。
图6(c)是这样一种结构,即将图6(b)中所示的各邻近位置所对应的系数数据,按照每个插值位置合并起来作为1个系数数据,存储在放大系数表54a和放大系数表56a中。
在这种情况下,水平LUT部54,将与来自放大器控制器50的水平插值位置数据相应的LUT用地址所表示的各邻近的像素所对应的1个系数数据,从放大系数表54a中读出,并分割为与各邻近位置相应的分别的系数数据后输出。
再者,在水平插值位置数据表示插值位置为0.625、0.75、0.875的情况(相当于图6(a)的LUT用地址5、6、7)下,同采用图6(b)的表的情况相同,根据插值位置从LUT用地址1、2、3任何一个之中读出1个系数数据。
例如,根据水平插值位置数据为插值位置0.75,读出LUT用地址2所表示的像素位置的1个系数数据,即将图6(b)中所示的像素位置P0P5、P1P4、P2P3的每一个所对应的分别的系数数据合并后得到的系数数据“100000101000100100011110010001000101”。
接着,按照像素位置P0P5、P1P4、P2P3的每一个所对应的各个位宽进行分割。也就是说,将高位起8位分割作为第三邻近的像素所对应的系数数据,将高位起12位分割作为第二邻近的像素所对应的系数数据,将高位起16位分割作为第一邻近的像素所对应的系数数据。
再分别分割成各像素位置所对应的系数数据,同采用图6(b)的表的情况同样地来分配系数数据,并输出至乘法器600~605。
再者,在垂直LUT部56中,也同前面所述的一样,从放大系数表56a中读出系数数据,将1个系数数据按照每个像素位置P0P5、P1P4、P2P3分割,再按照每个像素位置分割,并分别输出至乘法器820~825。
由此,如图6(c)所示,通过令表存储插值位置(LUT用地址)所对应的1个系数数据,能够削减放大系数表54a、56a中所存储的系数数据量,还能够削减用于读出某个插值位置所对应的系数数据的地址,并且能够实现电路规模的缩小。
再者,在上述实施方式中,尽管以基于sinc函数或有限范围地改变特性后的sinc函数来设定放大系数的情况为例进行了说明,但只要放大系数的函数的特征相同,也可以将sinc函数以外的其他函数作为对象。例如,也可以应用于采用双线性(线性插值)、双3次样条插值、双三次(bicubic)等的情况。
此外,虽然在前述的说明中,将从水平LUT部54和垂直LUT部56输出的系数数据全部作为正值,并对水平方向利用加法器64、66、68、70及减法器76、对垂直方向利用加法器86、88、90、92及减法器98,来实施将对应于第偶数个像素的运算结果作为负值、将对应于第奇数个像素的运算结果作为正值的运算,但通过构成为从水平LUT部54和垂直LUT部56给系数数据附加符号后输出系数数据,能够简化运算电路的结构。在这种情况下,可以在放大系数表54a、56a中存储正值的系数数据,并仅对第偶数个像素所对应的系数数据附加符号后输出。由此,仅将各乘法器得到的运算结果相加即可,能够简化电路结构。
此外,虽然在图1中,以将相当于本发明的像素插值装置的放大插值部17a设置在彩色处理电路17中的情况为例进行了说明,但也可构成为将其安装在执行图像的放大处理的其它模块等中。
此外,虽然在前述的说明中,以执行用于放大图像的放大插值处理的情况为例进行了说明,但也可应用于缩小图像的缩小插值处理。
再有,上述实施方式中包含各种阶段的发明,可通过适当组合公开的多个结构要素获取各种的发明。例如,从实施方式中所示的全部结构要素之中除去几个结构要素,也可以解决背景技术中所述的至少一个课题,并获得发明内容中所述的至少一个效果,这种情况下,可将除去该结构要素得到的结构作为发明获取。
权利要求
1.一种照相机装置,包括拍摄机构,用于拍摄被摄物体并取得图像数据;和像素插值机构,用于基于由所述拍摄机构获得的图像数据的存在于共用的线上的多个点的像素数据,来生成所述线上的插值位置的像素数据,还包括存储机构,用于存储对第n邻近上存在的多个像素数据共用的系数数据,所述第n邻近从插值位置起在所述线上以不同方向分别接近第n个像素,所述像素插值机构,通过对从所述线上的所述插值位置起第n邻近的多个像素数据,使用所述存储机构中所存储的系数数据执行运算,来生成所述插值位置的像素数据。
2.根据权利要求1所述的照相机装置,其特征在于所述存储机构中所存储的系数数据,对于越远离于所述插值位置的像素数据其位数越小。
3.根据权利要求1所述的照相机装置,其特征在于所述存储机构中所存储的系数数据,是将第n邻近的多个像素数据的每一个所对应的系数数据组合得到的,所述像素插值机构,将所述存储机构中所存储的系数数据分割,并对第n邻近的多个像素数据的每一个执行运算。
4.根据权利要求1所述的照相机装置,其特征在于将所述存储机构中所存储的系数数据作为正值,所述像素插值机构,对于所述插值位置起第n邻近的像素数据,当n为偶数时将运算结果作为负值,当n为奇数时将运算结果作为正值,来执行运算。
5.根据权利要求1所述的照相机装置,其特征在于所述存储机构中所存储的系数数据,是将作为生成插值位置的像素数据的基础的多个像素数据的每一个所对应的系数数据,归纳为一个所得到的值。
6.根据权利要求1所述的照相机装置,其特征在于所述像素插值机构,在所述存储机构中所存储的第n邻近的像素数据所对应的系数数据为0的情况下,以使作为运算结果的值与所述像素数据相同的方式来执行运算。
7.根据权利要求1所述的照相机装置,其特征在于所述存储机构中所存储的系数数据,表示基于规定的偶函数的值。
8.一种像素插值装置,其基于共用的线上存在的多个点的像素数据,来生成所述线上的插值位置的像素数据,具备控制器,用于输出表示插值位置的插值位置数据;系数表,用于存储与可取作插值位置的各位置相应的系数数据,该系数数据对于插值位置起在所述线上以不同方向分别接近于第n个的第n邻近上所存在的多个像素数据共用;系数数据输出机构,用于根据与由所述控制器输出的插值位置数据相对应的位置,从所述系数表中输出所述第n邻近的每一个所对应的系数数据;缓冲机构,用于存储所述线上的多个像素数据;以及,运算机构,用于对由所述缓冲机构所存储的多个像素数据的每一个,使用由所述系数数据输出机构输出的系数数据来执行运算。
9.根据权利要求8所述的像素插值装置,其特征在于所述运算机构包括乘法机构,用于对由所述缓冲机构存储的多个像素数据的每一个,使用由所述系数数据输出机构输出的系数数据来执行乘法;以及,加减法机构,用于从由所述乘法机构得到的位于所述插值位置起第奇数个的像素数据所对应的运算结果的总和中,减去位于第偶数个的像素数据所对应的运算结果的总和。
10.一种照相机装置,其内置有所述像素插值装置,具备用于拍摄被摄物体来获得图像数据的拍摄机构,在对由该拍摄机构获得的图像数据进行放大或缩小的情况下,通过利用所述像素插值装置实施像素插值,来存储实施过放大或缩小和像素插值之后的图像数据。
11.一种像素插值装置,其中包括获取机构,用于获取以规定间隔配置的多个现有像素的像素数据;指定机构,用于指定作为应插值的插值像素的位置的插值位置;像素数据输出机构,用于输出由所述获取机构获取到的多个像素数据之中、存在于由所述指定机构指定的插值位置的邻近的多个现有像素所对应的像素数据;存储机构,用于预存储与插值像素和现有像素的位置关系相对应的多个系数数据;系数数据输出机构,用于输出所述存储机构中所存储的多个系数数据之中、与由所述像素数据输出机构输出的多个现有像素相对应的多个系数数据;以及,生成机构,用于通过基于由所述像素数据输出机构输出的多个像素数据、以及由所述系数数据输出机构输出的多个系数数据的规定运算,来生成由所述指定机构指定的插值位置的像素数据,所述存储机构所存储的系数数据,是现有像素相对插值像素位于第一方向的情况下的系数数据、和现有像素相对插值像素位于与所述第一方向相反的第二方向的情况下的系数数据之中的任何一方,所述系数数据输出机构,根据所述存储机构中所存储的系数数据,输出现有像素相对于插值像素位于第一方向上的情况下的系数数据、和现有像素相对于插值像素位于与所述第一方向相反的第二方向上的情况下的系数数据。
12.根据权利要求10所述的像素插值装置,其特征在于所述存储机构,存储省略了符号的系数数据;所述系数数据输出机构,根据相对于插值像素各现有像素为第奇数个还是第偶数个,来给所述存储机构中所存储的系数数据附加上符号后进行输出。
13.一种照相机装置,其内置有所述像素插值装置,其中具备用于拍摄被摄物体并获得图像数据的拍摄机构;当对由该拍摄机构获取到的图像数据进行放大或缩小时,通过用所述像素插值装置实施像素插值,来存储实施过放大或缩小和像素插值之后的图像数据。
全文摘要
像素插值装置,对水平方向和垂直方向,分别根据棒式缓冲部(52)和缓冲部(80)中所保存的存在于同一条线上的多个点的像素数据,来生成插值位置的像素数据。在水平LUT部(54)的放大系数表(54a)以及垂直LUT部(56)的放大系数表(56a)中,存储对于存在于插值位置起第n邻近的多个像素数据而言共用的系数数据。水平LUT部(54)和垂直LUT部(56),根据从放大器控制器(50)指示的插值位置,基于放大系数表(54a、56a)中所存储的系数数据,输出与第n邻近位置(P0、P1、P2、P3、P4、P5)的多个像素数据相对应的系数数据,并且执行与多个点的像素数据的每一个的运算。
文档编号H04N101/00GK1835556SQ20051012175
公开日2006年9月20日 申请日期2005年12月26日 优先权日2004年12月27日
发明者清水博 申请人:卡西欧计算机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1