掌桥专利:专业的专利平台
掌桥专利
首页

成像装置

文献发布时间:2023-06-19 18:35:48


成像装置

技术领域

本专利文档中公开的技术和实现总体上涉及能够通过感测光生成图像数据的成像装置。

背景技术

图像感测装置是通过使用对光起反应的光敏半导体材料将光转换为电信号,来捕获光学图像的装置。随着汽车、医疗、计算机和通信行业的发展,在诸如智能电话、数码相机、游戏机、IoT(物联网)、机器人、安防摄像头和医疗微型相机之类的各种领域中,对高性能图像感测装置的需求不断增加。

图像感测装置大致可以分为CCD(Charge Coupled Device:电荷耦合器件)图像感测装置和CMOS(Complementary Metal Oxide Semiconductor:互补金属氧化物半导体)图像感测装置。CCD图像感测装置提供更好的图像质量,但与CMOS图像感测装置相比,它们往往消耗更多的电力并且更大。CMOS图像感测装置比CCD图像感测装置尺寸更小且消耗更少的电力。此外,使用CMOS制造技术来制造CMOS传感器,因此可以将光敏元件和其它信号处理电路集成到单个芯片中,使得能够以较低成本生产小型化的图像感测装置。出于这些原因,正在为包括移动装置在内的许多应用开发CMOS图像感测装置。

发明内容

本公开技术的各种实施方式涉及能够校正透镜失真的成像装置。

根据所公开技术的一个实施方式,一种成像装置可以包括:图像感测单元,其被构造为包括图像感测像素,图像感测像素可操作为感测从场景接收的入射光并生成携带场景的图像信息的图像数据;透镜模块,其被定位为将来自场景的入射光投射到图像感测单元的图像感测像素上;行缓冲器(line buffer),其被联接以与图像感测单元通信,并且被配置为存储从图像感测单元接收的图像数据;光学失真校正器(ODC),其被配置为基于行缓冲器中存储的图像数据的输入像素坐标执行针对输出像素坐标的透镜失真校正,以校正由透镜模块引起的失真;以及行缓冲器控制器,其联接至行缓冲器,并且被配置为根据输出像素坐标控制图像数据从行缓冲器读取到光学失真校正器的读取速度。

根据所公开技术的另一实施方式,一种成像装置可以包括:行缓冲器,其被配置为存储通过感测入射光所生成的图像数据;光学失真校正器(ODC),其被配置为接收来自行缓冲器的图像数据并执行针对输出像素坐标的透镜失真校正;以及行缓冲器控制器,其被配置为基于对应于包括输出像素坐标的输出行的参考行,来控制从行缓冲器读取图像数据的读取速度。

应当理解,对所公开技术的前述概括描述和以下详细描述二者都是示例性和解释性的,并且旨在提供对所要求保护的本公开的进一步解释。

附图说明

参照结合附图考虑的以下详细描述,所公开技术的以上和其它特征以及有益方面将容易变得显而易见。

图1是例示了基于所公开技术的一些实现的成像系统的示例的框图。

图2是例示了图1所示的图像感测单元的示例的框图。

图3是例示了透镜失真校正的示例的概念图。

图4是例示了在透镜失真校正期间要参考的行的范围依据各像素的位置而变化的图。

图5是例示了根据透镜失真的一个示例的输出像素坐标与对应于输出像素坐标的像素的透镜失真校正所需的输入像素坐标之间的关系的曲线图。

图6是例示了在图5的曲线图中当以相对低的读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

图7是例示了在图5的曲线图中当以相对高的读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

图8中的(a)和图8中的(b)示出了例示用于调整行缓冲器的读取速度的方法的一个示例的图。

图9中的(a)和图9中的(b)示出了例示用于调整行缓冲器的读取速度的方法的另一示例的图。

图10是例示了根据透镜失真的另一示例的输出像素坐标与对应于输出像素坐标的像素的透镜失真校正所需的输入像素坐标之间的关系的曲线图。

图11是例示了具有与图7的容量和读取速度相同的容量和相同的读取速度的行缓冲器与图10的透镜失真之间的关系的曲线图。

图12是例示了在图10的曲线图中当以恒定读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

图13是例示了在图10的曲线图中当以可变读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

图14是例示了在以恒定读取速度读取图3所示的失真图像数据并且执行失真图像数据的透镜失真校正时所需的行缓冲器的容量的图。

图15是例示了在以可变读取速度读取图3所示的失真图像数据并且执行对失真图像数据的透镜失真校正时所需的行缓冲器的容量的图。

具体实施方式

本专利文档提供了能够通过感测光来生成图像数据的成像装置的实现和示例,其可以在构造中使用以基本上解决一个或更多个技术或工程问题并减轻在一些其它成像装置中遇到的限制或缺点。所公开技术的一些实现涉及能够校正透镜失真的成像装置。所公开的技术提供了可以通过改变行缓冲器的读取速度来使行缓冲器所需容量最小化的成像装置的各种实现。

现在将详细参考所公开技术的实施方式,其示例在附图中示出。尽可能地,将贯穿附图使用相同的附图标记来指代相同或相似的部件。尽管易于对本公开做出各种修改和替代形式,但其特定实施方式在附图中以示例方式示出。然而,本公开不应被解释为限于在此阐述的实施方式。

在下文中,将参照附图描述各种实施方式。然而,应当理解,所公开的技术不限于特定实施方式,而是包括实施方式的各种修改、等同物和/或替代物。所公开技术的实施方式可以提供通过所公开的技术能够直接或间接识别的各种效果。

图1是例示了基于所公开技术的一些实现的成像系统的示例的框图。图2是例示了图1所示的图像感测单元的示例的框图。图3是例示了透镜失真校正的示例的概念图。图4是例示了在透镜失真校正期间要参照的行的范围依据各像素的位置而变化的图。

参照图1,成像系统1可以是指例如用于拍摄静止图像的数码相机或用于拍摄运动图像的数码摄像机的装置。例如,成像装置10可以实现为数字单反(DSLR)相机、无反光镜相机或智能电话等。成像装置10可以包括具有透镜和图像拾取元件二者的装置,使得该装置可以捕捉(或拍摄)目标对象,并且从而可以创建目标对象的图像。

成像系统1可以包括成像装置10和主机装置20。

成像装置10可以包括图像感测单元100、定时控制器200、行缓冲器(line buffer)300、写入控制器400、包括读取控制器500和读取速度控制器800的行缓冲器读取控制器、光学失真校正器(ODC)600、失真校正值储存器700、图像信号处理器(ISP)900和输入/输出(I/O)接口1000。读取控制器500和读取速度控制器800可以统称为行缓冲器控制器。

