利用逐颜色分裂向调色板图像提供熵约束颜色分裂的计算机系统的制作方法

文档序号:7602481阅读:202来源:国知局
专利名称:利用逐颜色分裂向调色板图像提供熵约束颜色分裂的计算机系统的制作方法
技术领域
本发明涉及图像数据的渐进编码。
背景技术
具有上千或上百万颜色的图片可以表示为真彩色图像,以诸如BMP (位图)和JPEG 的格式来存储针对每一个像素的确切颜色。相反,仅包含少量(典型地最多为256)颜色的图片能够被更有效地存储为色图(colormapped)图像或调色板(palettized)图像,像公知的GIF(图形交换格式)或PNG(便携式网络图形)格式。大部分的网络图像具有GIF或 PNG格式。当通过低带宽通信链路浏览调色板图像时,例如通过无线链路或拨号链路,该调色板图像的渐进传输能够支持快速浏览,因为其使用户能够在接收到所有渐进编码的图像数据之前观看该图像的完整版本(但分辨率低)。然而,即使GIF和PNG均支持交错格式, 该格式通过对图像进行多通道编码并在每个通道中跳过多个像素而渐进地细化图像分辨率,但是就每个像素的颜色信息渐进地细化为无损失恢复的严格意义上来说,交错的GIF 和PNG不具有渐进格式。Rauschenbach在他的MCQ(移动可视化颜色量化格式)方法(U. Rauschenbach, "Compression of palettized images with progressive coding of the color information", in Proc SPIE Visual)中研究了针对调色板图像的颜色信息的渐进细化。Communications and Image Processing(VCIP14000), Perth, Australia,2000 年6月,下文称作[1]。与交错GIF和PNG格式不同,MCQ的颜色信息的细化是逐比特平面而进行的,并且允许以良好细节对形状(例如文本)进行早期识别,通常是在对压缩比特流的小部分进行解码之后。尽管MCQ支持和分辨率细化形成对照的颜色信息的渐进细化, 然而其仅实现了与GIF或PNG格式可比较的压缩率。为了提高压缩率并同时支持调色板图像的渐进传输,Chen 等人(X. Chen,S. Kwong,和 J. Feng,“A new compression scheme for color-quantized images",IEEE Transactions on Circuits and System for Video Technology, Vol. 12,No. 10,pp. 904-908,Oct. 2002,下文称作[2])提出了一种基于 MCQ 的新的颜色细化方案,而且Orchard和Bouman开创了基于失真的分层分裂颜色量化算法 (Orchard 禾口 Boumari,“Color quantization of images", IEEE Transactions on Signal Processing, Vol. 39,No. 12,pp. 2677-2690, Dec. 1991,下文称作[3])。与逐比特平面地对颜色信息进行细化的MCQ不同(比特平面的个数与调色板的颜色深度相等),Chen的算法逐颜色地对颜色进行进行细化。针对调色板图像的无损压缩,[幻中提出的颜色分裂算法实现了相比于GIF或PNG格式的大约30-40 %的尺寸减小,而且还具有支持渐进传输的良好特征。

发明内容
根据本发明的实施例的方面,提供了一种使用数据处理系统对具有被分配给像素集的M个不同颜色的数字化彩色图像进行渐进编码的方法,通过把所述M个不同颜色中的每一个分配给所述像素集中相关联的像素子集而提供所述数字化彩色图像,所述方法包括(a)通过提供至少一个起始叶节点来初始化树结构,所述起始叶节点包括来自所述M个不同颜色的颜色集;(b)针对每一个起始叶节点,确定至少一个代表颜色;以及(c)通过如下步骤增大所述树结构(i)基于相关联的可实现代价,选择叶节点η变为与两个新的叶节点相链接的非叶节点η,其中所述相关联的可实现代价通过如下步骤来确定1)确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的失真改变;2)确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的熵速率增加;以及,幻基于所述相关联的失真改变以及所述相关联的熵速率增加,确定所述相关联的可实现代价;( )通过把η中的每一个颜色分配给所述两个新的叶节点之一而创建两个新的叶节点;(iii)针对所述两个新的叶节点中的每一个,确定代表颜色;以及(iv)对与叶节点η相关联的索引信息、所述两个新的叶节点的代表颜色、以及与和所述两个新的叶节点的两个代表颜色相对应的数字化彩色图像的多个像素有关的信息进行编码。根据本发明的实施例的方面,提供了一种由计算机使用的计算机程序产品,对具有被分配给像素集的M个不同颜色的数字化彩色图像进行渐进编码,通过把所述M个不同颜色中的每一个分配给所述像素集中相关联的像素子集而提供所述数字化彩色图像,所述计算机程序产品包括记录介质;以及所述记录介质上记录的装置,用于指挥计算机系统执行如下步骤(a)通过提供至少一个起始叶节点来初始化树结构,所述起始叶节点包括来自所述M个不同颜色的颜色集;(b)针对每一个起始叶节点,确定至少一个代表颜色;以及(c)通过如下步骤增大所述树结构(i)基于相关联的可实现代价,选择叶节点η变为与两个新的叶节点相链接的非叶节点η,其中所述相关联的可实现代价通过如下步骤来确定 1)确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的失真改变;幻确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的熵速率增加;以及,幻基于所述相关联的失真改变以及所述相关联的熵速率增加,确定所述相关联的可实现代价;( )通过把η中的每一个颜色分配给所述两个新的叶节点之一而创建两个新的叶节点;(iii)针对所述两个新的叶节点中的每一个,确定代表颜色;以及 (iv)对与叶节点η相关联的索引信息、所述两个新的叶节点的代表颜色、以及与和所述两个新的叶节点的两个代表颜色相对应的数字化彩色图像的多个像素有关的信息进行编码。根据本发明的另一实施例,提供了一种对具有被分配给像素集的M个不同颜色的数字化彩色图像进行渐进编码的系统,通过把所述M个不同颜色中的每一个分配给所述像素集中相关联的像素子集而提供所述数字化彩色图像,所述系统包括记录介质;以及包括用于执行如下步骤的处理器的装置(a)通过提供至少一个起始叶节点来初始化树结构,所述起始叶节点包括来自所述M个不同颜色的颜色集;(b)针对每一个起始叶节点,确定至少一个代表颜色;以及(c)通过如下步骤增大所述树结构(i)基于相关联的可实现代价,选择叶节点η变为与两个新的叶节点相链接的非叶节点η,其中所述相关联的可实现代价通过如下步骤来确定1)确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的失真改变;幻确定由把所述叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的熵速率增加;以及,幻基于所述相关联的失真改变以及所述相关联的熵速率增加,确定所述相关联的可实现代价;(ii)通过把η中的每一个颜色分配给所述两个新的叶节点之一而创建两个新的叶节点;(iii)针对所述两个新的叶节点中的每一个,确定代表颜色;以及(iv)对与叶节点η相关联的索引信息、所述两个新的叶节点的代表颜色、以及与和所述两个新的叶节点的两个代表颜色相对应的数字化彩色图像的多个像素有关的信息进行编码。


