專利名稱::用于補(bǔ)償γ修正缺乏的α修正的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及顯示呈現(xiàn)過程,更特別地,涉及包括α值修正的字體圖示符呈現(xiàn)過程。
背景技術(shù):
:在標(biāo)準(zhǔn)軟件文本呈現(xiàn)中,一個(gè)或多個(gè)字體圖示符表示在顯示設(shè)備處所顯示的每個(gè)文本圖像。同樣,每個(gè)字體圖示符由一個(gè)或多個(gè)混合系數(shù)表示,這些混合系數(shù)表示應(yīng)該為被用來顯示字體圖示符的每個(gè)像素的背景加入多少字體圖示符的前景顏色。這些混合系數(shù)通常被稱作“α值”。其他圖像也可以由前景與背景之間的混合來表示。一旦確定α值,就可以使用它們來混合每個(gè)像素的前景顏色和背景顏色。合乎理想的是,在線性顏色空間中實(shí)行混合,在那里,例如,將使用表示無(wú)光子的最小值來呈現(xiàn)像素,并且,在那里,將使用表示最多數(shù)量的光子的最大值。但是,從混合中得到的像素顏色在呈現(xiàn)之前必須進(jìn)行γ修正過程,以補(bǔ)償顯示設(shè)備呈現(xiàn)顏色的方式中的非線性。γ修正本質(zhì)上補(bǔ)償顯示設(shè)備的γ值。顯示設(shè)備的γ值在各個(gè)設(shè)備之間可能會(huì)有所不同。被用來在顯示設(shè)備處呈現(xiàn)圖像的混合與γ修正過程是該
技術(shù)領(lǐng)域:
中眾所周知的呈現(xiàn)過程?;旌吓cγ修正通常通過軟件應(yīng)用程序來加以實(shí)行。但是,已認(rèn)識(shí)到,如果文本呈現(xiàn)過程將由專用硬件部件(例如,圖形處理單元(GPU))來執(zhí)行,而不需要中央處理器(CPU)的資源,則這些文本呈現(xiàn)過程的執(zhí)行速度可以快得多。但是,利用GPU來執(zhí)行混合的一個(gè)問題是現(xiàn)有的GPU未被配置成執(zhí)行γ修正。在沒有γ修正的情況下,如果經(jīng)由“ClearType”方法來過濾α值,那么,由于顯示設(shè)備的非線性(γ值),所呈現(xiàn)的文本在被顯示的文本字符的邊緣周圍將會(huì)有不需要的彩色散亂邊紋。由于背景值被存儲(chǔ)在GPU中并且只能由CPU緩慢地存取,因此,該問題被進(jìn)一步復(fù)雜化。在微軟(Microsoft)NT4操作系統(tǒng)中,在混合之后不執(zhí)行γ修正,以便節(jié)省CPU周期。作為近似值,通過在混合之前對(duì)α值本身執(zhí)行γ修正,來調(diào)整α值。但是,這個(gè)近似值是不精確的,因?yàn)樗鼪]有考慮前景顏色是黑暗的還是明亮的。通過在忽略前景顏色的同時(shí)調(diào)整α,會(huì)使一半可能的前景顏色的近似值誤差增加。相應(yīng)地,當(dāng)前,在該
技術(shù)領(lǐng)域:
中需要改進(jìn)的方法,可用于加速文本呈現(xiàn),無(wú)須使用背景顏色,無(wú)須要求γ修正,但同時(shí)利用關(guān)于前景顏色的知識(shí)。
發(fā)明內(nèi)容本發(fā)明針對(duì)用于修正對(duì)應(yīng)于字體圖示符的過濾的α值以便補(bǔ)償γ修正的缺乏的方法、系統(tǒng)和對(duì)應(yīng)的計(jì)算機(jī)程序產(chǎn)品。根據(jù)本發(fā)明的一個(gè)方面,執(zhí)行α修正包括這些動(dòng)作選擇與顯示設(shè)備的預(yù)定γ值相對(duì)應(yīng)的一組修正系數(shù);并且,計(jì)算修正的α值,可以使用這些α值來混合對(duì)應(yīng)的顯示像素的前景顏色和背景顏色,而無(wú)須進(jìn)行γ修正。由于本發(fā)明消除了對(duì)γ修正的需要,并且α修正不需要使用背景顏色,因此,呈現(xiàn)字體圖示符的過程可以主要由GPU來執(zhí)行,從而提高可行的文本呈現(xiàn)總速度。在一個(gè)實(shí)施例中,經(jīng)由公式(αcorrected=α+α(1-α)(c1αf+c2α+c3f+c1),在GPU上計(jì)算修正的α值,其中,αcorrected是修正的α,α是α,f是γ修正前景亮度,且(c1、c2、c3和c4)是一組修正系數(shù)。每個(gè)α值應(yīng)用這個(gè)公式一次。其后,當(dāng)獲得每個(gè)顯示像素的修正的α值時(shí),對(duì)這些顯示像素的前景顏色和背景顏色進(jìn)行混合,從而生成合適的像素顯示值,用于允許顯示字體圖示符,而不會(huì)有顏色散亂邊紋,也無(wú)須進(jìn)行γ修正。通過最小化α修正的誤差,可以一次計(jì)算出一組最優(yōu)修正系數(shù)(c1、c2、c3和c4),這組修正系數(shù)被用來幫助得到修正的α值。其后,可以實(shí)行混合,而無(wú)須進(jìn)行γ修正。α修正的誤差的這種最小化可以在軟件設(shè)計(jì)時(shí)加以實(shí)行,并且由約束優(yōu)化算法或其他類似的程序來執(zhí)行。下文將陳述本發(fā)明的額外的特點(diǎn)和優(yōu)點(diǎn),這些特點(diǎn)和優(yōu)點(diǎn)部分地將從該描述中顯而易見,或者可以通過本發(fā)明的實(shí)踐來加以了解。可以通過所附權(quán)利要求書中所特別指出的各種儀器和組合,來實(shí)現(xiàn)并獲得本發(fā)明的這些特點(diǎn)和優(yōu)點(diǎn)。從下文和所附權(quán)利要求書中,將會(huì)更加明白本發(fā)明的這些和其他的特點(diǎn),或者,這些和其他的特點(diǎn)可以通過下文中所陳述的本發(fā)明的實(shí)踐來加以了解。為了描述可以獲得本發(fā)明的上述和其他的優(yōu)點(diǎn)和特點(diǎn)的方式,將通過參考在附圖中有所展示的各個(gè)特殊實(shí)施例,來對(duì)以上被簡(jiǎn)述的本發(fā)明進(jìn)行更加詳細(xì)的描述。應(yīng)理解這些附圖只描繪本發(fā)明的典型實(shí)施例并且因此不應(yīng)被認(rèn)為限制本發(fā)明的范圍,這樣,將通過使用附圖來額外確切、詳細(xì)地描述和解釋本發(fā)明。在這些附圖中圖1是流程圖,展示了用于修正過濾的α值以便補(bǔ)償γ修正的缺乏的方法;圖2是優(yōu)化例行程序的流程圖,該優(yōu)化例行程序包括在計(jì)算與預(yù)定的γ值相對(duì)應(yīng)的那組修正系數(shù)的同時(shí)可以執(zhí)行的某些動(dòng)作;圖3是流程圖,展示了在計(jì)算一組最優(yōu)修正系數(shù)的過程中可能涉及的約束優(yōu)化的一個(gè)實(shí)施例;圖4展示了圖表和對(duì)應(yīng)的公式,用于根據(jù)已知的α值、前景和修正系數(shù)來計(jì)算修正的α值;以及,圖5展示了部件和元件的功能性框圖,在不包括γ修正的呈現(xiàn)過程期間,GPU可以利用這些部件和元件;以及,圖6展示了操作系統(tǒng)的一個(gè)實(shí)施例,該操作系統(tǒng)提供用于實(shí)現(xiàn)本發(fā)明的元件的合適的操作環(huán)境。具體實(shí)施例方式本發(fā)明針對(duì)用于在圖像呈現(xiàn)過程期間執(zhí)行α修正以便補(bǔ)償γ修正的缺乏的方法、系統(tǒng)和對(duì)應(yīng)的計(jì)算機(jī)程序產(chǎn)品。本發(fā)明的實(shí)施例可以包括包括各種計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),或者,利用該專用或通用的計(jì)算機(jī)來加以執(zhí)行,以下將對(duì)此進(jìn)行更加詳細(xì)的討論。特別地,可以利用圖形處理單元(GPU)來實(shí)現(xiàn)本發(fā)明的實(shí)施例。本發(fā)明的范圍以內(nèi)的實(shí)施例也包括用于攜帶或其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。這種計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S玫挠?jì)算機(jī)進(jìn)行存取的任何可用的介質(zhì)。舉例來講(不作限制),這種計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他物理存儲(chǔ)介質(zhì)(例如,光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備)、或可以用來攜帶或存儲(chǔ)采取計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼方法并且可以由通用或?qū)S玫挠?jì)算機(jī)來進(jìn)行存取的其他任何介質(zhì)。當(dāng)在網(wǎng)絡(luò)或另一個(gè)通信連接(有線、無(wú)線,或者有線或無(wú)線的組合)上將信息傳送或提供給計(jì)算機(jī)時(shí),計(jì)算機(jī)適當(dāng)?shù)貙⒋诉B接視作計(jì)算機(jī)可讀介質(zhì)。這樣,任何這類的連接都可以被適當(dāng)?shù)胤Q作“計(jì)算機(jī)可讀介質(zhì)”。以上內(nèi)容的組合也應(yīng)該被包括在計(jì)算機(jī)可讀介質(zhì)的范圍以內(nèi)。例如,計(jì)算機(jī)可執(zhí)行指令包括使通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備(例如,GPU)執(zhí)行某種功能或某組功能的指令和數(shù)據(jù)。α修正圖1展示了一種方法的流程圖100,該方法用于修正過濾的α值,以便補(bǔ)償γ修正的缺乏。在字體圖示符呈現(xiàn)過程中,為用來顯示字體圖示符的每個(gè)像素導(dǎo)出過濾的α值(也被稱作“混合系數(shù)”)。在某些實(shí)施例中,只為每個(gè)顯示像素計(jì)算單一α值。在其他實(shí)施例中,利用微軟的ClearType_技術(shù),為每個(gè)像素子分量(例如,“紅色”子分量、“綠色”子分量和“藍(lán)色”子分量)計(jì)算單獨(dú)的α值。相應(yīng)地,應(yīng)理解,本發(fā)明擴(kuò)展到各種實(shí)施例,因此,并不局限于其中只為每個(gè)顯示像素導(dǎo)出一定數(shù)量的α值的實(shí)施例。如圖1所示,一種用于修正過濾的α值以便補(bǔ)償γ修正的缺乏的方法包括各種動(dòng)作(動(dòng)作110、120、140、150和160)和一個(gè)步驟(步驟130),現(xiàn)在將特別參照?qǐng)D2-5來更加詳細(xì)地描述每個(gè)動(dòng)作和步驟。第一個(gè)所展示的動(dòng)作包括接收可以用于圖形混合過程的過濾的α值(動(dòng)作110)。在混合期間和在γ修正之前,這些過濾的α值通常用于現(xiàn)存的字體圖示符呈現(xiàn)過程中。但是,根據(jù)本發(fā)明,使用這些過濾的α值,來導(dǎo)出可用于混合顯示像素的前景顏色和背景顏色的被調(diào)整或修正的α值,利用這種方法,不需要進(jìn)行混合后γ修正。過濾的α值(可以從任何來源獲得)通常描述將被顯示的字體圖示符的形狀。所展示的這種方法也包括接收顯示像素前景顏色的動(dòng)作(動(dòng)作115)。如以下特別參照?qǐng)D2-5所描述的,通過接收顯示像素前景顏色,本發(fā)明可以根據(jù)已知的前景顏色和最優(yōu)修正系數(shù)來執(zhí)行所需的α修正。根據(jù)圖1,為一個(gè)或多個(gè)γ值中的每個(gè)γ值計(jì)算一組修正系數(shù)(動(dòng)作120)。注意,這套修正系數(shù)不需要從計(jì)算中導(dǎo)出,而是可以在可選實(shí)施例中手工調(diào)整。也可以在軟件設(shè)計(jì)時(shí)執(zhí)行動(dòng)作120,而圖1中所有其他的動(dòng)作可以在呈現(xiàn)圖像時(shí)加以執(zhí)行。在本實(shí)施例中,每個(gè)γ值與四個(gè)修正系數(shù)(包括c1、c2、c3和c4)關(guān)聯(lián)??梢詾棣弥档娜魏嗡x擇的范圍計(jì)算這些修正系數(shù)。將被用來呈現(xiàn)字體圖示符的顯示設(shè)備的γ值最好被包括在內(nèi),作為所選擇的那組γ值中的一個(gè)。在一個(gè)實(shí)施例中,所選擇的那組γ值包括范圍在1.0與2.2之間、步長(zhǎng)為0.1的γ值,盡管這個(gè)范圍可能會(huì)發(fā)生變化。根據(jù)一個(gè)實(shí)施例,通過在軟件設(shè)計(jì)時(shí)執(zhí)行圖2中的流程圖200所展示的各個(gè)動(dòng)作,來實(shí)現(xiàn)計(jì)算與各種γ值相對(duì)應(yīng)的那組修正系數(shù)的動(dòng)作。第一個(gè)所展示的動(dòng)作包括將γ設(shè)置為所選擇的γ值范圍內(nèi)的最低的γ值(例如,根據(jù)以上所提供的范圍,是1.0)(動(dòng)作210)。接下來,使用該γ值來執(zhí)行約束優(yōu)化(動(dòng)作220),以確定與該γ值相對(duì)應(yīng)的那組最優(yōu)修正系數(shù)。根據(jù)一個(gè)實(shí)施例,通過將約束優(yōu)化例行程序與圖3中的流程圖300所展示的各個(gè)動(dòng)作進(jìn)行組合,來實(shí)現(xiàn)這一點(diǎn)。圖3中的流程圖300包括多個(gè)動(dòng)作,可以執(zhí)行這些動(dòng)作,以便最小化所混合的前景顏色和背景顏色的真實(shí)輸出與修正的輸出之間的計(jì)算誤差。特別是,通過使用α、前景、背景和修正系數(shù)c1、c2、c3和c4的各種預(yù)定的值,來計(jì)算亮度的真實(shí)輸出與修正的輸出之間的差。這樣做可以幫助約束優(yōu)化例行程序確定與預(yù)定的γ值(例如,顯示設(shè)備的γ值)有關(guān)聯(lián)的最優(yōu)修正系數(shù)。最初,將前景、背景和α值設(shè)置為零(動(dòng)作310-316)。接下來,使用滿足一組預(yù)定約束的第一組修正系數(shù),來計(jì)算修正的α(動(dòng)作320)。根據(jù)一個(gè)實(shí)施例,從公式(αcorrected=α+α(1-α)(c1αf+c2α+c3f+c4))中導(dǎo)出修正的α,其中,αcorrected是修正的α,α是α,f是γ修正前景亮度。修正的α公式被示作功能性圖表400,并且在圖4中采取其基本形式410。在一個(gè)實(shí)施例中,在此約束優(yōu)化(動(dòng)作220)期間所利用的那組預(yù)定的約束包括(c4≥-1);(c3+c4≥-1);(c1+c2+c3+c4≤1);(c4≥-4);(c3+c4≥-4)。選擇這些約束,以確保圖4中的修正是單調(diào)的,并且不會(huì)產(chǎn)生以外的值。但是,這套約束只說明一組合適的約束,這套合適的約束可以被加以利用,因此不應(yīng)該被解釋為限制本發(fā)明的范圍。在約束優(yōu)化期間,將在約束范圍內(nèi)遞增地調(diào)整修正系數(shù)的值,以計(jì)算每個(gè)可能的值f、α和B(背景)的真實(shí)輸出與修正的輸出之間的誤差,在大約0.02的遞增步長(zhǎng)中,f、α和B的范圍在大約0與大約1之間。通常通過使用來自動(dòng)作320的修正的α值,來計(jì)算所計(jì)算的輸出。特別是,所計(jì)算的輸出包括γ修正前景f=F(1/γ)和γ修正背景b=B(1/γ)的混合值,其中,f是γ修正前景,F(xiàn)是預(yù)定的前景值,γ是γ值,b是γ修正背景,B是預(yù)定的背景值。根據(jù)動(dòng)作330來計(jì)算修正的輸出。也通過將預(yù)定前景(F)和具有α(α)的預(yù)定背景(B)進(jìn)行混合,來計(jì)算真實(shí)輸出(動(dòng)作340)。其后,修正的輸出與真實(shí)輸出之間的平方差進(jìn)行自乘(動(dòng)作342),并乘以重要性權(quán)數(shù)(346)。最后,將權(quán)數(shù)的平方差加入誤差值(動(dòng)作346)。然后,如動(dòng)作(348、350、352、354、356和358)所確定的,重復(fù)這些動(dòng)作,直到已使用F、B和α的所有的值來計(jì)算誤差為止。然后,利用c1、c2、c3和c4的各種組合來反復(fù)重新計(jì)算該誤差,直到為F、B和α的每個(gè)組合處的預(yù)定γ值確定最小的誤差為止。然后,將該誤差返回到圖3所示的優(yōu)化例行程序(動(dòng)作360)。圖3中所展示的動(dòng)作包括一種用于計(jì)算適合約束優(yōu)化的費(fèi)用函數(shù)的合適的方法。約束優(yōu)化例行程序需要利用這類費(fèi)用函數(shù)來找到最小的誤差。一種合適的約束優(yōu)化例行程序是Matlab的fmincon函數(shù),它實(shí)現(xiàn)“連續(xù)二次規(guī)劃”。Matlab的fmincon函數(shù)和“連續(xù)二次規(guī)劃”在該
技術(shù)領(lǐng)域:
中眾所周知。但是,應(yīng)理解,前述例子只是起說明性的作用,所以,不應(yīng)該被解釋為限制本發(fā)明的范圍。特別是,也可以使用其他技術(shù)和算法來獲得在預(yù)定的一組約束以內(nèi)并對(duì)應(yīng)于預(yù)定的那套γ值的最優(yōu)修正系數(shù)。例如,如果在γ修正的空間(與線性空間相對(duì))中計(jì)算誤差,那么,圖3中所計(jì)算的費(fèi)用函數(shù)是修正系數(shù)c1、c2、c3、c4中的二次方程式。所以,可以用分析方法(解釋線性系統(tǒng))來執(zhí)行優(yōu)化,并且,優(yōu)化不需要約束優(yōu)化例行程序。如圖2所示,然后,從約束優(yōu)化中獲得的最優(yōu)修正系數(shù)c1、c2、c3、c4與曾被用來獲得最優(yōu)系數(shù)c1、c2、c3、c4的γ值關(guān)聯(lián)(動(dòng)作230)。例如,在表格或其他數(shù)據(jù)結(jié)構(gòu)中,可以在最優(yōu)修正系數(shù)與對(duì)應(yīng)的γ值之間進(jìn)行關(guān)聯(lián)。曾被用來獲得最小誤差的值F、B和α也可以與這些最優(yōu)系數(shù)有關(guān)聯(lián),供以后參考。如動(dòng)作240和250所示,反復(fù)執(zhí)行優(yōu)化例行程序200,直到已為預(yù)定的γ值范圍內(nèi)的每個(gè)γ值確定最優(yōu)修正系數(shù)為止。將最優(yōu)系數(shù)和γ值關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)可以被存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中,(例如)作為軟件包的一部分。當(dāng)需要對(duì)圖像進(jìn)行光柵化時(shí),將修正系數(shù)提交給GPU,在字體圖示符呈現(xiàn)過程中使用。在一個(gè)實(shí)施例中,關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)被直接存儲(chǔ)在GPU中。在另一個(gè)實(shí)施例中,關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)初步在被存儲(chǔ)在GPU中之前跟前景顏色值和/或一些約束組合,以便配合特殊的硬件要求。在圖像呈現(xiàn)期間,使用關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu),對(duì)GPU所接收的過濾的α值執(zhí)行α修正(步驟130)。應(yīng)理解,步驟130可以包括用于執(zhí)行α修正的任何數(shù)量的對(duì)應(yīng)的動(dòng)作。在一個(gè)實(shí)施例中,執(zhí)行α修正的步驟(步驟130)包括選擇與顯示器的預(yù)定γ值相對(duì)應(yīng)的那組修正系數(shù)(動(dòng)作140)的各個(gè)對(duì)應(yīng)的動(dòng)作。例如,通過使用以上所描述的關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)并選擇已與顯示器的γ值有關(guān)聯(lián)的修正系數(shù),可以實(shí)現(xiàn)這一點(diǎn)。根據(jù)一個(gè)首選實(shí)施例,在顯示呈現(xiàn)時(shí)執(zhí)行選擇或接收修正系數(shù)的動(dòng)作(動(dòng)作140),而在設(shè)計(jì)時(shí)執(zhí)行計(jì)算那組所選擇的修正系數(shù)的動(dòng)作(動(dòng)作120)。接下來,使用修正系數(shù)和前景顏色來計(jì)算修正的α值,這些修正的α值將被用來混合顯示像素的前景和背景(動(dòng)作150)。在一個(gè)實(shí)施例中,通過使用以上根據(jù)圖4所展示和描述的公式410,來實(shí)現(xiàn)這一點(diǎn)。特別是,αcorrected=α+α(1-α)(c1α+c2α+c3f+c4),其中的c1、c2、c3和c4包括修正系數(shù),其中的f是顯示像素的已知前景顏色,其中的α是顯示像素的已知α值。如上所述,對(duì)于每個(gè)顯示像素而言,可以計(jì)算修正的α值任何次數(shù)。舉例來講(不作限制),可以為顯示像素的每個(gè)像素子分量計(jì)算修正的α。特別是,包括“紅色”像素子分量、“綠色”像素子分量和“藍(lán)色”像素子分量的顯示像素可以包括三個(gè)過濾的α值,使用這三個(gè)過濾的α值來計(jì)算三個(gè)修正的α值。應(yīng)理解,對(duì)于利用MicrosoftClearType_呈現(xiàn)技術(shù)來呈現(xiàn)字體圖示符而言,這一點(diǎn)會(huì)特別有用。一旦計(jì)算出修正的α值(動(dòng)作150),就可以使用它們來執(zhí)行圖形混合過程(動(dòng)作160),以便將對(duì)應(yīng)的顯示像素的前景顏色和背景顏色混合起來。根據(jù)一個(gè)實(shí)施例,在GPU內(nèi)執(zhí)行兩個(gè)步驟,即,執(zhí)行α修正的步驟和執(zhí)行混合操作(動(dòng)作160)的步驟(步驟130),這有助于提高可行的字體圖示符呈現(xiàn)速率。圖5展示了以上所描述的呈現(xiàn)過程的一項(xiàng)實(shí)施。但是,應(yīng)理解,前述實(shí)施只是起說明性的作用,所以不應(yīng)該被解釋為限制本發(fā)明的范圍。精通計(jì)算機(jī)編程實(shí)踐
技術(shù)領(lǐng)域:
的人可以仿造前述的各個(gè)例子。圖5中所示的實(shí)施例展示可以在現(xiàn)存的硬件的基礎(chǔ)上實(shí)行本發(fā)明的呈現(xiàn)過程,并可以并行地計(jì)算多個(gè)顏色通道。本實(shí)施例可以利用基于微軟的DirectX_程序包的程序模塊來執(zhí)行本發(fā)明,該DirectX_程序包提供各種硬件類型的統(tǒng)一應(yīng)用程序接口(API)。根據(jù)一個(gè)實(shí)施例,就本項(xiàng)實(shí)施假定硬件支持像素著色器版本1.1和混合因素機(jī)制(這里和以下使用MicrosoftDirectX_術(shù)語(yǔ))而言,它并不是完全獨(dú)立于設(shè)備的。在圖5中,圖表500表示硬件塊與軟件塊之間的數(shù)據(jù)流。輸入數(shù)據(jù)被顯示為“γ級(jí)別”(512)塊、“前景顏色”(514)塊和“α質(zhì)地”(520)塊。γ級(jí)別是反映顯示設(shè)備的物理顯示特征的數(shù)字。使用該γ級(jí)別,從預(yù)先計(jì)算的表格或其他關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)中選擇適當(dāng)?shù)男拚禂?shù)c1、c2、c3和c4。在“多項(xiàng)式系數(shù)計(jì)算器”510處選擇修正系數(shù)。該多項(xiàng)式系數(shù)計(jì)算器也獲得前景顏色,計(jì)算對(duì)應(yīng)的比值,并將它們存入像素著色器(540)的恒定寄存器。將要顯示的形狀(文本片段)準(zhǔn)備成被示作“α質(zhì)地”塊520的二維陣列的α值。對(duì)每個(gè)像素而言,使用所提供的“取樣器1”(530)、“取樣器2”(532)和“取樣器3”(534)這三個(gè)取樣器,從α質(zhì)地中三次取出這些α值。這些取樣器為像素著色器540提供紅色子分量、綠色子分量和藍(lán)色子分量的α值。像素著色器540為紅色子分量、綠色子分量和藍(lán)色子分量執(zhí)行非線性計(jì)算并生成修正的α值的矢量,將這些顏色子分量提供給輸出光柵器550。輸出光柵器550通過使用從像素著色器540獲得的α值,來提供背景顏色(從呈現(xiàn)靶面560中取得)與前景顏色(作為一個(gè)混合因素)之間的線性混合。所產(chǎn)生的顏色值被存儲(chǔ)在呈現(xiàn)靶面560處。像素著色器540處理浮點(diǎn)值的四維矢量。使用后綴.a、.r、.g和.b來引用矢量分量,這些后綴與α分量、紅色分量、綠色分量和藍(lán)色分量相對(duì)應(yīng)。能夠保存這些矢量的實(shí)體被稱作“寄存器”(未示出)。像素著色器540運(yùn)用輸入寄存器(tn,即t0、t1、t2等)、恒定寄存器(cn)和臨時(shí)寄存器(rn),來執(zhí)行以上所描述的α修正。在以下所提供的例子中,臨時(shí)寄存器r0用作輸出寄存器。根據(jù)本實(shí)施例,像素著色器540是可調(diào)整的硬件塊,它利用用專用匯編語(yǔ)言或其他合適的編程語(yǔ)言所寫的計(jì)算機(jī)可執(zhí)行指令來加以控制,以執(zhí)行本發(fā)明的某些動(dòng)作。以下的例子是像素著色器程序的一個(gè)實(shí)施例,該像素著色器程序包括用于執(zhí)行每分量線性立方α修正的計(jì)算機(jī)可執(zhí)行指令。限據(jù)本實(shí)施例,為每個(gè)像素執(zhí)行這個(gè)程序。如上所述,以下的程序接受最好預(yù)先準(zhǔn)備好的恒定寄存器c0..c5中的多項(xiàng)式系數(shù)。當(dāng)改變?chǔ)眉?jí)別或前景顏色時(shí),對(duì)這些多項(xiàng)式系數(shù)進(jìn)行計(jì)算。以下針對(duì)像素著色器程序,來解釋每個(gè)恒定寄存器的含義。<prelisting-type="program-listing">ps.1.1//declarepixelshaderversion<!--SIPO<DPn="8">--><dpn="d8"/> //fetchalphavaluesfromsamplerstoinputregisterst0,t1andt2 text0//fetchredalpha text1//fetchgreenalpha text2//fetchbluealpha //combinethealphavaluesintosinglevector, //alongthewaymultiplyingthesevaluesby //alphavalueofforegroundcolor.Thisrequires //constantregistersc0..c2tobepreparedfollowingway //c0.rgba=f.a,0,0,0 //c1.rgba=0,f.a,0,0 //c2.rgba=0,0,f.a,0 //wheref.aisforegroundalpha. madr0,t0.a,c0,c0.a//setred(c0.areplicates0) madr0,t1.a,c1,r0//setgreen madr0,t2.a,c2,r0//setblue //Nowr0containsthealphavector,referredbelowas″x″. //Calculatetheformular0=x+x*(1-x)*(A*x+B), //wherevectorsAandBarepreparedinconstant //registersc3andc4respectively.Duetotypicalhardware //limitation(anyvalueincnshouldbein{-1,1}diapason) //theregistersreallycontaindecreasedvaluesc3=A/4andc4=B/4. madr1,c3,r0,c4//r1=(A/4)*x+(B/4) mul_x4r1,r1,1-r0//r1=(1-x)*(A*x+B) madr0,r0,r1,r0//r0=x+x*(1-x)*(A*x+B) //endofpixelshaderprogram.</pre>以下的例子包括用于在多項(xiàng)式系數(shù)計(jì)算器520處實(shí)現(xiàn)過程的C++語(yǔ)言計(jì)算機(jī)可執(zhí)行指令。<prelisting-type="program-listing">#include<d3d9.h> //Thedefinitionofthestructureusedtokeepcubic-linear //gammacorrectiontable. structGammaTableRow{floatc1,floatc2,floatc3,floatc4}; //SeparateinstanceofGammaTableRowneededforeachparticulargammalevel; //itdefinesfollowingnon-lineartransformation //alpha_corrected= //alpha+alpha*(1-alpha)*(c1*alpha*f+c2*alpha+c3*f+c4), //wherefisforegroundcolorcomponent. //Thedefinitionofthe4-dimensionalvectorstructurestructVector4d{floatr,floatg,floatb,floata;}; HRESULTPolynomialRatiosCalculator( constGammaTable*pTable, intgammaLevel, constVector4f&amp;f,//forecolor IDirect3DDeviceg*pD3DDevice )<!--SIPO<DPn="10">--><dpn="d10"/> //fetchthecoefficientsrowforgivengammalevelconstGammaTableRow&amp;coefs=pTable[gammaLevel]; //declarethearrayofconstantregistersvaluesVector4dc[5]; //calculatethevaluesofconstantregistersc0..c2 c.r=f.a;c.g=0;c.b=0;c.a=0; c[1].r=0;c[1].g=f.a;c[1].b=0;c[1].a=0; c[2].r=0;c[2].g=0;c[2].b=f.a;c[2].a=0; //calculatevaluesAandB(seecommentstopixelshaderprogram) //inconstantregistersc3andc4 c[3].r=(coefs.c1*f.r+coefs.c2)/4; c[3].g=(coefs.c1*f.g+coefs.c2)/4; c[3].b=(coefs.c1*f.b+coefs.c2)/4; c[3].a=0; c[4].r=(coefs.c3*f.r+coefs.c4)/4; c[4].g=(coefs.c3*f.g+coefs.c4)/4; c[4].b=(coefs.c3*f.b+coefs.c4)/4; c[4].a=0; //nowsubmitprepareddatatopixelshaderconstantregistersHRESULThr=pD3DDevice->SetPixelShaderConstantF(0,c,5);returnhr;</pre>應(yīng)理解,前述例子不包括關(guān)于在呈現(xiàn)期間可能被執(zhí)行的其他操作的描述。特別是,前文沒有描述質(zhì)地準(zhǔn)備、輸出光柵器調(diào)整、關(guān)于頂點(diǎn)緩沖器的操作以及在呈現(xiàn)期間可以被執(zhí)行的其他動(dòng)作。沒有描述這些操作,這是因?yàn)樗鼈兪且陨纤岬降腗icrosoftDirectX_的使用過程中的標(biāo)準(zhǔn)操作。相應(yīng)地,應(yīng)理解,本發(fā)明的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品也可以包括其他呈現(xiàn)操作,這些呈現(xiàn)操作包括(但不局限于)質(zhì)地準(zhǔn)備、輸出光柵器調(diào)整和頂點(diǎn)緩沖器操作??傊景l(fā)明在GPU處提供α修正,以補(bǔ)償γ修正的缺乏。應(yīng)理解,這可以大大提高呈現(xiàn)字體圖示符和其他圖像的總速度。雖然為以上所描述的許多例子提供對(duì)呈現(xiàn)字體圖示符的特殊參考,但是,應(yīng)理解,本發(fā)明也擴(kuò)展到呈現(xiàn)除字體圖示符以外的其他圖像。相應(yīng)地,本發(fā)明通過執(zhí)行α修正以便補(bǔ)償γ修正的缺乏,可以廣泛地?cái)U(kuò)展到無(wú)須γ修正并用所需的方式來呈現(xiàn)任何圖像。操作環(huán)境圖6和下文意在簡(jiǎn)要、概括地描述一種用于執(zhí)行本發(fā)明的某些元件的合適的計(jì)算環(huán)境。但是,應(yīng)該強(qiáng)調(diào)的是本發(fā)明并不一定局限于任何特定的計(jì)算機(jī)化系統(tǒng),并可以在廣闊的計(jì)算機(jī)化系統(tǒng)范圍內(nèi)加以實(shí)踐。根據(jù)一個(gè)實(shí)施例,本發(fā)明包括存儲(chǔ)可以由計(jì)算設(shè)備來執(zhí)行的計(jì)算機(jī)可執(zhí)行指令(例如,程序模塊)的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)嵤┨厥獾某橄髷?shù)據(jù)類型的例行程序、程序、對(duì)象、部件、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)可執(zhí)行指令、關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)和程序模塊表示用于執(zhí)行這里所揭示的各種方法的步驟的程序代碼方法的例子。這類可執(zhí)行指令或關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)的特定序列表示用于執(zhí)行這些步驟中所描述的各項(xiàng)功能的對(duì)應(yīng)的動(dòng)作的例子。精通該
技術(shù)領(lǐng)域:
的人應(yīng)理解,除單獨(dú)的計(jì)算設(shè)備以外,還可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境(包括個(gè)人計(jì)算機(jī)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、它們的部件和類似的環(huán)境)中實(shí)踐本發(fā)明。本發(fā)明也可以在分布式計(jì)算環(huán)境中加以實(shí)踐,在這些分布式計(jì)算環(huán)境中,由本地處理設(shè)備和遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù),這些本地處理設(shè)備和遠(yuǎn)程處理設(shè)備通過通信網(wǎng)絡(luò)被連接起來(要么通過硬連線鏈路、無(wú)線鏈路,要么通過硬連線鏈路或無(wú)線鏈路的組合)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地記憶存儲(chǔ)器設(shè)備和遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。特別參照?qǐng)D6,用于執(zhí)行本發(fā)明的某些元件的示范系統(tǒng)包括采用常規(guī)計(jì)算機(jī)620形式的通用計(jì)算系統(tǒng)(包括處理單元621、包含計(jì)算機(jī)可讀介質(zhì)的系統(tǒng)存儲(chǔ)器622,以及將包括系統(tǒng)存儲(chǔ)器622的各種系統(tǒng)部件耦合到處理單元621的系統(tǒng)總線623)。系統(tǒng)總線623可以是幾種類型的總線結(jié)構(gòu)(包括存儲(chǔ)總線或存儲(chǔ)控制器、外圍總線和使用各種總線構(gòu)造中的任何總線構(gòu)造的局域總線)中的任何總線結(jié)構(gòu)。該系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)624和隨機(jī)存取存儲(chǔ)器(RAM)625?;据斎?輸出系統(tǒng)(BIOS)626可以被存儲(chǔ)在ROM624中,該基本輸入/輸出系統(tǒng)包含有助于在計(jì)算機(jī)620內(nèi)的各個(gè)元件之間傳送信息(例如,在啟動(dòng)期間)的基本例行程序。計(jì)算機(jī)620也可以包括用于從磁性硬盤639讀取并對(duì)其寫入的磁性硬盤驅(qū)動(dòng)器627、用于從可移動(dòng)磁盤629讀取或?qū)ζ鋵懭氲拇疟P驅(qū)動(dòng)器628,以及用于從可移動(dòng)光盤631(例如,CD-ROM或其他光學(xué)介質(zhì))讀取或?qū)ζ鋵懭氲墓獗P驅(qū)動(dòng)器630。磁性硬盤驅(qū)動(dòng)器627、磁盤驅(qū)動(dòng)器628和光盤驅(qū)動(dòng)器630分別通過硬盤驅(qū)動(dòng)器接口632、磁盤驅(qū)動(dòng)器接口633和光驅(qū)接口634被連接到系統(tǒng)總線623。這些驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)620提供計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的非易失存儲(chǔ)。如上所述,也可以使用這些存儲(chǔ)介質(zhì)來存儲(chǔ)使修正系數(shù)和γ值相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。雖然這里所描述的示范環(huán)境使用磁性硬盤639、可移動(dòng)磁盤629和可移動(dòng)光盤631,但是,也可以使用用于存儲(chǔ)數(shù)據(jù)的其他類型的計(jì)算機(jī)可讀介質(zhì)(包括盒式磁帶、快閃存儲(chǔ)卡、數(shù)字通用盤、伯努里式磁帶匣、RAM、ROM和類似的介質(zhì))。包括一個(gè)或多個(gè)程序模塊的程序代碼方法可以被存儲(chǔ)在硬盤639、磁盤629、光盤631、ROM624或RAM625上,包括操作系統(tǒng)635、一個(gè)或多個(gè)應(yīng)用程序636、其他程序模塊637和程序數(shù)據(jù)638。用戶可以通過鍵盤640、定點(diǎn)設(shè)備642或其他輸入設(shè)備(未示出)(例如,話筒、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀或類似的輸入設(shè)備),將命令和信息輸入計(jì)算機(jī)620。這些和其他的輸入設(shè)備經(jīng)常通過被耦合到系統(tǒng)總線623的串行端口接口646而被連接到處理單元621。作為選擇,這些輸入設(shè)備可以由其他接口(例如,并行端口、游戲端口或通用串行總線(USB))來加以連接。監(jiān)視器647或另一個(gè)顯示設(shè)備也經(jīng)由諸如視頻適配器648的接口被連接到系統(tǒng)總線623。在此上下文中,如上所述,視頻適配器648被認(rèn)為包括GPU。除該監(jiān)視器以外,個(gè)人計(jì)算機(jī)通常還包括其他外圍輸出設(shè)備(未示出)(例如,揚(yáng)聲器和打印機(jī))。計(jì)算機(jī)620可以在使用與一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)(例如,遠(yuǎn)程計(jì)算機(jī)649a和649b)的邏輯連接的聯(lián)網(wǎng)環(huán)境中進(jìn)行操作。遠(yuǎn)程計(jì)算機(jī)649a和649b都可以是另一臺(tái)個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他普通的網(wǎng)絡(luò)節(jié)點(diǎn),它們通常包括以上相對(duì)于計(jì)算機(jī)620所描述的許多或全部元件,盡管圖6中只展示了記憶存儲(chǔ)設(shè)備650a和650b及其關(guān)聯(lián)的應(yīng)用程序636a和636b。圖6中所描繪的邏輯連接包括局域網(wǎng)(LAN)651和廣域網(wǎng)(WAN)652,局域網(wǎng)651和廣域網(wǎng)652在這里被舉例示出,而不作限制。這類聯(lián)網(wǎng)環(huán)境在辦公室范圍或企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很普遍。當(dāng)用于LAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)620通過網(wǎng)絡(luò)接口或適配器653被連接到局域網(wǎng)651。當(dāng)用于WAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)20可以包括調(diào)制解調(diào)器654、無(wú)線鏈路或用于在廣域網(wǎng)652(例如,因特網(wǎng))上建立通信的其他裝置。調(diào)制解調(diào)器654(可能是內(nèi)置的,也可能是外置的)經(jīng)由串行端口接口646被連接到系統(tǒng)總線623。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)620所描繪的程序模塊或其各個(gè)部分可以被存儲(chǔ)在遠(yuǎn)程記憶存儲(chǔ)設(shè)備中。應(yīng)理解,所示的各種網(wǎng)絡(luò)連接起示范的作用,可以使用在廣域網(wǎng)652上建立通信的其他方法。應(yīng)理解,在不脫離本發(fā)明的精神或本質(zhì)特征的前提下,本發(fā)明也可以在其他特殊的形式中得到具體表現(xiàn)。無(wú)論從哪方面來看,所描述的各個(gè)實(shí)施例都將被認(rèn)為只起說明性的作用,而沒有限制的作用。所以,本發(fā)明的范圍由所附權(quán)利要求書(而不是由前文)來指明。權(quán)利要求書的相等物的含義和范圍之內(nèi)的所有變化都將被包含在該權(quán)利要求書的范圍以內(nèi)。權(quán)利要求1.在一種與顯示設(shè)備連接的計(jì)算系統(tǒng)中,該顯示設(shè)備具有被配置成顯示圖像的多個(gè)像素,該計(jì)算系統(tǒng)包括一個(gè)圖形處理單元,該圖形處理單元被配置成利用α值來執(zhí)行混合過程,以控制顯示圖像的像素的前景顏色和背景顏色,一種方法用于修正由該圖形處理單元接收的α值,以便允許在該顯示設(shè)備處顯示圖像,并且無(wú)須進(jìn)行γ修正,該方法的特征在于包括為一個(gè)或多個(gè)預(yù)定的γ值接收一組修正系數(shù)的動(dòng)作,這些預(yù)定的γ值中的至少一個(gè)包括該顯示設(shè)備的γ值;接收過濾的α值的動(dòng)作,該圖形處理單元可以使用這些過濾的α值來執(zhí)行圖形混合過程,以確定在該顯示設(shè)備處顯示圖像的像素的前景顏色和背景顏色;接收這些像素的一種或多種前景顏色的動(dòng)作;用于對(duì)過濾的α值執(zhí)行α修正以便獲得修正的α值的步驟,所述α修正利用修正系數(shù)和這些前景顏色;以及,一個(gè)動(dòng)作利用修正的α值來執(zhí)行圖形混合過程,作用于這些像素的前景顏色和背景顏色,以確定被用來在該顯示設(shè)備處顯示圖像的像素值。2.如權(quán)利要求1所述的方法,其特征在于;其中,用于執(zhí)行α修正的步驟包括選擇與顯示設(shè)備的γ值相對(duì)應(yīng)的那組修正系數(shù)的動(dòng)作;以及,利用過濾的α值、前景顏色和所選擇的那組修正系數(shù)來計(jì)算修正的α值的動(dòng)作。3.如權(quán)利要求1所述的方法,其特征在于還包括無(wú)須進(jìn)行γ修正而在顯示設(shè)備處顯示圖像的動(dòng)作。4.如權(quán)利要求1所述的方法,其特征在于其中,過濾的α值包括每個(gè)像素的一組三個(gè)過濾的α值,該像素被用來在顯示設(shè)備處顯示圖像。5.如權(quán)利要求4所述的方法,其特征在于其中,修正的α值包括與每個(gè)過濾的α值相對(duì)應(yīng)的一組三個(gè)修正的α值,這些修正的α值從過濾的α值中被導(dǎo)出。6.如權(quán)利要求1所述的方法,其特征在于還包括一個(gè)動(dòng)作通過為一個(gè)或多個(gè)γ值中的每個(gè)γ值執(zhí)行優(yōu)化,來為這一個(gè)或多個(gè)γ值中的每個(gè)γ值計(jì)算那組修正系數(shù);所述優(yōu)化最小化α修正的誤差。7.如權(quán)利要求6所述的方法,其特征在于其中,這一個(gè)或多個(gè)γ值包括范圍從約1.0到約2.2、增量為0.1的γ值。8.如權(quán)利要求6所述的方法,其特征在于其中,所述優(yōu)化由一組約束來加以限制,選擇的所述那組約束用于確保修正的α值在0與1之間的范圍內(nèi)。9.如權(quán)利要求1所述的方法,其特征在于其中,這一個(gè)或多個(gè)γ值中的每個(gè)γ值的那組修正系數(shù)包括第一個(gè)修正系數(shù)、第二個(gè)修正系數(shù)、第三個(gè)修正系數(shù)和第四個(gè)修正系數(shù);其中,執(zhí)行α修正的動(dòng)作包括計(jì)算α修正值;其中,每個(gè)α修正值采取(α修正值)=(α+α(1-α)(c1αf+c2α+c3f+c4))的形式,其中,α是對(duì)應(yīng)的過濾的α值,f是與該α值相對(duì)應(yīng)的像素的前景,其中的c1是第一個(gè)修正系數(shù),其中的c2是第二個(gè)修正系數(shù),其中的c3是第三個(gè)修正系數(shù),其中的c4是第四個(gè)修正系數(shù)。10.在一種與顯示設(shè)備連接的計(jì)算系統(tǒng)中,該顯示設(shè)備具有被配置成顯示圖像的多個(gè)像素,該計(jì)算系統(tǒng)包括一個(gè)圖形處理單元,該圖形處理單元被配置成利用α值來執(zhí)行混合過程,以控制顯示圖像的像素的前景顏色和背景顏色,一種方法用于修正由該圖形處理單元接收的α值,以便允許在該顯示設(shè)備處顯示圖像,并且無(wú)須進(jìn)行γ修正,該方法的特征在于包括為一個(gè)或多個(gè)預(yù)定的γ值接收一組修正系數(shù)的動(dòng)作,這些預(yù)定的γ值中的至少一個(gè)γ值包括該顯示設(shè)備的γ值;接收過濾的α值的動(dòng)作,該圖形處理單元可以將這些過濾的α值用于圖形混合過程,以確定在該顯示設(shè)備處顯示圖像的像素的前景顏色和背景顏色;接收一種或多種前景顏色的動(dòng)作;選擇與該顯示設(shè)備的γ值相對(duì)應(yīng)的那組修正系數(shù)的動(dòng)作;利用過濾的α值、前景顏色和所選擇的那組修正系數(shù)來計(jì)算修正的α值的動(dòng)作;以及,一個(gè)動(dòng)作利用修正的α值來執(zhí)行圖形混合過程,作用于這些像素的前景顏色和背景顏色,以確定被用來在該顯示設(shè)備處顯示圖像的像素值。11.如權(quán)利要求10所述的方法,其特征在于還包括無(wú)須進(jìn)行γ修正而在顯示設(shè)備處顯示圖像的動(dòng)作。12.如權(quán)利要求10所述的方法,其特征在于其中,過濾的α值包括每個(gè)像素的一組三個(gè)過濾的α值,該像素被用來在顯示設(shè)備處顯示圖像。13.如權(quán)利要求12所述的方法,其特征在于其中,修正的α值包括與顯示圖像的每個(gè)像素相對(duì)應(yīng)的一組三個(gè)修正的α值,這些修正的α值從過濾的α值中被導(dǎo)出。14.如權(quán)利要求10所述的方法,其特征在于其中,為這一個(gè)或多個(gè)γ值計(jì)算那組修正系數(shù)的動(dòng)作包括為這一個(gè)或多個(gè)γ值中的每個(gè)γ值執(zhí)行優(yōu)化。15.如權(quán)利要求14所述的方法,其特征在于其中,這一個(gè)或多個(gè)γ值包括范圍從約1.0到約2.2、增量為0.1的γ值。16.如權(quán)利要求14所述的方法,其特征在于其中,所述優(yōu)化由一組約束來加以限制,選擇的所述那組約束用于確保修正的α值在0與1之間的范圍內(nèi)。17.如權(quán)利要求10所述的方法,其特征在于其中,這一個(gè)或多個(gè)γ值中的每個(gè)γ值的那組修正系數(shù)包括第一個(gè)修正系數(shù)、第二個(gè)修正系數(shù)、第三個(gè)修正系數(shù)和第四個(gè)修正系數(shù);其中,執(zhí)行α修正的動(dòng)作包括計(jì)算α修正值;其中,每個(gè)α修正值采取(α修正值)=(α+α(1-α)(c1αf+c2α+c3f+c4))的形式,其中,α是對(duì)應(yīng)的過濾的α值,f是與該α值相對(duì)應(yīng)的像素的前景,其中的c1是第一個(gè)修正系數(shù),其中的c2是第二個(gè)修正系數(shù),其中的c3是第三個(gè)修正系數(shù),其中的c4是第四個(gè)修正系數(shù)。18.一種用于計(jì)算系統(tǒng)中的計(jì)算機(jī)程序產(chǎn)品,該計(jì)算系統(tǒng)與顯示設(shè)備連接,該顯示設(shè)備具有被配置成顯示圖像的多個(gè)像素,該計(jì)算系統(tǒng)包括一個(gè)圖形處理單元,該圖形處理單元被配置成利用α值來執(zhí)行混合過程,以控制顯示圖像的像素的前景顏色和背景顏色,該計(jì)算機(jī)程序產(chǎn)品包括一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),這些計(jì)算機(jī)可讀介質(zhì)具有用于執(zhí)行一種方法的計(jì)算機(jī)可執(zhí)行指令,該方法用于修正由該圖形處理單元接收的α值,以便允許在該顯示設(shè)備處顯示圖像,并且無(wú)須進(jìn)行γ修正,該方法的特征在于包括為一個(gè)或多個(gè)預(yù)定的γ值接收一組修正系數(shù)的動(dòng)作,這些預(yù)定的γ值中的至少一個(gè)γ值包括該顯示設(shè)備的γ值;接收一個(gè)或多個(gè)過濾的α值的動(dòng)作,該圖形處理單元可以將這些過濾的α值用于圖形混合過程,以確定在該顯示設(shè)備處顯示圖像的像素的前景顏色和背景顏色;接收一種或多種前景顏色的動(dòng)作;選擇與該顯示設(shè)備的γ值相對(duì)應(yīng)的那組修正系數(shù)的動(dòng)作;利用過濾的α值和所選擇的那組修正系數(shù)來計(jì)算修正的α值的動(dòng)作,所述的計(jì)算動(dòng)作利用這些修正系數(shù)和前景顏色;以及,一個(gè)動(dòng)作利用修正的α值來執(zhí)行圖形混合過程,作用于這些像素的前景顏色和背景顏色,以確定被用來在該顯示設(shè)備處顯示圖像的像素值。19.如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,這一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)包括物理存儲(chǔ)介質(zhì)。20.如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于還包括無(wú)須進(jìn)行γ修正而在顯示設(shè)備處顯示圖像的動(dòng)作。21.如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,過濾的α值包括每個(gè)像素的一組三個(gè)過濾的α值,該像素被用來在顯示設(shè)備處顯示圖像。22.如權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,修正的α值包括與顯示圖像的每個(gè)像素相對(duì)應(yīng)的一組三個(gè)修正的α值,這些修正的α值從過濾的α值中被導(dǎo)出。23.如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于還包括一個(gè)動(dòng)作通過為這一個(gè)或多個(gè)γ值中的每個(gè)γ值執(zhí)行優(yōu)化,來為這一個(gè)或多個(gè)γ值中的每個(gè)γ值計(jì)算那組修正系數(shù);所述優(yōu)化最優(yōu)化α修正的誤差。24.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,這一個(gè)或多個(gè)γ值包括范圍從約1.0到約2.2、增量為0.1的γ值。25.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,所述優(yōu)化由一組約束來加以限制,選擇的所述那組約束用于確保修正的α值在0與1之間的范圍內(nèi)。26.如權(quán)利要求18所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于其中,這一個(gè)或多個(gè)γ值中的每個(gè)γ值的那組修正系數(shù)包括第一個(gè)修正系數(shù)、第二個(gè)修正系數(shù)、第三個(gè)修正系數(shù)和第四個(gè)修正系數(shù);其中,執(zhí)行α修正的動(dòng)作包括計(jì)算α修正值;其中,每個(gè)α修正值采取(α修正值)=(α+α(1-α)(c1αf+c2α+c3f+c4))的形式,其中,α是對(duì)應(yīng)的過濾的α值,f是與該α值相對(duì)應(yīng)的像素的前景,其中的c1是第一個(gè)修正系數(shù),其中的c2是第二個(gè)修正系數(shù),其中的c3是第三個(gè)修正系數(shù),其中的c4是第四個(gè)修正系數(shù)。全文摘要字體圖示符的混合系數(shù)(α值)采取α修正,以補(bǔ)償文本呈現(xiàn)過程中的γ修正修正的缺乏。該α修正包括選擇與顯示設(shè)備的預(yù)定γ值相對(duì)應(yīng)的一組修正系數(shù),并根據(jù)已知的α值、前景顏色和那組組修正系數(shù)來計(jì)算修正的α值。然后,可以使用這些修正的α值來混合對(duì)應(yīng)的顯示像素的前景顏色和背景顏色,而不需要進(jìn)行γ修正。相應(yīng)地,該α修正可以由GPU(沒有被配置成執(zhí)行γ修正)來執(zhí)行,從而提高可行的文本呈現(xiàn)速度。文檔編號(hào)G06T11/20GK1514344SQ20031012076公開日2004年7月21日申請(qǐng)日期2003年12月3日優(yōu)先權(quán)日2002年12月3日發(fā)明者J·C·普拉特,M·M·里亞普諾夫,JC普拉特,里亞普諾夫申請(qǐng)人:微軟公司