图像感测单元100可以是用于将光信号转换为电信号的互补金属氧化物半导体图像传感器(CIS)。图像感测单元100可以由定时控制器200来控制诸如开/关、操作模式、操作定时、灵敏度等的整体操作。图像感测单元100可以基于定时控制器200的控制为行缓冲器300提供通过将光信号转换为电信号而获得的图像数据。

参照图2,图像感测单元100可以包括透镜模块110、像素阵列120、像素驱动电路130和像素读出电路140。

透镜模块110可以收集从场景图像接收的入射光,并且可以使收集到的光会聚到像素阵列120的像素上。透镜模块110可以包括与光轴对齐的多个透镜。透镜模块110可以具有预定曲率,使得像素阵列120可以感测对应于预定视野(FOV)的场景。然而,由于这种曲率,可能出现场景与由像素阵列120感测的帧的差异而引起的透镜失真。

像素阵列120可以包括布置成N行(其中N是2或更大的整数)和M列(其中M是2或更大的整数)的多个单位像素。在一个示例中,多个单位像素可以布置成包括行和列的二维(2D)像素阵列。在另一示例中,多个单位像素可以布置成三维像素阵列。

多个单位像素可以以单位像素或像素组为基础将光信号转换为电信号,其中像素组中的单位像素共享至少某个内部电路。

多个单位像素中的每一个可以感测入射光(IL),以生成与入射光(IL)的强度对应的像素信号。像素阵列120可以从像素驱动电路130接收包括行选择信号、像素复位信号和传输信号的驱动信号。一旦接收到驱动信号,像素阵列120的相应单位像素可以被激活以执行与行选择信号、像素复位信号和传输信号对应的操作。

像素驱动电路130可以基于由诸如定时控制器200之类的控制器电路提供的命令和控制信号来激活像素阵列120以对相应行中的成像像素执行某些操作。在一些实现中,像素驱动电路130可以选择布置在像素阵列120的一行或更多行中的一个或更多个成像像素。像素驱动电路130可以响应于定时控制器200的行地址信号而生成行选择信号,以选择多个行当中的一行或更多行。像素驱动电路130可以依次使能用于复位与至少一个被选行相对应的成像像素的像素复位信号、以及用于与至少一个被选行相对应的像素的传输信号。因此,作为由被选行的每个成像像素生成的模拟信号的参考信号和图像信号可以被依次传送给像素读出电路140。参考信号可以是当成像像素的感测节点(例如,浮置扩散节点)被复位时提供给像素读出电路140的电信号,并且图像信号可以是当成像像素生成的光电荷被累积在感测节点时提供给像素读出电路140的电信号。指示每个像素的唯一复位噪声的参考信号和指示入射光强度的图像信号可以根据需要统称为像素信号。

像素读出电路140可以使用相关双采样(CDS),以通过对像素信号进行两次采样以去除这两个样本(即,参考信号和图像信号)之间的差异,来去除被称为固定模式噪声的不期望的像素偏移值。在一个示例中,相关双采样(CDS)可以通过比较在感测节点中累积由入射光产生的光电荷之前和之后所获得的像素输出电压来去除不期望的像素偏移值,使得可以仅测量基于入射光的像素输出电压。在所公开技术的一些实施方式中,像素读出电路140可以依次采样并保持从像素阵列120提供到多条列线中的每条列线的参考信号和图像信号的电压电平。也就是说,像素读出电路140可以采样并保持与像素阵列120的每一列对应的参考信号和图像信号的电压电平。

像素读出电路140可以包括用于将相关双采样信号转换为数字信号的模数转换器(ADC)。在一些实现中,ADC可以实现为斜坡比较型ADC。斜坡比较型ADC可以包括:比较器电路,其用于将模拟像素信号与诸如斜坡上升或下降的斜坡信号之类的参考信号进行比较;以及定时器,其用于执行计数直到斜坡信号的电压与模拟像素信号匹配为止。

像素读出电路140可以包括输出缓冲器,输出缓冲器临时保持从ADC提供的基于列的图像数据以输出图像数据。在一个示例中,输出缓冲器可以基于定时控制器200的控制信号临时存储从ADC输出的图像数据。输出缓冲器可以提供接口,以补偿图像感测单元100和其它装置之间的数据速率差异或传输速率差异。

像素读出电路140可以包括列驱动器。列驱动器可以在接收到来自定时控制器200的控制信号时选择输出缓冲器的列,并且依次输出暂时存储在输出缓冲器的被选列中的图像数据。在一些实现中,一旦从定时控制器200接收到列地址信号,列驱动器可以基于列地址信号选择输出缓冲器的列,使得来自输出缓冲器的被选列的图像数据可以输出到行缓冲器300。

返回参照图1,定时控制器200可以为图像感测单元100提供图像感测单元100的各个组件的操作所需的时钟信号、用于定时控制的控制信号、用于选择行的行地址信号以及用于选择列的列地址信号。在所公开技术的实施方式中,定时控制器200可以包括逻辑控制电路、锁相环(PLL)电路、定时控制电路、通信接口电路等。

定时控制器200可以为写入控制器400提供传送给图像感测单元100的行地址信号和列地址信号。

行缓冲器300可以基于写入控制器400的控制来写入(即,存储)从图像感测单元100接收到的图像数据,可以基于读取控制器500的控制来读取图像数据,并且可以将读取的图像数据发送给ODC 600。稍后将参照写入控制器400和读取控制器500来描述行缓冲器300的写入操作和读取操作。

行缓冲器300可以包括易失性存储器(例如,DRAM、SRAM等)和/或非易失性存储器(例如,闪存)。行缓冲器300可以具有能够存储与预定数量的行相对应的图像数据的容量。每一行(line)可以是指像素阵列120的一行(raw),并且行的预定数量可以少于像素阵列120的总行数。因此,行缓冲器300不是能够一次存储与像素阵列120捕获的帧对应的图像数据的帧存储器,而是能够存储与像素阵列120的一些行(row)(或行(line))对应的图像数据的行存储器。行缓冲器300的容量可以由透镜模块110的透镜失真程度、图像数据的生成和处理速度等确定。在专利文档中讨论的行缓冲器300的容量可以是指可以被分配为存储图像数据的容量。

写入控制器400可以基于从定时控制器200接收到的行地址信号和列地址信号生成输入像素坐标,并且可以将输入像素坐标发送给行缓冲器300和ODC 600中的每一个。输入像素坐标可以是指与从图像感测单元100输入到行缓冲器300的图像数据相对应的像素的坐标。

