亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

壓縮文檔中的圖像的制作方法

文檔序號(hào):6570024閱讀:228來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):壓縮文檔中的圖像的制作方法
壓縮文檔中的圖像扭旦 冃足文檔的文件大小會(huì)隨著非文本元素的加入而快速增長(zhǎng)。例如,圖像在文檔 中的廣泛使用會(huì)造成文檔的快速增長(zhǎng)。這個(gè)問(wèn)題由于圖像質(zhì)量的提高,特別是 由于數(shù)碼相機(jī)的更高分辨率而愈發(fā)嚴(yán)重。除了將文檔存儲(chǔ)在硬盤(pán)驅(qū)動(dòng)器上之 外,許多文檔還會(huì)存儲(chǔ)在其它地方。例如,文檔會(huì)通過(guò)電子郵件發(fā)給一群用戶(hù), 其中每個(gè)用戶(hù)都存儲(chǔ)其自己的文檔復(fù)本。盡管用戶(hù)可以手動(dòng)地壓縮文檔內(nèi)的圖像,但這通常不會(huì)發(fā)生。因?yàn)橛脩?hù)不僅必須了解如何壓縮圖像,而且還必須知 道這種壓縮將如何影響其圖像。概述提供本概述是為了以簡(jiǎn)化的形式來(lái)引入在下面的詳細(xì)說(shuō)明中將對(duì)其作進(jìn) 一步描述的一些概念。本概述并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必 要特征,也并非旨在用于幫助確定所要求保護(hù)的主題的范圍。包含在文檔中的圖像被壓縮以減小文檔的文件大小。壓縮可以以這樣一種 方式發(fā)生,即壓縮步驟可自動(dòng)地發(fā)生在文檔內(nèi)的圖像上。所執(zhí)行的壓縮步驟基 于與文檔中的圖像有關(guān)的可用信息確定。隨后,使用該信息來(lái)確定圖像是否應(yīng) 該被壓縮,以及要使用何種壓縮方法。附圖簡(jiǎn)述

