在嵌入式系统中按比例缩放数字图像的方法

文档序号:7909984阅读:400来源:国知局
专利名称:在嵌入式系统中按比例缩放数字图像的方法
技术领域
本发明通常涉及按比例缩放数字图像的方法,并且特别涉及按比例缩放数字图像,即,用于缩小或放大数字图像,以在嵌入式系统中显示的方法。
背景技术
随着数字图像的产生,数字图像装置的各种各样大小和形状的数字图像已经被商业化并且被引入。诸如数字TV、HDTV(高清晰度电视)、PDA(个人数字助理)、IMT-2000(国际移动电信-2000)终端等的数字图像装置提供了传统的模拟图像装置所不能提供的清晰的图像,并且还提供各种各样的图像处理功能,例如,划分、放大、缩小、图像平滑、等等,这些功能可能只能通过数字图像处理来进行。
需要许多的系统资源来实现上述的各种数字图像处理功能。因此,在数字TV、DVD(数字化视频光盘)播放器等能量供应充足并且装置的尺寸大到足以实现数字图像处理功能的装置中,可以毫不困难地实现各种的数字图像处理功能。但是,由于诸如IMT-2000的便携式通信终端站、PDA、数字可携式摄像机等通常具有小的尺寸、有限的能量供应、小的存储器容量并且其处理器的处理速度较慢,所以嵌入式系统在其功能中实现数字图像中有许多困难和限制。
用于放大/缩小图像的图像按比例缩放技术作为一种数字图像处理功能被广泛地用于从摄像机输入的图像或用于实现部分放大功能或在数字图像输出装置中的PIP(画中画)功能。但是,由于彩色/活动图片便携式通信终端最近非常的普遍了,所以图像按比例缩放成为了在解决标准视频信号CODEC(编码器/解码器)和各种尺寸的LCD(液晶显示器)装置之间的界面问题中的一项最重要的技术。标准的视频信号CODEC被设计用于支持176×144的QCIF(正交通用界面格式(quadrature common interface format))尺寸。相反,LCD装置根据终端的尺寸或它们的制造成本被制造成为各种用于图像显示的尺寸,并且因此,它可以被生产成为各种尺寸中的一种,从例如128×192的小尺寸到240×240的大尺寸。因此,LCD装置需要放大或缩小图像以显示从LCD的图像显示上的标准的视频信号CODEC输出的图像。
上述的放大或缩小图像的图像按比例缩放技术,是多样化并且非常复杂的,而且有许多方法是已知的。这些各种各样的方法导致了这样的事实,即用于通过放大/缩小来保持源图像的特性的方法在图像的尺寸改变的时候是非常的不同的。但是,适用于诸如嵌入式系统的具有小系统能量的系统的图像按比例缩放技术却不是众所周知的。这是由于一种共识,即图像按比例缩放技术由于图像按比例缩放技术的实现需要许多操作过程而不适用于嵌入式系统。在像素单元的处理中,由于图像是以每秒10帧速度输出的,所以在实时的活动图片显示中需要大量的处理过程。因此,用于嵌入式系统的图像按比例缩放技术相对于硬件而受到了忽视,因为基于至今已知的技术,需要复杂的硬件结构和高能的系统来实现图像修正功能。
此外,当通过硬件实现图像修正功能的时候,因为通过硬件的实现只允许少数的结构类型,所以相对于软件,很难获得应用的灵活的界面。与软件不同,如果通过软件来实现图像修正功能,可以允许各种的应用,例如,在输入/输出中的像素单元中的控制就可能了,并且在用于LCD输出的应用软件的结构设计中没有限制。此外,采用软件的图像按比例缩放为各种的视频信号CODEC和LCD输入/输出界面提供了灵活的界面。但是,由于大量的处理过程,所以在嵌入式系统中不能实现活动图片,即使那些具有高性能的芯片的装置。
当考虑到上述的问题后,优选地通过软件来在嵌入式系统上实现图像修正功能,但是为了实现而进行的大量的处理过程应该足够的少而不对软件产生麻烦。实现图像修正功能的最简单的方法是根据按比例缩放的比率通过下采样(down-sampling)源图像的像素来缩小图像并且减少像素的数量,或者功过简单地复制源图像的像素来放大图像并且增加像素的数量。上述的技术可以参照图1来进行说明,图1示出了作为向上按比例放大(up-scaling)的放大图像的示例。
在图1中,为了从3个源像素生成9个放大的图像像素,即从源像素P1~P3生成目标像素P1′~P9′,目标像素P1′~P3′可以通过复制源图像P1来生成,并且目标像素P4′~P6′可以通过复制源图像P2来生成,并且目标像素P7′~P9′可以通过复制源图像P3来生成。因此,不用处理,图像尺寸就可以增加,但是放大的图像的图像的质量严重地下降,因为是通过简单地复制源图像来生成的。
为了提高放大的图像的质量,提出了插值(interpolation)的DDA(数字微分分析器)运算,这种处理是通过向源图像提供与目标图形的图像尺寸成比例的缩放比率差不多的加权值(weight value)来进行的。下面将参照图1来说明根据DDA运算放大图像的向上按比例缩放的例子。如图1所示,为了从3个源像素P1~P3生成9个目标像素P1′~P9′,目标像素P1′~P9′的像素值如下面的表1所示。
即,目标像素P1′~P9′可以通过将一个或两个相邻的源像素值乘以斜率(=1/3)来生成,该倾斜度有赖于放大的图像尺寸与源图像尺寸的按比例缩放比率和对应于与相邻的源像素的距离的目标像素的加权值,并随后将相乘的值相加。因此,由于通过插值方法的对应的源像素的相邻的源像素值在目标像素值上的反映,放大的图像的质量相对于源图像的复制有了很大的改进,但是由于简单地乘以根据源像素值的按比例缩放比率的斜率和加权值,所以仍旧不能期待高质量的放大的目标图像。此外,由于处理过程包括划分处理过程和乘法处理过程,所以仍旧需要大量的处理过程。
如上所述,用于嵌入式系统的图像按比例缩放功能优选地应该通过软件来实现,并且处理过程的数量应该足够的小以便通过软件来实现。但是,通过少量的处理过程的图像按比例缩放技术由于缩放的图像的质量下降而仍旧存在许多问题,并且即使考虑到了图像质量的下降,它就需要大量的处理过程。因此,应该最小化图像质量的下降并且应该减少在嵌入式系统中的处理过程的数量。