像素阵列120中包括的每个像素的坐标可以由对应像素所属的行和列来确定。例如,属于第五行第十列的像素的坐标可以是(10,5)。当与对应于坐标(10,5)的像素相对应的图像数据被输入到行缓冲器300时,写入控制器400可以从定时控制器200接收指示第五行的行地址信号和指示第十列的列地址信号,并且可以基于行地址信号和列地址信号生成与坐标(10,5)相对应的输入像素坐标。

因此,行地址信号可以表示与输入到行缓冲器300的图像数据对应的像素的Y坐标,并且列地址信号可以表示与输入到行缓冲器300的图像数据对应的像素的X坐标。

行缓冲器300可以将从图像感测单元100接收到的图像数据映射到从写入控制器400接收到的输入像素坐标,并且可以存储映射的图像数据。这里,行缓冲器300的映射和存储操作可以指示图像数据和输入像素坐标被彼此对应地存储,使得行缓冲器300可以识别与特定输入像素坐标对应的图像数据。

ODC 600可以基于从写入控制器400接收到的输入像素坐标来确定是否开始透镜失真校正。稍后将在本专利文档中给出其更详细的描述。

读取控制器500可以从失真校正值储存器700接收参考像素坐标,并且可以控制行缓冲器300向ODC 600输出与参考像素坐标相对应的图像数据。在一些实现中,读取控制器500将参考像素坐标发送给行缓冲器300,并且行缓冲器300读取与参考像素坐标对应的图像数据,并将所读取的图像数据输出到ODC 600。行缓冲器300存储被映射到输入像素坐标的图像数据,由此可以读取对应于与参考像素坐标相同的输入像素坐标的图像数据。这里,参考像素坐标可以指ODC 600的透镜失真校正所需的像素坐标。

另外,读取控制器500可以响应于由读取速度控制器800的行间隔(line spacing)控制值确定的时间点而将参考像素坐标发送给行缓冲器300。这里,行间隔可以是指与像素阵列120的任意一行对应的图像数据被完全读取的时间点与开始读取对应于下一行的图像数据的另一时间点之间的时间间隔。也就是说,行间隔可以是指像素阵列120的相邻行的读取时间之间的时间区段。

行间隔控制值可以是用于确定行间隔的信息。随着行间隔控制值增加,行间隔可以增加。随着行间隔控制值减小,行间隔可以减小。如果假设从开始读取与像素阵列120的任何一行对应的图像数据的一个时间点到开始读取与下一行对应的图像数据的另一时间点的时间区段被定义为输出时间,那么行缓冲器300的读取速度(即,每单位时间从行缓冲器300读取的图像数据量)可以与输出时间成反比。也就是说,随着输出时间由于行间隔更小而缩短,行缓冲器300的读取速度可以增加。

读取控制器500可以在由行间隔控制值所确定的时间向行缓冲器300发送参考像素坐标,使得行缓冲器300可以以与读取速度控制器800的行间隔控制值对应的预定行间隔的间隔来读取图像数据。例如,在对应于当前行的图像数据的读取结束之后,读取控制器500可以在相应的定时点将参考像素坐标发送给行缓冲器300,使得在从对应于当前行的图像数据的读取结束点经过了100个周期之后,可以开始与要读取的下一行对应的图像数据的读取。在这种情况下,周期可以是指在成像装置10中使用的时钟周期。另外,周期可以是指生成和写入与一个像素对应的图像数据所花费的时间,或者可以是指读取与一个像素对应的图像数据并对读取的图像数据执行透镜失真校正所花费的时间。

ODC 600可以对图像数据执行透镜失真校正,使得ODC 600可以将校正后的图像数据发送给ISP 900。

参照图3,一起示出要拍摄的场景(SC)和对应于由图像感测单元100拍摄的帧的原始图像数据(OI)。透镜模块110可以具有预定曲率,以将对应于预定FOV的场景的光透射到像素阵列120,从而由于透镜模块110的这种曲率而可能发生由场景(SC)与原始图像数据(OI)之间的差异引起的透镜失真。

与场景(SC)中所包括的特定位置对应的图像可能无法在设置于与特定位置相同的位置处的像素处被感测到,而是可能在设置于与特定位置不同的位置处的另一像素处被检测到。

例如,与场景(SC)内的左上端顶点位置对应的图像可能没有在原始图像数据(OI)内的与相同左上端顶点位置对应的第一像素(P1)处被感测到,而是可能在原始图像数据(OI)内设置于与左上端顶点位置不同的位置的第二像素(P2)处被感测到。

另选地,与场景(SC)内的右下端顶点位置对应的图像可能没有在原始图像数据(OI)内的与相同右下端顶点位置对应的第三像素(P3)处被感测到,而是可能在设置于与右下端顶点位置不同的位置的第四像素(P4)处被感测到。

如图3所示,场景(SC)被划分为多个方形区域,并且来自场景的这些不同区域的光被图2中的透镜模块110接收,并且被透镜模块110投射到像素阵列120中的图像感测像素上。当透镜模块110没有透镜失真时,来自场景的不同区域的光所携带的光图案被透镜模块110投射为像素阵列120上的投射光图案,该投射光图案具有与场景中的区域相同的相对位置并在像素阵列120处保持场景中区域的相同部分。这种没有失真的投射光图案由像素阵列120的图像感测像素捕获,以生成表示多个方形区域的图像数据,作为原始图像数据(OI)。然而,在实际装置中,来自场景的不同区域的不同光线沿着通过透镜模块110的不同路径透过透镜模块110,使得由于透镜模块110中的一个或更多个透镜的曲率和厚度分布而在像素阵列120接收到的光中可能出现透镜失真。结果,由于这种透镜失真,由透镜模块110投射到像素阵列120上的光图案的几何形状失真,使得场景(SC)中包括的多个方形区域可能不对应于原始图像数据(OI),而是可能对应于包括多个失真方形区域的失真图像数据(DI),每个失真方形区域形成为失真形状。由于透镜失真,失真图像数据(DI)的方形区域可能无法分别完美地对应于场景(SC)的方形区域。例如,假设透镜模块110具有相对于透镜模块110的中心径向对称的透镜失真分布,则失真图像数据(DI)的方形区域越靠近透镜模块110的中心,失真图像数据(DI)的方形区域的失真程度越小。随着失真图像数据(DI)的方形区域被定位为越靠近失真图像数据(DI)的中心,透镜失真程度变得越弱,并且随着失真图像数据(DI)的方形区域被定位为离失真图像数据(DI)的中心越远,透镜失真程度变得越强。

