压缩域中的图象缩放的制作方法

文档序号:6421109阅读:81来源:国知局
专利名称:压缩域中的图象缩放的制作方法
技术领域
本发明涉及把JPEG数字图象或使用离散余弦变换(DCT)的任何图象/视频内容按照k/8的因子(对于在1≤k≤8范围内的任何整数k)缩小的有效的压缩域算法。通过链接多个这样的运算,可以得到对于在[1,7]范围内的整数ki的形式为k1k2...kl/8l的任何换算因子。该算法可以用各种设备、方法、和指令的程序(例如软件)实施。
背景技术
传统上,缩小一个已压缩的数字图象是通过完全地解压缩图象并且随后进行象素域平均而完成的。这样,这种方法要经受到熵译码、去锯齿、去量化、和逆DCT(IDCT)等处理所需的花费。
虽然在压缩域中以1/2、1/4和1/8的因子缩小先前已在美国专利No.5,708,732中提出,但这个专利没有教导缩小k/8形式的所有的因子(对于1≤k≤8),包括3/8、5/8、3/4、7/8。而且,这个现有的专利没有教导通过使用公式X=(k/8)DkTYkDk来从DCT系数的8×8矩阵Y得到象素值的k×k块X的缩小技术,正如本专利申请中描述的那样。

发明内容
所以,本发明的一个目的是克服以上提到的问题和缺点。
本发明的另一个目的是通过把IDCT和象素域平均组合为单个压缩域运算而提供一种算法,它比起现有的缩小技术更有效地工作,其中甚至这种简化的运算的一部分花费也可被吸收到去量化处理中。
按照本发明的一个方面,提供一种用于把图象缩小到给定的目标尺寸的方法。该方法包括提取多个N×N块的、表示要被缩小的图象的数据的变换系数;以及把每个提取的N×N块的变换系数变换为来自缩小的图象的象素值的k×k矩阵,其中从变换系数的N×N块Y到象素值的k×k矩阵X的变换如下地得到X=(k/N)DkTYkDk,其中1≤k≤8,Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0,αi=1/2]]>以及否则为1。
在该方法中,优选地,N是8,以及变换系数是离散余弦变换系数。
该方法优选地还包括在执行变换步骤之前,对多个N×N块的、表示要被缩小的图象的数据的变换系数执行逆量化;其中乘数(2/k)1/2被吸收到逆量化步骤中。
在另一方面,本发明涉及到一种用于把图象缩小到给定的目标尺寸的设备。该设备包括用于提取多个N×N块的、表示要被缩小的图象的数据的变换系数的装置;以及用于把每个提取的N×N块的变换系数变换为来自缩小的图象的象素值的k×k矩阵的装置,其中从变换系数的N×N块Y到象素值的k×k矩阵X的变换如下地得到X=(k/N)DkTYkDk,其中1≤k≤8,Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0,αi=1/2,]]>以及否则为1。
在由该设备执行的运算中,优选地,N是8,以及变换系数是离散余弦变换系数。
优选地,设备还包括用于在执行变换步骤之前对多个N×N块的、表示要被缩小的图象的数据的变换系数执行逆量化的装置;其中乘数(2/k)1/2被吸收到逆量化运算中。
该设备可以是各种各样的图象处理设备的任何一种,包括计算机、蜂窝电话、个人数字助理、数字照相机等等。
按照本发明的再一个方面,上述的方法或该方法的任何步骤可以用指令的程序(例如,软件)来体现,该程序可被存储在或被输送到计算机或其他处理器控制的设备以便执行。替换地,该方法或该方法的任何步骤可以通过使用功能上等价的硬件(例如,ASIC、数字信号处理电路等等)或软件与硬件的组合被实施。
通过结合附图参考以下的说明和权利要求,将明白其他目的和知识,并且更充分地了解本发明。