发明内容
因此,本发明的设计旨在解决上述的现有技术中的问题,本发明的目的是提供一种用于嵌入式系统的数字图像按比例缩放的方法。
本发明的另一个目的是提供一种按比例缩放图像的方法,同时减少处理过程的数量并最小化图像质量的下降。
为了实现上述的和其他的目的,提供了一种在嵌入式系统中的图像的比例缩放方法,用于通过按比例缩放数字源图像来生成数字目标图像,包括步骤确定源图像和目标图像的各个最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的成为在0-2n(n为自然数)之间的值的每个点,并且两个相邻的像素之间的加权值的和为2n;以及通过使用在对应的目标像素值上反映的源像素值和对应于到源像素的距离的加权值来获得对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成目标图像。
根据本发明的另一个方面,图像按比例缩放的方法包括步骤确定源图像和目标图像的各个最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的成为在0-2n(n为自然数)之间的值的每个点,并且两个相邻的像素之间的加权值的和为2n;以及通过采用在对应的目标像素值上反映的源像素值,和对应于到源像素的距离的加权值获得的最小处理块的每个最小处理单元的像素值来生成目标图像,其中通过将目标图像的最小处理单元乘以最小处理单元形成的每个最小处理块,与通过源图像的一个最小处理单元的每一边的长度的平方形成的每个最小处理块相对应。
根据本发明的另一个方面,图像按比例缩放的方法包括步骤确定源图像和目标图像的最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;通过获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的成为在0-2n(n为自然数)之间的值的每个点,并且两个相邻的像素之间的加权值的和为2n,并且通过将每个加权值和每个像素值相乘来产生查询表;以及,通过参照为了得到在对应的目标像素值上反映的源图像像素的距离的查询表的处理获得的,对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,来生成目标图像。
根据本发明的另一个方面,确定源图像和目标图像的最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;通过获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的成为在0-2n(n为自然数)之间的值的每个点,并且两个相邻的像素之间的加权值的和为2n,并且通过将每个加权值和每个像素值相乘来产生查询表;以及通过参照为了得到在对应的目标像素值上反映的源图像像素的距离的查询表的处理获得的,对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,其中通过将目标图像的最小处理单元乘以最小处理单元形成的每个最小处理块,与通过作为源图像的一个最小处理单元的长度的每一边的平方形成的每个最小处理块相对应。