失真图像数据(DI)的位置和形状可以依据透镜模块110中的每个透镜的曲率等而变化。图3中所示例的桶状失真图案仅是示例。

透镜失真校正可以是指用于校正由透镜模块110引起的失真的图像处理。针对特定像素的透镜失真校正可以是指用于读取与特定像素的坐标相匹配的参考像素坐标所对应的像素的图像数据,并处理所读取的图像数据的操作。在一些实现中,读取图像数据的处理操作可以是指用于计算/处理关于读取的图像数据的预定校正参数的操作。

例如,第一像素(P1)的透镜失真校正可以包括读取与第一像素(P1)的坐标相匹配的参考像素坐标所对应的第二像素(P2)的图像数据,并使用读取的图像数据计算/处理预定校正参数。

参照图4,例示了第一输出行(OL1)、第二输出行(OL2)和第三输出行(OL3)。第一输出行(OL1)可以是指对应于像素阵列120中的第一行的一组像素,第二输出行(OL2)可以是指对应于更靠近像素阵列120的中心设置的行(例如,总共1080行当中的第500行)的一组像素,并且第三输出行(OL3)可以是指对应于像素阵列120中的最后一行的一组像素。

第一输出行(OL1)的透镜失真校正所需的一组像素可以由作为失真图像数据(DI)的一部分的第一参考行(RL1)来表示。第一参考行(RL1)可以是指与属于第一输出行(OL1)的每个像素的坐标相匹配的参考像素坐标所对应的一组像素。第一参考行(RL1)中包括的像素可以具有小于或等于第一上端坐标(Yiu1)并且大于或等于第一下端坐标(Yib1)的Y坐标。

第二输出行(OL2)的透镜失真校正所需的一组像素可以由作为失真图像数据(DI)的一部分的第二参考行(RL2)来表示。第二参考行(RL2)可以是指与属于第二输出行(OL2)的每个像素的坐标相匹配的参考像素坐标所对应的一组像素。第二参考行(RL2)中包括的像素可以具有小于或等于第二上端坐标(Yiu2)且大于或等于第二下端坐标(Yib2)的Y坐标。

第三输出行(OL3)的透镜失真校正所需的一组像素可以由作为失真图像数据(DI)的一部分的第三参考行(RL3)表示。第三参考行(RL3)可以是指与属于第三输出行(OL3)的每个像素的坐标相匹配的参考像素坐标所对应的一组像素。第三参考行(RL3)中包括的像素可以具有小于或等于第三上端坐标(Yiu3)且大于或等于第三下端坐标(Yib3)的Y轴坐标。

参照图4,第二参考行(RL2)的范围(Yiu2~Yib2)可以在尺寸上小于第一参考行(RL1)的范围(Yiu1~Yib1)或第三参考行(RL3)的范围(Yiu3~Yib3)。随着透镜失真的位置越靠近失真图像数据(DI)的中心,透镜失真变得越弱。随着透镜失真的位置离失真图像数据(DI)的中心越远,透镜失真变得越强。

返回参照图1,ODC 600可以基于从写入控制器400接收到的输入像素坐标,来确定是否启动透镜失真校正。在本文公开的示例中,与反映ODC 600要执行的透镜失真校正的目标行对应的行在下文中将称为输出行。

ODC 600可以预先存储与执行输出行的透镜失真校正所需的参考行的下端坐标相对应的阈值下端坐标。阈值下端坐标可以根据透镜模块110的失真特性通过实验来确定。ODC 600可以将输出行的阈值下端坐标与从写入控制器400接收的输入像素坐标的Y坐标进行比较,并且可以根据比较结果确定是否启动输出行的透镜失真校正。如果输入像素坐标的Y坐标大于阈值下端坐标,则ODC 600可以启动输出行的透镜失真校正。如果输入像素坐标的Y坐标小于或等于阈值下端坐标,则ODC 600可以不启动输出行的透镜失真校正,但可以继续监测Y坐标的值并等待,直到输入像素坐标的Y坐标变得大于阈值下端坐标。

例如,ODC 600可以存储第一输出行(OL1)的透镜失真校正所需的第一参考行(RL1)的第一下端坐标(Yib1),作为第一输出行(OL1)的阈值下端坐标。图像感测单元100可以基于定时控制器200的控制,向行缓冲器300依次发送从对应于像素阵列120的第一行的图像数据起的对应于第N行的图像数据。随着图像数据的传输正在进行,输入像素坐标的Y坐标可以从1依次增加到N。假设第一输出行(OL1)的阈值下端坐标设置为30,则第一输出行(OL1)的透镜失真校正可能需要对应于第一行至第三行的图像数据。ODC 600可以在不启动第一输出行(OL1)的透镜失真校正的情况下等待,直到输入像素坐标的Y坐标超过坐标值30。当输入像素坐标的Y坐标超过坐标值30时,ODC 600可以启动第一输出行(OL1)的透镜失真校正。

当开始输出行的透镜失真校正时,ODC 600可以生成输出像素坐标,该输出像素坐标是反映ODC 600执行的失真校正的相应输出行中包括的每个像素的坐标。这样生成的输出像素坐标被发送或传送给失真校正值储存器700并被存储在失真校正值储存器700中。在一些实现中,ODC 600可以依次执行针对特定输出行内的范围从对应于第一列的一个像素到对应于第M列的另一像素的一些像素的透镜失真校正。例如,当开始第一输出行(OL1)的透镜失真校正时,ODC 600可以向失真校正值储存器700发送对应于第一输出行(OL1)内的第一列的像素的坐标(1,1)作为输出像素坐标。此后,当完成输出像素坐标(1,1)的透镜失真校正时,ODC 600可以向失真校正值储存器700发送对应于第一输出行(OL1)内的第二列的像素的坐标(2,1)作为输出像素坐标。可以重复执行上述操作,直到完成对应于第M列的像素的透镜失真校正,使得可以完成第一输出行(OL1)的透镜失真校正。

ODC 600可以从行缓冲器300接收对应于参考像素坐标的图像数据,参考像素坐标与发送给失真校正值储存器700的输出像素坐标相对应。ODC 600可以响应于发送给失真校正值储存器700的输出像素坐标而从失真校正值储存器700接收校正参数。ODC 600可以使用从失真校正值储存器700接收的校正参数,对从行缓冲器300接收的图像数据执行算术处理,可以生成校正后的图像数据,并且可以将校正后的图像数据发送给ISP 900。在一些实现中,算术处理可以是用于将图像数据乘以校正参数的运算,但不限于此。

