压缩文档中的图像的制作方法

文档序号:6570024阅读:191来源:国知局
专利名称:压缩文档中的图像的制作方法
压縮文档中的图像扭旦 冃足文档的文件大小会随着非文本元素的加入而快速增长。例如,图像在文档 中的广泛使用会造成文档的快速增长。这个问题由于图像质量的提高,特别是 由于数码相机的更高分辨率而愈发严重。除了将文档存储在硬盘驱动器上之 外,许多文档还会存储在其它地方。例如,文档会通过电子邮件发给一群用户, 其中每个用户都存储其自己的文档复本。尽管用户可以手动地压縮文档内的图像,但这通常不会发生。因为用户不仅必须了解如何压縮图像,而且还必须知 道这种压縮将如何影响其图像。概述提供本概述是为了以简化的形式来引入在下面的详细说明中将对其作进 一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必 要特征,也并非旨在用于帮助确定所要求保护的主题的范围。包含在文档中的图像被压縮以减小文档的文件大小。压縮可以以这样一种 方式发生,即压缩步骤可自动地发生在文档内的图像上。所执行的压縮步骤基 于与文档中的图像有关的可用信息确定。随后,使用该信息来确定图像是否应 该被压縮,以及要使用何种压縮方法。附图简述

图1示出了计算机的示例性计算体系结构; 图2示出了图像压缩系统;图3示出了用于自动地压縮文档中的图像的示例性场景;图4说明了用于分类图像的过程;图5示出了用于在插入操作时压縮图像的过程;图6示出了用于在保存时压縮的过程;图7示出了用于在用户调用时压縮文档中的图像的过程;以及 图8示出了根据本发明各方面的示例性压縮对话框。详细描述现参考附图,将描述本发明的各个方面,且附图中类似的标记表示类似的 元件。具体地,图l及相应讨论旨在提供对合适的在其中可以实现本发明的各 个实施例的计算环境的简单、概括的描述。一般而言,程序模块包括可执行具体任务或实现具体的抽象数据类型的例 程、程序、组件、数据结构、和其它类型的结构。可以使用其它计算机系统配 置,其中包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电 子产品、小型计算机、大型计算机等。还可以使用在其中任务由通过通信网络 链接的远程处理设备来执行的分布式计算环境。在分布式计算环境中,程序模 块可以位于本地和远程存储器存储设备两者中。现参考图1,将描述在本发明各实施例中利用的计算机2的说明性计算机 体系结构。图1中所示的计算机体系结构示出了一种台式或移动计算机,包括有中央处理单元5 ("CPU")、包括随机存取存储器9 ("RAM")和只读存储器 ("ROM") 11在内的系统存储器7、以及将存储器耦合到CPU5的系统总线 12。包含有例如在启动期间有助于在计算机内的各个元件之间传送信息的基本 例程的基本输入/输出系统被存储在ROM 11中。计算机2还包括用于存储操作 系统16、应用程序和其它程序模块的大容量存储器设备14,下面将对此进行 更详细的描述。大容量存储器设备14通过连接于总线12的大容量存储控制器(未示出) 连接至CPU 5。大容量存储器设备14及其相关联的计算机可读介质可为计算 机2提供非易失性的存储。虽然在此包括的对计算机可读介质的描述指诸如硬 盘或CD-ROM驱动器之类的大容量存储器设备,但计算机可读介质可以是能 够被计算机2访问的任何可用介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介 质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模 块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、 闪存或其它固态存储器技术,CD-ROM、数字通用盘("DVD")或其它光学存 储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可以用来存储期望信息 并可被计算机2访问的任何其它介质。根据本发明的各个实施例,计算机2可以在使用通过诸如因特网等网络 18到远程计算机的逻辑连接的网络环境中运行。计算机2可以通过连接到总线 12的网络接口单元20连接到网络18。也可以利用网络接口单元20连接到其 它类型的网络和远程计算机系统。计算机2还可以包括输入/输出控制器22, 用于接收和处理来自包括键盘、鼠标、或电子触控笔(图l未示出)在内的众 多其它设备的输入。类似地,输入/输出控制器22可以向显示屏、打印机或其 它类型的输出设备提供输出。如前面简单提到的,可以将许多程序模块和数据文件存储到计算机2的大 容量存储设备14和RAM 9中,包括适于控制接入网络的个人计算机的运行的 操作系统16,诸如来自华盛顿州莱得蒙市的微软公司的WINDOWS XP操作系 统。大容量存储设备M和RAM9还可以存储一个或多个程序模块。特别地, 大容量存储设备14和RAM 9可以存储应用程序10。应用程序10可有效地提 供用于创建和编辑电子文档如包含一幅或多幅图像的文档24的功能性。根据 本发明的一个实施例,应用程序10包括来自微软公司的MICROSOFT WORD 文字处理应用程序。根据本发明的另一个实施例,应用程序10还包括来自微 软公司的MICROSOFT POWERPOINT应用程序。也可以利用来自其它制造商 的其它应用程序。例如,可以利用桌面出版程序、演示程序、和在其文档内包 含有图像的任何其它类型的程序。应用程序10可以利用压縮算法26来帮助压縮文档24内的图像。如下面 将要更详细描述的,压縮算法26可以自动地压縮文档24内的图像,以降低文 档的文件大小。图2示出了根据本发明各方面的图像压縮系统200。如上面简单描述地, 压縮算法26可为应用程序10提供压縮服务。根据一个实施例,可以将文档存 储在备用存储器34中。为了便于与压縮算法进行通信,可以实现一个或多个 回调例程,其在图2中被示为回调代码32。通过使用回调代码32,压縮算法26可以查询压縮文档内的一个或多个图像所必需的附加信息。压縮算法26可提供用于压缩文档内的图像的自动化压縮步骤,从而使文档的文件大小得以降低。文档管理器30可以向压縮算法26提供应该要压縮和 /或从文档中移除的来自该文档的图像和其它内容。压縮算法26可以利用各种 参数来帮助压縮过程。例如,可以利用输出设备的分辨率来确定图像是否可以 縮放。例如,可以确定打印机的分辨率为220ppi,而显示屏/投影机/web/电子 邮件的分辨率却可以设置为在72-192ppi不等。压縮算法26还可以确定图像是 否已被剪裁。当图像已被裁剪时,已裁剪区域的像素信息通常被应用程序存储 着。在压縮图像时,可以将该信息丢弃以便节约空间。也可以利用色深。色深 可影响图像能够被压縮的方式。少于256色或16灰度级的图像对于JPEG压縮 来说一般都不是很好的候选对象。然而,可以将具有多余色深的图像按比例縮 小以减小其大小。例如,如果图像在形式上是以24位色来保存的,但是其实 只包含8色,则可以将多余的颜色信息除去。压縮算法26还可以将任何非必 要数据从图像中除去。例如,使用OLE客户机的复制/粘贴插入到文档中的图 像可能由OLE流中的一个较小可视图像和一个24位非压縮位图组成。在压缩 图片时,有可能会将该数据丢弃。数据中有一些常常是不希望移除掉的。例如, 如果用户使用插入l对象(InsertlObject)来插入图像,则由于用户己明确要求 将图像作为对象来插入,因此不能将OLE数据安全地丢弃。下面将提供更多 细节。现参考图3到图7,将描述用于压縮文档内的图像的说明性过程。虽然是 在压縮算法26和文字处理应用程序10的上下文中表现在此描述的各个实施例 的,但是也可以利用在其文档内包含图像的其它类型的应用程序。例如,可以 在演示应用程序、电子表格应用程序、绘图或计算机辅助设计应用程序等中利 用在此描述的实施例。在阅读在此给出的例程的讨论时,应意识到,各个实施例的逻辑操作实现 为(1)在计算系统上运行的计算机实现动作序列或程序模块;和/或(2)计 算系统内的互连机器逻辑电路或电路模块。该实现是取决于可实现本发明的计 算系统的性能要求的选择问题。因此,所说明的并组成在此描述的各个实施例 的逻辑操作在不同的时候被称作操作、结构器件、动作或模块。这些操作、结构器件、动作和模块可以以软件形式、以固件形式、以专用数字逻辑形式及其 任意组合实现。图3示出了用于自动地压縮文档中的图像的示例性场景。包含在文档中的 任何图像都是用于压縮的候选对象,以便减小文档的文件大小。可以使用各种 压縮技术来压縮图像,包括但不限于离散余弦转换(DCT)压縮、游程长度编码(RLE)压縮、Lempel-Ziv (LZ)压縮、和Lempel-Ziv-Welch (LZW)压 縮。例如,JPEG图像可以使用DCT压縮来压缩;GIF图像可以使用LZW来 压縮;位像可以使用RLE来压縮;而PNG和TIFF则可以使用LZ来压縮。 取决于图像的类型可以使用任意压縮算法。场景300示出用户将图像插入其文档中的一个内。所插入的图像可能包含 有无关数据。例如,图像可能包括在图像被插入到文档中时随其一起被复制的 对象链接和嵌入(OLE)流。文档也可能是极高分辨率的文档。响应于插入图 像(310),可以执行自动化压縮步骤330以便减小图像的大小。例如,图像可 以被重新采样(314)以减少该图像的分辨率。可以将OLE数据从图像中去除 (312),并且可以在适当的时候将该图像转换(316)成另一种格式。例如, 在这种场景中,图像如果被转换为JPEG将会小得多。假设一旦图像在文档中, 并且已执行了第一组自动化压縮步骤(330),用户可决定操纵该图像。例如, 用户可将图像的大小调整得更小,并将非必要区域从文档中裁剪掉(318)。响 应于保存文档(320),执行自动化压縮步骤340,以便基于调整大小和裁剪来 压縮图像。根据图像在页面上的新大小来对其重新采样(324),并将已裁剪区 域从图像中丢弃(322)。用户也可以关闭自动化压縮步骤。当文档中的自动化压縮特征被关闭并且 用户将其文档发送给另一个用户时,该文档会维持关闭自动化压縮。图4说明了用于分类图像的过程。将存储在文档中的图像分类成照片和非 照片。图像的分类确定要对图像执行的压縮步骤。在开始操作后,过程移动到操作410,在该操作410处访问图像。移动到 判定操作415处,确定该图像是否是JPEG图像。当图像是JPEG图像时,过 程移动到操作420处,在操作420处将图像分类为照片。当图像不是JPEG图 像时,过程将转到操作425。在判定操作425处,确定图像是否包含多于256色。色深会影响可以压缩 图像的方式。少于256色或16灰度级的图像对于JPEG压縮来说一般不是很好 的候选对象。然而,可以将具有多余色深的图像按比例縮小以减小其大小。例 如,如果图像在形式上是以24位色来保存的,但是其实只包含8色,则可以 将多余的颜色信息从图像中除去,由此减小文件大小。当图像不包含256色或16灰度级时,过程转到操作430,在此处可将图 像分类为非照片。当图像的确包含多余256色或16灰度级时,过程转到操作 435。操作435可构建图像的直方图。转到判定块440处,可基于直方图的结果 确定是否应将该图像分类为照片。可以使用许多不同的测试来帮助确定图像是 否为照片。另外,可以调整参数和与直方图相关联的闺值。在一些情况下,会 发现调整阈值/参数可以提供更好的结果。下面的讨论呈现了可以单独使用或组 合使用来确定图像是否为照片的三种测试。第一测试确定在直方图最前面的各个小区间(topbins)中的像素比例。首 先,使用最近邻插值法重新采样图像,以使该图像在其最长侧有640个像素。 随后,执行三通道直方图以确定在每个色彩小区间中的像素数。计算在10个 最普通的小区间中的像素比例,并且如果少于20%的像素在最前面的IO个 小区间中,则该图像对于JPEG压縮来说是很好的候选对象,并且可将该图像 分类为照片。可以将照片分类的得分指定为从零到1的值,且该值越接近于l,则图像 将越可能被分类为照片。如果有少于20%的像素位于最前面的IO个小区间中, 则该照片分类得分二l;或者,如果有20%和80%之间的像素位于最前面的10 个小区间中,则该图像分类的得分为(80-最前面各个小区间的数目的百分比) /60;或者,如果有多于80%的像素位于最前面的IO个小区间中,则该图像分 类的得分为0。第二测试确定直方图的峰值数。将峰值定义为其所具有的像素数是邻近小 区间的IO倍以上的小区间。计数直方图中的峰值数。所具有的峰值越少表明 如果对图像进行JPEG压缩则越不可能具有伪像,并且该图像越可能被分类为 照片。当具有0或1个峰值时,照片分类得分=1,而当具有更多峰值时,照片分类得分将变小。例如,当具有2个峰值时,该值可以是0.8,具有4个峰值 时该值为0.6等。可以用这些值来进行试验,以确定理想的设置。第三测试确定已加载的小区间的数目。计数"已加载"小区间的数目。当 一小区间包含像素总和的10%以上时,可认为该小区间己被加载。所具有的已 加载小区间越少,则JPEG压縮将越好,同时图像也越有可能是照片。当没有 已加载小区间时,图像分类得分=1,且己加载小区间越多,则图像分类得分 将越少。可以将各种测试的结果组合来确定是否应将图像分类为照片。根据一个实 施例,可使用如下等式照片分类得分=0.7*测试1+0.05*测试2+0.25*测试如果照片分类得分>0.5,则可将图像分类为照片,并且可以压縮该图像。 转到操作450,压縮图像。根据一个实施例,压縮系使用JPEG压縮来执 行。JPEG压縮将利用影响JPEG压缩的质量并指定期望的图像质量的设置。 质量设置并不是与文件大小直接成比例的。根据一个实施例,用户可以在预定 约束范围内指定期望的图像质量。使用预定约束可帮助用户不会过渡降低图像 的质量。下面列出了图像质量参数的相关性质。性质最小值最大值(理论上限)实践中的最佳质量(质量的改进无法超 过该质量设置)没有显而易见的损失的最低质量 没有不良损失的最低质量值 0100 9575 50近似件大小10:1 20:1还可提供默认质量设置。根据一个实施例,JPEG质量设置默认为95。 随后,过程移动到结束块,并返回以处理其它动作。 图5示出了用于在插入操作时压縮图像的过程。在开始操作后,过程转到 操作515,在操作515处将图像插入到文档中。图像可以用许多不同的方式来插入。例如,图像可以插入自文件、发送自设备、粘贴自另一个应用程序、应 用图片来填充形状等。转换到操作520,可以将任意非必要数据从图像中除去。例如,图像可能会包含非必要的元数据。根据一个实施例,可将非必要的OLE数据从该图像中除去。转向判定操作525,确定是否可以将图像调色板化(图像具有8位或更低的 色深)。根据一个实施例,将可以调色板化(palletized)的图像以具有索引色的 PNG格式存储,但GIF文件除外,其以GIF格式来存储(530)。转到判定操作535,确定是否已开启自动化压縮。当自动化压縮没有被开 启时,过程转到结束操作。当自动化压縮已开启时,过程转换到判定操作540, 确定图像是否是错误格式。根据一个实施例,某些图像类型是不压縮的。例如, 可以将GIF文件认为是错误格式,因为GIF图像被调色板化了,因此不是重新 采样的好候选对象。当图像是错误格式时,过程转到结束操作。当图像不是错 误格式时,过程转到判定操作545。在判定操作545处,确定图像是否具有非必要像素。对非必要像素的检査 可确定所具有的像素是否比足以打印到所期望设备上的像素要多。期望设备可 以是高分辨率设备或是低分辨率设备。根据一个实施例,图像包含可将图像伸 展至设备的整个页面大小所需的像素数。例如,如果用户将具有5百万像素的 图像插入到8.5" Xll"的文件中,以便以220ppi来填充整个页面,则该图片 应需要具有如下像素数(8.5" X220ppi)x(ll" x220ppi)二近4.5百万个像素。对于与页面具有不同长宽比的图像,则图像需要保留足够的像素来填充整 个页面。例如,如果图片的宽度是3000像素,高度是2000像素,并且要将该 图片插入到打印格式为8.5"X11"的页面中,则可以将该图片调整大小为2805 X 1870。当不具有非必要像素时,过程移动到操作555。当具有非必要像素时,过 程移动到操作550,在该操作550可自动地重新采样图片。随后,过程移动到 判定操作555。在判定操作555处,确定图像是否已被分类为照片。使用JPEG压縮可最 好地压縮照片,但是JPEG可能会在非照片图像上引入伪像。根据一个实施例,默认地将不是JPEG的图像转换为PNG (除了 GIF文件保持为GIF外)。然而, 对于照片,PNG压縮是低效率的。当图像被分类为照片时,过程移动到操作 560,在该操作处将照片转换成JPEG。随后,过程移动到结束块,并返回以处理其它动作。图6示出了用于在保存时压縮的过程。在开始操作后,过程转到操作610 访问图像。移动到判定操作620,确定图像是否含有透明度信息。当图像具有 透明度信息时,图像可能不是用于压縮的好候选对象,因为透明度信息在压縮 时可能会丢失。因此,根据一个实施例,当图像包含透明度信息时,过程转到 结束块。当图像不包含透明度信息时,过程转到判定操作630。判定操作630可确定图像是否已被剪裁。根据一个实施例,当图像上已执 行了剪裁操作时,会在该图像上设置"脏"标记以显示该图像已被剪裁了。在 移除已剪裁区域时,脏标记将被重新设置。在图像已被剪裁时,过程转到操作640,丢弃已剪裁区域。当图像没有被 剪裁时,过程转到判定操作650。判定操作650可确定图像是否已被调整大小。类似于剪裁操作,如果在图 像上执行了调整大小的操作,则也会在该图像上设置"脏"标记,以显示该图 像已被修改了。在重新采样图像时,会重新设置脏标记。当图像已被调整大小时,将重新采样(操作660)该图像,以便提供足够 的像素分辨率来以较高的质量按其当前大小来打印图像。当还没有对图像调整大小时,过程转到结束操作,并返回以处理其它动作。图7说明了用于在用户调用文档时压缩该档案中的图像的过程。 一般而 言,用户调用文档时的压縮过程是上面描述的步骤的组合。在开始操作后,过程转到操作705,访问文档中的图像。移动到操作710,从图像中移除任何附加数据。例如,图像可能包括OLE 数据。根据一个实施例,当用户在所选对象上运行压縮图像时,如果用户选择 从单个画面中去除OLE数据,则OLE流将被去除。或者,如果用户在文档中 的所有图像上运行压縮图像,则在认为移除是安全的时候移除OLE流。可以 将被认为是可安全移除的OLE类型清单存储在列表中,或以其它形式存储。移动到判定操作715,确定图像是否含有透明度信息。当图像具有透明度信息时,图像可能不是用于压縮的好候选对象,因为透明度信息在压縮时可能 会丢失。当图像不包含透明度信息时,过程转到结束操作。当图像不包含透明 度信息时,过程转到判定操作720。判定操作720可确定图像是否已被剪裁。在图像己被剪裁时,过程转到操 作725,丢弃已剪裁区域。当图像没有被剪裁时,过程转到判定操作730。根 据一个实施例,剪裁确定还会考虑多幅图像参考相同的源并以不同的方式被剪 裁的情况。在这种情况下,当已剪裁信息不被文档中的任何一个实例需要时, 将其从源处丢弃。判定操作730确定图像是否可以被压縮。如果图像已经被压縮,则将已被 压縮的图像作上标记,并将目标输出模式作为该图像的特性来保存。 一旦图像 已被压縮,则在目标输出模式已被改变并且需要更积极的压縮时,该图像将被 再次压縮。随后,目标输出模式特性将被更新。根据一个实施例,不会压縮大 小小于100kb的图像。尽管在一个实施例中使用了 100kb,但可以按照需要来 设定这个设置或者将其忽略。当图像不能够被压縮时,过程转到结束块。当图 像能够被压縮时,过程转到操作735。判定操作735确定图像是否可以被缩放。如所需输出设备确定图像包含额 外像素时,其可以被缩放。例如,打印机可以使用220ppi的分辨率,而显示屏 /投影机/web可以使用150ppi,电子邮件可以使用96ppi。可以选择不同的分辨 率。当图像可以被縮放时,过程移动到操作740,重新采样图像。当图像不可 以被缩放时,过程移动到判定操作745处。判定操作745可确定该图像是否为照片。当图像被分类为照片时,过程移 动到操作750,将图像以所确定的质量设置进行JPEG压縮。当图像未被分类 为照片时,过程移动到操作755,在该步骤755处可以向用户提供警告。该警 告可以指示图像将被压縮,以及他们是否愿意接受该变化。转换到判定操作760处,确定用户是否会接受该变化。当用户接受该变化 时,过程移动到操作765,在该操作765处可将文档与更新后的图像一起保存。 当用户不接受该变化时,过程移动到操作770,在该操作770处会将该变化丢 弃。随后,过程移动到结束操作,并返回以处理其它动作。图8示出了示例性压縮对话框。对话框810说明了压縮图片对话框,而对话框820则说明了压縮选项对话框。文件大小比较(812)可向用户提供对压縮后所节约的空间的估计。计算 具有图像的文档的文件大小使用单独的线程迭代通过该文档中的这些图像。在 生成文件大小的同时,将向用户提供诸如"处理中…"之类的消息。用户通过选择选项按钮816并在对话框820中作出任何期望的变化即可调 整压缩设置。这些设置可以被维持,以便在构建新文档时实行。指示自动压縮的选项(822)被嵌入在文档中,以便在将该文件与其它用 户共享时可保持这些设置。也可以存储目标输出模式824。删除已剪裁区域的选项826可指定是否丢 弃图像的已剪裁区域。移除非必要数据的选项828可指定是否丢弃额外数据。上面的描述、示例和数据可提供对产品以及组合本发明的使用的完全描 述。由于可以得到本发明的许多实施例,而不会偏离本发明的精神和范围,因 此本发明在于后面所附的权利要求书。
权利要求
1.一种用于压缩存储在文档中的图像的计算机实现的方法,包括访问所述文档中的图像;其中,所述文档除包括所述图像外,还包括其它数据;分类所述图像;自动地确定对所述图像的压缩步骤;将所述压缩步骤应用于所述图像;以及以所述已压缩图像来保存所述文档。
2. 如权利要求1所述的计算机实现的方法,其特征在于,分类所述图像 包括将所述图像分类为下组中的至少一个照片和非照片。
3. 如权利要求1所述的计算机实现的方法,其特征在于,还包括确定图 像何时被插入到所述文档中,以及在所述图像被插入时,自动地执行以下操作 中的至少一种将非必要数据从所述图像中除去;对所述图像进行重新采样; 和将所述图像转换成另一种格式。
4. 如权利要求3所述的计算机实现的方法,其特征在于,还包括确定图 像何时被保存,以及在所述图像被保存时,执行以下操作中的至少一种丢弃 所述图像的已剪裁区域;和基于放置尺寸对所述图像进行重新釆样。
5. 如权利要求2所述的计算机实现的方法,其特征在于,分类所述图像包括构建所述图像的直方图。
6. 如权利要求2所述的计算机实现的方法,其特征在于,自动地确定对 所述图像的压縮步骤包括确定以下各项中的至少一个是否可以将所述图像调 色板化;所述图像是否是错误的格式;是否具有非必要像素;所述图像是否包 含透明度信息;所述图像是否已被剪裁;和所述图像是否已被调整大小。
7. 如权利要求6所述的计算机实现的方法,其特征在于,确定所述图像 是否已被剪裁包括确定已剪裁区域以及丢弃所述已剪裁区域。
8. 如权利要求6所述的计算机实现的方法,其特征在于,确定所述图像 是否己被调整大小包括对所述图像进行重新采样。
9. 如权利要求6所述的计算机实现的方法,其特征在于,确定所述图像 是否具有非必要像素包括确定一期望分辨率以及基于所述期望分辨率对所述 图像进行重新采样。
10. —种具有用于自动压縮存储在文档中的图像的计算机可执行指令的计算机可读介质,所述计算机可执行指令包括 访问所述文档中的图像; 分类所述图像;自动地确定对所述图像的压缩步骤; 自动地将所述压縮步骤应用于所述图像;以及 以己压縮图像来保存所述文件,以便减小所述文档的文件大小。
11. 如权利要求IO所述的计算机可读介质,其特征在于,所述计算机可 执行指令还包括确定图像何时被插入到所述文档中,以及在所述图像被插入时 自动执行在确定时将非必要数据从所述图像中移除;在确定时对所述图像进 行重新釆样;和在确定时将所述图像转换为JPEG格式。
12. 如权利要求ll所述的计算机可读介质,其特征在于,所述计算机可 执行指令还包括确定图像何时被保存,以及响应于所述保存自动地压縮所述图 像。
13. 如权利要求10所述的计算机可读介质,其特征在于,分类所述图像 包括构建所述图像的直方图,以及使用所述直方图确定所述图像是否是照片。
14. 如权利要求13所述的计算机可读介质,其特征在于,确定所述图像 是否是照片包括基于所述直方图执行以下测试中的至少一个确定在所述直方 图最前面的各个小区间中的像素比例;确定直方图峰值的数目;和确定加载的 小区间的数目。
15. 如权利要求IO所述的计算机可读介质,其特征在于,自动地确定所 述图像的压縮步骤包括执行以下各项中的至少两项确定是否可以将所述图像 调色板化;确定所述图像是否是错误的格式;确定是否具有非必要像素,并且 在具有非必要像素时对所述图像进行重新采样;确定所述图像是否包括透明度 信息;确定所述图像是否已被剪裁,并且在所述图像已被剪裁时移除已剪裁区域;和确定所述图像是否已被调整大小,并且在所述图像己被调整大小时对所 述图像进行重新采样。
16. —种用于压缩存储在文档中的图像的系统,包括 被配置成接收输入的输入设备; 包括图像的文档;被配置成编辑所述文档并被配置成从所述输入设备接收所述输入的应用 程序;以及耦合到所述应用程序的压縮算法,并且所述压縮算法被配置成在确定时自动地压縮所述图像;其中所述算法被配置成执行以下动作 访问所述文档中的图像;将所述图像分类为下组中的一个照片和非照片;自动地确定所述图像的压縮步骤; 将所述压縮步骤应用于所述图像;以及以所述已压縮图像来保存所述文档。
17. 如权利要求16所述的系统,其特征在于,所述算法执行的动作还包 括确定图像何时被插入到所述文档中以及所述文档何时被保存。
18. 如权利要求17所述的系统,其特征在于,确定所述图像何时被插入到所述文档中以及所述文档何时被保存包括自动地执行以下操作中的至少一项将非必要数据从所述图像中除去;对所述图像进行重新采样;将所述图像 转换成另一种格式;丢弃所述图像的已裁剪区域;和基于放置尺寸对所述图像 进行重新釆样。
19. 如权利要求18所述的系统,其特征在于,分类所述图像包括构建 所述图像的直方图,以及分析所述直方图以确定像素分配。
20. 如权利要求18所述的系统,其特征在于,自动地确定对所述图像的 压縮步骤包括确定以下各项中的至少一个是否可以将所述图像调色板化;所 述图像是否是错误的格式;是否具有非必要像素;所述图像是否包含透明度信 息;所述图像是否已被剪裁;和所述图像是否己被调整大小。
全文摘要
包含在文档中的图像被压缩,以便减小文档的文件大小。压缩可以以使压缩步骤自动地发生于图像的方式发生。所执行的压缩步骤基于与文档中的图像有关的可用信息来确定。使用该信息来确定图像是否应该被压缩以及要使用何种压缩方法。
文档编号G06F17/21GK101331480SQ200680047453
公开日2008年12月24日 申请日期2006年12月7日 优先权日2005年12月15日
发明者B·R·默德芬, J·R·兰博瑞克, M·杰兰姆科, R·C·希尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1