专利名称:缩放影像装置及其方法
缩放影像装置及其方法
技术领域:
本发明是有关于一种处理数字影像的装置及方法,且特别是一种缩放数 字影像的装置及方法。背景技术:
数字影像的处理已经发展很长 一 段时间,特別是在数字影像处理系统 中,影像的缩放重组更是其中重要的功能。现有的平面显示器提供了多种分
辨率以供使用者选取,例如640x480、 800x600、 1024x768、 1280x1024等等 不同数量的像素分辨率来呈现一数字影像6利用不同的缩放方法会呈现出不 同的清晰度与对比度,但是在传统的复制与移除法中,仅单纯依据所要放大 的分辨率复制额外的像素。这样的方式在面临放大或缩小的倍数不是整数倍 (例如1.33倍)或是要增加或缩小的倍率较大时,很容易出现锯齿状的输出影 像或是影像失真。相较之下,使用线性插入法来增加额外像素的方法可以改 善上述出现锯齿状影像的问题。上述的线性插入法已揭露于美国专利第 6,704,463号以及S. Ramachandran, S. Srinivasan于2003年发表于dsd, p. 206, Euromicro Symposium on Digital Systems Design (DSD'03)的Design and FPGA Implementation of a Video Scalar with on-chip reduced memory utilization —文, 以及A. Ramaswamy, Y. Nijim在r Signals, Systems and Computers, Asilomar conference, Monterey, California, USA, pp. 1691-1694, Vol. 2, 1997 J所发表的 "Polyphase Implementation of a Video Scalar"—文。
发明内容
本发明的主要目的在于提供一种缩放影像装置及其方法,将影像分成若 干个数据单元区块(data unit buffer, DUB),用以在过滤影像过程中,依序处 理数个数据单元区块,以节省内存的使用。
本发明的另一目的在于提供一种缩放影像装置及其方法,其可依据影像 分辨率的调整而产生兼顾色彩对比以及清晰度的输出影像,并且可以避免先
前技术在输出影像的周围产生较深暗的像素值。
为实现上述或是其它目的,本发明采用如下技术方案本发明缩放影像 的方法,该影像包括若千个数据单元区块,每一数据单元区块是一像素矩阵, 该方法包括产生对应于一数据单元区块的行虚拟像素矩阵,在行方向对该数 据单元区块删除/插入像素以产生一行再排像素矩阵,过滤该行再排像素矩阵 以及该行虚拟像素矩阵以产生一行过滤像素矩阵,储存该行过滤像素矩阵于 一第一緩存器内,根据该行过滤像素矩阵产生一列虚拟像素矩阵,在列方向 对该行过滤像素矩阵删除/插入像素以产生一列再排像素矩阵,以及,过滤该 列再排像素矩阵以及该列虚拟像素矩阵,以产生 一列重组像素矩阵。
为实现上述或是其它目的,本发明采用如下技术方案本发明影像縮放 装置,用来缩放一影像,该影像包括若干个数据单元区块,每一数据单元区 块是一像素矩阵。该影像缩放装置包括一取样参数产生器、 一行虚拟像素产 生器、 一行像素取样器、 一第一滤波器、 一第一缓存器、 一列虚拟像素产生 器、 一列像素取样器、 一第二滤波器以及一第二緩存器。该取样参数产生器 用来提供一行取样参数以及一列取样参数。该行虚拟像素产生器用来产生对 应于一数据单元区块的行虚拟像素矩阵。该行像素取样器用来根据该行取样 参数,在行方向对该数据单元区块删除/插入像素以产生一行再排像素矩阵。 该第 一滤波器是用来过滤该行再排像素矩阵以及该行虚拟像素矩阵,以产生 一行过滤像素矩阵。该第一緩存器用来暂存该行过滤像素矩阵。该列虛拟像 素产生器用来根据该行过滤i象素矩阵产生一列虚拟像素矩阵。该列像素取样 器用来根据该列取样参数,在列方向对该行过滤像素矩阵删除/插入像素以产 生 一列再排像素矩阵。该第二滤波器是用来过滤该列再排像素矩阵以及该列 虚拟像素矩阵,以产生一列重组像素矩阵。该第二緩存器,用来暂存该列重 组像素矩阵。
相较于的现有技术,本发明影像重组装置可依据影像分辨率的调整而产 生兼顾色彩对比以及清晰度的输出影像。除此之外,因为位于影像周围的像 素可被映像而作为参考像素(之前称为虚拟像素矩阵),所以输出影像的四周 可以具有较平滑的像素值,而不会是较为深暗的像素值,从而可以避免先前 技术在输出影像的周围产生较深暗的像素值。
为让本发明的上述内容能更明显易懂,下文特举一较佳实施例,并配合 所附图式,作详细说明如下。
图1是本发明影像缩放装置的功能方块图。
图2是本发明在缩放 一 输入影像的数据单元区块的示意图。 图3是每一数据单元区块所对应的行过滤像素矩阵以及列重组像素矩阵 的示意图。
图4是本发明的影像缩放方法的流程图。具体实施方式
请参阅图1以及图2,图l是本发明影像缩放装置IO的功能方块图,图 2是本发明决定一输入影像的原始数据单元区块所对应的一缩放输出像素矩 阵的步骤示意图。在本实施例中,输入影像50是由若干个数据单元区块(data unit block, DUB)52组成,每一数据单元区块52可视为一像素矩阵。数据单 元区块记录器(DUB location recorder)32会记录每一个数据单元区块对应于 输入影像50的位置。影像缩放装置10包括一取样参数产生器12,用来提供 列取样参数以及行取样参数。举例来说,若打算将分辨率为640x480像素的 影像转换且放大成分辨率为1024x768像素的影像,取样参数产生器12会将 列取样参数取值为8/5 (1024/640),行取样参数取值为8/5 (768/480)。请注意, 在本实施例中,数据单元区块52是一 5x5大小的像素矩阵,但如本发明所 属技术领域中具有通常知识者所熟知,数据单元区块可以为一 MxN大小的 像素矩阵,其中M、 N的值可以视设计者的需要来决定。
当行虚拟像素产生器14接收数据单元区块52a时,行虚拟像素产生器 14会产生数据单元区块52a对应的行虚拟像素矩阵60a。在本实施例中,行 虚拟像素产生器14会复制数据单元区块52a每一行的前三个像素以产生一 行虚拟像素矩阵60a。更准确的说,行虚拟像素矩阵60a是映像自数据单元 区块52a每一行的前三个像素。之后,行虚拟像素矩阵60a会传送至行像素 取样器16。
行像素取样器16依据取样参数产生器12所产生的行取样参数来决定要 增加或减少在行方向像素的个数。在本实施例中,由于行取样参数为8/5,
所以行像素取样器16需在数据单元区块52a每一行中插入三个额外的像素以 形成一行再排像素矩阵53a。
而后,第一系数产生器25a会提供滤波系数hl、 h2、 h3给第一滤波器 18,滤波系数hl、 h2、 h3的值可视使用者的需求而调整。第一滤波器18包 含一计算器80a,用来依据滤波系数hl、 h2、 h3对行再排像素矩阵53a与行 虚拟像素矩阵60a进行行巻积运算,并将计算后的结果产生一行过滤像素矩 阵54a以及一冗余行像素矩阵61a。最后,行过滤像素矩阵54a会储存在第 一緩存器20内,而冗余行像素矩阵61a则会被删除。需要注意的是,计算器 80a也可以设置在第一滤波器18之外,而位于影像缩放装置IO的其它元件 之内或之外。
之后,列虚拟像素产生器24的作用类似于行虛拟像素产生器14,用来 产生对应行过滤像素矩阵54a的列虚拟像素矩阵70a。换言之,列虚拟像素 产生器24是以映像的方式复制行过滤像素矩阵54a每一列的前三个像素以产 生列虚拟像素矩阵70a。
之后,列像素取样器26依据取样参数产生器12所产生的列取样参数来 决定要增加或减少在列方向像素的个数。在本实施例中,由于列取样参数为 8/5 ,所以列像素取样器26需在行过滤像素矩阵54a每一列中插入三个额外 的像素以形成一列再排像素矩阵55a。
而后,第二系数产生器25b会提供滤波系数vl、 v2、 v3给第二滤波器 28,滤波系数vl、 v2、 v3的值可视使用者的需求而调整。第二滤波器28包 含一计算器80b,用来依据滤波系数vl、 v2、 v3对列再排像素矩阵55a与列 虚拟像素矩阵70a进行列巻积运算,并将计算后的结果产生一列重组像素矩 阵56a以及一过滤列虚拟像素矩阵71a。最后,列重组像素矩阵56a会储存 在第二緩存器30内,而过滤列虚拟像素矩阵71a则会被删除。列重组像素矩 阵56a即为输入影像50的原始数据单元区块52a所对应的输出像素矩阵。一 旦决定了列重组像素矩阵56a之后,即可删除列重组像素矩阵56a以及过滤 列虚拟像素矩阵71a。需要注意的是,计算器80b也可设置在第二滤波器28 之外,而位于影像缩放装置10的其它组件之内或之外。 '
然而,输入影像50除了数据单元区块52a之外,其它的数据单元区块也
可以利用上述的机制得到对应的列重组像素矩阵(亦即输出像素矩阵)。但是
行虚拟像素产生器14以及列虚拟像素产生器24的操作有些许不同。以数据 单元区块52d为例,数据单元区块52d并不位于输入影像50的最上侧与最 左侧。由于影像缩放装置IO是一列接一列的方式处理数据单元区块,当处 理到数据单元区块52d时,如图3所示,靠近数据单元区块52d但已处理的 数据单元区块52b ,连同已处理数据单元区块52c的行过滤像素矩阵54c会 被读取。而行虚拟像素产生器14会将数据单元区块52b每一行的最后三个 像素取出,并作为行虚拟像素矩阵,而不是直接复制数据单元区块52d每一 行的前三个像素。换言之,若目前处理的数据单元区块的上面有一个已处理 的数据单元区块,行虚拟像素产生器是利用之前已处理的数据单元区块的每 一行中最后三个像素取出,并作为行虚拟像素矩阵,而不是直接映像复制自 己的每一行前三个像素。而列虚拟像素产生器24会将前一个数据单元区块 52c的行过滤像素矩阵54c每一列的最后三个像素取出,并作为列虚拟像素 矩阵,而不是直接复制行过滤像素矩阵每一列的前三个像素。
本发明虽然以如上的实施例来作说明,但是其技术内容并不以此为限, 也可以依实际设计需求而有不同的变化设计。例如,在实际运用上,过滤系 数的个数可视设计者的需要弹性调整,也就是说,两个以上过滤系数也是允 许的。
一旦输入影像50所有数据单元区块的列重组输出矩阵决定之后,影像 建立单元34会根据数据单元区块记录器32所记录的各个数据单元区块的位 置,将所有储存在第二緩存器30内所有数据单元区块的列重组输出矩阵重 组为新的输出影像70。
本实施例决定缩放输出矩阵的过程可以利用管线式(pipeline)的设计加以 实现,有关管线式的设计原理已为熟悉此项技艺者所熟知,在此不另赘述。
请参阅图4,图4是本发明的影像缩放方法的流程图,该方法包括下列 步骤
步骤200:产生对应于一数据单元区块的行虚拟像素矩阵。 步骤202:在行方向对该数据单元区块删除/插入像素以产生一行再排像 素矩阵。
步骤204:过滤该行再排像素矩阵以及该行虚拟像素矩阵,以产生一行
过滤像素矩阵。
步骤206:储存该行过滤像素矩阵于一第一緩存器内。
步骤208:根据该行过滤像素矩阵产生一列虚拟像素矩阵。
步骤210:在列方向对该行过滤像素矩阵删除/插入像素以产生一列再排
像素矩阵。
步骤212:过滤该列再排像素矩阵以及该列虚拟像素矩阵,以产生一列 重组像素矩阵。
步骤214:将列重组像素矩阵储存于一第二缓存器内。
需要说明的是,步骤202以及204可以同时执行,或者是步骤202较步 骤204晚执行,则行虚拟像素产生器14及行像素取样器16的配置关系将随 步骤202以及204的执行时序而改变。步骤208以及210可以同时进行,或 者是步骤208较步骤210晚执行,则列虚拟像素产生器24及列像素取样器 26的配置关系将随步骤202以及204的执行时序而改变。
请注意,当目前的数据单元区块的上方已经有已处理的数据单元区块 时,步骤200的做法则是利用读取位于目前数据单元区块上方已处理的数据 单元区块,并将该已处理的数据单元区块每一行的最后三个的像素攫取作为 行虚拟像素矩阵。如果目前的数据单元区块的上方没有已处理的数据单元区 块时,则映像复制目前的数据单元区块的每一行的前三个像素作为行虚拟像 素矩阵。除此之外,当目前的数据单元区块的左方已经有已处理的数据单元 区块时,步骤208的做法则是利用读取位于目前数据单元区块左方已处理的 数据单元区块的,并将该行过滤像素矩阵每一列的最后三个像素攫取作为列 虚拟像素矩阵。如果目前的数据单元区块的左方没有已处理的数据单元区块 时,则映像复制目前数据单元区块的行过滤像素矩阵在每一列的前三个像素 作为列虚拟像素矩阵。
综上所述,影像缩放装置10将输入影像50转换成若干个数据单元区块 后,会以一列接着一列的次序处理每一列的数据单元区块,并以先处理行方 向再处理列方向的方式缩放每一个数据单元区块。相较之下,当影像缩放装 置10 —列接着一列的次序处理每一列的数据单元区块但是却以先列方向再
处理行方向的方式缩放影像,或者是以一行接着一行的次序处理每一行的数 据单元区块,并以先处理行方向再处理列方向的方式缩放每 一 个数据单元区 块等方式做比较,本发明以一列接着一列的次序处理每一列的数据单元区 块,并以先列后行的次序缩放每一个数据单元区块的方式将使用最少的内存 空间。
举例而言,本发明的另一实施例的影像缩放方法包括下列步骤首先,
产生对应于一数据单元区块的列虚拟像素矩阵;接着,在列方向对该数据单 元区块删除/插入像素以产生一列再排像素矩阵;然后,过滤该列再排像素矩 阵以及该列虚拟像素矩阵,以产生一列过滤像素矩阵;接着,储存该列过滤 像素矩阵于一緩存器内;然后,根据该列过滤像素矩阵产生一行虚拟像素矩 阵;接着,在行方向对该列过滤像素矩阵删除/插入像素以产生一行再排像素 矩阵;然后,过滤该行再排像素矩阵以及该行虚拟像素矩阵,以产生一行重 组像素矩阵;接着,将行重组像素矩阵(即输出像素矩阵)储存于另一緩存器 内。
相较于的现有技术,本发明影像重组装置可依据影像分辨率的调整而产 生兼顾色彩对比以及清晰度的输出影像。除此之外,因为位于影像周围的像 素可被映像而作为参考像素(之前称之为虚拟像素矩阵),所以输出影像的四 周可以具有较平滑的像素值,而不会是较为深暗的像素值。如此一来,利用 本发明的缩放机制,可以避免先前技术在输出影像的周围产生较深暗的像素 值。此外,本发明可以在硬件上利用管线(pipeline)设计来加速影像的处理速 度,以缩短决定每一个数据单元区块对应的重组输出像素矩阵的处理速度。
权利要求
1.一种缩放影像的方法,该影像包括若干个数据单元区块,每一数据单元区块是一像素矩阵,该方法包括产生对应于一数据单元区块的一行虚拟像素矩阵;在行方向对该数据单元区块删除/插入像素以产生一行再排像素矩阵;过滤该行再排像素矩阵以及该行虚拟像素矩阵,以产生一行过滤像素矩阵;储存该行过滤像素矩阵于一第一缓存器内;根据该行过滤像素矩阵产生一列虚拟像素矩阵;在列方向对该行过滤像素矩阵删除/插入像素以产生一列再排像素矩阵;以及过滤该列再排像素矩阵以及该列虚拟像素矩阵,以产生一列重组像素矩阵。
2. 如权利要求l所迷的方法,其特征在于产生对应于一数据单元区块 的一行虚拟像素矩阵的步骤,是从该数据单元区块的每一行上,映像一第一 预设个数的像素。
3. 如权利要求l所述的方法,其特征在于根据该行过滤像素矩阵产生 一列虚拟像素矩阵的步骤,是从该行过滤像素矩阵的每一列上,映射一第二 预设个数的像素。
4. 如权利要求l所述的方法,其特征在于产生对应于一数据单元区块 的一行虚拟像素矩阵的步骤,是从已处理的该数据单元区块的每一行上,读 取一第三预设个数的像素。
5. 如权利要求l所述的方法,其特征在于根据该行过滤像素矩阵产生 一列虚拟像素矩阵的步骤,是从已处理的该数据单元区块所对应的该行过滤 像素矩阵的每一列上,读取一第四预设个数的像素。
6. 如权利要求l所述的方法,其特征在于过滤该行再排像素矩阵以及 该行虚拟像素矩阵的步骤,是依据至少 一滤波系数对该行再排像素矩阵以及 该行虚拟像素矩阵进行行巻积运算。
7. 如权利要求6所述的方法,其特征在于过滤该列再排像素矩阵以及 该列虚拟像素矩阵的步骤,是依据至少 一 滤波系数对该列再排像素矩阵以及 该列虚拟像素矩阵进行列巻积运算。
8. —种影像缩放装置,用来缩放一影像,该影像包括若干个数据单元区 块,每一数据单元区块是一像素矩阵,其特征在于该影像缩放装置包括一取样参数产生器,用来提供一行取样参数以及一列取样参数; 一行虚拟像素产生器,用来产生对应于一数据单元区块的一行虚拟像素 矩阵;一行像素取样器,用来根据该行取样参数,在行方向对该数据单元区块 删除/插入像素以产生 一行再排像素矩阵;一第一滤波器,用来过滤该行再排像素矩阵以及该行虚拟像素矩阵,以 产生一行过滤像素矩阵;一第一緩存器,用来暂存该行过滤像素矩阵;一列虚拟像素产生器,用来根据该行过滤像素矩阵产生一列虚拟像素矩阵;一列像素取样器,用来根据该列取样参数,在列方向对该行过滤像素矩 阵删除/插入像素以产生 一 列再排像素矩阵;一第二滤波器,用来过滤该列再排像素矩阵以及该列虚拟像素矩阵,以 产生一列重组像素矩阵;以及一第二緩存器,用来暂存该列重组像素矩阵。
9. 如权利要求8所述的影像缩放装置,其特征在于该影像缩放装置还 包括一系数产生器,用来提供至少一滤波系数。
10. 如权利要求9所述的影像缩放装置,其特征在于该影像缩放装置还 包括一计算器,用来依据该至少 一滤波系数对该行再排像素矩阵以及该行虚 拟像素矩阵进行行巻积运算,以及用来依据该至少 一滤波系数对该列再排像 素矩阵以及该列虚拟像素矩阵进行列巻积运算。
11. 如权利要求8所述的影像缩放装置,其特征在于该影像缩放装置 还包括一数据单元区块记录器,用来记录每一数据单元区块在该影像的相对位 置;以及 一影像建立单元,用来依据该数据单元区块记录器记录的每一数据单元 区块在该影像的相对位置以及每一数据单元区块所对应的列重组像素矩阵重 组一输出影像。
12. —种缩放影像的方法,该影像包括若干个数据单元区块,每一数据 单元区块是一像素矩阵,该方法包括产生对应于 一 数据单元区块的 一 列虚拟像素矩阵; 在列方向对该数据单元区块删除/插入像素以产生一列再排像素矩阵; 过滤该列再排像素矩阵以及该列虚拟像素矩阵,以产生一列过滤像素矩阵;根据该列过滤像素矩阵产生 一行虚拟像素矩阵;在行方向对该列过滤像素矩阵删除/插入像素以产生 一行再排像素矩阵;以及过滤该行再排像素矩阵以及该行虚拟像素矩阵,以产生一行重组像素矩阵。
13. 如权利要求12所述的方法,其特征在于该方法还包括暂存该列过 滤像素矩阵的步骤。
14. 如权利要求12所迷的方法,其特征在于该方法还包括暂存该行重 组像素矩阵的步骤。
全文摘要
本发明缩放影像的方法,该影像包括若干个数据单元区块,每一数据单元区块是一像素矩阵,该方法包括产生对应于一数据单元区块的行虚拟像素矩阵,在行方向对该数据单元区块删除/插入像素以产生一行再排像素矩阵,过滤该行再排像素矩阵以及该行虚拟像素矩阵以产生一行过滤像素矩阵,储存该行过滤像素矩阵于一第一缓存器内,根据该行过滤像素矩阵产生一列虚拟像素矩阵,在列方向对该行过滤像素矩阵删除/插入像素以产生一列再排像素矩阵;以及过滤该列再排像素矩阵以及该列虚拟像素矩阵,以产生一列重组像素矩阵。
文档编号G09G5/391GK101105932SQ20071012900
公开日2008年1月16日 申请日期2007年7月2日 优先权日2006年7月10日
发明者张慈牧, 李政鸿 申请人:宏正自动科技股份有限公司