失真校正值储存器700可以选择对应于从ODC 600接收的输出像素坐标的参考像素坐标,并且可以将所选择的参考像素坐标发送给读取控制器500。为此,失真校正值储存器700可以存储第一表,在第一表中输出像素坐标和参考像素坐标彼此映射。

另外,失真校正值储存器700可以选择对应于从ODC 600接收的输出像素坐标的一个或更多个校正参数,并且可以将所选择的校正参数发送给ODC 600。为此,失真校正值储存器700可以存储第二表,在第二表中输出像素坐标和校正参数彼此映射。

可以基于透镜模块110的透镜失真通过实验确定第一表和第二表。

另外,失真校正值储存器700可以将从ODC 600接收的输出像素坐标发送给读取速度控制器800。

读取速度控制器800是这样的电路:其可以选择与从失真校正值储存器700接收的输出像素坐标对应的一个或更多个行间隔控制值,并且可以将所选择的行间隔控制值发送给读取控制器500。为此,读取速度控制器800可以存储第三表,在第三表中输出像素坐标和行间隔控制值彼此映射。

可以基于透镜模块110的透镜失真和行缓冲器300的容量通过实验来确定第三表。

如上所述,读取速度控制器800可以通过调整行间隔控制值来控制行缓冲器300的读取速度。在一些实现中,将图像数据输入到行缓冲器300的写入速度可以是恒定的,并且从行缓冲器300输出图像数据的读取速度可以依据行间隔控制值而变化。

ISP 900可以执行从ODC 600接收到的校正后的图像数据的图像处理。图像信号处理器900可以降低图像数据的噪声,并且可以执行各种类型的图像信号处理(例如,伽马校正、滤色器阵列插值、颜色矩阵、颜色校正、颜色增强等)以用于图像数据的图像质量改进。另外,ISP 900可以压缩通过执行用于图像质量改进的图像信号处理已经创建的图像数据(IDATA),使得ISP 900可以使用压缩的图像数据创建图像文件。另选地,ISP 900可以从图像文件中恢复图像数据。在这种情况下,用于压缩这种图像数据的方案可以是可逆格式或不可逆格式。作为这种压缩格式的代表示例,在使用静止图像的情况下,可以使用联合图像专家组(JPEG)格式、JPEG 2000格式等。另外,在使用运动图像的情况下,可以根据运动图像专家组(MPEG)标准压缩多个帧,使得可以创建运动图像文件。例如,可以根据可交换图像文件格式(Exif)标准创建图像文件。

ISP 900可以将通过这种图像信号处理所获得的图像数据(以下称为ISP图像数据)发送给I/O接口1000。

I/O接口1000可以执行与主机装置20的通信,并且可以将ISP图像数据发送给主机装置20。在一些实现中,I/O接口1000可以实现为移动工业处理器接口(MIPI),但不限于此。

主机装置20可以是用于处理从成像装置10接收的ISP图像数据的处理器(例如,应用处理器)、用于存储ISP图像数据的存储器(例如,非易失性存储器)、或者用于视觉显示ISP图像数据的显示装置(例如,液晶显示器(LCD))。

图5是例示了根据透镜失真的一个示例的输出像素坐标与对应于输出像素坐标的像素的透镜失真校正所需的输入像素坐标之间的关系的曲线图。图6是例示了在图5的曲线图中当以相对低的读取速度读取图像数据时所需的行缓冲器的容量的曲线图。图7是例示了在图5的曲线图中当以相对高的读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

参照图5,曲线图的X轴可以表示输出像素坐标的Y坐标(Yout),而曲线图的Y轴可以表示输入像素坐标的Y坐标(Yin)。在以下描述中,假设像素阵列120包括1080行和1920列。因此,输入像素坐标的Y坐标(Yin)和输出像素坐标的Y坐标(Yout)中的每一个可以具有0到1080的范围。

从示出了透镜失真的一个示例的图5可以看出,图5例示了每个具有输出像素坐标的Y坐标(Yout)的像素的透镜失真校正所需的输入像素坐标的Y坐标(Yin)根据输出像素坐标的Y坐标(Yout)的变化如何变化的曲线图。在这种情况下,具有相同输出像素坐标的Y坐标(Yout)的像素可以被定义为图4所示的输出行,并且与输出行的透镜失真校正所需的输入像素坐标对应的一组像素可以定义为图4所示的参考行。虽然图4例示了参考行是与属于输出行的每个像素的坐标相匹配的参考像素坐标所对应的一组像素,但是通过读取控制器500和行缓冲器300的操作,与参考像素坐标相同的输入像素坐标所对应的图像数据被读取并被发送给ODC 600,因此,为了便于描述,以下描述中的术语“参考像素坐标”和“输入像素坐标”将互换使用。

在图5中,随着对应于输出行的参考行的上端坐标(Yiu-A)和下端坐标(Yib-A)的变化,可以出现每个具有输出像素坐标的Y坐标(Yout)的像素(即,属于输出行的像素)的透镜失真校正所需的输入像素坐标的Y坐标(Yin)的变化。也就是说,对应于每个输出行的参考行中包括的像素可以具有与在上端坐标(Yiu-A)和下端坐标(Yib-A)之间的范围对应的Y坐标,并且上端坐标(Yiu-A)和下端坐标(Yib-A)可以依据输出行的Y坐标而变化。

在图5所示的透镜失真的一个示例中,随着输出行的Y坐标逐渐增大,上端坐标(Yiu-A)和下端坐标(Yib-A)之间的差逐渐减小,直到到达像素阵列120的中心部分,然后在穿过像素阵列120的中心区域(例如,输出行的Y坐标被设置为540的部分)之后逐渐增大。

参照图6,例示了当以相对低的读取速度从行缓冲器300读取图像数据时行缓冲器300的上端存储坐标(LBu-A1)和下端存储坐标(LBb-A1)。上端存储坐标(LBu-A1)可以是指当校正输出行的失真时行缓冲器300中所存储的像素的Y坐标当中的最小Y坐标,而下端存储坐标(LBb-A1)可以是指当校正输出行的失真时行缓冲器300中所存储的像素的Y坐标当中的最大Y坐标。

行缓冲器300的读取速度可以对应于上端存储坐标(LBu-A1)或下端存储坐标(LBb-A1)的X轴方向相对于Y轴方向的斜率。也就是说,行缓冲器300的读取速度可以对应于上端存储坐标(LBu-A1)或下端存储坐标(LBb-A1)相对于以恒定速度增加的输入像素坐标的Y坐标(Yin)的增加速度。图6的相对低的读取速度可以是指与输入像素坐标的Y坐标(Yin)的速度相同的速度。因此,图像数据从图像感测单元100输入到行缓冲器300的速度可以等于从行缓冲器300读取图像数据并将图像数据发送给ODC 600的速度(或ODC 600的透镜失真校正的速度)。