圖1示出了計(jì)算機(jī)的示例性計(jì)算體系結(jié)構(gòu); 圖2示出了圖像壓縮系統(tǒng);圖3示出了用于自動(dòng)地壓縮文檔中的圖像的示例性場(chǎng)景;圖4說(shuō)明了用于分類(lèi)圖像的過(guò)程;圖5示出了用于在插入操作時(shí)壓縮圖像的過(guò)程;圖6示出了用于在保存時(shí)壓縮的過(guò)程;圖7示出了用于在用戶(hù)調(diào)用時(shí)壓縮文檔中的圖像的過(guò)程;以及 圖8示出了根據(jù)本發(fā)明各方面的示例性壓縮對(duì)話框。詳細(xì)描述現(xiàn)參考附圖,將描述本發(fā)明的各個(gè)方面,且附圖中類(lèi)似的標(biāo)記表示類(lèi)似的 元件。具體地,圖l及相應(yīng)討論旨在提供對(duì)合適的在其中可以實(shí)現(xiàn)本發(fā)明的各 個(gè)實(shí)施例的計(jì)算環(huán)境的簡(jiǎn)單、概括的描述。一般而言,程序模塊包括可執(zhí)行具體任務(wù)或?qū)崿F(xiàn)具體的抽象數(shù)據(jù)類(lèi)型的例 程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、和其它類(lèi)型的結(jié)構(gòu)??梢允褂闷渌?jì)算機(jī)系統(tǒng)配 置,其中包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電 子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等。還可以使用在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò) 鏈接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行的分布式計(jì)算環(huán)境。在分布式計(jì)算環(huán)境中,程序模 塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備兩者中?,F(xiàn)參考圖1,將描述在本發(fā)明各實(shí)施例中利用的計(jì)算機(jī)2的說(shuō)明性計(jì)算機(jī) 體系結(jié)構(gòu)。圖1中所示的計(jì)算機(jī)體系結(jié)構(gòu)示出了一種臺(tái)式或移動(dòng)計(jì)算機(jī),包括有中央處理單元5 ("CPU")、包括隨機(jī)存取存儲(chǔ)器9 ("RAM")和只讀存儲(chǔ)器 ("ROM") 11在內(nèi)的系統(tǒng)存儲(chǔ)器7、以及將存儲(chǔ)器耦合到CPU5的系統(tǒng)總線 12。包含有例如在啟動(dòng)期間有助于在計(jì)算機(jī)內(nèi)的各個(gè)元件之間傳送信息的基本 例程的基本輸入/輸出系統(tǒng)被存儲(chǔ)在ROM 11中。計(jì)算機(jī)2還包括用于存儲(chǔ)操作 系統(tǒng)16、應(yīng)用程序和其它程序模塊的大容量存儲(chǔ)器設(shè)備14,下面將對(duì)此進(jìn)行 更詳細(xì)的描述。大容量存儲(chǔ)器設(shè)備14通過(guò)連接于總線12的大容量存儲(chǔ)控制器(未示出) 連接至CPU 5。大容量存儲(chǔ)器設(shè)備14及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)可為計(jì)算 機(jī)2提供非易失性的存儲(chǔ)。雖然在此包括的對(duì)計(jì)算機(jī)可讀介質(zhì)的描述指諸如硬 盤(pán)或CD-ROM驅(qū)動(dòng)器之類(lèi)的大容量存儲(chǔ)器設(shè)備,但計(jì)算機(jī)可讀介質(zhì)可以是能 夠被計(jì)算機(jī)2訪問(wèn)的任何可用介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介 質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模 塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EPROM、EEPROM、 閃存或其它固態(tài)存儲(chǔ)器技術(shù),CD-ROM、數(shù)字通用盤(pán)("DVD")或其它光學(xué)存 儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或可以用來(lái)存儲(chǔ)期望信息 并可被計(jì)算機(jī)2訪問(wèn)的任何其它介質(zhì)。根據(jù)本發(fā)明的各個(gè)實(shí)施例,計(jì)算機(jī)2可以在使用通過(guò)諸如因特網(wǎng)等網(wǎng)絡(luò) 18到遠(yuǎn)程計(jì)算機(jī)的邏輯連接的網(wǎng)絡(luò)環(huán)境中運(yùn)行。計(jì)算機(jī)2可以通過(guò)連接到總線 12的網(wǎng)絡(luò)接口單元20連接到網(wǎng)絡(luò)18。也可以利用網(wǎng)絡(luò)接口單元20連接到其 它類(lèi)型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)2還可以包括輸入/輸出控制器22, 用于接收和處理來(lái)自包括鍵盤(pán)、鼠標(biāo)、或電子觸控筆(圖l未示出)在內(nèi)的眾 多其它設(shè)備的輸入。類(lèi)似地,輸入/輸出控制器22可以向顯示屏、打印機(jī)或其 它類(lèi)型的輸出設(shè)備提供輸出。如前面簡(jiǎn)單提到的,可以將許多程序模塊和數(shù)據(jù)文件存儲(chǔ)到計(jì)算機(jī)2的大 容量存儲(chǔ)設(shè)備14和RAM 9中,包括適于控制接入網(wǎng)絡(luò)的個(gè)人計(jì)算機(jī)的運(yùn)行的 操作系統(tǒng)16,諸如來(lái)自華盛頓州萊得蒙市的微軟公司的WINDOWS XP操作系 統(tǒng)。大容量存儲(chǔ)設(shè)備M和RAM9還可以存儲(chǔ)一個(gè)或多個(gè)程序模塊。特別地, 大容量存儲(chǔ)設(shè)備14和RAM 9可以存儲(chǔ)應(yīng)用程序10。應(yīng)用程序10可有效地提 供用于創(chuàng)建和編輯電子文檔如包含一幅或多幅圖像的文檔24的功能性。根據(jù) 本發(fā)明的一個(gè)實(shí)施例,應(yīng)用程序10包括來(lái)自微軟公司的MICROSOFT WORD 文字處理應(yīng)用程序。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,應(yīng)用程序10還包括來(lái)自微 軟公司的MICROSOFT POWERPOINT應(yīng)用程序。也可以利用來(lái)自其它制造商 的其它應(yīng)用程序。例如,可以利用桌面出版程序、演示程序、和在其文檔內(nèi)包 含有圖像的任何其它類(lèi)型的程序。應(yīng)用程序10可以利用壓縮算法26來(lái)幫助壓縮文檔24內(nèi)的圖像。如下面 將要更詳細(xì)描述的,壓縮算法26可以自動(dòng)地壓縮文檔24內(nèi)的圖像,以降低文 檔的文件大小。圖2示出了根據(jù)本發(fā)明各方面的圖像壓縮系統(tǒng)200。如上面簡(jiǎn)單描述地, 壓縮算法26可為應(yīng)用程序10提供壓縮服務(wù)。根據(jù)一個(gè)實(shí)施例,可以將文檔存 儲(chǔ)在備用存儲(chǔ)器34中。為了便于與壓縮算法進(jìn)行通信,可以實(shí)現(xiàn)一個(gè)或多個(gè) 回調(diào)例程,其在圖2中被示為回調(diào)代碼32。通過(guò)使用回調(diào)代碼32,壓縮算法26可以查詢(xún)壓縮文檔內(nèi)的一個(gè)或多個(gè)圖像所必需的附加信息。壓縮算法26可提供用于壓縮文檔內(nèi)的圖像的自動(dòng)化壓縮步驟,從而使文檔的文件大小得以降低。文檔管理器30可以向壓縮算法26提供應(yīng)該要壓縮和 /或從文檔中移除的來(lái)自該文檔的圖像和其它內(nèi)容。壓縮算法26可以利用各種 參數(shù)來(lái)幫助壓縮過(guò)程。例如,可以利用輸出設(shè)備的分辨率來(lái)確定圖像是否可以 縮放。例如,可以確定打印機(jī)的分辨率為220ppi,而顯示屏/投影機(jī)/web/電子 郵件的分辨率卻可以設(shè)置為在72-192ppi不等。壓縮算法26還可以確定圖像是 否已被剪裁。當(dāng)圖像已被裁剪時(shí),已裁剪區(qū)域的像素信息通常被應(yīng)用程序存儲(chǔ) 著。在壓縮圖像時(shí),可以將該信息丟棄以便節(jié)約空間。也可以利用色深。色深 可影響圖像能夠被壓縮的方式。少于256色或16灰度級(jí)的圖像對(duì)于JPEG壓縮 來(lái)說(shuō)一般都不是很好的候選對(duì)象。然而,可以將具有多余色深的圖像按比例縮 小以減小其大小。例如,如果圖像在形式上是以24位色來(lái)保存的,但是其實(shí) 只包含8色,則可以將多余的顏色信息除去。壓縮算法26還可以將任何非必 要數(shù)據(jù)從圖像中除去。例如,使用OLE客戶(hù)機(jī)的復(fù)制/粘貼插入到文檔中的圖 像可能由OLE流中的一個(gè)較小可視圖像和一個(gè)24位非壓縮位圖組成。在壓縮 圖片時(shí),有可能會(huì)將該數(shù)據(jù)丟棄。數(shù)據(jù)中有一些常常是不希望移除掉的。例如, 如果用戶(hù)使用插入l對(duì)象(InsertlObject)來(lái)插入圖像,則由于用戶(hù)己明確要求 將圖像作為對(duì)象來(lái)插入,因此不能將OLE數(shù)據(jù)安全地丟棄。下面將提供更多 細(xì)節(jié)?,F(xiàn)參考圖3到圖7,將描述用于壓縮文檔內(nèi)的圖像的說(shuō)明性過(guò)程。雖然是 在壓縮算法26和文字處理應(yīng)用程序10的上下文中表現(xiàn)在此描述的各個(gè)實(shí)施例 的,但是也可以利用在其文檔內(nèi)包含圖像的其它類(lèi)型的應(yīng)用程序。例如,可以 在演示應(yīng)用程序、電子表格應(yīng)用程序、繪圖或計(jì)算機(jī)輔助設(shè)計(jì)應(yīng)用程序等中利 用在此描述的實(shí)施例。在閱讀在此給出的例程的討論時(shí),應(yīng)意識(shí)到,各個(gè)實(shí)施例的邏輯操作實(shí)現(xiàn) 為(1)在計(jì)算系統(tǒng)上運(yùn)行的計(jì)算機(jī)實(shí)現(xiàn)動(dòng)作序列或程序模塊;和/或(2)計(jì) 算系統(tǒng)內(nèi)的互連機(jī)器邏輯電路或電路模塊。該實(shí)現(xiàn)是取決于可實(shí)現(xiàn)本發(fā)明的計(jì) 算系統(tǒng)的性能要求的選擇問(wèn)題。因此,所說(shuō)明的并組成在此描述的各個(gè)實(shí)施例 的邏輯操作在不同的時(shí)候被稱(chēng)作操作、結(jié)構(gòu)器件、動(dòng)作或模塊。這些操作、結(jié)構(gòu)器件、動(dòng)作和模塊可以以軟件形式、以固件形式、以專(zhuān)用數(shù)字邏輯形式及其 任意組合實(shí)現(xiàn)。圖3示出了用于自動(dòng)地壓縮文檔中的圖像的示例性場(chǎng)景。包含在文檔中的 任何圖像都是用于壓縮的候選對(duì)象,以便減小文檔的文件大小??梢允褂酶鞣N 壓縮技術(shù)來(lái)壓縮圖像,包括但不限于離散余弦轉(zhuǎn)換(DCT)壓縮、游程長(zhǎng)度編碼(RLE)壓縮、Lempel-Ziv (LZ)壓縮、和Lempel-Ziv-Welch (LZW)壓 縮。例如,JPEG圖像可以使用DCT壓縮來(lái)壓縮;GIF圖像可以使用LZW來(lái) 壓縮;位像可以使用RLE來(lái)壓縮;而PNG和TIFF則可以使用LZ來(lái)壓縮。 取決于圖像的類(lèi)型可以使用任意壓縮算法。場(chǎng)景300示出用戶(hù)將圖像插入其文檔中的一個(gè)內(nèi)。所插入的圖像可能包含 有無(wú)關(guān)數(shù)據(jù)。例如,圖像可能包括在圖像被插入到文檔中時(shí)隨其一起被復(fù)制的 對(duì)象鏈接和嵌入(OLE)流。文檔也可能是極高分辨率的文檔。響應(yīng)于插入圖 像(310),可以執(zhí)行自動(dòng)化壓縮步驟330以便減小圖像的大小。例如,圖像可 以被重新采樣(314)以減少該圖像的分辨率??梢詫LE數(shù)據(jù)從圖像中去除 (312),并且可以在適當(dāng)?shù)臅r(shí)候?qū)⒃搱D像轉(zhuǎn)換(316)成另一種格式。例如, 在這種場(chǎng)景中,圖像如果被轉(zhuǎn)換為JPEG將會(huì)小得多。假設(shè)一旦圖像在文檔中, 并且已執(zhí)行了第一組自動(dòng)化壓縮步驟(330),用戶(hù)可決定操縱該圖像。例如, 用戶(hù)可將圖像的大小調(diào)整得更小,并將非必要區(qū)域從文檔中裁剪掉(318)。響 應(yīng)于保存文檔(320),執(zhí)行自動(dòng)化壓縮步驟340,以便基于調(diào)整大小和裁剪來(lái) 壓縮圖像。根據(jù)圖像在頁(yè)面上的新大小來(lái)對(duì)其重新采樣(324),并將已裁剪區(qū) 域從圖像中丟棄(322)。用戶(hù)也可以關(guān)閉自動(dòng)化壓縮步驟。當(dāng)文檔中的自動(dòng)化壓縮特征被關(guān)閉并且 用戶(hù)將其文檔發(fā)送給另一個(gè)用戶(hù)時(shí),該文檔會(huì)維持關(guān)閉自動(dòng)化壓縮。圖4說(shuō)明了用于分類(lèi)圖像的過(guò)程。將存儲(chǔ)在文檔中的圖像分類(lèi)成照片和非 照片。圖像的分類(lèi)確定要對(duì)圖像執(zhí)行的壓縮步驟。在開(kāi)始操作后,過(guò)程移動(dòng)到操作410,在該操作410處訪問(wèn)圖像。移動(dòng)到 判定操作415處,確定該圖像是否是JPEG圖像。當(dāng)圖像是JPEG圖像時(shí),過(guò) 程移動(dòng)到操作420處,在操作420處將圖像分類(lèi)為照片。當(dāng)圖像不是JPEG圖 像時(shí),過(guò)程將轉(zhuǎn)到操作425。在判定操作425處,確定圖像是否包含多于256色。色深會(huì)影響可以壓縮 圖像的方式。少于256色或16灰度級(jí)的圖像對(duì)于JPEG壓縮來(lái)說(shuō)一般不是很好 的候選對(duì)象。然而,可以將具有多余色深的圖像按比例縮小以減小其大小。例 如,如果圖像在形式上是以24位色來(lái)保存的,但是其實(shí)只包含8色,則可以 將多余的顏色信息從圖像中除去,由此減小文件大小。當(dāng)圖像不包含256色或16灰度級(jí)時(shí),過(guò)程轉(zhuǎn)到操作430,在此處可將圖 像分類(lèi)為非照片。當(dāng)圖像的確包含多余256色或16灰度級(jí)時(shí),過(guò)程轉(zhuǎn)到操作 435。操作435可構(gòu)建圖像的直方圖。轉(zhuǎn)到判定塊440處,可基于直方圖的結(jié)果 確定是否應(yīng)將該圖像分類(lèi)為照片??梢允褂迷S多不同的測(cè)試來(lái)幫助確定圖像是 否為照片。另外,可以調(diào)整參數(shù)和與直方圖相關(guān)聯(lián)的閨值。在一些情況下,會(huì) 發(fā)現(xiàn)調(diào)整閾值/參數(shù)可以提供更好的結(jié)果。下面的討論呈現(xiàn)了可以單獨(dú)使用或組 合使用來(lái)確定圖像是否為照片的三種測(cè)試。第一測(cè)試確定在直方圖最前面的各個(gè)小區(qū)間(topbins)中的像素比例。首 先,使用最近鄰插值法重新采樣圖像,以使該圖像在其最長(zhǎng)側(cè)有640個(gè)像素。 隨后,執(zhí)行三通道直方圖以確定在每個(gè)色彩小區(qū)間中的像素?cái)?shù)。計(jì)算在10個(gè) 最普通的小區(qū)間中的像素比例,并且如果少于20%的像素在最前面的IO個(gè) 小區(qū)間中,則該圖像對(duì)于JPEG壓縮來(lái)說(shuō)是很好的候選對(duì)象,并且可將該圖像 分類(lèi)為照片。可以將照片分類(lèi)的得分指定為從零到1的值,且該值越接近于l,則圖像 將越可能被分類(lèi)為照片。如果有少于20%的像素位于最前面的IO個(gè)小區(qū)間中, 則該照片分類(lèi)得分二l;或者,如果有20%和80%之間的像素位于最前面的10 個(gè)小區(qū)間中,則該圖像分類(lèi)的得分為(80-最前面各個(gè)小區(qū)間的數(shù)目的百分比) /60;或者,如果有多于80%的像素位于最前面的IO個(gè)小區(qū)間中,則該圖像分 類(lèi)的得分為0。第二測(cè)試確定直方圖的峰值數(shù)。將峰值定義為其所具有的像素?cái)?shù)是鄰近小 區(qū)間的IO倍以上的小區(qū)間。計(jì)數(shù)直方圖中的峰值數(shù)。所具有的峰值越少表明 如果對(duì)圖像進(jìn)行JPEG壓縮則越不可能具有偽像,并且該圖像越可能被分類(lèi)為 照片。當(dāng)具有0或1個(gè)峰值時(shí),照片分類(lèi)得分=1,而當(dāng)具有更多峰值時(shí),照片分類(lèi)得分將變小。例如,當(dāng)具有2個(gè)峰值時(shí),該值可以是0.8,具有4個(gè)峰值 時(shí)該值為0.6等。可以用這些值來(lái)進(jìn)行試驗(yàn),以確定理想的設(shè)置。第三測(cè)試確定已加載的小區(qū)間的數(shù)目。計(jì)數(shù)"已加載"小區(qū)間的數(shù)目。當(dāng) 一小區(qū)間包含像素總和的10%以上時(shí),可認(rèn)為該小區(qū)間己被加載。所具有的已 加載小區(qū)間越少,則JPEG壓縮將越好,同時(shí)圖像也越有可能是照片。當(dāng)沒(méi)有 已加載小區(qū)間時(shí),圖像分類(lèi)得分=1,且己加載小區(qū)間越多,則圖像分類(lèi)得分 將越少??梢詫⒏鞣N測(cè)試的結(jié)果組合來(lái)確定是否應(yīng)將圖像分類(lèi)為照片。根據(jù)一個(gè)實(shí) 施例,可使用如下等式照片分類(lèi)得分=0.7*測(cè)試1+0.05*測(cè)試2+0.25*測(cè)試如果照片分類(lèi)得分>0.5,則可將圖像分類(lèi)為照片,并且可以壓縮該圖像。 轉(zhuǎn)到操作450,壓縮圖像。根據(jù)一個(gè)實(shí)施例,壓縮系使用JPEG壓縮來(lái)執(zhí) 行。JPEG壓縮將利用影響JPEG壓縮的質(zhì)量并指定期望的圖像質(zhì)量的設(shè)置。 質(zhì)量設(shè)置并不是與文件大小直接成比例的。根據(jù)一個(gè)實(shí)施例,用戶(hù)可以在預(yù)定 約束范圍內(nèi)指定期望的圖像質(zhì)量。使用預(yù)定約束可幫助用戶(hù)不會(huì)過(guò)渡降低圖像 的質(zhì)量。下面列出了圖像質(zhì)量參數(shù)的相關(guān)性質(zhì)。性質(zhì)最小值最大值(理論上限)實(shí)踐中的最佳質(zhì)量(質(zhì)量的改進(jìn)無(wú)法超 過(guò)該質(zhì)量設(shè)置)沒(méi)有顯而易見(jiàn)的損失的最低質(zhì)量 沒(méi)有不良損失的最低質(zhì)量值 0100 9575 50近似件大小10:1 20:1還可提供默認(rèn)質(zhì)量設(shè)置。根據(jù)一個(gè)實(shí)施例,JPEG質(zhì)量設(shè)置默認(rèn)為95。 隨后,過(guò)程移動(dòng)到結(jié)束塊,并返回以處理其它動(dòng)作。 圖5示出了用于在插入操作時(shí)壓縮圖像的過(guò)程。在開(kāi)始操作后,過(guò)程轉(zhuǎn)到 操作515,在操作515處將圖像插入到文檔中。圖像可以用許多不同的方式來(lái)插入。例如,圖像可以插入自文件、發(fā)送自設(shè)備、粘貼自另一個(gè)應(yīng)用程序、應(yīng) 用圖片來(lái)填充形狀等。轉(zhuǎn)換到操作520,可以將任意非必要數(shù)據(jù)從圖像中除去。例如,圖像可能會(huì)包含非必要的元數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,可將非必要的OLE數(shù)據(jù)從該圖像中除去。轉(zhuǎn)向判定操作525,確定是否可以將圖像調(diào)色板化(圖像具有8位或更低的 色深)。根據(jù)一個(gè)實(shí)施例,將可以調(diào)色板化(palletized)的圖像以具有索引色的 PNG格式存儲(chǔ),但GIF文件除外,其以GIF格式來(lái)存儲(chǔ)(530)。轉(zhuǎn)到判定操作535,確定是否已開(kāi)啟自動(dòng)化壓縮。當(dāng)自動(dòng)化壓縮沒(méi)有被開(kāi) 啟時(shí),過(guò)程轉(zhuǎn)到結(jié)束操作。當(dāng)自動(dòng)化壓縮已開(kāi)啟時(shí),過(guò)程轉(zhuǎn)換到判定操作540, 確定圖像是否是錯(cuò)誤格式。根據(jù)一個(gè)實(shí)施例,某些圖像類(lèi)型是不壓縮的。例如, 可以將GIF文件認(rèn)為是錯(cuò)誤格式,因?yàn)镚IF圖像被調(diào)色板化了,因此不是重新 采樣的好候選對(duì)象。當(dāng)圖像是錯(cuò)誤格式時(shí),過(guò)程轉(zhuǎn)到結(jié)束操作。當(dāng)圖像不是錯(cuò) 誤格式時(shí),過(guò)程轉(zhuǎn)到判定操作545。在判定操作545處,確定圖像是否具有非必要像素。對(duì)非必要像素的檢査 可確定所具有的像素是否比足以打印到所期望設(shè)備上的像素要多。期望設(shè)備可 以是高分辨率設(shè)備或是低分辨率設(shè)備。根據(jù)一個(gè)實(shí)施例,圖像包含可將圖像伸 展至設(shè)備的整個(gè)頁(yè)面大小所需的像素?cái)?shù)。例如,如果用戶(hù)將具有5百萬(wàn)像素的 圖像插入到8.5" Xll"的文件中,以便以220ppi來(lái)填充整個(gè)頁(yè)面,則該圖片 應(yīng)需要具有如下像素?cái)?shù)(8.5" X220ppi)x(ll" x220ppi)二近4.5百萬(wàn)個(gè)像素。對(duì)于與頁(yè)面具有不同長(zhǎng)寬比的圖像,則圖像需要保留足夠的像素來(lái)填充整 個(gè)頁(yè)面。例如,如果圖片的寬度是3000像素,高度是2000像素,并且要將該 圖片插入到打印格式為8.5"X11"的頁(yè)面中,則可以將該圖片調(diào)整大小為2805 X 1870。當(dāng)不具有非必要像素時(shí),過(guò)程移動(dòng)到操作555。當(dāng)具有非必要像素時(shí),過(guò) 程移動(dòng)到操作550,在該操作550可自動(dòng)地重新采樣圖片。隨后,過(guò)程移動(dòng)到 判定操作555。在判定操作555處,確定圖像是否已被分類(lèi)為照片。使用JPEG壓縮可最 好地壓縮照片,但是JPEG可能會(huì)在非照片圖像上引入偽像。根據(jù)一個(gè)實(shí)施例,默認(rèn)地將不是JPEG的圖像轉(zhuǎn)換為PNG (除了 GIF文件保持為GIF外)。然而, 對(duì)于照片,PNG壓縮是低效率的。當(dāng)圖像被分類(lèi)為照片時(shí),過(guò)程移動(dòng)到操作 560,在該操作處將照片轉(zhuǎn)換成JPEG。隨后,過(guò)程移動(dòng)到結(jié)束塊,并返回以處理其它動(dòng)作。圖6示出了用于在保存時(shí)壓縮的過(guò)程。在開(kāi)始操作后,過(guò)程轉(zhuǎn)到操作610 訪問(wèn)圖像。移動(dòng)到判定操作620,確定圖像是否含有透明度信息。當(dāng)圖像具有 透明度信息時(shí),圖像可能不是用于壓縮的好候選對(duì)象,因?yàn)橥该鞫刃畔⒃趬嚎s 時(shí)可能會(huì)丟失。因此,根據(jù)一個(gè)實(shí)施例,當(dāng)圖像包含透明度信息時(shí),過(guò)程轉(zhuǎn)到 結(jié)束塊。當(dāng)圖像不包含透明度信息時(shí),過(guò)程轉(zhuǎn)到判定操作630。判定操作630可確定圖像是否已被剪裁。根據(jù)一個(gè)實(shí)施例,當(dāng)圖像上已執(zhí) 行了剪裁操作時(shí),會(huì)在該圖像上設(shè)置"臟"標(biāo)記以顯示該圖像已被剪裁了。在 移除已剪裁區(qū)域時(shí),臟標(biāo)記將被重新設(shè)置。在圖像已被剪裁時(shí),過(guò)程轉(zhuǎn)到操作640,丟棄已剪裁區(qū)域。當(dāng)圖像沒(méi)有被 剪裁時(shí),過(guò)程轉(zhuǎn)到判定操作650。判定操作650可確定圖像是否已被調(diào)整大小。類(lèi)似于剪裁操作,如果在圖 像上執(zhí)行了調(diào)整大小的操作,則也會(huì)在該圖像上設(shè)置"臟"標(biāo)記,以顯示該圖 像已被修改了。在重新采樣圖像時(shí),會(huì)重新設(shè)置臟標(biāo)記。當(dāng)圖像已被調(diào)整大小時(shí),將重新采樣(操作660)該圖像,以便提供足夠 的像素分辨率來(lái)以較高的質(zhì)量按其當(dāng)前大小來(lái)打印圖像。當(dāng)還沒(méi)有對(duì)圖像調(diào)整大小時(shí),過(guò)程轉(zhuǎn)到結(jié)束操作,并返回以處理其它動(dòng)作。圖7說(shuō)明了用于在用戶(hù)調(diào)用文檔時(shí)壓縮該檔案中的圖像的過(guò)程。 一般而 言,用戶(hù)調(diào)用文檔時(shí)的壓縮過(guò)程是上面描述的步驟的組合。在開(kāi)始操作后,過(guò)程轉(zhuǎn)到操作705,訪問(wèn)文檔中的圖像。移動(dòng)到操作710,從圖像中移除任何附加數(shù)據(jù)。例如,圖像可能包括OLE 數(shù)據(jù)。根據(jù)一個(gè)實(shí)施例,當(dāng)用戶(hù)在所選對(duì)象上運(yùn)行壓縮圖像時(shí),如果用戶(hù)選擇 從單個(gè)畫(huà)面中去除OLE數(shù)據(jù),則OLE流將被去除?;蛘撸绻脩?hù)在文檔中 的所有圖像上運(yùn)行壓縮圖像,則在認(rèn)為移除是安全的時(shí)候移除OLE流??梢?將被認(rèn)為是可安全移除的OLE類(lèi)型清單存儲(chǔ)在列表中,或以其它形式存儲(chǔ)。移動(dòng)到判定操作715,確定圖像是否含有透明度信息。當(dāng)圖像具有透明度信息時(shí),圖像可能不是用于壓縮的好候選對(duì)象,因?yàn)橥该鞫刃畔⒃趬嚎s時(shí)可能 會(huì)丟失。當(dāng)圖像不包含透明度信息時(shí),過(guò)程轉(zhuǎn)到結(jié)束操作。當(dāng)圖像不包含透明 度信息時(shí),過(guò)程轉(zhuǎn)到判定操作720。判定操作720可確定圖像是否已被剪裁。在圖像己被剪裁時(shí),過(guò)程轉(zhuǎn)到操 作725,丟棄已剪裁區(qū)域。當(dāng)圖像沒(méi)有被剪裁時(shí),過(guò)程轉(zhuǎn)到判定操作730。根 據(jù)一個(gè)實(shí)施例,剪裁確定還會(huì)考慮多幅圖像參考相同的源并以不同的方式被剪 裁的情況。在這種情況下,當(dāng)已剪裁信息不被文檔中的任何一個(gè)實(shí)例需要時(shí), 將其從源處丟棄。判定操作730確定圖像是否可以被壓縮。如果圖像已經(jīng)被壓縮,則將已被 壓縮的圖像作上標(biāo)記,并將目標(biāo)輸出模式作為該圖像的特性來(lái)保存。 一旦圖像 已被壓縮,則在目標(biāo)輸出模式已被改變并且需要更積極的壓縮時(shí),該圖像將被 再次壓縮。隨后,目標(biāo)輸出模式特性將被更新。根據(jù)一個(gè)實(shí)施例,不會(huì)壓縮大 小小于100kb的圖像。盡管在一個(gè)實(shí)施例中使用了 100kb,但可以按照需要來(lái) 設(shè)定這個(gè)設(shè)置或者將其忽略。當(dāng)圖像不能夠被壓縮時(shí),過(guò)程轉(zhuǎn)到結(jié)束塊。當(dāng)圖 像能夠被壓縮時(shí),過(guò)程轉(zhuǎn)到操作735。判定操作735確定圖像是否可以被縮放。如所需輸出設(shè)備確定圖像包含額 外像素時(shí),其可以被縮放。例如,打印機(jī)可以使用220ppi的分辨率,而顯示屏 /投影機(jī)/web可以使用150ppi,電子郵件可以使用96ppi??梢赃x擇不同的分辨 率。當(dāng)圖像可以被縮放時(shí),過(guò)程移動(dòng)到操作740,重新采樣圖像。當(dāng)圖像不可 以被縮放時(shí),過(guò)程移動(dòng)到判定操作745處。判定操作745可確定該圖像是否為照片。當(dāng)圖像被分類(lèi)為照片時(shí),過(guò)程移 動(dòng)到操作750,將圖像以所確定的質(zhì)量設(shè)置進(jìn)行JPEG壓縮。當(dāng)圖像未被分類(lèi) 為照片時(shí),過(guò)程移動(dòng)到操作755,在該步驟755處可以向用戶(hù)提供警告。該警 告可以指示圖像將被壓縮,以及他們是否愿意接受該變化。轉(zhuǎn)換到判定操作760處,確定用戶(hù)是否會(huì)接受該變化。當(dāng)用戶(hù)接受該變化 時(shí),過(guò)程移動(dòng)到操作765,在該操作765處可將文檔與更新后的圖像一起保存。 當(dāng)用戶(hù)不接受該變化時(shí),過(guò)程移動(dòng)到操作770,在該操作770處會(huì)將該變化丟 棄。隨后,過(guò)程移動(dòng)到結(jié)束操作,并返回以處理其它動(dòng)作。圖8示出了示例性壓縮對(duì)話框。對(duì)話框810說(shuō)明了壓縮圖片對(duì)話框,而對(duì)話框820則說(shuō)明了壓縮選項(xiàng)對(duì)話框。文件大小比較(812)可向用戶(hù)提供對(duì)壓縮后所節(jié)約的空間的估計(jì)。計(jì)算 具有圖像的文檔的文件大小使用單獨(dú)的線程迭代通過(guò)該文檔中的這些圖像。在 生成文件大小的同時(shí),將向用戶(hù)提供諸如"處理中…"之類(lèi)的消息。用戶(hù)通過(guò)選擇選項(xiàng)按鈕816并在對(duì)話框820中作出任何期望的變化即可調(diào) 整壓縮設(shè)置。這些設(shè)置可以被維持,以便在構(gòu)建新文檔時(shí)實(shí)行。指示自動(dòng)壓縮的選項(xiàng)(822)被嵌入在文檔中,以便在將該文件與其它用 戶(hù)共享時(shí)可保持這些設(shè)置。也可以存儲(chǔ)目標(biāo)輸出模式824。刪除已剪裁區(qū)域的選項(xiàng)826可指定是否丟 棄圖像的已剪裁區(qū)域。移除非必要數(shù)據(jù)的選項(xiàng)828可指定是否丟棄額外數(shù)據(jù)。上面的描述、示例和數(shù)據(jù)可提供對(duì)產(chǎn)品以及組合本發(fā)明的使用的完全描 述。由于可以得到本發(fā)明的許多實(shí)施例,而不會(huì)偏離本發(fā)明的精神和范圍,因 此本發(fā)明在于后面所附的權(quán)利要求書(shū)。
權(quán)利要求
1.一種用于壓縮存儲(chǔ)在文檔中的圖像的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括訪問(wèn)所述文檔中的圖像;其中,所述文檔除包括所述圖像外,還包括其它數(shù)據(jù);分類(lèi)所述圖像;自動(dòng)地確定對(duì)所述圖像的壓縮步驟;將所述壓縮步驟應(yīng)用于所述圖像;以及以所述已壓縮圖像來(lái)保存所述文檔。
2. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,分類(lèi)所述圖像 包括將所述圖像分類(lèi)為下組中的至少一個(gè)照片和非照片。
3. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括確定圖 像何時(shí)被插入到所述文檔中,以及在所述圖像被插入時(shí),自動(dòng)地執(zhí)行以下操作 中的至少一種將非必要數(shù)據(jù)從所述圖像中除去;對(duì)所述圖像進(jìn)行重新采樣; 和將所述圖像轉(zhuǎn)換成另一種格式。
4. 如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括確定圖 像何時(shí)被保存,以及在所述圖像被保存時(shí),執(zhí)行以下操作中的至少一種丟棄 所述圖像的已剪裁區(qū)域;和基于放置尺寸對(duì)所述圖像進(jìn)行重新釆樣。
5. 如權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,分類(lèi)所述圖像包括構(gòu)建所述圖像的直方圖。
6. 如權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,自動(dòng)地確定對(duì) 所述圖像的壓縮步驟包括確定以下各項(xiàng)中的至少一個(gè)是否可以將所述圖像調(diào) 色板化;所述圖像是否是錯(cuò)誤的格式;是否具有非必要像素;所述圖像是否包 含透明度信息;所述圖像是否已被剪裁;和所述圖像是否已被調(diào)整大小。
7. 如權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,確定所述圖像 是否已被剪裁包括確定已剪裁區(qū)域以及丟棄所述已剪裁區(qū)域。
8. 如權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,確定所述圖像 是否己被調(diào)整大小包括對(duì)所述圖像進(jìn)行重新采樣。
9. 如權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,確定所述圖像 是否具有非必要像素包括確定一期望分辨率以及基于所述期望分辨率對(duì)所述 圖像進(jìn)行重新采樣。
10. —種具有用于自動(dòng)壓縮存儲(chǔ)在文檔中的圖像的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令包括 訪問(wèn)所述文檔中的圖像; 分類(lèi)所述圖像;自動(dòng)地確定對(duì)所述圖像的壓縮步驟; 自動(dòng)地將所述壓縮步驟應(yīng)用于所述圖像;以及 以己壓縮圖像來(lái)保存所述文件,以便減小所述文檔的文件大小。
11. 如權(quán)利要求IO所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可 執(zhí)行指令還包括確定圖像何時(shí)被插入到所述文檔中,以及在所述圖像被插入時(shí) 自動(dòng)執(zhí)行在確定時(shí)將非必要數(shù)據(jù)從所述圖像中移除;在確定時(shí)對(duì)所述圖像進(jìn) 行重新釆樣;和在確定時(shí)將所述圖像轉(zhuǎn)換為JPEG格式。
12. 如權(quán)利要求ll所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述計(jì)算機(jī)可 執(zhí)行指令還包括確定圖像何時(shí)被保存,以及響應(yīng)于所述保存自動(dòng)地壓縮所述圖 像。
13. 如權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,分類(lèi)所述圖像 包括構(gòu)建所述圖像的直方圖,以及使用所述直方圖確定所述圖像是否是照片。
14. 如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,確定所述圖像 是否是照片包括基于所述直方圖執(zhí)行以下測(cè)試中的至少一個(gè)確定在所述直方 圖最前面的各個(gè)小區(qū)間中的像素比例;確定直方圖峰值的數(shù)目;和確定加載的 小區(qū)間的數(shù)目。
15. 如權(quán)利要求IO所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,自動(dòng)地確定所 述圖像的壓縮步驟包括執(zhí)行以下各項(xiàng)中的至少兩項(xiàng)確定是否可以將所述圖像 調(diào)色板化;確定所述圖像是否是錯(cuò)誤的格式;確定是否具有非必要像素,并且 在具有非必要像素時(shí)對(duì)所述圖像進(jìn)行重新采樣;確定所述圖像是否包括透明度 信息;確定所述圖像是否已被剪裁,并且在所述圖像已被剪裁時(shí)移除已剪裁區(qū)域;和確定所述圖像是否已被調(diào)整大小,并且在所述圖像己被調(diào)整大小時(shí)對(duì)所 述圖像進(jìn)行重新采樣。
16. —種用于壓縮存儲(chǔ)在文檔中的圖像的系統(tǒng),包括 被配置成接收輸入的輸入設(shè)備; 包括圖像的文檔;被配置成編輯所述文檔并被配置成從所述輸入設(shè)備接收所述輸入的應(yīng)用 程序;以及耦合到所述應(yīng)用程序的壓縮算法,并且所述壓縮算法被配置成在確定時(shí)自動(dòng)地壓縮所述圖像;其中所述算法被配置成執(zhí)行以下動(dòng)作 訪問(wèn)所述文檔中的圖像;將所述圖像分類(lèi)為下組中的一個(gè)照片和非照片;自動(dòng)地確定所述圖像的壓縮步驟; 將所述壓縮步驟應(yīng)用于所述圖像;以及以所述已壓縮圖像來(lái)保存所述文檔。
17. 如權(quán)利要求16所述的系統(tǒng),其特征在于,所述算法執(zhí)行的動(dòng)作還包 括確定圖像何時(shí)被插入到所述文檔中以及所述文檔何時(shí)被保存。
18. 如權(quán)利要求17所述的系統(tǒng),其特征在于,確定所述圖像何時(shí)被插入到所述文檔中以及所述文檔何時(shí)被保存包括自動(dòng)地執(zhí)行以下操作中的至少一項(xiàng)將非必要數(shù)據(jù)從所述圖像中除去;對(duì)所述圖像進(jìn)行重新采樣;將所述圖像 轉(zhuǎn)換成另一種格式;丟棄所述圖像的已裁剪區(qū)域;和基于放置尺寸對(duì)所述圖像 進(jìn)行重新釆樣。
19. 如權(quán)利要求18所述的系統(tǒng),其特征在于,分類(lèi)所述圖像包括構(gòu)建 所述圖像的直方圖,以及分析所述直方圖以確定像素分配。
20. 如權(quán)利要求18所述的系統(tǒng),其特征在于,自動(dòng)地確定對(duì)所述圖像的 壓縮步驟包括確定以下各項(xiàng)中的至少一個(gè)是否可以將所述圖像調(diào)色板化;所 述圖像是否是錯(cuò)誤的格式;是否具有非必要像素;所述圖像是否包含透明度信 息;所述圖像是否已被剪裁;和所述圖像是否己被調(diào)整大小。
全文摘要
包含在文檔中的圖像被壓縮,以便減小文檔的文件大小。壓縮可以以使壓縮步驟自動(dòng)地發(fā)生于圖像的方式發(fā)生。所執(zhí)行的壓縮步驟基于與文檔中的圖像有關(guān)的可用信息來(lái)確定。使用該信息來(lái)確定圖像是否應(yīng)該被壓縮以及要使用何種壓縮方法。
文檔編號(hào)G06F17/21GK101331480SQ200680047453
公開(kāi)日2008年12月24日 申請(qǐng)日期2006年12月7日 優(yōu)先權(quán)日2005年12月15日
發(fā)明者B·R·默德芬, J·R·蘭博瑞克, M·杰蘭姆科, R·C·希爾 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1