本发明的上述的和其他的目的、特点和优点将通过下面参照附图的说明而变的更加的明了,其中
图1示出了传统图像向上按比例缩放的示例;
图2(a)和2(b)示出了根据本发明的将源图像和目标图像通过最小处理单元和最小处理块来划分的示例图3a示出了根据本发明的在将两个相邻的像素之间的间隔除以8时的加权值的示例图3b示出了根据本发明的来自源图像的目标图像的像素值的产生的示例图4示出了根据本发明的图像按比例缩放装置的块图5示出了根据本发明的第一实施例的图像按比例缩放的流程图
图6示出了根据本发明的确定最小处理单元的流程图7示出了根据本发明的加权值处理过程的流程图8示出了生成图5的目标图像的最小处理单元的流程图9示出了生成图5的目标图像的示例图10示出了根据本发明的第二实施例的图像按比例缩放的流程图11示出了生成图10的目标图像的最小处理单元的流程图12示出了生成图11的目标图像的示例图13示出了根据本发明的另一个图像按比例缩放装置的块图14示出了根据本发明的第三实施例的图像按比例缩放的流程图15示出了根据本发明的生成查询表的流程图16示出了生成图15的目标图像的最小处理单元的流程图17示出了根据本发明的第四实施例的图像按比例缩放的流程图18示出了生成图17的目标图像的最小处理单元的流程图。
具体实施例方式
下面将参照附图详细说明本发明的优选实施例,在下面的说明中,为了简明说明本发明,省略了对于公知的功能和配置的说明。
本发明提供了一种图像按比例缩放的方法,用于放大或缩小图像,如图2所示,其中源图像和目标图像根据缩放比例在横向和纵向上被划分为用于每一边的相同数量的单元,并且在划分的单元上一个一个地连续地进行缩放处理。在本发明中划分的单元被称为“最小处理单元”,并且用每个边为源图像的一个最小处理单元的长度的正方形定义的块称为“最小处理块”。最小处理单元的尺寸是通过在每个横向和纵向中的源图像和目标图像的最大公约数确定的。
图2示出了向下按比例缩放的例子,即,将如图2(a)所示的尺寸为242×198的图像缩小到如图2(b)所示的尺寸为176×144的图像。因为242和176的最大公约数是22,所以图2(a)的源图像和图2(b)目标图像的横向边被划分为22个最小处理单元。因为198和144的最大公约数是18,所以图2(a)的源图像和图2(b)目标图像的纵向边被划分为18个最小处理单元。源图像的最小处理单元包括11个像素,并且目标图像的最小处理单元包括8个像素。源图像的最小处理块的尺寸为11×11,并且目标图像的最小处理块的尺寸为8×8。因此,源图像和目标图像被划分成为相同数量的最小处理块,即22×18,尽管两个图像的每个最小处理块的尺寸彼此不相同。较小的最小处理块的尺寸比较好,并且尺寸可以根据缩放比例而不同。最好的情况是,2×2,并且最糟糕的情况是有着与目标图像一样的尺寸。在最好的情况下,缩放比例是2或0.5倍,而最坏的情况意味着不能找到源图像和目标图像的最大公约数。
在本发明中,加权值是由对应于在两个相邻的源图像的像素之间的被均匀划分的点的整数定义的,并且是在0-2n范围中的值,并且两个像素的加权值的和是2n。这里,n是自然数,并且在下面的说明中也是同样的。加权值是源图像值乘以的值,对应于在源图像像素和目标像素之间的距离,反映在从源图像生成的目标图像的像素值中。如果将两个相邻的像素之间的间隔分为最多的点,则加权值可以被再分成最大的值,根据图像按比例缩放的处理过程可以更加精确地执行,并且目标图像的图像质量可以提高,但是处理过程的数量会减少。此外,n值越高,加权值能够被再分成越大的值,根据图像按比例缩放的处理过程可以更加精确地执行,并且目标图像的图像质量可以提高,但是处理过程的数量会减少。因此,n值可以根据采用本发明的图像按比例缩放技术的嵌入式系统所要求的图像的精确度,即目标图像要求的图像质量来确定。在本发明的发明人的实验结果中,10是适合IMT-2000终端、PDA和类似装置中的n值,并且8是适合PC(个人计算机)中的n值。
图3示出了一个示例,其中两个像素Pa和Pb之间的间隔被8除,10被选定为n值,并且加权值对应于到作为两个像素Pa和Pb的标准像素的Pa的距离。这里,因为210=1024,所以像素Pa的1/8点的加权值是128(=1024×1/8),2/8点的加权值是256(=1024×2/8),等等,并且8/8点的加权值是1024(=1024×8/8)。即使像素Pa的1/8点的加权值是128,7/8的加权值是896。在两个像素Pa和Pb之间的其他点可以通过上述的同样的方法获得,并且在两个像素Pa和Pb之间的加权值的和是1024。
加权值可以通过下面的等式获得,并且本发明说明了图3a中示出的将两个相邻的像素之间的间隔划分成为8个的情况的示例。
Vw[i]=(integer cast)({Rs×i-(integer cast)(Rs×i)})<<n
在等式1中,i是加权值参数,并且i在上述的情况中是1-8,其中两个相邻的像素之间的间隔被分成8份。Vw[i]是加权值的存储顺序(storage alignment)。Rs是源图像尺寸/目标图像尺寸的比例值。<<n指出了向着最高位的n位移位,并且n-位移位是通过用Rs×i-(integercast)(Rs×i)乘以2n获得的。
例如,当选n为10的时候,在两个相邻的像素之间的加权值的和是210=1024。加权值被选成为在0到1024之间的整数,以便目标图像像素对应于作为生成目标图像像素的处理标准的源图像像素的距离。
图3b示出了当源图像的最小处理单元的尺寸是11,并且目标图像的最小处理单元的尺寸是8的时候,因此,从源图像的11个源图像像素P1-P11生成了目标图像的8个目标像素P1′-P8′。此时,目标像素P1′-P7′是通过根据对应的目的像素的距离反映两个源像素的像素值来生成的,这两个源像素的像素值被反映到对应的目标像素的相邻的像素的像素值上,并且P8′是通过直接移动源像素P11生成的。与上面的情况不同,目标像素P1′-P8′还可以以这样的方式生成,即P1′是通过直接移动源像素P1生成,并且目标像素P2′-P8′是通过根据对应的目的像素的距离反映两个源像素的像素值来生成,这两个源像素的像素值被反映到对应的目标像素的相邻的像素的像素值上。目标像素的像素值,图3b中的P1′-P7′可以通过将相邻的两个源像素的每个像素值乘以加权值,其中加权值代表对应于每个源像素和对应的目标像素之间的距离的值、将两个上述的结果值求和、并向着最低位移位n-位来生成。
如果数字图像中的一个像素值包括8-位数据,则像素值是0-255范围中的一个值,并且目标图像的最小处理单元的尺寸是8,根据等式1的加权值示于表2中,它与图3a和3b一样。但是,Vw[8]是在像素Pb为标准的情况,并且在这种情况下,加权值是0,而不是1024。
下面将说明图3b中的示例。目标像素值,P1′从两个源像素P1和P2生成,并且目标像素P1′=(P1×640)+P2×384>>10。这里,>>10指10位向着最低位移位,它试图将(P1×640)+(P2×384)的结果返回到像素具有的值,通过将(P1×640)+(P2×384)的结果除以1024,因为来自等式1的加权值是个向着最高位的10位移位的值,它是乘以1024的结果。生成目标像素P1′可以通过乘以整数加权值、求和、以及移动来实现,并且其他的目标像素P2′-P7′可以以相同的方式获得。目标像素P8′是通过直接移动源像素P11获得的。
因此,根据本发明,目标像素值可以通过使用整数加权值来生成,其中加权值对应于在目标像素值上反映的源像素的距离,并且两个像素之间的加权值的和是2n,以便在嵌入式系统中要求的图像的质量被显著提高。此外,与传统的情况不同,本发明的处理过程只包括乘以整数而没有除,并且乘以n或除以n的处理过程可以只通过位移位来进行,能够显著地减少处理过程的数量。
图4示出了本发明的实施例的图像按比例缩放的装置的块图,并且图像按比例缩放装置包括处理器100,用于处理图像缩放,以及,第一和第二帧存储器102和104,用于存储图像数据,即像素数据。处理器100可以使用采用本发明的嵌入式系统的主处理器或可以包括单独的处理器。第一帧存储器102用于存储第一帧的源图像数据和从源图像数据生成的目标图像数据,并且第二帧存储器104用于存储在按比例缩放处理过程中需要的图像数据。
参照图5,它示出了根据本发明的第一实施例的处理器100的图像按比例缩放的流程图,其中第一帧的源图像数据存储在第一帧存储器102中,在步骤200,处理器100根据源图像尺寸与目标图像尺寸的缩放比例确定最小处理单元的尺寸。如上所述,源图像和目标图像的最小处理单元的数量被确定为在源图像和目标图像的横向和纵向上是相同的。
参照图6可以更详细地说明处理器100确定最小单元的处理过程。图6示出了在步骤300-306将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的图像。首先,在步骤300,处理器100将源图像的尺寸Src初始化为242、目标图像尺寸Des为176、Src/Des的比例Rs、以及计数值Count为0。然后,在步骤302-304,技术值Count以1增加,直到Rs乘以Count(Rs×Count)是整数。从而,获得了比例Rs的整数倍,并且获得了整数Rs×Count的最小值。如果比例Rs是242/176=1.375,则整数Rs×Count的最小值是11,并且计数值Count是8。如果获得的整数Rs×Count的最小值是11,则11被确定为源图像的最小处理单元的尺寸,并且在步骤306,计数值Count为确定为目标图像的最小处理单元的尺寸。因此,源图像和目标图像的最小处理单元的尺寸被确定为如图2所示。
在处理器100在步骤200确定了源图像和目标图像的最小处理单元的尺寸后,在步骤202根据等式1获得加权值。现在,将参照图7更详细地说明处理器100获得加权值的处理过程,图7示出了步骤400-408将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的目标图像。
在图7中,在步骤400,处理器100初始化参数i为1,并且以1递增知道参数i等于目标图像的最小处理单元的尺寸,在步骤402-408,以获得根据等式1的加权值并获得源像素参数,该源像素参数用于指定将作为处理过程标准的源像素,该处理过程标准用于如下所述根据index[i]=(integer case)(Rs×i)生成每个目标像素。这里index[i]是源像素参数的存储顺序。获得的加权值如表2所示,并且获得源像素加权值如表3所示。同时,步骤402中示出的等式省略了{Rs×i-(integer cast)(Rs×i)})<<n的结果的整数的选择,与基于{Rs×i-(integercast)(Rs×i)})<<n的结果的等式1不同,在将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的目标图像时,始终是整数。
在处理器100在步骤202获得加权值并在步骤204根据下面的等式2获得对应于在源图像的像素行的横向上的源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值之后,处理器100在横向上生成按比例缩放的图像。如果源图像如图9(a)所示,则源图像的每个像素行的最小处理单元在横行上被按比例缩放,如图9(b)所示,通过上述的步骤204,以生成目标图像的最小处理单元,并且生成横向按比例缩放的图像。该横向按比例缩放的图像被存储在第二帧存储器104中。
Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n
在等式2中,i、Vw[i]与等式1中相同,并且Index[i]是(integer cast)(Rs×i),作为源像素参数的存储顺序,Des[i]是目标图像的最小处理单元的存储顺序,并且Src[Index[i]是源图像的最小处理单元的存储顺序。>>n是向着最低位的n位移位,而且该n位移位提供与将{(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]除以2n相同的结果。
为了生成上述的横向按比例缩放的图像,处理器100生成对应于一个源图像的最小处理单元的一个目标图像的最小处理单元的处理过程将参照图8详细说明。
图8示出了在步骤500-506将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的目标图像。首先,在处理器100初始化参数i为1,并且以1递增直到参数i等于目标图像的最小处理单元的尺寸,并且获得根据等式2的目标图像的最小处理单元的目标像素值。因此,在表4中,示出了8个目标图像的最小处理单元的目标像素值。
这里,Src[1]-Src[11]指出了图3B中的源图像的一个最小处理单元的像素P1-P11中的每一个的像素值。例如,在参照图3b说明前述的示例时,如果说明参照表3从两个源像素P1,P2生成目标像素P1′的情况时,目标像素P1′的像素值,Des[11]=(640×Src[1]+384×Src[2])>>10,这里>>10表示向着最高位的10位移位,它试图将(P1×640+P2×384)的结果返回到像素,通过将(P1×640+P2×384)的结果除以1024,,因为当在上述的步骤402从等式1获得加权值时,等式1算出的加权值是一个向着最高位移位了10位的值。目标像素P8′的像素值Des[8]是0,因为源图像的最小处理单元没有Src[12],并且因此,通过将源像素P11乘以1024并且向着最低为移动10位来获得Des[8],这与直接移动源像素P11的值获得的结果一样。
通过为源图像的每个像素行的横行上的所有的最小处理单元一个一个地连续地重复在步骤502-506进行的生成对应于源图像的一个最小处理单元的目标图像的一个最小处理单元的过程,从而从图9(a)的源图像生成了图9(b)所示的横行上按比例缩放的图像。
当在步骤204,在处理器100生成横行上的按比例缩放的图像后,处理器100通过从等式2为在横向上按比例缩放了的图像的每个像素行获得对应于在纵向上的源图像的最小处理单元的源图像的每个最小处理单元的目标像素值来生成目标图像。生成对应于源图像的最小处理单元的目标图像的一个最小处理单元的处理过程可以通过上述的步骤500-506来进行,与步骤204的方法相同。因此,在步骤206图9(b)中的横行上按比例缩放的图像如图9(c)所示在纵向上被按比例缩放,以便图9(c)所示的图像成为了在横向上和纵向上都被向下按比例缩小了的目标图像。如上所述生成的目标图像代替源图像数据被存储在了第一帧存储器102中。
因此,上述的说明是关于在步骤404生成源像素参数index[i]的,但是,它们还可以在步骤502中获得。但是,步骤502的生成增加了处理过程,因为处理过程需要在步骤502中每次都处理最小处理单元,以便获得源像素参数,并且因此,步骤404更加方便。即,在步骤404生成源像素参数index[i]只要求一个用于一个源图像的处理过程,而不许要很多的在每次处理最小处理单元时的重复的处理过程。
当如上所述按比例缩放图像的时候,第二帧存储器104存储如图6图9(b)所示的在横行上按比例缩放的图像的数据,这需要与上述相同的存储能力。通常,因为上述的嵌入式系统缺少存储能力,优选地减少第二帧存储器104的存储容量。如果通过最小处理块的单元从源图像生成目标图像以替代通过首先在横向上按比例缩放所有源图像,然后在纵向上进行,则第二帧存储器104只需要具有目标图像的最小处理块的存储容量。即当缩小时,处理器100开始从源图像的起点以最小处理块为单元存储目标图像。在生成源图像的一个最小处理块的同时,在第二帧存储器104中存储像素的图像数据,并且如果完成了最小处理块的生成,则在第一帧存储器102中存储生成的目标图像的最小处理块的图像数据。对于存储在用于在第一帧存储器102中存储目标图像的最小处理块的图像数据的存储单元中的源图像,因为在完成目标图像的生成后就不需要了,所以目标图像的最小处理块的图像数据可以代替上述的源图像数据存储。但是,在用于放大源图像的向上按比例放大的情况下,不能使用上述的方法,因为目标图像的最小处理块的尺寸大于源图像的最小处理块的尺寸,因此,如果使用上述的方法,则在目标图像生成之前源图像的数据就消失了。考虑到这个问题,处理器100从存储在第一帧存储器102中的源图像的末端开始以最小处理块为单位生成目标图像。在生成目标图像的一个最小处理块的同时,在第二帧存储器104中存储像素的图像数据,并且如果一个对应于最小处理块的生成完成了,则生成的最小处理块从第一帧存储器102的存储单元的末端存储。
对于上述的处理过程,第一帧存储器需要具有至少与放大的目标图像的尺寸一样的存储容量。当源图像的一帧在放大之前存储时,第一帧存储器102在其末端具有与源图像尺寸和目标图像尺寸的差相同的存储能量。如上所述,目标图像是从源图像的末端以最小处理块为单位开始生成的,并且如果生成的最小处理块从第一帧存储器102的空闲的末端开始生成,则源图像数据就不会在目标图像数据生成之前消失了。
图10示出了根据本发明的第二实施例在最小处理块单元中生成目标图像的的图像按比例缩放的方法。处理器100在步骤600根据缩放比例源图像和目标图像的最小处理单元,并且在步骤602从等式1获得加权值。由于步骤600和602与图5中的步骤200和202相同,在此省略了说明。然后,处理器100在步骤604从等式2为源图像的最小处理块的每个像素行获得对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值以便生成在横向上按比例缩放的最小处理块。扫描的最小处理块从源图像的起点在横向上开始生成。当图12(a)示出了源图像时,在步骤604,如图12(b)所示,源图像的最小处理块在横向上被按比例缩放,并且生成了在横行上的按比例缩放的最小处理块。在横向上按比例缩放的最小处理块的数据被存储在第二帧存储器104中。
图11示出了处理器100的处理过程,用于从源图像的一个最小处理单元生成在横向上按比例缩放的一个最小处理块,通过将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的目标图像这个例子来说明,以在上述的步骤604生成在横向上按比例缩放的最小处理块。步骤700-712是关于通过重复图8中的用于生成一个上述的图像数据的最小处理单元的步骤500-506,来生成在横向上按比例缩放的一个与源图像的一个最小处理块具有数量相同的最小处理单元的最小处理块。由于一个最小处理块的最小处理单元的数量是11,与像素行的数量相同,在图11的步骤700到712生成在横向上按比例缩放的一个最小处理块。
在图11中,处理器100在步骤700将计数值Count初始化为0,并且在步骤702选择‘目标图像的最小处理单元的尺寸×Count’作为参数i。然后在步骤704-708,处理器100以1递增参数i直到参数i等于目标图像的最小处理单元的尺寸,与图8的步骤502-506相同,以便根据等式2为目标图像的最小处理单元获得目标像素值。如果参数i与目标图像的最小处理单元的尺寸相同了,即,如果完成了一个最小处理单元的处理过程,则处理器100在步骤710将计数值Count增加1,并且随后在步骤712检测是否计数值Count等于了源图像的最小处理单元的尺寸。如果计数值Count不等于源图像的最小处理单元的尺寸,则处理过程进行步骤702以重复狭义个最小处理单元的处理。如果计数值Count等于了源图像的最小处理单元的尺寸,则完成了在横向上按比例缩放源图像的一个最小处理块的所有最小处理单元的处理过程。
如上所述,如果生成了在横向上按比例缩放的一个最小处理块,则处理器100从等式2在步骤700-712中为在步骤606被在横行上按比例缩放了的最小处理块的每个像素行获得对应于源图像的最小处理单元的目标图像的最小处理单元的目标像素值,与步骤604相同,以生成在横行上和纵向上按比例缩放的最小处理块。如果在横向上按比例缩放的最小处理块与图12(b)中的相同,则在横行上和纵向上按比例缩放的最小处理块,即,在步骤606如图12(c)所示生成一个目标图像的最小处理块。上述的在横向上按比例缩放的最小处理块的数据被存储在上述的第一帧存储器102中。然后,处理器100检测是否在步骤608生成了目标图像的所有的最小处理块,并且如果生成还没有完成,则进行步骤604,并生成下一个最小处理块。
因此,如果第二帧存储器104能够存储在从源图像的一个最小处理块,即,只在横向上按比例缩放了的一个最小处理块,生成目标图像的一个最小处理块的过程中需要的图像数据,则它需要具有至少等于在横向上按比例缩放的一个最小处理块的存储容量。因此,相对于本发明的第一实施例,减少了需要的存储器容量。
根据本发明的第一和第二实施例,嵌入式系统需要的图像质量能够被满足并且它们的处理过程只包括乘以整数,与传统的情况不同,传统的情况包括除以的处理过程,并且乘以n或者除以n的处理过程被n位的移动所代替,以便显著地减少处理过程。但是,第一和第二实施例包括通过等式2为每次生成目标图像的目标像素而处理两次,即,一次是当在横向上按比例缩放的时候,并且然后,另一次是在纵向上按比例缩放的时候。从上述的本发明的第一和第二实施例的图中看出,根据如图3b所示的最小处理单元从源图像生成目标图像的处理过程在横向和纵向上重复。即,重复等式2的从11个源象P1-P11生成8个目标像素P1′-P8′,因为如上所述数字图像的像素值是0-255中的一个值,只有整合到处理过程中的值是不同的。通过上面的考虑,可以通过实现准备一个查询表而省略当生成每个目标像素值的时候将源像素乘以加权值的处理过程,查询表是通过将加权值乘以源像素可能具有的例如在0-255的范围的像素值形成的。
图13示出了根据本发明的另一个实施例的图像按比例缩放装置的块图,它是一种使用上述的查询表生成目标图像的装置,并且该图像按比例缩放装置是通过将查询表存储器106加到图4的图像按比例缩放装置来构造的,以在其中存储查询表。处理器100生成查询表,并且如下所述,在执行从源图像生成目标图像之前,存储在查询表存储器106中。
图14示出了根据本发明的第三实施例通过处理器100的图像按比例缩放处理过程的流程图,它采用查询表。首先,处理器100在步骤800根据缩放比例确定源图像和目标图像的最小处理单元。步骤800与上述的图5的步骤200相同,在此省略了其说明。处理器100在步骤802从等式1获得加权值,并且通过将每个加权值乘以每个像素值生成查询表,其中每个像素可以通过等式3获得。
Lookup_Table[i][Table_Index]=(Vw[i]×Table_Index)>>n
在等式3中,i是目标图像的最小处理单元的目标像素的参数,Vw[i]是目标图像的最小处理单元的目标像素的加权值的存储顺序,并且Lookup_Table[i][Table_Index]是包括参数i和每个像素都有的像素值的参数Table_Index的查询表存储顺序。
参照图15,它示出了根据上述的步骤802由处理器100处理查询表的详细的流程图,处理器100在步骤900将参数i初始化为1,并且在步骤902从等式1获得加权值。然后,在步骤906-901,当在步骤902将表参数Table_Index初始化为0之后,将表参数Table_Index以1递增,直至表参数Table_Index超过255,并且从等式3为对应于一个参数值i的一个加权值获得查询表。最后,如果为对应于一个参数值i的一个加权值获得了包括值1-255的查询表,则在与图7的步骤404相同的步骤912获得源图像参数。然后,在步骤914通过检测是否参数i等于目标图像的最小处理单元的尺寸,当参数i还不等于目标图像的最小处理单元的尺寸的时候,在步骤916将参数i增加1,并且上述的处理过程从步骤902开始重复。直到参数i等于目标图像的最小处理单元的尺寸,步骤902-906被重复以生成表5的查询表Lookup_Table[i][Table_Index],并且生成表3的参数顺序,并且它们被存储在查询表存储器106中。
这里,表5中的Vw[1]-Vw[8]与表3中的那些一样,Vw[1]×1>>10,Vw[1]×2>>10、Vw[1]×3>>10,......等是通过在查询表中生成进行了乘和移动的值而获得的,并且存储它们,但是在表中仅仅为了方便而表示为等式。
在生成了查询表并且在查询表存储器106中存储之后,处理器100从等式4通过参照表5的查询表为每个对应于在横向上的源图像的每个像素行的源图像的最小处理单元的目标图像的每个最小处理单元获得目标像素值,以便生成在横向上按比例缩放的图像。Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]
这里,在等式4中,i是目标图像的最小处理单元的目标像素的参数,Lookup_Table[i][Table_Index]是查询表存储顺序,包括参数的i顺序和一个像素具有的像素值的参数Table_Index;Des[i]是目标图像的最小处理单元的存储顺序;Index[i]是作为标准的用于生成目标像素的源像素参数的存储顺序,并且它等于(integer cast)(Rs×i);并且Const被初始化为1/2如下所述的目标图像的最小处理单元的尺寸,并且如果参数i大于1/2的目标图像的最小处理单元的尺寸,则改变标号。
为了如上所述通过使用上述的查询表生成横向按比例缩放的图像,处理器100的生成对应于源图像的最小处理单元的目标图像的最小处理单元的处理过程将参照图16来更加详细的说明,图16示出了在步骤1000~1010,将图2(a)的尺寸为242×198的源图像缩小为图2(b)的尺寸为176×144的目标图像。
在图16中,在处理器100将参数i初始化为1,并且将Const值选定为目标图像的最小处理单元的尺寸的1/2,即4,它将参数i以1递增直到参数i等于目标图像的最小处理单元的尺寸,并且根据等式4获得目标图像的最小处理单元的目标像素值。如果参数i大于目标图像的最小处理单元的尺寸的1/2,则在步骤1010改变Const值的标号。因此,获得了如表4所示的目标图像的最小处理单元的8个目标像素值。但是,由于当生成如上所述的查询表的时候,已经进行了源像素值和加权值的乘法以及移位,只要通过将在表5中示出的Lookup_Table[i+Const][Src[Index[i]]的值和Lookup_Table[i][Src[Index[i]+1]]的值相加就可以获得每个目标像素值。
通过为源图像的每个像素行的横行上的所有的最小处理单元一个一个地连续地重复在步骤1000~1010进行的生成对应于源图像的一个最小处理单元的目标图像的一个最小处理单元的过程,从而从图9(a)的源图像生成了图9(b)所示的横行上按比例缩放的图像。
在处理器100从上述的步骤804生成横向按比例缩放的图像后,它在步骤806通过从等式4为横向按比例缩放的每个像素行获得对应于在纵向上的每个源图像的最小处理单元的目标像素值,并且通过参照表5的查询表进行的处理来生成目标图像。正象在步骤804中,对应于一个源图像的最小处理单元的一个目标图像的最小处理单元的生成是在步骤1000~1010中执行的。因此,在步骤806,如图9(b)所示的横向按比例缩放的的图像被在纵向上按比例缩放,如图9(c)所示。如上所述产生的目标图像的数据存储替代源图像的数据而存储在了第一帧存储器102中。
因此,处理器100可以减少处理过程的数量并且其按比例缩放的处理速度可以提高,因为,在生成每个目标像素时,使用了查询表,该查询表是事先通过将像素值乘以加权值生成的,以便可以从等式2省略相乘的处理过程。
源图像的尺寸和目标图像的尺寸通常在嵌入式系统中确定,即使尺寸可以通过用户的选择来改变,它也不能每一帧地改变。一旦生成了查询表,只要嵌入式系统的电源“打开”,或者源图像和目标图像的尺寸被改变,预先设置的查询表就能够使用。即使在最坏的情形下,它也可以至少用于一帧。如果采用本发明的嵌入式系统是这样的,其中源图像和目标图像的尺寸是固定的,即它根据LCD的图像尺寸来显示从标准的视频信号CODEC输出的图像,也不必改变上述的查询表,以便如果制造商在非易失性的存储器中存储查询表,则可以省略上述的查询表的生成处理过程。
采用上述的查询表的用于按比例缩放图像的本发明可以与图10中的本发明的第二实施例结合起来执行,以生成以最小处理块为单位的目标图像。
图17示出了根据本发明的第四实施例用处理器100按比例缩放图像的流程图。在图17中,处理器100在步骤1100根据缩放比例确定源图像和目标图像的最小处理单元,并且当在步骤1102从等式1获得了加权值之后从等式3生成表5中的查询表。因为步骤1100和1101与步骤800和802相同,所以在此省略了其说明。然后,处理器100在步骤1104通过参照表5中的查询表进行处理,从等式4为源图像的最小处理块的每个像素行获得对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,以便生成在横向上按比例缩放了的最小处理块。处理器100从源图像的起点开始生成在横向上按比例缩放的最小处理单元,如果源图像与图12(a)中的相同,则在步骤1104,源图像的最小处理单元在横向上被按比例缩放,如图12(b)所示,以便生成横向上按比例缩放的最小处理块。如上所述在横向上进行了按比例缩放的最小处理块存储在第二帧存储器104中。
图18示出了在步骤1200到1216,由处理器100进行的,用于从源图像的一个最小处理块生成一个相对应的在横向上按比例缩放了的最小处理块的处理过程,该过程是通过采用将图2(a)中的尺寸为242×198的图像缩小为图2(b)中的尺寸为176×144的图像来示例说明的,以在上述的步骤804生成在横向上按比例缩放的最小处理单元。
步骤1200~1216示出了通过重复参照查询表生成最小处理单元的图像数据的步骤1000~1010来生成在横向上被按比例缩放了的一个最小处理块的步骤,它与源图像的一个最小处理块的最小处理单元的数量相同。
由于一个最小处理块的最小处理单元的数量是11,与像素行的数量相同,所以在图18的步骤1200~1216生成在横向上按比例缩放的一个最小处理块,并且将Const值选定为目标图像的最小处理单元的尺寸的1/2,即4。
在图18中,处理器100在步骤1200将计数值Count初始化为0,并且在步骤1202将参数i的值选定为‘目标图像的最小处理单元的尺寸×Count’。然后,正如图16中的步骤1002~1010,在步骤1204~1212,处理器100以1递增参数i,直到参数i等于目标图像的最小处理单元的尺寸,以便根据等式4通过参照表5的查询表的处理过程获得目标图像的最小处理单元的目标像素值。如果参数i变为与目标图像的最小处理单元的尺寸相同,即,如果完成了一个最小处理单元的处理过程,则处理器100在步骤1214将计数值Count递增1,并且随后在步骤1216检测是否计数值Count等于源图像的最小处理单元的尺寸。如果计数值Count不等于源图像的最小处理单元的尺寸,则处理过程回到步骤1202以处理下一个最小处理单元。如果计数值Count等于源图像的最小处理单元的尺寸,则完成了对于源图像的一个最小处理块的所有最小处理单元在横向上的按比例缩放。
在处理器100生成了在横向上按比例缩放的图像之后,在步骤1106,它在与步骤1104相同的步骤1200~1216中,通过参照查询表的处理过程,从等式4为在横向上按比例缩放了的最小处理块的每个像素行获得对应于源图像的最小处理单元的目标图像的最小处理单元的目标像素值来生成在横向上和在纵向上按比例缩放了的最小处理块。如果横向按比例缩放的最小处理块与图12(b)中的相同,则在步骤1106生成图12(c)中的在横向上和纵向上被按比例缩放了的最小处理块,即目标图像的一个最小处理块。横向上按比例缩放了的一个最小处理块被存储在第一帧存储器104中。然后,在步骤1108,处理器100检测是否生成了所有目标图像的最小处理块,并且,如果生成还没有完成,则进行步骤1104,并生成下一个最小处理块。如果完成了目标图像的所有最小处理块,则流程图的处理过程结束。
因此,使用查询表可以减少处理器100的负担,并且按比例缩放的速度增加了。此外,第二帧存储器104的存储容量可以被减少到等于在横向上按比例缩放了的一个最小处理块的尺寸。
此外,将在下面采用将图2(a)中的尺寸为242×198的图像缩小为图2(b)中的尺寸为176×144的图像来示例说明采用查询表通过使用ANSI(美国国家标准化组织)-C语言来在横向上缩小图像的程序。与图3b不同,下面的程序是一个通过使用用于目标像素值P1′的源像素值P1,以及在其余的目标像素P2′~P8′的像素值上反映的两个相邻的源像素的像素值生成的示例
for(i=0;i<198;i++)for(j=0;j<22;j++){scr Index=i*242+j*11);des Index=i*176+j*8);des[des Index]=src[src Index];des[des Index+1]=tb375src[src Index+2]+tb625[src[src Index+1]];des[des Index+2]=tb750src[src Index+3]+tb250[src[src Index+2]];<!-- SIPO <DP n="24"> --><dp n="d24"/>des[des Index+3]=tb125src[src Index+5]+tb875[src[src Index+4]];des[des Index+4]=(src[src Index+5]+src[src Index+6])>>1;des[des Index+5]=tb125src[src Index+6]+tb875[src[src Index+7]];des[des Index+6]=tb750src[src Index+8]+tb250[src[src Index+9]];des[des Index+7]=tb375src[src Index+9]+tb625[src[src Index+10]];}
即,通过处理整个像素的像素行,生成了242个像素中的176个像素,并且通过重复地处理最小处理单元22次,完成处理过程。如果通过移位和OR将4个像素值存储为32位,则如上所述,当在横向上进行上述处理过程时,作为处理结果的像素值是横向相邻的像素的像素值,可以提高效率。
如上所述,下面将用ANSI-C语言说明使用查询表在纵向上缩小在横向上被按比例缩放了的图像的程序。
for(i=0;i<18;i++)for(j=0;j<176;j++){scr Index=i*11*176+j;des Index=i*8*176+j;des[des Index]=src[src Index];des[desIndex+1*176]=tb375src[srcIndex+2*176]+tb625[src[src Index+1*176]];des[des Index+2*176]=tb750src[src Index+3*176]+tb250[src[src Index+2*176]];des[des Index+3*176]=tb125src[src Index+5*176]+tb875[sre[src Index+4*176]];des[des Index+4*176]=(src[src Index+5*176]+src[src Index+6*176])>>1;des[des Index+5*176]=tb125src[src Index+6*176]+tb875[src[src Index+7*176]];des[des Index+6*176]=tb750src[src Index+8*176]+tb250[src[src Index+9*176]];des[des Index+7*176]=tb375src[src Index+9*176]+tb625[src[src Index+10*176]];}
即,通过处理整个像素的像素列,生成了198个像素中的144个像素,并且通过重复地处理最小处理单元18次,完成处理过程。
如上所述,在用于在横向上缩小源图像的程序和在纵向上缩小源图像的程序中,tb125[]~tb[]是在下面的表6中示出的查询表。
在表6中,tb125[i]、tb250[i]、tb375[i]、tb625[i]、tb750[i]、tb875[i]表示对于提供的未标记的(unsigned)像素值0~255像素在上述图3a中的到像素Pa的1/8、2/8、3/8、5/8、7/8点的加权值的查询表。例如,在表2中,当加权值是Vw[1]=384,则Lookup_Table[1][1]、Lookup_Table[1][2],......Lookup_Table[1][255]对应于tb375[i]。因此表6的查询表实质上与表5的查询表一样。但是,在表6中,与表5不同,没有对应于512加权值的查询表,即,tb500[i],因为des[desIndex+4]是通过将两个源像素值相加、src[srcIndex+5]和src[srcIndex+6]、以及向着最低位移动一位生成的,并且des[desIndex+4*176]是通过将两个源像素值相加、src[srcIndex+5*176]和src[srcIndex+6*176]、以及向着最低位移动一位生成的,如上面的程序所示,以便不需要另外的查询表。
通过本发明的发明者的实验结果,本发明提供了在最小处理块的尺寸为8×8的情况下,通过CIF标准将图像按比例缩放50~200%的比例而图像质量不下降的可能。此外,在通过将两个相邻的像素分成8个点来处理加权值并且采用表5和6中示出的查询表的情况下可以通过8个步骤来缩小,通过4个步骤来放大。此外,当通过将相邻的两个像素分成16个点来处理加权值时,可以通过采用表7和表6中示出的查询表来通过16个步骤来缩小,通过8个步骤来放大。
如果将两个相邻的像素的间隔均匀地分成更多的点,因为加权值可以再分成更多的值,并且处理过程可以更精确地执行,所以目标图像的质量可以提高,但是处理过程也增加了数量。因此,优选地生成用于具有预定的步骤的放大或缩小的查询表,和包括当对应的比例与上面的放大或缩小不适合时的与近似值有关的处理的另外的查询表。
如上所述,当实现数字图像的按比例缩放后,本发明提供了最小化图像质量的下降的效果,并且减少了处理过程的数量,因为目标像素是通过包括整数的乘法和加法以及移位,通过整数加权值的处理过程获得的,其中两个像素之间的加权值的和为2n,并且因此,图像的按比例缩放可以容易地以各种方法在嵌入式系统中实现。
尽管参照本发明的某些优选实施例示出并说明了本发明,本领域中的普通技术人员可以理解在不脱离本发明的精神和范围内的各种改变和修改。特别是,在本发明的特定实施例中,提出了一个将242×198大小的图像缩小为176×144大小的图像,但是本发明可以相同的方式用于源图像和目标图像的尺寸发生了改变的情况。此外,本发明可以用于对于图像按比例缩放的要求与嵌入式系统相同的其他的系统中。因此,本发明的精神和范围不是由上述的实施例来限定的,而是由所附的权利要求及其等同物来限定的。
权利要求
1.一种用于在嵌入式系统中通过按比例缩放数字源图像来生成数字目标图像的图像按比例缩放的方法,该方法包括步骤
a) 确定源图像和目标图像的各个最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;
b)获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的每个点,是在0-2n范围内的值,其中n是自然数,并且两个相邻的像素之间的加权值的和为2n;以及
c)通过使用在对应的目标像素值上反映的源像素值和对应于到源像素的距离的加权值来获得对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成目标图像。
2.根据权利要求1所述的图像按比例缩放方法,其中加权值是通过Vw[i]=(integer cast)({Rs×i-(integer cast)(Rs×i)}<<n)获得的,并且目标图像的每个最小处理单元的目标像素值是通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n获得的;
其中,i是目标图像的最小处理单元的目标像素的参数,Vw[i]是加权值的存储顺序,Rs是源图像尺寸/目标图像尺寸的比例值,n是自然数,Des[i]是目标图像的最小处理单元的存储顺序,Src[Index[i]]是源图像的最小处理单元的存储顺序,Index[i]是作为生成目标像素的处理标准的源像素参数的存储顺序,并且等于(integer cast)(Rsxi),<<n表示向着最高位的n位移位,并且>>n是向着最低位的n位移位。
3.根据权利要求2所述的图像按比例缩放方法,其中生成目标图像包括步骤
c1)用通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n为源图像的每个像素行获得的对应于在横向上的源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成在横向上按比例缩放了的图像;以及
c2)用通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n为在横向上按比例缩放了的最小处理块的每个像素列获得的对应于在纵向上的源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成目标图像。
4.根据权利要求3所述的图像按比例缩放的方法,其中获得加权值的步骤包括获得Index[i]的步骤。
5.根据权利要求4所述的图像按比例缩放的方法,其中n是从8、9、和10中选出的一个。
6.一种用于在嵌入式系统中通过按比例缩放数字源图像来生成数字目标图像的图像按比例缩放的方法,该方法包括步骤
a)确定源图像和目标图像的各个最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;
b)获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的每个点,是在0-2n范围内的值,其中n为自然数,并且两个相邻的像素之间的加权值的和为2n;以及
c)通过采用在对应的目标像素值上反映的源像素值,和对应于到源像素的距离的加权值获得的最小处理块的每个最小处理单元的像素值来生成目标图像,其中通过将目标图像的最小处理单元乘以最小处理单元形成的每个最小处理块,与通过源图像的一个最小处理单元的每一边的长度的平方形成的每个最小处理块相对应。
7.根据权利要求6所述的图像按比例缩放的方法,其中加权值是通过Vw[i]=(integer cast)({Rs×i-(integer cast)(Rs×i)}<<n)获得的,并且目标图像的每个最小处理单元的目标像素值是通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n获得的;
其中,i是目标图像的最小处理单元的目标像素的参数,Vw[i]是加权值的存储顺序,Rs是源图像尺寸/目标图像尺寸的比例值,n是自然数,Des[i]是目标图像的最小处理单元的存储顺序,Src[Index[i]]是源图像的最小处理单元的存储顺序,Index[i]是作为生成目标像素的处理标准的源像素参数的存储顺序,并且等于(integer cast)(Rs×i),<<n表示向着最高位的n位移位,并且>>n是向着最低位的n位移位。
8.根据权利要求7所述的图形按比例缩放方法,其中生成目标图像的步骤包括步骤
c1)用通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n为源图像的最小处理块的每个像素行获得的对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成在横向上按比例缩放了的图像;以及
c2)用通过Des[i]={(2n-Vw[i])×Src[Index[i]]+Vw[i]×Src[Index[i+1]]}>>n为在横向上按比例缩放了的最小处理块的每个像素列获得的对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成目标图像的最小处理块。
9.根据权利要求8所述的图像按比例缩放的方法,其中生成目标图像的步骤包括步骤
在缩小源图像时,从源图像的起点开始生成目标图像的最小处理块;以及
在放大源图像时,从源图像的末端开始生成目标图像的最小处理块。
10.根据权利要求9所述的图像按比例缩放的方法,其中获得加权值的步骤包括获得Index[i]的步骤。
11.根据权利要求10所述的图像按比例缩放的方法,其中n是从8、9、和10中选出的一个。
12.一种用于在嵌入式系统中通过按比例缩放数字源图像来生成数字目标图像的图像按比例缩放的方法,该方法包括步骤
a)确定源图像和目标图像的最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;
b)通过获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的每个点,为0-2n之间的值,其中n为自然数,并且两个相邻的像素之间的加权值的和为2n,并且通过将每个加权值和每个像素值相乘来产生查询表;以及
c)通过参照为了得到在对应的目标像素值上反映的源图像像素的距离的查询表的处理获得的,对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,来生成目标图像。
13.根据权利要求12所述的图像按比例缩放的方法,其中加权值是通过Vw[i]=(integer cast)({Rs×i-(integer cast)(Rs×i)}<<n)获得的,查询表是通过Lookup_Table[i][Table_Index]=(Vw[i]×Table_Index)>>n获得的,并且目标图像的每个最小处理单元的目标像素值是通过Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]获得的;
其中,i是目标图像的最小处理单元的目标像素的参数,Vw[i]是加权值的存储顺序,Rs是源图像尺寸/目标图像尺寸的比值,n是自然数,Lookup_Table[i][Table_Index]是包括参数i和一个像素所具有的像素值的参数Table_Index的查询表存储顺序,Des[i]是目标图像的最小处理单元的存储顺序,Src[Index[i]]是源图像的最小处理单元的存储顺序,Index[i]是作为生成目标像素的处理标准的源像素参数的存储顺序,并且等于(integer cast)(Rs×i),Const被选定为目标图像的最小处理单元的尺寸的1/2,如果参数i大于目标图像的最小处理单元的尺寸的1/2,则改变标号,<<n表示向着最高位的n位移位,并且>>n是向着最低位的n位移位。
14.根据权利要求13所述的图像按比例缩放的方法,其中生成目标图像的步骤包括步骤
c1)通过参照查询表的处理过程由Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]为源图像的每个像素行获得对应于源图像在横向上的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成在横向上按比例缩放了的图像;以及
c2)通过参照查询表的处理过程从Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]获得对应于源图像在纵向上的最小处理单元的目标图像的每个最小处理单元的目标像素值,来为在横向上按比例缩放了的最小处理块的每个像素列生成目标图像的最小处理块。
15.根据权利要求13所述的图像按比例缩放的方法,其中获得加权值的步骤包括获得Index[i]的步骤。
16.根据权利要求15所述的图像按比例缩放的方法,其中n是从8、9、和10中选出的一个。
17.一种用于在嵌入式系统中通过按比例缩放数字源图像来生成数字目标图像的的图像按比例缩放的方法,该方法包括步骤
a)确定各个源图像和目标图像的最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;
b)通过获得整数加权值,每个加权值对应于在源图像的两个相邻的像素之间均匀划分的每个点,成为在0-2n范围内的值,其中n为自然数,两个相邻的像素之间的加权值的和为2n,并且通过将每个加权值和每个像素值相乘来产生查询表;以及
c)通过参照为了得到在对应的目标像素值上反映的源图像像素的距离的查询表的处理获得的,对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,其中通过将目标图像的最小处理单元乘以最小处理单元形成的每个最小处理块,与通过源图像的一个最小处理单元的每一边的长度的平方形成的每个最小处理块相对应。
18.根据权利要求17所述的图像按比例缩放的方法,其中加权值是通过Vw[i]=(integer cast)({Rs×i-(integer cast)(Rs×i)}<<n)获得的,查询表是通过Lookup_Table[i][Table_Index]=(Vw[i]×Table_Index)>>n获得的,并且目标图像的每个最小处理单元的目标像素值是通过Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]获得的;
其中,i是目标图像的最小处理单元的目标像素的参数,Vw[i]是加权值的存储顺序,Rs是源图像尺寸/目标图像尺寸的比值,n是自然数,Lookup_Table[i][Table_Index]是包括参数i和一个像素具有的像素值的参数Table_Index的查询表存储顺序,Des[i]是目标图像的最小处理单元的存储顺序,Src[Index[i]]是源图像的最小处理单元的存储顺序,Index[i]是作为生成目标像素的处理标准的源像素参数的存储顺序,并且等于(integer cast)(Rs×i),Const被选定为目标图像的最小处理单元的尺寸的1/2,如果参数i大于目标图像的最小处理单元的尺寸的1/2,则改变符号,<<n表示向着最高位的n位移位,并且>>n是向着最低位的n位移位。
19.根据权利要求18所述的图像按比例缩放的方法,其中生成目标图像的步骤包括步骤
c1)通过参照查询表的处理过程从Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]为源图像的每个像素行获得的对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,来生成在横向上按比例缩放了的图像;以及
c2)通过参照查询表的处理过程从Des[i]=Lookup_Table[i+Const][Src[Index[i]]]+Lookup_Table[i][Src[Index[i]+1]]为在横向上按比例缩放了的最小处理块的每个像素列获得的对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值,来生成目标图像的最小处理块。
20.根据权利要求19所述的图像按比例缩放的方法,其中生成目标图像的步骤包括
在缩小源图像时,从源图像的起点开始生成目标图像的最小处理块;以及
在放大源图像时,从源图像的末端开始生成目标图像的最小处理块;以及
21.根据权利要求20所述的图像按比例缩放的方法,其中获得加权值的步骤包括获得Index[i]的步骤。
22.根据权利要求21所述的图像按比例缩放的方法,其中n是从8、9、和10中选出的一个。
全文摘要
一种适用于嵌入式系统的数字图像按比例缩放方法。该图像按比例缩放的方法是这样进行的确定源图像和目标图像的各个最小处理单元的尺寸以便根据源图像尺寸到目标图像尺寸的缩放比率将源图像和目标图像在各自的横向和纵向方向上划分成为相同数量的最小处理单元;获得整数加权值,每个加权值对应于在两个相邻的像素之间均匀划分的每个点,是在0-2n(n是自然数)范围内的值,并且两个相邻的像素之间的加权值的和为2n;以及通过使用在对应的目标像素值上反映的源像素值和对应于到源像素的距离的加权值来获得对应于源图像的最小处理单元的目标图像的每个最小处理单元的目标像素值来生成目标图像。
文档编号H04N1/393GK1484434SQ0312419
公开日2004年3月24日 申请日期2003年4月29日 优先权日2002年9月17日
发明者李和纯, 李承彻 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1