專利名稱:非線性像素效果聚集的制作方法
非線性像素效果聚集 背景包括圖像處理程序包的圖形處理應(yīng)用程序的領(lǐng)域已拓寬和成熟到許多 圖像處理程序和工具能夠調(diào)整一系列圖像特性。廣而言之,許多這些調(diào)整 圍繞改變數(shù)字照片或其它圖像的顏色組成或改變主題圖像或文件的曝光或 光照特性。在每種類別的任務(wù)中,市場(chǎng)上可獲得的程序通常提供改變圖像的像素中紅、綠或藍(lán)(RGB)成分或青、紫、黃或黑(CMYK)成分顏色 的相對(duì)大小。為了改變圖像的顏色組成,與圖像的像素相關(guān)聯(lián)的顏色值必需經(jīng)歷一 變換操作。這些變換可被稱為效果。某些效果使用線性操作來(lái)改變像素值。 例如,級(jí)別效果(levels effect)使用具有線性斜率的一階曲線來(lái)改變像素 數(shù)據(jù)。作為線性操作的另一個(gè)示例,通道混合器效果是一個(gè)顏色的三維矩 陣通道映射。非線性操作也可用來(lái)改變圖像的顏色組成。例如,曲線效果是非線性、 單個(gè)像素通道的變換。這些曲線效果基于一維映射或"曲線"將每個(gè)像素 的RGB通道數(shù)據(jù)映射至新的值。通常,每個(gè)通道對(duì)應(yīng)獨(dú)立的曲線。所以, 對(duì)于單個(gè)曲線效果,紅、綠和藍(lán)色通道可能對(duì)應(yīng)不同曲線。曲線效果可與控件一起使用來(lái)改變對(duì)比度、亮度、飽和度或曝光度。效果流水線(effectpipeline)被經(jīng)常用來(lái)對(duì)圖像進(jìn)行修改。如本領(lǐng)域 的技術(shù)人員所知,效果流水線涉及一系列順序執(zhí)行的圖像處理步驟。效果 流水線一般被設(shè)計(jì)為在利用可用硬件的同時(shí)允許有效地處理數(shù)字圖像。例 如,流水線可在專用圖形處理單元(GPU)上執(zhí)行重要的操作。如今的效 果流水線被用來(lái)"無(wú)破壞性地"動(dòng)態(tài)修改圖像數(shù)據(jù)。"無(wú)破壞性編輯"或 "無(wú)破壞性處理"指的是其中從未改變的、原始加載的圖像數(shù)據(jù)開(kāi)始發(fā)生 渲染的編輯(或處理)。每次做出一個(gè)變化,改變作為添加到流水線的末 尾的一個(gè)或多個(gè)調(diào)整(或效果)被添加。因此,流水線反映了圖像的修改歷史(或結(jié)果)。常規(guī)的效果流水線的一個(gè)限制是無(wú)破壞性編輯方法是不能確定量度 的。在長(zhǎng)的效果流水線中,曲線效果的應(yīng)用會(huì)大大增加延遲和處理時(shí)間。 當(dāng)調(diào)整被應(yīng)用到流水線開(kāi)始處附近的效果時(shí),這個(gè)結(jié)果被加劇。由于對(duì)每 次渲染需要重新應(yīng)用每個(gè)隨后的效果,所以延遲可能粗略地與所涉及的效 果數(shù)目成正比。為了減小這個(gè)延遲,相鄰的線性操作可聚集到一單個(gè)過(guò)程。 如本領(lǐng)域的技術(shù)人員所知,各線性操作可容易地被結(jié)合到一單個(gè)操作以增 強(qiáng)性能。當(dāng)各線性調(diào)整不相鄰時(shí),經(jīng)??蓪?duì)流水線重新排序以將它們聚集 在一起。然而,曲線效果不是那么容易被結(jié)合的。事實(shí)上,當(dāng)前本領(lǐng)域中 沒(méi)有任何技術(shù)用于聚集任意的非線性像素效果或甚至是任意的非線性"曲 線"效果。因此,多個(gè)曲線效果降低效果流水線的性能,并且引起經(jīng)常對(duì) 用戶來(lái)說(shuō)是明顯的延遲一經(jīng)常太多,以致于它使得無(wú)破化性處理模型變得 不能實(shí)行。概述本發(fā)明通過(guò)提供用于將曲線效果運(yùn)用到數(shù)字圖像的系統(tǒng)和方法而滿足了 以上的需要并克服了現(xiàn)有技術(shù)中的一個(gè)或多個(gè)缺陷。選擇多個(gè)連續(xù)的曲線效果 聚集到一效果流水線中。曲線效果被應(yīng)用到測(cè)試像素值。該應(yīng)用的輸出被用來(lái) 生成一聚集的査找表。該聚集的査找表被用來(lái)將曲線效果應(yīng)用到該數(shù)字圖像 上。應(yīng)該注意的是,提供本概述以便以簡(jiǎn)化的形式從總體上向讀者介紹將在以 下詳細(xì)描述中描述的一個(gè)或多個(gè)選擇的概念。本概述并非意在確定所請(qǐng)求保護(hù) 的主題的關(guān)鍵特征或必要特征,也并非意在用來(lái)幫助確定所請(qǐng)求保護(hù)的主題的 范圍。附圖簡(jiǎn)述參考附圖,在以下詳細(xì)地描述本發(fā)明,在附圖中
圖1是適用于實(shí)現(xiàn)本發(fā)明的示例性計(jì)算系統(tǒng)環(huán)境的框圖;圖2是示出一種用于將曲線效果應(yīng)用到輸入數(shù)據(jù)的示例性系統(tǒng)的示意圖;圖3是示出一種用于將多個(gè)曲線效果應(yīng)用到輸入數(shù)據(jù)的示例性系統(tǒng)的示意圖;圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種用于將諸曲線效果聚集在一效 果流水線中的系統(tǒng)的示意圖;圖5A和5B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性效果流水線的 示意圖;圖6A和6B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用多個(gè)曲線效果的 系統(tǒng)的示例圖;以及圖7示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種應(yīng)用曲線效果的方法。詳細(xì)描述專門描述本發(fā)明的主題以符合法定要求。然而,描述本身并非意在限制本 專利的范圍。相反,發(fā)明人預(yù)期到所請(qǐng)求保護(hù)的主題還可能結(jié)合其它現(xiàn)在或今 后的技術(shù)以其它方式來(lái)實(shí)施,從而包括類似于本文檔中所描述的步驟的不同步 驟或步驟的組合。此外,盡管術(shù)語(yǔ)"步驟"在此處被用來(lái)暗指所采用的方法中 的不同元素,但是除非并且除了當(dāng)明確描述各個(gè)步驟的順序時(shí),該術(shù)語(yǔ)不應(yīng)被 解釋為暗示此處所公開(kāi)的各步驟之間的任何特定的順序。此外,參考附圖,在以下詳細(xì)地描述本發(fā)明,其中全部附圖通過(guò)引用被納入于此。下面描述本發(fā)明的一個(gè)示例性操作環(huán)境。首先參考圖1,示出一用于實(shí)現(xiàn) 本發(fā)明的示例性操作環(huán)境并且一般被指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè)示例,并且并非意在暗示對(duì)本發(fā)明的使用或功能的范圍的任何限制。也不應(yīng)將計(jì)算環(huán)境IOO解釋為對(duì)于所示出的組件中的任何一個(gè)或其組合具有任何依賴或要求??稍谟?jì)算機(jī)代碼或機(jī)器可使用的指令的一般上下文中描述本發(fā)明,這些計(jì) 算機(jī)代碼或機(jī)器可使用的指令包括正被計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其它手 持設(shè)備等其它機(jī)器執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令。 一般而言,包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序模塊指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn) 特定抽象數(shù)據(jù)類型的代碼??舍娪冒ㄊ殖衷O(shè)備、消費(fèi)類電子產(chǎn)品、通用計(jì)算 機(jī)、更專用的計(jì)算設(shè)備(例如,照相機(jī)和打印機(jī))等的各種系統(tǒng)配置來(lái)實(shí)施本 發(fā)明。本發(fā)明還可在分布式計(jì)算環(huán)境中被實(shí)施,在該環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)。參考圖1,計(jì)算設(shè)備100包括直接或間接耦合下列設(shè)備的總線100:存儲(chǔ)器112、中央處理單元(CPU) 114、 一個(gè)或多個(gè)呈現(xiàn)組件116、輸入/輸出端口 118、輸入/輸出組件120、說(shuō)明性的電源122和圖形處理單元(GPU) 124???線110表示可能是一個(gè)或多個(gè)的總線(諸如地址總線、數(shù)據(jù)總線或其組合)。 盡管為了簡(jiǎn)明起見(jiàn),采用線條來(lái)示出圖1的各種框,但是,在現(xiàn)實(shí)中,描繪各 種組件是不那么清楚的,并且采用比喻方式的話,這些線更精確地來(lái)說(shuō)應(yīng)該是灰色和模糊的。例如,有人可將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是i/o組件。此外,CPU和GPU具有存儲(chǔ)器。我們認(rèn)識(shí)到這是技術(shù)的本質(zhì),并重申,圖l的 圖示對(duì)于可結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施例來(lái)使用的示例性計(jì)算設(shè)備是說(shuō)明 性的。沒(méi)有在諸如"工作站"、"服務(wù)器"、"膝上型設(shè)備"、"手持式設(shè)備" 等類別之間做出明確區(qū)分,因?yàn)檫@些全部被認(rèn)為是在圖1的范圍內(nèi)和對(duì)"計(jì)算 設(shè)備"的引用范圍內(nèi)的。計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例,而非限制,計(jì)算 機(jī)可讀介質(zhì)可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM);電可擦 除可編程只讀存儲(chǔ)器(EEPROM);閃存或其它存儲(chǔ)技術(shù);CDROM、數(shù)字多 功能盤(DVD)或其它光學(xué)或全息介質(zhì);磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性 存儲(chǔ)設(shè)備、可用來(lái)對(duì)希望的信息進(jìn)行編碼并能被計(jì)算設(shè)備100訪問(wèn)的載波或任 何其它介質(zhì)。存儲(chǔ)器112包括釆用易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。 該存儲(chǔ)器可以是可移動(dòng)的、不可移動(dòng)的或其組合。示例性硬件設(shè)備包括固態(tài)存 儲(chǔ)器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。計(jì)算設(shè)備100包括能從諸如存儲(chǔ)器112或 1/0組件120等各種實(shí)體處讀取數(shù)據(jù)的一個(gè)或多個(gè)處理器。(諸)呈現(xiàn)組件116 向用戶或其它設(shè)備展示數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯示設(shè)備、揚(yáng)聲器、打 印組件、振動(dòng)組件等。I/O端口 118允許計(jì)算設(shè)備100邏輯地耦合到包括I/O組件120等其它設(shè) 備,這些端口中的某些可以是內(nèi)置的。示例性組件包括話筒、操縱桿、游戲手 柄、圓盤式衛(wèi)星天線、掃描儀、打印機(jī)、無(wú)線設(shè)備等。如先前所述,本發(fā)明的實(shí)施例提供用于將效果應(yīng)用于數(shù)字圖像的系統(tǒng)和方法。本領(lǐng)域的普通技術(shù)人員將理解和意識(shí)到,此處所使用的術(shù)語(yǔ)"數(shù)字圖像" 指的是包括靜態(tài)和/或動(dòng)態(tài)數(shù)字圖像以及其任何和所有組合或變型的任何數(shù)字 圖像數(shù)據(jù)。使用此處所描述的系統(tǒng)和方法,像素?cái)?shù)據(jù)可按各種方式變換。
為了應(yīng)用效果,可使用有向無(wú)環(huán)圖("圖")或效果流水線。通過(guò)使用
GPU、 CPU或兩者的某種組合可實(shí)現(xiàn)一個(gè)圖。GPU不同于CPU的是,它們使 用非常高速的存儲(chǔ)器并且將它與能夠很有效地針對(duì)像素?cái)?shù)據(jù)處理簡(jiǎn)單計(jì)算的 專用處理器耦合。GPU不是通用處理器。GPU可執(zhí)行快速像素變換以及三維 幾何變換,其速度比CPU完成同樣的任務(wù)的速度要快得多。這主要?dú)w因于一 個(gè)事實(shí),即盡管CPU能足以執(zhí)行各種一般任務(wù),但是它們沒(méi)有針對(duì)任何特定 操作而被優(yōu)化,而GPU使用非常專門的硬件來(lái)執(zhí)行圖形處理任務(wù)。
此處描述的數(shù)字圖像處理模型體系結(jié)構(gòu)(即,效果流水線或圖)由在此處 被稱為效果的元素組成。此處所使用的術(shù)語(yǔ)"效果"是一基本的圖像處理類。 即,效果基本上是像素操作單元。它們接受像素?cái)?shù)據(jù)的一個(gè)或多個(gè)緩沖、操控 數(shù)據(jù)并輸出修改后的像素。例如,銳化效果接受圖像像素、銳化像素邊緣并輸 出比接受的圖像像素更銳的圖像。在另一個(gè)示例中,顏色平衡效果接受圖像像 素?cái)?shù)據(jù)、調(diào)整像素的顏色平衡并輸出具有從所接受的像素中修改后的顏色平衡 的圖像。因此,效果的首要功能是處理像素。
例如遮蔽(masking)、混合、旋轉(zhuǎn)等不同的效果可被定義來(lái)實(shí)現(xiàn)各種圖 像處理算法。在某些實(shí)施例中,允許用戶將預(yù)先定義的效果捆綁在一起來(lái)實(shí)現(xiàn) 期望的結(jié)果。如果需要,用戶還可定義新的效果來(lái)實(shí)現(xiàn)有趣的圖像處理算法。 效果可處理任何數(shù)量的輸入圖像并產(chǎn)生任何數(shù)量的輸出圖像。
圖2示出一種用于將曲線效果202應(yīng)用到數(shù)字圖像的系統(tǒng)200。輸入像素 數(shù)據(jù)204饋給曲線效果202。輸入像素?cái)?shù)據(jù)204可從數(shù)字圖像中獲得。數(shù)字圖 像由像素組成并且這些像素中的每一個(gè)可具有指示該像素顏色的值。例如,一 個(gè)像素可具有指示紅、綠和藍(lán)色值的數(shù)據(jù)。
當(dāng)曲線效果202被應(yīng)用到輸入像素?cái)?shù)據(jù)204時(shí),各種像素的顏色值被轉(zhuǎn)換 成新的值以便反映曲線效果202的應(yīng)用。為了進(jìn)行這個(gè)轉(zhuǎn)換,使用一曲線査找 表206。查找表206為輸入像素?cái)?shù)據(jù)204中的每個(gè)像素值提供一輸出值。例如, 輸入圖像可具有紅色通道值為5的一像素。為了將曲線效果202應(yīng)用到該像素的紅色通道值上,在該查找表206中找到與值為5的紅色輸入相關(guān)聯(lián)的輸出值。 該輸出值被存儲(chǔ)為輸出像素?cái)?shù)據(jù)208。在一個(gè)實(shí)施例中,查找表206是一個(gè)圖 像,并且進(jìn)入的像素?cái)?shù)據(jù)204的值被用來(lái)在曲線查找表206中找出輸出值的地 址。此外,系統(tǒng)200可包括多個(gè)查找表。對(duì)于具有三個(gè)顏色通道的圖像,可使 用三個(gè)單獨(dú)的査找表。在一個(gè)實(shí)施例中,從應(yīng)用程序中加載査找表206并且從 諸如曝光修正、對(duì)比度或膠片響應(yīng)(film response)等參數(shù)值中計(jì)算該查找表。 如本領(lǐng)域的技術(shù)人員將意識(shí)到的,輸入圖像的每個(gè)像素值可被系統(tǒng)200轉(zhuǎn)換成 輸出值。應(yīng)該注意的是,可采用諸如查找表206等査找表進(jìn)行任何數(shù)目的曲線和非 曲線變換。這些變換被稱為"表查找效果"。例如,將輸入數(shù)據(jù)映射到輸出數(shù) 據(jù)的任意靜態(tài)或動(dòng)態(tài)效果可以是表查找效果。本領(lǐng)域的技術(shù)人員將意識(shí)到,盡 管此處經(jīng)常使用術(shù)語(yǔ)"曲線效果",但是本發(fā)明不限于曲線效果,并且本發(fā)明 可用來(lái)聚集任何數(shù)量的表查找效果。在應(yīng)用一系列曲線效果的效果流水線中,每個(gè)輸出圖像饋給下一個(gè)曲線效 果的輸入。圖3示出一種將一系列曲線效果應(yīng)用到數(shù)字圖像的系統(tǒng)300。輸入 像素?cái)?shù)據(jù)302饋給曲線效果304。曲線效果304使用曲線査找表306來(lái)生成輸 出數(shù)據(jù)。順序地,該輸出數(shù)據(jù)被饋給曲線效果310并然后饋給曲線效果312。 數(shù)據(jù)按曲線查找表306和曲線查找表314所指示的被轉(zhuǎn)換。然后,最終輸出像 素?cái)?shù)據(jù)316可被用來(lái)形成一輸出圖像,該輸出圖像反映曲線效果306、 310和 314對(duì)輸入圖像的應(yīng)用。如本領(lǐng)域的技術(shù)人員將意識(shí)到的,大量的圖像數(shù)據(jù)必 須在系統(tǒng)300的每個(gè)階段被映射,以供典型的圖像處理請(qǐng)求。由于必須為每個(gè) 顏色通道執(zhí)行分別的查找表,所以一系列曲線效果査找表會(huì)很快消耗GPU (或 CPU)的資源。如先前所述的,將多個(gè)效果聚集到單個(gè)變換中可改善數(shù)字處理應(yīng)用程序的 性能。圖4示出一種將各曲線效果的應(yīng)用聚集到一效果流水線中的系統(tǒng)400。 該系統(tǒng)400包括曲線效果選擇器402。該曲線效果選擇器402可被配置成標(biāo)識(shí) 要被聚集的多個(gè)曲線效果??蓮母鞣N源中標(biāo)識(shí)出曲線效果。例如,曲線效果選 擇器402可針對(duì)順序效果掃描一圖。此外,圖像處理應(yīng)用程序可基于各種輸入 和參數(shù)自動(dòng)選擇效果。曲線效果選擇器402還可被配置成對(duì)效果流水線中的操作進(jìn)行重新排序,
這樣,被標(biāo)識(shí)出的效果被分組成相鄰接的串。換言之,曲線效果選擇器402可 對(duì)圖像處理步驟的順序重新排序,這樣,被標(biāo)識(shí)的各效果中的每一個(gè)可在流水 線中逐個(gè)發(fā)生。圖5A和5B提供對(duì)效果流水線的這種重新排序的示例。圖5A 示出一示例性效果流水線500。效果流水線500從將要被處理的圖像中接受輸 入像素?cái)?shù)據(jù)502,并且第一效果(曲線效果504)被應(yīng)用到數(shù)據(jù)502。隨后,通 道混合器506將線性操作應(yīng)用到該數(shù)據(jù)502。在應(yīng)用了曲線效果508和曲線效 果510之后,圖像處理結(jié)束。如果不對(duì)效果流水線500進(jìn)行重新排序,則由于 線性操作(通道混合器506)位于線性效果504和508之間,使得曲線效果504、 508和510不能被聚集。圖5B示出對(duì)曲線效果504、 508和510重新排序而產(chǎn) 生的效果流水線500。在重新排序后,首先執(zhí)行線性操作(通道混合器506), 并接著應(yīng)用曲線效果504、 508和510。如本領(lǐng)域的技術(shù)人員將意識(shí)到的,只要 裁剪和像素比特深度不是限制性因素,則各非線性步驟(例如,曝光、顏色和 對(duì)比度修正)可容易地作為鄰接的步驟來(lái)應(yīng)用,而其它非聚集步驟(例如,飽 和、通道混合和銳化)被移到流水線的其它部分。與可互相交換的線性操作不 同,對(duì)于非線性操作來(lái)說(shuō)順序有時(shí)是重要的,并且在某些情況下,重新排序不 是可選的方案。
返回到圖4,系統(tǒng)400還包括查找表生成器404。查找表生成器404可被 配置成生成一聚集的查找表,以用于聚集的效果的應(yīng)用。類似于圖2的曲線査 找表206,聚集的査找表提供與一組輸入值相關(guān)聯(lián)的輸出值。 一般而言,聚集 的查找表提供的輸出是猶如輸入像素?cái)?shù)據(jù)分別饋給每個(gè)曲線效果而產(chǎn)生的輸 出。例如,取代使圖像數(shù)據(jù)經(jīng)受諸如圖3的系統(tǒng)300等系統(tǒng)的許多査找,聚集 的查找表允許使用單組查找來(lái)應(yīng)用多個(gè)曲線效果。可使用各種技術(shù)來(lái)生成聚集 的查找表,并且隨同圖6A的討論,提供一種用于生成該聚集的查找表的示例 性系統(tǒng)。
系統(tǒng)400還包括一曲線聚集器406。該曲線聚集器406被配置成通過(guò)使用 聚集的査找表將多個(gè)曲線效果應(yīng)用到數(shù)字圖像上。來(lái)自數(shù)字圖像的像素值被饋 給聚集的查找表中,并且輸出值被標(biāo)識(shí)。組合這些輸出值以形成反映曲線效果 的應(yīng)用的輸出圖像。為了顯示該輸出圖像,系統(tǒng)400包括一用戶界面組件408。本領(lǐng)域的技術(shù)人員將意識(shí)到,盡管僅需要一組查找操作,但系統(tǒng)400生成的輸
出圖像應(yīng)該實(shí)質(zhì)上完全等同于由圖3的系統(tǒng)300所生成的輸出圖像。
根據(jù)一個(gè)實(shí)施例,圖6A和6B提供一種用于生成一聚集的查找表并使用 該表將曲線效果應(yīng)用到圖像數(shù)據(jù)的示例性系統(tǒng)600。應(yīng)該注意的是,系統(tǒng)600 僅作為示例來(lái)提供并且可使用眾多系統(tǒng)和方法來(lái)生成該聚集的査找表。
系統(tǒng)600包括一測(cè)試圖像602。在一個(gè)實(shí)施例中,測(cè)試圖像602被設(shè)計(jì)成 提供每個(gè)可用或可能的輸入值。本領(lǐng)域中熟知的這種圖像的示例是梯度圖像。 可用輸入的數(shù)目隨圖像的分辨率而不同。例如,如果使用8比特來(lái)描述一顏色, 則將會(huì)有256 (28)種可能的輸入值。在這種情況下,測(cè)試圖像可包括256個(gè) 輸入值。作為另一個(gè)示例,對(duì)于16比特的分辨率,則有65,536 (216即2562) 種可能的輸入值。所以, 一個(gè)256X256圖像可用來(lái)精確地捕捉每個(gè)可用輸入。 梯度圖像還可用于浮動(dòng)圖像(float image)。在諸如此類情況中,有些值可要 求來(lái)自曲線中的內(nèi)插讀數(shù)。按類似的方式,如果使用熟知的內(nèi)插技術(shù)(例如, 雙線性或雙三次)對(duì)結(jié)果進(jìn)行內(nèi)插將導(dǎo)致使用較少的測(cè)試圖像采樣點(diǎn)就能準(zhǔn)確 映射,則不是每個(gè)可能的輸入值都必須存在于測(cè)試圖像602中。
測(cè)試圖像602被饋給曲線效果604,并且曲線查找表606用來(lái)將該測(cè)試圖 像602轉(zhuǎn)換成一輸出圖像。接著,該輸出圖像被輸入到曲線效果608中,這樣 它將如照曲線查找表610所確定的被改變。然后,通過(guò)使用曲線查找表614應(yīng) 用第三曲線效果(曲線效果612)。曲線效果612的輸出被存儲(chǔ)為一聚集的查 找表616。通過(guò)將測(cè)試圖像602與聚集的查找表616進(jìn)行相關(guān),可確定曲線效 果604、 608和612是如何改變每個(gè)可用像素值的。因此,聚集的查找表616 是將輸入值與輸出相關(guān)聯(lián)的曲線查找表。
轉(zhuǎn)到圖6B,系統(tǒng)600可使用聚集的査找表616以作為將曲線效果604、608 和612應(yīng)用到圖像數(shù)據(jù)的輸入。曲線效果聚集器618被配置成接收輸入像素?cái)?shù) 據(jù)620。如先前所述,聚集的查找表616具有針對(duì)每個(gè)可能的輸入值的輸出值。 因此,可通過(guò)曲線效果聚集器618將輸入像素?cái)?shù)據(jù)620轉(zhuǎn)換成輸出像素?cái)?shù)據(jù) 622。輸出像素?cái)?shù)據(jù)622可存儲(chǔ)為反映曲線效果604、 608和612到輸入圖像上 的應(yīng)用的輸出圖像。如本領(lǐng)域的技術(shù)人員將意識(shí)到的,采用曲線效果聚集器618 來(lái)應(yīng)用多個(gè)曲線效果可減少應(yīng)用這些效果所必需的時(shí)間和資源。圖7示出一種將曲線效果應(yīng)用到數(shù)字圖像上的方法700。在702處,方法 700標(biāo)識(shí)效果流水線中的多個(gè)曲線效果。在704處,方法700對(duì)效果流水線重 新排序以使得標(biāo)識(shí)出的各效果成為流水線中的鄰接的操作。
在706處,方法700生成一聚集的查找表。在一個(gè)實(shí)施例中,方法700將 標(biāo)識(shí)出的曲線效果應(yīng)用到一組測(cè)試像素上。該測(cè)試像素通過(guò)效果流水線被饋 給,并使用最終輸出像素來(lái)創(chuàng)建該聚集的查找表。
在708處,方法700使用該聚集的查找表以便將標(biāo)識(shí)出的曲線效果應(yīng)用到 數(shù)字圖像上。取代使輸入圖像經(jīng)受針對(duì)每個(gè)所選擇的效果的查找的做法,方法 700使用聚集的査找表來(lái)應(yīng)用多個(gè)效果,就好像只應(yīng)用一個(gè)效果一樣。輸入圖 像的像素值被轉(zhuǎn)換成輸出像素。在710處,方法700將這些輸出像素呈現(xiàn)為一 輸出圖像。
當(dāng)審閱包括附圖的說(shuō)明書時(shí),本發(fā)明的替換實(shí)施例和實(shí)現(xiàn)將對(duì)涉及本領(lǐng)域 的技術(shù)人員變得明顯。因此,本發(fā)明的范圍由所附的權(quán)利要求而不是以上的描 述來(lái)定義。
權(quán)利要求
1.一個(gè)或多個(gè)具有體現(xiàn)在其上的用來(lái)執(zhí)行一種將效果應(yīng)用于數(shù)字圖像的方法的計(jì)算機(jī)可使用指令的計(jì)算機(jī)可讀介質(zhì),所述方法包括標(biāo)識(shí)(802)將要應(yīng)用于所述數(shù)字圖像的多個(gè)效果,其中所述數(shù)字圖像包括多個(gè)像素值;通過(guò)將所述多個(gè)效果應(yīng)用于多個(gè)測(cè)試像素值來(lái)生成(806)一聚集的查找表,其中所述聚集的查找表將一輸出像素值與所述多個(gè)測(cè)試像素值的至少一部分中的每一個(gè)測(cè)試像素值相關(guān)聯(lián);以及使用(808)所述聚集的查找表以便通過(guò)標(biāo)識(shí)出與所述多個(gè)像素值的至少一部分中的每一個(gè)像素值相關(guān)聯(lián)的所述輸出像素值來(lái)將所述多個(gè)效果應(yīng)用于所述數(shù)字圖像。
2. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述多個(gè)效果被選出以便利 用一效果流水線來(lái)應(yīng)用。
3. 如權(quán)利要求2所述的介質(zhì),其特征在于,所述方法還包括對(duì)所述效果 流水線重新排序以使得所述多個(gè)效果在所述效果流水線中成為鄰接的操作。
4. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述多個(gè)效果中的至少一部 分與一個(gè)或多個(gè)查找表相關(guān)聯(lián)。
5. 如權(quán)利要求4所述的介質(zhì),其特征在于,所述生成所述聚集的查找表 包括訪問(wèn)所述一個(gè)或多個(gè)查找表中的至少一部分。
6. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述多個(gè)測(cè)試像素值包括每 個(gè)可用像素值。
7. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述聚集的查找表是一圖像。
8. 如權(quán)利要求1所述的介質(zhì),其特征在于,所述方法還包括向用戶呈現(xiàn) 通過(guò)將所述多個(gè)效果應(yīng)用于所述數(shù)字圖像而生成的輸出圖像。
9. 一種用于聚集對(duì)具有多個(gè)像素值的數(shù)字圖像的效果應(yīng)用的系統(tǒng),所述 系統(tǒng)包括-被配置成選擇要被聚集的多個(gè)效果的效果選擇器(402);被配置成通過(guò)將所述多個(gè)效果應(yīng)用于具有多個(gè)測(cè)試像素值的測(cè)試圖像來(lái) 生成一聚集的査找表的查找表生成器(404),其中所述聚集的査找表將一輸 出像素值與所述多個(gè)測(cè)試像素值的至少一部分中的每一個(gè)測(cè)試像素值相關(guān)聯(lián); 以及被配置成通過(guò)使用所述聚集的查找表來(lái)標(biāo)識(shí)與所述多個(gè)像素值的至少一 部分中的每一個(gè)像素值相關(guān)聯(lián)的輸出像素值以便將所述多個(gè)效果應(yīng)用于所述 數(shù)字圖像的聚集器(406)。
10. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述查找表生成器通過(guò)訪問(wèn) 與所述多個(gè)效果中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)查找表來(lái)生成所述聚集的查 找表。
11. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述至少一個(gè)查找表是來(lái) 自至少一個(gè)計(jì)算機(jī)程序的、傳送到所述查找表生成器的圖像。
12. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述測(cè)試圖像是梯度圖像。
13. 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述聚集器還被配置成存儲(chǔ) 包括所述標(biāo)識(shí)出的輸出像素值的輸出圖像。
14. 如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括被配置成向用戶呈 現(xiàn)所述輸出圖像的用戶界面組件。
15. —個(gè)或多個(gè)具有體現(xiàn)在其上的用于執(zhí)行一種將效果應(yīng)用于數(shù)字圖像 的方法的計(jì)算機(jī)可使用的指令的計(jì)算機(jī)可讀介質(zhì),所述方法包括標(biāo)識(shí)(702)多個(gè)效果;對(duì)一效果流水線重新排序(704)以使所述多個(gè)效果在所述效果流水線中 成為鄰接的操作;通過(guò)使用多個(gè)查找表將測(cè)試像素值轉(zhuǎn)換成輸出像素值來(lái)生成(706) —聚 集的査找表,其中所述聚集的查找表將所述測(cè)試像素值的至少一部分中的每一 個(gè)測(cè)試像素值與所述輸出像素值之一相關(guān)聯(lián);以及使用(708)所述聚集的査找表以將所述多個(gè)效果應(yīng)用于所述數(shù)字圖像。
16. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述方法還包括向用戶呈 現(xiàn)一輸出圖像。
17. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述測(cè)試像素值包括每個(gè) 可用像素值。
18. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述聚集的查找表是一圖像。
19. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述將所述數(shù)字圖像轉(zhuǎn)換 成所述輸出圖像是由圖形處理單元來(lái)執(zhí)行的。
20. 如權(quán)利要求15所述的介質(zhì),其特征在于,所述使用包括通過(guò)使用所 述聚集的查找表將所述數(shù)字圖像轉(zhuǎn)換成一輸出圖像。
全文摘要
用于將曲線效果應(yīng)用到數(shù)字圖像上的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)。多個(gè)曲線效果被選擇來(lái)聚集。將曲線效果應(yīng)用到測(cè)試像素值上。這個(gè)應(yīng)用的輸出被用來(lái)生成一聚集的查找表。該聚集的查找表被用來(lái)將曲線效果應(yīng)用到數(shù)字圖像上。
文檔編號(hào)H04N5/57GK101331774SQ200680047654
公開(kāi)日2008年12月24日 申請(qǐng)日期2006年11月22日 優(yōu)先權(quán)日2005年12月20日
發(fā)明者S·J·懷特 申請(qǐng)人:微軟公司