可以在行缓存器300能够存储与每条输出行相匹配的参考行所对应的图像数据的范围内确定行缓存器300的容量。如图6所示,当行缓冲器300的读取速度相对低时,行缓冲器300的最小容量可以对应于能够存储64行(row)(或64行(line))的图像数据的容量。

参照图7,例示了当以与图6相比相对低的读取速度从行缓冲器300读取图像数据时行缓冲器300的上端存储坐标(LBu-A2)和下端存储坐标(LBb-A2)。上端存储坐标(LBu-A2)可以是指当校正输出行的失真时行缓冲器300中所存储的像素的Y坐标当中的最小Y坐标,而下端存储坐标(LBb-A2)可以是指当校正输出行的失真时行缓冲器300中所存储的像素的Y坐标当中的最大Y坐标。

图7所示的行缓冲器300的读取速度可以比图6所示的行缓冲器300的读取速度相对更快。因此,上端存储坐标(LBu-A2)或下端存储坐标(LBb-A2)的X轴方向相对于Y轴方向的斜率可以大于上端存储坐标(LBu-A1)或下端存储坐标(LBb-A1)的X轴方向相对于Y轴方向的斜率。

图7的相对高的读取速度可以是指比输入像素坐标的Y坐标(Yin)更高的速度。也就是说,从行缓冲器读取图像数据的速度(或ODC 600进行透镜失真校正的速度)可以高于从图像感测单元100向行缓冲器300输入图像数据的速度。

如图7所示,当行缓冲器300的读取速度相对高时,行缓冲器300的最小容量可以对应于能够存储32行(raw)(或32行(line))的图像数据的容量。

在图5所示的透镜失真的一个示例中,可以通过调整行缓冲器300的读取速度来显著降低行缓冲器300的最小容量。

在图5所示的透镜失真的一个示例中,可以通过提高行缓冲器300的读取速度来减小行缓冲器300的最小容量,但不限于此。作为另一示例,还可以通过依据这种透镜失真的形状来降低行缓冲器300的读取速度,减小行缓冲器300的最小容量。

图8中的(a)和图8中的(b)是例示了用于调整行缓冲器300的读取速度的方法的一个示例的图。

更详细地,图8中的(a)例示了在如图6所示的图像数据被写入行缓冲器300中的写入速度等于从行缓冲器300读取图像数据的读取速度的情况下实现的输出时间的一个示例。这里,输出时间可以是2200个周期,其对应于1920个周期的读取时间和280个周期的行间隔之和。在这种情况下,读取时间可以是指从行缓冲器300读取并且由ODC 600针对透镜失真校正处理对应于一行(或一个输出行)的图像数据所花费的时间。由于在一个周期期间执行对应于一个像素的图像数据的读取和透镜失真校正(以下称为读取和透镜失真校正操作),因此可以使用1920个周期的读取时间来执行对应于包括1920个像素的行(或输出行)的图像数据的读取和透镜失真校正。

图8中的(b)例示了如图7所示的使从行缓冲器300读取图像数据的读取速度比将图像数据写入行缓冲器300的写入速度更快的输出时间的一个示例。

为了使行缓冲器300具有如图7的曲线图所示的上端存储坐标(LBu-A2)和下端存储坐标(LBb-A2),应该在对应于(1080-32)行的图像数据输入到行缓冲器300的同时完成对应于1080行的图像数据的读取和透镜失真校正。

在这种情况下,输出时间可以计算为“2200(周期)×(1080-32)/1080≒2135(周期)”。也就是说,在输出时间被调整为2135个周期后,当对应于(1080-32)行的图像数据输入到行缓冲器300时,可以完成对应于1080行的图像数据的读取和透镜失真校正。

这里,无法减少其中执行对应于包括1920个像素的行(或输出行)的图像数据的读取和透镜失真校正操作的1920个周期的读取时间,行间隔可以从280个周期减少到215个周期,如图8中的(b)所示。

也就是说,可以通过减小输出时间的行间隔来提高读取速度。

图9中的(a)和图9中的(b)示出了例示用于调整行缓冲器300的读取速度的方法的另一示例的图。

图9中的(a)例示了在如图6所示的将图像数据写入行缓冲器300的写入速度等于从行缓冲器300读取图像数据的读取速度的情况下实现的输出时间的另一示例。输出时间可以是2000个周期,其对应1920个周期的读取时间和80个周期的行间隔之和。因此,图8中的(b)中所示的行间隔可以相对小于图8中的(a)所示的行间隔。

图9中的(b)例示了如图7所示的使从行缓冲器300读取图像数据的读取速度比将图像数据写入行缓冲器300的写入速度更快的输出时间的另一示例。

鉴于图8中的(a)和图8中的(b)的实施方式可以通过减小行间隔来提高读取速度,图9中的(a)的输出时间具有相对小的行间隔,使得图8的实施方式难以减少输出时间。

图9中的(a)和图9中的(b)的实施方式允许通过减小行间隔来提高读取速度。能够通过增加输出侧的时钟频率来减小行间隔。在这种情况下,输出侧的输出频率可以是指用于从行缓冲器300读取图像数据并对读取的图像数据执行透镜失真校正的时钟信号的频率。输入侧的时钟频率可以是指用于由图像感测单元100生成图像数据并将生成的图像数据写入行缓冲器300的时钟信号的频率。

其中存储有行间隔控制值的读取速度控制器800可以控制输出侧的时钟频率。例如,读取速度控制器800可以控制用于向读取控制器500、ODC 600和失真校正值储存器700中的每一个提供时钟信号的时钟信号发生器(未示出),从而改变时钟频率。

在图9中的(b)中,当输出侧的时钟频率加倍(例如,从80MHz到160MHz)时,对应于图9中的(b)所示的1个周期的时间可以减小到对应于图9中的(a)的1个周期的时间的一半。因此,图9中的(b)所示的读取时间能够减少至图9中的(a)所示的读取时间的一半。

因此,行间隔能够减少与对应于2080个周期的量一样多。通过减小行间隔,读取速度控制器800能够提高读取速度。