图1是显示JPEG解压缩处理的方框图。
图2是显示按照本发明的实施例的缩小算法的方框图。
图3是显示按照本发明的实施例的缩小算法的流程图。
图4是其上可实施本发明的算法的系统的方框图。
具体实施例方式
A.综述该算法被设计来对压缩的图象进行运算,以便提供压缩的或频域的缩小解。术语“图象”包括图示的表示、图形、或它们的组合。该算法是通过把DCT系数的8×8矩阵变换成来自缩小的图象的象素数值的k×k矩阵而工作的。这些象素值可直接被显示。
下面结合JPEG图象描述算法的细节,因为这是优选的实施例。然而,该算法并不限于JPEG图象。通过某些适当的替换,这些替换对于本领域的技术人员来说按照本揭示的内容将是明显的,该算法可应用于任何使用正交变换函数的压缩格式。
图1显示典型的JPEG解压缩处理。在解压缩时,通过JPEG压缩处理101得到的和作为JPEG文件被存储的、已压缩的图象,从压缩的比特流被重建。JPEG解压缩处理从在Huffman译码器12中(它接入到Huffman表)译码该已压缩的比特流11,以重新生成已量化的DCT系数的8×8块开始。通过使用逆来回程序过程,把系数重新排序,然后把这些块馈送到逆量化器13。在下一个步骤中,8×8逆离散余弦变换(IDCT)14对DCT系数的8×8块进行运算,以生成象素的8×8块的流。块-光栅变换器15把这些块变换成已解压缩的图象。IDCT可以把DCT系数精确地变换回象素。然而,因为解压缩处理实际上是通过量化系数工作的,故只能得到近似值。
对于本发明,代替必须施加IDCT运算,后面跟随块-光栅变换15和象素域缩小16,而是使用组合的运算,它直接生成缩小的图象的象素值。也就是,IDCT 14的输出按照本发明被处理,以直接生成缩小的图象的象素值。如果JPEG图象是作为输出想要的(例如,如果缩小运算链是要被施加的),则最后得到的象素可以通过在把数据编组为8×8块后使用DCT而进行变换。
B.算法参照图2,作为来自IDCT的输出的DCT系数的8×8矩阵Y,用数字201表示。按照本发明,把Y变换为用参考数字202表示的、象素值的k×k块X,是按X=(k/8)DkTYkDk,得到的,其中Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0,αi=1/2,]]>以及否则为1。
为了增加有效性,乘数被吸收到在这个变换之前的、DCT系数的逆量化中。
图3是显示按照本发明的实施例的发明性算法的流程图。算法从步骤31开始块的计数变量z被初始化为1。在步骤32,提取变换(例如,DCT)系数的第z个N×N块,然后在步骤33通过使用以上表示的变换公式,把它变换成象素值的k×k矩阵。对于变换系数的每个N×N块,重复进行该变换。然后,在步骤34,确定是否还有这样的、要被变换的变换系数的块。如果有对话,在步骤35,把z加增量,以及处理回到步骤32,提取变换系数的另一个块。在所有的块都被处理后(步骤34的判决为“否”),算法结束。
C.实施方案本发明的算法可以以软件方便地实施,该软件可在图4所示的类型的图象处理系统40上运行。如图4所示,系统包括中央处理机(CPU)41,它提供计算资源和控制计算机。CPU 41可以用微处理器等实施,以及也可包括图形处理器和或用于数学计算的浮点共同处理器。系统40还包括系统存储器42,它可以具有随机存取存储器(RAM)和只读存储器(ROM)的形式。
如图4所示,也提供了多个控制器和外部设备。输入控制器43代表到一个或多个输入设备44,诸如键盘,鼠标或记录针(stylus),的接口。也有一个控制器45,它与扫描器46或等价的设备通信,对于包括要按照本发明被处理的图形的文件进行数字化。贮存控制器47与一个或多个贮存装置48相接口,每个贮存装置包括贮存媒体(诸如磁带或磁盘或光学媒体)可被使用来记录用于操作系统,公用设施和应用的指令的程序,它们可包括实施本发明的各个方面的程序。贮存装置48也可被使用来存储要按照本发明被处理的数据。显示控制器49提供到显示装置51的接口,显示装置51可以是阴极射线管(CRT)、薄膜晶体管(TFT)显示器、或LCD。还提供了用来与打印机53通信的打印机控制器52,该打印机53用来打印包括按照本发明处理的图像的文件。通信控制器54与通信设备55相接口,使得系统40能够通过任何的多种多样的网络,包括互联网、局域网(LAN)、宽域网(WAN)、或无线地提供任何适当的电磁载波信号(包括红外信号)连接到远端设备。
在所显示的系统中,所有的主要系统部件连接到总线56,它可以代表一种以上的物理总线。
取决于本发明的具体应用,各种系统部件可以或不一定互相物理地靠近在一起。例如,输入数据(例如,要对其实施本发明性算法的输入图象)和/或输出数据(例如,已对其实施了本发明性算法的输出图象)可以从一个物理位置远程地发送到另一个物理位置。另外,实施本发明的各个方面的程序可以通过网络从远端位置(例如,服务器)被存取。这样的数据和/或程序可以通过各种各样的机器可读的媒体,包括磁带或磁盘或光盘、网络信号、或其他适当的电磁载波信号(包括红外信号)之一被输送。当用于权利要求中时,术语“机器可读的媒体”打算覆盖所有的这样的物理装置以及电磁载波信号。
正如本领域技术人员将会看到的,不是所有的、图4所示的部件都是对于实施本发明所必须的。因此,取决于在其中实施本发明的具体环境,不是图4系统中描述的所有的部件都可以出现。例如,本发明的算法可以在蜂窝电话、个人数字助理、数字照相机、或能够存储和呈递图象的其他小的电子设备中被体现。
虽然本发明可以用软件方便地实施,但硬件实施方案或组合的硬件/软件实施方案也是可能的。硬件实施方案例如可以通过使用ASIC,数字信号处理电路等等被实现。这样,权利要求语言“指令的程序”,除了软件以外,还包括在硬件部件上硬线连接的指令。另外,在权利要求中使用的“装置”语言覆盖适当地配置的处理装置,诸如CPU,ASIC,数字处理电路等等。记住执行这些实施方案替换例,将会明白,附图和附加的说明提供本领域技术人员所需要的功能性信息,用来编写程序代码(即,软件)或制作电路(即,硬件),以执行所需要的处理。
D.效果正如以上的说明表明的,本发明提供用于在压缩域缩小压缩的图象的经济的和有效的算法。原先的图象不需要完全被解压缩,只要解压缩到提取变换系数的程度。提供了对于所有的尺度k/8,其中1≤k≤8,的压缩域缩放,包括3/8,5/8,3/4,7/8。通过链接多个这样的运算,可以达到对于在范围[1,7]内的整数ki的、具有形式k1k2…kl/8l的任何换算因子。
虽然本发明是结合几个具体的实施例描述的,但对本领域技术人员来说按照上述的说明,将会明白许多进一步的替换、修正、变化和应用。因此,当它们属于附属权利要求的精神和范围内时,这里描述的本发明打算包括所有这样的替换、修正、变化和应用。
权利要求
1.用于把图象缩小到给定的目标尺寸的方法,包括以下步骤提取多个N×N块的、表示要被缩小的图象的数据的变换系数;以及把每个提取的N×N块的变换系数变换为来自缩小的图象的象素值的k×k矩阵,其中从变换系数的N×N块Y到象素值的k×k矩阵X的变换如下地得到X=(k/N)DkTYkDk,其中1≤k≤8,Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0, 以及否则为1。
2.权利要求1的方法,其中N是8。
3.权利要求1的方法,其中变换系数是离散余弦变换系数。
4.权利要求1的方法,还包括在执行变换步骤之前,对多个N×N块的、代表要被缩小的图象的数据的变换系数执行逆量化;其中乘数(2/k)1/2被吸收到逆量化步骤中。
5.用于把图象缩小到给定的目标尺寸的设备,设备包括用于提取多个N×N块的、代表要被缩小的图象的数据的变换系数的装置;以及用于把每个提取的N×N块的变换系数变换为来自缩小的图象的象素值的k×k矩阵的装置,其中从变换系数的N×N块Y到象素值的k×k矩阵X的变换如下地得到X=(k/N)DkTYkDk,其中1≤k≤8,Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0, 以及否则为1。
6.权利要求5的设备,其中N是8。
7.权利要求5的设备,其中变换系数是离散余弦变换系数。
8.权利要求5的设备,还包括用于在执行变换步骤之前,对多个N×N块的、代表要被缩小的图象的数据的变换系数执行逆量化的装置;其中乘数(2/k)1/2被吸收到逆量化运算中。
9.权利要求5的设备,其中设备包括计算机。
10.权利要求5的设备,其中设备包括蜂窝电话。
11.权利要求5的设备,其中设备包括个人数字助理。
12.权利要求5的设备,其中设备包括数字照相机。
13.具有指令程序的机器可读的媒体,用于引导机器把图象缩小到给定的目标尺寸,指令程序包括用于提取多个N×N块的、代表要被缩小的图象的数据的变换系数的指令;以及用于把每个提取的N×N块的变换系数变换为来自缩小的图象的象素值的k×k矩阵的指令,其中从变换系数的N×N块Y到象素值的k×k矩阵X的变换如下地得到X=(k/N)DkTYkDk,其中1≤k≤8,Yk是Y的左上方的k×k子矩阵,以及DkT是Dk的转置,Dk由下式规定Dk(i,j)=(2/k)1/2αicos[(2j+1)iπ/2k],其中对于i=0, 以及否则为1。
14.权利要求13的机器可读的媒体,其中N是8。
15.权利要求13的机器可读的媒体,其中变换系数是离散余弦变换系数。
16.权利要求13的机器可读的媒体,还包括用于对多个N×N块的、代表要被缩小的图象的数据的变换系数执行逆量化的指令,在执行变换指令之前执行该逆量化指令;其中乘数(2/k)1/2被吸收到逆量化运算中。
全文摘要
一种有效的基于压缩域的算法通过把IDCT与象素域平均组合为单一压缩域运算而工作,其中甚至这种简化的运算的一部分花费也可被吸收到去量化处理中。原先的图象不需要完全被解压缩,只需要解压缩到提取变换系数的程度。提供了对于所有的尺度k/8(其中1≤k≤8)的压缩域缩放,包括3/8,5/8,3/4,7/8。通过链接多个这样的运算,可以达到对于在范围[1,7]内的整数k
文档编号G06T3/40GK1523894SQ20031012032
公开日2004年8月25日 申请日期2003年12月11日 优先权日2002年12月11日
发明者V·巴斯卡兰, V·拉特纳卡, V 巴斯卡兰, 啬煽 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1