用于增强压缩的图像数据预处理的制作方法

文档序号:7675383阅读:246来源:国知局
专利名称:用于增强压缩的图像数据预处理的制作方法
用于增强压縮的图像数据预处理
相关申请的交叉引用
本申请要求2006年2月23日提交的名称与本申请相同的美国临时专利申请 No. 60/776,648的优先权,该专利申请整体引用在此作为参考。
背景技术
虽然计算机曾经是孤立的并且与其它计算机有最小限度的或者极少的交 互,但是现在的计算机通过局域网(LAN)、广域网(WAN)、拨号连接等等 与其它各种计算机交互。随着互联网的普及发展,计算机间的连接变得更加重 要并且开发了很多新应用和新技术。大规模网络的发展和低成本个人计算机的 普及可用性从根本上改变了很多人工作、交互、通信和游戏的方式。
一个越来越流行的连网形式通常可称为虚拟计算系统,它可以使用诸如远 程桌面协议(RDP)、独立计算体系结构(ICA)及其它协议之类的协议通过 远程客户端共享桌面和其它应用程序。这种计算系统通常将键盘按键和鼠标点 击或者选择从客户端传输到服务器,通过网络连接(例如,互联网)在另一方 向上中继回屏幕更新。由此,用户具有这样的体验,即好像他们的机器作为LAN 的一部分运行,而实际上当应用程序出现在服务器侧时客户端设备仅仅发送其 屏幕快照。
因为按照带宽消耗当通过网络连接(例如,互联网)传输位图时这些位图 是很昂贵的,所以现今大多数虚拟系统宁可不发送整个位图而是发送图形基元 和告知在客户端侧的子例程绘制什么以及如何绘制的其它操作。例如,可以告 知客户端绘制矩形,连同关于应在何处绘制、什么大小、色彩等等信息。例如, 矩形可用于绘制用户界面按键、文档周围的边框或者矩形形状可以有用处的任 何其它用途。当然,有许多其它的可作为基元使用的形状和操作,它们可能更 为复杂并且需要更多的处理,这些处理必须完成以在远程客户端传输和执行操 作。
因为应用程序不断获得更复杂的图形用户界面,所以上述基元的使用变得更为处理密集。例如,位像已被扩充为包括OC通道,该通道实质上指示与 每个像素相关联的所需水平的透明度。这一透明度水平指示客户端如何将位图 的每个像素与已在正显示位图的位置呈现的色彩相混合。与处理复杂基元更新 相关联的开销的一个更好的例子可以是动画对象或元素,其中命令序列必须指 示客户端如何在动画的每个步骤绘制动画。当基元序列过于复杂时,发送可以 更简单地被显示的位图表示而不是可能长序列的其它更复杂的原语操作有时 可能更有意义。然而,如前所述,因为大多的比特流压縮程序的限制以及网络 带宽的限制,连续发送屏幕的全位图表示可能过于昂贵。
简要概述以上标识的当前位图压縮机制的缺陷和不足通过本发明的示例 性实施方式得以克服。例如,这里描述的各实施方式提供图像数据的预处理机 制,以便以一般压縮程序可以更容易地识别数据模式的方式组织通道分量;并 且因此实现更好的压缩比。注意,提供本概述以便用简化的形式介绍将在以下 详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关 键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
一个示例性实施方式通过展示图像数据中的普通模式提供用于增强数据 压缩的图像数据的预处理,而在图像数据以色彩通道交错的形式显示时这些模 式通常并不能被比特流处理程序识别。在这样的实施方式中,表示为多个像素 的数字图像被接收。每个像素由包括通常被显示出的色彩通道的色彩空间所定 义,使得多个像素的布局作为色彩通道的交错序列显现。接着,确定是否将数 字图像分成平面数据源,每个数据源包括针对每个独立色彩通道的数字图像数 据,使得数字图像数据的冗余或者另一可识别序列可以由一个或者多个基于模 式和/或统计的数据压縮模块容易地标识。而且,基于以上确定,将平面数据源 发送到压縮模块,以便帮助它们比数字图像处于交错形式时更有效率地压縮数 字图像。
另一实施方式提供解压縮数字图像数据的机制,这些数字图像数据被编码 为色彩空间的分开的色彩通道以便改进数据压縮。在这一实施方式中,第一组 表示平面数据源之一的经压縮数字图像数据被接收,其中每个平面数据源与用 于数字图像多个像素的色彩空间的一个色彩通道相对应。注意,每个平面数据 源作为分开的数字图像数据展示,使得数字图像数据的冗余或者任何其它可识 别序列可由基于模式和/或统计的数据压縮模块容易地标识。其后,第二组表示另一平面数据源的经压縮数字图像数据被接收。因此,第一组和第二组经压縮 数字图像数据被解压縮到它们各自的平面数据源中。在这一实例中,数字图像 可作为解压縮的色彩通道的交错序列显示,使得数字图像的每个像素包括与每 个平面数据源相对应的色彩分量。
本发明的附加特征和优点将在以下描述中叙述,且其部分根据本描述将是 显而易见的,或可通过对本发明的实践领会。本发明的特征和优点可通过在所 附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些和其他特 征将通过以下描述和所附权利要求书变得更加完全明显,或可通过对下文中所 述的本发明的实践来领会。
附图简述
为了描述可获取本发明的上述及其他有利特征的方式,将参考附图中示出 的本发明的特定实施方式来呈现以上简要描述的本发明的更具体描述。可以理 解这些附图仅描述本发明的典型实施方式,从而不被认为是对其范围的限制, 本发明将通过使用附图用附加特征和细节来描述和说明,附图中