图8中的(a)和图8中的(b)的实施方式以及图9中的(a)和图9中的(b)的实施方式可以彼此组合而不相互排斥。例如,读取速度控制器800能够通过根据图8中的(a)和图8中的(b)的实施方式减小行间隔来提高读取速度,也可以通过根据图9中的(a)和图9中的(b)的实施方式来增加输出侧的时钟频率然后减小行间隔,来控制这种行间隔。根据图8中的(a)、图8中的(b)、图9中的(a)和图9中的(b)的实施方式的组合配置可以用于解决仅使用行间隔来控制读取速度中存在的限制。通过增加输出侧的时钟频率然后减小行间隔,根据图8中的(a)、图8中的(b)、图9中的(a)和图9中的(b)的实施方式的组合配置能够提供甚至更高的读取速度。

图10是例示了根据透镜失真的另一示例的输出像素坐标与对应于输出像素坐标的像素的透镜失真校正所需的输入像素坐标之间的关系的曲线图。图11是例示了具有与图7的容量和读取速度相同的容量和相同的读取速度的行缓冲器与图10的透镜失真之间的关系的曲线图。图12是例示了在图10的曲线图中当以恒定读取速度读取图像数据时所需的行缓冲器的容量的曲线图。图13是例示了在图10的曲线图中当以可变读取速度读取图像数据时所需的行缓冲器的容量的曲线图。

从示出了透镜失真的一个示例的图10可以看出,图10例示了每个具有输出像素坐标的Y坐标(Yout)的像素的透镜失真校正所需的输入像素坐标的Y坐标(Yin)根据输出像素坐标(Yout)的Y坐标的变化如何变化的曲线图。

在以与图5不同方式的图10的透镜失真的一个示例中,随着输出行的Y坐标逐渐增大,上端坐标(Yiu-B)和下端坐标(Yib-B)之间的差保持恒定并然后逐渐减小,直到到达像素阵列120的中心部分。之后,上端坐标(Yiu-B)与下端坐标(Yib-B)之间的差在穿过像素阵列120的中心区域之后逐渐增大,然后保持恒定。在上端坐标(Yiu-B)和下端坐标(Yib-B)之差保持恒定的区段中,假设上端坐标(Yiu-B)与下端坐标(Yib-B)之间的差被设置为32。另外,如从图10的曲线图可以看出,上端坐标(Yiu-B)和下端坐标(Yib-B)之间的最大值可以设置为32。

参照图11,例示了与图7具有相同容量和相同读取速度的行缓冲器300的上端存储坐标(LBu-A2)和下端存储坐标(LBb-A2),并且还例示了根据图10的透镜失真的另一示例的上端存储坐标(Yiu-B)和下端坐标(Yib-B)。

由于存在上端坐标(Yiu-B)和下端坐标(Yib-B)之间的差保持恒定的区段,因此在第一区段1110内的上端坐标(Yiu-B)可以偏离行缓冲器300的上端存储坐标(LBu-A2)和下端存储坐标(LBb-A2)之间的范围,或者在第二区段1120内的下端坐标(Yib-B)可以偏离行缓冲器300的上端存储坐标(LBu-A2)和下端存储坐标(LBb-A2)之间的范围。

在第一区段1110或第二区段1120中,行缓冲器300可以不存储对应输出行的透镜失真校正所需的参考行的图像数据。

参照图12,例示了在与图7具有相同读取速度的同时能够存储输出行的透镜失真校正所需的参考行的图像数据的行缓冲器300的上端存储坐标(LBu-B1)和下端存储坐标(LBb-B1),并且还例示了根据图10所示的透镜失真的另一示例的上端坐标(Yiu-B)和下端坐标(Yib-B)。

为了使行缓冲器300存储在输出像素坐标的Y坐标(Yout)的所有区段内的输出行的透镜失真校正所需的参考行的图像数据,行缓冲器300的最小容量可以被设置为能够存储K行(raw)(或K行(line))图像数据的容量(其中,K是32或更大的整数)。

根据透镜失真的类型,为了使行缓冲器300存储在输出像素坐标的Y坐标(Yout)的所有区段内的输出行的透镜失真校正所需的参考行的图像数据,行缓冲器300可以具有大于透镜失真的上端坐标(Yiu-B)和下端坐标(Yib-B)之间的最大差的容量。

参照图13,例示了具有与透镜失真的上端坐标(Yiu-B)与下端坐标(Yib-B)之间的最大值相同的容量并且以与图7不同的方式具有可变读取速度的行缓冲器300的上端存储坐标(LBu-B2)和下端存储坐标(LBb-B2),并且还例示了根据图10所示的透镜失真的另一示例的上端坐标(Yiu-B)和下端坐标(Yib-B)。

在图13中,随着输出行的Y坐标逐渐增加,行缓冲器300的读取速度可以按照第一速度→第二速度→第一速度的次序依次改变。这里,第一速度可以高于第二速度。行缓冲器300的上端存储坐标(LBu-B2)和下端存储坐标(LBb-B2)之间的斜率保持等于透镜失真的上端坐标(Yiu-B)和下端坐标(Yib-B)之间的斜率(即,在读取速度被设置为第一速度的区段内),改变为小于透镜失真的上端坐标(Yiu-B)与下端坐标(Yib-B)之间的斜率(即,在读取速度被设置为第二速度的区段内),然后改变为等于透镜失真的上端坐标(Yiu-B)和下端坐标(Yib-B)之间的斜率(即,在读取速度被设置为第一速度的区段内)。

在行缓冲器300的读取速度如图13所示可改变的情况下,即使当行缓冲器300具有与透镜失真的上端坐标(Yiu-B)和下端坐标(Yib-B)之间的最大差值(即,32)相同的容量时,行缓冲器300也能够存储在输出像素坐标的Y坐标(Yout)的所有区段内的输出行的透镜失真校正所需的参考行的图像数据。也就是说,通过改变行缓冲器300的读取速度,能够使行缓冲器300的容量最小化。

如图5至图13所示,行缓冲器300的读取速度可以是恒定的或可变的,但是读取速度控制器800可以以如下方式确定读取速度:在至少输出像素坐标的Y坐标(Yout)的所有区段内的输出行的透镜失真校正所需的参考行的图像数据能够保持在行缓冲器300中。

图14是例示了在以恒定读取速度读取图3所示的失真图像数据并且执行失真图像数据的透镜失真校正时所需的行缓冲器的容量的图。

参照图14,例示了图3中绘制的原始图像数据(OI)和失真图像数据(DI)。与5个输出行(Ola至OLe)中的每一行相关联地,在图14中例示了行缓冲器300中存储的图像数据、透镜失真校正所需的行缓冲器300的容量、以及I/O接口1000的操作。在这种情况下,输出行(OLa)和输出行(OLe)可以分别对应于第一输出行(OL1)和第三输出行(OL3)。

