專利名稱:在3維視頻圖像系統(tǒng)中提供卡通輪廓的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及3維計(jì)算機(jī)圖像,尤其涉及非圖像真實(shí)感的(non-photorealistic)3維圖像。具體而言,本發(fā)明涉及計(jì)算機(jī)產(chǎn)生和顯示3維物體的如輪廓線或其他邊緣的邊界的方法和裝置。
大多數(shù)計(jì)算機(jī)圖像研究?jī)A向于針對(duì)產(chǎn)生逼真的圖像。此類研究已經(jīng)非常成功。計(jì)算機(jī)現(xiàn)在能產(chǎn)生如此逼真的圖像,以致于不能將它們與照片區(qū)分開來。例如,我們中間大多數(shù)人已經(jīng)在電影和電視中看到令人信服的恐龍、外星人和其他圖像逼真的計(jì)算機(jī)產(chǎn)生的特殊效果。新的飛行員在計(jì)算機(jī)飛行模擬器上的訓(xùn)練是如此逼真,以致幾乎可復(fù)現(xiàn)真實(shí)的飛行。廉價(jià)的家庭視頻游戲系統(tǒng)現(xiàn)在能提供相當(dāng)高程度的真實(shí)感,給游戲者真實(shí)的感覺,如沿一條道路駕一輛賽車,從冰雪覆蓋的滑雪斜坡滑雪,步行穿過中世紀(jì)的城堡等,對(duì)大多數(shù)的游戲,這種真實(shí)感大大地提高了游戲的體驗(yàn)。
但是,有時(shí)候?qū)幙尚枰钦鎸?shí)感的圖像。例如,有些類型的交互式視頻和計(jì)算機(jī)游戲提供娛樂的價(jià)值不在于真實(shí)的模擬現(xiàn)實(shí)(或想象)的世界,而在于創(chuàng)造和顯示充滿故意非真實(shí)的漫畫式卡通角色的卡通世界。例如,那樣的游戲可以試圖復(fù)現(xiàn)手畫式的喜劇書的翻閱,同時(shí)提供動(dòng)作、語言和交互作用。在這樣的3維計(jì)算機(jī)圖像系統(tǒng)中,一個(gè)希望得到的視覺效果是提供清晰的實(shí)線邊界,如所顯示物體的輪廓或其他邊緣線。那樣的邊界線能對(duì)某些圖像增加清晰度,如能幫助用戶更清楚地區(qū)分不同的表面,例如卡通角色的輪廓,風(fēng)景的山峰,墻的邊緣等,并且這些邊界線能協(xié)助建立由卡通藝術(shù)家手畫所希望的印象。
在角色或其他物體邊緣周圍提供如邊界線那樣的非圖像真實(shí)感的一種方法是定義鄰接于多面體造型物體的分隔線物體。但定義分隔邊界物體要大大地增加圖像處理復(fù)雜性。在一個(gè)資源有限的系統(tǒng)中,此方法會(huì)減慢圖像產(chǎn)生時(shí)間或者損失性能。在例如交互式3維視頻游戲系統(tǒng)的廉價(jià)3維圖像系統(tǒng)中,效率是特別重要的。更有效的產(chǎn)生視覺效果的技術(shù)將使系統(tǒng)資源負(fù)擔(dān)較輕,從而在不顯著損失速度和其他性能的前提下提高整體視覺感受。
借助于在如家庭視頻游戲操作臺(tái)那樣的3維視頻圖像系統(tǒng)中提供在輪廓或其他邊緣處顯示邊界線的有效技術(shù),本發(fā)明解決了上述問題。按照本發(fā)明的一個(gè)方面,在一個(gè)圖像被提供給幀緩沖器以后產(chǎn)生邊界線。本發(fā)明使用儲(chǔ)存在幀緩沖器的值確定哪些象素位于物體的輪廓或其他邊緣上,并有選擇地將邊界著色混合到那些象素,然后加以顯示。
按照一個(gè)示例性實(shí)施例,借助于將象素的深度值和相鄰物體的象素深度值比較來定位輪廓邊緣。在一個(gè)特定例子中,根據(jù)象素的深度與相鄰物體的深度之間的距離的絕對(duì)值計(jì)算一個(gè)“距離”。根據(jù)所計(jì)算的距離值將所希望的邊界線顏色混合到象素顏色值。在一個(gè)特定例子中,該距離值被用于計(jì)算一個(gè)象素Alpha值,而該Alpha值用于控制要混合到該象素顏色的邊界顏色的量。
另外一個(gè)例子加入了深度調(diào)制。在此例中,根據(jù)距離值和作為象素深度的函數(shù)的另一個(gè)值來計(jì)算象素Alpha值,以提供由象素深度值調(diào)制的Alpha值。然后根據(jù)由深度調(diào)制的Alpha值將邊界顏色混合到象素顏色中。
一個(gè)另外的實(shí)施例中,一個(gè)物體的某些內(nèi)部邊緣不在該物體的輪廓上畫邊界線,一個(gè)卡通藝術(shù)家可以將邊界線加在那里。例如,考慮卡通人物手臂舉在他身體前面的情況。即使該人物將手臂舉在他軀干的前面,使其手臂的邊緣實(shí)際上在人物整個(gè)輪廓的內(nèi)部,卡通藝術(shù)家應(yīng)圍繞該人物的手臂畫出邊界線。按照本發(fā)明的進(jìn)一步特征,圖像的象素被指定不同的識(shí)別值—該ID值例如可存入通常為Alpha值保留的幀緩沖存儲(chǔ)器位置。這些象素識(shí)別值被用于區(qū)分邊界線邊緣和沒有邊界線的邊緣。
本發(fā)明的文件至少包含一張著色的圖。本發(fā)明帶有彩色圖的拷貝將根據(jù)請(qǐng)求并支付必要的費(fèi)用由專利和商標(biāo)局提供。
本發(fā)明的這些和其他的特征和優(yōu)點(diǎn),通過參照下列附圖對(duì)較佳實(shí)施例所作的詳細(xì)說明可被更好地和更完全地理解。
圖1-1F表示能用于實(shí)施本發(fā)明的3維視頻圖像系統(tǒng)的例子;圖2是一個(gè)流程圖,示例性地表示提供邊界線顯示的最佳實(shí)施例象素過濾器的步驟;圖2A是相鄰象素的圖示;圖3A示例性地圖示透視變換;圖3B是圖2流程圖的示例性修改,以提供考慮透視變換的范圍轉(zhuǎn)換;圖4是另一個(gè)提供深度調(diào)制的示例性象素過濾器步驟的流程圖;圖5A-5F示例性地示出按照本發(fā)明提供的屏幕效果;
圖6和7示出一個(gè)帶有卡通輪廓的卡通角色;圖8A-8C示出本發(fā)明的另一個(gè)實(shí)施例,它使用物體部分識(shí)別值來規(guī)定卡通輪廓邊界線應(yīng)加在何處。
圖9是用于處理圖8A中的識(shí)別值的示例性程序的流程圖;圖9A概略地示出另外的編碼變化;和圖10和11示例性地示出用于編碼達(dá)到卡通輪廓效果的物體部分識(shí)別值。
圖1表示用于按本發(fā)明顯示邊界線的3維視頻圖像系統(tǒng)的一個(gè)例子。
系統(tǒng)1005響應(yīng)從例如游戲控制器1007和/或其他手動(dòng)輸入設(shè)備的交互式實(shí)時(shí)輸入,在一個(gè)顯示設(shè)備1009(如家用彩電、視頻監(jiān)視器或其他顯示器)上產(chǎn)生一個(gè)視覺顯示。系統(tǒng)1005可以在如存儲(chǔ)在外部?jī)?chǔ)存媒體1011(如可更換的視頻游戲卡,CD-ROM或其他光盤等)中的視頻游戲程序等的計(jì)算機(jī)程序控制下運(yùn)行。
在本例中,系統(tǒng)1005包括一個(gè)處理器1010,一個(gè)3維圖像協(xié)處理器1020和一個(gè)存儲(chǔ)器1030。處理器1010向圖像協(xié)處理器1020提供3維圖像命令。圖像協(xié)處理器1020根據(jù)這些3維圖像命令工作,交互地產(chǎn)生3維領(lǐng)域的2維視圖。例如,圖像協(xié)處理器1020可以包括一個(gè)基于硬件的3維圖像流水線,它處理圖像原語,如在3維空間定義的多面體,并根據(jù)任選的觀察點(diǎn)產(chǎn)生表示3維空間投影到視圖平面的可視2維圖像的象素。在本例中,用戶可以在實(shí)時(shí)交互的基礎(chǔ)上借助于操作游戲控制器1007改變觀察點(diǎn)。
圖像協(xié)處理器1020將其產(chǎn)生的顯示象素存儲(chǔ)在儲(chǔ)存設(shè)備1030的一個(gè)幀緩沖器1040中。幀緩沖器1040包括一個(gè)彩色幀緩沖器1042和深度(Z)緩沖器1044。在本例中,彩色幀緩沖器1042儲(chǔ)存紅、綠、藍(lán)(RGB)顏色值的2維陣列和相應(yīng)的Alpha(A)值。可以在儲(chǔ)存的RGB值和將在顯示器1009上顯示的象素之間有一一對(duì)應(yīng)關(guān)系,或者幀緩沖器1042可以存儲(chǔ)子樣(Sub-samples)。Z緩沖器1044對(duì)每一個(gè)象素或儲(chǔ)存在彩色幀緩沖器的子象素(sub-pixel)儲(chǔ)存深度值(如Z方向相對(duì)于觀察點(diǎn)的距離)。眾所周知,當(dāng)圖像流水線“建立”圖像時(shí),Z緩沖器1044被用于多種目的(如移去隱藏面)。
在本最佳實(shí)施例中,彩色緩沖器1042和/或Z緩沖器1044在可選擇地將邊界顏色混合到儲(chǔ)存在彩色幀緩沖器1042的象素顏色值以確定在物體邊緣的邊界線方面也起了作用。更詳細(xì)地,系統(tǒng)1005還包括一個(gè)象素過濾器50。象素過濾器50可以處理由3維圖像協(xié)處理器1020提供的圖像象素值,以便可選擇地將邊界線顏色加到被顯示物體的輪廓和/或其他邊緣的特定象素上。本最佳實(shí)施例的象素過濾器50,在圖像數(shù)據(jù)已被提交到幀緩沖器1040或其他象素存儲(chǔ)器以后的象素后處理階段工作。作為一個(gè)例子,象素過濾器50在將圖像協(xié)處理器輸出的圖像數(shù)據(jù)與在存儲(chǔ)器1030內(nèi)的圖像數(shù)據(jù)結(jié)合起來過程中,可將邊界線非圖像真實(shí)感的圖像單元施加到在3維圖像協(xié)處理器1020緩存和提交的圖像數(shù)據(jù)中。
圖1A是實(shí)現(xiàn)本發(fā)明的整個(gè)示例性交互式3維計(jì)算機(jī)圖像系統(tǒng)1005的更詳細(xì)的示意圖。系統(tǒng)1005可用于播放交互式3維視頻游戲并伴隨有興趣的立體聲聲音。將適當(dāng)?shù)拇鎯?chǔ)媒體(如光盤1011)插入光盤播放機(jī)1134就能播放不同的游戲。借助于操作如手持式控制器1007那樣的輸入設(shè)備,游戲者能實(shí)現(xiàn)與系統(tǒng)1005交互作用,手持式控制器包括各種控制部件,如操縱桿、按鍵、開關(guān)、鍵盤或小鍵板。
在本例中,主處理器1010經(jīng)由協(xié)處理器1005接受從手持式控制器1007(和/或其他輸入設(shè)備)來的輸入。主處理器1010交互式地響應(yīng)那樣的用戶輸入,并且執(zhí)行一個(gè)視頻游戲或其他例如由外部存儲(chǔ)單元1011提供的圖像程序。例如,主處理器1010除了各種實(shí)時(shí)交互式控制功能以外還能完成碰撞檢測(cè)和動(dòng)畫處理。
主處理器1010產(chǎn)生3維圖像和聲音命令,并將其發(fā)送到圖像和聲音協(xié)處理器1020。該圖像和聲音協(xié)處理器1020處理這些命令,在顯示器1009上產(chǎn)生感興趣的視覺圖像和在立體聲揚(yáng)聲器1137R,1137L或其他適當(dāng)發(fā)聲設(shè)備上發(fā)出立體聲聲音。
系統(tǒng)1005包括一個(gè)TV編碼器1140,它從協(xié)處理器1005接收?qǐng)D像信號(hào)并將此圖像信號(hào)轉(zhuǎn)換成適合于在標(biāo)準(zhǔn)顯示設(shè)備1009(例如計(jì)算機(jī)監(jiān)視器或家用彩色電視機(jī))顯示的合成視頻信號(hào)。系統(tǒng)1005還包括一個(gè)聲頻壓縮還原器(codec)(壓縮/解壓縮器)1138,它壓縮和解壓縮數(shù)字化聲頻信號(hào)(并也可以在數(shù)字和模擬聲頻信號(hào)之間實(shí)現(xiàn)轉(zhuǎn)換)。聲頻壓縮/解壓縮器1138能經(jīng)由緩沖器1141接收聲音輸入并將其提供給協(xié)處理器1020予以處理(例如與其他聲音信號(hào)相混合,該協(xié)處理器經(jīng)數(shù)據(jù)流產(chǎn)生和/或接收光盤設(shè)備1134的聲音輸出)。協(xié)處理器1020將聲音相關(guān)的信息存入專用于聲音任務(wù)的存儲(chǔ)器1144。協(xié)處理器1020將最終的聲音輸出信號(hào)提供給聲音壓縮/解壓縮器1138,用于解壓縮并轉(zhuǎn)換成模擬信號(hào)(例如通過緩沖放大器1142L,1142R),使它們能由揚(yáng)聲器1137L,1137R播放。
協(xié)處理器1020有能力與出現(xiàn)在系統(tǒng)1005中的各種外圍設(shè)備通信。例如,可使用平行數(shù)字總線1146與光盤設(shè)備1134通信。一個(gè)串行外圍總線1148可以與各種外圍設(shè)備通信,包括如ROM和/或?qū)崟r(shí)時(shí)鐘1150,調(diào)制解調(diào)器1152和快擦寫存儲(chǔ)器1154。另外的外部串行總線1156可用于與附加的擴(kuò)充存儲(chǔ)器1158(例如存儲(chǔ)卡)通信。
圖1B是協(xié)處理器1020中示例性部件的方框圖。協(xié)處理器1020可以是包括一個(gè)3維圖像處理器1107,一個(gè)處理器接口1108,一個(gè)存儲(chǔ)器接口1110,一個(gè)聲頻數(shù)據(jù)字信號(hào)處理器(DSP)1162,一個(gè)聲頻存儲(chǔ)器接口(I/F)1164,一個(gè)聲音接口和混頻器1166,一個(gè)外圍控制器1168,和一個(gè)顯示控制器1128的單片集成電路。
3維圖像處理器1107完成圖像處理任務(wù),而聲頻數(shù)字信號(hào)處理器1162完成聲音處理任務(wù)。顯示控制器1128從存儲(chǔ)器1130存取圖像信息,并將其提供給TV編碼器1140用于在顯示設(shè)備1009上顯示。聲音接口和混頻器1166與聲音壓縮/解壓縮器1138接口,并還能混合從不同聲源來的聲音(例如,從盤1011流出的聲音輸入,聲音DSP1162的輸出和經(jīng)由聲音壓縮/解壓縮器1138接收的外部聲音輸入)。處理器接口1108提供主處理器1010和協(xié)處理器1020之間的數(shù)據(jù)和控制接口。存儲(chǔ)器接口1110提供協(xié)處理器1020和存儲(chǔ)器1030之間的數(shù)據(jù)和控制接口。在本例中,主處理器1010經(jīng)由作為協(xié)處理器1020一部分的處理器接口1108和存儲(chǔ)器控制器1110存取主存儲(chǔ)器1030。外圍設(shè)備控制器1168在協(xié)處理器1020和上述各種外圍設(shè)備(如光盤設(shè)備1134,控制器1007,ROM和/或?qū)崟r(shí)時(shí)鐘1150,調(diào)制解調(diào)器1152,快擦寫存儲(chǔ)器1154和存儲(chǔ)卡1158)之間提供數(shù)據(jù)和控制接口。聲音存儲(chǔ)器接口1164提供與聲音存儲(chǔ)器1144的接口。
圖1C更詳細(xì)示出了3維圖像處理器1107和在協(xié)處理器1020中相關(guān)的元件。3維圖像處理器1107包括一個(gè)命令處理器1114和3維圖像流水線1116。主處理器1010將圖像數(shù)據(jù)流(即顯示表)傳送到命令處理器1114。命令處理器1114接受這些顯示命令并對(duì)其進(jìn)行語法分析(從存儲(chǔ)器1030獲取處理它們所必需的任何附加數(shù)據(jù)),將頂點(diǎn)命令流提供給圖像流水線1116用于3維處理及渲染。根據(jù)這些命令圖像流水線1116產(chǎn)生一個(gè)3維圖像。最終的圖像信息可被傳送到主存儲(chǔ)器1030,用于被顯示控制器1128存取,后者在顯示器1009上顯示流水線1116的幀緩沖輸出。一個(gè)存儲(chǔ)判優(yōu)(仲裁)線路130協(xié)調(diào)圖像流水線1116、命令處理器1114和顯示單元128之間的存儲(chǔ)器存取。
如圖1C所示,圖像流水線1116可以包括轉(zhuǎn)換單元1118,一個(gè)設(shè)備/光柵化器(rasterizer)1120,一個(gè)紋理單元1122,一個(gè)紋理環(huán)境單元1124和一個(gè)象素引擎1126。在圖像流水線1116中,轉(zhuǎn)換單元1118完成各種3維轉(zhuǎn)換操作,且也可以完成打光線和紋理效果。例如,轉(zhuǎn)換單元1118將從物體空間輸入的各頂點(diǎn)幾何位置轉(zhuǎn)換到屏幕空間;轉(zhuǎn)換輸入的紋理座標(biāo)并計(jì)算投影的紋理座標(biāo);完成多面體深度裁剪;每個(gè)頂點(diǎn)的打光線計(jì)算;并完成凸起(bump)映射紋理座標(biāo)產(chǎn)生。設(shè)置/光柵化器1120包括一個(gè)設(shè)置單元,它從轉(zhuǎn)換單元1118接受頂點(diǎn)數(shù)據(jù)并將三角形設(shè)置信息發(fā)送到光柵化器,完成邊緣的光柵化,紋理座標(biāo)光柵化及彩色光柵化。紋理單元1122完成各種涉及紋理的任務(wù),包括多紋理處理,高速緩存后的紋理解壓縮,紋理過程,浮雕凸起映射,通過使用投影紋理的陰影和打光線,和帶有Alpha透光度和深度的BLIT。紋理單元1122將過濾后的紋理值輸出到紋理環(huán)境單元1124。紋理環(huán)境單元1124將多面體顏色和紋理顏色混合在一起,完成紋理霧和其他涉及環(huán)境的功能。象素發(fā)動(dòng)機(jī)1126完成Z緩沖和混合,并將數(shù)據(jù)存入芯片上的幀緩沖存儲(chǔ)器。
如圖1D所示,圖像流水線1116可以包括一個(gè)嵌入的DRAM存儲(chǔ)器1126a以當(dāng)?shù)卮鎯?chǔ)緩沖信息。芯片上的幀緩沖器1126a周期地將內(nèi)容寫到芯片外的主存儲(chǔ)器1030,以便被芯片上的顯示單元1128存取。在一個(gè)示例性實(shí)施例中,在此寫的過程中象素過濾器50可應(yīng)用到邊界線卡通輪廓上。圖像流水線1116象素發(fā)動(dòng)機(jī)1126最終存儲(chǔ)在主存儲(chǔ)器1030中的幀緩沖輸出被顯示單元1128逐幀讀出。顯示單元1128提供數(shù)字RGB象素值用于在顯示器1009上顯示。
某些上述視頻游戲系統(tǒng)部件可能有別于上述家庭視頻控制臺(tái)的結(jié)構(gòu)。一般來說,家庭視頻游戲軟件是為特定的家庭視頻游戲系統(tǒng)寫的。此視頻游戲軟件若考慮不同的系統(tǒng)硬件或軟件配置有時(shí)可以“移植”到不同的系統(tǒng)中。那樣的“移植”一般需要訪問視頻游戲軟件的源程序碼。在一個(gè)不同配置的系統(tǒng)中運(yùn)行游戲軟件的另外方法是第二個(gè)系統(tǒng)模仿第一個(gè)系統(tǒng)。如果第二個(gè)系統(tǒng)能成功地模仿或仿真第一個(gè)系統(tǒng)的硬件和軟件資源,則第二個(gè)系統(tǒng)能成功地執(zhí)行該視頻游戲軟件的二進(jìn)制可執(zhí)行圖像而無需訪問該游戲軟件的源程序碼。
在一個(gè)家庭視頻游戲的范圍中,一個(gè)仿真器是不同于為之寫游戲程序的系統(tǒng),該系統(tǒng)設(shè)計(jì)成允許此游戲程序運(yùn)行。作為一個(gè)例子,仿真器系統(tǒng)可以提供一個(gè)與為之寫游戲軟件的系統(tǒng)的硬件和/或軟件配置(平臺(tái))不同的硬件和/或軟件配置(平臺(tái))。仿真器系統(tǒng)包括模仿為之寫游戲軟件的系統(tǒng)的硬件和/或軟件部件的軟件和/或硬件部件。例如,仿真系統(tǒng)可以包括一臺(tái)如個(gè)人計(jì)算機(jī)那樣的通用數(shù)字計(jì)算機(jī),來執(zhí)行軟件仿真程序,以模仿為之寫游戲軟件的硬件和/或固件。
可以開發(fā)這樣的仿真軟件,它允許為上述如圖1-1C所示的基于操作臺(tái)的家庭視頻游戲系統(tǒng)所寫的游戲程序能在個(gè)人計(jì)算機(jī)或其他類型的通用數(shù)字計(jì)算機(jī)上運(yùn)行。某些通用數(shù)字計(jì)算機(jī)(如IBM或MacIntosh個(gè)人計(jì)算機(jī)和兼容機(jī))現(xiàn)已裝有3維圖像卡,它提供符合Direct X或其他標(biāo)準(zhǔn)3維圖像命令A(yù)PIs的3維圖像流水線。它們還裝有立體聲聲卡,它根據(jù)標(biāo)準(zhǔn)的聲音命令集提供高質(zhì)量立體聲聲音。這種多媒體硬件裝備的個(gè)人計(jì)算機(jī)運(yùn)行仿真軟件可以有足夠的性能近似于專用于家庭視頻游戲操作臺(tái)硬件配置的圖像和聲音性能。仿真器軟件控制個(gè)人計(jì)算機(jī)平臺(tái)上的硬件資源來仿真游戲編程員為之寫游戲軟件的家庭視頻游戲操作臺(tái)平臺(tái)的處理,3維圖像、聲音,外圍和其他能力。
圖1D圖示了一個(gè)示例性的整個(gè)仿真過程,它使用一個(gè)主機(jī)平臺(tái)1201,一個(gè)仿真器部件1303,和一個(gè)在如ROM或光盤1305或其他存儲(chǔ)設(shè)備提供的可執(zhí)行二進(jìn)制圖像的游戲軟件。主機(jī)1201可以是一個(gè)通用的或?qū)S玫臄?shù)字計(jì)算設(shè)備,如個(gè)人計(jì)算機(jī)或其他類型的游戲操作臺(tái)。仿真器1303在主機(jī)平臺(tái)1201上運(yùn)行,并提供將從存儲(chǔ)媒體1305來的命令、數(shù)據(jù)和其它信息實(shí)時(shí)轉(zhuǎn)換為能由主機(jī)1201處理的格式。例如,仿真器1303從存儲(chǔ)媒體1205取出為在如圖1-1C所示的家庭視頻游戲平臺(tái)上執(zhí)行的程序指令,并將這些程序指令轉(zhuǎn)換成可由主機(jī)1201執(zhí)行或處理的格式。作為一個(gè)例子,假設(shè)游戲程序是為在使用Z-80,MIPS,IBM Power PC或其他專用處理器的平臺(tái)上執(zhí)行而寫的,而主機(jī)1201是使用不同處理器(如Inlel)的個(gè)人計(jì)算機(jī),仿真器1203從存儲(chǔ)媒體1305取出一條或一系列程序指令,并將這些程序指令轉(zhuǎn)換成一條或多條等價(jià)的Intel程序指令。類似地,仿真器1203取出用于被圖1中所示的圖像和聲音協(xié)處理器所處理的圖像命令及聲音命令,并將這些命令轉(zhuǎn)換成在主機(jī)1201中可獲得的由硬件和/或軟件圖像和聲音處理資源能夠處理的格式。作為一個(gè)例子,仿真器1303可以將這些命令轉(zhuǎn)換成能由主機(jī)1201的專用圖像和/或聲音卡處理的命令(例如使用標(biāo)準(zhǔn)Direct X和聲音APIs)。
用于提供上述視頻游戲系統(tǒng)全部或部分特征的仿真器1303也可以備有圖像用戶接口(GUI),它簡(jiǎn)化或自動(dòng)進(jìn)行為使用仿真器運(yùn)行游戲程序所作的多種選項(xiàng)和屏幕模式的選擇。在一個(gè)例子中,仿真器1303還可包括比原先試圖運(yùn)行視頻游戲軟件的主機(jī)平臺(tái)更強(qiáng)的功能。
圖1E示出適用于仿真器1303的基于個(gè)人計(jì)算機(jī)的主機(jī)1201。個(gè)人計(jì)算機(jī)系統(tǒng)1201包括一個(gè)處理單元1203和系統(tǒng)存儲(chǔ)器1205。系統(tǒng)總線1207將包括系統(tǒng)存儲(chǔ)器1205的各種系統(tǒng)部件耦合到處理單元1203。系統(tǒng)總線1207可以是若干種類型,總線結(jié)構(gòu)中的任意一種,包括存儲(chǔ)總線或存儲(chǔ)控制器,外圍總線,和使用各種總線結(jié)構(gòu)中任意一種的局部總線。系統(tǒng)存儲(chǔ)器1207包括只讀存儲(chǔ)器(ROM)1252和隨機(jī)存取存儲(chǔ)器(RAM)1254。基本輸入/輸出系統(tǒng)(BIOS)1256存儲(chǔ)在ROM1252中,它包含基本的程序幫助在起動(dòng)時(shí)在個(gè)人計(jì)算機(jī)系統(tǒng)1201中的各單元之間傳輸信息。個(gè)人計(jì)算機(jī)系統(tǒng)1201還包括各種設(shè)備和與之相關(guān)的計(jì)算機(jī)可讀的媒體。硬盤驅(qū)動(dòng)器1207從硬磁盤(通常是固定式)1211中讀出和寫入數(shù)據(jù);磁盤驅(qū)動(dòng)器1213從可移動(dòng)的軟盤或其他磁盤1215中讀出或?qū)懭霐?shù)據(jù);光盤驅(qū)動(dòng)器1217可以從可移動(dòng)的(如CD ROM或其他光媒體的)光盤中讀出數(shù)據(jù),在某些配置中還可寫入數(shù)據(jù)。硬盤驅(qū)動(dòng)器1209,磁盤驅(qū)動(dòng)器1213和光盤驅(qū)動(dòng)器1217分別通過硬盤驅(qū)動(dòng)器接口1221,磁盤驅(qū)動(dòng)器接口1223,和光盤驅(qū)動(dòng)器接口1225與系統(tǒng)總線1207相連結(jié)。各驅(qū)動(dòng)器和它們相應(yīng)的計(jì)算機(jī)可讀媒體提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、游戲程序及個(gè)人計(jì)算機(jī)1201所用的其他數(shù)據(jù)的非易失性存儲(chǔ)。在另外的配置中,其他類型的儲(chǔ)存計(jì)算機(jī)可訪問的數(shù)據(jù)的計(jì)算機(jī)可讀取媒體(如盒式磁帶、快擦寫存儲(chǔ)卡、數(shù)字視頻盤、伯努里(Bernoulli)式磁盤機(jī),隨機(jī)存儲(chǔ)存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM)等)也可以使用。
包括仿真器1303的一系列程序模塊可以儲(chǔ)存在硬盤1211,可移動(dòng)磁盤1215,光盤1219和/或系統(tǒng)存儲(chǔ)器1205的ROM1252和/或RAM1254中。這種程序模塊可以包括一個(gè)提供圖像和聲音APIs的操作系統(tǒng),一個(gè)或多個(gè)應(yīng)用程序,其他程序模塊,程序數(shù)據(jù)及游戲數(shù)據(jù)。用戶可以通過如鍵盤1227和指向設(shè)備1229那樣的輸入設(shè)備將命令和信息輸入到個(gè)人計(jì)算機(jī)系統(tǒng)1201中。其他輸入設(shè)備可以包括話筒、操縱桿、游戲控制器,衛(wèi)星盤,掃描器等。這些和其他的輸入設(shè)備經(jīng)常經(jīng)由耦合到系統(tǒng)總線1207的串行口接口1231連接到處理單元1203,但也可以借助其他接口連接,如并行口、游戲口或通用串行口總線(USB)。一個(gè)監(jiān)視器1223或其他類型的顯示設(shè)備也經(jīng)由如視頻適配器1235那樣的接口連接到系統(tǒng)總線1207上。
個(gè)人計(jì)算機(jī)1201也可包括一個(gè)調(diào)制解調(diào)器1154或其他裝置,以建立在類似因特網(wǎng)那樣的廣域網(wǎng)1152上的通訊。內(nèi)置式或外置式調(diào)制解調(diào)器1154經(jīng)由串行接口1231連接到系統(tǒng)總線123。也可以提供一個(gè)網(wǎng)絡(luò)接口1156以允許個(gè)人計(jì)算機(jī)1201經(jīng)由局域網(wǎng)1158(那樣的通信可以經(jīng)由廣域網(wǎng)1152如撥號(hào)上網(wǎng)的其他通訊路徑或其他通訊裝置)與一個(gè)遠(yuǎn)程計(jì)算設(shè)備1150(如另一臺(tái)個(gè)人計(jì)算機(jī))通訊。個(gè)人計(jì)算機(jī)系統(tǒng)1201通常包括如打印機(jī)那樣的外圍輸出設(shè)備和其他標(biāo)準(zhǔn)外圍設(shè)備。
在一個(gè)例子中,視頻適配器1235可以包括3維圖像流水線芯片組,它響應(yīng)于根據(jù)諸如微軟公司的Direct X等的標(biāo)準(zhǔn)3維圖像應(yīng)用程序接口發(fā)出的3維圖像命令提供快速的3維圖像渲染。一組立體揚(yáng)聲器1237也經(jīng)由類似傳統(tǒng)的“聲卡”那樣的聲音產(chǎn)生接口連接到系統(tǒng)總線1207,聲音接口提供硬件和嵌入式軟件支持,用于根據(jù)由總線1207提供的聲音命令產(chǎn)生高質(zhì)量的立體聲。這些硬件能力使主機(jī)1201提供足夠的圖像和聲音速度性能來播放存儲(chǔ)在存儲(chǔ)媒體1305中的視頻游戲。
舉例說明按照本發(fā)明的非圖像真實(shí)感的卡通輪廓技術(shù)按照本發(fā)明卡通輪廓/邊界線處理可以方便地在硬件和/或軟件中實(shí)現(xiàn)。例如,假設(shè)有足夠時(shí)間,處理器1010只要在圖像協(xié)處理器1020將一個(gè)圖像提供到幀緩沖器以后而該圖像尚未顯示以前訪問幀緩沖器40,就能完成象素的后處理,將邊界線顏色混合到彩色幀緩沖器42中?;蛘咴趫D像協(xié)處理器1020中提供硬件和/或軟件來完成此功能。如上所述,協(xié)處理器1020能使用存在圖像流水線中的如Alpha混合和Z緩沖器計(jì)算線路等硬件支持來完成圖像后處理/過濾,以提供物體邊緣周圍的邊界線?;蛘咛幚砥?010和/或顯示單元1128能根據(jù)幀緩沖器1040的內(nèi)容完成象素過濾工作。一旦協(xié)處理器1020完成了那樣的象素后處理,被修改的顏色值能被寫回到幀緩沖存儲(chǔ)器1030,在協(xié)處理器中的視頻產(chǎn)生線路訪問其中的內(nèi)容用于產(chǎn)生在顯示器1009上的視覺映象—或者此被修改的值能送到其他地方(例如,直接送到顯示器1005)。為增加傳輸效率,幀緩沖器1040數(shù)據(jù)可以雙份緩沖而且可以使用DMA。如果在一個(gè)時(shí)刻幀緩沖器1040讀出并處理一條線,能使用線緩沖器以保持以前線的Z值。
圖2是按照最佳實(shí)施例的一個(gè)示例性象素過濾程序100的流程圖,該程序提供了一個(gè)象素后處理邊界線渲染象素過濾器50。圖2的象素過濾程序100可以對(duì)儲(chǔ)存在幀緩沖器1040中的每個(gè)象素[X][Y]實(shí)施(框102)。示例性象素過濾器100讀出象素的顏色值(Pixel.R[X][Y],Pixel.G[X][Y],Pixel.B[X][Y]),還讀出象素的深度值(Z[X][Y](框104)。此外,示例性象素過濾器程序讀出象素[X][Y]的鄰近象素的深度值(也見框104)。在此特例中,象素過濾器程序100讀出兩個(gè)鄰接象素的深度值在X-Y陣列中給定象素的“左”鄰接象素的深度值Z[x-1][Y];在X-Y陣列中給定象素的“下”鄰接象素的深度值Z[X][Y-1]。見圖2A,如果幀緩沖器1040被讀出,并且一個(gè)時(shí)刻處理一條線,則線緩沖器被用于保存以前線的Z值。
借助于確定該象素的深度值(Z[X][Y])和一個(gè)或多個(gè)鄰近(在這里是鄰接)象素的深度值(Z)之間的差值Dz,象素過濾程序100決定該象素[X][Y]是否在物體的邊緣,Dz的計(jì)算例子可如下(見框106)DzDx=|Z[X][Y]-Z[X-1][Y]|DzDy=|Z[X][Y]-Z[X][Y-1]|Dz=max(DzDx,DzDy)。
在完成上述計(jì)算時(shí),象素過濾器100確定該象素的深度和兩個(gè)相鄰象素的每個(gè)深度之間的差;取這些差的絕對(duì)值(這樣做是考慮到一個(gè)物體可能比另一個(gè)物體更近,也可能更遠(yuǎn));選所得到的兩個(gè)幅值中較大的。其結(jié)果是一個(gè)距離值Dz,度量出在Z方向該象素與鄰近的象素離得多遠(yuǎn)。能使用此計(jì)算測(cè)試出該象素是否在一個(gè)物體的邊緣。例如,當(dāng)該象素在一個(gè)物體邊緣,Dz通常是大的(因?yàn)猷徑笏赝ǔ>哂惺植煌纳疃?,而當(dāng)該象素不在一個(gè)物體的邊緣,Dz通常是小的(因?yàn)猷徑南笏鼐哂邢嗨频纳疃?。
在另外的例子中,有可能采用將兩個(gè)鄰近象素距離幅值相加來計(jì)算距離值Dz=DzDx+DzDy其他的變化也是可能的(例如不同的計(jì)算,使用不同的鄰近象素或不同數(shù)量的鄰近象素等)。
在本例中,象素過濾程序100提供與上述計(jì)算的Dz距離值成比例的顏色變化。在一個(gè)例子中,象素過濾器100使用比例/校正系數(shù)修改此最終的Dz距離值,并限制此結(jié)果的值,以如下方式求得一個(gè)象素混合因子(見框108)Alpha=Clamp((Scale Coefficent*Dz+Base Coefficient),0,1)。假設(shè)比例系數(shù)為正,當(dāng)Dz大時(shí),結(jié)果的Alpha值將是大的(例如接近于1或限制到1),當(dāng)Dz是小時(shí),結(jié)果的Alpha值將是小的(例如接近于0或限制到0)。對(duì)于求得象素混合因子可以使用不同的特定計(jì)算。例如,計(jì)算象素混合因子的另一種方法如下Gray=Clamp((Dz-Coefficent A)*Coefficient B,0,1)在本例中象素過濾器100在混合過程(如Alpha混合)中使用最終的象素混合因子可選擇地使用從彩色幀緩沖器1042獲得的象素顏色值(Pixel.R[X][Y],Pixel.G[X][Y],Pixel.B[X][Y])與預(yù)定的邊界線顏色(如Line.R,Line.G,Line.B)混合(見框110)。完成此混合的一個(gè)示例性計(jì)算公式集是New Pixel.R[X][Y]=Old Pixel.R[X][Y]*(1-Alpha)+Line.R*AlphaNew Pixel.G[X][Y]=Old Pixel.G[X][Y]*(1-Alpha)+Line.G*Alpha
New Pixel.B[X][Y]=Old Pixel.B[X][Y]*(1-Alpha)+Line.B*Alpha按照這些計(jì)算公式,當(dāng)距離Dz小時(shí),混合后的(“New”-新的)象素顏色值將主要是初始象素顏色值,而當(dāng)距離Dz大時(shí),主要是邊界線顏色。
如果該邊界線限于黑色(即Line.R=0,Line.G=0,Line.B=0)和/或只使用白帆布顏色(Line.R=255,Line.G=255,Line.B=255),上述混合計(jì)算可以簡(jiǎn)化(例如提供進(jìn)一步優(yōu)化)。使用如YUV那樣的非RGB顏色格式(此時(shí),需控制亮度Y確保邊界線畫得清晰可見)也有可能得到更好的優(yōu)化。
在混合以后將混合后的象素緩存,然后在顯示設(shè)備1009上顯示(框112)。在一個(gè)例子中,對(duì)幀緩沖器1040中的所有象素完成象素過濾程序100,然后將最終混合的幀緩沖器內(nèi)容在顯示器1009上顯示。
在某些情況下,透視變換可以影響由上述過程提供的結(jié)果??紤]在圖3A中所示包括一個(gè)遠(yuǎn)的象素PIXA和一個(gè)近的象素PIXB的情況。由于透視變換,遠(yuǎn)端象素PIXA的DzDy大于近端象素PIXB的DzDy。這使得使用原始的DzDx和DzDy值精確地在整個(gè)圖像中檢測(cè)邊界線更加困難。為克服此問題,根據(jù)Z度量標(biāo)度,某些Z值校正是有益的。一個(gè)示例性校正可以使用log2(n)函數(shù)來作度量標(biāo)度(范圍)轉(zhuǎn)換DzDx=|log2(Z[X][Y]-log2(Z[X-1][Y])|DzDy=|log2(Z[X][Y]-log2(Z[X][Y-1])|如果處理器10具有浮點(diǎn)計(jì)算能力而且Z值以浮點(diǎn)格式儲(chǔ)存,函數(shù)log2(n)是很方便的。浮點(diǎn)格式可以如下表示,[3位指數(shù)][11位尾數(shù)]圖3示出對(duì)圖2流程圖的修改,使其包括log2(n)度量標(biāo)度的轉(zhuǎn)換。
圖4示出另一個(gè)示例性后處理象素過濾器200,它提供用于控制混合的Alpha值的深度調(diào)制。圖4中的框204,206和208是與圖2(若使用度量標(biāo)度轉(zhuǎn)換是圖3B)相應(yīng)的框104,106和108相同的。加上圖4的框210用于計(jì)算Alpha值,該值是在框208中計(jì)算的值和另一個(gè)作為象素深度Z的函數(shù)的值的函數(shù)(例如乘積),例如Alpha=Alpha Dz* Alpha Z最終的Alpha值也取決于象素的深度,它如上結(jié)合圖2的框210所述的,用于控制混合過程(見框212)。
圖5A-5F顯示可以得到的示例性邊界線屏幕效果。圖5A顯示一示例性沒有邊界線效果的風(fēng)景景色。圖5B顯示混合到白帆布顏色的最終邊界線—提供圖5A的風(fēng)景景色的有效的線圖。圖5C用黑色邊界線顏色混合到景色中顯示圖5A的風(fēng)景。
圖5D示出一示例性的異想天開的冒險(xiǎn)游戲風(fēng)景。圖5E示出混合到白帆布顏色的最終邊界線。圖5F示出用黑色邊界線混合的圖5D的風(fēng)景。
如上所討論,可以多種方法實(shí)現(xiàn)象素后處理過濾器100。下面是一個(gè)象素后處理過濾器的計(jì)算機(jī)源碼程序的例子<pre listing-type="program-listing"><![CDATA[cfb_PixelProc_1addsys0, cptr,cbuf_widthsubsys1, sys0,cbuf_sizelqvdepth00
, 0(sys0)lsvdepth10
, 32+14(zero)lqvdepth10[2], 0(sys0)lqvdepth01
, 0(sys1)lqvcolor00
, 0(cptr)sqvdepth00
, 0(sys1) sqvdepth00
, 32(zero)vnxor depth00, depth00,_0x7fffvnxor depth10, depth10,_0x7fffvnxor depth01, depth01,_0x7fffvsub depthDX, depth00,depth10 #Xvsub depthDX, depth00,depth01 #Yvabs depthDX, depthDX,depthDXvabs depthDY, depthDY,depthDY#if def FILTER_2vorcolor00, vzero, _0xffff#endifvadd depthDX, depthDX,depthDYvadd depthDX, depthDX,Coeff_Avmudh depthDX, depthDX,Coeff_BvgedepthDX, depthDX,_0x0000vmud1 color0r, color00,_0x0020vand color0g, color00,v0x07c0vand color0b, color00,v0x003evmulf color0r, color0r,depthDXvmulf color0g, color0g,depthDXvmulf color0b, color0b,depthDXvand color00, color0g,v0x07c0vmadn color00, color0b,_0x0001vmadn color00, color0r,v0x0800vorcolor00, color00,_0x0001addicptr,cptr,16bne cptr,cptr_end,cfb_PixelProc_1sqv color00
,-16(cptr)jr return_svnop]]></pre>另一個(gè)卡通輪廓實(shí)施例根據(jù)所使用的特定計(jì)算,在某些卡通輪廓情況下上述邊界線應(yīng)用算法可能不能提供完全可接受的結(jié)果。圖6示出了那樣的一個(gè)例子。圖6示例性卡通人物300具有如上所述加到輪廓邊緣302的邊界線。圖6示出此卡通人物還具有右手,手腕和舉在該人物前面的部分前臂。上述技術(shù)在某些情況(例如取決于該人物的手臂位于離人物軀干多遠(yuǎn)的位置)認(rèn)為右手、手腕和前臂部分周圍的邊緣是內(nèi)部邊緣而非輪廓邊緣,因此對(duì)那些邊緣不加邊界線。圖6說明了,如果卡通輪廓只加到該人物的輪廓邊緣302,則卡通人物300的有些部分可能消失或變得不明顯,然而觀察者(根據(jù)彩色書籍、手畫動(dòng)畫卡通和/或喜劇書籍的經(jīng)驗(yàn))希望加上邊界線,來劃分出手、腕和前臂。
為了使卡通人物300象手繪的那樣,最好也將邊界線加到某些內(nèi)部邊緣304,即在本例中確定人物的手、腕和舉在該人物自身前面的前臂的內(nèi)部邊緣。圖7示出帶有將邊界線加到這些內(nèi)部邊緣304的人物300。如果該人物300將它的手臂舉在向外伸的位置,這些內(nèi)部邊緣304將成為輪廓邊緣,但在手臂取向如圖7所示時(shí)為內(nèi)部邊緣。
按照本發(fā)明提供的另外方面,卡通輪廓線自動(dòng)加到某些內(nèi)部邊緣,如圖7所示。更詳細(xì)地,表示一個(gè)物體不同部分的象素被分配不同的識(shí)別值。作為一個(gè)例子,可以借助于在幀緩沖器1040和/或一般用于編碼Alpha信息的嵌入芯片內(nèi)的DRAM1126a中分配位來指定識(shí)別值。被指定的識(shí)別值可用于確定在那個(gè)象素位置是否要畫邊界線。例如,系統(tǒng)可以將一個(gè)象素的識(shí)別值與鄰近(如鄰接)象素的識(shí)別值進(jìn)行比較。如果兩個(gè)鄰接的象素的識(shí)別值具有某種預(yù)定的關(guān)系,則不畫邊界線。例如,若識(shí)別值是相同的,則兩個(gè)象素在同一表面上,不畫邊界線。但是,如果兩個(gè)鄰接象素的識(shí)別值具有某種另外的預(yù)定關(guān)系,則畫邊界線。
圖8A-8C示出一個(gè)例子。圖8A示出包含3個(gè)物體部分320,322,324的一個(gè)物體319的透視圖。圖8B示出同一物體319的平面圖。物體部分320是一個(gè)正方形,物體部分322是一個(gè)圓,而物體部分324是一個(gè)錐形。假設(shè)圖像藝術(shù)家想要在錐形324與正方形320相交處畫出一條邊界線330(見圖8A),而不是在圓錐相交圓322處或圓相交正方形處。在此例中,在正方形320、圓322和錐形324中的象素被編碼成分別不同的識(shí)別值。例如在正方形320中的象素用識(shí)別值“1”編碼;在圓322中的象素用“2”編碼;在錐形324中的象素用“3”編碼。圖8C示出一個(gè)示例性的儲(chǔ)存該編碼的幀緩沖器1040和/或1126a的Alpha部分(打陰影線的格子指出是加邊界線顏色的格子)。
在象素后處理階段,在幀緩沖器中的各種識(shí)別值被測(cè)試。對(duì)于與鄰接象素具有相同識(shí)別值的象素(所有那樣的象素在同一表面上)不畫邊界線。而且如果一個(gè)象素具有的識(shí)別值在預(yù)定的準(zhǔn)則或準(zhǔn)則組之內(nèi)不同于鄰接的象素的識(shí)別值,也不畫邊界線(例如,若象素K的識(shí)別值與象素K+1的識(shí)別值的差小于2,則不畫邊界線)。但是,若一個(gè)象素具有的識(shí)別值按另一個(gè)準(zhǔn)則或準(zhǔn)則組不同于鄰接象素的識(shí)別值,則畫邊界線(例如,若象素K的識(shí)別值與象素K+1的識(shí)別值的差為2或大于2,則在象素K處畫邊界線)。
圖9是按本實(shí)施例畫邊界線的一個(gè)示例性象素后處理程序的流程圖。程序350包括一個(gè)循環(huán)(框352-362),對(duì)存在幀緩沖器1040和/或1126a中圖像的每個(gè)象素[i][j]逐個(gè)處理。如上討論,作為將圖像提交給幀緩沖器的部分,圖像產(chǎn)生過程可以在通常分配儲(chǔ)存Alpha值的幀緩沖位中的物體的每個(gè)明顯區(qū)分的部分設(shè)置識(shí)別值。程序350檢測(cè)這些Alpha(現(xiàn)在是ID)值,以確定是否畫邊界線。在本例中,程序350取出象素[i][j]的Alpha(ID)值和鄰接象素的Alpha(ID)值(即pixel[i-1][j]和pixel[i][j-1])(框352)。程序352然后完成(在框354)下面的計(jì)算,以確定象素[i][j]的Alpha(ID)值和鄰接象素的Alpha(ID)值之間的差值diff X=ABS(Alpha[i][j]-Alpha[i-1][j])diff Y=ABS(Alpha[i][j]-Alpha[i][j-1])然后,程序350檢測(cè)最終的計(jì)算差值diff X和diff Y,以確定兩者是否超過預(yù)定的差值(例如,任意固定的或可編程的閾值,如1)(框356)。如果至少一個(gè)差值超過預(yù)定的差值,則程序350將象素[i][j]的顏色設(shè)置成邊界線的顏色(框358)。于是,當(dāng)Alpha的斜率是-1到+1時(shí),認(rèn)為象素在此特定例子中,是在同一表面上。對(duì)該圖象中的每個(gè)象素重復(fù)步驟352-358(框360,362)。
在程序350的一個(gè)變化中,某些物體能用一個(gè)專門的Alpha識(shí)別值(例如0×00)編碼,以規(guī)定在該物體中的那些象素在畫邊界線時(shí)可以忽略(見圖9A)。例如這可能有助于將一個(gè)非邊界線的物體描繪為一個(gè)位圖(例如用于曝炸動(dòng)畫)。
圖10示出上述程序350如何能夠被用于有效地在圖6和圖7中顯示的物體300上畫出邊界線。在比例中,物體300的不同部分用不同的Alpha(ID)值來編碼。例如,物體300可以包括兩個(gè)手臂311a和311b以及一個(gè)軀干309。每條臂可以包括一個(gè)手313,一個(gè)腕部分315,一個(gè)小臂部分312,一個(gè)肘部分308,一個(gè)上臂部分310,和一個(gè)肩部分317。這些不同部分中的每一個(gè)能用不同的AlphaID編碼,如下所示身體部分Alpha ID左手313a1左腕315a2左小臂312a 3左肘308a4左上臂310a 5左肩317a6軀干309 7右肩317b8右上臂310b 9右肘311b10右小臂312b 11右腕315b12右手313b13帶著上述編碼的示例性AlphaID,程序350將畫出如圖10中黑線所示的邊界線,但在物體各部分之間的其他交界處(以點(diǎn)線所示)不畫出邊界線。
上述編碼也能用于將邊界線加到同一物體300的連結(jié)部分之間的交界處。傳統(tǒng)的彩色書籍,手畫動(dòng)畫卡通等有時(shí)將卡通輪廓加到那些自相交部位以便給出對(duì)該接合處給出更好的確定位置,造成肌肉發(fā)達(dá)的形象等。例如,圖11A-11C示出人物300連接人物上臂310和小臂312的關(guān)節(jié)接合處308(即肘)的特寫。使用上述編碼,當(dāng)關(guān)節(jié)接合處308彎曲使肢體310和312以如圖11B和11C那樣方向連結(jié)時(shí),程序350將(根據(jù)小臂310的AlphaID和上臂312的AlphaID之間的差大于1)一條邊界線段316加到身體部分310和312交相交處。
這樣,本發(fā)明就提供了有效的技術(shù)在3維計(jì)算機(jī)圖像系統(tǒng)中加上如卡通輪廓線那樣的非圖像真實(shí)感效果。這些技術(shù)可以在象素后處理階段應(yīng)用(即在3維圖像流水線將圖像提供到幀緩沖器之后),并且不需要除3維圖像流水提供的信息以外的象素信息(即,顏色、深度和Alpha象素信息)。因此,按照本發(fā)明提供的象素后處理技術(shù)能被切實(shí)有效地應(yīng)用在幀緩沖器的“下游”(例如,芯片上緩沖器、芯片外緩沖器的一部分或抗混操作或其他后處理操作的一部分),而不會(huì)使3維圖像流水線或系統(tǒng)的其他部分大為復(fù)雜化。
雖然本發(fā)明結(jié)合認(rèn)為是最實(shí)際的最佳實(shí)施例來描述,可以理解,本發(fā)明不限于所揭示的實(shí)施例,相反,在所附的權(quán)利要求書的精神和范圍內(nèi)涵蓋各種修改和等價(jià)的配置。
權(quán)利要求
1.一種交互式3維家庭視頻游戲系統(tǒng),其特征在于,它包括至少一個(gè)手動(dòng)操作的控制設(shè)備,提供用戶操縱的實(shí)時(shí)輸入;一個(gè)存儲(chǔ)媒體,存儲(chǔ)表示至少一個(gè)卡通角色的3維數(shù)據(jù);一個(gè)存儲(chǔ)圖像數(shù)據(jù)的緩沖存儲(chǔ)器;一個(gè)與所述緩沖存儲(chǔ)器相耦連的3維圖像流水線,所述3維圖像流水線至少根據(jù)所述用戶操縱的實(shí)時(shí)輸入和所述的表示所述卡通角色的3維數(shù)據(jù)將對(duì)應(yīng)于所述卡通角色的圖像數(shù)據(jù)提供給所述緩沖存儲(chǔ)器;和一個(gè)與所述緩沖存儲(chǔ)器相耦連的過濾器,所述過濾器將一個(gè)卡通輪廓功能應(yīng)用到所述圖像數(shù)據(jù),以便在所述卡通角色周圍自動(dòng)畫出明顯的邊界線。
2.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述圖像流水線和所述緩沖存儲(chǔ)器設(shè)置在單個(gè)半導(dǎo)體基片上,而且在將所述象素?cái)?shù)據(jù)從所述的半導(dǎo)體基片寫到外部設(shè)備的過程中所述的過濾器對(duì)所述的象素?cái)?shù)據(jù)進(jìn)行操作。
3.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述圖像數(shù)據(jù)包括象素顏色數(shù)據(jù),而且所述過濾器用邊界線顏色數(shù)據(jù)替換所述象素顏色數(shù)據(jù)。
4.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)與所述象素對(duì)應(yīng)的所述深度數(shù)據(jù)可選擇地修改至少與存儲(chǔ)在所述緩沖存儲(chǔ)器中的一個(gè)所述象素對(duì)應(yīng)的顏色數(shù)據(jù)。
5.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)相應(yīng)于所述象素及周圍的所述深度數(shù)據(jù)可選擇地修改至少對(duì)應(yīng)存儲(chǔ)在所述緩沖存儲(chǔ)器中的一個(gè)所述象素的顏色數(shù)據(jù)。
6.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器確定對(duì)應(yīng)所述象素的深度數(shù)據(jù)和對(duì)應(yīng)鄰近所述象素的至少一個(gè)象素的深度數(shù)據(jù)之間的差值,并且如果所述的確定揭示所述差值超過預(yù)定閾值,則修改對(duì)應(yīng)于所述象素的顏色數(shù)據(jù)。
7.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)儲(chǔ)存在所述緩沖存儲(chǔ)器中的物體部分ID值有選擇地修改所述顏色數(shù)據(jù)。
8.如權(quán)利要求7所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述緩沖存儲(chǔ)器配置成儲(chǔ)存與多個(gè)象素相關(guān)的Alpha值,而且所述的物體部分ID值作為Alpha值被存入所述緩沖存儲(chǔ)器。
9.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器確定對(duì)應(yīng)至少一個(gè)象素的識(shí)別數(shù)據(jù)與對(duì)應(yīng)鄰接于所述象素的至少一個(gè)象素的識(shí)別數(shù)據(jù)的差值;如果所述的確定揭示,所述差值超過一個(gè)預(yù)定閾值,則修改對(duì)應(yīng)于所述象素的所述顏色數(shù)據(jù)。
10.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器用Alpha值混合存儲(chǔ)在所述緩沖存儲(chǔ)器的顏色數(shù)據(jù)。
11.如權(quán)利要求10所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器借助于將對(duì)應(yīng)所述象素的Alpha值設(shè)置到與所述象素的深度對(duì)應(yīng)的值來可選擇地修改儲(chǔ)存在所述緩沖存儲(chǔ)器的顏色數(shù)據(jù)。
12.如權(quán)利要求11所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器借助于將一個(gè)對(duì)應(yīng)于至少一個(gè)象素的Alpha值設(shè)置到與所述象素的深度和至少一個(gè)鄰近象素的深度的差值相對(duì)應(yīng)的值,可選擇地修改儲(chǔ)存在所述緩沖存儲(chǔ)器內(nèi)的顏色數(shù)據(jù)。
13.如權(quán)利要求12所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述鄰近象素是一個(gè)鄰接象素。
14.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,在所述圖像中的所述象素被指定為P[X,Y],而且所述過濾器將所述象素的深度與指定為P[X-1,Y]的第一個(gè)象素及指定為P[X,Y-1]的第二個(gè)象素的深度進(jìn)行比較。
15.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述圖像中的所述象素被指定為P[X,Y],所述過濾器將所述象素的深度與指定為P[X+1,Y]的第一個(gè)象素及指定為P[X,Y+1]的第二個(gè)象素的深度進(jìn)行比較。
16.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器計(jì)算所述象素的深度的第一個(gè)對(duì)數(shù)值和至少一個(gè)鄰近象素的深度的第二個(gè)對(duì)數(shù)值的差值。
17.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器對(duì)所述卡通輪廓的施加進(jìn)行深度調(diào)制。
18.如權(quán)利要求1所述的3維家庭視頻游戲系統(tǒng),其特征在于,所述過濾器為了透視轉(zhuǎn)換所述的卡通輪廓。
19.在一個(gè)包括儲(chǔ)存對(duì)應(yīng)于所提供的3維圖像的象素的顏色和深度數(shù)據(jù)的象素存儲(chǔ)器的該類型的計(jì)算機(jī)圖像系統(tǒng)中,一種產(chǎn)生非圖像真實(shí)感視頻效果的方法,其特征在于,它包括下述步驟(a)從所述象素存儲(chǔ)器中對(duì)至少一個(gè)所述象素至少讀所述的顏色數(shù)據(jù);和(b)對(duì)所述提供的圖像有選擇地修改所述顏色數(shù)據(jù),以提供一個(gè)卡通輪廓效果。
20.如權(quán)利要求19所述的方法,其特征在于,所述象素存儲(chǔ)器設(shè)置在圖像芯片上;所述的讀步驟(a)是在寫從所述圖像芯片提交出的所述圖像的象素后處理步驟中完成的。
21.如權(quán)利要求19所述的方法,其特征在于,有選擇地修改步驟包括用邊界線顏色數(shù)據(jù)替換所述象素的顏色數(shù)據(jù)的步驟。
22.如權(quán)利要求19所述的方法,其特征在于,所述可選擇地修改步驟是至少部分地根據(jù)對(duì)應(yīng)于所述象素的所述深度數(shù)據(jù)完成的。
23.如權(quán)利要求19所述的方法,其特征在于,所述可選擇地修改步驟是至少部分地根據(jù)對(duì)應(yīng)所述象素及周圍的所述深度進(jìn)行的。
24.如權(quán)利要求19所述的方法,其特征在于,所述可選擇地修改步驟包括確定對(duì)應(yīng)所述象素的深度數(shù)據(jù)和對(duì)應(yīng)鄰近所述象素的至少一個(gè)象素的深度數(shù)據(jù)之間的差值;并且如果所述的確定揭示所述的差值超過預(yù)定的閾值,則修改對(duì)應(yīng)于所述象素的顏色數(shù)據(jù)。
25.如權(quán)利要求19所述的方法,其特征在于,所述可選擇地修改步驟至少部分地根據(jù)儲(chǔ)存在所述象素存儲(chǔ)器的一個(gè)物體部分ID值進(jìn)行的。
26.如權(quán)利要求25所述的方法,其特征在于,所述象素存儲(chǔ)器配置成儲(chǔ)存與所述象素相關(guān)的Alpha值,而且所述物體部分ID值作為Alpha值被存入所述象素存儲(chǔ)器。
27.如權(quán)利要求19所述的方法,其特征在于,所述可選擇的修改步驟包括確定對(duì)應(yīng)所述象素的識(shí)別數(shù)據(jù)與對(duì)應(yīng)鄰接于所述象素的至少一個(gè)象素的識(shí)別數(shù)據(jù)的差值;如果所述的確定步驟揭示,所述的差值超過一個(gè)預(yù)定的閾值,則修改對(duì)應(yīng)所述象素的所述顏色數(shù)據(jù)。
28.如權(quán)利要求19所述的方法,其特征在于,所述可選擇地修改步驟包括使用Alpha值混合將邊界線加到所述的象素顏色數(shù)據(jù)中。
29.如權(quán)利要求28所述的方法,其特征在于,所述可選擇的修改步驟包括將對(duì)應(yīng)于所述象素的一個(gè)Alpha值設(shè)置成對(duì)應(yīng)于所述象素的深度的值。
30.如權(quán)利要求29所述的方法,其特征在于,所述可選擇地修改步驟包括將對(duì)應(yīng)于所述象素的Alpha值設(shè)置成對(duì)應(yīng)于所述象素的深度和至少一個(gè)鄰近象素的深度之間的差值的值。
31.如權(quán)利要求30所述的方法,其特征在于,所述鄰近象素是一個(gè)鄰接象素。
32.如權(quán)利要求19所述的方法,其特征在于,所述圖像中所述象素被指定為P[X,Y],而所述可選擇地修改步驟包括將所述象素的深度與指定為P[X-1,Y]的第一個(gè)象素及指定為P[X,Y-1]的第二個(gè)象素的深度進(jìn)行比較。
33.如權(quán)利要求19所述的方法,其特征在于,所述圖像中所述象素指定為P[X,Y],而所述可選擇的修改步驟包括將所述象素的深度與指定為P[X+1,Y]的第一個(gè)象素及指定為P[X,Y+1]的第二個(gè)象素的深度進(jìn)行比較。
34.如權(quán)利要求19所述的方法,其特征在于,所述可選擇修改步驟包括計(jì)算所述象素的深度的第一個(gè)對(duì)數(shù)值和至少一個(gè)鄰接象素的深度的第二個(gè)對(duì)數(shù)值的差值。
35.一種計(jì)算機(jī)圖像系統(tǒng),其特征在于,它包括一個(gè)圖像發(fā)動(dòng)機(jī),該圖像發(fā)動(dòng)機(jī)將3維圖像提供到儲(chǔ)存對(duì)應(yīng)于所述3維圖像象素的顏色和深度數(shù)據(jù)的象素存儲(chǔ)器;一個(gè)耦連到所述象素存儲(chǔ)器的象素過濾器,所述象素過濾器至少從所述的象素存儲(chǔ)器讀出至少一個(gè)所述象素的所述顏色數(shù)據(jù);而且可選擇地修改所述的顏色數(shù)據(jù),以為所述提供的圖像提供卡通輪廓效果。
36.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述圖像發(fā)動(dòng)機(jī)和所述的象素存儲(chǔ)器設(shè)置在一個(gè)共同的基片上,所述圖像系統(tǒng)包括所述基片以外的另一個(gè)象素存儲(chǔ)器,而且所述象素過濾器將所述提供的圖像寫到所述另一個(gè)象素存儲(chǔ)器。
37.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器將邊界線顏色數(shù)據(jù)替代所述象素的顏色數(shù)據(jù)。
38.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器至少部分地根據(jù)對(duì)應(yīng)于所述象素的深度數(shù)據(jù)可選擇地修改所述顏色數(shù)據(jù)。
39.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器至少部分地根據(jù)對(duì)應(yīng)于所述象素及周圍的所述深度數(shù)據(jù)可選擇地修改所述顏色數(shù)據(jù)。
40.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器確定對(duì)應(yīng)所述象素的深度數(shù)據(jù)和對(duì)應(yīng)鄰近所述象素的至少一個(gè)象素的深度數(shù)據(jù)之間的差值;并且如果所述的確定揭示,所述的差值超過預(yù)定的閾值,則修改對(duì)應(yīng)于所述象素的顏色數(shù)據(jù)。
41.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器至少部分地根據(jù)儲(chǔ)存在所述象素存儲(chǔ)器的物體部分ID值,可選擇地修改所述的顏色數(shù)據(jù)。
42.如權(quán)利要求41所述的系統(tǒng),其特征在于,所述象素存儲(chǔ)器配置成存儲(chǔ)與所述象素相關(guān)的Alpha值,而且所述物體部分ID值作為Alpha值被存入所述象素存儲(chǔ)器。
43.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器確定對(duì)應(yīng)所述象素的識(shí)別數(shù)據(jù)與對(duì)應(yīng)鄰接于所述象素的至少一個(gè)象素的識(shí)別數(shù)據(jù)的差值;如果所述的確定揭示,所述的差值超過一個(gè)預(yù)定的閾值,則修改對(duì)應(yīng)于所述象素的所述顏色數(shù)據(jù)。
44.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器借助于Alpha混合可選擇地修改所述的顏色數(shù)據(jù)。
45.如權(quán)利要求44所述的系統(tǒng),其特征在于,所述象素過濾器借助于將一個(gè)對(duì)應(yīng)所述象素的Alpha值設(shè)置到對(duì)應(yīng)所述象素的深度的值來可選擇地修改所述顏色數(shù)據(jù)。
46.如權(quán)利要求45所述的系統(tǒng),其特征在于,所述象素過濾器借助于將一個(gè)對(duì)應(yīng)于所述象素的Alpha值設(shè)置到對(duì)應(yīng)于一個(gè)差值的值,可選擇地修改所述的顏色數(shù)據(jù),所述的差值是所述象素的深度和至少一個(gè)鄰近象素的深度的差。
47.如權(quán)利要求46所述的系統(tǒng),其特征在于,所述鄰近象素是一個(gè)鄰接的象素。
48.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述圖像中的所述象素被指定為P[X,Y],所述過濾器將所述象素的深度與指定為P[X-1,Y]的第一個(gè)象素及指定為P[X,Y-1]的第二個(gè)象素的深度進(jìn)行比較。
49.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述圖像中的所述象素被指定為P[X,Y],所述過濾器將所述象素的深度與指定為P[X+1,Y]的第一個(gè)象素及指定為P[X,Y+1]的第二個(gè)象素的深度進(jìn)行比較。
50.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述象素過濾器計(jì)算所述象素的深度的第一個(gè)對(duì)數(shù)值和至少一個(gè)鄰接象素的深度的第二個(gè)對(duì)數(shù)值的差值。
51.一種交互式3維家庭視頻游戲系統(tǒng),其特征在于,它包括至少一個(gè)手動(dòng)操作控制設(shè)備,提供用戶操縱的實(shí)時(shí)輸入;一個(gè)存儲(chǔ)媒體,存儲(chǔ)至少表示一個(gè)卡通角色的3維數(shù)據(jù);一個(gè)存儲(chǔ)圖像數(shù)據(jù)的幀緩沖存儲(chǔ)器;一個(gè)與所述幀緩沖存儲(chǔ)器耦連的3維圖像流水線,所述3維圖像流水線至少根據(jù)所述用戶操縱的實(shí)時(shí)輸入以及代表所述卡通角色的所述3維數(shù)據(jù)將對(duì)應(yīng)于所述卡通角色的圖像數(shù)據(jù)提供到所述幀緩沖器;和一個(gè)與所述幀緩沖存儲(chǔ)器耦連的過濾器,所述過濾器將卡通輪廓功能應(yīng)用到所述圖像數(shù)據(jù),以便在所述卡通角色周圍自動(dòng)畫出明顯的邊界線。
52.如權(quán)利要求51所述的家庭視頻游戲系統(tǒng),其特征在于,所述圖像流水線和所述幀緩沖存儲(chǔ)器設(shè)置在一個(gè)共同的半導(dǎo)體基片上;所述圖像系統(tǒng)包括所述基片外的另一個(gè)象素存儲(chǔ)器;而且所述過濾器將所述提供的圖像寫入所述另一個(gè)象素存儲(chǔ)器。
53.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器用一個(gè)邊界線顏色數(shù)據(jù)替換所述象素的顏色數(shù)據(jù)。
54.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)對(duì)應(yīng)于所述象素的所述深度數(shù)據(jù)可選擇地修改對(duì)應(yīng)于存儲(chǔ)在所述幀緩沖存儲(chǔ)器中的至少一個(gè)象素的顏色數(shù)據(jù)。
55.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)對(duì)應(yīng)于所述象素的可能的所述深度數(shù)據(jù),可選擇地修改對(duì)應(yīng)于存儲(chǔ)在所述幀緩沖存儲(chǔ)器中至少一個(gè)象素的顏色數(shù)據(jù)。
56.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器確定對(duì)應(yīng)所述象素的深度數(shù)據(jù)和對(duì)應(yīng)鄰近所述象素的至少一個(gè)象素的深度數(shù)據(jù)之間的差值;并且如果所述的確定揭示,所述的差值超過預(yù)定的閾值,則修改對(duì)應(yīng)于所述象素的顏色數(shù)據(jù)。
57.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器至少部分地根據(jù)儲(chǔ)存在所述幀緩沖存儲(chǔ)器的物體部分ID值,可選擇地修改所述顏色數(shù)據(jù)。
58.如權(quán)利要求57所述的系統(tǒng),其特征在于,所述幀緩沖存儲(chǔ)器配置成儲(chǔ)存與多個(gè)象素有關(guān)的Alpha值;所述的物體部分ID值作為Alpha值存儲(chǔ)所述幀緩沖存儲(chǔ)器中。
59.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器確定對(duì)應(yīng)至少一個(gè)象素的識(shí)別數(shù)據(jù)與對(duì)應(yīng)鄰接于所述象素的至少一個(gè)象素的識(shí)別數(shù)據(jù)的差值;如果所述的確定揭示,所述差值超一個(gè)預(yù)定的閾值,則修改對(duì)應(yīng)于所述象素的所述顏色數(shù)據(jù)。
60.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器Alpha混合儲(chǔ)存在所述幀緩沖存儲(chǔ)器中的顏色數(shù)據(jù)。
61.如權(quán)利要求60所述的系統(tǒng),其特征在于,所述過濾器借助于將對(duì)應(yīng)于所述象素的Alpha值設(shè)置到與所述象素的深度對(duì)應(yīng)的值,可選擇地修改存儲(chǔ)在所述幀緩沖存儲(chǔ)器的顏色數(shù)據(jù)。
62.如權(quán)利要求61所述的系統(tǒng),其特征在于,所述過濾器借助于將一個(gè)對(duì)應(yīng)于至少一個(gè)象素的Alpha值設(shè)置到對(duì)應(yīng)于一個(gè)差值的值,可選擇地修改儲(chǔ)存在所述幀緩沖存儲(chǔ)器的顏色數(shù)據(jù),所述的差值是所述象素的深度和至少一個(gè)鄰近象素的深度的差。
63.如權(quán)利要求62所述的系統(tǒng),其特征在于,所述鄰近象素是鄰接象素。
64.如權(quán)利要求51所述的系統(tǒng),其特征在于,在所述圖像中的所述的象素被指定為[X,Y],而且所述過濾器將所述象素的深度與指定為P[X-1,P]的第一個(gè)象素及指定為P[X,Y-1]的第二個(gè)象素的深度進(jìn)行比較。
65.如權(quán)利要求51所述的系統(tǒng),其特征在于,在所述圖像中的所述的象素指定為P[X,Y],所述過濾器將所述象素的深度與指定為P[X+1,Y]的第一個(gè)象素及指定為P[X,Y+1]的第二個(gè)象素的深度進(jìn)行比較。
66.如權(quán)利要求51所述的系統(tǒng),其特征在于,所述過濾器計(jì)算所述象素的深度的第一個(gè)對(duì)數(shù)值和至少一個(gè)鄰近象素的深度的第二個(gè)對(duì)數(shù)值的差值。
67.一個(gè)模擬交互式3維家庭視頻游戲系統(tǒng)的仿真器,其特征在于,它包括至少一個(gè)手動(dòng)操作的控制設(shè)備,提供用戶操縱的實(shí)時(shí)輸入;儲(chǔ)存代表至少一個(gè)卡通角色的3維數(shù)據(jù)的一個(gè)存儲(chǔ)媒體;一個(gè)存儲(chǔ)圖像數(shù)據(jù)的幀緩沖存儲(chǔ)器;一個(gè)與所述幀緩沖存儲(chǔ)器耦連的3維圖像流水線,所述3維圖像流水線至少根據(jù)所述用戶操縱的實(shí)時(shí)輸入和所述的表示所述卡通角色的3維數(shù)據(jù)將對(duì)應(yīng)于所述卡通角色的圖像數(shù)據(jù)提供給所述的幀緩沖存儲(chǔ)器;和一個(gè)與所述的幀緩沖存儲(chǔ)器相耦連的過濾器,所述過濾器將一個(gè)卡通輪廓功能應(yīng)用到所述的圖像數(shù)據(jù),以便在所述卡通角色周圍自動(dòng)畫出明顯的邊界線。
全文摘要
在諸如3維家庭視頻游戲操作臺(tái)等的3維計(jì)算機(jī)圖像系統(tǒng)中,產(chǎn)生如卡通輪廓那樣非圖像真實(shí)感效果的有效技術(shù)涉及根據(jù)一個(gè)象素存儲(chǔ)器的內(nèi)容在物體的邊緣產(chǎn)生和顯示邊界線。某些技術(shù)使用深度(Z)值確定哪些象素位于物體的邊緣,然后可選擇地把邊界顏色混合到要顯示的那些象素中。借助于將象素深度值與鄰近象素的深度值進(jìn)行比較定位物體的邊緣。根據(jù)計(jì)算的距離值將希望的邊界線顏色混合到象素的顏色值。
文檔編號(hào)G06F19/00GK1316723SQ00128840
公開日2001年10月10日 申請(qǐng)日期2000年9月22日 優(yōu)先權(quán)日1999年9月24日
發(fā)明者安本吉孝 申請(qǐng)人:任天堂株式會(huì)社