为了更好地理解这里描述的各个实施例以及更加清楚地展示如何实现这些实施例,仅作为示例来参考示出至少一个典型实施例的附图,其中图1在流程图中示出了根据本发明实施例的方面用于在叶节点之间利用逐颜色分裂对调色板图像进行熵约束颜色分裂的总算法;图2在流程图中示出了根据本发明实施例的另一方面用于在叶节点之间利用逐颜色分裂对调色板图像进行熵约束颜色分裂的总算法;图3在流程图中示出了图1和2中的方法的初始化子过程;图4在流程图中示出了图1中的方法的子过程的示例,其中叶节点被分裂;图5在流程图中示出了图2中的方法的子过程的示例,其中叶节点被试验性地分裂;图6在流程图中示出了图2中的方法的子过程,其中叶节点被永久地分裂;图7在流程图中示出了图1中的方法的子过程的变体,用于分裂叶节点;图8在流程图中示出了图1中的方法中分裂叶节点的另一变体;图9在流程图中示出了图1和2中的方法的子过程,其中对新的代表颜色进行渐进编码;图10在框图中示出了根据本发明实施例的计算机系统;图11在框图中更加详细地示出了图10中的计算机系统的处理器;图lh-d在图表中示出了根据本发明实施例的方面对叶节点进行渐进分裂以提供颜色数据的渐进编码;图13是移动设备的典型实施例的框图;图14是图13中的移动设备的通信子系统组件的典型实施例的框图。
具体实施例方式具有上千或上百万颜色的图片可以表示为真彩色图像,以诸如BMP (位图)和JPEG 的格式来存储针对每一个像素的确切颜色。相反,仅包含少量(典型地最多为256)颜色的图片能够被更有效地存储为色像或调色板图像,像公知的GIF(图形交换格式)或 PNG(便携式网络图形)格式。大部分的网络图像具有GIF或PNG格式。当通过低带宽通信链路浏览调色板图像时,例如通过无线链路或拨号链路,该调色板图像的渐进传输能够支持快速浏览,因为其使用户能够在接收到所有渐进编码的图像数据之前观看该图像的完整版本(但分辨率低)。然而,即使GIF和PNG均支持交错格式, 该格式通过对图像进行多通道编码并在每个通道中跳过多个像素而渐进地细化图像分辨率,但是就每个像素的颜色信息渐进地细化为无损失恢复的严格意义上来说,交错的GIF 和PNG不具有渐进格式。Rauschenbach在他的MCQ(移动可视化颜色量化格式)方法 (U. Rauschenbach, "Compression of palettized images with progressive coding of the color information,,,in Proc SPIE Visual Communications and Image Processing(VCIP2000), Perth, Australia, June 2000,下文称作[1])中研究了针对调色板图像的颜色信息的渐进细化。与交错GIF和PNG格式不同,MCQ的颜色信息的细化是逐比特平面而进行的,并且允许以良好细节对形状(例如文本)进行早期识别,通常是在对压缩比特流的小部分进行解码之后。尽管MCQ支持和分辨率细化形成对照的颜色信息的渐进细化,然而其仅实现了与GIF或PNG格式可比较的压缩率。为了提高压缩率并同时支持调色板图像的渐进传输,Chen 等人(X.Chen,S. Kwong,和 J. Feng,‘‘A new compression scheme for color-quantized images",IEEE Transactions on Circuits and System for Video Technology, Vol. 12,No. 10,pp. 904-908,Oct. 2002,下文称作[2])提出了一种基于 MCQ 的新的颜色细化方案,而且Orchard和Bouman开创了基于失真的分层分裂颜色量化算法 (Orchard 禾口 Boumari,“Color quantization of images", IEEE Transactions on Signal Processing, Vol. 39,No. 12,pp. 2677-2690, Dec. 1991,下文称作[3])。与逐比特平面地对颜色信息进行细化的MCQ不同(比特平面的个数与调色板的颜色深度相等),Chen的算法逐颜色地对颜色进行进行细化。针对调色板图像的无损压缩,[幻中提出的颜色分裂算法实现了相比于GIF或PNG格式的大约30-40%的尺寸减小,而且还具有支持渐进传输的良好特征。[2]、[3]中的颜色分裂算法仅基于失真标准来分裂代表颜色,而且完全不考虑速率约束。另一方面,调色板图像中的每一个颜色是3D矢量。颜色量化或颜色分裂实质上是矢量量化(VQ)问题(Y,Linde,A,Buzo,fPR.Gray,“An algorithm for vector quantizer design", IEEE Trans. Communications, Vol. C0M-28, No. 1, pp. 84-95, Jan. 1980, TjC^ 作W])。由Chou等人提出的熵约束矢量量化(ECVQ)或有条件熵约束矢量量化(CECVQ) (P· Chou,T· Lookabaugh,禾口 R· Gray,"Entropy-constrained vector quantization,,,IEEE Trans. Acous.,Speech,禾口 Signal Processing,Vol. 37,No. 1,pp. 31-42,Jan. 1989,下文禾尔作[5],以及 P. Chou 禾口 T· Lookabaugh,“Conditional entropy constrained vector quantization”,Proceeding ICASSP 1990,pp. 197-200,Apr. 1990,下文称作[6])可以将失真和熵速率(entropy rate)进行折衷。为了减小常规矢量量化算法的复杂度并使其在实际应用中可行,已经幵发出树结构矢量量化(TSVQ)算法(A.Buzo,A. Gray, Jr., R. Gray 禾口 J. Markel,“Speech coding based upon vector quantization”,IEEE Trans. Acous.,Speech,and Signal Processing,Vol. ASSP-28, No. 5,pp. 562-574,Oct. 1980,下文禾尔作[7],Ε· Riskin 禾口 R. Gray,“A greedy tree growing algorithm for the design of variable rate vector quantizers", IEEE Transactions on Signal Processing, Vol. 39,No. 11,pp. 2500-2507,Nov. 1991,下文称作[8],以及 Μ. Mahesh,W. Pearlman 和L. Lu, "Variable-rate tree-structured vector quantizers,,,IEEE Trans. Information Theory,Vol. 41,No. 4,pp. 917-930,Jul. 1995,下文称作[9])。在该方法中,把 ECVQ/CECVQ 和TSVQ的理念应用于基于二叉树的颜色分裂情景,并开发出针对调色板图像的四种熵约束颜色分裂算法,其不仅导致渐进传输方案,而且在R-D (速率-失真)意义上能够比[2] 中的方案好得多。本文档的余下部分组织如下。文本部分首先描述无条件熵约束颜色分裂问题,然后在实施例中提供了分别使用固定的拉格朗日乘数和动态确定的拉格朗日乘数的两种分裂算法。在部分III中,根据另一实施例,描述了使用固定的拉格朗日乘数的逐像素有条件熵约束颜色分裂算法。在部分IV中,根据另一实施例示出了逐颜色有条件熵约束颜色分裂算法,其增加了如下约束原始图像中具有相同颜色值的所有像素能够在分裂过程期间通过相同的代表颜色值进行更新。II.无条件熵约束颜色分裂[2]和[3]中使用二叉树结构(相比于线性结构,二叉树结构能够保持颜色索引之间的更多相关)来表示调色板图像的颜色的关系,以便划分色图,或等效地,在编码过程期间渐进地分裂代表颜色。假定调色板图像的色图为C= {c0, C1,…,Cm_J,其中M是原始调色板图像中不同颜色的个数。每一个颜色矢量(或被称作颜色条目)Ci对应于颜色值 O^gybi)。把f (Ci)定义为Ci在给定图像中出现的次数。目标是设计基于二叉树的颜色分裂算法,该算法能够最小化受到无条件熵约束的失真。该颜色分裂算法划分色图C或渐进地分裂C的代表颜色,直到无损地重构原始调色板图像或达到用户指定的目标颜色数。 该划分过程产生了动态的二叉树,其每一个叶节点η对应于C的子集Sn,从而C = U nSn且夂门& = 0,其中m兴n,0彡m,η < N且N是动态二叉树的叶节点总数。把qn表示为&的代表色,其被定义为&的质心。这样,动态二叉树连同qn(0 ^n <N)给出了树结构的矢量量化器,使得随着动态二叉树增大,当前的矢量量化器完全嵌入后续的高速率矢量量化器。 关键的问题是怎样增大动态二叉树。从根节点(表示原始色图C)开始,通过每次分裂期望的叶节点而增大动态二叉树。进行选择和分裂期望的叶节点的过程,以最小化拉格朗日代价J = D+λ · R (1)其中,D和R分别是在把一个叶节点分裂为两个新的叶节点后与新创建的动态二叉树相对应的重构的调色板图像的失真和熵。可针对整个分裂过程中被分裂的或固定的每一个叶节点而动态地确定拉格朗日乘数λ (表示针对失真的速率折衷)。在这部分中考虑这两种情况。设Tn是具有N个叶节点的二叉树,而ΤΝ+1是通过把Tn的叶节点η分裂为两个子节点η’和η”而从Tn中产生的二叉树。设d(Ci,qn)是当颜色条目Ci = (r^g^b,) e C被代
表颜色扎二民)所替代时的颜色量化误差。具体地,Cf(Cl^n) = ICl -qnj2=(r,-r )2+(gl -gj2+^ -bnf(2)这样,把叶节点η分裂为η’和η”所引起的失真减小是
权利要求
1.一种对具有被分配给像素集的M个不同颜色的数字化彩色图像进行渐进编码的计算机系统(1010),所述系统包括a)用于存储彩色图像数据的存储器(1012);b)用于显示数字彩色图像的监视器(1014);c)用于图像处理并用于提供基于失真和熵速率两者的颜色数据渐进编码的 CPU (1016),所述 CPU 包括i)树管理模块(1122),用于把至少一个起始叶节点之间的颜色进行划分而初始化树结构; 确定每个起始叶节点的至少一个代表颜色;基于在将叶节点η变为与两个新的叶节点相链接的非叶节点η而产生的所确定的失真改变和所确定的熵速率增加,选择叶节点η变为与两个新的叶节点相链接的非叶节点τι,从而增大树结构;通过把叶节点η中的每一个颜色分配给所述两个新的叶节点之一而创建所述两个新的叶节点;以及针对所述两个新的叶节点中的每一个,确定代表颜色; )失真量化器(11 ),用于确定由把所述叶节点η变为与两个新的叶节点相链接的非叶节点η而产生的相关联的失真改变;以及iii)熵速率量化器(1126),用于确定由把所述叶节点η变为与两个新的叶节点相链接的非叶节点η而产生的相关联的熵速率增加;其中所述树管理模块与失真量化器和熵速率量化器两者相链接;以及d)编码器(1018),用于对与叶节点η相关联的索引信息、所述两个新的叶节点的代表颜色、以及与和所述两个新的叶节点的两个代表颜色相对应的数字化彩色图像的多个像素有关的信息进行编码。
2.根据权利要求1所述的计算机系统,其中,所述至少一个起始叶节点是所述树结构的根节点,而且所述根节点的颜色集包括所有M个不同颜色。
3.根据权利要求1所述的计算机系统,其中,所述至少一个起始叶节点包括包含了所述M个不同颜色的多个不相交子集的多个起始叶节点,其中,颜色的每一个不相交子集包括在所述多个起始节点中唯一一个起始叶节点中。
4.根据权利要求1所述的计算机系统,其中,所述树管理模块还能够确定以下至少一项(A)相关联的增加的熵速率,所述相关联的增加的熵速率通过把叶节点η中的每一个颜色分配给两个新的叶节点之一,将叶节点η变为与两个新的叶节点相链接的非叶节点η而产生,以及⑶叶节点的新的总数,所述叶节点的新的总数由将叶节点η变为与两个新的叶节点相链接的非叶节点η而产生;如果相关联的增加的熵速率小于目标熵速率,则重复增大所述树结构;以及如果所述叶节点的新的总数小于叶节点的目标个数,则重复增大所述树结构。
5.根据权利要求1所述的计算机系统,其中,所述树管理模块通过针对叶节点中的每一个颜色,确定数字化彩色图像中具有该颜色的相关联的像素子集中的像素的个数;以及基于叶节点中的所有颜色以及与叶节点中每一个颜色相关联的像素子集中的像素个数,确定叶节点中所有颜色的质心,由此来确定两个新的叶节点中的每一个的代表颜色。
6.根据权利要求1所述的计算机系统,其中,所述树管理模块通过针对两个新的叶节点中的每一个,确定涉及到把颜色分配给新的叶节点的熵速率和失真的相关联的有偏失真测量,并把η中的颜色分配给具有较低的相关联的有偏失真测量的新的叶节点,从而把叶节点η中的每一个颜色分配给两个新的叶节点之一,由此来创建两个新的叶节点。
7.根据权利要求6所述的计算机系统,其中,所述树管理模块针对两个新的叶节点中的每一个,通过确定由向新的叶节点分配颜色而产生的相关联的失真改变;确定由向新的叶节点分配颜色而产生的相关联的熵速率增加;以及基于相关联的失真改变和相关联的熵速率增加来计算相关联的有偏失真测量,由此来确定相关联的有偏失真测量。
8.根据权利要求1所述的计算机系统,其中,所述树管理模块通过针对每一个叶节点,确定把该叶节点变为与两个新的叶节点相链接的非叶节点的相关联的可实现代价;以及基于针对该叶节点的相关联的可实现代价与针对至少一个其他叶节点的相关联的可实现代价的比较来选择叶节点,由此选择叶节点η变为与两个新的叶节点相链接的非叶节点 η。
9.根据权利要求8所述的计算机系统,其中,所述树管理模块通过针对每一个叶节点,确定针对所选叶节点的相关联的可实现代价是否小于针对其他叶节点中的每一个的相关联的可实现代价,由此选择叶节点η变为与两个新的叶节点相链接的非叶节点η。
10.根据权利要求9所述的计算机系统,其中,所述树管理模块通过针对每一个叶节点,基于把相关联的失真改变与通过将相关联的熵速率增加和乘数相乘所获得的乘积相加,来确定相关联的可实现代价,由此选择叶节点η变为与两个新的叶节点相链接的非叶节点η。
11.根据权利要求10所述的计算机系统,其中,所述乘数是固定的拉格朗日乘数。
12.根据权利要求9所述的计算机系统,其中,所述树管理模块通过针对每一个叶节点,确定由把叶节点变为与两个新的叶节点相链接的非叶节点而产生的相关联的熵速率增加和相关联的失真减小之间的相关联的可实现折衷,以及基于相关联的可实现折衷、相关联的熵速率增加以及相关联的失真减小,从而确定相关联的可实现代价,由此选择叶节点η变为与两个新的叶节点相链接的非叶节点η。
13.根据权利要求7所述的计算机系统,其中,针对两个新的叶节点中的每一个,所述树管理模块通过针对该颜色的像素子集中的每一个像素,确定相邻像素集,其中相邻像素集中的每一个像素与该像素邻接;基于所述相邻像素集,确定针对该像素的熵速率增加; 以及基于针对该颜色的像素子集中的所有像素的熵速率增加,确定向新的叶节点分配颜色而产生的相关联的熵速率增加。
全文摘要
提供了一种利用逐颜色分裂向调色板图像提供熵约束颜色分裂的计算机系统,对具有被分配给像素集的M个不同颜色的数字化彩色图像进行渐进编码,该计算机系统包括用于存储彩色图像数据的存储器;用于显示数字彩色图像的监视器;用于图像处理并用于提供基于失真和熵速率两者的颜色数据渐进编码的CPU包括树管理模块用于初始化树结构;确定每一个起始叶节点的至少一个代表颜色;以及通过基于相关联的可实现代价,选择叶节点n成为与两个新的叶节点相链接的非叶节点n;通过把n中的每一个像素分配给两个新的叶节点之一而创建两个新的叶节点;确定两个新的叶节点中每一个的代表颜色;以及对与叶节点n相关联的索引信息进行编码,从而增大所述树结构。
文档编号H04N7/26GK102196266SQ20111005431
公开日2011年9月21日 申请日期2006年9月25日 优先权日2005年9月23日
发明者杨恩辉, 王隆基 申请人:喷流数据有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1