首先,对应于输出行(OLa)和输出行(OLe)的参考行可以分布在65行(对应于1080行中的约6%)上。因此,输出行(OLa)和输出行(OLe)的透镜失真校正所需的行缓冲器300的容量可以对应于能够存储65行(或65行)的图像数据的容量。

对应于输出行(OLb)和输出行(OLd)的参考行可以分布在30行(对应于1080行的约2.8%)上。因此,输出行(OLb)和输出行(OLd)的透镜失真校正所需的行缓冲器300的容量可以对应于能够存储30行(或30行)的图像数据的容量。

对应于输出行(OLc)的参考行可以分布在7行(对应于1080行的约0.6%)上。因此,输出行(OLc)的透镜失真校正所需的行缓冲器300的容量可以对应于能够存储7行(或7行)的图像数据的容量。

因此,透镜失真校正所需的行缓冲器300的容量随着行缓冲器300设置得更靠近像素阵列120的中心而逐渐减小,并且随着行缓冲器300设置得离像素阵列120的中心越远而逐渐增加。

在图14中,写入到行缓冲器300中的图像数据被显示为输入图像数据(输入),而从行缓冲器300读取的图像数据被显示为输出图像数据(输出)。假设从行缓冲器300读取数据的读取速度等于将数据写入行缓冲器300中的写入速度并且是恒定的。另外,ODC 600执行透镜失真校正的速度也可以是恒定的,从而I/O接口1000的输出区段的长度也能够保持恒定。图14例示了I/O接口1000是移动工业处理器接口(MIPI)的情况的输出区段的示例。在图14中,移动工业处理器接口(MIPI)的高速模式(HS)表示输出对应于一行的ISP图像数据的时间段,并且可以对应于图8所示的读取时间。在图14中,移动工业处理器接口(MIPI)的低功率模式(LP)表示从任何一行的一个HS到下一行的另一HS的时间段,并且可以对应于图8中所示的行间隔。也就是说,在图14的实施方式中,从行缓冲器300读取图像数据并且执行针对读取的图像数据的透镜失真校正的速度是恒定的,使得对应于行间隔的低功率模式(L)能够保持恒定。

如图14所示,如果从行缓冲器300读取数据并且对读取图像数据执行透镜失真校正的速度是恒定的,则行缓冲器300应该具有对应于透镜失真校正所需的行缓冲器300的最大容量值(例如,65行)的两倍的容量(例如,130行,1080行中的约12%)。

图15是例示了以可变读取速度读取图3所示的失真图像数据并对失真图像数据执行透镜失真校正时所需的行缓冲器的容量的图。

参照图15,例示了图3中绘出的原始图像数据(OI)和失真图像数据(DI)。与5个输出行(Ola至OLe)中的每一行相关联地,在图15中例示了行缓冲器300中所存储的图像数据、透镜失真校正所需的行缓冲器300的容量、以及I/O接口1000的操作。

在图15中,与图14不同地,如图15所示的从行缓冲器300读取图像数据以及执行读取图像数据的透镜失真校正的速度是可变的,而不是恒定的。

在一些实现中,从行缓冲器300读取图像数据的速度和ODC 600执行透镜失真校正的速度可以根据透镜失真校正所需的行缓冲器300的容量(即,对于应输出行的一个或更多个参考行的数量)而变化。随着透镜失真校正所需的行缓冲器300的容量减小(或随着对应于输出行的一个或更多个参考行的数量减少),从行缓冲器300读取图像数据的速度和ODC600执行透镜失真校正的速度可以增加。此后,随着透镜失真校正所需的行缓冲器300的容量增加(或随着对应于输出行的一个或更多个参考行的数量增加),从行缓冲器300读取图像数据的速度和ODC 600执行透镜失真校正的速度可以降低。

如图8中所述,通过调整行间隔的长度能够控制从行缓冲器300读取图像数据的速度和ODC 600执行透镜失真校正的速度。由于如图15所示的从行缓冲器300读取图像数据和执行读取图像数据的透镜失真校正的速度能够改变,因此低功率模式(LP)的长度(即,LP长度)随着透镜失真校正所需的行缓冲器300的容量减小而减小,然后随着透镜失真校正所需的行缓冲器300的容量增大而增加。

例如,假设对应于300~310的Y坐标(Yout)的输出行的透镜失真校正所需的一个或更多个参考行的数量被设置为20(即,20行),那么对应于311~326的Y坐标(Yout)的输出行的透镜失真校正所需的一个或更多个参考行的数量被设置为19(即,19行),并且对应于327~344的Y坐标(Yout)的输出行的透镜失真校正所需的一个或更多个参考行的数量被设置为18(即,18行)。另外,假设对应于300~310的Y坐标(Yout)的输出行的输出时间由2200个周期表示。

在执行对应于311~326的16个Y坐标(Yout)的输出行的透镜失真校正的同时,为了响应于指示透镜失真校正所需的行缓冲器300的容量减少一行的容量减少而提高读取速度,一个输出行的透镜失真校正的输出时间可以减少约138个周期(2200/16=137.5),从而形成以2062个周期(2200-138=2062个周期)表示的最终输出时间。

在执行对应于327~344的18个Y坐标(Yout)的输出行的透镜失真校正时,为了响应于指示透镜失真校正所需的行缓冲器300的容量减少一行的容量减少而提高读取速度,一个输出行的透镜失真校正的输出时间可以减少约123个周期(2200/18=122.2),从而形成以2077个周期(2200-123=2077个周期)表示的最终输出时间。

如图15所示,当响应于透镜失真校正所需的行缓冲器300的容量而改变从行缓冲器300读取图像数据和执行透镜失真校正的速度时,能够最大化行缓冲器300的使用效率。

在这种情况下,如图7或图13所示,行缓冲器300具有与透镜失真校正所需的行缓冲器300的最大容量(例如,65行)相同的容量,使得能够考虑透镜失真的形状、行缓冲器300的容量、ODC 600的性能等来适当地确定行缓冲器300的读取速度。

从以上描述可以明显看出,基于所公开技术的一些实现的成像装置能够通过改变行缓冲器的读取速度来最小化行缓冲器所需的容量。

所公开技术的实施方式可以提供能够通过上述专利文档直接或间接地识别的各种效果。

尽管已经描述了大量示例性实施方式,但是应该理解,可以基于本专利文档中描述和/或例示的内容,来设计所公开的实施方式和其它实施方式的修改和改进。

相关申请的交叉引用

本专利文档要求2021年8月19日提交的韩国专利申请No.10-2021-0109534的优先权和权益,其公开内容作为本专利文档公开内容的一部分通过引用整体并入本文中。

技术分类

06120115628143