图1示出了根据示例性实施方式的用于帮助数字图像压縮的预处理步骤; 图2A示出了根据示例性实施方式的为增强压縮比而将数字图像分割为平 面数据源;
图2B示出了根据示例性实施方式的将平面数据源用于增强压缩的一个特 定示例;
图2C示出了根据示例性实施方式的将平面数据源用于展示色彩通道的模 式和数学函数;
图2D示出了根据示例性实施方式的增强模式识别以便更有效率地压縮的 其它操纵数据用技术;
图3示出了根据示例性实施方式的用于改进的数据压縮的对图像数据进行 预处理的方法的流程图;以及
图4示出了根据示例性实施方式的解压縮数字图像数据的方法,这些数字 图像数据被编码为色彩空间的分开的色彩通道以便改进数据压縮。
详细描述
本发明涉及用于将色彩空间的色彩通道分离或者分割成各个平面表示以便展示模式及其他序列以增强压縮比的方法、系统和计算机程序产品。本发明 的实施方式可以包括含有各种计算机硬件或模块的专用或通用计算机,这将在 以下做出进一步讨论。
本文中的实施方式通过将用于像素的色彩通道分割或者分离成平面数据 源而提供一种用于增强图像数据压縮的预处理步骤或者机制。通常,图像数据 被显示为色彩空间的通道类交错组,使得图像(例如位图)内的每个像素具有
针对每个色彩通道的一个分量。例如,具有红、绿和蓝(RGB)色彩空间的像 素将有一个红色色彩通道、 一个绿色色彩通道和一个蓝色色彩通道。因此,示 例性实施方式将每个通道的分量分成平面数据源,使得同样的分量在同一平面 内示出。通过将交错的位图或者数字图像分成平面表示,每个平面可以被独立 压縮并且通常实现较高的压縮比。对于期望在整个位图大部分时间保持相当固 定的通道尤其是这样(例如,描述位图内元素透明度的a通道)。
换言之,示例性实施方式利用常常一个通道可以经过转换而其它的保持相 当固定的事实。通过操纵通道数据或者通过将色彩空间转换成除仅仅RGB之 外的事物可以进一步增强对以上实施方式的利用。例如,按照照明度和色度定 义像素的其它色彩空间(例如,YUV、 YCoCg,等等)通常更多地按照人眼如 何感知色彩来描述色彩空间。换言之,这些类型的色彩空间将眼睛更敏感的色 彩分量与那些眼睛较不敏感的通道分开。因此,通过利用人眼的感知差异,有 可能将色彩通道内的信息降级以增强压縮模型可以更有效处理的模式,但仍使 图像保持感知上的无损耗。
如本文所述,可以有若干方式允许修正特定色彩空间或者数字图像的色彩 信息以便增强压縮比。例如,通过降低与特定配色方案的色度通道相关联的总 的位计数可以量化该特定通道,由此降低调色板的保真度,但不一定降低配色 方案的范围。作为替换或者结合,样本像素间距或者各种色度子采样的值可以 修正为全部值的某些平均值,或者进行其它使这些值具有共同特点的类似修 正。当然,如以下将做出的更详细描述,当为了压縮而预处理图像数据时可以 有其它机制用于修正数据以增强模式识别。
一旦数字图像或者位图被分成逻辑上分开的数字图像,即一个分开的数字 图像对应于每个通道信息平面,并且一旦已经做出对数据的所有操纵或者修 正,示例性实施方式可以使用诸如二维游程长度编码方案之类的标准或者公知 的编码模块对这些值进行编码。位图的每个扫描行可以与在其之前的扫描行区别对待,从而可以如以下将更详细描述的那样编码这些差异。
虽然如下将参考附图对有利特征的更特定引用进行更为详尽的描述,但是 本发明范围内的各实施方式还包括用于载有或具有计算机可执行指令或数据 结构存储其上的计算机可读介质。这样的机器可读介质可以是可由通用或专用
计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可包
括RAM、 ROM、 EEPROM、 CD-ROM或其他光盘存储、磁盘存储或其他磁存 储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代 码装置且可由通用或专用计算机访问的任何其他介质。当信息在网络或另一通 信连接(硬连线、无线或硬连线或无线的组合)上传输或提供给计算机时,计 算机将连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计 算机可读介质。以上的组合也应包括在计算机可读介质的范围之内。
计算机可执行指令例如包括,使通用计算机、专用计算机、或专用处理设 备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专 用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于 上述具体特征或动作。相反,上述具体特征和动作作为实现权利要求的示例形 式公开的。
如此处所使用的,术语"模块"或"组件"可以指在计算系统上执行的软 件对象或例程。此处描述的不同的组件、模块、引擎和服务可被实现为在计算 系统上执行的对象或进程(例如,作为分开的线程)。尽管此处描述的系统和 方法可用软件较佳地实现,但用硬件或软件和硬件的组合的实现也是可能的且 已被想到。在此描述中,"计算实体"可以是如上文定义的任何计算系统,或 者在计算系统上运行的任何模块或模块的组合。
图1示出了根据示例性实施方式的被配置成为了压縮而预处理数字图像或 者位图的数字图像计算设备100。(注意到在描述本文的其它附图或者实施方 式时以下的详细描述有时将涉及图1中示出的模块和其它术语。)如所示,可 以由预处理步骤110接收数字图像105。注意到数字图像105可以是诸如文本 文档、整个用户界面的一部分、视频中的图形画面或者任何其它类似类型的图 形之类的任何类型的图像。因此,术语数字图像105或者位图(在此处可以互 换使用)应该被广义地解释为包括任何类型的图形信息。
无论什么类型的数字图像105,位图105通常以色彩通道交错的形式显示 和处理。例如,如图2A所示,数字图像205可以具有各种像素(例如,像素A-D),这些像素每个具有特定色彩空间(例如,在这一示例中是RGB)色彩 通道的色彩分量。如图所示,每个像素用红绿蓝每个色彩分量的色彩通道交错。 注意,这一色彩空间的这种交错方式可以导致非最优压縮,其它色彩空间也是 如此。例如,如果数字图像205具有全蓝背景,那么数字图像205中的每个像 素的蓝色通道分量可以被全部或者部分点亮,而红色和绿色通道将没有照明。 然而,大多数数据压縮模块135通常不会识别这种导致压縮不足的模式。更具 体地,像游程长度编码器这类的编码器可以仅仅标识在适于压縮状态下的单个 像素内的红色和绿色分量,但是仍然留下每个蓝色分量的值不被压縮。
为了克服这类无效率,示例性实施方式提供可以展示图像数据中的普通模 式的预处理步骤110,这些模式在图像以色彩通道交错的形式显示时通常是不 能被比特流处理程序识别的。更具体地,如图2A所示,数字图像205可以被 分离或者分割为红色通道210、绿色通道215和蓝色通道220的平面数据源。 从通道到平面数据源210、 215、 220的这种分割(例如,使用平面转换器模块 115)使得诸如数字图像数据的冗余或者其它可识别序列之类的模式呈现,这 将在以下予以更详细地描述。这种模式展示此时使得数据压缩模块135能将数 据更有效地压縮到更高的比率水平。
例如,如图2B所示,数字图像125在黑色背景上(尽管为清楚起见在图 2B中其作为白色出现)示出了蓝色阴影圆130。假设在RGB色彩空间中添加 色彩混合(即没有白色或者将色彩空间中的所有色彩调零),红色通道平面235 和绿色通道平面240将包含所有零点。蓝色通道平面245除圆被点亮的区域之 外也可以包含零点,在这一情况下该区域如以十六进制数字"FF"所示出的那 样被全部点亮。因此,将会认识到,每个平面数据源(即红色通道平面235、 绿色通道平面240和蓝色通道平面245)此时可以使用数据压縮模块135分别 地压縮。
换言之,通过将通道分量分为各种平面235、 240、 245,它们每一个的模 式可以更容易地标识。例如,假设约一千像素(例如,IOOXIOO像素)的数字 图像125并且使用简单的RLE压縮程序,红色通道平面235和绿色通道平面 240可以具有大约1000: 1的压縮比。另一方面,蓝色通道平面245可以仅仅 具有例如100: 1的压縮比;然而,未将通道分为不同平面的数字图像125的 总体压縮可能仅仅比这一值稍大(如果不是更差)。因此,在这一示例中,相 对于将它们保持在其交错形式,通过将通道分成平面数据源235、 240、 245,压縮比可以好大约三分之二。
更具体地,通过将交错位图105分成平面表示,每个平面可以被独立地压 縮并且通常实现更高的压縮比。对于期望在整个数字图像105上大部分时间保 持相当固定的通道尤其是这样。换言之,示例性实施方式利用常常一个通道可 以进行转换而其它的保持相当固定的事实。例如,假设将通常描述像素透明度 的a通道添加到RGB色彩空间。通常,a通道在整个图像上保持固定,或者仅 仅具有用于诸如按钮或者小的图示符的有不同值的少量像素。因此,通过使用 上述实施方式的预处理,压縮比比在位图105以交错形式保留时增加了大约百 分之二十五。更具体地,因为四个通道中的一个(在这一示例中是a通道)可 以仅仅使用相对于整个通道比特数量的最小限度的比特高度地压縮,实现了自 动的百分之二十五的压縮节省。
在许多实例中非常需要这样高的压縮比。例如,如上所述的虚拟计算系统, 其中整个位图105而不是原语操作被发送到远程客户端设备,本文所描述的以 上及其它实施方式的使用可以实质上降低发送这类图像105的带宽需求。然而, 注意,除虚拟计算系统之外的系统或者机制也可以利用这种有利特征。例如, 存储消耗始终备受关注,特别随着文档、图像和其它文件的大小不断地增加。 因此,可以利用本文所描述的以上及其它实施方式压縮那些在其它格式下可能 不能被压縮的照片和其它图像数据。当然,需要高压縮比的任何实例可以利用 本文所描述的特征。因此,使用本文所描述的这些实施方式的任何具体环境仅 仅出于示例性的目的,并且不旨在限制或者以其它方式縮小这些实施方式的范 围,除非另行指出。
注意,尽管示例性实施方式在预处理步骤110中提供平面转换器模块115, 其它实施方式允许数字图像105以平面格式存储并且在传输过程中被检索以便 呈现给数据压縮模块135或者根据以下更详细地描述的各实施方式以其它方式 处理。实际上,如上所述,对位图105的预处理IIO可以在某个较早的时刻发 生,这些结果被压縮并存储,并且所压縮的图像105被发送到远程或者其它设 备而不需要对图像105进行解压縮和再压縮。
对以上实施方式的利用可以通过将色彩空间转换到另一形式和/或操纵色 彩通道而得到进一步增强。例如,如图1所示,预处理步骤IIO包括可用于转 换色彩空间的色彩空间转换器模块120。更具体地,诸如具有亮度和色度值的 某些色彩空间更适于某些类型的数据压縮模块135。换言之,通过将RGB空间转换到亮度、色度色彩空间(例如,YUV、 YCoCg、 YCbCr,等等),在压縮 比上的改进可以实现几乎2: 1的增加。当然,压縮比的增强类型可以取决于 所使用的数据压縮模块135的类型、数字图像105的当前形式或者其它各种因 素。还要注意,尽管以上转换是从RGB色彩空间到亮度、色度色彩空间的, 其它类型的转换在这里也予以考虑,并且可以包括任何下列或者其他类型的公 知色彩空间RGB、 RGBA、 CMYK (青色、洋红色、黄色、黑色)、CIE形 式、YUV、 YIQ、 YDbDr、 HLS、 HSL (色调、饱和度、亮度)、HSV (色调、 饱和度、明度)、YCbCr、 YPbPr、 YCoCr,等等。
除将图像105从一个色彩空间转换到另一个之外,可能也需要修正图像105 或者色彩空间以便在试图增强数据压縮模块135的模式识别时实现某些可接收 的损耗,如本文所描述的那样。例如, 一些亮度和色度色彩空间(例如,YCoCg) 基于视觉灵敏度将通道分成分量。换言之,人的眼睛被认为对亮度(在图2D 中示为270)的改变比色度值(在像素265中示为Cl和C2项275)更敏感。 因此,通过利用人眼的感知差异,有可能将色彩通道内的信息降级以增强压縮 模型可以更有效处理的模式,但仍使图像保持感知上的无损耗。
如本文所述,可以有若干方式修正特定色彩空间或者数字图像105的色彩 信息以便增强压縮比。例如, 一个实施方式使用图像修正模块125以允许如图 2D中所示出的使用四像素表示280的子采样。在这一子采样实施方式中, 一个 或者多个色彩通道值(例如,色度值275C1和/或C2)可以被调整以与邻近像 素内同一类型的通道的类似色度值相匹配。例如,如果两个邻近像素对于色彩 空间YCoCb中的诸如Co具有仅仅稍微不同的色度值275,那么可以标准化或 者另外改变这些值以增强模式或者冗余识别。
作为另一示例,考虑图2D所示的四个像素280。如每个像素顶部所示,每 个对于特定色彩空间的通道具有一个原始值(即,70、 102、 94和82),但是 经过子采样后每个变为较低角落的数值87,其为所有这些数值的平均值。正如 我们所见,图像空间的这一子采样或者修正可以使这四个像素在这类通道值分 为平面数据源时作为模式予以识别。注意到这一子采样实施方式可以将许多公 知算法用于将通道值标准化或者另外将其转换为增强模式识别。例如,可以使 用平均值、中值或者其它统计值,或者标准化可以基于诸如什么类型的改变将 是不易察觉之类的其它规则或者数据。当然,如本文所述,可以有许多修正或 者标准化通道值(甚至使用随机值)的方式;因此本文使用以上示例仅仅用于说明性的用途。
当然,可以使用图像修正模块125做出其它图像修正。例如,色度或者其 它通道值的量化可以是合乎需要的。例如,如图2D所示,可以使用如线格285 所示的9比特表示一个色度值。然而,这一9比特表示可以需要一些附加的处 理并且需要一个以上的字节对其进行表示。因此,示例性实施方式考虑到量化 值,例如,其允许用于表示同一范围值的比特的数量减少。例如,如果量化值 设置为三,则285中的九比特表示可以减少到所示的六比特表示。注意,在这 一减少中,色度或者其它通道分量的量化减小了比特大小,从而也减小了调色 板;然而,色彩范围应当保持固定。另外注意,可以有其它修正通道比特值的 方法;因此本文使用特定数学变换或者量化值仅仅是用于说明性的用途,除非 另外明确指出,而不旨在限制或者另外縮小本文所描述的实施方式的范围。
当根据示例性实施方式预处理数字图像105时,可以有其它公知技术用于 修正色彩空间中的色度以及其它通道以便增强模式识别。例如,根据示例性实 施方式,控制设定130可用于在子采样和/或量化上设定条件以便定义色彩或者 数据的其它损耗的可接受水平。更进一步地,如本文所述,可以有定义数据压 縮模块135类型的其它控制设定130用于和/或设置其它所需的优选,在转换或 者另外修正色彩时可以考虑到这些优选。因此,本文使用子采样和量化的以上 示例仅仅是用于说明性的用途,除非另外明确指出,而不旨在限制或者另外縮 小本文所描述的实施方式的范围。
如前所述,无论如何, 一旦位图105在逻辑上被分割为孤立的平面位图或 者平面数据源,就可以使用例如甚至诸如游程长度编码(RLE)之类的简单的 编码方案对这些数值进行编码。这样,位图的每一行可以与在其之前的扫描行 不同对待,并且这些差异可以如下进行编码。例如, 一个实施方式允许含有游 程长度的控制字节和许多跟随控制字节的原始字节。控制字节可以在逻辑上分 割为两部分, 一部分指示游程长度而另一部分指示许多跟随的原始字节。在一 个实施方式中,如果这些之中的任何一个的最大值不需要再增大,则新的控制 字节可以跟随编码流中的原始字节(如果有的话)。
注意, 一些实施方式考虑到对长度小于三个字节的游程进行编码可能不值 得;从而可能不使用一个和两个字节的值的游程长度。因此,这些值可以有利 地用于指示比能以其它方式编码的更长的游程。例如,以下的伪码示出了控制 字节如何被解码并且如何用于以其它方式延长游程。〃 --—
RawLength = ControlByte >> 4; RimLength = ControlByte & OxOf; if (RunLength == 1)
RunLength = 16 + RawLength; RawLength = 0;
else if (RunLength = 2)
RunLength = 32 + RawLength; RawLength = 0;
〃 -—-
注意,如果只有数据的原始字节那么游程长度有可能是零。当然,有其它 形式的代码和规则或者游程长度可以用于实践本文所述的各种实施方式。另 外,如以下所详细地描述,有其它形式的压缩(以及甚至压縮程序的步骤)可 以有利地受益于本文所述的实施方式。因此,以上伪码、定义以及RLE的使用 在此仅仅是用于说明性的用途,除非另外明确指出,不旨在限制或者以其它方 式縮小本文所述的实施方式的范围。
注意,在以上示例中,当交错通道被分成各个平面数据源时,压縮技术利 用比特冗余来实现较高的压縮比。然而,值得注意的是,在本文所述的以上及 其它实施方式中,其它模式或者可识别的序列也可以出现。例如,如图2C所 示,提供梯度图像250,其中图像250顶部的浅蓝色逐渐变为底部250的深蓝 色阴影。当转换成蓝色通道平面255的平面形式时,该梯度图像250可以随着 色值的逐渐变化而从左到右地(表示图像250从顶到底)被表示出来。因此, 这种变化产生横跨整个蓝色通道平面255的从"0"到"FF"的斜率。因此, 各种压縮程序可以识别这一模式并且更容易地压縮该模式,不然当其它通道与 蓝色通道交错时不易识别该模式。
当然,将本文所述的实施方式用于其它通道可以展示可由典型的数据压縮 模块135所识别的其它模式。而且,应当注意到,尽管为梯度标识了简单的直线斜率,当使用其它图像时,将通道分成它们各自的平面可以导致更复杂的数
学或者数字序列的模式出现。例如,如随机通道平面260所示,取决于图像105, 可以产生通道的正弦或者其它类型函数。然而,通过将通道分为平面形式,并 且使用如以下所述的其它修正技术,即使一些更复杂的图像也可以分解为更易 处理的压縮程序135可以识别的函数,不然将无法标识。实际上,通过使用本 文所述的实施方式任何数量的模式、比特序列或者其它形式的冗余可以出现, 任何数量的压縮模块135可以比在图像保留在交错形式时更容易地将其压縮。 此外,注意到这些压縮模块135可以基于模式和/或静态。
无论什么类型的用于标识不同模式、冗余、序列、数学函数等等的数据压 缩模块135,如前所述,其它实施方式考虑到压縮的各种步骤。例如,在执行 以上所述的平面分离和修正技术之后,可以使用RLE压縮程序标识不同通道或 者平面数据源的冗余。该压縮数据可以随后传递到可以标识其它模式或者可识 别序列的另一压縮程序。因此,这一过程可以被重复地执行许多次以便实现较 高的压縮比。当然,然而,在某些时候可能没有更多的益处,而且实际上某些 时候进一步的压縮尝试可能事实上降低压縮比。然而,本文所述的实施方式考 虑使用许多压縮模块135,包括但不限于RLE、基于MPEG、 JPEG、 GIF、 ZIP、 基于LZ、 JBIG、 DejaVu等等。
实际上,注意,整个图像105—旦分离和/或修正成平面形式,其各部分被 发送到不同的压縮模块135用于处理。例如,只有a通道被传递到RLE压縮程 序135用于处理,而其它通道分量被传递到其它的压縮程序。这一机制在标识 数据的何种模式或者统计序列最适于特定类型的压縮机制时可以是有利的。这 样,只要需要,任何数量任何类型的压縮程序可以用于不同的平面数据源。
本发明也可以按照包括功能性步骤和/或非功能性动作的方法予以描述。以 下是对可以在实践本发明的过程中执行的步骤和/或动作的描述。通常,功能性 步骤按照所实现的结果描述本发明,然而非功能性动作描述用于实现特定结果 的更加具体的动作。尽管功能性步骤和/或非功能性动作可以用特定的顺序予以 描述或者主张权利,但是本发明并不必然地限于步骤和/或动作的任何特定的顺 序或者组合。进一步地,在权利要求的叙述中对这些步骤和/或动作的使用仅仅 用于指示这类项的所需特定使用。
图3和图4示出了本发明各种示例性实施方式的流程图。以下对图3和图 4的描述偶尔会参照图1、图2A-D中相应的元素。尽管可能参照这些附图中的特定元素,但是这种参照仅仅用于说明性的用途,除非明确指出,而不旨在限 制或者另外縮小所述的实施方式的范围。
图3示出了根据示例性实施方式的用于改进的数据压縮的对图像数据进行 预处理的方法300的流程图。如所示,方法300包括接收数字图像的动作305。 例如,预处理步骤110可以接收可表示为多个像素的数字图像105,其中每个 像素由包括通常被显示出的色彩通道的第一色彩空间定义,以便多个像素的布 局作为色彩通道的交错序列出现。换言之,如数字图像205所示,像素可以用 色彩空间的通道交错(例如,如所示的RGB)。注意,在大多数实例中色彩空 间(例如,RGB、 RGBA、 CMYK、 CIELAB、 CIELUV、 CIE、 YUV、 YIQ、 YDbDr、 HLS、 HSL、 HIS、 HSB、 YCbCr、 YPbPr、 YCoCr,等等)通常具有 三个或者更多的通道值。然而,本文的实施方式考虑到可能仅仅具有两个或者 更多通道值的色彩空间。
如果数字图像将被分离成平面数据源,则方法200也包括确定动作310。 更具体地,如上述,数字图像105可以已经处于被分离成平面数据源(例如, 红色通道210、绿色通道215、蓝色通道220)的形式。每个平面数据源将包括 用于每个个别的色彩通道的数字图像数据,以便数字图像数据的冗余或者另一 可识别序列可以由基于模式、基于静态或者两者兼具的数据压縮模块135容易 地标识。进一步地,压縮模块135可以是RLE、基于MPEG、 JPEG、 GIF、 ZIP、 基于LZ、 JBIG、 DejaVu或者其它公知的基于模式或统计的压縮机制中的一个 或者多个。
基于以上确定,方法300还包括将平面数据源发送到数据压縮模块的动作 315。更具体地, 一旦确定数字图像105是平面数据源的形式,预处理步骤IIO 就可以将数字图像105发送到数据压縮模块135。注意,通过将通道分离成平 面数据源,这种分离帮助数据压縮模块135比在数字图像是交错形式时更有效 地压縮数字图像105。
注意,可以将平面数据源发送到多个压縮模块135。例如,可以将平面数 据源发送到数据压縮模块B5用于压縮数字数据的大的冗余,并且随后将其发 送到另一压縮模块135用于其它基于模式和/或统计的处理。更具体地,平面数 据源可以传递到RLE用于对大的序列模式进行标识的第一压縮机制,并且随后 传递到另一通用的压縮程序用于进一步的数据压縮。作为一个示例,带有a通 道的RGB色彩空间允许a通道带有将传递到RLE的大量的冗余数据。如果确定数字图像没有被分离成平面数据源,第一色彩通道和第二色彩通 道的各个分量可以被标识并且分离成它们各自的平面数据源。另外注意,对以 上实施方式的其它增强也是可用的。例如,色彩空间可被从第二色彩空间转换 到第一色彩空间,其中该第一色彩空间具有比第二色彩空间更高的压縮比,或 者可用于进一步地操纵数字图像数据以供更好的模式或者统计识别。例如,色
彩空间可以从基于RGB转换到具有亮度和色度通道。进一步地,色彩空间可 以通过标识平面数据源内的区域修正,在区域中图像数据可以更改用于更好的 模式识别。基于控制设定130,和/或基于所使用的压縮模块135的类型,这些 标识区域可以通过更改原始图像数据来实现比没有这种操纵时甚至更好的冗 余或者可识别的序列或模式。
这种修正可以包括子采样,以使像素的色彩通道的色度值被修正为与邻近 像素的另一色彩通道的色度值相匹配。这种修正还可以基于色度值的平均值或 者一些其它统计或其它推理来标准化数值。作为替换或者结合,该修正可以包 括色度(或者其它通道)分量的量化,这样相应色彩通道的比特大小降低预定 数量,以便降低所需的表示色度(或者其它通道)分量的数据量,这样比特犬 小的降低縮减了调色板而不是色彩范围。
注意,数字图像可处于虚拟网络计算环境中,这样数字图像105将被压縮 以传输到远程设备。在这一事实方式中,数字图像可能过于复杂而不能作为一 系列的基元发送到远程设备,并且如果以其交错形式保留,将该数字图像压縮 并传输到远程设备将极大地消耗传输带宽。
图4示出了根据示例性实施方式的解压縮数字图像数据的方法400,这些 数字图像数据被编码为色彩空间的分开的色彩通道。方法400包括将数字图像 显示为解压縮的色彩通道的交错序列的步骤420。 420的步骤包括接收表示一 个平面数据源的第一组经压縮数字图像数据的动作405。例如,远程设备可以 接收表示至少两个平面数据源(例如,红色通道平面数据源210)中之一的第 一组经压縮数字图像数据,其中该至少两个平面数据源中的每一个与数字图像 105的多个像素205的第一色彩空间的色彩通道相对应。该两个平面数据源中 的每一个都展示为分开的数字图像数据,这样数字图像数据的冗余或者任何其
它可识别序列可以容易地由基于模式、基于静态或者两者兼具的数据压縮模块 135标识。
420之后的步骤包括接收表示另一平面数据源的第二组经压縮数字图像数据的动作410。换言之,远程设备也可以接收绿色通道平面数据源215的根据 本文所述的示例性实施方式压縮的平面数据源。此后,420的步骤包括将第一 组和第二组经压縮数字图像数据解压縮为它们各自的平面数据源的动作415。 一旦解压縮,平面数据源就可以完全地交错回到数字图像105并且适当地显示, 这样数字图像的每个像素205包括与该至少两个平面数据源的每一个相对应的 色彩分量。注意,前述的关于图像数据预处理的其它实施方式也可以与此处所 述的解压縮实施方式相对应。
本发明可以用其它的具体形式表达而不背离其精神或者本质特征。所描述 的实施方式在各个方面均被认为仅仅是示例性的而非限制性的。因此,本发明 的范围由所附权利要求而非以上描述指示。落入这些权利要求等同意义和范围 的所有改变将涵盖在它们的范围内。
权利要求
1. 在数字图像计算设备中,一种用于通过展示图像数据中一个或者多个普通模式预处理图像以改进数据压缩的方法,所述图像数据在以色彩通道交错的形式显示时所述模式通常不能被比特流处理程序识别,所述方法包括接收表示为多个像素的数字图像,其中每个像素由包括通常被显示出的至少两个色彩通道的第一色彩空间定义,以使所述多个像素的布局作为所述至少两个色彩通道的交错序列出现;确定所述数字图像是否被分离成至少两个平面数据源,其中每一个包括针对每一个所述各个至少两个色彩通道的数字图像数据,以使数字图像数据的冗余或者另一可识别序列可以容易地由一个或者多个基于模式、基于统计或者两者兼具的数据压缩模块标识;以及基于上述确定,将所述至少两个平面数据源发送到所述一个或者多个数据压缩模块,以便帮助所述一个或者多个数据压缩模块比在所述数字图像是交错形式时更有效地压缩所述数字图像。
2. 如权利要求1所述的方法,其特征在于,所述数字图像处于虚拟网络计算 环境并且所述数字图像被压縮以传输到远程设备,并且其中所述数字图像过于复杂 而不能作为一系列的图形基元发送到所述远程设备,并且所述数字图像如果以交错 形式保留,则将所述数字图像压縮并且传输到所述远程设备会过度地消耗传输带宽。
3. 如权利要求1所述的方法,其特征在于,所述一个或者多个数据压缩模块 包括RLE、基于MPEG、 JPEG、 GIF、 ZIP、基于LZ、 JBIG、 DejaVu或者其它 公知的基于模式或统计的压縮机制中的一个或者多个。
4. 如权利要求1所述的方法,其特征在于,所述至少两个平面数据源被发送 到第一数据压縮模块以压縮数字数据的大的冗余,并且随后被发送到第二数据压縮 模块以进行其它基于模式、统计或者算术的处理。
5. 如权利要求1所述的方法,其特征在于,如果确定所述数字图像没有被分离成所述至少两个平面数据源,所述方法还包括为所述至少两个色彩通道标识第一色彩通道的各个分量,并且将它们置入与所述至少两个平面数据源之一相对应的第一平面数据源;以及为所述至少两个色彩通道标识第二色彩通道的各个分量,并且将它们置入与所 述至少两个平面数据源中的另一个相对应的第二平面数据源。
6. 如权利要求1所述的方法,其特征在于,所述第一色彩空间是RGB、RGBA、 CMYK、 CIELAB、 CIELUV、 CIE、 YUV、 YIQ、 YDbDr、 HLS、 HSL、 HIS、 HSB、 YCbCr、 YPbPr和YCoCr中之一。
7. 如权利要求1所述的方法,其特征在于,还包括以下步骤中的一个或者多个将第二色彩空间转换到所述第一色彩空间,所述第一色彩空间具有比所述第 二色彩空间更高的压縮比,或者可用于进一步地操纵所述数字图像数据以供更 好的模式或者统计识别;标识所述至少两个平面数据源内的一个或者多个区域,可以在所述区域中 更改所述图像数据以供更好的模式识别;以及基于一个或者多个控制设定,或者基于所使用的压縮程序的类型,通过更 改原始图像数据来修正所述区域以实现比没有该操纵时甚至更好的冗余或者 其它可识别序列或模式。
8. 如权利要求7所述的方法,其特征在于,所述第一色彩空间是具有亮度 和至少一个色度分量的色彩通道的色彩空间,并且所述第二色彩空间基于 RGB。
9. 如权利要求8所述的方法,其特征在于,所述修正包括子采样,以使像 素的一个色彩通道的至少一个色度值被修正为与邻近像素的另一色彩通道的 色度值相匹配。
10. 如权利要求9所述的方法,其特征在于,所述修正基于所述色度值的 平均值。
11. 如权利要求8所述的方法,其特征在于,所述修正包括所述至少一个 色度分量的量化,以使所述相应的色彩通道的比特大小被减少预定量,以便于 减少表示所述至少一个色度分量所需的数据量,并且所述比特大小的所述减少 縮小了调色板而不是色彩范围。
12. 如权利要求1所述的方法,其特征在于,所述至少两个平面数据源中 的至少一个被传递到对大的序列模式进行标识的第一压縮机制的RLE,并且所述至少两个平面数据源被传递到另一个通用压縮程序以供进一步的数据压縮。
13. 如权利要求12所述的方法,其特征在于,所述第一色彩空间是带有a通道的RGB色彩空间,并且所述a通道包括传递到所述RLE的大量的冗余数 据。
14. 在传输那些过于复杂而不能作为一系列图形基元发送到远程设备的数 字图像的虚拟网络计算环境的远程设备中, 一种解压缩被编码为色彩空间的各 个色彩通道的数字图像数据的方法,所述方法包括接收表示至少两个平面数据源中之一的第一组经压縮数字图像数据,其中 所述至少两个平面数据源中的每一个与数字图像的多个像素的第一色彩空间 的各个色彩通道相对应,并且其中所述至少两个平面数据源中的每一个都展示 为分开的数字图像数据,以使数字图像数据的冗余或者另一个可识别序列可以 容易地由基于模式、基于统计或者两者兼具的一个或者多个数据压縮模块标 识;接收表示所述至少两个平面数据源中另一个的第二组经压缩数字图像数据;将所述第一组和第二组经压縮数字图像数据解压縮成它们各自的平面数 据源;以及将所述数字图像显示为所述经解压縮的色彩通道的交错序列,以使所述数 字图像的每个像素包括与所述至少两个平面数据源中的每一个相对应的色彩
15. 如权利要求14所述的方法,其特征在于,所述一个或者多个数据压缩 模块将所述至少两个平面数据源压縮为以下形式中的一个或者多个RLE、基 于MPEG、 JPEG、 GIF、 ZIP、基于LZ、 JBIG、 DejaVu或者其它公知的基于模 式或统计的形式。
16. 如权利要求14所述的方法,其特征在于,所述第一色彩空间是RGB、 RGBA、 CMYK、 CIELAB、 CIELUV、 CIE、 YUV、 YIQ、 YDbDr、 HLS、 HSL、 HIS、 HSB、 YCbCr、 YPbPr和YCoCr中之一。
17. 如权利要求14所述的方法,其特征在于,所述第一色彩空间在显示所述数字图像之前被转换为第二色彩空间。
18. 如权利要求17所述的方法,其特征在于,所述第一色彩空间是具有亮度和至少一个色度分量的色彩通道的色彩空间,并且所述第二色彩空间基于 RGB。
19. 如权利要求14所述的方法,其特征在于,所述第一色彩空间是带有具有大量冗余数据的a通道的RGB色彩空间,并且所述a通道作为经压縮RLE流 被接收。
20.在数字图像计算设备中, 一种计算机程序产品用于实现一种用于通过 展示图像数据中一个或者多个普通模式预处理图像以改进数据压縮的方法,所述图 像数据在以色彩通道交错的形式显示时比特流处理程序通常不能识别所述模式,包 括其上存储计算机可执行指令的一个或者多个计算机可读介质的所述计算机程序 产品在由所述计算系统的一个或者多个处理程序执行时,使得所述计算系统执行以 下步骤接收表示为多个像素的数字图像,其中每个像素由包括通常被显示出的至少两 个色彩通道的第一色彩空间定义,以使所述多个像素的布局作为所述至少两个色彩 通道的交错序列出现;确定所述数字图像是否被分离成至少两个平面数据源,其中每一个包括每一个 所述各个至少两个色彩通道的数字图像数据,以使数字图像数据的冗余或者另一可 识别序列可以容易地由一个或者多个基于模式、基于统计或者两者兼具的数据压縮 模块标识;以及基于上述确定,将所述至少两个平面数据源发送到所述一个或者多个数据压縮 模块,以便于帮助所述一个或者多个数据压縮模块比在所述数字图像是交错形式时 更有效地压縮所述数字图像。
全文摘要
本文的实施方式提供一种通过将像素的色彩通道分割或者分离成平面数据源来增强图像的数据压缩的预处理步骤或者机制。通常,图像数据被显示为色彩空间的通道类型的交错组,以使图像(例如位图)内的每个像素针对每个色彩通道具有一个分量。通过将交错的位图分离成平面表示,每个平面可以被独立地压缩并且通常实现较高的压缩比。对于期望大部分时间在整个位图中保持相当固定的通道尤其是这样。通过对通道数据的操纵或者通过将色彩空间从一种形式转换为另一种形式可以进一步增强对以上实施方式的利用。
文档编号H04N7/26GK101416220SQ200780006315
公开日2009年4月22日 申请日期2007年1月16日 优先权日2006年2月23日
发明者B·C·麦克唐威尔, N·Y·阿伯多, P·科勒曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1