发明内容
一个或多个示例性实施例将提供能够以块单元读取扫描图像并且使用小容量的缓冲器补偿扫描图像的图像扫描装置、图像补偿方法以及计算机可读记录介质。
本总体发明构思的附加的特征及效用将在下面的描述中部分地阐明,并将从该描述中部分地变得明显,或者可以通过实践本总体发明构思而部分地习得。
本总体发明构思的上述和/或其它特征及效用可以通过提供一种图像扫描装置来实现。所述图像扫描装置可以包括:扫描单元,被配置成扫描原稿并且生成扫描图像;存储单元,被配置成存储所生成的扫描图像;图像处理器,包括多个图像处理模块,所述多个图像处理模块分离地包括被配置成存储块单元的扫描图像的多个缓冲器,并且所述图像处理器被配置成以预设的块单元读取所生成的扫描图像并且使用所述多个图像处理模块顺序地对以块单元读取的扫描图像执行图像处理;以及控制器,被配置成将经图像处理的扫描图像存储在所述存储单元中。
所述多个图像处理模块可以串联连接并且多个图像处理模块中的每一个可以连接到被配置成存储块单元的扫描图像的多个缓冲器中的一个。
所述图像处理模块可以包括偏斜补偿模块、伽玛校正模块、色彩校正模块、图像分割模块以及滤波模块中的至少一个。
所述图像处理器可以读取第一块大小的扫描图像,所述第一块大小的扫描图像包括具有第二块大小的有效像素区以及在所述有效像素区周围的相邻像素区。
所述图像处理器可以读取所述扫描图像从而具有第一块大小的多个扫描图像块相互重叠。
所述图像处理器可以基于可在所述多个图像处理模块中处理的有效像素大小、偏斜角度以及插值方法来确定第一块大小。
所述图像处理模块可以包括偏斜补偿模块,所述偏斜补偿模块被配置成感测所述扫描图像的偏斜角度并且补偿所感测到的偏斜角度。
所述偏斜补偿模块可以使用所述相邻像素区对所述有效像素区执行插值并且输出与所述有效像素区相对应的经补偿的扫描图像块。
所述插值可以使用双线性插值法和二次插值法中的至少一个来执行。
所述图像处理器可以以直接存储器访问(DMA)的方式从所述存储单元读取所生成的扫描图像。
所述图像处理器可以是片上***(SoC)。
本总体发明构思的上述和/或其它特征及效用也可以通过提供一种图像扫描装置的图像补偿方法来实现。所述方法可以包括:扫描原稿以生成扫描图像;存储所生成的扫描图像;以预设的块单元读取所生成的扫描图像;使用多个图像处理模块顺序地对以块单元读取的扫描图像执行图像处理,所述多个图像处理模块分离地包括被配置成存储块单元的扫描图像的多个缓冲器;以及存储经图像处理的扫描图像。
所述读取可以包括读取第一块大小的扫描图像,所述第一块大小的扫描图像包括具有第二块大小的有效像素区以及在所述有效像素区周围的相邻像素区。
所述读取可以包括读取所述扫描图像,使得具有第一块大小的多个扫描图像块相互重叠。
所述读取可以包括基于可在所述多个图像处理模块中处理的有效像素大小、偏斜角度以及插值方法来确定第一块大小以及读取所确定的第一块大小的扫描图像。
所述执行图像处理可以包括感测所述扫描图像的偏斜角度以及补偿所感测到的偏斜角度。
所述执行图像处理可以包括使用所述相邻像素区对所述有效像素区执行插值以及输出与所述有效像素区相对应的插值的扫描图像块。
所述执行插值可以包括使用双线性插值法和二次插值法中的至少一个来执行所述插值。
所述执行图像处理可以包括对所述扫描图像执行包括偏斜补偿、伽玛校正、色彩校正、图像分割以及滤波中的至少两个的图像处理。
所述读取可以包括以直接存储器访问(DMA)的方式从所述存储单元读取所生成的扫描图像。
本总体发明构思的上述和/或其它特征及效用也可以通过提供一种包括执行图像补偿方法的程序的计算机可读记录介质来实现。所述图像补偿方法可以包括:扫描原稿以生成扫描图像;存储所生成的扫描图像;以预设的块单元读取所生成的扫描图像;使用多个图像处理模块顺序地对以块单元读取的扫描图像执行图像处理,所述多个图像处理模块分离地包括被配置成存储块单元的扫描图像的多个缓冲器;以及存储经图像处理的扫描图像。
本总体发明构思的上述和/或其它特征及效用也可以通过提供一种图像扫描装置来实现,所述图像扫描装置包括:扫描单元,被配置成扫描原稿并且生成扫描图像;存储单元,被配置成存储所生成的扫描图像;以及图像处理器,包括多个图像处理模块,所述多个图像处理模块连接到存储在相应图像处理模块中处理的数据的多个缓冲器,并且所述图像处理器被配置成以块单元读取所生成的扫描图像并且使用所述多个图像处理模块顺序地对以块单元读取的扫描图像执行图像处理,所述图像处理包括偏斜补偿以及伽玛校正和色彩校正及分割中的至少一个。
具体实施方式
下文中,将参照附图更详细地描述示例性实施例。
现在将详细说明本总体发明构思的实施例,在附图中图示了本总体发明构思的实施例的示例,附图中相同的附图标记始终指代相同的元件。下面参考附图描述实施例,以便解释本发明总体构思。
在下列描述中,提供描述中定义的事项,比如具体的构造和元件,以帮助综合理解示例性实施例。因而,显然能够在没有那些具体定义的事项的情况下实施示例性实施例。此外,不会详细描述相关技术中已知的功能或元件,因为它们会用不必要的细节模糊示例性实施例。
图1是图示根据本总体发明构思的示例性实施例的图像扫描装置100的配置的框图。
参照图1,根据示例性实施例的图像扫描装置100包括通信接口单元110、用户接口单元120、存储单元130、扫描单元140、图像处理器150以及控制器160。所述图像扫描装置可以包括扫描仪、复印机、传真机、被配置成通过一个装置多重实现上述功能的多功能外设(MFP)。
通信接口单元110可以连接到主机装置(未示出),比如个人计算机(PC)、膝上型PC、个人数字助理(PDA)或者数码相机,并且将在图像扫描装置100中扫描的扫描数据或者经失真失真补偿的扫描图像从图像扫描装置100发送到所述主机装置(未示出)。通信接口单元110被形成为将图像扫描装置100连接到外部装置。通信接口单元110可以被实现为通过局域网(Local AreaNetwork,LAN)和互联网网络或者通过通用串行总线(Universal Serial Bus,USB)端口或者无线端口连接到终端装置。
通信接口单元110可以接收扫描命令。通信接口单元110可以接收所述扫描命令或者来自所述主机装置的扫描图像传输命令。所述扫描命令可以包括扫描功能中所需的复印命令或者传真传输命令。即,通信接口单元110可以接收复印命令或者传真传输命令。即使当接收到所述命令时,也可以执行根据示例性实施例的偏斜补偿方法。
用户接口单元120可以包括多个功能键并且显示从图像扫描装置100提供的各种信息,所述多个功能键被配置成使用户设置或者选择图像扫描装置100中支持的各种功能。用户接口单元120可以利用其中同时植入输入部和输出部的设备(比如触摸屏)或者其中结合了鼠标和监视器的设备来实现。
用户接口单元120接收作业执行命令。用户接口单元120可以接收用于可在图像扫描装置100中执行的功能的执行命令(例如,扫描命令、复印命令、传真传输命令等等)。此时,用户接口单元120可以接收对稍后将描述的偏斜补偿执行的选择。用户接口单元120可以接收对预扫描执行的选择。这里,所述预扫描是在利用高分辨率扫描原稿之前预先利用低分辨率快速扫描原稿的方法,并且可以在指定扫描区域时被使用。另一方面,用户接口单元120可以被实现为使得由用户选择所述偏斜补偿执行或者在没有用户选择的情况下自动地执行偏斜补偿。
用户接口单元120可以显示扫描图像。用户接口单元120可以在预览中显示通过预扫描作业生成的扫描图像并且显示通过扫描作业生成的扫描图像。
存储单元130可以存储在图像扫描装置100中扫描的扫描图像。存储单元130可以存储在稍后将描述的图像处理器150中补偿的扫描图像。存储单元130可以包括易失性存储器。可替换地,存储单元130可以包括易失性存储器以及非易失性存储器。此时,如上所述地经扫描或者补偿的扫描图像可以被存储在易失性存储器(例如,动态随机存取存储器(DRAM))中。
存储单元130可以利用图像扫描装置100中的存储介质以及外部存储介质来实现,所述外部存储介质例如,包括USB存储器的可移除盘、连接到主机的存储介质、通过网络的网络服务器等等。
扫描单元140扫描在平台上的原稿并且生成扫描图像。扫描装置140可以包括原稿被装载在其上的稿台玻璃(stage glass)以及被配置成在所述稿台玻璃下方往复移动并且扫描原稿的扫描头。扫描单元140可以被实现为包括自动提供装置并且可以扫描在自动提供装置上装载以及自动提供的原稿。
扫描单元140可以扫描原稿一次或多次。扫描单元140可以利用低分辨率(第一分辨率)快速扫描(预扫描)原稿以生成具有低分辨率的第一扫描图像,然后利用高分辨率(第二分辨率)二次扫描所述原稿以生成第二扫描图像。根据设计或者用户偏好第一扫描图像可用于图像处理器150的偏斜补偿执行中。根据设计或者用户偏好第二扫描图像也可被用于图像处理器150的偏斜补偿执行中。
图像处理器150从第一扫描图像或者第二扫描图像以预设的块单元读取所生成的扫描图像并且使用多个图像处理模块(或者块)对以块单元读取的扫描图像执行图像处理。这里,多个图像处理模块可以包括偏斜补偿模块、伽玛校正模块、色彩校正模块、图像分割模块以及滤波模块等等。所述多个图像处理模块中的每一个可以分离地包括被配置成存储块单元的图像的缓冲器。
稍后将参照图2描述图像处理器150的详细配置和操作。
控制器160控制图像扫描装置100中的各个组件。当控制器160从用户接口单元120或者通信单元110接收到扫描命令时,控制器160可以控制扫描单元140执行扫描作业并且控制图像处理器150对通过扫描作业生成的扫描图像执行补偿。
控制器160可以控制存储单元130存储块单元的补偿的扫描图像并且控制通信接口110向外部终端装置(或者用户指定的特定存储介质)发送所存储的扫描图像。虽然示例性实施例中未图示,但是当图像扫描装置100是被配置成执行打印作业的MFP时,控制器160可以控制经补偿的扫描图像被打印。
根据示例性实施例的图像扫描装置可以使用具有小容量的存储器缓冲器的图像处理器来执行补偿(例如,偏斜补偿)。此外,即使当图像具有高分辨率或者复杂的插值方法被使用时,根据示例性实施例的图像扫描装置也可以使用小容量的存储器缓冲器。根据示例性实施例的图像扫描装置100可以使用所述多个图像处理模块共同地执行除了偏斜补偿之外的其它图像补偿。
示例性实施例已经图示了图像处理器150和控制器160被相互分离地配置,但是图像处理器150、控制器160和/或一个或多个其它单元可以利用一个片上***(SoC)来实现。
图2是图示图1的图像扫描装置100的图像处理器150的框图。
参照图2,图像处理器150包括读取器(reader)151、第一块地址生成单元152、多个图像处理模块153、多个缓冲器154、第二块地址生成单元155以及写入器(writer)156。
读取器(DMA Rx)150可以以直接存储器访问(DMA)的方式读取存储在存储单元130中的扫描图像131的第一块单元当中的部分图像132。读取器151可以通过***总线170从存储单元130读取与从稍后将描述的第一块地址生成单元152提供的块地址相对应的具有第一块大小的扫描图像(下文中,被称为扫描图像块)。读取器151可以将所读取的扫描图像块132发送到多个图像处理模块153。当对第一块132的读取和发送完成时,读取器151可以对与第一块132重叠的下一块133执行读取。
第一块地址生成单元152确定第一块的大小(即,第一块大小)。第一块地址生成单元152基于可在多个图像处理模块153中处理的有效像素大小、偏斜角度以及插值方法来确定第一块大小。第一块可以包括具有第二块大小的有效像素区以及在所述有效像素区周围的相邻像素区。稍后将参照图6描述对确定第一块大小的详细描述。
第一块地址生成单元152可以将所述扫描图像划分成相互重叠的多个扫描图像块并且将具有第一块大小的划分出的扫描图像块的地址顺序地提供给读取器151。第一块地址生成单元152可以被实现为将如上所述的第一块大小以及要读取的块的参考坐标提供给读取器151。例如,第一块地址生成单元152在通过公式1旋转与第一块的左侧角相对应的位置之后计算具有与其最接近的整数值的坐标值。第一块地址生成单元152可以通过考虑执行插值所需的相邻像素(即,相邻像素)来选择所述块大小。
多个图像处理模块153中的每一个可以被分离地连接到多个缓冲器154中的对应的一个并且使用连接到其的相应缓冲器来执行图像处理。这里,多个图像处理模块153可以包括偏斜补偿模块153-1、伽玛校正模块153-2、色彩校正模块153-3、图像分割模块153-4以及滤波模块153-5。偏斜补偿模块153-1可以被称为旋转器。示例性实施例已经描述了多个图像处理模块是五个,但是多个图像处理模块可以被实现为仅包括两个或五个或者包括包含除了上述模块之外的附加模块的六个或者更多个模块。虽然示例性实施例已经图示和描述了所述图像处理模块在执行偏斜补偿之后执行比如伽玛校正操作和色彩校正操作的操作,但是所述多个图像处理模块可以被实现为在执行偏斜补偿之前执行伽玛校正和色彩校正。
偏斜补偿模块153-1被连接到第一缓冲器154-1并且将从读取器151提供的扫描图像块存储在第一缓冲器154-1中。偏斜补偿模块153-1可以感测扫描图像的偏斜角度。虽然示例性实施例已经描述了偏斜补偿模块153-1检查偏斜存在与否并且感测所述偏斜角度,但是也可以实现为:第一块地址生成单元152或者其它分离的模块检查偏斜存在与否并且感测所述偏斜角度。
偏斜补偿模块153-1补偿对存储在第一缓冲器154-1中的扫描图像块所感测到的偏斜角度。稍后将参照图4描述偏斜补偿模块153-1的详细配置和操作。
伽玛校正模块153-2被连接到被配置成存储伽玛表的第二缓冲器154-2,并且对从偏斜补偿模块153-1提供的扫描图像块执行线性校正。具体来说,伽玛校正模块153-2可以使用存储在第二缓冲器154-2中的伽玛表来线性地校正图像传感器的唯一伽玛函数类型的失真特性。
伽玛校正模块153-2可以校正关于经偏斜补偿的图像块的亮度值差。伽玛校正模块153-2可以校正阴影(shading),所述阴影是指当通过光源相对于图像的主辐射方向未均匀地形成光时生成的亮度值的差。以下可以实现:在伽玛校正模块153-2中,在执行伽玛校正之前执行阴影校正。
色彩校正模块153-3被连接到被配置成存储色彩校正表的第三缓冲器154-3,并且对从伽玛校正模块153-2提供的扫描图像块执行色彩校正。
图像分割模块153-4被连接到第四缓冲器154-4并且将从色彩校正模块153-3提供的扫描图像块存储在第四缓冲器154-4中。图像分割模块153-4可以从存储在第四缓冲器154-4中的扫描图像块去除不必要的部分(例如,相邻像素区)。在上述示例性实施例中,处理包括具有第二块大小的有效像素区和在所述有效像素区周围的相邻像素区的第一块大小的图像。因此,图像分割模块153-4可以从第一块大小的图像块去除不必要的相邻像素区并且输出去除结果。
滤波模块153-5被连接到第五缓冲器153-5并且存储从图像分割模块154-5提供的扫描图像块。滤波模块154-5对经图像分割的图像块执行滤波处理。
第二块地址生成单元155生成其中将存储经多个图像处理模块图像处理的扫描图像块的存储单元130的地址。示例性实施例已经描述了第二块地址生成单元155生成存储单元130的地址,但是以下可以实现:在第一块地址生成单元152中生成经图像处理的扫描图像块的存储地址,并且所生成的地址被提供给第二块地址生成单元155。
写入器156可以基于在第二块地址生成单元155中生成的地址通过***总线170将在多个图像处理模块中处理过的图像块存储在存储单元130的预设区域135中。
图3是图示偏斜感测和偏斜补偿的视图。
参照图3,当供给所述原稿时,图像处理器150从打印纸的顶部边界感测是否产生偏斜。
当确定是否产生偏斜时,图像处理器150可以计算具体的偏斜角度。计算偏斜角度的方法已经众所周知,因此将省略对其的详细描述。
从图3可见打印介质向左倾斜角度θ’。当所述打印介质向左或者向右倾斜时,图像处理器150可以将所述倾斜角度检测为所述偏斜角度。
图4是解释图2的偏斜补偿模块的操作的视图。
参照图4,偏斜补偿模块153-1或者200可以如公式1那样将读取的扫描图像块关于设置在(xc,yc)周围的中心部分以顺时针方向或者逆时针方向旋转角度θ并且获得目标图像。在示例性实施例中,因为源图像被向顺时针方向旋转了角度θ,所以偏斜补偿模块200可以通过将源图像向逆时针方向旋转角度θ来补偿所述偏斜。
另一方面,在数字图像中,源图像和目标图像通过具有整数值的坐标来配置,并且与所述坐标中的每一个相对应的像素值可以一般地以具有0到255的256个灰度级的数字值表示。
因此,在偏斜补偿模块200接收到对其未执行偏斜补偿的图像500并且执行偏斜补偿之后,偏斜补偿模块200输出经偏斜补偿的扫描图像块530。如图4中图示,对于下一级的其它图像处理模块,经偏斜补偿的扫描图像具有重叠的数据(区域540的外部区域530)。
如图4中图示的,偏斜补偿块200可以包括缓冲器控制器210、位置生成单元220以及插值单元230。
缓冲器控制器210接收扫描图像块并将所接收到的扫描图像块存储在第一缓冲器154-1中。缓冲器控制器210执行读取插值单元230中所需的数据的功能并且将所读取的数据提供给插值单元230。
位置生成单元220生成要从其读取插值单元230中所需的数据的地址。
插值单元230使用相邻像素区对有效像素区执行插值。具体来说,插值单元230使用有效像素区的相邻像素值来执行插值以计算目标的像素值。插值单元230可以使用双线性插值法或二次插值法来执行插值。稍后将参照图5描述插值方法。
图5是图示根据本总体发明构思的示例性实施例的插值操作的视图。
参照图5,其中P1(x1,y1)被旋转的坐标601变成坐标P2(x2,y2)602。然而,如图5中图示,P2具有实数值,但是与P2相对应的像素值不存在。因此,插值单元230可以使用在坐标P2周围的像素值a11到a33来执行插值。例如,当使用双线性插值时,可以使用四个值,即a11、a12、a21和a22来执行插值,而当使用二次插值法时,可以使用九个值,即a11到a33来执行插值。
因为使用的相邻像素位置根据插值方法而不同,所以根据插值方法来改变第一块的大小。
图6是图示根据本总体发明构思的示例性实施例的块大小的视图。图6是图示与目标块相对应的的源图像的区域和包括相邻像素的区域的放大视图。
参照图6,可以根据以下公式2来计算从扫描图像读取的块的大小。
[公式2]
P=[M×cos(θ)+N×sin(θ)]+(Tl+Tr)
Q=[M×sin(θ)+N×cos(θ)]+(Tu+Td)
这里,θ是偏斜角度,P是第一块的水平长度,Q是第一块的垂直长度,M是第二块(有效像素)的水平长度,N是第二块(有效像素)的垂直长度,并且T1、Tr、Tu和Td中的每一个是插值所需的相邻像素的数量。具体来说,当所述插值是双线性插值法时,(T1+Tr)=2并且(Tu+Td)=2,而当所述插值方法是二次插值法时,(T1+Tr)=3并且(Tu+Td)=3。
存储器缓冲器的水平长度P2等于P并且其垂直长度Q如下所示。
P2=P
Q2=[N×sin(θ)]+(T1+Tr)
虽然已经描述了第一块大小被计算为使得有效像素区与相邻块不重叠,但是第一块大小也可以被计算为使得第二块相互重叠。
图7是图示根据本总体发明构思的示例性实施例的图像处理方法的流程图。
参照图7,首先,在操作S710中,图像扫描装置扫描原稿并且生成扫描图像。
在操作S720中,图像处理装置将所生成的扫描图像存储在存储单元中。在扫描单元中扫描的扫描图像可以被存储在存储器的预设区域中。
在操作S730中,图像扫描装置以预设的块单元读取所生成的扫描图像。稍后将参照图8描述以预设块单元读取的操作。
在操作S740中,所述图像扫描装置使用多个图像处理模块顺序地对以块单元读取的扫描图像执行图像处理,所述多个图像处理模块分离地包括被配置成存储块单元的扫描图像的缓冲器。所述图像扫描装置可以使用偏斜补偿模块对以块单元读取的扫描图像优先地执行偏斜补偿,然后对块单元的经偏斜补偿的扫描图像顺序地执行其它图像处理。已经参照图2预先描述了使用多个图像处理模块的多个图像处理操作,因此将省略对其的详细描述。
在操作S750中,所述图像扫描装置存储块单元的经图像处理的扫描图像。所述图像扫描装置可以将块单元的经图像处理的扫描图像存储在存储器的与所述块的位置相对应的预设区域中。
在操作S760中,所述图像扫描装置确定是否对所有块执行了所述图像处理。当在操作S760中确定未对所有块都执行了所述图像处理时,所述图像扫描装置对未对其执行图像处理的块重复执行如上所述的操作S730、S740和S750。
根据上述示例性实施例的图像补偿方法可以使用具有小容量的存储器缓冲器的图像处理器来执行补偿(例如,偏斜补偿)。此外,即使当图像具有高分辨率或者复杂的插值方法被使用时,也可以使用小容量的缓冲器。根据示例性实施例的图像补偿方法使用多个图像处理模块来共同执行偏斜补偿及其它图像补偿。如图7中图示的图像补偿方法可以在具有图1的配置的图像扫描装置上执行并且还可以在具有其它配置的图像扫描装置上执行。
上述图像补偿方法可以利用包括可在计算机中执行的算法的程序(应用)来实现,并且所述程序可以在非瞬时计算机可读介质中存储和提供。
非瞬时计算机可读介质不是比如寄存器、高速缓存、存储器等等的被配置成临时存储数据的介质,而是被配置成半永久地存储数据的装置可读的介质。具体来说,上述应用或者程序可以在非瞬时计算机可读介质中存储和提供,所述非瞬时计算机可读介质比如致密盘(CD)、数字多功能盘(DVD)、硬盘(HD)、蓝光盘、USB、存储卡、只读存储器(ROM)等等。
图8和图8A是图示图7的方法的读取操作S730的流程图。
参照图8,首先,在操作S810中,所述图像处理器初始化第一计数器值i。
在操作S820中,所述图像处理器确定第一计数器值是否小于一高度,并且在操作S830中,当确定第一计数器值小于所述高度时,所述图像处理器初始化第二计数器值j。
在操作S840中,所述图像处理器确定第二计数器值是否小于一宽度。当在操作S840的否中确定第二计数器值大于所述宽度时,所述图像处理器在操作S850中将第一块的垂直长度(Q)加到第一计数器值并且再次执行操作S820。
当在操作S840的是中确定第二计数器值小于所述宽度时,所述图像处理器计算旋转前的坐标(S860),然后在操作S870中计算旋转后的坐标。
在操作S880中,所述图像处理器从所述扫描图像读取具有P×Q大小的块。所述图像处理器在操作S890中将第一块的水平长度(P)加到第二计数器值并且再次执行操作S840。
参照图8A,在操作S820A中确定高度不大于参考高度并且宽度不大于参考宽度。该方法可以包括在操作S860A计算旋转之前的坐标。操作S870A和S880A可以与图8中的操作S870和S890相同或相似。
尽管已经示出和描述了本总体发明构思的几个实施例,但本领域技术人员将会理解,可以对这些实施例做出改变而不会偏离本总体发明构思的原理和精神,本总体发明构思的范围在权利要求及其等效物中限定。